diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md old mode 100644 new mode 100755 diff --git a/.chglog/config.yml b/.chglog/config.yml old mode 100644 new mode 100755 diff --git a/.editorconfig b/.editorconfig old mode 100644 new mode 100755 diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/.github/workflows/git-chglog.yml b/.github/workflows/git-chglog.yml old mode 100644 new mode 100755 diff --git a/.github/workflows/publish-browser-package.yml b/.github/workflows/publish-browser-package.yml deleted file mode 100644 index d34bec20e..000000000 --- a/.github/workflows/publish-browser-package.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Publish Package to npmjs -on: - workflow_dispatch: - release: - types: [published] -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - # Setup .npmrc file to publish to npm - - uses: actions/setup-node@v4 - with: - node-version: '20.x' - registry-url: 'https://registry.npmjs.org' - - run: | - yarn config set enableImmutableInstalls false - yarn install - yarn add aes-js browserify-zlib buffer crypto-browserify events os-browserify path-browserify util stream-browserify process - node ./generator/change_package_json - - run: npm publish --tag browser --access public - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish-to-gh.yml b/.github/workflows/publish-to-gh.yml deleted file mode 100644 index b0e3decb4..000000000 --- a/.github/workflows/publish-to-gh.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Publish package to GitHub Packages -on: - workflow_dispatch: - release: - types: [published] -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - steps: - - uses: actions/checkout@v4 - # Setup .npmrc file to publish to GitHub Packages - - uses: actions/setup-node@v4 - with: - node-version: '20.x' - registry-url: 'https://npm.pkg.github.com' - # Defaults to the user or organization that owns the workflow file - scope: '@tgsnake' - - run: yarn install - - run: npm publish --access public - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish_package.yml b/.github/workflows/publish_package.yml new file mode 100644 index 000000000..c87c0ec65 --- /dev/null +++ b/.github/workflows/publish_package.yml @@ -0,0 +1,82 @@ +name: Publish Package +on: + workflow_dispatch: + release: + types: [published] +jobs: + node-build: + name: Publishing package for NodeJs and Bun + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: '22.x' + registry-url: 'https://registry.npmjs.org' + - run: yarn config set enableImmutableInstalls false + - run: yarn install + - run: yarn build + - run: npm publish --tag latest --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + browser-build: + name: Publishing package for Browser + needs: node-build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: '22.x' + registry-url: 'https://registry.npmjs.org' + - run: yarn config set enableImmutableInstalls false + - run: yarn install + - run: yarn add aes-js browserify-zlib buffer crypto-browserify events os-browserify path-browserify util stream-browserify process @tgsnake/bytesio@browser @tgsnake/log@browser + - run: yarn add --dev @tgsnake/skema@browser + - run: yarn add --peer @tgsnake/skema@browser + - run: node ./generator/build_browser/index.js + - run: yarn install + - run: yarn build + - run: npm publish --tag browser --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + jsr-build: + name: Publishing package for JSR + needs: node-build + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: '22.x' + - uses: denoland/setup-deno@v2 + with: + deno-version: '2.x' + - run: deno install + - run: git add deno.lock + - run: | + git commit -m "chore: Update deno.lock" || echo "No changes to commit" + - run: npx jsr publish + github-build: + name: Publishing package to GitHub Packages + needs: node-build + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v6 + # Setup .npmrc file to publish to GitHub Packages + - uses: actions/setup-node@v6 + with: + node-version: '20.x' + registry-url: 'https://npm.pkg.github.com' + # Defaults to the user or organization that owns the workflow file + scope: '@tgsnake' + - run: yarn install + - run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/sync_version.yml b/.github/workflows/sync_version.yml new file mode 100644 index 000000000..6a0e29251 --- /dev/null +++ b/.github/workflows/sync_version.yml @@ -0,0 +1,31 @@ +name: Sync version +on: + workflow_dispatch: + push: + branches: + - master +jobs: + sync-version: + name: Syncing version to package.json + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: '22.x' + - uses: denoland/setup-deno@v2 + with: + deno-version: '2.x' + - run: yarn config set enableImmutableInstalls false + - run: deno install + - run: git add deno.lock + - run: | + git commit -m "chore: Update deno.lock" || echo "No changes to commit" + - run: yarn install + - run: yarn build:jsr + - run: git config user.email github-actions[bot]@users.noreply.github.com + - run: git config user.name github-actions[bot] + - run: yarn prettier + - run: git add jsr.json + - run: git commit -m "Sync JSR version to package.json" || echo "No changes to commit" + - run: git push origin master || echo "No changes to push" diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml old mode 100644 new mode 100755 index f56a826a8..027a3ce4c --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -1,7 +1,9 @@ -name: Testing Build Package - +name: Testing Package on: workflow_dispatch: + pull_request: + branches: + - master push: branches: - master @@ -11,10 +13,10 @@ jobs: name: Building package for NodeJs and Bun runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 with: - node-version: '20.x' + node-version: '22.x' - run: yarn config set enableImmutableInstalls false - run: yarn install - run: yarn build @@ -22,12 +24,27 @@ jobs: name: Building package for Browser runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 with: - node-version: '20.x' + node-version: '22.x' - run: yarn config set enableImmutableInstalls false - run: yarn install - - run: yarn add aes-js browserify-zlib buffer crypto-browserify events os-browserify path-browserify util stream-browserify process - - run: node ./generator/change_package_json/index.js - - run: node ./generator/bundler/index.mjs + - run: yarn add aes-js browserify-zlib buffer crypto-browserify events os-browserify path-browserify util stream-browserify process @tgsnake/bytesio@browser @tgsnake/log@browser + - run: yarn add --dev @tgsnake/skema@browser + - run: yarn add --peer @tgsnake/skema@browser + - run: node ./generator/build_browser/index.js + - run: yarn build + jsr-build: + name: Building package for JSR + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: '22.x' + - uses: denoland/setup-deno@v2 + with: + deno-version: '2.x' + - run: deno install + - run: npx jsr publish --dry-run --allow-dirty diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index dd6a2731a..67ce99a2b --- a/.gitignore +++ b/.gitignore @@ -119,6 +119,4 @@ test/** # src/raw/Raw.ts # src/raw/All.ts # src/errors/exceptions -browser/** - -deno.lock \ No newline at end of file +browser/** \ No newline at end of file diff --git a/.npmrc b/.npmrc old mode 100644 new mode 100755 diff --git a/.prettierignore b/.prettierignore old mode 100644 new mode 100755 diff --git a/.vscode/settings.json b/.vscode/settings.json old mode 100644 new mode 100755 index c0dd74bd5..b5b8d99e8 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { - "deno.enable": true, + "deno.enable": false, "files.exclude": { "**.browser.ts": true, "**.node.ts": true diff --git a/.yarn/releases/yarn-4.15.0.cjs b/.yarn/releases/yarn-4.15.0.cjs new file mode 100755 index 000000000..00578ef51 --- /dev/null +++ b/.yarn/releases/yarn-4.15.0.cjs @@ -0,0 +1,940 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var yje=Object.create;var rU=Object.defineProperty;var Eje=Object.getOwnPropertyDescriptor;var Ije=Object.getOwnPropertyNames;var Cje=Object.getPrototypeOf,wje=Object.prototype.hasOwnProperty;var Ie=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Xe=(e,t)=>()=>(e&&(t=e(e=0)),t);var G=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vt=(e,t)=>{for(var r in t)rU(e,r,{get:t[r],enumerable:!0})},Bje=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ije(t))!wje.call(e,a)&&a!==r&&rU(e,a,{get:()=>t[a],enumerable:!(s=Eje(t,a))||s.enumerable});return e};var et=(e,t,r)=>(r=e!=null?yje(Cje(e)):{},Bje(t||!e||!e.__esModule?rU(r,"default",{value:e,enumerable:!0}):r,e));var Ai={};Vt(Ai,{SAFE_TIME:()=>pZ,S_IFDIR:()=>JP,S_IFLNK:()=>KP,S_IFMT:()=>Hf,S_IFREG:()=>b2});var Hf,JP,b2,KP,pZ,hZ=Xe(()=>{Hf=61440,JP=16384,b2=32768,KP=40960,pZ=456789e3});var or={};Vt(or,{EBADF:()=>qo,EBUSY:()=>vje,EEXIST:()=>kje,EINVAL:()=>Dje,EISDIR:()=>xje,ENOENT:()=>bje,ENOSYS:()=>Sje,ENOTDIR:()=>Pje,ENOTEMPTY:()=>Rje,EOPNOTSUPP:()=>Tje,EROFS:()=>Qje,ERR_DIR_CLOSED:()=>nU});function Bc(e,t){return Object.assign(new Error(`${e}: ${t}`),{code:e})}function vje(e){return Bc("EBUSY",e)}function Sje(e,t){return Bc("ENOSYS",`${e}, ${t}`)}function Dje(e){return Bc("EINVAL",`invalid argument, ${e}`)}function qo(e){return Bc("EBADF",`bad file descriptor, ${e}`)}function bje(e){return Bc("ENOENT",`no such file or directory, ${e}`)}function Pje(e){return Bc("ENOTDIR",`not a directory, ${e}`)}function xje(e){return Bc("EISDIR",`illegal operation on a directory, ${e}`)}function kje(e){return Bc("EEXIST",`file already exists, ${e}`)}function Qje(e){return Bc("EROFS",`read-only filesystem, ${e}`)}function Rje(e){return Bc("ENOTEMPTY",`directory not empty, ${e}`)}function Tje(e){return Bc("EOPNOTSUPP",`operation not supported, ${e}`)}function nU(){return Bc("ERR_DIR_CLOSED","Directory handle was closed")}var zP=Xe(()=>{});var al={};Vt(al,{BigIntStatsEntry:()=>aE,DEFAULT_MODE:()=>oU,DirEntry:()=>iU,StatEntry:()=>oE,areStatsEqual:()=>aU,clearStats:()=>XP,convertToBigIntStats:()=>Nje,makeDefaultStats:()=>gZ,makeEmptyStats:()=>Fje});function gZ(){return new oE}function Fje(){return XP(gZ())}function XP(e){for(let t in e)if(Object.hasOwn(e,t)){let r=e[t];typeof r=="number"?e[t]=0:typeof r=="bigint"?e[t]=BigInt(0):sU.types.isDate(r)&&(e[t]=new Date(0))}return e}function Nje(e){let t=new aE;for(let r in e)if(Object.hasOwn(e,r)){let s=e[r];typeof s=="number"?t[r]=BigInt(Math.floor(s)):sU.types.isDate(s)&&(t[r]=new Date(s))}return t.atimeNs=t.atimeMs*BigInt(1e6)+BigInt(Math.floor(e.atimeMs%1*1e3))*BigInt(1e3),t.mtimeNs=t.mtimeMs*BigInt(1e6)+BigInt(Math.floor(e.mtimeMs%1*1e3))*BigInt(1e3),t.ctimeNs=t.ctimeMs*BigInt(1e6)+BigInt(Math.floor(e.ctimeMs%1*1e3))*BigInt(1e3),t.birthtimeNs=t.birthtimeMs*BigInt(1e6)+BigInt(Math.floor(e.birthtimeMs%1*1e3))*BigInt(1e3),t}function aU(e,t){if(e.atimeMs!==t.atimeMs||e.birthtimeMs!==t.birthtimeMs||e.blksize!==t.blksize||e.blocks!==t.blocks||e.ctimeMs!==t.ctimeMs||e.dev!==t.dev||e.gid!==t.gid||e.ino!==t.ino||e.isBlockDevice()!==t.isBlockDevice()||e.isCharacterDevice()!==t.isCharacterDevice()||e.isDirectory()!==t.isDirectory()||e.isFIFO()!==t.isFIFO()||e.isFile()!==t.isFile()||e.isSocket()!==t.isSocket()||e.isSymbolicLink()!==t.isSymbolicLink()||e.mode!==t.mode||e.mtimeMs!==t.mtimeMs||e.nlink!==t.nlink||e.rdev!==t.rdev||e.size!==t.size||e.uid!==t.uid)return!1;let r=e,s=t;return!(r.atimeNs!==s.atimeNs||r.mtimeNs!==s.mtimeNs||r.ctimeNs!==s.ctimeNs||r.birthtimeNs!==s.birthtimeNs)}var sU,oU,iU,oE,aE,lU=Xe(()=>{sU=et(Ie("util")),oU=33188,iU=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},oE=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=oU;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},aE=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(oU);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function _je(e){let t,r;if(t=e.match(Mje))e=t[1];else if(r=e.match(Uje))e=`\\\\${r[1]?".\\":""}${r[2]}`;else return e;return e.replace(/\//g,"\\")}function Hje(e){e=e.replace(/\\/g,"/");let t,r;return(t=e.match(Oje))?e=`/${t[1]}`:(r=e.match(Lje))&&(e=`/unc/${r[1]?".dot/":""}${r[2]}`),e}function ZP(e,t){return e===fe?mZ(t):cU(t)}var P2,vt,Er,fe,J,dZ,Oje,Lje,Mje,Uje,cU,mZ,ll=Xe(()=>{P2=et(Ie("path")),vt={root:"/",dot:".",parent:".."},Er={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},fe=Object.create(P2.default),J=Object.create(P2.default.posix);fe.cwd=()=>process.cwd();J.cwd=process.platform==="win32"?()=>cU(process.cwd()):process.cwd;process.platform==="win32"&&(J.resolve=(...e)=>e.length>0&&J.isAbsolute(e[0])?P2.default.posix.resolve(...e):P2.default.posix.resolve(J.cwd(),...e));dZ=function(e,t,r){return t=e.normalize(t),r=e.normalize(r),t===r?".":(t.endsWith(e.sep)||(t=t+e.sep),r.startsWith(t)?r.slice(t.length):null)};fe.contains=(e,t)=>dZ(fe,e,t);J.contains=(e,t)=>dZ(J,e,t);Oje=/^([a-zA-Z]:.*)$/,Lje=/^\/\/(\.\/)?(.*)$/,Mje=/^\/([a-zA-Z]:.*)$/,Uje=/^\/unc\/(\.dot\/)?(.*)$/;cU=process.platform==="win32"?Hje:e=>e,mZ=process.platform==="win32"?_je:e=>e;fe.fromPortablePath=mZ;fe.toPortablePath=cU});async function $P(e,t){let r="0123456789abcdef";await e.mkdirPromise(t.indexPath,{recursive:!0});let s=[];for(let a of r)for(let n of r)s.push(e.mkdirPromise(e.pathUtils.join(t.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(s),t.indexPath}async function yZ(e,t,r,s,a){let n=e.pathUtils.normalize(t),c=r.pathUtils.normalize(s),f=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:hd,mtime:hd}:await r.lstatPromise(c);await e.mkdirpPromise(e.pathUtils.dirname(t),{utimes:[h,E]}),await uU(f,p,e,n,r,c,{...a,didParentExist:!0});for(let C of f)await C();await Promise.all(p.map(C=>C()))}async function uU(e,t,r,s,a,n,c){let f=c.didParentExist?await EZ(r,s):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=c.stableTime?{atime:hd,mtime:hd}:p,C;switch(!0){case p.isDirectory():C=await Gje(e,t,r,s,f,a,n,p,c);break;case p.isFile():C=await Yje(e,t,r,s,f,a,n,p,c);break;case p.isSymbolicLink():C=await Vje(e,t,r,s,f,a,n,p,c);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(c.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((C||f?.mtime?.getTime()!==E.getTime()||f?.atime?.getTime()!==h.getTime())&&(t.push(()=>r.lutimesPromise(s,h,E)),C=!0),(f===null||(f.mode&511)!==(p.mode&511))&&(t.push(()=>r.chmodPromise(s,p.mode&511)),C=!0)),C}async function EZ(e,t){try{return await e.lstatPromise(t)}catch{return null}}async function Gje(e,t,r,s,a,n,c,f,p){if(a!==null&&!a.isDirectory())if(p.overwrite)e.push(async()=>r.removePromise(s)),a=null;else return!1;let h=!1;a===null&&(e.push(async()=>{try{await r.mkdirPromise(s,{mode:f.mode})}catch(S){if(S.code!=="EEXIST")throw S}}),h=!0);let E=await n.readdirPromise(c),C=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let S of E.sort())await uU(e,t,r,r.pathUtils.join(s,S),n,n.pathUtils.join(c,S),C)&&(h=!0);else(await Promise.all(E.map(async x=>{await uU(e,t,r,r.pathUtils.join(s,x),n,n.pathUtils.join(c,x),C)}))).some(x=>x)&&(h=!0);return h}async function qje(e,t,r,s,a,n,c,f,p,h){let E=await n.checksumFilePromise(c,{algorithm:"sha1"}),C=420,S=f.mode&511,x=`${E}${S!==C?S.toString(8):""}`,I=r.pathUtils.join(h.indexPath,E.slice(0,2),`${x}.dat`),T;(ae=>(ae[ae.Lock=0]="Lock",ae[ae.Rename=1]="Rename"))(T||={});let O=1,U=await EZ(r,I);if(a){let ie=U&&a.dev===U.dev&&a.ino===U.ino,ue=U?.mtimeMs!==jje;if(ie&&ue&&h.autoRepair&&(O=0,U=null),!ie)if(p.overwrite)e.push(async()=>r.removePromise(s)),a=null;else return!1}let V=!U&&O===1?`${I}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return e.push(async()=>{if(!U&&(O===0&&await r.lockPromise(I,async()=>{let ie=await n.readFilePromise(c);await r.writeFilePromise(I,ie)}),O===1&&V)){let ie=await n.readFilePromise(c);await r.writeFilePromise(V,ie);try{await r.linkPromise(V,I)}catch(ue){if(ue.code==="EEXIST")te=!0,await r.unlinkPromise(V);else throw ue}}a||await r.linkPromise(I,s)}),t.push(async()=>{U||(await r.lutimesPromise(I,hd,hd),S!==C&&await r.chmodPromise(I,S)),V&&!te&&await r.unlinkPromise(V)}),!1}async function Wje(e,t,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)e.push(async()=>r.removePromise(s)),a=null;else return!1;return e.push(async()=>{let h=await n.readFilePromise(c);await r.writeFilePromise(s,h)}),!0}async function Yje(e,t,r,s,a,n,c,f,p){return p.linkStrategy?.type==="HardlinkFromIndex"?qje(e,t,r,s,a,n,c,f,p,p.linkStrategy):Wje(e,t,r,s,a,n,c,f,p)}async function Vje(e,t,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)e.push(async()=>r.removePromise(s)),a=null;else return!1;return e.push(async()=>{await r.symlinkPromise(ZP(r.pathUtils,await n.readlinkPromise(c)),s)}),!0}var hd,jje,fU=Xe(()=>{ll();hd=new Date(456789e3*1e3),jje=hd.getTime()});function ex(e,t,r,s){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let c=e.pathUtils.join(t,n);return Object.assign(e.statSync(c),{name:n,path:void 0})};return new x2(t,a,s)}var x2,IZ=Xe(()=>{zP();x2=class{constructor(t,r,s={}){this.path=t;this.nextDirent=r;this.opts=s;this.closed=!1}throwIfClosed(){if(this.closed)throw nU()}async*[Symbol.asyncIterator](){try{let t;for(;(t=await this.read())!==null;)yield t}finally{await this.close()}}read(t){let r=this.readSync();return typeof t<"u"?t(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(t){return this.closeSync(),typeof t<"u"?t(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function CZ(e,t){if(e!==t)throw new Error(`Invalid StatWatcher status: expected '${t}', got '${e}'`)}var wZ,tx,BZ=Xe(()=>{wZ=Ie("events");lU();tx=class e extends wZ.EventEmitter{constructor(r,s,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=s,this.bigint=a,this.lastStats=this.stat()}static create(r,s,a){let n=new e(r,s,a);return n.start(),n}start(){CZ(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){CZ(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let r=this.bigint?new aE:new oE;return XP(r)}}makeInterval(r){let s=setInterval(()=>{let a=this.stat(),n=this.lastStats;aU(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?s:s.unref()}registerChangeListener(r,s){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(s))}unregisterChangeListener(r){this.removeListener("change",r);let s=this.changeListeners.get(r);typeof s<"u"&&clearInterval(s),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function lE(e,t,r,s){let a,n,c,f;switch(typeof r){case"function":a=!1,n=!0,c=5007,f=r;break;default:({bigint:a=!1,persistent:n=!0,interval:c=5007}=r),f=s;break}let p=rx.get(e);typeof p>"u"&&rx.set(e,p=new Map);let h=p.get(t);return typeof h>"u"&&(h=tx.create(e,t,{bigint:a}),p.set(t,h)),h.registerChangeListener(f,{persistent:n,interval:c}),h}function gd(e,t,r){let s=rx.get(e);if(typeof s>"u")return;let a=s.get(t);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),s.delete(t)))}function dd(e){let t=rx.get(e);if(!(typeof t>"u"))for(let r of t.keys())gd(e,r)}var rx,AU=Xe(()=>{BZ();rx=new WeakMap});function Jje(e){let t=e.match(/\r?\n/g);if(t===null)return SZ.EOL;let r=t.filter(a=>a===`\r +`).length,s=t.length-r;return r>s?`\r +`:` +`}function md(e,t){return t.replace(/\r?\n/g,Jje(e))}var vZ,SZ,Ep,jf,yd=Xe(()=>{vZ=Ie("crypto"),SZ=Ie("os");fU();ll();Ep=class{constructor(t){this.pathUtils=t}async*genTraversePromise(t,{stableSort:r=!1}={}){let s=[t];for(;s.length>0;){let a=s.shift();if((await this.lstatPromise(a)).isDirectory()){let c=await this.readdirPromise(a);if(r)for(let f of c.sort())s.push(this.pathUtils.join(a,f));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(t,{algorithm:r="sha512"}={}){let s=await this.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),c=(0,vZ.createHash)(r),f=0;for(;(f=await this.readPromise(s,n,0,65536))!==0;)c.update(f===65536?n:n.slice(0,f));return c.digest("hex")}finally{await this.closePromise(s)}}async removePromise(t,{recursive:r=!0,maxRetries:s=5}={}){let a;try{a=await this.lstatPromise(t)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(t);await Promise.all(n.map(c=>this.removePromise(this.pathUtils.resolve(t,c))))}for(let n=0;n<=s;n++)try{await this.rmdirPromise(t);break}catch(c){if(c.code!=="EBUSY"&&c.code!=="ENOTEMPTY")throw c;nsetTimeout(f,n*100))}}else await this.unlinkPromise(t)}removeSync(t,{recursive:r=!0}={}){let s;try{s=this.lstatSync(t)}catch(a){if(a.code==="ENOENT")return;throw a}if(s.isDirectory()){if(r)for(let a of this.readdirSync(t))this.removeSync(this.pathUtils.resolve(t,a));this.rmdirSync(t)}else this.unlinkSync(t)}async mkdirpPromise(t,{chmod:r,utimes:s}={}){if(t=this.resolve(t),t===this.pathUtils.dirname(t))return;let a=t.split(this.pathUtils.sep),n;for(let c=2;c<=a.length;++c){let f=a.slice(0,c).join(this.pathUtils.sep);if(!this.existsSync(f)){try{await this.mkdirPromise(f)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=f,r!=null&&await this.chmodPromise(f,r),s!=null)await this.utimesPromise(f,s[0],s[1]);else{let p=await this.statPromise(this.pathUtils.dirname(f));await this.utimesPromise(f,p.atime,p.mtime)}}}return n}mkdirpSync(t,{chmod:r,utimes:s}={}){if(t=this.resolve(t),t===this.pathUtils.dirname(t))return;let a=t.split(this.pathUtils.sep),n;for(let c=2;c<=a.length;++c){let f=a.slice(0,c).join(this.pathUtils.sep);if(!this.existsSync(f)){try{this.mkdirSync(f)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=f,r!=null&&this.chmodSync(f,r),s!=null)this.utimesSync(f,s[0],s[1]);else{let p=this.statSync(this.pathUtils.dirname(f));this.utimesSync(f,p.atime,p.mtime)}}}return n}async copyPromise(t,r,{baseFs:s=this,overwrite:a=!0,stableSort:n=!1,stableTime:c=!1,linkStrategy:f=null}={}){return await yZ(this,t,s,r,{overwrite:a,stableSort:n,stableTime:c,linkStrategy:f})}copySync(t,r,{baseFs:s=this,overwrite:a=!0}={}){let n=s.lstatSync(r),c=this.existsSync(t);if(n.isDirectory()){this.mkdirpSync(t);let p=s.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(t,h),s.pathUtils.join(r,h),{baseFs:s,overwrite:a})}else if(n.isFile()){if(!c||a){c&&this.removeSync(t);let p=s.readFileSync(r);this.writeFileSync(t,p)}}else if(n.isSymbolicLink()){if(!c||a){c&&this.removeSync(t);let p=s.readlinkSync(r);this.symlinkSync(ZP(this.pathUtils,p),t)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let f=n.mode&511;this.chmodSync(t,f)}async changeFilePromise(t,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(t,r,s):this.changeFileTextPromise(t,r,s)}async changeFileBufferPromise(t,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(t)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(t,r,{mode:s})}async changeFileTextPromise(t,r,{automaticNewlines:s,mode:a}={}){let n="";try{n=await this.readFilePromise(t,"utf8")}catch{}let c=s?md(n,r):r;n!==c&&await this.writeFilePromise(t,c,{mode:a})}changeFileSync(t,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(t,r,s):this.changeFileTextSync(t,r,s)}changeFileBufferSync(t,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(t)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(t,r,{mode:s})}changeFileTextSync(t,r,{automaticNewlines:s=!1,mode:a}={}){let n="";try{n=this.readFileSync(t,"utf8")}catch{}let c=s?md(n,r):r;n!==c&&this.writeFileSync(t,c,{mode:a})}async movePromise(t,r){try{await this.renamePromise(t,r)}catch(s){if(s.code==="EXDEV")await this.copyPromise(r,t),await this.removePromise(t);else throw s}}moveSync(t,r){try{this.renameSync(t,r)}catch(s){if(s.code==="EXDEV")this.copySync(r,t),this.removeSync(t);else throw s}}async lockPromise(t,r){let s=`${t}.flock`,a=1e3/60,n=Date.now(),c=null,f=async()=>{let p;try{[p]=await this.readJsonPromise(s)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;c===null;)try{c=await this.openPromise(s,"wx")}catch(p){if(p.code==="EEXIST"){if(!await f())try{await this.unlinkPromise(s);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${s})`)}else throw p}await this.writePromise(c,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(c),await this.unlinkPromise(s)}catch{}}}async readJsonPromise(t){let r=await this.readFilePromise(t,"utf8");try{return JSON.parse(r)}catch(s){throw s.message+=` (in ${t})`,s}}readJsonSync(t){let r=this.readFileSync(t,"utf8");try{return JSON.parse(r)}catch(s){throw s.message+=` (in ${t})`,s}}async writeJsonPromise(t,r,{compact:s=!1}={}){let a=s?0:2;return await this.writeFilePromise(t,`${JSON.stringify(r,null,a)} +`)}writeJsonSync(t,r,{compact:s=!1}={}){let a=s?0:2;return this.writeFileSync(t,`${JSON.stringify(r,null,a)} +`)}async preserveTimePromise(t,r){let s=await this.lstatPromise(t),a=await r();typeof a<"u"&&(t=a),await this.lutimesPromise(t,s.atime,s.mtime)}async preserveTimeSync(t,r){let s=this.lstatSync(t),a=r();typeof a<"u"&&(t=a),this.lutimesSync(t,s.atime,s.mtime)}},jf=class extends Ep{constructor(){super(J)}}});var Gs,Ip=Xe(()=>{yd();Gs=class extends Ep{getExtractHint(t){return this.baseFs.getExtractHint(t)}resolve(t){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(t)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(t,r,s){return this.baseFs.openPromise(this.mapToBase(t),r,s)}openSync(t,r,s){return this.baseFs.openSync(this.mapToBase(t),r,s)}async opendirPromise(t,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(t),r),{path:t})}opendirSync(t,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(t),r),{path:t})}async readPromise(t,r,s,a,n){return await this.baseFs.readPromise(t,r,s,a,n)}readSync(t,r,s,a,n){return this.baseFs.readSync(t,r,s,a,n)}async writePromise(t,r,s,a,n){return typeof r=="string"?await this.baseFs.writePromise(t,r,s):await this.baseFs.writePromise(t,r,s,a,n)}writeSync(t,r,s,a,n){return typeof r=="string"?this.baseFs.writeSync(t,r,s):this.baseFs.writeSync(t,r,s,a,n)}async closePromise(t){return this.baseFs.closePromise(t)}closeSync(t){this.baseFs.closeSync(t)}createReadStream(t,r){return this.baseFs.createReadStream(t!==null?this.mapToBase(t):t,r)}createWriteStream(t,r){return this.baseFs.createWriteStream(t!==null?this.mapToBase(t):t,r)}async realpathPromise(t){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(t)))}realpathSync(t){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(t)))}async existsPromise(t){return this.baseFs.existsPromise(this.mapToBase(t))}existsSync(t){return this.baseFs.existsSync(this.mapToBase(t))}accessSync(t,r){return this.baseFs.accessSync(this.mapToBase(t),r)}async accessPromise(t,r){return this.baseFs.accessPromise(this.mapToBase(t),r)}async statPromise(t,r){return this.baseFs.statPromise(this.mapToBase(t),r)}statSync(t,r){return this.baseFs.statSync(this.mapToBase(t),r)}async fstatPromise(t,r){return this.baseFs.fstatPromise(t,r)}fstatSync(t,r){return this.baseFs.fstatSync(t,r)}lstatPromise(t,r){return this.baseFs.lstatPromise(this.mapToBase(t),r)}lstatSync(t,r){return this.baseFs.lstatSync(this.mapToBase(t),r)}async fchmodPromise(t,r){return this.baseFs.fchmodPromise(t,r)}fchmodSync(t,r){return this.baseFs.fchmodSync(t,r)}async chmodPromise(t,r){return this.baseFs.chmodPromise(this.mapToBase(t),r)}chmodSync(t,r){return this.baseFs.chmodSync(this.mapToBase(t),r)}async fchownPromise(t,r,s){return this.baseFs.fchownPromise(t,r,s)}fchownSync(t,r,s){return this.baseFs.fchownSync(t,r,s)}async chownPromise(t,r,s){return this.baseFs.chownPromise(this.mapToBase(t),r,s)}chownSync(t,r,s){return this.baseFs.chownSync(this.mapToBase(t),r,s)}async renamePromise(t,r){return this.baseFs.renamePromise(this.mapToBase(t),this.mapToBase(r))}renameSync(t,r){return this.baseFs.renameSync(this.mapToBase(t),this.mapToBase(r))}async copyFilePromise(t,r,s=0){return this.baseFs.copyFilePromise(this.mapToBase(t),this.mapToBase(r),s)}copyFileSync(t,r,s=0){return this.baseFs.copyFileSync(this.mapToBase(t),this.mapToBase(r),s)}async appendFilePromise(t,r,s){return this.baseFs.appendFilePromise(this.fsMapToBase(t),r,s)}appendFileSync(t,r,s){return this.baseFs.appendFileSync(this.fsMapToBase(t),r,s)}async writeFilePromise(t,r,s){return this.baseFs.writeFilePromise(this.fsMapToBase(t),r,s)}writeFileSync(t,r,s){return this.baseFs.writeFileSync(this.fsMapToBase(t),r,s)}async unlinkPromise(t){return this.baseFs.unlinkPromise(this.mapToBase(t))}unlinkSync(t){return this.baseFs.unlinkSync(this.mapToBase(t))}async utimesPromise(t,r,s){return this.baseFs.utimesPromise(this.mapToBase(t),r,s)}utimesSync(t,r,s){return this.baseFs.utimesSync(this.mapToBase(t),r,s)}async lutimesPromise(t,r,s){return this.baseFs.lutimesPromise(this.mapToBase(t),r,s)}lutimesSync(t,r,s){return this.baseFs.lutimesSync(this.mapToBase(t),r,s)}async mkdirPromise(t,r){return this.baseFs.mkdirPromise(this.mapToBase(t),r)}mkdirSync(t,r){return this.baseFs.mkdirSync(this.mapToBase(t),r)}async rmdirPromise(t,r){return this.baseFs.rmdirPromise(this.mapToBase(t),r)}rmdirSync(t,r){return this.baseFs.rmdirSync(this.mapToBase(t),r)}async rmPromise(t,r){return this.baseFs.rmPromise(this.mapToBase(t),r)}rmSync(t,r){return this.baseFs.rmSync(this.mapToBase(t),r)}async linkPromise(t,r){return this.baseFs.linkPromise(this.mapToBase(t),this.mapToBase(r))}linkSync(t,r){return this.baseFs.linkSync(this.mapToBase(t),this.mapToBase(r))}async symlinkPromise(t,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(t))return this.baseFs.symlinkPromise(this.mapToBase(t),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),t)),c=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(c,a,s)}symlinkSync(t,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(t))return this.baseFs.symlinkSync(this.mapToBase(t),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),t)),c=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(c,a,s)}async readFilePromise(t,r){return this.baseFs.readFilePromise(this.fsMapToBase(t),r)}readFileSync(t,r){return this.baseFs.readFileSync(this.fsMapToBase(t),r)}readdirPromise(t,r){return this.baseFs.readdirPromise(this.mapToBase(t),r)}readdirSync(t,r){return this.baseFs.readdirSync(this.mapToBase(t),r)}async readlinkPromise(t){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(t)))}readlinkSync(t){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(t)))}async truncatePromise(t,r){return this.baseFs.truncatePromise(this.mapToBase(t),r)}truncateSync(t,r){return this.baseFs.truncateSync(this.mapToBase(t),r)}async ftruncatePromise(t,r){return this.baseFs.ftruncatePromise(t,r)}ftruncateSync(t,r){return this.baseFs.ftruncateSync(t,r)}watch(t,r,s){return this.baseFs.watch(this.mapToBase(t),r,s)}watchFile(t,r,s){return this.baseFs.watchFile(this.mapToBase(t),r,s)}unwatchFile(t,r){return this.baseFs.unwatchFile(this.mapToBase(t),r)}fsMapToBase(t){return typeof t=="number"?t:this.mapToBase(t)}}});var Gf,DZ=Xe(()=>{Ip();Gf=class extends Gs{constructor(t,{baseFs:r,pathUtils:s}){super(s),this.target=t,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}}});function bZ(e){let t=e;return typeof e.path=="string"&&(t.path=fe.toPortablePath(e.path)),t}var PZ,Vn,Ed=Xe(()=>{PZ=et(Ie("fs"));yd();ll();Vn=class extends jf{constructor(t=PZ.default){super(),this.realFs=t}getExtractHint(){return!1}getRealPath(){return vt.root}resolve(t){return J.resolve(t)}async openPromise(t,r,s){return await new Promise((a,n)=>{this.realFs.open(fe.fromPortablePath(t),r,s,this.makeCallback(a,n))})}openSync(t,r,s){return this.realFs.openSync(fe.fromPortablePath(t),r,s)}async opendirPromise(t,r){return await new Promise((s,a)=>{typeof r<"u"?this.realFs.opendir(fe.fromPortablePath(t),r,this.makeCallback(s,a)):this.realFs.opendir(fe.fromPortablePath(t),this.makeCallback(s,a))}).then(s=>{let a=s;return Object.defineProperty(a,"path",{value:t,configurable:!0,writable:!0}),a})}opendirSync(t,r){let a=typeof r<"u"?this.realFs.opendirSync(fe.fromPortablePath(t),r):this.realFs.opendirSync(fe.fromPortablePath(t));return Object.defineProperty(a,"path",{value:t,configurable:!0,writable:!0}),a}async readPromise(t,r,s=0,a=0,n=-1){return await new Promise((c,f)=>{this.realFs.read(t,r,s,a,n,(p,h)=>{p?f(p):c(h)})})}readSync(t,r,s,a,n){return this.realFs.readSync(t,r,s,a,n)}async writePromise(t,r,s,a,n){return await new Promise((c,f)=>typeof r=="string"?this.realFs.write(t,r,s,this.makeCallback(c,f)):this.realFs.write(t,r,s,a,n,this.makeCallback(c,f)))}writeSync(t,r,s,a,n){return typeof r=="string"?this.realFs.writeSync(t,r,s):this.realFs.writeSync(t,r,s,a,n)}async closePromise(t){await new Promise((r,s)=>{this.realFs.close(t,this.makeCallback(r,s))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,r){let s=t!==null?fe.fromPortablePath(t):t;return this.realFs.createReadStream(s,r)}createWriteStream(t,r){let s=t!==null?fe.fromPortablePath(t):t;return this.realFs.createWriteStream(s,r)}async realpathPromise(t){return await new Promise((r,s)=>{this.realFs.realpath(fe.fromPortablePath(t),{},this.makeCallback(r,s))}).then(r=>fe.toPortablePath(r))}realpathSync(t){return fe.toPortablePath(this.realFs.realpathSync(fe.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(r=>{this.realFs.exists(fe.fromPortablePath(t),r)})}accessSync(t,r){return this.realFs.accessSync(fe.fromPortablePath(t),r)}async accessPromise(t,r){return await new Promise((s,a)=>{this.realFs.access(fe.fromPortablePath(t),r,this.makeCallback(s,a))})}existsSync(t){return this.realFs.existsSync(fe.fromPortablePath(t))}async statPromise(t,r){return await new Promise((s,a)=>{r?this.realFs.stat(fe.fromPortablePath(t),r,this.makeCallback(s,a)):this.realFs.stat(fe.fromPortablePath(t),this.makeCallback(s,a))})}statSync(t,r){return r?this.realFs.statSync(fe.fromPortablePath(t),r):this.realFs.statSync(fe.fromPortablePath(t))}async fstatPromise(t,r){return await new Promise((s,a)=>{r?this.realFs.fstat(t,r,this.makeCallback(s,a)):this.realFs.fstat(t,this.makeCallback(s,a))})}fstatSync(t,r){return r?this.realFs.fstatSync(t,r):this.realFs.fstatSync(t)}async lstatPromise(t,r){return await new Promise((s,a)=>{r?this.realFs.lstat(fe.fromPortablePath(t),r,this.makeCallback(s,a)):this.realFs.lstat(fe.fromPortablePath(t),this.makeCallback(s,a))})}lstatSync(t,r){return r?this.realFs.lstatSync(fe.fromPortablePath(t),r):this.realFs.lstatSync(fe.fromPortablePath(t))}async fchmodPromise(t,r){return await new Promise((s,a)=>{this.realFs.fchmod(t,r,this.makeCallback(s,a))})}fchmodSync(t,r){return this.realFs.fchmodSync(t,r)}async chmodPromise(t,r){return await new Promise((s,a)=>{this.realFs.chmod(fe.fromPortablePath(t),r,this.makeCallback(s,a))})}chmodSync(t,r){return this.realFs.chmodSync(fe.fromPortablePath(t),r)}async fchownPromise(t,r,s){return await new Promise((a,n)=>{this.realFs.fchown(t,r,s,this.makeCallback(a,n))})}fchownSync(t,r,s){return this.realFs.fchownSync(t,r,s)}async chownPromise(t,r,s){return await new Promise((a,n)=>{this.realFs.chown(fe.fromPortablePath(t),r,s,this.makeCallback(a,n))})}chownSync(t,r,s){return this.realFs.chownSync(fe.fromPortablePath(t),r,s)}async renamePromise(t,r){return await new Promise((s,a)=>{this.realFs.rename(fe.fromPortablePath(t),fe.fromPortablePath(r),this.makeCallback(s,a))})}renameSync(t,r){return this.realFs.renameSync(fe.fromPortablePath(t),fe.fromPortablePath(r))}async copyFilePromise(t,r,s=0){return await new Promise((a,n)=>{this.realFs.copyFile(fe.fromPortablePath(t),fe.fromPortablePath(r),s,this.makeCallback(a,n))})}copyFileSync(t,r,s=0){return this.realFs.copyFileSync(fe.fromPortablePath(t),fe.fromPortablePath(r),s)}async appendFilePromise(t,r,s){return await new Promise((a,n)=>{let c=typeof t=="string"?fe.fromPortablePath(t):t;s?this.realFs.appendFile(c,r,s,this.makeCallback(a,n)):this.realFs.appendFile(c,r,this.makeCallback(a,n))})}appendFileSync(t,r,s){let a=typeof t=="string"?fe.fromPortablePath(t):t;s?this.realFs.appendFileSync(a,r,s):this.realFs.appendFileSync(a,r)}async writeFilePromise(t,r,s){return await new Promise((a,n)=>{let c=typeof t=="string"?fe.fromPortablePath(t):t;s?this.realFs.writeFile(c,r,s,this.makeCallback(a,n)):this.realFs.writeFile(c,r,this.makeCallback(a,n))})}writeFileSync(t,r,s){let a=typeof t=="string"?fe.fromPortablePath(t):t;s?this.realFs.writeFileSync(a,r,s):this.realFs.writeFileSync(a,r)}async unlinkPromise(t){return await new Promise((r,s)=>{this.realFs.unlink(fe.fromPortablePath(t),this.makeCallback(r,s))})}unlinkSync(t){return this.realFs.unlinkSync(fe.fromPortablePath(t))}async utimesPromise(t,r,s){return await new Promise((a,n)=>{this.realFs.utimes(fe.fromPortablePath(t),r,s,this.makeCallback(a,n))})}utimesSync(t,r,s){this.realFs.utimesSync(fe.fromPortablePath(t),r,s)}async lutimesPromise(t,r,s){return await new Promise((a,n)=>{this.realFs.lutimes(fe.fromPortablePath(t),r,s,this.makeCallback(a,n))})}lutimesSync(t,r,s){this.realFs.lutimesSync(fe.fromPortablePath(t),r,s)}async mkdirPromise(t,r){return await new Promise((s,a)=>{this.realFs.mkdir(fe.fromPortablePath(t),r,this.makeCallback(s,a))})}mkdirSync(t,r){return this.realFs.mkdirSync(fe.fromPortablePath(t),r)}async rmdirPromise(t,r){return await new Promise((s,a)=>{r?this.realFs.rmdir(fe.fromPortablePath(t),r,this.makeCallback(s,a)):this.realFs.rmdir(fe.fromPortablePath(t),this.makeCallback(s,a))})}rmdirSync(t,r){return this.realFs.rmdirSync(fe.fromPortablePath(t),r)}async rmPromise(t,r){return await new Promise((s,a)=>{r?this.realFs.rm(fe.fromPortablePath(t),r,this.makeCallback(s,a)):this.realFs.rm(fe.fromPortablePath(t),this.makeCallback(s,a))})}rmSync(t,r){return this.realFs.rmSync(fe.fromPortablePath(t),r)}async linkPromise(t,r){return await new Promise((s,a)=>{this.realFs.link(fe.fromPortablePath(t),fe.fromPortablePath(r),this.makeCallback(s,a))})}linkSync(t,r){return this.realFs.linkSync(fe.fromPortablePath(t),fe.fromPortablePath(r))}async symlinkPromise(t,r,s){return await new Promise((a,n)=>{this.realFs.symlink(fe.fromPortablePath(t.replace(/\/+$/,"")),fe.fromPortablePath(r),s,this.makeCallback(a,n))})}symlinkSync(t,r,s){return this.realFs.symlinkSync(fe.fromPortablePath(t.replace(/\/+$/,"")),fe.fromPortablePath(r),s)}async readFilePromise(t,r){return await new Promise((s,a)=>{let n=typeof t=="string"?fe.fromPortablePath(t):t;this.realFs.readFile(n,r,this.makeCallback(s,a))})}readFileSync(t,r){let s=typeof t=="string"?fe.fromPortablePath(t):t;return this.realFs.readFileSync(s,r)}async readdirPromise(t,r){return await new Promise((s,a)=>{r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdir(fe.fromPortablePath(t),r,this.makeCallback(n=>s(n.map(bZ)),a)):this.realFs.readdir(fe.fromPortablePath(t),r,this.makeCallback(n=>s(n.map(fe.toPortablePath)),a)):this.realFs.readdir(fe.fromPortablePath(t),r,this.makeCallback(s,a)):this.realFs.readdir(fe.fromPortablePath(t),this.makeCallback(s,a))})}readdirSync(t,r){return r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdirSync(fe.fromPortablePath(t),r).map(bZ):this.realFs.readdirSync(fe.fromPortablePath(t),r).map(fe.toPortablePath):this.realFs.readdirSync(fe.fromPortablePath(t),r):this.realFs.readdirSync(fe.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((r,s)=>{this.realFs.readlink(fe.fromPortablePath(t),this.makeCallback(r,s))}).then(r=>fe.toPortablePath(r))}readlinkSync(t){return fe.toPortablePath(this.realFs.readlinkSync(fe.fromPortablePath(t)))}async truncatePromise(t,r){return await new Promise((s,a)=>{this.realFs.truncate(fe.fromPortablePath(t),r,this.makeCallback(s,a))})}truncateSync(t,r){return this.realFs.truncateSync(fe.fromPortablePath(t),r)}async ftruncatePromise(t,r){return await new Promise((s,a)=>{this.realFs.ftruncate(t,r,this.makeCallback(s,a))})}ftruncateSync(t,r){return this.realFs.ftruncateSync(t,r)}watch(t,r,s){return this.realFs.watch(fe.fromPortablePath(t),r,s)}watchFile(t,r,s){return this.realFs.watchFile(fe.fromPortablePath(t),r,s)}unwatchFile(t,r){return this.realFs.unwatchFile(fe.fromPortablePath(t),r)}makeCallback(t,r){return(s,a)=>{s?r(s):t(a)}}}});var bn,xZ=Xe(()=>{Ed();Ip();ll();bn=class extends Gs{constructor(t,{baseFs:r=new Vn}={}){super(J),this.target=this.pathUtils.normalize(t),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?J.normalize(t):this.baseFs.resolve(J.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}}});var kZ,qf,QZ=Xe(()=>{Ed();Ip();ll();kZ=vt.root,qf=class extends Gs{constructor(t,{baseFs:r=new Vn}={}){super(J),this.target=this.pathUtils.resolve(vt.root,t),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(vt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let r=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(kZ,t));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(kZ,this.pathUtils.relative(this.target,t))}}});var cE,RZ=Xe(()=>{Ip();cE=class extends Gs{constructor(r,s){super(s);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Id,cl,$h,TZ=Xe(()=>{Id=Ie("fs");yd();Ed();AU();zP();ll();cl=4278190080,$h=class extends jf{constructor({baseFs:r=new Vn,filter:s=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:c=!0,maxAge:f=5e3,typeCheck:p=Id.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:C}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=c?new Map:null,this.factoryPromise=E,this.factorySync=C,this.filter=s,this.getMountPoint=h,this.magic=a<<24,this.maxAge=f,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(dd(this),this.mountInstances)for(let[r,{childFs:s}]of this.mountInstances.entries())s.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(dd(this),this.mountInstances)for(let[r,{childFs:s}]of this.mountInstances.entries())s.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,s){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,s]),a}async openPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,s,a),async(n,{subPath:c})=>this.remapFd(n,await n.openPromise(c,s,a)))}openSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,s,a),(n,{subPath:c})=>this.remapFd(n,n.openSync(c,s,a)))}async opendirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,s),async(a,{subPath:n})=>await a.opendirPromise(n,s),{requireSubpath:!1})}opendirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,s),(a,{subPath:n})=>a.opendirSync(n,s),{requireSubpath:!1})}async readPromise(r,s,a,n,c){if((r&cl)!==this.magic)return await this.baseFs.readPromise(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw qo("read");let[p,h]=f;return await p.readPromise(h,s,a,n,c)}readSync(r,s,a,n,c){if((r&cl)!==this.magic)return this.baseFs.readSync(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw qo("readSync");let[p,h]=f;return p.readSync(h,s,a,n,c)}async writePromise(r,s,a,n,c){if((r&cl)!==this.magic)return typeof s=="string"?await this.baseFs.writePromise(r,s,a):await this.baseFs.writePromise(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw qo("write");let[p,h]=f;return typeof s=="string"?await p.writePromise(h,s,a):await p.writePromise(h,s,a,n,c)}writeSync(r,s,a,n,c){if((r&cl)!==this.magic)return typeof s=="string"?this.baseFs.writeSync(r,s,a):this.baseFs.writeSync(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw qo("writeSync");let[p,h]=f;return typeof s=="string"?p.writeSync(h,s,a):p.writeSync(h,s,a,n,c)}async closePromise(r){if((r&cl)!==this.magic)return await this.baseFs.closePromise(r);let s=this.fdMap.get(r);if(typeof s>"u")throw qo("close");this.fdMap.delete(r);let[a,n]=s;return await a.closePromise(n)}closeSync(r){if((r&cl)!==this.magic)return this.baseFs.closeSync(r);let s=this.fdMap.get(r);if(typeof s>"u")throw qo("closeSync");this.fdMap.delete(r);let[a,n]=s;return a.closeSync(n)}createReadStream(r,s){return r===null?this.baseFs.createReadStream(r,s):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,s),(a,{archivePath:n,subPath:c})=>{let f=a.createReadStream(c,s);return f.path=fe.fromPortablePath(this.pathUtils.join(n,c)),f})}createWriteStream(r,s){return r===null?this.baseFs.createWriteStream(r,s):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,s),(a,{subPath:n})=>a.createWriteStream(n,s))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(s,{archivePath:a,subPath:n})=>{let c=this.realPaths.get(a);return typeof c>"u"&&(c=await this.baseFs.realpathPromise(a),this.realPaths.set(a,c)),this.pathUtils.join(c,this.pathUtils.relative(vt.root,await s.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(s,{archivePath:a,subPath:n})=>{let c=this.realPaths.get(a);return typeof c>"u"&&(c=this.baseFs.realpathSync(a),this.realPaths.set(a,c)),this.pathUtils.join(c,this.pathUtils.relative(vt.root,s.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(s,{subPath:a})=>await s.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(s,{subPath:a})=>s.existsSync(a))}async accessPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,s),async(a,{subPath:n})=>await a.accessPromise(n,s))}accessSync(r,s){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,s),(a,{subPath:n})=>a.accessSync(n,s))}async statPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,s),async(a,{subPath:n})=>await a.statPromise(n,s))}statSync(r,s){return this.makeCallSync(r,()=>this.baseFs.statSync(r,s),(a,{subPath:n})=>a.statSync(n,s))}async fstatPromise(r,s){if((r&cl)!==this.magic)return this.baseFs.fstatPromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw qo("fstat");let[n,c]=a;return n.fstatPromise(c,s)}fstatSync(r,s){if((r&cl)!==this.magic)return this.baseFs.fstatSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw qo("fstatSync");let[n,c]=a;return n.fstatSync(c,s)}async lstatPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,s),async(a,{subPath:n})=>await a.lstatPromise(n,s))}lstatSync(r,s){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,s),(a,{subPath:n})=>a.lstatSync(n,s))}async fchmodPromise(r,s){if((r&cl)!==this.magic)return this.baseFs.fchmodPromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw qo("fchmod");let[n,c]=a;return n.fchmodPromise(c,s)}fchmodSync(r,s){if((r&cl)!==this.magic)return this.baseFs.fchmodSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw qo("fchmodSync");let[n,c]=a;return n.fchmodSync(c,s)}async chmodPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,s),async(a,{subPath:n})=>await a.chmodPromise(n,s))}chmodSync(r,s){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,s),(a,{subPath:n})=>a.chmodSync(n,s))}async fchownPromise(r,s,a){if((r&cl)!==this.magic)return this.baseFs.fchownPromise(r,s,a);let n=this.fdMap.get(r);if(typeof n>"u")throw qo("fchown");let[c,f]=n;return c.fchownPromise(f,s,a)}fchownSync(r,s,a){if((r&cl)!==this.magic)return this.baseFs.fchownSync(r,s,a);let n=this.fdMap.get(r);if(typeof n>"u")throw qo("fchownSync");let[c,f]=n;return c.fchownSync(f,s,a)}async chownPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,s,a),async(n,{subPath:c})=>await n.chownPromise(c,s,a))}chownSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,s,a),(n,{subPath:c})=>n.chownSync(c,s,a))}async renamePromise(r,s){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(s,async()=>await this.baseFs.renamePromise(r,s),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(s,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(c,{subPath:f})=>{if(a!==c)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,f)}))}renameSync(r,s){return this.makeCallSync(r,()=>this.makeCallSync(s,()=>this.baseFs.renameSync(r,s),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(s,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(c,{subPath:f})=>{if(a!==c)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,f)}))}async copyFilePromise(r,s,a=0){let n=async(c,f,p,h)=>{if(a&Id.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${f}' -> ${h}'`),{code:"EXDEV"});if(a&Id.constants.COPYFILE_EXCL&&await this.existsPromise(f))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${f}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await c.readFilePromise(f)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${f}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(s,async()=>await this.baseFs.copyFilePromise(r,s,a),async(c,{subPath:f})=>await n(this.baseFs,r,c,f)),async(c,{subPath:f})=>await this.makeCallPromise(s,async()=>await n(c,f,this.baseFs,s),async(p,{subPath:h})=>c!==p?await n(c,f,p,h):await c.copyFilePromise(f,h,a)))}copyFileSync(r,s,a=0){let n=(c,f,p,h)=>{if(a&Id.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${f}' -> ${h}'`),{code:"EXDEV"});if(a&Id.constants.COPYFILE_EXCL&&this.existsSync(f))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${f}' -> '${h}'`),{code:"EEXIST"});let E;try{E=c.readFileSync(f)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${f}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(s,()=>this.baseFs.copyFileSync(r,s,a),(c,{subPath:f})=>n(this.baseFs,r,c,f)),(c,{subPath:f})=>this.makeCallSync(s,()=>n(c,f,this.baseFs,s),(p,{subPath:h})=>c!==p?n(c,f,p,h):c.copyFileSync(f,h,a)))}async appendFilePromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,s,a),async(n,{subPath:c})=>await n.appendFilePromise(c,s,a))}appendFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,s,a),(n,{subPath:c})=>n.appendFileSync(c,s,a))}async writeFilePromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,s,a),async(n,{subPath:c})=>await n.writeFilePromise(c,s,a))}writeFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,s,a),(n,{subPath:c})=>n.writeFileSync(c,s,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(s,{subPath:a})=>await s.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(s,{subPath:a})=>s.unlinkSync(a))}async utimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,s,a),async(n,{subPath:c})=>await n.utimesPromise(c,s,a))}utimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,s,a),(n,{subPath:c})=>n.utimesSync(c,s,a))}async lutimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,s,a),async(n,{subPath:c})=>await n.lutimesPromise(c,s,a))}lutimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,s,a),(n,{subPath:c})=>n.lutimesSync(c,s,a))}async mkdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,s),async(a,{subPath:n})=>await a.mkdirPromise(n,s))}mkdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,s),(a,{subPath:n})=>a.mkdirSync(n,s))}async rmdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,s),async(a,{subPath:n})=>await a.rmdirPromise(n,s))}rmdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,s),(a,{subPath:n})=>a.rmdirSync(n,s))}async rmPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,s),async(a,{subPath:n})=>await a.rmPromise(n,s))}rmSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,s),(a,{subPath:n})=>a.rmSync(n,s))}async linkPromise(r,s){return await this.makeCallPromise(s,async()=>await this.baseFs.linkPromise(r,s),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,s){return this.makeCallSync(s,()=>this.baseFs.linkSync(r,s),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,s,a){return await this.makeCallPromise(s,async()=>await this.baseFs.symlinkPromise(r,s,a),async(n,{subPath:c})=>await n.symlinkPromise(r,c))}symlinkSync(r,s,a){return this.makeCallSync(s,()=>this.baseFs.symlinkSync(r,s,a),(n,{subPath:c})=>n.symlinkSync(r,c))}async readFilePromise(r,s){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,s),async(a,{subPath:n})=>await a.readFilePromise(n,s))}readFileSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,s),(a,{subPath:n})=>a.readFileSync(n,s))}async readdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,s),async(a,{subPath:n})=>await a.readdirPromise(n,s),{requireSubpath:!1})}readdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,s),(a,{subPath:n})=>a.readdirSync(n,s),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(s,{subPath:a})=>await s.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(s,{subPath:a})=>s.readlinkSync(a))}async truncatePromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,s),async(a,{subPath:n})=>await a.truncatePromise(n,s))}truncateSync(r,s){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,s),(a,{subPath:n})=>a.truncateSync(n,s))}async ftruncatePromise(r,s){if((r&cl)!==this.magic)return this.baseFs.ftruncatePromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw qo("ftruncate");let[n,c]=a;return n.ftruncatePromise(c,s)}ftruncateSync(r,s){if((r&cl)!==this.magic)return this.baseFs.ftruncateSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw qo("ftruncateSync");let[n,c]=a;return n.ftruncateSync(c,s)}watch(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,s,a),(n,{subPath:c})=>n.watch(c,s,a))}watchFile(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,s,a),()=>lE(this,r,s,a))}unwatchFile(r,s){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,s),()=>gd(this,r,s))}async makeCallPromise(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await s();let c=this.resolve(r),f=this.findMount(c);return f?n&&f.subPath==="/"?await s():await this.getMountPromise(f.archivePath,async p=>await a(p,f)):await s()}makeCallSync(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return s();let c=this.resolve(r),f=this.findMount(c);return!f||n&&f.subPath==="/"?s():this.getMountSync(f.archivePath,p=>a(p,f))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let s="";for(;;){let a=r.substring(s.length),n=this.getMountPoint(a,s);if(!n)return null;if(s=this.pathUtils.join(s,n),!this.isMount.has(s)){if(this.notMount.has(s))continue;try{if(this.typeCheck!==null&&(this.baseFs.statSync(s).mode&Id.constants.S_IFMT)!==this.typeCheck){this.notMount.add(s);continue}}catch{return null}this.isMount.add(s)}return{archivePath:s,subPath:this.pathUtils.join(vt.root,r.substring(s.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let s=Date.now(),a=s+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[c,{childFs:f,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||f.hasOpenFileHandles?.())){if(s>=p){f.saveAndClose?.(),this.mountInstances.delete(c),n-=1;continue}else if(r===null||n<=0){a=p;break}f.saveAndClose?.(),this.mountInstances.delete(c),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-s).unref())}async getMountPromise(r,s){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await s(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await s(a)}finally{a.saveAndClose?.()}}}getMountSync(r,s){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,s(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return s(a)}finally{a.saveAndClose?.()}}}}});var er,nx,FZ=Xe(()=>{yd();ll();er=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),nx=class e extends Ep{static{this.instance=new e}constructor(){super(J)}getExtractHint(){throw er()}getRealPath(){throw er()}resolve(){throw er()}async openPromise(){throw er()}openSync(){throw er()}async opendirPromise(){throw er()}opendirSync(){throw er()}async readPromise(){throw er()}readSync(){throw er()}async writePromise(){throw er()}writeSync(){throw er()}async closePromise(){throw er()}closeSync(){throw er()}createWriteStream(){throw er()}createReadStream(){throw er()}async realpathPromise(){throw er()}realpathSync(){throw er()}async readdirPromise(){throw er()}readdirSync(){throw er()}async existsPromise(t){throw er()}existsSync(t){throw er()}async accessPromise(){throw er()}accessSync(){throw er()}async statPromise(){throw er()}statSync(){throw er()}async fstatPromise(t){throw er()}fstatSync(t){throw er()}async lstatPromise(t){throw er()}lstatSync(t){throw er()}async fchmodPromise(){throw er()}fchmodSync(){throw er()}async chmodPromise(){throw er()}chmodSync(){throw er()}async fchownPromise(){throw er()}fchownSync(){throw er()}async chownPromise(){throw er()}chownSync(){throw er()}async mkdirPromise(){throw er()}mkdirSync(){throw er()}async rmdirPromise(){throw er()}rmdirSync(){throw er()}async rmPromise(){throw er()}rmSync(){throw er()}async linkPromise(){throw er()}linkSync(){throw er()}async symlinkPromise(){throw er()}symlinkSync(){throw er()}async renamePromise(){throw er()}renameSync(){throw er()}async copyFilePromise(){throw er()}copyFileSync(){throw er()}async appendFilePromise(){throw er()}appendFileSync(){throw er()}async writeFilePromise(){throw er()}writeFileSync(){throw er()}async unlinkPromise(){throw er()}unlinkSync(){throw er()}async utimesPromise(){throw er()}utimesSync(){throw er()}async lutimesPromise(){throw er()}lutimesSync(){throw er()}async readFilePromise(){throw er()}readFileSync(){throw er()}async readlinkPromise(){throw er()}readlinkSync(){throw er()}async truncatePromise(){throw er()}truncateSync(){throw er()}async ftruncatePromise(t,r){throw er()}ftruncateSync(t,r){throw er()}watch(){throw er()}watchFile(){throw er()}unwatchFile(){throw er()}}});var e0,NZ=Xe(()=>{Ip();ll();e0=class extends Gs{constructor(t){super(fe),this.baseFs=t}mapFromBase(t){return fe.fromPortablePath(t)}mapToBase(t){return fe.toPortablePath(t)}}});var Kje,pU,zje,mo,OZ=Xe(()=>{Ed();Ip();ll();Kje=/^[0-9]+$/,pU=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,zje=/^([^/]+-)?[a-f0-9]+$/,mo=class e extends Gs{static makeVirtualPath(t,r,s){if(J.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!J.basename(r).match(zje))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let n=J.relative(J.dirname(t),s).split("/"),c=0;for(;c{hU=et(Ie("buffer")),LZ=Ie("url"),MZ=Ie("util");Ip();ll();ix=class extends Gs{constructor(t){super(fe),this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof URL)return(0,LZ.fileURLToPath)(t);if(Buffer.isBuffer(t)){let r=t.toString();if(!Xje(t,r))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return r}throw new Error(`Unsupported path type: ${(0,MZ.inspect)(t)}`)}}});var qZ,Wo,Cp,t0,sx,ox,uE,Ru,Tu,_Z,HZ,jZ,GZ,k2,WZ=Xe(()=>{qZ=Ie("readline"),Wo=Symbol("kBaseFs"),Cp=Symbol("kFd"),t0=Symbol("kClosePromise"),sx=Symbol("kCloseResolve"),ox=Symbol("kCloseReject"),uE=Symbol("kRefs"),Ru=Symbol("kRef"),Tu=Symbol("kUnref"),k2=class{constructor(t,r){this[GZ]=1;this[jZ]=void 0;this[HZ]=void 0;this[_Z]=void 0;this[Wo]=r,this[Cp]=t}get fd(){return this[Cp]}async appendFile(t,r){try{this[Ru](this.appendFile);let s=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Wo].appendFilePromise(this.fd,t,s?{encoding:s}:void 0)}finally{this[Tu]()}}async chown(t,r){try{return this[Ru](this.chown),await this[Wo].fchownPromise(this.fd,t,r)}finally{this[Tu]()}}async chmod(t){try{return this[Ru](this.chmod),await this[Wo].fchmodPromise(this.fd,t)}finally{this[Tu]()}}createReadStream(t){return this[Wo].createReadStream(null,{...t,fd:this.fd})}createWriteStream(t){return this[Wo].createWriteStream(null,{...t,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(t,r,s,a){try{this[Ru](this.read);let n,c;return ArrayBuffer.isView(t)?typeof r=="object"&&r!==null?(n=t,c=r?.offset??0,s=r?.length??n.byteLength-c,a=r?.position??null):(n=t,c=r??0,s??=0):(n=t?.buffer??Buffer.alloc(16384),c=t?.offset??0,s=t?.length??n.byteLength-c,a=t?.position??null),s===0?{bytesRead:s,buffer:n}:{bytesRead:await this[Wo].readPromise(this.fd,Buffer.isBuffer(n)?n:Buffer.from(n.buffer,n.byteOffset,n.byteLength),c,s,a),buffer:n}}finally{this[Tu]()}}async readFile(t){try{this[Ru](this.readFile);let r=(typeof t=="string"?t:t?.encoding)??void 0;return await this[Wo].readFilePromise(this.fd,r)}finally{this[Tu]()}}readLines(t){return(0,qZ.createInterface)({input:this.createReadStream(t),crlfDelay:1/0})}async stat(t){try{return this[Ru](this.stat),await this[Wo].fstatPromise(this.fd,t)}finally{this[Tu]()}}async truncate(t){try{return this[Ru](this.truncate),await this[Wo].ftruncatePromise(this.fd,t)}finally{this[Tu]()}}utimes(t,r){throw new Error("Method not implemented.")}async writeFile(t,r){try{this[Ru](this.writeFile);let s=(typeof r=="string"?r:r?.encoding)??void 0;await this[Wo].writeFilePromise(this.fd,t,s)}finally{this[Tu]()}}async write(...t){try{if(this[Ru](this.write),ArrayBuffer.isView(t[0])){let[r,s,a,n]=t;return{bytesWritten:await this[Wo].writePromise(this.fd,r,s??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,s,a]=t;return{bytesWritten:await this[Wo].writePromise(this.fd,r,s,a),buffer:r}}}finally{this[Tu]()}}async writev(t,r){try{this[Ru](this.writev);let s=0;if(typeof r<"u")for(let a of t){let n=await this.write(a,void 0,void 0,r);s+=n.bytesWritten,r+=n.bytesWritten}else for(let a of t){let n=await this.write(a);s+=n.bytesWritten}return{buffers:t,bytesWritten:s}}finally{this[Tu]()}}readv(t,r){throw new Error("Method not implemented.")}close(){if(this[Cp]===-1)return Promise.resolve();if(this[t0])return this[t0];if(this[uE]--,this[uE]===0){let t=this[Cp];this[Cp]=-1,this[t0]=this[Wo].closePromise(t).finally(()=>{this[t0]=void 0})}else this[t0]=new Promise((t,r)=>{this[sx]=t,this[ox]=r}).finally(()=>{this[t0]=void 0,this[ox]=void 0,this[sx]=void 0});return this[t0]}[(Wo,Cp,GZ=uE,jZ=t0,HZ=sx,_Z=ox,Ru)](t){if(this[Cp]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=t.name,r}this[uE]++}[Tu](){if(this[uE]--,this[uE]===0){let t=this[Cp];this[Cp]=-1,this[Wo].closePromise(t).then(this[sx],this[ox])}}}});function Q2(e,t){t=new ix(t);let r=(s,a,n)=>{let c=s[a];s[a]=n,typeof c?.[fE.promisify.custom]<"u"&&(n[fE.promisify.custom]=c[fE.promisify.custom])};{r(e,"exists",(s,...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{t.existsPromise(s).then(f=>{c(f)},()=>{c(!1)})})}),r(e,"read",(...s)=>{let[a,n,c,f,p,h]=s;if(s.length<=3){let E={};s.length<3?h=s[1]:(E=s[1],h=s[2]),{buffer:n=Buffer.alloc(16384),offset:c=0,length:f=n.byteLength,position:p}=E}if(c==null&&(c=0),f|=0,f===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{t.readPromise(a,n,c,f,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let s of YZ){let a=s.replace(/Promise$/,"");if(typeof e[a]>"u")continue;let n=t[s];if(typeof n>"u")continue;r(e,a,(...f)=>{let h=typeof f[f.length-1]=="function"?f.pop():()=>{};process.nextTick(()=>{n.apply(t,f).then(E=>{h(null,E)},E=>{h(E)})})})}e.realpath.native=e.realpath}{r(e,"existsSync",s=>{try{return t.existsSync(s)}catch{return!1}}),r(e,"readSync",(...s)=>{let[a,n,c,f,p]=s;return s.length<=3&&({offset:c=0,length:f=n.byteLength,position:p}=s[2]||{}),c==null&&(c=0),f|=0,f===0?0:(p==null&&(p=-1),t.readSync(a,n,c,f,p))});for(let s of Zje){let a=s;if(typeof e[a]>"u")continue;let n=t[s];typeof n>"u"||r(e,a,n.bind(t))}e.realpathSync.native=e.realpathSync}{let s=e.promises;for(let a of YZ){let n=a.replace(/Promise$/,"");if(typeof s[n]>"u")continue;let c=t[a];typeof c>"u"||a!=="open"&&r(s,n,(f,...p)=>f instanceof k2?f[n].apply(f,p):c.call(t,f,...p))}r(s,"open",async(...a)=>{let n=await t.openPromise(...a);return new k2(n,t)})}e.read[fE.promisify.custom]=async(s,a,...n)=>({bytesRead:await t.readPromise(s,a,...n),buffer:a}),e.write[fE.promisify.custom]=async(s,a,...n)=>({bytesWritten:await t.writePromise(s,a,...n),buffer:a})}function ax(e,t){let r=Object.create(e);return Q2(r,t),r}var fE,Zje,YZ,VZ=Xe(()=>{fE=Ie("util");UZ();WZ();Zje=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),YZ=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function JZ(e){let t=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${e}${t}`}function KZ(){if(gU)return gU;let e=fe.toPortablePath(zZ.default.tmpdir()),t=le.realpathSync(e);return process.once("exit",()=>{le.rmtempSync()}),gU={tmpdir:e,realTmpdir:t}}var zZ,Fu,gU,le,XZ=Xe(()=>{zZ=et(Ie("os"));Ed();ll();Fu=new Set,gU=null;le=Object.assign(new Vn,{detachTemp(e){Fu.delete(e)},mktempSync(e){let{tmpdir:t,realTmpdir:r}=KZ();for(;;){let s=JZ("xfs-");try{this.mkdirSync(J.join(t,s))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=J.join(r,s);if(Fu.add(a),typeof e>"u")return a;try{return e(a)}finally{if(Fu.has(a)){Fu.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(e){let{tmpdir:t,realTmpdir:r}=KZ();for(;;){let s=JZ("xfs-");try{await this.mkdirPromise(J.join(t,s))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=J.join(r,s);if(Fu.add(a),typeof e>"u")return a;try{return await e(a)}finally{if(Fu.has(a)){Fu.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Fu.values()).map(async e=>{try{await le.removePromise(e,{maxRetries:0}),Fu.delete(e)}catch{}}))},rmtempSync(){for(let e of Fu)try{le.removeSync(e),Fu.delete(e)}catch{}}})});var R2={};Vt(R2,{AliasFS:()=>Gf,BasePortableFakeFS:()=>jf,CustomDir:()=>x2,CwdFS:()=>bn,FakeFS:()=>Ep,Filename:()=>Er,JailFS:()=>qf,LazyFS:()=>cE,MountFS:()=>$h,NoFS:()=>nx,NodeFS:()=>Vn,PortablePath:()=>vt,PosixFS:()=>e0,ProxiedFS:()=>Gs,VirtualFS:()=>mo,constants:()=>Ai,errors:()=>or,extendFs:()=>ax,normalizeLineEndings:()=>md,npath:()=>fe,opendir:()=>ex,patchFs:()=>Q2,ppath:()=>J,setupCopyIndex:()=>$P,statUtils:()=>al,unwatchAllFiles:()=>dd,unwatchFile:()=>gd,watchFile:()=>lE,xfs:()=>le});var Dt=Xe(()=>{hZ();zP();lU();fU();IZ();AU();yd();ll();ll();DZ();yd();xZ();QZ();RZ();TZ();FZ();Ed();NZ();Ip();OZ();VZ();XZ()});var r$=G((Ybt,t$)=>{t$.exports=e$;e$.sync=e6e;var ZZ=Ie("fs");function $je(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var s=0;s{o$.exports=i$;i$.sync=t6e;var n$=Ie("fs");function i$(e,t,r){n$.stat(e,function(s,a){r(s,s?!1:s$(a,t))})}function t6e(e,t){return s$(n$.statSync(e),t)}function s$(e,t){return e.isFile()&&r6e(e,t)}function r6e(e,t){var r=e.mode,s=e.uid,a=e.gid,n=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),c=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),f=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=f|p,C=r&h||r&p&&a===c||r&f&&s===n||r&E&&n===0;return C}});var c$=G((Kbt,l$)=>{var Jbt=Ie("fs"),lx;process.platform==="win32"||global.TESTING_WINDOWS?lx=r$():lx=a$();l$.exports=dU;dU.sync=n6e;function dU(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,a){dU(e,t||{},function(n,c){n?a(n):s(c)})})}lx(e,t||{},function(s,a){s&&(s.code==="EACCES"||t&&t.ignoreErrors)&&(s=null,a=!1),r(s,a)})}function n6e(e,t){try{return lx.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var d$=G((zbt,g$)=>{var AE=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",u$=Ie("path"),i6e=AE?";":":",f$=c$(),A$=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),p$=(e,t)=>{let r=t.colon||i6e,s=e.match(/\//)||AE&&e.match(/\\/)?[""]:[...AE?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],a=AE?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=AE?a.split(r):[""];return AE&&e.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:s,pathExt:n,pathExtExe:a}},h$=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:s,pathExt:a,pathExtExe:n}=p$(e,t),c=[],f=h=>new Promise((E,C)=>{if(h===s.length)return t.all&&c.length?E(c):C(A$(e));let S=s[h],x=/^".*"$/.test(S)?S.slice(1,-1):S,I=u$.join(x,e),T=!x&&/^\.[\\\/]/.test(e)?e.slice(0,2)+I:I;E(p(T,h,0))}),p=(h,E,C)=>new Promise((S,x)=>{if(C===a.length)return S(f(E+1));let I=a[C];f$(h+I,{pathExt:n},(T,O)=>{if(!T&&O)if(t.all)c.push(h+I);else return S(h+I);return S(p(h,E,C+1))})});return r?f(0).then(h=>r(null,h),r):f(0)},s6e=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:s,pathExtExe:a}=p$(e,t),n=[];for(let c=0;c{"use strict";var m$=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};mU.exports=m$;mU.exports.default=m$});var w$=G((Zbt,C$)=>{"use strict";var E$=Ie("path"),o6e=d$(),a6e=y$();function I$(e,t){let r=e.options.env||process.env,s=process.cwd(),a=e.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(e.options.cwd)}catch{}let c;try{c=o6e.sync(e.command,{path:r[a6e({env:r})],pathExt:t?E$.delimiter:void 0})}catch{}finally{n&&process.chdir(s)}return c&&(c=E$.resolve(a?e.options.cwd:"",c)),c}function l6e(e){return I$(e)||I$(e,!0)}C$.exports=l6e});var B$=G(($bt,EU)=>{"use strict";var yU=/([()\][%!^"`<>&|;, *?])/g;function c6e(e){return e=e.replace(yU,"^$1"),e}function u6e(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(yU,"^$1"),t&&(e=e.replace(yU,"^$1")),e}EU.exports.command=c6e;EU.exports.argument=u6e});var S$=G((ePt,v$)=>{"use strict";v$.exports=/^#!(.*)/});var b$=G((tPt,D$)=>{"use strict";var f6e=S$();D$.exports=(e="")=>{let t=e.match(f6e);if(!t)return null;let[r,s]=t[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?s:s?`${a} ${s}`:a}});var x$=G((rPt,P$)=>{"use strict";var IU=Ie("fs"),A6e=b$();function p6e(e){let r=Buffer.alloc(150),s;try{s=IU.openSync(e,"r"),IU.readSync(s,r,0,150,0),IU.closeSync(s)}catch{}return A6e(r.toString())}P$.exports=p6e});var T$=G((nPt,R$)=>{"use strict";var h6e=Ie("path"),k$=w$(),Q$=B$(),g6e=x$(),d6e=process.platform==="win32",m6e=/\.(?:com|exe)$/i,y6e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function E6e(e){e.file=k$(e);let t=e.file&&g6e(e.file);return t?(e.args.unshift(e.file),e.command=t,k$(e)):e.file}function I6e(e){if(!d6e)return e;let t=E6e(e),r=!m6e.test(t);if(e.options.forceShell||r){let s=y6e.test(t);e.command=h6e.normalize(e.command),e.command=Q$.command(e.command),e.args=e.args.map(n=>Q$.argument(n,s));let a=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${a}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function C6e(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let s={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?s:I6e(s)}R$.exports=C6e});var O$=G((iPt,N$)=>{"use strict";var CU=process.platform==="win32";function wU(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function w6e(e,t){if(!CU)return;let r=e.emit;e.emit=function(s,a){if(s==="exit"){let n=F$(a,t);if(n)return r.call(e,"error",n)}return r.apply(e,arguments)}}function F$(e,t){return CU&&e===1&&!t.file?wU(t.original,"spawn"):null}function B6e(e,t){return CU&&e===1&&!t.file?wU(t.original,"spawnSync"):null}N$.exports={hookChildProcess:w6e,verifyENOENT:F$,verifyENOENTSync:B6e,notFoundError:wU}});var SU=G((sPt,pE)=>{"use strict";var L$=Ie("child_process"),BU=T$(),vU=O$();function M$(e,t,r){let s=BU(e,t,r),a=L$.spawn(s.command,s.args,s.options);return vU.hookChildProcess(a,s),a}function v6e(e,t,r){let s=BU(e,t,r),a=L$.spawnSync(s.command,s.args,s.options);return a.error=a.error||vU.verifyENOENTSync(a.status,s),a}pE.exports=M$;pE.exports.spawn=M$;pE.exports.sync=v6e;pE.exports._parse=BU;pE.exports._enoent=vU});var _$=G((oPt,U$)=>{"use strict";function S6e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Cd(e,t,r,s){this.message=e,this.expected=t,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Cd)}S6e(Cd,Error);Cd.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;C>",b=ur(">>",!1),y=">&",F=ur(">&",!1),z=">",X=ur(">",!1),$="<<<",se=ur("<<<",!1),xe="<&",Fe=ur("<&",!1),ut="<",Ct=ur("<",!1),qt=function(N){return{type:"argument",segments:[].concat(...N)}},ir=function(N){return N},Pt="$'",dn=ur("$'",!1),Pr="'",Cr=ur("'",!1),Or=function(N){return[{type:"text",text:N}]},on='""',li=ur('""',!1),Do=function(){return{type:"text",text:""}},ns='"',so=ur('"',!1),bo=function(N){return N},ji=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},oo=function(N){return{type:"shell",shell:N,quoted:!0}},Po=function(N){return{type:"variable",...N,quoted:!0}},TA=function(N){return{type:"text",text:N}},gf=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},gh=function(N){return{type:"shell",shell:N,quoted:!1}},dh=function(N){return{type:"variable",...N,quoted:!1}},ao=function(N){return{type:"glob",pattern:N}},Gn=/^[^']/,Ns=zi(["'"],!0,!1),lo=function(N){return N.join("")},ou=/^[^$"]/,au=zi(["$",'"'],!0,!1),lu=`\\ +`,FA=ur(`\\ +`,!1),NA=function(){return""},fa="\\",Aa=ur("\\",!1),OA=/^[\\$"`]/,gr=zi(["\\","$",'"',"`"],!1,!1),xo=function(N){return N},Ga="\\a",Ue=ur("\\a",!1),wr=function(){return"a"},df="\\b",LA=ur("\\b",!1),MA=function(){return"\b"},cu=/^[Ee]/,uu=zi(["E","e"],!1,!1),lc=function(){return"\x1B"},we="\\f",Nt=ur("\\f",!1),cc=function(){return"\f"},Oi="\\n",co=ur("\\n",!1),Tt=function(){return` +`},Qn="\\r",pa=ur("\\r",!1),Gi=function(){return"\r"},Li="\\t",qa=ur("\\t",!1),mn=function(){return" "},Xn="\\v",fu=ur("\\v",!1),mh=function(){return"\v"},Wa=/^[\\'"?]/,Ya=zi(["\\","'",'"',"?"],!1,!1),Va=function(N){return String.fromCharCode(parseInt(N,16))},$e="\\x",Ja=ur("\\x",!1),mf="\\u",uc=ur("\\u",!1),vn="\\U",ha=ur("\\U",!1),UA=function(N){return String.fromCodePoint(parseInt(N,16))},_A=/^[0-7]/,ga=zi([["0","7"]],!1,!1),kl=/^[0-9a-fA-f]/,Ut=zi([["0","9"],["a","f"],["A","f"]],!1,!1),Rn=Cf(),da="{}",Ka=ur("{}",!1),is=function(){return"{}"},fc="-",Au=ur("-",!1),Ac="+",za=ur("+",!1),Mi=".",Bs=ur(".",!1),Ql=function(N,K,re){return{type:"number",value:(N==="-"?-1:1)*parseFloat(K.join("")+"."+re.join(""))}},yf=function(N,K){return{type:"number",value:(N==="-"?-1:1)*parseInt(K.join(""))}},pc=function(N){return{type:"variable",...N}},Bi=function(N){return{type:"variable",name:N}},Tn=function(N){return N},hc="*",Ke=ur("*",!1),ot="/",St=ur("/",!1),lr=function(N,K,re){return{type:K==="*"?"multiplication":"division",right:re}},ee=function(N,K){return K.reduce((re,ge)=>({left:re,...ge}),N)},ye=function(N,K,re){return{type:K==="+"?"addition":"subtraction",right:re}},Oe="$((",mt=ur("$((",!1),Et="))",bt=ur("))",!1),tr=function(N){return N},pn="$(",ci=ur("$(",!1),qi=function(N){return N},Fn="${",Xa=ur("${",!1),Iy=":-",q1=ur(":-",!1),ko=function(N,K){return{name:N,defaultValue:K}},Cy=":-}",yh=ur(":-}",!1),W1=function(N){return{name:N,defaultValue:[]}},Qo=":+",Eh=ur(":+",!1),Ih=function(N,K){return{name:N,alternativeValue:K}},pu=":+}",Ch=ur(":+}",!1),Rg=function(N){return{name:N,alternativeValue:[]}},Tg=function(N){return{name:N}},Fg="$",wy=ur("$",!1),Ef=function(N){return t.isGlobPattern(N)},Ro=function(N){return N},Rl=/^[a-zA-Z0-9_]/,wh=zi([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Ng=function(){return Dy()},Tl=/^[$@*?#a-zA-Z0-9_\-]/,Fl=zi(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),By=/^[()}<>$|&; \t"']/,HA=zi(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),vy=/^[<>&; \t"']/,Sy=zi(["<",">","&",";"," "," ",'"',"'"],!1,!1),jA=/^[ \t]/,GA=zi([" "," "],!1,!1),W=0,xt=0,qA=[{line:1,column:1}],To=0,If=[],yt=0,hu;if("startRule"in t){if(!(t.startRule in s))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=s[t.startRule]}function Dy(){return e.substring(xt,W)}function Og(){return wf(xt,W)}function Y1(N,K){throw K=K!==void 0?K:wf(xt,W),WA([Lg(N)],e.substring(xt,W),K)}function Bh(N,K){throw K=K!==void 0?K:wf(xt,W),mi(N,K)}function ur(N,K){return{type:"literal",text:N,ignoreCase:K}}function zi(N,K,re){return{type:"class",parts:N,inverted:K,ignoreCase:re}}function Cf(){return{type:"any"}}function Za(){return{type:"end"}}function Lg(N){return{type:"other",description:N}}function gu(N){var K=qA[N],re;if(K)return K;for(re=N-1;!qA[re];)re--;for(K=qA[re],K={line:K.line,column:K.column};reTo&&(To=W,If=[]),If.push(N))}function mi(N,K){return new Cd(N,null,null,K)}function WA(N,K,re){return new Cd(Cd.buildMessage(N,K),N,K,re)}function $a(){var N,K,re;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(re=ma(),re===r&&(re=null),re!==r?(xt=N,K=n(re),N=K):(W=N,N=r)):(W=N,N=r),N}function ma(){var N,K,re,ge,Je;if(N=W,K=vh(),K!==r){for(re=[],ge=kt();ge!==r;)re.push(ge),ge=kt();re!==r?(ge=Mg(),ge!==r?(Je=el(),Je===r&&(Je=null),Je!==r?(xt=N,K=c(K,ge,Je),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;if(N===r)if(N=W,K=vh(),K!==r){for(re=[],ge=kt();ge!==r;)re.push(ge),ge=kt();re!==r?(ge=Mg(),ge===r&&(ge=null),ge!==r?(xt=N,K=f(K,ge),N=K):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;return N}function el(){var N,K,re,ge,Je;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=ma(),re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();ge!==r?(xt=N,K=p(re),N=K):(W=N,N=r)}else W=N,N=r;else W=N,N=r;return N}function Mg(){var N;return e.charCodeAt(W)===59?(N=h,W++):(N=r,yt===0&&wt(E)),N===r&&(e.charCodeAt(W)===38?(N=C,W++):(N=r,yt===0&&wt(S))),N}function vh(){var N,K,re;return N=W,K=YA(),K!==r?(re=Ug(),re===r&&(re=null),re!==r?(xt=N,K=x(K,re),N=K):(W=N,N=r)):(W=N,N=r),N}function Ug(){var N,K,re,ge,Je,pt,dr;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=by(),re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();if(ge!==r)if(Je=vh(),Je!==r){for(pt=[],dr=kt();dr!==r;)pt.push(dr),dr=kt();pt!==r?(xt=N,K=I(re,Je),N=K):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;return N}function by(){var N;return e.substr(W,2)===T?(N=T,W+=2):(N=r,yt===0&&wt(O)),N===r&&(e.substr(W,2)===U?(N=U,W+=2):(N=r,yt===0&&wt(V))),N}function YA(){var N,K,re;return N=W,K=Bf(),K!==r?(re=_g(),re===r&&(re=null),re!==r?(xt=N,K=te(K,re),N=K):(W=N,N=r)):(W=N,N=r),N}function _g(){var N,K,re,ge,Je,pt,dr;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=du(),re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();if(ge!==r)if(Je=YA(),Je!==r){for(pt=[],dr=kt();dr!==r;)pt.push(dr),dr=kt();pt!==r?(xt=N,K=ie(re,Je),N=K):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;return N}function du(){var N;return e.substr(W,2)===ue?(N=ue,W+=2):(N=r,yt===0&&wt(ae)),N===r&&(e.charCodeAt(W)===124?(N=de,W++):(N=r,yt===0&&wt(Ae))),N}function mu(){var N,K,re,ge,Je,pt;if(N=W,K=bh(),K!==r)if(e.charCodeAt(W)===61?(re=Ce,W++):(re=r,yt===0&&wt(Ee)),re!==r)if(ge=VA(),ge!==r){for(Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();Je!==r?(xt=N,K=g(K,ge),N=K):(W=N,N=r)}else W=N,N=r;else W=N,N=r;else W=N,N=r;if(N===r)if(N=W,K=bh(),K!==r)if(e.charCodeAt(W)===61?(re=Ce,W++):(re=r,yt===0&&wt(Ee)),re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();ge!==r?(xt=N,K=Se(K),N=K):(W=N,N=r)}else W=N,N=r;else W=N,N=r;return N}function Bf(){var N,K,re,ge,Je,pt,dr,vr,_n,yi,vs;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(e.charCodeAt(W)===40?(re=Be,W++):(re=r,yt===0&&wt(me)),re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();if(ge!==r)if(Je=ma(),Je!==r){for(pt=[],dr=kt();dr!==r;)pt.push(dr),dr=kt();if(pt!==r)if(e.charCodeAt(W)===41?(dr=ce,W++):(dr=r,yt===0&&wt(Z)),dr!==r){for(vr=[],_n=kt();_n!==r;)vr.push(_n),_n=kt();if(vr!==r){for(_n=[],yi=qn();yi!==r;)_n.push(yi),yi=qn();if(_n!==r){for(yi=[],vs=kt();vs!==r;)yi.push(vs),vs=kt();yi!==r?(xt=N,K=De(Je,_n),N=K):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;if(N===r){for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(e.charCodeAt(W)===123?(re=Qe,W++):(re=r,yt===0&&wt(st)),re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();if(ge!==r)if(Je=ma(),Je!==r){for(pt=[],dr=kt();dr!==r;)pt.push(dr),dr=kt();if(pt!==r)if(e.charCodeAt(W)===125?(dr=_,W++):(dr=r,yt===0&&wt(tt)),dr!==r){for(vr=[],_n=kt();_n!==r;)vr.push(_n),_n=kt();if(vr!==r){for(_n=[],yi=qn();yi!==r;)_n.push(yi),yi=qn();if(_n!==r){for(yi=[],vs=kt();vs!==r;)yi.push(vs),vs=kt();yi!==r?(xt=N,K=Ne(Je,_n),N=K):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;if(N===r){for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){for(re=[],ge=mu();ge!==r;)re.push(ge),ge=mu();if(re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();if(ge!==r){if(Je=[],pt=yu(),pt!==r)for(;pt!==r;)Je.push(pt),pt=yu();else Je=r;if(Je!==r){for(pt=[],dr=kt();dr!==r;)pt.push(dr),dr=kt();pt!==r?(xt=N,K=ke(re,Je),N=K):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r}else W=N,N=r;if(N===r){for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){if(re=[],ge=mu(),ge!==r)for(;ge!==r;)re.push(ge),ge=mu();else re=r;if(re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();ge!==r?(xt=N,K=be(re),N=K):(W=N,N=r)}else W=N,N=r}else W=N,N=r}}}return N}function Os(){var N,K,re,ge,Je;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){if(re=[],ge=xi(),ge!==r)for(;ge!==r;)re.push(ge),ge=xi();else re=r;if(re!==r){for(ge=[],Je=kt();Je!==r;)ge.push(Je),Je=kt();ge!==r?(xt=N,K=je(re),N=K):(W=N,N=r)}else W=N,N=r}else W=N,N=r;return N}function yu(){var N,K,re;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r?(re=qn(),re!==r?(xt=N,K=Re(re),N=K):(W=N,N=r)):(W=N,N=r),N===r){for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();K!==r?(re=xi(),re!==r?(xt=N,K=Re(re),N=K):(W=N,N=r)):(W=N,N=r)}return N}function qn(){var N,K,re,ge,Je;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(ct.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Me)),re===r&&(re=null),re!==r?(ge=ss(),ge!==r?(Je=xi(),Je!==r?(xt=N,K=P(re,ge,Je),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function ss(){var N;return e.substr(W,2)===w?(N=w,W+=2):(N=r,yt===0&&wt(b)),N===r&&(e.substr(W,2)===y?(N=y,W+=2):(N=r,yt===0&&wt(F)),N===r&&(e.charCodeAt(W)===62?(N=z,W++):(N=r,yt===0&&wt(X)),N===r&&(e.substr(W,3)===$?(N=$,W+=3):(N=r,yt===0&&wt(se)),N===r&&(e.substr(W,2)===xe?(N=xe,W+=2):(N=r,yt===0&&wt(Fe)),N===r&&(e.charCodeAt(W)===60?(N=ut,W++):(N=r,yt===0&&wt(Ct))))))),N}function xi(){var N,K,re;for(N=W,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(re=VA(),re!==r?(xt=N,K=Re(re),N=K):(W=N,N=r)):(W=N,N=r),N}function VA(){var N,K,re;if(N=W,K=[],re=vf(),re!==r)for(;re!==r;)K.push(re),re=vf();else K=r;return K!==r&&(xt=N,K=qt(K)),N=K,N}function vf(){var N,K;return N=W,K=yn(),K!==r&&(xt=N,K=ir(K)),N=K,N===r&&(N=W,K=Hg(),K!==r&&(xt=N,K=ir(K)),N=K,N===r&&(N=W,K=jg(),K!==r&&(xt=N,K=ir(K)),N=K,N===r&&(N=W,K=os(),K!==r&&(xt=N,K=ir(K)),N=K))),N}function yn(){var N,K,re,ge;return N=W,e.substr(W,2)===Pt?(K=Pt,W+=2):(K=r,yt===0&&wt(dn)),K!==r?(re=En(),re!==r?(e.charCodeAt(W)===39?(ge=Pr,W++):(ge=r,yt===0&&wt(Cr)),ge!==r?(xt=N,K=Or(re),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function Hg(){var N,K,re,ge;return N=W,e.charCodeAt(W)===39?(K=Pr,W++):(K=r,yt===0&&wt(Cr)),K!==r?(re=Sf(),re!==r?(e.charCodeAt(W)===39?(ge=Pr,W++):(ge=r,yt===0&&wt(Cr)),ge!==r?(xt=N,K=Or(re),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function jg(){var N,K,re,ge;if(N=W,e.substr(W,2)===on?(K=on,W+=2):(K=r,yt===0&&wt(li)),K!==r&&(xt=N,K=Do()),N=K,N===r)if(N=W,e.charCodeAt(W)===34?(K=ns,W++):(K=r,yt===0&&wt(so)),K!==r){for(re=[],ge=Nl();ge!==r;)re.push(ge),ge=Nl();re!==r?(e.charCodeAt(W)===34?(ge=ns,W++):(ge=r,yt===0&&wt(so)),ge!==r?(xt=N,K=bo(re),N=K):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;return N}function os(){var N,K,re;if(N=W,K=[],re=Fo(),re!==r)for(;re!==r;)K.push(re),re=Fo();else K=r;return K!==r&&(xt=N,K=bo(K)),N=K,N}function Nl(){var N,K;return N=W,K=Zr(),K!==r&&(xt=N,K=ji(K)),N=K,N===r&&(N=W,K=Dh(),K!==r&&(xt=N,K=oo(K)),N=K,N===r&&(N=W,K=KA(),K!==r&&(xt=N,K=Po(K)),N=K,N===r&&(N=W,K=Df(),K!==r&&(xt=N,K=TA(K)),N=K))),N}function Fo(){var N,K;return N=W,K=Zr(),K!==r&&(xt=N,K=gf(K)),N=K,N===r&&(N=W,K=Dh(),K!==r&&(xt=N,K=gh(K)),N=K,N===r&&(N=W,K=KA(),K!==r&&(xt=N,K=dh(K)),N=K,N===r&&(N=W,K=Py(),K!==r&&(xt=N,K=ao(K)),N=K,N===r&&(N=W,K=Sh(),K!==r&&(xt=N,K=TA(K)),N=K)))),N}function Sf(){var N,K,re;for(N=W,K=[],Gn.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Ns));re!==r;)K.push(re),Gn.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Ns));return K!==r&&(xt=N,K=lo(K)),N=K,N}function Df(){var N,K,re;if(N=W,K=[],re=Ol(),re===r&&(ou.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(au))),re!==r)for(;re!==r;)K.push(re),re=Ol(),re===r&&(ou.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(au)));else K=r;return K!==r&&(xt=N,K=lo(K)),N=K,N}function Ol(){var N,K,re;return N=W,e.substr(W,2)===lu?(K=lu,W+=2):(K=r,yt===0&&wt(FA)),K!==r&&(xt=N,K=NA()),N=K,N===r&&(N=W,e.charCodeAt(W)===92?(K=fa,W++):(K=r,yt===0&&wt(Aa)),K!==r?(OA.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(gr)),re!==r?(xt=N,K=xo(re),N=K):(W=N,N=r)):(W=N,N=r)),N}function En(){var N,K,re;for(N=W,K=[],re=No(),re===r&&(Gn.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Ns)));re!==r;)K.push(re),re=No(),re===r&&(Gn.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Ns)));return K!==r&&(xt=N,K=lo(K)),N=K,N}function No(){var N,K,re;return N=W,e.substr(W,2)===Ga?(K=Ga,W+=2):(K=r,yt===0&&wt(Ue)),K!==r&&(xt=N,K=wr()),N=K,N===r&&(N=W,e.substr(W,2)===df?(K=df,W+=2):(K=r,yt===0&&wt(LA)),K!==r&&(xt=N,K=MA()),N=K,N===r&&(N=W,e.charCodeAt(W)===92?(K=fa,W++):(K=r,yt===0&&wt(Aa)),K!==r?(cu.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(uu)),re!==r?(xt=N,K=lc(),N=K):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===we?(K=we,W+=2):(K=r,yt===0&&wt(Nt)),K!==r&&(xt=N,K=cc()),N=K,N===r&&(N=W,e.substr(W,2)===Oi?(K=Oi,W+=2):(K=r,yt===0&&wt(co)),K!==r&&(xt=N,K=Tt()),N=K,N===r&&(N=W,e.substr(W,2)===Qn?(K=Qn,W+=2):(K=r,yt===0&&wt(pa)),K!==r&&(xt=N,K=Gi()),N=K,N===r&&(N=W,e.substr(W,2)===Li?(K=Li,W+=2):(K=r,yt===0&&wt(qa)),K!==r&&(xt=N,K=mn()),N=K,N===r&&(N=W,e.substr(W,2)===Xn?(K=Xn,W+=2):(K=r,yt===0&&wt(fu)),K!==r&&(xt=N,K=mh()),N=K,N===r&&(N=W,e.charCodeAt(W)===92?(K=fa,W++):(K=r,yt===0&&wt(Aa)),K!==r?(Wa.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Ya)),re!==r?(xt=N,K=xo(re),N=K):(W=N,N=r)):(W=N,N=r),N===r&&(N=Eu()))))))))),N}function Eu(){var N,K,re,ge,Je,pt,dr,vr,_n,yi,vs,zA;return N=W,e.charCodeAt(W)===92?(K=fa,W++):(K=r,yt===0&&wt(Aa)),K!==r?(re=ya(),re!==r?(xt=N,K=Va(re),N=K):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===$e?(K=$e,W+=2):(K=r,yt===0&&wt(Ja)),K!==r?(re=W,ge=W,Je=ya(),Je!==r?(pt=Ls(),pt!==r?(Je=[Je,pt],ge=Je):(W=ge,ge=r)):(W=ge,ge=r),ge===r&&(ge=ya()),ge!==r?re=e.substring(re,W):re=ge,re!==r?(xt=N,K=Va(re),N=K):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===mf?(K=mf,W+=2):(K=r,yt===0&&wt(uc)),K!==r?(re=W,ge=W,Je=Ls(),Je!==r?(pt=Ls(),pt!==r?(dr=Ls(),dr!==r?(vr=Ls(),vr!==r?(Je=[Je,pt,dr,vr],ge=Je):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r),ge!==r?re=e.substring(re,W):re=ge,re!==r?(xt=N,K=Va(re),N=K):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===vn?(K=vn,W+=2):(K=r,yt===0&&wt(ha)),K!==r?(re=W,ge=W,Je=Ls(),Je!==r?(pt=Ls(),pt!==r?(dr=Ls(),dr!==r?(vr=Ls(),vr!==r?(_n=Ls(),_n!==r?(yi=Ls(),yi!==r?(vs=Ls(),vs!==r?(zA=Ls(),zA!==r?(Je=[Je,pt,dr,vr,_n,yi,vs,zA],ge=Je):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r)):(W=ge,ge=r),ge!==r?re=e.substring(re,W):re=ge,re!==r?(xt=N,K=UA(re),N=K):(W=N,N=r)):(W=N,N=r)))),N}function ya(){var N;return _A.test(e.charAt(W))?(N=e.charAt(W),W++):(N=r,yt===0&&wt(ga)),N}function Ls(){var N;return kl.test(e.charAt(W))?(N=e.charAt(W),W++):(N=r,yt===0&&wt(Ut)),N}function Sh(){var N,K,re,ge,Je;if(N=W,K=[],re=W,e.charCodeAt(W)===92?(ge=fa,W++):(ge=r,yt===0&&wt(Aa)),ge!==r?(e.length>W?(Je=e.charAt(W),W++):(Je=r,yt===0&&wt(Rn)),Je!==r?(xt=re,ge=xo(Je),re=ge):(W=re,re=r)):(W=re,re=r),re===r&&(re=W,e.substr(W,2)===da?(ge=da,W+=2):(ge=r,yt===0&&wt(Ka)),ge!==r&&(xt=re,ge=is()),re=ge,re===r&&(re=W,ge=W,yt++,Je=xy(),yt--,Je===r?ge=void 0:(W=ge,ge=r),ge!==r?(e.length>W?(Je=e.charAt(W),W++):(Je=r,yt===0&&wt(Rn)),Je!==r?(xt=re,ge=xo(Je),re=ge):(W=re,re=r)):(W=re,re=r))),re!==r)for(;re!==r;)K.push(re),re=W,e.charCodeAt(W)===92?(ge=fa,W++):(ge=r,yt===0&&wt(Aa)),ge!==r?(e.length>W?(Je=e.charAt(W),W++):(Je=r,yt===0&&wt(Rn)),Je!==r?(xt=re,ge=xo(Je),re=ge):(W=re,re=r)):(W=re,re=r),re===r&&(re=W,e.substr(W,2)===da?(ge=da,W+=2):(ge=r,yt===0&&wt(Ka)),ge!==r&&(xt=re,ge=is()),re=ge,re===r&&(re=W,ge=W,yt++,Je=xy(),yt--,Je===r?ge=void 0:(W=ge,ge=r),ge!==r?(e.length>W?(Je=e.charAt(W),W++):(Je=r,yt===0&&wt(Rn)),Je!==r?(xt=re,ge=xo(Je),re=ge):(W=re,re=r)):(W=re,re=r)));else K=r;return K!==r&&(xt=N,K=lo(K)),N=K,N}function JA(){var N,K,re,ge,Je,pt;if(N=W,e.charCodeAt(W)===45?(K=fc,W++):(K=r,yt===0&&wt(Au)),K===r&&(e.charCodeAt(W)===43?(K=Ac,W++):(K=r,yt===0&&wt(za))),K===r&&(K=null),K!==r){if(re=[],ct.test(e.charAt(W))?(ge=e.charAt(W),W++):(ge=r,yt===0&&wt(Me)),ge!==r)for(;ge!==r;)re.push(ge),ct.test(e.charAt(W))?(ge=e.charAt(W),W++):(ge=r,yt===0&&wt(Me));else re=r;if(re!==r)if(e.charCodeAt(W)===46?(ge=Mi,W++):(ge=r,yt===0&&wt(Bs)),ge!==r){if(Je=[],ct.test(e.charAt(W))?(pt=e.charAt(W),W++):(pt=r,yt===0&&wt(Me)),pt!==r)for(;pt!==r;)Je.push(pt),ct.test(e.charAt(W))?(pt=e.charAt(W),W++):(pt=r,yt===0&&wt(Me));else Je=r;Je!==r?(xt=N,K=Ql(K,re,Je),N=K):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;if(N===r){if(N=W,e.charCodeAt(W)===45?(K=fc,W++):(K=r,yt===0&&wt(Au)),K===r&&(e.charCodeAt(W)===43?(K=Ac,W++):(K=r,yt===0&&wt(za))),K===r&&(K=null),K!==r){if(re=[],ct.test(e.charAt(W))?(ge=e.charAt(W),W++):(ge=r,yt===0&&wt(Me)),ge!==r)for(;ge!==r;)re.push(ge),ct.test(e.charAt(W))?(ge=e.charAt(W),W++):(ge=r,yt===0&&wt(Me));else re=r;re!==r?(xt=N,K=yf(K,re),N=K):(W=N,N=r)}else W=N,N=r;if(N===r&&(N=W,K=KA(),K!==r&&(xt=N,K=pc(K)),N=K,N===r&&(N=W,K=gc(),K!==r&&(xt=N,K=Bi(K)),N=K,N===r)))if(N=W,e.charCodeAt(W)===40?(K=Be,W++):(K=r,yt===0&&wt(me)),K!==r){for(re=[],ge=kt();ge!==r;)re.push(ge),ge=kt();if(re!==r)if(ge=uo(),ge!==r){for(Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();Je!==r?(e.charCodeAt(W)===41?(pt=ce,W++):(pt=r,yt===0&&wt(Z)),pt!==r?(xt=N,K=Tn(ge),N=K):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r}return N}function bf(){var N,K,re,ge,Je,pt,dr,vr;if(N=W,K=JA(),K!==r){for(re=[],ge=W,Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();if(Je!==r)if(e.charCodeAt(W)===42?(pt=hc,W++):(pt=r,yt===0&&wt(Ke)),pt===r&&(e.charCodeAt(W)===47?(pt=ot,W++):(pt=r,yt===0&&wt(St))),pt!==r){for(dr=[],vr=kt();vr!==r;)dr.push(vr),vr=kt();dr!==r?(vr=JA(),vr!==r?(xt=ge,Je=lr(K,pt,vr),ge=Je):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r;for(;ge!==r;){for(re.push(ge),ge=W,Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();if(Je!==r)if(e.charCodeAt(W)===42?(pt=hc,W++):(pt=r,yt===0&&wt(Ke)),pt===r&&(e.charCodeAt(W)===47?(pt=ot,W++):(pt=r,yt===0&&wt(St))),pt!==r){for(dr=[],vr=kt();vr!==r;)dr.push(vr),vr=kt();dr!==r?(vr=JA(),vr!==r?(xt=ge,Je=lr(K,pt,vr),ge=Je):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r}re!==r?(xt=N,K=ee(K,re),N=K):(W=N,N=r)}else W=N,N=r;return N}function uo(){var N,K,re,ge,Je,pt,dr,vr;if(N=W,K=bf(),K!==r){for(re=[],ge=W,Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();if(Je!==r)if(e.charCodeAt(W)===43?(pt=Ac,W++):(pt=r,yt===0&&wt(za)),pt===r&&(e.charCodeAt(W)===45?(pt=fc,W++):(pt=r,yt===0&&wt(Au))),pt!==r){for(dr=[],vr=kt();vr!==r;)dr.push(vr),vr=kt();dr!==r?(vr=bf(),vr!==r?(xt=ge,Je=ye(K,pt,vr),ge=Je):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r;for(;ge!==r;){for(re.push(ge),ge=W,Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();if(Je!==r)if(e.charCodeAt(W)===43?(pt=Ac,W++):(pt=r,yt===0&&wt(za)),pt===r&&(e.charCodeAt(W)===45?(pt=fc,W++):(pt=r,yt===0&&wt(Au))),pt!==r){for(dr=[],vr=kt();vr!==r;)dr.push(vr),vr=kt();dr!==r?(vr=bf(),vr!==r?(xt=ge,Je=ye(K,pt,vr),ge=Je):(W=ge,ge=r)):(W=ge,ge=r)}else W=ge,ge=r;else W=ge,ge=r}re!==r?(xt=N,K=ee(K,re),N=K):(W=N,N=r)}else W=N,N=r;return N}function Zr(){var N,K,re,ge,Je,pt;if(N=W,e.substr(W,3)===Oe?(K=Oe,W+=3):(K=r,yt===0&&wt(mt)),K!==r){for(re=[],ge=kt();ge!==r;)re.push(ge),ge=kt();if(re!==r)if(ge=uo(),ge!==r){for(Je=[],pt=kt();pt!==r;)Je.push(pt),pt=kt();Je!==r?(e.substr(W,2)===Et?(pt=Et,W+=2):(pt=r,yt===0&&wt(bt)),pt!==r?(xt=N,K=tr(ge),N=K):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;return N}function Dh(){var N,K,re,ge;return N=W,e.substr(W,2)===pn?(K=pn,W+=2):(K=r,yt===0&&wt(ci)),K!==r?(re=ma(),re!==r?(e.charCodeAt(W)===41?(ge=ce,W++):(ge=r,yt===0&&wt(Z)),ge!==r?(xt=N,K=qi(re),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function KA(){var N,K,re,ge,Je,pt;return N=W,e.substr(W,2)===Fn?(K=Fn,W+=2):(K=r,yt===0&&wt(Xa)),K!==r?(re=gc(),re!==r?(e.substr(W,2)===Iy?(ge=Iy,W+=2):(ge=r,yt===0&&wt(q1)),ge!==r?(Je=Os(),Je!==r?(e.charCodeAt(W)===125?(pt=_,W++):(pt=r,yt===0&&wt(tt)),pt!==r?(xt=N,K=ko(re,Je),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===Fn?(K=Fn,W+=2):(K=r,yt===0&&wt(Xa)),K!==r?(re=gc(),re!==r?(e.substr(W,3)===Cy?(ge=Cy,W+=3):(ge=r,yt===0&&wt(yh)),ge!==r?(xt=N,K=W1(re),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===Fn?(K=Fn,W+=2):(K=r,yt===0&&wt(Xa)),K!==r?(re=gc(),re!==r?(e.substr(W,2)===Qo?(ge=Qo,W+=2):(ge=r,yt===0&&wt(Eh)),ge!==r?(Je=Os(),Je!==r?(e.charCodeAt(W)===125?(pt=_,W++):(pt=r,yt===0&&wt(tt)),pt!==r?(xt=N,K=Ih(re,Je),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===Fn?(K=Fn,W+=2):(K=r,yt===0&&wt(Xa)),K!==r?(re=gc(),re!==r?(e.substr(W,3)===pu?(ge=pu,W+=3):(ge=r,yt===0&&wt(Ch)),ge!==r?(xt=N,K=Rg(re),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.substr(W,2)===Fn?(K=Fn,W+=2):(K=r,yt===0&&wt(Xa)),K!==r?(re=gc(),re!==r?(e.charCodeAt(W)===125?(ge=_,W++):(ge=r,yt===0&&wt(tt)),ge!==r?(xt=N,K=Tg(re),N=K):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,e.charCodeAt(W)===36?(K=Fg,W++):(K=r,yt===0&&wt(wy)),K!==r?(re=gc(),re!==r?(xt=N,K=Tg(re),N=K):(W=N,N=r)):(W=N,N=r)))))),N}function Py(){var N,K,re;return N=W,K=Gg(),K!==r?(xt=W,re=Ef(K),re?re=void 0:re=r,re!==r?(xt=N,K=Ro(K),N=K):(W=N,N=r)):(W=N,N=r),N}function Gg(){var N,K,re,ge,Je;if(N=W,K=[],re=W,ge=W,yt++,Je=Ph(),yt--,Je===r?ge=void 0:(W=ge,ge=r),ge!==r?(e.length>W?(Je=e.charAt(W),W++):(Je=r,yt===0&&wt(Rn)),Je!==r?(xt=re,ge=xo(Je),re=ge):(W=re,re=r)):(W=re,re=r),re!==r)for(;re!==r;)K.push(re),re=W,ge=W,yt++,Je=Ph(),yt--,Je===r?ge=void 0:(W=ge,ge=r),ge!==r?(e.length>W?(Je=e.charAt(W),W++):(Je=r,yt===0&&wt(Rn)),Je!==r?(xt=re,ge=xo(Je),re=ge):(W=re,re=r)):(W=re,re=r);else K=r;return K!==r&&(xt=N,K=lo(K)),N=K,N}function bh(){var N,K,re;if(N=W,K=[],Rl.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(wh)),re!==r)for(;re!==r;)K.push(re),Rl.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(wh));else K=r;return K!==r&&(xt=N,K=Ng()),N=K,N}function gc(){var N,K,re;if(N=W,K=[],Tl.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Fl)),re!==r)for(;re!==r;)K.push(re),Tl.test(e.charAt(W))?(re=e.charAt(W),W++):(re=r,yt===0&&wt(Fl));else K=r;return K!==r&&(xt=N,K=Ng()),N=K,N}function xy(){var N;return By.test(e.charAt(W))?(N=e.charAt(W),W++):(N=r,yt===0&&wt(HA)),N}function Ph(){var N;return vy.test(e.charAt(W))?(N=e.charAt(W),W++):(N=r,yt===0&&wt(Sy)),N}function kt(){var N,K;if(N=[],jA.test(e.charAt(W))?(K=e.charAt(W),W++):(K=r,yt===0&&wt(GA)),K!==r)for(;K!==r;)N.push(K),jA.test(e.charAt(W))?(K=e.charAt(W),W++):(K=r,yt===0&&wt(GA));else N=r;return N}if(hu=a(),hu!==r&&W===e.length)return hu;throw hu!==r&&W!1}){try{return(0,H$.parse)(e,t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function hE(e,{endSemicolon:t=!1}={}){return e.map(({command:r,type:s},a)=>`${fx(r)}${s===";"?a!==e.length-1||t?";":"":" &"}`).join(" ")}function fx(e){return`${gE(e.chain)}${e.then?` ${DU(e.then)}`:""}`}function DU(e){return`${e.type} ${fx(e.line)}`}function gE(e){return`${PU(e)}${e.then?` ${bU(e.then)}`:""}`}function bU(e){return`${e.type} ${gE(e.chain)}`}function PU(e){switch(e.type){case"command":return`${e.envs.length>0?`${e.envs.map(t=>cx(t)).join(" ")} `:""}${e.args.map(t=>xU(t)).join(" ")}`;case"subshell":return`(${hE(e.subshell)})${e.args.length>0?` ${e.args.map(t=>T2(t)).join(" ")}`:""}`;case"group":return`{ ${hE(e.group,{endSemicolon:!0})} }${e.args.length>0?` ${e.args.map(t=>T2(t)).join(" ")}`:""}`;case"envs":return e.envs.map(t=>cx(t)).join(" ");default:throw new Error(`Unsupported command type: "${e.type}"`)}}function cx(e){return`${e.name}=${e.args[0]?wd(e.args[0]):""}`}function xU(e){switch(e.type){case"redirection":return T2(e);case"argument":return wd(e);default:throw new Error(`Unsupported argument type: "${e.type}"`)}}function T2(e){return`${e.subtype} ${e.args.map(t=>wd(t)).join(" ")}`}function wd(e){return e.segments.map(t=>kU(t)).join("")}function kU(e){let t=(s,a)=>a?`"${s}"`:s,r=s=>s===""?"''":s.match(/[()}<>$|&;"'\n\t ]/)?s.match(/['\t\p{C}]/u)?s.match(/'/)?`"${s.replace(/["$\t\p{C}]/u,P6e)}"`:`$'${s.replace(/[\t\p{C}]/u,G$)}'`:`'${s}'`:s;switch(e.type){case"text":return r(e.text);case"glob":return e.pattern;case"shell":return t(`$(${hE(e.shell)})`,e.quoted);case"variable":return t(typeof e.defaultValue>"u"?typeof e.alternativeValue>"u"?`\${${e.name}}`:e.alternativeValue.length===0?`\${${e.name}:+}`:`\${${e.name}:+${e.alternativeValue.map(s=>wd(s)).join(" ")}}`:e.defaultValue.length===0?`\${${e.name}:-}`:`\${${e.name}:-${e.defaultValue.map(s=>wd(s)).join(" ")}}`,e.quoted);case"arithmetic":return`$(( ${Ax(e.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${e.type}"`)}}function Ax(e){let t=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,s=a=>r(Ax(a),!["number","variable"].includes(a.type));switch(e.type){case"number":return String(e.value);case"variable":return e.name;default:return`${s(e.left)} ${t(e.type)} ${s(e.right)}`}}var H$,j$,b6e,G$,P6e,q$=Xe(()=>{H$=et(_$());j$=new Map([["\f","\\f"],[` +`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),b6e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(j$,([e,t])=>[e,`"$'${t}'"`])]),G$=e=>j$.get(e)??`\\x${e.charCodeAt(0).toString(16).padStart(2,"0")}`,P6e=e=>b6e.get(e)??`"$'${G$(e)}'"`});var Y$=G((IPt,W$)=>{"use strict";function x6e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Bd(e,t,r,s){this.message=e,this.expected=t,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Bd)}x6e(Bd,Error);Bd.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;Cue&&(ue=V,ae=[]),ae.push(Me))}function tt(Me,P){return new Bd(Me,null,null,P)}function Ne(Me,P,w){return new Bd(Bd.buildMessage(Me,P),Me,P,w)}function ke(){var Me,P,w,b;return Me=V,P=be(),P!==r?(e.charCodeAt(V)===47?(w=n,V++):(w=r,de===0&&_(c)),w!==r?(b=be(),b!==r?(te=Me,P=f(P,b),Me=P):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r),Me===r&&(Me=V,P=be(),P!==r&&(te=Me,P=p(P)),Me=P),Me}function be(){var Me,P,w,b;return Me=V,P=je(),P!==r?(e.charCodeAt(V)===64?(w=h,V++):(w=r,de===0&&_(E)),w!==r?(b=ct(),b!==r?(te=Me,P=C(P,b),Me=P):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r),Me===r&&(Me=V,P=je(),P!==r&&(te=Me,P=S(P)),Me=P),Me}function je(){var Me,P,w,b,y;return Me=V,e.charCodeAt(V)===64?(P=h,V++):(P=r,de===0&&_(E)),P!==r?(w=Re(),w!==r?(e.charCodeAt(V)===47?(b=n,V++):(b=r,de===0&&_(c)),b!==r?(y=Re(),y!==r?(te=Me,P=x(),Me=P):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r)):(V=Me,Me=r),Me===r&&(Me=V,P=Re(),P!==r&&(te=Me,P=x()),Me=P),Me}function Re(){var Me,P,w;if(Me=V,P=[],I.test(e.charAt(V))?(w=e.charAt(V),V++):(w=r,de===0&&_(T)),w!==r)for(;w!==r;)P.push(w),I.test(e.charAt(V))?(w=e.charAt(V),V++):(w=r,de===0&&_(T));else P=r;return P!==r&&(te=Me,P=x()),Me=P,Me}function ct(){var Me,P,w;if(Me=V,P=[],O.test(e.charAt(V))?(w=e.charAt(V),V++):(w=r,de===0&&_(U)),w!==r)for(;w!==r;)P.push(w),O.test(e.charAt(V))?(w=e.charAt(V),V++):(w=r,de===0&&_(U));else P=r;return P!==r&&(te=Me,P=x()),Me=P,Me}if(Ae=a(),Ae!==r&&V===e.length)return Ae;throw Ae!==r&&V{V$=et(Y$())});var Sd=G((wPt,vd)=>{"use strict";function K$(e){return typeof e>"u"||e===null}function Q6e(e){return typeof e=="object"&&e!==null}function R6e(e){return Array.isArray(e)?e:K$(e)?[]:[e]}function T6e(e,t){var r,s,a,n;if(t)for(n=Object.keys(t),r=0,s=n.length;r{"use strict";function F2(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}F2.prototype=Object.create(Error.prototype);F2.prototype.constructor=F2;F2.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r};z$.exports=F2});var $$=G((vPt,Z$)=>{"use strict";var X$=Sd();function QU(e,t,r,s,a){this.name=e,this.buffer=t,this.position=r,this.line=s,this.column=a}QU.prototype.getSnippet=function(t,r){var s,a,n,c,f;if(!this.buffer)return null;for(t=t||4,r=r||75,s="",a=this.position;a>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){s=" ... ",a+=5;break}for(n="",c=this.position;cr/2-1){n=" ... ",c-=5;break}return f=this.buffer.slice(a,c),X$.repeat(" ",t)+s+f+n+` +`+X$.repeat(" ",t+this.position-a+s.length)+"^"};QU.prototype.toString=function(t){var r,s="";return this.name&&(s+='in "'+this.name+'" '),s+="at line "+(this.line+1)+", column "+(this.column+1),t||(r=this.getSnippet(),r&&(s+=`: +`+r)),s};Z$.exports=QU});var Ps=G((SPt,tee)=>{"use strict";var eee=dE(),O6e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],L6e=["scalar","sequence","mapping"];function M6e(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(s){t[String(s)]=r})}),t}function U6e(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(O6e.indexOf(r)===-1)throw new eee('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=M6e(t.styleAliases||null),L6e.indexOf(this.kind)===-1)throw new eee('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}tee.exports=U6e});var Dd=G((DPt,nee)=>{"use strict";var ree=Sd(),gx=dE(),_6e=Ps();function RU(e,t,r){var s=[];return e.include.forEach(function(a){r=RU(a,t,r)}),e[t].forEach(function(a){r.forEach(function(n,c){n.tag===a.tag&&n.kind===a.kind&&s.push(c)}),r.push(a)}),r.filter(function(a,n){return s.indexOf(n)===-1})}function H6e(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function s(a){e[a.kind][a.tag]=e.fallback[a.tag]=a}for(t=0,r=arguments.length;t{"use strict";var j6e=Ps();iee.exports=new j6e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})});var aee=G((PPt,oee)=>{"use strict";var G6e=Ps();oee.exports=new G6e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})});var cee=G((xPt,lee)=>{"use strict";var q6e=Ps();lee.exports=new q6e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})});var dx=G((kPt,uee)=>{"use strict";var W6e=Dd();uee.exports=new W6e({explicit:[see(),aee(),cee()]})});var Aee=G((QPt,fee)=>{"use strict";var Y6e=Ps();function V6e(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function J6e(){return null}function K6e(e){return e===null}fee.exports=new Y6e("tag:yaml.org,2002:null",{kind:"scalar",resolve:V6e,construct:J6e,predicate:K6e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var hee=G((RPt,pee)=>{"use strict";var z6e=Ps();function X6e(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function Z6e(e){return e==="true"||e==="True"||e==="TRUE"}function $6e(e){return Object.prototype.toString.call(e)==="[object Boolean]"}pee.exports=new z6e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:X6e,construct:Z6e,predicate:$6e,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})});var dee=G((TPt,gee)=>{"use strict";var eGe=Sd(),tGe=Ps();function rGe(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function nGe(e){return 48<=e&&e<=55}function iGe(e){return 48<=e&&e<=57}function sGe(e){if(e===null)return!1;var t=e.length,r=0,s=!1,a;if(!t)return!1;if(a=e[r],(a==="-"||a==="+")&&(a=e[++r]),a==="0"){if(r+1===t)return!0;if(a=e[++r],a==="b"){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var Eee=G((FPt,yee)=>{"use strict";var mee=Sd(),lGe=Ps(),cGe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function uGe(e){return!(e===null||!cGe.test(e)||e[e.length-1]==="_")}function fGe(e){var t,r,s,a;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,a=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:t.indexOf(":")>=0?(t.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),t=0,s=1,a.forEach(function(n){t+=n*s,s*=60}),r*t):r*parseFloat(t,10)}var AGe=/^[-+]?[0-9]+e/;function pGe(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(mee.isNegativeZero(e))return"-0.0";return r=e.toString(10),AGe.test(r)?r.replace("e",".e"):r}function hGe(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||mee.isNegativeZero(e))}yee.exports=new lGe("tag:yaml.org,2002:float",{kind:"scalar",resolve:uGe,construct:fGe,predicate:hGe,represent:pGe,defaultStyle:"lowercase"})});var TU=G((NPt,Iee)=>{"use strict";var gGe=Dd();Iee.exports=new gGe({include:[dx()],implicit:[Aee(),hee(),dee(),Eee()]})});var FU=G((OPt,Cee)=>{"use strict";var dGe=Dd();Cee.exports=new dGe({include:[TU()]})});var See=G((LPt,vee)=>{"use strict";var mGe=Ps(),wee=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Bee=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function yGe(e){return e===null?!1:wee.exec(e)!==null||Bee.exec(e)!==null}function EGe(e){var t,r,s,a,n,c,f,p=0,h=null,E,C,S;if(t=wee.exec(e),t===null&&(t=Bee.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],s=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(r,s,a));if(n=+t[4],c=+t[5],f=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+="0";p=+p}return t[9]&&(E=+t[10],C=+(t[11]||0),h=(E*60+C)*6e4,t[9]==="-"&&(h=-h)),S=new Date(Date.UTC(r,s,a,n,c,f,p)),h&&S.setTime(S.getTime()-h),S}function IGe(e){return e.toISOString()}vee.exports=new mGe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:yGe,construct:EGe,instanceOf:Date,represent:IGe})});var bee=G((MPt,Dee)=>{"use strict";var CGe=Ps();function wGe(e){return e==="<<"||e===null}Dee.exports=new CGe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:wGe})});var kee=G((UPt,xee)=>{"use strict";var bd;try{Pee=Ie,bd=Pee("buffer").Buffer}catch{}var Pee,BGe=Ps(),NU=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function vGe(e){if(e===null)return!1;var t,r,s=0,a=e.length,n=NU;for(r=0;r64)){if(t<0)return!1;s+=6}return s%8===0}function SGe(e){var t,r,s=e.replace(/[\r\n=]/g,""),a=s.length,n=NU,c=0,f=[];for(t=0;t>16&255),f.push(c>>8&255),f.push(c&255)),c=c<<6|n.indexOf(s.charAt(t));return r=a%4*6,r===0?(f.push(c>>16&255),f.push(c>>8&255),f.push(c&255)):r===18?(f.push(c>>10&255),f.push(c>>2&255)):r===12&&f.push(c>>4&255),bd?bd.from?bd.from(f):new bd(f):f}function DGe(e){var t="",r=0,s,a,n=e.length,c=NU;for(s=0;s>18&63],t+=c[r>>12&63],t+=c[r>>6&63],t+=c[r&63]),r=(r<<8)+e[s];return a=n%3,a===0?(t+=c[r>>18&63],t+=c[r>>12&63],t+=c[r>>6&63],t+=c[r&63]):a===2?(t+=c[r>>10&63],t+=c[r>>4&63],t+=c[r<<2&63],t+=c[64]):a===1&&(t+=c[r>>2&63],t+=c[r<<4&63],t+=c[64],t+=c[64]),t}function bGe(e){return bd&&bd.isBuffer(e)}xee.exports=new BGe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:vGe,construct:SGe,predicate:bGe,represent:DGe})});var Ree=G((HPt,Qee)=>{"use strict";var PGe=Ps(),xGe=Object.prototype.hasOwnProperty,kGe=Object.prototype.toString;function QGe(e){if(e===null)return!0;var t=[],r,s,a,n,c,f=e;for(r=0,s=f.length;r{"use strict";var TGe=Ps(),FGe=Object.prototype.toString;function NGe(e){if(e===null)return!0;var t,r,s,a,n,c=e;for(n=new Array(c.length),t=0,r=c.length;t{"use strict";var LGe=Ps(),MGe=Object.prototype.hasOwnProperty;function UGe(e){if(e===null)return!0;var t,r=e;for(t in r)if(MGe.call(r,t)&&r[t]!==null)return!1;return!0}function _Ge(e){return e!==null?e:{}}Nee.exports=new LGe("tag:yaml.org,2002:set",{kind:"mapping",resolve:UGe,construct:_Ge})});var yE=G((qPt,Lee)=>{"use strict";var HGe=Dd();Lee.exports=new HGe({include:[FU()],implicit:[See(),bee()],explicit:[kee(),Ree(),Fee(),Oee()]})});var Uee=G((WPt,Mee)=>{"use strict";var jGe=Ps();function GGe(){return!0}function qGe(){}function WGe(){return""}function YGe(e){return typeof e>"u"}Mee.exports=new jGe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:GGe,construct:qGe,predicate:YGe,represent:WGe})});var Hee=G((YPt,_ee)=>{"use strict";var VGe=Ps();function JGe(e){if(e===null||e.length===0)return!1;var t=e,r=/\/([gim]*)$/.exec(e),s="";return!(t[0]==="/"&&(r&&(s=r[1]),s.length>3||t[t.length-s.length-1]!=="/"))}function KGe(e){var t=e,r=/\/([gim]*)$/.exec(e),s="";return t[0]==="/"&&(r&&(s=r[1]),t=t.slice(1,t.length-s.length-1)),new RegExp(t,s)}function zGe(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function XGe(e){return Object.prototype.toString.call(e)==="[object RegExp]"}_ee.exports=new VGe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:JGe,construct:KGe,predicate:XGe,represent:zGe})});var qee=G((VPt,Gee)=>{"use strict";var mx;try{jee=Ie,mx=jee("esprima")}catch{typeof window<"u"&&(mx=window.esprima)}var jee,ZGe=Ps();function $Ge(e){if(e===null)return!1;try{var t="("+e+")",r=mx.parse(t,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function e5e(e){var t="("+e+")",r=mx.parse(t,{range:!0}),s=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){s.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(s,t.slice(a[0]+1,a[1]-1)):new Function(s,"return "+t.slice(a[0],a[1]))}function t5e(e){return e.toString()}function r5e(e){return Object.prototype.toString.call(e)==="[object Function]"}Gee.exports=new ZGe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:$Ge,construct:e5e,predicate:r5e,represent:t5e})});var N2=G((KPt,Yee)=>{"use strict";var Wee=Dd();Yee.exports=Wee.DEFAULT=new Wee({include:[yE()],explicit:[Uee(),Hee(),qee()]})});var fte=G((zPt,O2)=>{"use strict";var wp=Sd(),$ee=dE(),n5e=$$(),ete=yE(),i5e=N2(),n0=Object.prototype.hasOwnProperty,yx=1,tte=2,rte=3,Ex=4,OU=1,s5e=2,Vee=3,o5e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,a5e=/[\x85\u2028\u2029]/,l5e=/[,\[\]\{\}]/,nte=/^(?:!|!!|![a-z\-]+!)$/i,ite=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Jee(e){return Object.prototype.toString.call(e)}function Wf(e){return e===10||e===13}function xd(e){return e===9||e===32}function ul(e){return e===9||e===32||e===10||e===13}function EE(e){return e===44||e===91||e===93||e===123||e===125}function c5e(e){var t;return 48<=e&&e<=57?e-48:(t=e|32,97<=t&&t<=102?t-97+10:-1)}function u5e(e){return e===120?2:e===117?4:e===85?8:0}function f5e(e){return 48<=e&&e<=57?e-48:-1}function Kee(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?` +`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function A5e(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var ste=new Array(256),ote=new Array(256);for(Pd=0;Pd<256;Pd++)ste[Pd]=Kee(Pd)?1:0,ote[Pd]=Kee(Pd);var Pd;function p5e(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||i5e,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function ate(e,t){return new $ee(t,new n5e(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function Fr(e,t){throw ate(e,t)}function Ix(e,t){e.onWarning&&e.onWarning.call(null,ate(e,t))}var zee={YAML:function(t,r,s){var a,n,c;t.version!==null&&Fr(t,"duplication of %YAML directive"),s.length!==1&&Fr(t,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(s[0]),a===null&&Fr(t,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),c=parseInt(a[2],10),n!==1&&Fr(t,"unacceptable YAML version of the document"),t.version=s[0],t.checkLineBreaks=c<2,c!==1&&c!==2&&Ix(t,"unsupported YAML version of the document")},TAG:function(t,r,s){var a,n;s.length!==2&&Fr(t,"TAG directive accepts exactly two arguments"),a=s[0],n=s[1],nte.test(a)||Fr(t,"ill-formed tag handle (first argument) of the TAG directive"),n0.call(t.tagMap,a)&&Fr(t,'there is a previously declared suffix for "'+a+'" tag handle'),ite.test(n)||Fr(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[a]=n}};function r0(e,t,r,s){var a,n,c,f;if(t1&&(e.result+=wp.repeat(` +`,t-1))}function h5e(e,t,r){var s,a,n,c,f,p,h,E,C=e.kind,S=e.result,x;if(x=e.input.charCodeAt(e.position),ul(x)||EE(x)||x===35||x===38||x===42||x===33||x===124||x===62||x===39||x===34||x===37||x===64||x===96||(x===63||x===45)&&(a=e.input.charCodeAt(e.position+1),ul(a)||r&&EE(a)))return!1;for(e.kind="scalar",e.result="",n=c=e.position,f=!1;x!==0;){if(x===58){if(a=e.input.charCodeAt(e.position+1),ul(a)||r&&EE(a))break}else if(x===35){if(s=e.input.charCodeAt(e.position-1),ul(s))break}else{if(e.position===e.lineStart&&Cx(e)||r&&EE(x))break;if(Wf(x))if(p=e.line,h=e.lineStart,E=e.lineIndent,ls(e,!1,-1),e.lineIndent>=t){f=!0,x=e.input.charCodeAt(e.position);continue}else{e.position=c,e.line=p,e.lineStart=h,e.lineIndent=E;break}}f&&(r0(e,n,c,!1),MU(e,e.line-p),n=c=e.position,f=!1),xd(x)||(c=e.position+1),x=e.input.charCodeAt(++e.position)}return r0(e,n,c,!1),e.result?!0:(e.kind=C,e.result=S,!1)}function g5e(e,t){var r,s,a;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,s=a=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(r0(e,s,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)s=e.position,e.position++,a=e.position;else return!0;else Wf(r)?(r0(e,s,a,!0),MU(e,ls(e,!1,t)),s=a=e.position):e.position===e.lineStart&&Cx(e)?Fr(e,"unexpected end of the document within a single quoted scalar"):(e.position++,a=e.position);Fr(e,"unexpected end of the stream within a single quoted scalar")}function d5e(e,t){var r,s,a,n,c,f;if(f=e.input.charCodeAt(e.position),f!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=s=e.position;(f=e.input.charCodeAt(e.position))!==0;){if(f===34)return r0(e,r,e.position,!0),e.position++,!0;if(f===92){if(r0(e,r,e.position,!0),f=e.input.charCodeAt(++e.position),Wf(f))ls(e,!1,t);else if(f<256&&ste[f])e.result+=ote[f],e.position++;else if((c=u5e(f))>0){for(a=c,n=0;a>0;a--)f=e.input.charCodeAt(++e.position),(c=c5e(f))>=0?n=(n<<4)+c:Fr(e,"expected hexadecimal character");e.result+=A5e(n),e.position++}else Fr(e,"unknown escape sequence");r=s=e.position}else Wf(f)?(r0(e,r,s,!0),MU(e,ls(e,!1,t)),r=s=e.position):e.position===e.lineStart&&Cx(e)?Fr(e,"unexpected end of the document within a double quoted scalar"):(e.position++,s=e.position)}Fr(e,"unexpected end of the stream within a double quoted scalar")}function m5e(e,t){var r=!0,s,a=e.tag,n,c=e.anchor,f,p,h,E,C,S={},x,I,T,O;if(O=e.input.charCodeAt(e.position),O===91)p=93,C=!1,n=[];else if(O===123)p=125,C=!0,n={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=n),O=e.input.charCodeAt(++e.position);O!==0;){if(ls(e,!0,t),O=e.input.charCodeAt(e.position),O===p)return e.position++,e.tag=a,e.anchor=c,e.kind=C?"mapping":"sequence",e.result=n,!0;r||Fr(e,"missed comma between flow collection entries"),I=x=T=null,h=E=!1,O===63&&(f=e.input.charCodeAt(e.position+1),ul(f)&&(h=E=!0,e.position++,ls(e,!0,t))),s=e.line,CE(e,t,yx,!1,!0),I=e.tag,x=e.result,ls(e,!0,t),O=e.input.charCodeAt(e.position),(E||e.line===s)&&O===58&&(h=!0,O=e.input.charCodeAt(++e.position),ls(e,!0,t),CE(e,t,yx,!1,!0),T=e.result),C?IE(e,n,S,I,x,T):h?n.push(IE(e,null,S,I,x,T)):n.push(x),ls(e,!0,t),O=e.input.charCodeAt(e.position),O===44?(r=!0,O=e.input.charCodeAt(++e.position)):r=!1}Fr(e,"unexpected end of the stream within a flow collection")}function y5e(e,t){var r,s,a=OU,n=!1,c=!1,f=t,p=0,h=!1,E,C;if(C=e.input.charCodeAt(e.position),C===124)s=!1;else if(C===62)s=!0;else return!1;for(e.kind="scalar",e.result="";C!==0;)if(C=e.input.charCodeAt(++e.position),C===43||C===45)OU===a?a=C===43?Vee:s5e:Fr(e,"repeat of a chomping mode identifier");else if((E=f5e(C))>=0)E===0?Fr(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?Fr(e,"repeat of an indentation width identifier"):(f=t+E-1,c=!0);else break;if(xd(C)){do C=e.input.charCodeAt(++e.position);while(xd(C));if(C===35)do C=e.input.charCodeAt(++e.position);while(!Wf(C)&&C!==0)}for(;C!==0;){for(LU(e),e.lineIndent=0,C=e.input.charCodeAt(e.position);(!c||e.lineIndentf&&(f=e.lineIndent),Wf(C)){p++;continue}if(e.lineIndentt)&&p!==0)Fr(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(CE(e,t,Ex,!0,a)&&(I?S=e.result:x=e.result),I||(IE(e,h,E,C,S,x,n,c),C=S=x=null),ls(e,!0,-1),O=e.input.charCodeAt(e.position)),e.lineIndent>t&&O!==0)Fr(e,"bad indentation of a mapping entry");else if(e.lineIndentt?p=1:e.lineIndent===t?p=0:e.lineIndentt?p=1:e.lineIndent===t?p=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),C=0,S=e.implicitTypes.length;C tag; it should be "'+x.kind+'", not "'+e.kind+'"'),x.resolve(e.result)?(e.result=x.construct(e.result),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Fr(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):Fr(e,"unknown tag !<"+e.tag+">");return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||E}function B5e(e){var t=e.position,r,s,a,n=!1,c;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};(c=e.input.charCodeAt(e.position))!==0&&(ls(e,!0,-1),c=e.input.charCodeAt(e.position),!(e.lineIndent>0||c!==37));){for(n=!0,c=e.input.charCodeAt(++e.position),r=e.position;c!==0&&!ul(c);)c=e.input.charCodeAt(++e.position);for(s=e.input.slice(r,e.position),a=[],s.length<1&&Fr(e,"directive name must not be less than one character in length");c!==0;){for(;xd(c);)c=e.input.charCodeAt(++e.position);if(c===35){do c=e.input.charCodeAt(++e.position);while(c!==0&&!Wf(c));break}if(Wf(c))break;for(r=e.position;c!==0&&!ul(c);)c=e.input.charCodeAt(++e.position);a.push(e.input.slice(r,e.position))}c!==0&&LU(e),n0.call(zee,s)?zee[s](e,s,a):Ix(e,'unknown document directive "'+s+'"')}if(ls(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,ls(e,!0,-1)):n&&Fr(e,"directives end mark is expected"),CE(e,e.lineIndent-1,Ex,!1,!0),ls(e,!0,-1),e.checkLineBreaks&&a5e.test(e.input.slice(t,e.position))&&Ix(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&Cx(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,ls(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var s=lte(e,r);if(typeof t!="function")return s;for(var a=0,n=s.length;a"u"&&(r=t,t=null),cte(e,t,wp.extend({schema:ete},r))}function S5e(e,t){return ute(e,wp.extend({schema:ete},t))}O2.exports.loadAll=cte;O2.exports.load=ute;O2.exports.safeLoadAll=v5e;O2.exports.safeLoad=S5e});var Fte=G((XPt,jU)=>{"use strict";var M2=Sd(),U2=dE(),D5e=N2(),b5e=yE(),Ete=Object.prototype.toString,Ite=Object.prototype.hasOwnProperty,P5e=9,L2=10,x5e=13,k5e=32,Q5e=33,R5e=34,Cte=35,T5e=37,F5e=38,N5e=39,O5e=42,wte=44,L5e=45,Bte=58,M5e=61,U5e=62,_5e=63,H5e=64,vte=91,Ste=93,j5e=96,Dte=123,G5e=124,bte=125,Yo={};Yo[0]="\\0";Yo[7]="\\a";Yo[8]="\\b";Yo[9]="\\t";Yo[10]="\\n";Yo[11]="\\v";Yo[12]="\\f";Yo[13]="\\r";Yo[27]="\\e";Yo[34]='\\"';Yo[92]="\\\\";Yo[133]="\\N";Yo[160]="\\_";Yo[8232]="\\L";Yo[8233]="\\P";var q5e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function W5e(e,t){var r,s,a,n,c,f,p;if(t===null)return{};for(r={},s=Object.keys(t),a=0,n=s.length;a0?e.charCodeAt(n-1):null,S=S&&hte(c,f)}else{for(n=0;ns&&e[C+1]!==" ",C=n);else if(!wE(c))return wx;f=n>0?e.charCodeAt(n-1):null,S=S&&hte(c,f)}h=h||E&&n-C-1>s&&e[C+1]!==" "}return!p&&!h?S&&!a(e)?xte:kte:r>9&&Pte(e)?wx:h?Rte:Qte}function X5e(e,t,r,s){e.dump=function(){if(t.length===0)return"''";if(!e.noCompatMode&&q5e.indexOf(t)!==-1)return"'"+t+"'";var a=e.indent*Math.max(1,r),n=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),c=s||e.flowLevel>-1&&r>=e.flowLevel;function f(p){return V5e(e,p)}switch(z5e(t,c,e.indent,n,f)){case xte:return t;case kte:return"'"+t.replace(/'/g,"''")+"'";case Qte:return"|"+gte(t,e.indent)+dte(pte(t,a));case Rte:return">"+gte(t,e.indent)+dte(pte(Z5e(t,n),a));case wx:return'"'+$5e(t,n)+'"';default:throw new U2("impossible error: invalid scalar style")}}()}function gte(e,t){var r=Pte(e)?String(t):"",s=e[e.length-1]===` +`,a=s&&(e[e.length-2]===` +`||e===` +`),n=a?"+":s?"":"-";return r+n+` +`}function dte(e){return e[e.length-1]===` +`?e.slice(0,-1):e}function Z5e(e,t){for(var r=/(\n+)([^\n]*)/g,s=function(){var h=e.indexOf(` +`);return h=h!==-1?h:e.length,r.lastIndex=h,mte(e.slice(0,h),t)}(),a=e[0]===` +`||e[0]===" ",n,c;c=r.exec(e);){var f=c[1],p=c[2];n=p[0]===" ",s+=f+(!a&&!n&&p!==""?` +`:"")+mte(p,t),a=n}return s}function mte(e,t){if(e===""||e[0]===" ")return e;for(var r=/ [^ ]/g,s,a=0,n,c=0,f=0,p="";s=r.exec(e);)f=s.index,f-a>t&&(n=c>a?c:f,p+=` +`+e.slice(a,n),a=n+1),c=f;return p+=` +`,e.length-a>t&&c>a?p+=e.slice(a,c)+` +`+e.slice(c+1):p+=e.slice(a),p.slice(1)}function $5e(e){for(var t="",r,s,a,n=0;n=55296&&r<=56319&&(s=e.charCodeAt(n+1),s>=56320&&s<=57343)){t+=Ate((r-55296)*1024+s-56320+65536),n++;continue}a=Yo[r],t+=!a&&wE(r)?e[n]:a||Ate(r)}return t}function e9e(e,t,r){var s="",a=e.tag,n,c;for(n=0,c=r.length;n1024&&(E+="? "),E+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),kd(e,t,h,!1,!1)&&(E+=e.dump,s+=E));e.tag=a,e.dump="{"+s+"}"}function n9e(e,t,r,s){var a="",n=e.tag,c=Object.keys(r),f,p,h,E,C,S;if(e.sortKeys===!0)c.sort();else if(typeof e.sortKeys=="function")c.sort(e.sortKeys);else if(e.sortKeys)throw new U2("sortKeys must be a boolean or a function");for(f=0,p=c.length;f1024,C&&(e.dump&&L2===e.dump.charCodeAt(0)?S+="?":S+="? "),S+=e.dump,C&&(S+=UU(e,t)),kd(e,t+1,E,!0,C)&&(e.dump&&L2===e.dump.charCodeAt(0)?S+=":":S+=": ",S+=e.dump,a+=S));e.tag=n,e.dump=a||"{}"}function yte(e,t,r){var s,a,n,c,f,p;for(a=r?e.explicitTypes:e.implicitTypes,n=0,c=a.length;n tag resolver accepts not "'+p+'" style');e.dump=s}return!0}return!1}function kd(e,t,r,s,a,n){e.tag=null,e.dump=r,yte(e,r,!1)||yte(e,r,!0);var c=Ete.call(e.dump);s&&(s=e.flowLevel<0||e.flowLevel>t);var f=c==="[object Object]"||c==="[object Array]",p,h;if(f&&(p=e.duplicates.indexOf(r),h=p!==-1),(e.tag!==null&&e.tag!=="?"||h||e.indent!==2&&t>0)&&(a=!1),h&&e.usedDuplicates[p])e.dump="*ref_"+p;else{if(f&&h&&!e.usedDuplicates[p]&&(e.usedDuplicates[p]=!0),c==="[object Object]")s&&Object.keys(e.dump).length!==0?(n9e(e,t,e.dump,a),h&&(e.dump="&ref_"+p+e.dump)):(r9e(e,t,e.dump),h&&(e.dump="&ref_"+p+" "+e.dump));else if(c==="[object Array]"){var E=e.noArrayIndent&&t>0?t-1:t;s&&e.dump.length!==0?(t9e(e,E,e.dump,a),h&&(e.dump="&ref_"+p+e.dump)):(e9e(e,E,e.dump),h&&(e.dump="&ref_"+p+" "+e.dump))}else if(c==="[object String]")e.tag!=="?"&&X5e(e,e.dump,t,n);else{if(e.skipInvalid)return!1;throw new U2("unacceptable kind of an object to dump "+c)}e.tag!==null&&e.tag!=="?"&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function i9e(e,t){var r=[],s=[],a,n;for(_U(e,r,s),a=0,n=s.length;a{"use strict";var Bx=fte(),Nte=Fte();function vx(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}Wi.exports.Type=Ps();Wi.exports.Schema=Dd();Wi.exports.FAILSAFE_SCHEMA=dx();Wi.exports.JSON_SCHEMA=TU();Wi.exports.CORE_SCHEMA=FU();Wi.exports.DEFAULT_SAFE_SCHEMA=yE();Wi.exports.DEFAULT_FULL_SCHEMA=N2();Wi.exports.load=Bx.load;Wi.exports.loadAll=Bx.loadAll;Wi.exports.safeLoad=Bx.safeLoad;Wi.exports.safeLoadAll=Bx.safeLoadAll;Wi.exports.dump=Nte.dump;Wi.exports.safeDump=Nte.safeDump;Wi.exports.YAMLException=dE();Wi.exports.MINIMAL_SCHEMA=dx();Wi.exports.SAFE_SCHEMA=yE();Wi.exports.DEFAULT_SCHEMA=N2();Wi.exports.scan=vx("scan");Wi.exports.parse=vx("parse");Wi.exports.compose=vx("compose");Wi.exports.addConstructor=vx("addConstructor")});var Mte=G(($Pt,Lte)=>{"use strict";var o9e=Ote();Lte.exports=o9e});var _te=G((ext,Ute)=>{"use strict";function a9e(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function Qd(e,t,r,s){this.message=e,this.expected=t,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Qd)}a9e(Qd,Error);Qd.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;C({[mt]:Oe})))},ue=function(ee){return ee},ae=function(ee){return ee},de=Wa("correct indentation"),Ae=" ",Ce=mn(" ",!1),Ee=function(ee){return ee.length===lr*St},g=function(ee){return ee.length===(lr+1)*St},Se=function(){return lr++,!0},Be=function(){return lr--,!0},me=function(){return pa()},ce=Wa("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,De=Xn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Qe=/^[^\r\n\t ,\][{}:#"']/,st=Xn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),_=function(){return pa().replace(/^ *| *$/g,"")},tt="--",Ne=mn("--",!1),ke=/^[a-zA-Z\/0-9]/,be=Xn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),je=/^[^\r\n\t :,]/,Re=Xn(["\r",` +`," "," ",":",","],!0,!1),ct="null",Me=mn("null",!1),P=function(){return null},w="true",b=mn("true",!1),y=function(){return!0},F="false",z=mn("false",!1),X=function(){return!1},$=Wa("string"),se='"',xe=mn('"',!1),Fe=function(){return""},ut=function(ee){return ee},Ct=function(ee){return ee.join("")},qt=/^[^"\\\0-\x1F\x7F]/,ir=Xn(['"',"\\",["\0",""],"\x7F"],!0,!1),Pt='\\"',dn=mn('\\"',!1),Pr=function(){return'"'},Cr="\\\\",Or=mn("\\\\",!1),on=function(){return"\\"},li="\\/",Do=mn("\\/",!1),ns=function(){return"/"},so="\\b",bo=mn("\\b",!1),ji=function(){return"\b"},oo="\\f",Po=mn("\\f",!1),TA=function(){return"\f"},gf="\\n",gh=mn("\\n",!1),dh=function(){return` +`},ao="\\r",Gn=mn("\\r",!1),Ns=function(){return"\r"},lo="\\t",ou=mn("\\t",!1),au=function(){return" "},lu="\\u",FA=mn("\\u",!1),NA=function(ee,ye,Oe,mt){return String.fromCharCode(parseInt(`0x${ee}${ye}${Oe}${mt}`))},fa=/^[0-9a-fA-F]/,Aa=Xn([["0","9"],["a","f"],["A","F"]],!1,!1),OA=Wa("blank space"),gr=/^[ \t]/,xo=Xn([" "," "],!1,!1),Ga=Wa("white space"),Ue=/^[ \t\n\r]/,wr=Xn([" "," ",` +`,"\r"],!1,!1),df=`\r +`,LA=mn(`\r +`,!1),MA=` +`,cu=mn(` +`,!1),uu="\r",lc=mn("\r",!1),we=0,Nt=0,cc=[{line:1,column:1}],Oi=0,co=[],Tt=0,Qn;if("startRule"in t){if(!(t.startRule in s))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=s[t.startRule]}function pa(){return e.substring(Nt,we)}function Gi(){return Va(Nt,we)}function Li(ee,ye){throw ye=ye!==void 0?ye:Va(Nt,we),mf([Wa(ee)],e.substring(Nt,we),ye)}function qa(ee,ye){throw ye=ye!==void 0?ye:Va(Nt,we),Ja(ee,ye)}function mn(ee,ye){return{type:"literal",text:ee,ignoreCase:ye}}function Xn(ee,ye,Oe){return{type:"class",parts:ee,inverted:ye,ignoreCase:Oe}}function fu(){return{type:"any"}}function mh(){return{type:"end"}}function Wa(ee){return{type:"other",description:ee}}function Ya(ee){var ye=cc[ee],Oe;if(ye)return ye;for(Oe=ee-1;!cc[Oe];)Oe--;for(ye=cc[Oe],ye={line:ye.line,column:ye.column};OeOi&&(Oi=we,co=[]),co.push(ee))}function Ja(ee,ye){return new Qd(ee,null,null,ye)}function mf(ee,ye,Oe){return new Qd(Qd.buildMessage(ee,ye),ee,ye,Oe)}function uc(){var ee;return ee=UA(),ee}function vn(){var ee,ye,Oe;for(ee=we,ye=[],Oe=ha();Oe!==r;)ye.push(Oe),Oe=ha();return ye!==r&&(Nt=ee,ye=n(ye)),ee=ye,ee}function ha(){var ee,ye,Oe,mt,Et;return ee=we,ye=kl(),ye!==r?(e.charCodeAt(we)===45?(Oe=c,we++):(Oe=r,Tt===0&&$e(f)),Oe!==r?(mt=Tn(),mt!==r?(Et=ga(),Et!==r?(Nt=ee,ye=p(Et),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee}function UA(){var ee,ye,Oe;for(ee=we,ye=[],Oe=_A();Oe!==r;)ye.push(Oe),Oe=_A();return ye!==r&&(Nt=ee,ye=h(ye)),ee=ye,ee}function _A(){var ee,ye,Oe,mt,Et,bt,tr,pn,ci;if(ee=we,ye=Tn(),ye===r&&(ye=null),ye!==r){if(Oe=we,e.charCodeAt(we)===35?(mt=E,we++):(mt=r,Tt===0&&$e(C)),mt!==r){if(Et=[],bt=we,tr=we,Tt++,pn=ot(),Tt--,pn===r?tr=void 0:(we=tr,tr=r),tr!==r?(e.length>we?(pn=e.charAt(we),we++):(pn=r,Tt===0&&$e(S)),pn!==r?(tr=[tr,pn],bt=tr):(we=bt,bt=r)):(we=bt,bt=r),bt!==r)for(;bt!==r;)Et.push(bt),bt=we,tr=we,Tt++,pn=ot(),Tt--,pn===r?tr=void 0:(we=tr,tr=r),tr!==r?(e.length>we?(pn=e.charAt(we),we++):(pn=r,Tt===0&&$e(S)),pn!==r?(tr=[tr,pn],bt=tr):(we=bt,bt=r)):(we=bt,bt=r);else Et=r;Et!==r?(mt=[mt,Et],Oe=mt):(we=Oe,Oe=r)}else we=Oe,Oe=r;if(Oe===r&&(Oe=null),Oe!==r){if(mt=[],Et=Ke(),Et!==r)for(;Et!==r;)mt.push(Et),Et=Ke();else mt=r;mt!==r?(Nt=ee,ye=x(),ee=ye):(we=ee,ee=r)}else we=ee,ee=r}else we=ee,ee=r;if(ee===r&&(ee=we,ye=kl(),ye!==r?(Oe=Ka(),Oe!==r?(mt=Tn(),mt===r&&(mt=null),mt!==r?(e.charCodeAt(we)===58?(Et=I,we++):(Et=r,Tt===0&&$e(T)),Et!==r?(bt=Tn(),bt===r&&(bt=null),bt!==r?(tr=ga(),tr!==r?(Nt=ee,ye=O(Oe,tr),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,ye=kl(),ye!==r?(Oe=is(),Oe!==r?(mt=Tn(),mt===r&&(mt=null),mt!==r?(e.charCodeAt(we)===58?(Et=I,we++):(Et=r,Tt===0&&$e(T)),Et!==r?(bt=Tn(),bt===r&&(bt=null),bt!==r?(tr=ga(),tr!==r?(Nt=ee,ye=O(Oe,tr),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r))){if(ee=we,ye=kl(),ye!==r)if(Oe=is(),Oe!==r)if(mt=Tn(),mt!==r)if(Et=Au(),Et!==r){if(bt=[],tr=Ke(),tr!==r)for(;tr!==r;)bt.push(tr),tr=Ke();else bt=r;bt!==r?(Nt=ee,ye=O(Oe,Et),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r;else we=ee,ee=r;else we=ee,ee=r;if(ee===r)if(ee=we,ye=kl(),ye!==r)if(Oe=is(),Oe!==r){if(mt=[],Et=we,bt=Tn(),bt===r&&(bt=null),bt!==r?(e.charCodeAt(we)===44?(tr=U,we++):(tr=r,Tt===0&&$e(V)),tr!==r?(pn=Tn(),pn===r&&(pn=null),pn!==r?(ci=is(),ci!==r?(Nt=Et,bt=te(Oe,ci),Et=bt):(we=Et,Et=r)):(we=Et,Et=r)):(we=Et,Et=r)):(we=Et,Et=r),Et!==r)for(;Et!==r;)mt.push(Et),Et=we,bt=Tn(),bt===r&&(bt=null),bt!==r?(e.charCodeAt(we)===44?(tr=U,we++):(tr=r,Tt===0&&$e(V)),tr!==r?(pn=Tn(),pn===r&&(pn=null),pn!==r?(ci=is(),ci!==r?(Nt=Et,bt=te(Oe,ci),Et=bt):(we=Et,Et=r)):(we=Et,Et=r)):(we=Et,Et=r)):(we=Et,Et=r);else mt=r;mt!==r?(Et=Tn(),Et===r&&(Et=null),Et!==r?(e.charCodeAt(we)===58?(bt=I,we++):(bt=r,Tt===0&&$e(T)),bt!==r?(tr=Tn(),tr===r&&(tr=null),tr!==r?(pn=ga(),pn!==r?(Nt=ee,ye=ie(Oe,mt,pn),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r}return ee}function ga(){var ee,ye,Oe,mt,Et,bt,tr;if(ee=we,ye=we,Tt++,Oe=we,mt=ot(),mt!==r?(Et=Ut(),Et!==r?(e.charCodeAt(we)===45?(bt=c,we++):(bt=r,Tt===0&&$e(f)),bt!==r?(tr=Tn(),tr!==r?(mt=[mt,Et,bt,tr],Oe=mt):(we=Oe,Oe=r)):(we=Oe,Oe=r)):(we=Oe,Oe=r)):(we=Oe,Oe=r),Tt--,Oe!==r?(we=ye,ye=void 0):ye=r,ye!==r?(Oe=Ke(),Oe!==r?(mt=Rn(),mt!==r?(Et=vn(),Et!==r?(bt=da(),bt!==r?(Nt=ee,ye=ue(Et),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,ye=ot(),ye!==r?(Oe=Rn(),Oe!==r?(mt=UA(),mt!==r?(Et=da(),Et!==r?(Nt=ee,ye=ue(mt),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r))if(ee=we,ye=fc(),ye!==r){if(Oe=[],mt=Ke(),mt!==r)for(;mt!==r;)Oe.push(mt),mt=Ke();else Oe=r;Oe!==r?(Nt=ee,ye=ae(ye),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;return ee}function kl(){var ee,ye,Oe;for(Tt++,ee=we,ye=[],e.charCodeAt(we)===32?(Oe=Ae,we++):(Oe=r,Tt===0&&$e(Ce));Oe!==r;)ye.push(Oe),e.charCodeAt(we)===32?(Oe=Ae,we++):(Oe=r,Tt===0&&$e(Ce));return ye!==r?(Nt=we,Oe=Ee(ye),Oe?Oe=void 0:Oe=r,Oe!==r?(ye=[ye,Oe],ee=ye):(we=ee,ee=r)):(we=ee,ee=r),Tt--,ee===r&&(ye=r,Tt===0&&$e(de)),ee}function Ut(){var ee,ye,Oe;for(ee=we,ye=[],e.charCodeAt(we)===32?(Oe=Ae,we++):(Oe=r,Tt===0&&$e(Ce));Oe!==r;)ye.push(Oe),e.charCodeAt(we)===32?(Oe=Ae,we++):(Oe=r,Tt===0&&$e(Ce));return ye!==r?(Nt=we,Oe=g(ye),Oe?Oe=void 0:Oe=r,Oe!==r?(ye=[ye,Oe],ee=ye):(we=ee,ee=r)):(we=ee,ee=r),ee}function Rn(){var ee;return Nt=we,ee=Se(),ee?ee=void 0:ee=r,ee}function da(){var ee;return Nt=we,ee=Be(),ee?ee=void 0:ee=r,ee}function Ka(){var ee;return ee=Ql(),ee===r&&(ee=Ac()),ee}function is(){var ee,ye,Oe;if(ee=Ql(),ee===r){if(ee=we,ye=[],Oe=za(),Oe!==r)for(;Oe!==r;)ye.push(Oe),Oe=za();else ye=r;ye!==r&&(Nt=ee,ye=me()),ee=ye}return ee}function fc(){var ee;return ee=Mi(),ee===r&&(ee=Bs(),ee===r&&(ee=Ql(),ee===r&&(ee=Ac()))),ee}function Au(){var ee;return ee=Mi(),ee===r&&(ee=Ql(),ee===r&&(ee=za())),ee}function Ac(){var ee,ye,Oe,mt,Et,bt;if(Tt++,ee=we,Z.test(e.charAt(we))?(ye=e.charAt(we),we++):(ye=r,Tt===0&&$e(De)),ye!==r){for(Oe=[],mt=we,Et=Tn(),Et===r&&(Et=null),Et!==r?(Qe.test(e.charAt(we))?(bt=e.charAt(we),we++):(bt=r,Tt===0&&$e(st)),bt!==r?(Et=[Et,bt],mt=Et):(we=mt,mt=r)):(we=mt,mt=r);mt!==r;)Oe.push(mt),mt=we,Et=Tn(),Et===r&&(Et=null),Et!==r?(Qe.test(e.charAt(we))?(bt=e.charAt(we),we++):(bt=r,Tt===0&&$e(st)),bt!==r?(Et=[Et,bt],mt=Et):(we=mt,mt=r)):(we=mt,mt=r);Oe!==r?(Nt=ee,ye=_(),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;return Tt--,ee===r&&(ye=r,Tt===0&&$e(ce)),ee}function za(){var ee,ye,Oe,mt,Et;if(ee=we,e.substr(we,2)===tt?(ye=tt,we+=2):(ye=r,Tt===0&&$e(Ne)),ye===r&&(ye=null),ye!==r)if(ke.test(e.charAt(we))?(Oe=e.charAt(we),we++):(Oe=r,Tt===0&&$e(be)),Oe!==r){for(mt=[],je.test(e.charAt(we))?(Et=e.charAt(we),we++):(Et=r,Tt===0&&$e(Re));Et!==r;)mt.push(Et),je.test(e.charAt(we))?(Et=e.charAt(we),we++):(Et=r,Tt===0&&$e(Re));mt!==r?(Nt=ee,ye=_(),ee=ye):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r;return ee}function Mi(){var ee,ye;return ee=we,e.substr(we,4)===ct?(ye=ct,we+=4):(ye=r,Tt===0&&$e(Me)),ye!==r&&(Nt=ee,ye=P()),ee=ye,ee}function Bs(){var ee,ye;return ee=we,e.substr(we,4)===w?(ye=w,we+=4):(ye=r,Tt===0&&$e(b)),ye!==r&&(Nt=ee,ye=y()),ee=ye,ee===r&&(ee=we,e.substr(we,5)===F?(ye=F,we+=5):(ye=r,Tt===0&&$e(z)),ye!==r&&(Nt=ee,ye=X()),ee=ye),ee}function Ql(){var ee,ye,Oe,mt;return Tt++,ee=we,e.charCodeAt(we)===34?(ye=se,we++):(ye=r,Tt===0&&$e(xe)),ye!==r?(e.charCodeAt(we)===34?(Oe=se,we++):(Oe=r,Tt===0&&$e(xe)),Oe!==r?(Nt=ee,ye=Fe(),ee=ye):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,e.charCodeAt(we)===34?(ye=se,we++):(ye=r,Tt===0&&$e(xe)),ye!==r?(Oe=yf(),Oe!==r?(e.charCodeAt(we)===34?(mt=se,we++):(mt=r,Tt===0&&$e(xe)),mt!==r?(Nt=ee,ye=ut(Oe),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)),Tt--,ee===r&&(ye=r,Tt===0&&$e($)),ee}function yf(){var ee,ye,Oe;if(ee=we,ye=[],Oe=pc(),Oe!==r)for(;Oe!==r;)ye.push(Oe),Oe=pc();else ye=r;return ye!==r&&(Nt=ee,ye=Ct(ye)),ee=ye,ee}function pc(){var ee,ye,Oe,mt,Et,bt;return qt.test(e.charAt(we))?(ee=e.charAt(we),we++):(ee=r,Tt===0&&$e(ir)),ee===r&&(ee=we,e.substr(we,2)===Pt?(ye=Pt,we+=2):(ye=r,Tt===0&&$e(dn)),ye!==r&&(Nt=ee,ye=Pr()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===Cr?(ye=Cr,we+=2):(ye=r,Tt===0&&$e(Or)),ye!==r&&(Nt=ee,ye=on()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===li?(ye=li,we+=2):(ye=r,Tt===0&&$e(Do)),ye!==r&&(Nt=ee,ye=ns()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===so?(ye=so,we+=2):(ye=r,Tt===0&&$e(bo)),ye!==r&&(Nt=ee,ye=ji()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===oo?(ye=oo,we+=2):(ye=r,Tt===0&&$e(Po)),ye!==r&&(Nt=ee,ye=TA()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===gf?(ye=gf,we+=2):(ye=r,Tt===0&&$e(gh)),ye!==r&&(Nt=ee,ye=dh()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===ao?(ye=ao,we+=2):(ye=r,Tt===0&&$e(Gn)),ye!==r&&(Nt=ee,ye=Ns()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===lo?(ye=lo,we+=2):(ye=r,Tt===0&&$e(ou)),ye!==r&&(Nt=ee,ye=au()),ee=ye,ee===r&&(ee=we,e.substr(we,2)===lu?(ye=lu,we+=2):(ye=r,Tt===0&&$e(FA)),ye!==r?(Oe=Bi(),Oe!==r?(mt=Bi(),mt!==r?(Et=Bi(),Et!==r?(bt=Bi(),bt!==r?(Nt=ee,ye=NA(Oe,mt,Et,bt),ee=ye):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)))))))))),ee}function Bi(){var ee;return fa.test(e.charAt(we))?(ee=e.charAt(we),we++):(ee=r,Tt===0&&$e(Aa)),ee}function Tn(){var ee,ye;if(Tt++,ee=[],gr.test(e.charAt(we))?(ye=e.charAt(we),we++):(ye=r,Tt===0&&$e(xo)),ye!==r)for(;ye!==r;)ee.push(ye),gr.test(e.charAt(we))?(ye=e.charAt(we),we++):(ye=r,Tt===0&&$e(xo));else ee=r;return Tt--,ee===r&&(ye=r,Tt===0&&$e(OA)),ee}function hc(){var ee,ye;if(Tt++,ee=[],Ue.test(e.charAt(we))?(ye=e.charAt(we),we++):(ye=r,Tt===0&&$e(wr)),ye!==r)for(;ye!==r;)ee.push(ye),Ue.test(e.charAt(we))?(ye=e.charAt(we),we++):(ye=r,Tt===0&&$e(wr));else ee=r;return Tt--,ee===r&&(ye=r,Tt===0&&$e(Ga)),ee}function Ke(){var ee,ye,Oe,mt,Et,bt;if(ee=we,ye=ot(),ye!==r){for(Oe=[],mt=we,Et=Tn(),Et===r&&(Et=null),Et!==r?(bt=ot(),bt!==r?(Et=[Et,bt],mt=Et):(we=mt,mt=r)):(we=mt,mt=r);mt!==r;)Oe.push(mt),mt=we,Et=Tn(),Et===r&&(Et=null),Et!==r?(bt=ot(),bt!==r?(Et=[Et,bt],mt=Et):(we=mt,mt=r)):(we=mt,mt=r);Oe!==r?(ye=[ye,Oe],ee=ye):(we=ee,ee=r)}else we=ee,ee=r;return ee}function ot(){var ee;return e.substr(we,2)===df?(ee=df,we+=2):(ee=r,Tt===0&&$e(LA)),ee===r&&(e.charCodeAt(we)===10?(ee=MA,we++):(ee=r,Tt===0&&$e(cu)),ee===r&&(e.charCodeAt(we)===13?(ee=uu,we++):(ee=r,Tt===0&&$e(lc)))),ee}let St=2,lr=0;if(Qn=a(),Qn!==r&&we===e.length)return Qn;throw Qn!==r&&we"u"?!0:typeof e=="object"&&e!==null&&!Array.isArray(e)?Object.keys(e).every(t=>qte(e[t])):!1}function GU(e,t,r){if(e===null)return`null +`;if(typeof e=="number"||typeof e=="boolean")return`${e.toString()} +`;if(typeof e=="string")return`${jte(e)} +`;if(Array.isArray(e)){if(e.length===0)return`[] +`;let s=" ".repeat(t);return` +${e.map(n=>`${s}- ${GU(n,t+1,!1)}`).join("")}`}if(typeof e=="object"&&e){let[s,a]=e instanceof Sx?[e.data,!1]:[e,!0],n=" ".repeat(t),c=Object.keys(s);a&&c.sort((p,h)=>{let E=Hte.indexOf(p),C=Hte.indexOf(h);return E===-1&&C===-1?ph?1:0:E!==-1&&C===-1?-1:E===-1&&C!==-1?1:E-C});let f=c.filter(p=>!qte(s[p])).map((p,h)=>{let E=s[p],C=jte(p),S=GU(E,t+1,!0),x=h>0||r?n:"",I=C.length>1024?`? ${C} +${x}:`:`${C}:`,T=S.startsWith(` +`)?S:` ${S}`;return`${x}${I}${T}`}).join(t===0?` +`:"")||` +`;return r?` +${f}`:`${f}`}throw new Error(`Unsupported value type (${e})`)}function fl(e){try{let t=GU(e,0,!1);return t!==` +`?t:""}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function u9e(e){return e.endsWith(` +`)||(e+=` +`),(0,Gte.parse)(e)}function A9e(e){if(f9e.test(e))return u9e(e);let t=(0,Dx.safeLoad)(e,{schema:Dx.FAILSAFE_SCHEMA,json:!0});if(t==null)return{};if(typeof t!="object")throw new Error(`Expected an indexed object, got a ${typeof t} instead. Does your file follow Yaml's rules?`);if(Array.isArray(t))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return t}function cs(e){return A9e(e)}var Dx,Gte,c9e,Hte,Sx,f9e,Wte=Xe(()=>{Dx=et(Mte()),Gte=et(_te()),c9e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,Hte=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],Sx=class{constructor(t){this.data=t}};fl.PreserveOrdering=Sx;f9e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var _2={};Vt(_2,{parseResolution:()=>px,parseShell:()=>ux,parseSyml:()=>cs,stringifyArgument:()=>xU,stringifyArgumentSegment:()=>kU,stringifyArithmeticExpression:()=>Ax,stringifyCommand:()=>PU,stringifyCommandChain:()=>gE,stringifyCommandChainThen:()=>bU,stringifyCommandLine:()=>fx,stringifyCommandLineThen:()=>DU,stringifyEnvSegment:()=>cx,stringifyRedirectArgument:()=>T2,stringifyResolution:()=>hx,stringifyShell:()=>hE,stringifyShellLine:()=>hE,stringifySyml:()=>fl,stringifyValueArgument:()=>wd});var vc=Xe(()=>{q$();J$();Wte()});var Vte=G((sxt,qU)=>{"use strict";var p9e=e=>{let t=!1,r=!1,s=!1;for(let a=0;a{if(!(typeof e=="string"||Array.isArray(e)))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);let r=a=>t.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(e)?e=e.map(a=>a.trim()).filter(a=>a.length).join("-"):e=e.trim(),e.length===0?"":e.length===1?t.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=p9e(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(e))};qU.exports=Yte;qU.exports.default=Yte});var Jte=G((oxt,h9e)=>{h9e.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var Rd=G(Wl=>{"use strict";var zte=Jte(),xs=process.env;Object.defineProperty(Wl,"_vendors",{value:zte.map(function(e){return e.constant})});Wl.name=null;Wl.isPR=null;zte.forEach(function(e){let r=(Array.isArray(e.env)?e.env:[e.env]).every(function(s){return Kte(s)});if(Wl[e.constant]=r,!!r)switch(Wl.name=e.name,typeof e.pr){case"string":Wl.isPR=!!xs[e.pr];break;case"object":"env"in e.pr?Wl.isPR=e.pr.env in xs&&xs[e.pr.env]!==e.pr.ne:"any"in e.pr?Wl.isPR=e.pr.any.some(function(s){return!!xs[s]}):Wl.isPR=Kte(e.pr);break;default:Wl.isPR=null}});Wl.isCI=!!(xs.CI!=="false"&&(xs.BUILD_ID||xs.BUILD_NUMBER||xs.CI||xs.CI_APP_ID||xs.CI_BUILD_ID||xs.CI_BUILD_NUMBER||xs.CI_NAME||xs.CONTINUOUS_INTEGRATION||xs.RUN_ID||Wl.name));function Kte(e){return typeof e=="string"?!!xs[e]:"env"in e?xs[e.env]&&xs[e.env].includes(e.includes):"any"in e?e.any.some(function(t){return!!xs[t]}):Object.keys(e).every(function(t){return xs[t]===e[t]})}});var ni,In,Td,WU,bx,Xte,YU,VU,Px=Xe(()=>{(function(e){e.StartOfInput="\0",e.EndOfInput="",e.EndOfPartialInput=""})(ni||(ni={}));(function(e){e[e.InitialNode=0]="InitialNode",e[e.SuccessNode=1]="SuccessNode",e[e.ErrorNode=2]="ErrorNode",e[e.CustomNode=3]="CustomNode"})(In||(In={}));Td=-1,WU=/^(-h|--help)(?:=([0-9]+))?$/,bx=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,Xte=/^-[a-zA-Z]{2,}$/,YU=/^([^=]+)=([\s\S]*)$/,VU=process.env.DEBUG_CLI==="1"});var it,BE,xx,JU,kx=Xe(()=>{Px();it=class extends Error{constructor(t){super(t),this.clipanion={type:"usage"},this.name="UsageError"}},BE=class extends Error{constructor(t,r){if(super(),this.input=t,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(s=>s.reason!==null&&s.reason===r[0].reason)){let[{reason:s}]=this.candidates;this.message=`${s} + +${this.candidates.map(({usage:a})=>`$ ${a}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:s}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${s} +${JU(t)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:s},a)=>`${`${a}.`.padStart(4)} ${s}`).join(` +`)} + +${JU(t)}`}},xx=class extends Error{constructor(t,r){super(),this.input=t,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((s,a)=>`${`${a}.`.padStart(4)} ${s}`).join(` +`)} + +${JU(t)}`}},JU=e=>`While running ${e.filter(t=>t!==ni.EndOfInput&&t!==ni.EndOfPartialInput).map(t=>{let r=JSON.stringify(t);return t.match(/\s/)||t.length===0||r!==`"${t}"`?r:t}).join(" ")}`});function g9e(e){let t=e.split(` +`),r=t.filter(a=>a.match(/\S/)),s=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return t.map(a=>a.slice(s).trimRight()).join(` +`)}function Vo(e,{format:t,paragraphs:r}){return e=e.replace(/\r\n?/g,` +`),e=g9e(e),e=e.replace(/^\n+|\n+$/g,""),e=e.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),e=e.replace(/\n(\n)?\n*/g,(s,a)=>a||" "),r&&(e=e.split(/\n/).map(s=>{let a=s.match(/^\s*[*-][\t ]+(.*)/);if(!a)return s.match(/(.{1,80})(?: |$)/g).join(` +`);let n=s.length-s.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((c,f)=>" ".repeat(n)+(f===0?"- ":" ")+c).join(` +`)}).join(` + +`)),e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(s,a,n)=>t.code(a+n+a)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(s,a,n)=>t.bold(a+n+a)),e?`${e} +`:""}var KU,Zte,$te,zU=Xe(()=>{KU=Array(80).fill("\u2501");for(let e=0;e<=24;++e)KU[KU.length-e]=`\x1B[38;5;${232+e}m\u2501`;Zte={header:e=>`\x1B[1m\u2501\u2501\u2501 ${e}${e.length<75?` ${KU.slice(e.length+5).join("")}`:":"}\x1B[0m`,bold:e=>`\x1B[1m${e}\x1B[22m`,error:e=>`\x1B[31m\x1B[1m${e}\x1B[22m\x1B[39m`,code:e=>`\x1B[36m${e}\x1B[39m`},$te={header:e=>e,bold:e=>e,error:e=>e,code:e=>e}});function Ba(e){return{...e,[H2]:!0}}function Yf(e,t){return typeof e>"u"?[e,t]:typeof e=="object"&&e!==null&&!Array.isArray(e)?[void 0,e]:[e,t]}function Qx(e,{mergeName:t=!1}={}){let r=e.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,s,a]=r;return t&&(a=a[0].toLowerCase()+a.slice(1)),a=s!=="."||!t?`${s.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function j2(e,t){return t.length===1?new it(`${e}${Qx(t[0],{mergeName:!0})}`):new it(`${e}: +${t.map(r=>` +- ${Qx(r)}`).join("")}`)}function Fd(e,t,r){if(typeof r>"u")return t;let s=[],a=[],n=f=>{let p=t;return t=f,n.bind(null,p)};if(!r(t,{errors:s,coercions:a,coercion:n}))throw j2(`Invalid value for ${e}`,s);for(let[,f]of a)f();return t}var H2,Bp=Xe(()=>{kx();H2=Symbol("clipanion/isOption")});var Jo={};Vt(Jo,{KeyRelationship:()=>Vf,TypeAssertionError:()=>s0,applyCascade:()=>W2,as:()=>F9e,assert:()=>Q9e,assertWithErrors:()=>R9e,cascade:()=>Nx,fn:()=>N9e,hasAtLeastOneKey:()=>n_,hasExactLength:()=>ire,hasForbiddenKeys:()=>eqe,hasKeyRelationship:()=>V2,hasMaxLength:()=>L9e,hasMinLength:()=>O9e,hasMutuallyExclusiveKeys:()=>tqe,hasRequiredKeys:()=>$9e,hasUniqueItems:()=>M9e,isArray:()=>Rx,isAtLeast:()=>t_,isAtMost:()=>H9e,isBase64:()=>K9e,isBoolean:()=>B9e,isDate:()=>S9e,isDict:()=>P9e,isEnum:()=>ks,isHexColor:()=>J9e,isISO8601:()=>V9e,isInExclusiveRange:()=>G9e,isInInclusiveRange:()=>j9e,isInstanceOf:()=>k9e,isInteger:()=>r_,isJSON:()=>z9e,isLiteral:()=>tre,isLowerCase:()=>q9e,isMap:()=>b9e,isNegative:()=>U9e,isNullable:()=>Z9e,isNumber:()=>$U,isObject:()=>rre,isOneOf:()=>e_,isOptional:()=>X9e,isPartial:()=>x9e,isPayload:()=>v9e,isPositive:()=>_9e,isRecord:()=>Fx,isSet:()=>D9e,isString:()=>SE,isTuple:()=>Tx,isUUID4:()=>Y9e,isUnknown:()=>ZU,isUpperCase:()=>W9e,makeTrait:()=>nre,makeValidator:()=>Wr,matchesRegExp:()=>q2,softAssert:()=>T9e});function ii(e){return e===null?"null":e===void 0?"undefined":e===""?"an empty string":typeof e=="symbol"?`<${e.toString()}>`:Array.isArray(e)?"an array":JSON.stringify(e)}function vE(e,t){if(e.length===0)return"nothing";if(e.length===1)return ii(e[0]);let r=e.slice(0,-1),s=e[e.length-1],a=e.length>2?`, ${t} `:` ${t} `;return`${r.map(n=>ii(n)).join(", ")}${a}${ii(s)}`}function i0(e,t){var r,s,a;return typeof t=="number"?`${(r=e?.p)!==null&&r!==void 0?r:"."}[${t}]`:d9e.test(t)?`${(s=e?.p)!==null&&s!==void 0?s:""}.${t}`:`${(a=e?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(t)}]`}function XU(e,t,r){return e===1?t:r}function mr({errors:e,p:t}={},r){return e?.push(`${t??"."}: ${r}`),!1}function C9e(e,t){return r=>{e[t]=r}}function Jf(e,t){return r=>{let s=e[t];return e[t]=r,Jf(e,t).bind(null,s)}}function G2(e,t,r){let s=()=>(e(r()),a),a=()=>(e(t),s);return s}function ZU(){return Wr({test:(e,t)=>!0})}function tre(e){return Wr({test:(t,r)=>t!==e?mr(r,`Expected ${ii(e)} (got ${ii(t)})`):!0})}function SE(){return Wr({test:(e,t)=>typeof e!="string"?mr(t,`Expected a string (got ${ii(e)})`):!0})}function ks(e){let t=Array.isArray(e)?e:Object.values(e),r=t.every(a=>typeof a=="string"||typeof a=="number"),s=new Set(t);return s.size===1?tre([...s][0]):Wr({test:(a,n)=>s.has(a)?!0:r?mr(n,`Expected one of ${vE(t,"or")} (got ${ii(a)})`):mr(n,`Expected a valid enumeration value (got ${ii(a)})`)})}function B9e(){return Wr({test:(e,t)=>{var r;if(typeof e!="boolean"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return mr(t,"Unbound coercion result");let s=w9e.get(e);if(typeof s<"u")return t.coercions.push([(r=t.p)!==null&&r!==void 0?r:".",t.coercion.bind(null,s)]),!0}return mr(t,`Expected a boolean (got ${ii(e)})`)}return!0}})}function $U(){return Wr({test:(e,t)=>{var r;if(typeof e!="number"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return mr(t,"Unbound coercion result");let s;if(typeof e=="string"){let a;try{a=JSON.parse(e)}catch{}if(typeof a=="number")if(JSON.stringify(a)===e)s=a;else return mr(t,`Received a number that can't be safely represented by the runtime (${e})`)}if(typeof s<"u")return t.coercions.push([(r=t.p)!==null&&r!==void 0?r:".",t.coercion.bind(null,s)]),!0}return mr(t,`Expected a number (got ${ii(e)})`)}return!0}})}function v9e(e){return Wr({test:(t,r)=>{var s;if(typeof r?.coercions>"u")return mr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return mr(r,"Unbound coercion result");if(typeof t!="string")return mr(r,`Expected a string (got ${ii(t)})`);let a;try{a=JSON.parse(t)}catch{return mr(r,`Expected a JSON string (got ${ii(t)})`)}let n={value:a};return e(a,Object.assign(Object.assign({},r),{coercion:Jf(n,"value")}))?(r.coercions.push([(s=r.p)!==null&&s!==void 0?s:".",r.coercion.bind(null,n.value)]),!0):!1}})}function S9e(){return Wr({test:(e,t)=>{var r;if(!(e instanceof Date)){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return mr(t,"Unbound coercion result");let s;if(typeof e=="string"&&ere.test(e))s=new Date(e);else{let a;if(typeof e=="string"){let n;try{n=JSON.parse(e)}catch{}typeof n=="number"&&(a=n)}else typeof e=="number"&&(a=e);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))s=new Date(a*1e3);else return mr(t,`Received a timestamp that can't be safely represented by the runtime (${e})`)}if(typeof s<"u")return t.coercions.push([(r=t.p)!==null&&r!==void 0?r:".",t.coercion.bind(null,s)]),!0}return mr(t,`Expected a date (got ${ii(e)})`)}return!0}})}function Rx(e,{delimiter:t}={}){return Wr({test:(r,s)=>{var a;let n=r;if(typeof r=="string"&&typeof t<"u"&&typeof s?.coercions<"u"){if(typeof s?.coercion>"u")return mr(s,"Unbound coercion result");r=r.split(t)}if(!Array.isArray(r))return mr(s,`Expected an array (got ${ii(r)})`);let c=!0;for(let f=0,p=r.length;f{var n,c;if(Object.getPrototypeOf(s).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");let f=[...s],p=[...s];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,C)=>E!==f[C])?new Set(p):s;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",G2(a.coercion,s,h)]),!0}else{let f=!0;for(let p of s)if(f=e(p,Object.assign({},a))&&f,!f&&a?.errors==null)break;return f}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");let f={value:s};return r(s,Object.assign(Object.assign({},a),{coercion:Jf(f,"value")}))?(a.coercions.push([(c=a.p)!==null&&c!==void 0?c:".",G2(a.coercion,s,()=>new Set(f.value))]),!0):!1}return mr(a,`Expected a set (got ${ii(s)})`)}})}function b9e(e,t){let r=Rx(Tx([e,t])),s=Fx(t,{keys:e});return Wr({test:(a,n)=>{var c,f,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return mr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let C=()=>E.some((S,x)=>S[0]!==h[x][0]||S[1]!==h[x][1])?new Map(E):a;return n.coercions.push([(c=n.p)!==null&&c!==void 0?c:".",G2(n.coercion,a,C)]),!0}else{let h=!0;for(let[E,C]of a)if(h=e(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=t(C,Object.assign(Object.assign({},n),{p:i0(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return mr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(f=n.p)!==null&&f!==void 0?f:".",G2(n.coercion,a,()=>new Map(h.value))]),!0):!1:s(a,Object.assign(Object.assign({},n),{coercion:Jf(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",G2(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return mr(n,`Expected a map (got ${ii(a)})`)}})}function Tx(e,{delimiter:t}={}){let r=ire(e.length);return Wr({test:(s,a)=>{var n;if(typeof s=="string"&&typeof t<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");s=s.split(t),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,s)])}if(!Array.isArray(s))return mr(a,`Expected a tuple (got ${ii(s)})`);let c=r(s,Object.assign({},a));for(let f=0,p=s.length;f{var n;if(Array.isArray(s)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?mr(a,"Unbound coercion result"):r(s,Object.assign(Object.assign({},a),{coercion:void 0}))?(s=Object.fromEntries(s),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,s)]),!0):!1;if(typeof s!="object"||s===null)return mr(a,`Expected an object (got ${ii(s)})`);let c=Object.keys(s),f=!0;for(let p=0,h=c.length;p{if(typeof a!="object"||a===null)return mr(n,`Expected an object (got ${ii(a)})`);let c=new Set([...r,...Object.keys(a)]),f={},p=!0;for(let h of c){if(h==="constructor"||h==="__proto__")p=mr(Object.assign(Object.assign({},n),{p:i0(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(e,h)?e[h]:void 0,C=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(C,Object.assign(Object.assign({},n),{p:i0(n,h),coercion:Jf(a,h)}))&&p:t===null?p=mr(Object.assign(Object.assign({},n),{p:i0(n,h)}),`Extraneous property (got ${ii(C)})`):Object.defineProperty(f,h,{enumerable:!0,get:()=>C,set:C9e(a,h)})}if(!p&&n?.errors==null)break}return t!==null&&(p||n?.errors!=null)&&(p=t(f,n)&&p),p}});return Object.assign(s,{properties:e})}function x9e(e){return rre(e,{extra:Fx(ZU())})}function nre(e){return()=>e}function Wr({test:e}){return nre(e)()}function Q9e(e,t){if(!t(e))throw new s0}function R9e(e,t){let r=[];if(!t(e,{errors:r}))throw new s0({errors:r})}function T9e(e,t){}function F9e(e,t,{coerce:r=!1,errors:s,throw:a}={}){let n=s?[]:void 0;if(!r){if(t(e,{errors:n}))return a?e:{value:e,errors:void 0};if(a)throw new s0({errors:n});return{value:void 0,errors:n??!0}}let c={value:e},f=Jf(c,"value"),p=[];if(!t(e,{errors:n,coercion:f,coercions:p})){if(a)throw new s0({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?c.value:{value:c.value,errors:void 0}}function N9e(e,t){let r=Tx(e);return(...s)=>{if(!r(s))throw new s0;return t(...s)}}function O9e(e){return Wr({test:(t,r)=>t.length>=e?!0:mr(r,`Expected to have a length of at least ${e} elements (got ${t.length})`)})}function L9e(e){return Wr({test:(t,r)=>t.length<=e?!0:mr(r,`Expected to have a length of at most ${e} elements (got ${t.length})`)})}function ire(e){return Wr({test:(t,r)=>t.length!==e?mr(r,`Expected to have a length of exactly ${e} elements (got ${t.length})`):!0})}function M9e({map:e}={}){return Wr({test:(t,r)=>{let s=new Set,a=new Set;for(let n=0,c=t.length;ne<=0?!0:mr(t,`Expected to be negative (got ${e})`)})}function _9e(){return Wr({test:(e,t)=>e>=0?!0:mr(t,`Expected to be positive (got ${e})`)})}function t_(e){return Wr({test:(t,r)=>t>=e?!0:mr(r,`Expected to be at least ${e} (got ${t})`)})}function H9e(e){return Wr({test:(t,r)=>t<=e?!0:mr(r,`Expected to be at most ${e} (got ${t})`)})}function j9e(e,t){return Wr({test:(r,s)=>r>=e&&r<=t?!0:mr(s,`Expected to be in the [${e}; ${t}] range (got ${r})`)})}function G9e(e,t){return Wr({test:(r,s)=>r>=e&&rt!==Math.round(t)?mr(r,`Expected to be an integer (got ${t})`):!e&&!Number.isSafeInteger(t)?mr(r,`Expected to be a safe integer (got ${t})`):!0})}function q2(e){return Wr({test:(t,r)=>e.test(t)?!0:mr(r,`Expected to match the pattern ${e.toString()} (got ${ii(t)})`)})}function q9e(){return Wr({test:(e,t)=>e!==e.toLowerCase()?mr(t,`Expected to be all-lowercase (got ${e})`):!0})}function W9e(){return Wr({test:(e,t)=>e!==e.toUpperCase()?mr(t,`Expected to be all-uppercase (got ${e})`):!0})}function Y9e(){return Wr({test:(e,t)=>I9e.test(e)?!0:mr(t,`Expected to be a valid UUID v4 (got ${ii(e)})`)})}function V9e(){return Wr({test:(e,t)=>ere.test(e)?!0:mr(t,`Expected to be a valid ISO 8601 date string (got ${ii(e)})`)})}function J9e({alpha:e=!1}){return Wr({test:(t,r)=>(e?m9e.test(t):y9e.test(t))?!0:mr(r,`Expected to be a valid hexadecimal color string (got ${ii(t)})`)})}function K9e(){return Wr({test:(e,t)=>E9e.test(e)?!0:mr(t,`Expected to be a valid base 64 string (got ${ii(e)})`)})}function z9e(e=ZU()){return Wr({test:(t,r)=>{let s;try{s=JSON.parse(t)}catch{return mr(r,`Expected to be a valid JSON string (got ${ii(t)})`)}return e(s,r)}})}function Nx(e,...t){let r=Array.isArray(t[0])?t[0]:t;return Wr({test:(s,a)=>{var n,c;let f={value:s},p=typeof a?.coercions<"u"?Jf(f,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!e(s,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,C]of h)E.push(C());try{if(typeof a?.coercions<"u"){if(f.value!==s){if(typeof a?.coercion>"u")return mr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,f.value)])}(c=a?.coercions)===null||c===void 0||c.push(...h)}return r.every(C=>C(f.value,a))}finally{for(let C of E)C()}}})}function W2(e,...t){let r=Array.isArray(t[0])?t[0]:t;return Nx(e,r)}function X9e(e){return Wr({test:(t,r)=>typeof t>"u"?!0:e(t,r)})}function Z9e(e){return Wr({test:(t,r)=>t===null?!0:e(t,r)})}function $9e(e,t){var r;let s=new Set(e),a=Y2[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>{let f=new Set(Object.keys(n)),p=[];for(let h of s)a(f,h,n)||p.push(h);return p.length>0?mr(c,`Missing required ${XU(p.length,"property","properties")} ${vE(p,"and")}`):!0}})}function n_(e,t){var r;let s=new Set(e),a=Y2[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>Object.keys(n).some(h=>a(s,h,n))?!0:mr(c,`Missing at least one property from ${vE(Array.from(s),"or")}`)})}function eqe(e,t){var r;let s=new Set(e),a=Y2[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>{let f=new Set(Object.keys(n)),p=[];for(let h of s)a(f,h,n)&&p.push(h);return p.length>0?mr(c,`Forbidden ${XU(p.length,"property","properties")} ${vE(p,"and")}`):!0}})}function tqe(e,t){var r;let s=new Set(e),a=Y2[(r=t?.missingIf)!==null&&r!==void 0?r:"missing"];return Wr({test:(n,c)=>{let f=new Set(Object.keys(n)),p=[];for(let h of s)a(f,h,n)&&p.push(h);return p.length>1?mr(c,`Mutually exclusive properties ${vE(p,"and")}`):!0}})}function V2(e,t,r,s){var a,n;let c=new Set((a=s?.ignore)!==null&&a!==void 0?a:[]),f=Y2[(n=s?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=rqe[t],E=t===Vf.Forbids?"or":"and";return Wr({test:(C,S)=>{let x=new Set(Object.keys(C));if(!f(x,e,C)||c.has(C[e]))return!0;let I=[];for(let T of p)(f(x,T,C)&&!c.has(C[T]))!==h.expect&&I.push(T);return I.length>=1?mr(S,`Property "${e}" ${h.message} ${XU(I.length,"property","properties")} ${vE(I,E)}`):!0}})}var d9e,m9e,y9e,E9e,I9e,ere,w9e,k9e,e_,s0,Y2,Vf,rqe,Al=Xe(()=>{d9e=/^[a-zA-Z_][a-zA-Z0-9_]*$/;m9e=/^#[0-9a-f]{6}$/i,y9e=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,E9e=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,I9e=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ere=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;w9e=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);k9e=e=>Wr({test:(t,r)=>t instanceof e?!0:mr(r,`Expected an instance of ${e.name} (got ${ii(t)})`)}),e_=(e,{exclusive:t=!1}={})=>Wr({test:(r,s)=>{var a,n,c;let f=[],p=typeof s?.errors<"u"?[]:void 0;for(let h=0,E=e.length;h1?mr(s,`Expected to match exactly a single predicate (matched ${f.join(", ")})`):(c=s?.errors)===null||c===void 0||c.push(...p),!1}});s0=class extends Error{constructor({errors:t}={}){let r="Type mismatch";if(t&&t.length>0){r+=` +`;for(let s of t)r+=` +- ${s}`}super(r)}};Y2={missing:(e,t)=>e.has(t),undefined:(e,t,r)=>e.has(t)&&typeof r[t]<"u",nil:(e,t,r)=>e.has(t)&&r[t]!=null,falsy:(e,t,r)=>e.has(t)&&!!r[t]};(function(e){e.Forbids="Forbids",e.Requires="Requires"})(Vf||(Vf={}));rqe={[Vf.Forbids]:{expect:!1,message:"forbids using"},[Vf.Requires]:{expect:!0,message:"requires using"}}});var at,o0=Xe(()=>{Bp();at=class{constructor(){this.help=!1}static Usage(t){return t}async catch(t){throw t}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:c}=await Promise.resolve().then(()=>(Al(),Jo)),f=c(a(n()),r),p=[],h=[];if(!f(this,{errors:p,coercions:h}))throw j2("Invalid option schema",p);for(let[,C]of h)C()}else if(r!=null)throw new Error("Invalid command schema");let s=await this.execute();return typeof s<"u"?s:0}};at.isOption=H2;at.Default=[]});function pl(e){VU&&console.log(e)}function ore(){let e={nodes:[]};for(let t=0;t{if(t.has(s))return;t.add(s);let a=e.nodes[s];for(let c of Object.values(a.statics))for(let{to:f}of c)r(f);for(let[,{to:c}]of a.dynamics)r(c);for(let{to:c}of a.shortcuts)r(c);let n=new Set(a.shortcuts.map(({to:c})=>c));for(;a.shortcuts.length>0;){let{to:c}=a.shortcuts.shift(),f=e.nodes[c];for(let[p,h]of Object.entries(f.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let C of h)E.some(({to:S})=>C.to===S)||E.push(C)}for(let[p,h]of f.dynamics)a.dynamics.some(([E,{to:C}])=>p===E&&h.to===C)||a.dynamics.push([p,h]);for(let p of f.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(In.InitialNode)}function sqe(e,{prefix:t=""}={}){if(VU){pl(`${t}Nodes are:`);for(let r=0;rE!==In.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===In.ErrorNode))throw new BE(t,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));s=lqe(h)}if(s.length>0){pl(" Results:");for(let n of s)pl(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else pl(" No results");return s}function aqe(e,t,{endToken:r=ni.EndOfInput}={}){let s=oqe(e,[...t,r]);return cqe(t,s.map(({state:a})=>a))}function lqe(e){let t=0;for(let{state:r}of e)r.path.length>t&&(t=r.path.length);return e.filter(({state:r})=>r.path.length===t)}function cqe(e,t){let r=t.filter(S=>S.selectedIndex!==null),s=r.filter(S=>!S.partial);if(s.length>0&&(r=s),r.length===0)throw new Error;let a=r.filter(S=>S.selectedIndex===Td||S.requiredOptions.every(x=>x.some(I=>S.options.find(T=>T.name===I))));if(a.length===0)throw new BE(e,r.map(S=>({usage:S.candidateUsage,reason:null})));let n=0;for(let S of a)S.path.length>n&&(n=S.path.length);let c=a.filter(S=>S.path.length===n),f=S=>S.positionals.filter(({extra:x})=>!x).length+S.options.length,p=c.map(S=>({state:S,positionalCount:f(S)})),h=0;for(let{positionalCount:S}of p)S>h&&(h=S);let E=p.filter(({positionalCount:S})=>S===h).map(({state:S})=>S),C=uqe(E);if(C.length>1)throw new xx(e,C.map(S=>S.candidateUsage));return C[0]}function uqe(e){let t=[],r=[];for(let s of e)s.selectedIndex===Td?r.push(s):t.push(s);return r.length>0&&t.push({...sre,path:are(...r.map(s=>s.path)),options:r.reduce((s,a)=>s.concat(a.options),[])}),t}function are(e,t,...r){return t===void 0?Array.from(e):are(e.filter((s,a)=>s===t[a]),...r)}function Yl(){return{dynamics:[],shortcuts:[],statics:{}}}function lre(e){return e===In.SuccessNode||e===In.ErrorNode}function i_(e,t=0){return{to:lre(e.to)?e.to:e.to>=In.CustomNode?e.to+t-In.CustomNode+1:e.to+t,reducer:e.reducer}}function fqe(e,t=0){let r=Yl();for(let[s,a]of e.dynamics)r.dynamics.push([s,i_(a,t)]);for(let s of e.shortcuts)r.shortcuts.push(i_(s,t));for(let[s,a]of Object.entries(e.statics))r.statics[s]=a.map(n=>i_(n,t));return r}function qs(e,t,r,s,a){e.nodes[t].dynamics.push([r,{to:s,reducer:a}])}function DE(e,t,r,s){e.nodes[t].shortcuts.push({to:r,reducer:s})}function va(e,t,r,s,a){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,r)?e.nodes[t].statics[r]:e.nodes[t].statics[r]=[]).push({to:s,reducer:a})}function Ox(e,t,r,s,a){if(Array.isArray(t)){let[n,...c]=t;return e[n](r,s,a,...c)}else return e[t](r,s,a)}var sre,Aqe,s_,Vl,o_,Lx,Mx=Xe(()=>{Px();kx();sre={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Td,partial:!1,tokens:[]};Aqe={always:()=>!0,isOptionLike:(e,t)=>!e.ignoreOptions&&t!=="-"&&t.startsWith("-"),isNotOptionLike:(e,t)=>e.ignoreOptions||t==="-"||!t.startsWith("-"),isOption:(e,t,r,s)=>!e.ignoreOptions&&t===s,isBatchOption:(e,t,r,s)=>!e.ignoreOptions&&Xte.test(t)&&[...t.slice(1)].every(a=>s.has(`-${a}`)),isBoundOption:(e,t,r,s,a)=>{let n=t.match(YU);return!e.ignoreOptions&&!!n&&bx.test(n[1])&&s.has(n[1])&&a.filter(c=>c.nameSet.includes(n[1])).every(c=>c.allowBinding)},isNegatedOption:(e,t,r,s)=>!e.ignoreOptions&&t===`--no-${s.slice(2)}`,isHelp:(e,t)=>!e.ignoreOptions&&WU.test(t),isUnsupportedOption:(e,t,r,s)=>!e.ignoreOptions&&t.startsWith("-")&&bx.test(t)&&!s.has(t),isInvalidOption:(e,t)=>!e.ignoreOptions&&t.startsWith("-")&&!bx.test(t)},s_={setCandidateState:(e,t,r,s)=>({...e,...s}),setSelectedIndex:(e,t,r,s)=>({...e,selectedIndex:s}),setPartialIndex:(e,t,r,s)=>({...e,selectedIndex:s,partial:!0}),pushBatch:(e,t,r,s)=>{let a=e.options.slice(),n=e.tokens.slice();for(let c=1;c{let[,s,a]=t.match(YU),n=e.options.concat({name:s,value:a}),c=e.tokens.concat([{segmentIndex:r,type:"option",slice:[0,s.length],option:s},{segmentIndex:r,type:"assign",slice:[s.length,s.length+1]},{segmentIndex:r,type:"value",slice:[s.length+1,s.length+a.length+1]}]);return{...e,options:n,tokens:c}},pushPath:(e,t,r)=>{let s=e.path.concat(t),a=e.tokens.concat({segmentIndex:r,type:"path"});return{...e,path:s,tokens:a}},pushPositional:(e,t,r)=>{let s=e.positionals.concat({value:t,extra:!1}),a=e.tokens.concat({segmentIndex:r,type:"positional"});return{...e,positionals:s,tokens:a}},pushExtra:(e,t,r)=>{let s=e.positionals.concat({value:t,extra:!0}),a=e.tokens.concat({segmentIndex:r,type:"positional"});return{...e,positionals:s,tokens:a}},pushExtraNoLimits:(e,t,r)=>{let s=e.positionals.concat({value:t,extra:Vl}),a=e.tokens.concat({segmentIndex:r,type:"positional"});return{...e,positionals:s,tokens:a}},pushTrue:(e,t,r,s)=>{let a=e.options.concat({name:s,value:!0}),n=e.tokens.concat({segmentIndex:r,type:"option",option:s});return{...e,options:a,tokens:n}},pushFalse:(e,t,r,s)=>{let a=e.options.concat({name:s,value:!1}),n=e.tokens.concat({segmentIndex:r,type:"option",option:s});return{...e,options:a,tokens:n}},pushUndefined:(e,t,r,s)=>{let a=e.options.concat({name:t,value:void 0}),n=e.tokens.concat({segmentIndex:r,type:"option",option:t});return{...e,options:a,tokens:n}},pushStringValue:(e,t,r)=>{var s;let a=e.options[e.options.length-1],n=e.options.slice(),c=e.tokens.concat({segmentIndex:r,type:"value"});return a.value=((s=a.value)!==null&&s!==void 0?s:[]).concat([t]),{...e,options:n,tokens:c}},setStringValue:(e,t,r)=>{let s=e.options[e.options.length-1],a=e.options.slice(),n=e.tokens.concat({segmentIndex:r,type:"value"});return s.value=t,{...e,options:a,tokens:n}},inhibateOptions:e=>({...e,ignoreOptions:!0}),useHelp:(e,t,r,s)=>{let[,,a]=t.match(WU);return typeof a<"u"?{...e,options:[{name:"-c",value:String(s)},{name:"-i",value:a}]}:{...e,options:[{name:"-c",value:String(s)}]}},setError:(e,t,r,s)=>t===ni.EndOfInput||t===ni.EndOfPartialInput?{...e,errorMessage:`${s}.`}:{...e,errorMessage:`${s} ("${t}").`},setOptionArityError:(e,t)=>{let r=e.options[e.options.length-1];return{...e,errorMessage:`Not enough arguments to option ${r.name}.`}}},Vl=Symbol(),o_=class{constructor(t,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=t,this.cliOpts=r}addPath(t){this.paths.push(t)}setArity({leading:t=this.arity.leading,trailing:r=this.arity.trailing,extra:s=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:t,trailing:r,extra:s,proxy:a})}addPositional({name:t="arg",required:r=!0}={}){if(!r&&this.arity.extra===Vl)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Vl?this.arity.extra.push(t):this.arity.extra!==Vl&&this.arity.extra.length===0?this.arity.leading.push(t):this.arity.trailing.push(t)}addRest({name:t="arg",required:r=0}={}){if(this.arity.extra===Vl)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let s=0;s1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(s))throw new Error(`The arity must be an integer, got ${s}`);if(s<0)throw new Error(`The arity must be positive, got ${s}`);let f=t.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of t)this.allOptionNames.set(p,f);this.options.push({preferredName:f,nameSet:t,description:r,arity:s,hidden:a,required:n,allowBinding:c})}setContext(t){this.context=t}usage({detailed:t=!0,inlineOptions:r=!0}={}){let s=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&s.push(...this.paths[0]),t){for(let{preferredName:c,nameSet:f,arity:p,hidden:h,description:E,required:C}of this.options){if(h)continue;let S=[];for(let I=0;I`:`[${x}]`)}s.push(...this.arity.leading.map(c=>`<${c}>`)),this.arity.extra===Vl?s.push("..."):s.push(...this.arity.extra.map(c=>`[${c}]`)),s.push(...this.arity.trailing.map(c=>`<${c}>`))}return{usage:s.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let t=ore(),r=In.InitialNode,s=this.usage().usage,a=this.options.filter(f=>f.required).map(f=>f.nameSet);r=Nu(t,Yl()),va(t,In.InitialNode,ni.StartOfInput,r,["setCandidateState",{candidateUsage:s,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",c=this.paths.length>0?this.paths:[[]];for(let f of c){let p=r;if(f.length>0){let S=Nu(t,Yl());DE(t,p,S),this.registerOptions(t,S),p=S}for(let S=0;S0||!this.arity.proxy){let S=Nu(t,Yl());qs(t,p,"isHelp",S,["useHelp",this.cliIndex]),qs(t,S,"always",S,"pushExtra"),va(t,S,ni.EndOfInput,In.SuccessNode,["setSelectedIndex",Td]),this.registerOptions(t,p)}this.arity.leading.length>0&&(va(t,p,ni.EndOfInput,In.ErrorNode,["setError","Not enough positional arguments"]),va(t,p,ni.EndOfPartialInput,In.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let S=0;S0||S+1!==this.arity.leading.length)&&(va(t,x,ni.EndOfInput,In.ErrorNode,["setError","Not enough positional arguments"]),va(t,x,ni.EndOfPartialInput,In.SuccessNode,["setPartialIndex",this.cliIndex])),qs(t,h,"isNotOptionLike",x,"pushPositional"),h=x}let E=h;if(this.arity.extra===Vl||this.arity.extra.length>0){let S=Nu(t,Yl());if(DE(t,h,S),this.arity.extra===Vl){let x=Nu(t,Yl());this.arity.proxy||this.registerOptions(t,x),qs(t,h,n,x,"pushExtraNoLimits"),qs(t,x,n,x,"pushExtraNoLimits"),DE(t,x,S)}else for(let x=0;x0)&&this.registerOptions(t,I),qs(t,E,n,I,"pushExtra"),DE(t,I,S),E=I}E=S}this.arity.trailing.length>0&&(va(t,E,ni.EndOfInput,In.ErrorNode,["setError","Not enough positional arguments"]),va(t,E,ni.EndOfPartialInput,In.SuccessNode,["setPartialIndex",this.cliIndex]));let C=E;for(let S=0;S=0&&t{let c=n?ni.EndOfPartialInput:ni.EndOfInput;return aqe(s,a,{endToken:c})}}}}});function ure(){return Ux.default&&"getColorDepth"in Ux.default.WriteStream.prototype?Ux.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function fre(e){let t=cre;if(typeof t>"u"){if(e.stdout===process.stdout&&e.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=Ie("async_hooks");t=cre=new r;let s=process.stdout._write;process.stdout._write=function(n,c,f){let p=t.getStore();return typeof p>"u"?s.call(this,n,c,f):p.stdout.write(n,c,f)};let a=process.stderr._write;process.stderr._write=function(n,c,f){let p=t.getStore();return typeof p>"u"?a.call(this,n,c,f):p.stderr.write(n,c,f)}}return r=>t.run(e,r)}var Ux,cre,Are=Xe(()=>{Ux=et(Ie("tty"),1)});var _x,pre=Xe(()=>{o0();_x=class e extends at{constructor(t){super(),this.contexts=t,this.commands=[]}static from(t,r){let s=new e(r);s.path=t.path;for(let a of t.options)switch(a.name){case"-c":s.commands.push(Number(a.value));break;case"-i":s.index=Number(a.value);break}return s}async execute(){let t=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let s of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[s].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}}});async function dre(...e){let{resolvedOptions:t,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}=yre(e);return Sa.from(r,t).runExit(s,a)}async function mre(...e){let{resolvedOptions:t,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}=yre(e);return Sa.from(r,t).run(s,a)}function yre(e){let t,r,s,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(s=process.argv.slice(2)),e.length){case 1:r=e[0];break;case 2:e[0]&&e[0].prototype instanceof at||Array.isArray(e[0])?(r=e[0],Array.isArray(e[1])?s=e[1]:a=e[1]):(t=e[0],r=e[1]);break;case 3:Array.isArray(e[2])?(t=e[0],r=e[1],s=e[2]):e[0]&&e[0].prototype instanceof at||Array.isArray(e[0])?(r=e[0],s=e[1],a=e[2]):(t=e[0],r=e[1],a=e[2]);break;default:t=e[0],r=e[1],s=e[2],a=e[3];break}if(typeof s>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:t,resolvedCommandClasses:r,resolvedArgv:s,resolvedContext:a}}function gre(e){return e()}var hre,Sa,Ere=Xe(()=>{Px();Mx();zU();Are();o0();pre();hre=Symbol("clipanion/errorCommand");Sa=class e{constructor({binaryLabel:t,binaryName:r="...",binaryVersion:s,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new Lx({binaryName:r}),this.binaryLabel=t,this.binaryName=r,this.binaryVersion=s,this.enableCapture=a,this.enableColors=n}static from(t,r={}){let s=new e(r),a=Array.isArray(t)?t:[t];for(let n of a)s.register(n);return s}register(t){var r;let s=new Map,a=new t;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[at.isOption]&&s.set(p,h)}let n=this.builder.command(),c=n.cliIndex,f=(r=t.paths)!==null&&r!==void 0?r:a.paths;if(typeof f<"u")for(let p of f)n.addPath(p);this.registrations.set(t,{specs:s,builder:n,index:c});for(let[p,{definition:h}]of s.entries())h(n,p);n.setContext({commandClass:t})}process(t,r){let{input:s,context:a,partial:n}=typeof t=="object"&&Array.isArray(t)?{input:t,context:r}:t,{contexts:c,process:f}=this.builder.compile(),p=f(s,{partial:n}),h={...e.defaultContext,...a};switch(p.selectedIndex){case Td:{let E=_x.from(p,c);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=c[p.selectedIndex],C=this.registrations.get(E);if(typeof C>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let S=new E;S.context=h,S.tokens=p.tokens,S.path=p.path;try{for(let[x,{transformer:I}]of C.specs.entries())S[x]=I(C.builder,x,p,h);return S}catch(x){throw x[hre]=S,x}}break}}async run(t,r){var s,a;let n,c={...e.defaultContext,...r},f=(s=this.enableColors)!==null&&s!==void 0?s:c.colorDepth>1;if(!Array.isArray(t))n=t;else try{n=this.process(t,c)}catch(E){return c.stdout.write(this.error(E,{colored:f})),1}if(n.help)return c.stdout.write(this.usage(n,{colored:f,detailed:!0})),0;n.context=c,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,C)=>this.error(E,C),format:E=>this.format(E),process:(E,C)=>this.process(E,{...c,...C}),run:(E,C)=>this.run(E,{...c,...C}),usage:(E,C)=>this.usage(E,C)};let p=this.enableCapture&&(a=fre(c))!==null&&a!==void 0?a:gre,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return c.stdout.write(this.error(E,{colored:f,command:n})),1}return h}async runExit(t,r){process.exitCode=await this.run(t,r)}definition(t,{colored:r=!1}={}){if(!t.usage)return null;let{usage:s}=this.getUsageByRegistration(t,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(t,{detailed:!0,inlineOptions:!1}),c=typeof t.usage.category<"u"?Vo(t.usage.category,{format:this.format(r),paragraphs:!1}):void 0,f=typeof t.usage.description<"u"?Vo(t.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof t.usage.details<"u"?Vo(t.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof t.usage.examples<"u"?t.usage.examples.map(([E,C])=>[Vo(E,{format:this.format(r),paragraphs:!1}),C.replace(/\$0/g,this.binaryName)]):void 0;return{path:s,usage:a,category:c,description:f,details:p,examples:h,options:n}}definitions({colored:t=!1}={}){let r=[];for(let s of this.registrations.keys()){let a=this.definition(s,{colored:t});a&&r.push(a)}return r}usage(t=null,{colored:r,detailed:s=!1,prefix:a="$ "}={}){var n;if(t===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(x=>x.length===0))!==null&&n!==void 0?n:!1))if(t){t=null;break}else t=p;else if(E){t=null;continue}}t&&(s=!0)}let c=t!==null&&t instanceof at?t.constructor:t,f="";if(c)if(s){let{description:p="",details:h="",examples:E=[]}=c.usage||{};p!==""&&(f+=Vo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,x=>x.toUpperCase()),f+=` +`),(h!==""||E.length>0)&&(f+=`${this.format(r).header("Usage")} +`,f+=` +`);let{usage:C,options:S}=this.getUsageByRegistration(c,{inlineOptions:!1});if(f+=`${this.format(r).bold(a)}${C} +`,S.length>0){f+=` +`,f+=`${this.format(r).header("Options")} +`;let x=S.reduce((I,T)=>Math.max(I,T.definition.length),0);f+=` +`;for(let{definition:I,description:T}of S)f+=` ${this.format(r).bold(I.padEnd(x))} ${Vo(T,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(f+=` +`,f+=`${this.format(r).header("Details")} +`,f+=` +`,f+=Vo(h,{format:this.format(r),paragraphs:!0})),E.length>0){f+=` +`,f+=`${this.format(r).header("Examples")} +`;for(let[x,I]of E)f+=` +`,f+=Vo(x,{format:this.format(r),paragraphs:!1}),f+=`${I.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:p}=this.getUsageByRegistration(c);f+=`${this.format(r).bold(a)}${p} +`}else{let p=new Map;for(let[S,{index:x}]of this.registrations.entries()){if(typeof S.usage>"u")continue;let I=typeof S.usage.category<"u"?Vo(S.usage.category,{format:this.format(r),paragraphs:!1}):null,T=p.get(I);typeof T>"u"&&p.set(I,T=[]);let{usage:O}=this.getUsageByIndex(x);T.push({commandClass:S,usage:O})}let h=Array.from(p.keys()).sort((S,x)=>S===null?-1:x===null?1:S.localeCompare(x,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",C=typeof this.binaryVersion<"u";E||C?(E&&C?f+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:E?f+=`${this.format(r).header(`${this.binaryLabel}`)} +`:f+=`${this.format(r).header(`${this.binaryVersion}`)} +`,f+=` ${this.format(r).bold(a)}${this.binaryName} +`):f+=`${this.format(r).bold(a)}${this.binaryName} +`;for(let S of h){let x=p.get(S).slice().sort((T,O)=>T.usage.localeCompare(O.usage,"en",{usage:"sort",caseFirst:"upper"})),I=S!==null?S.trim():"General commands";f+=` +`,f+=`${this.format(r).header(`${I}`)} +`;for(let{commandClass:T,usage:O}of x){let U=T.usage.description||"undocumented";f+=` +`,f+=` ${this.format(r).bold(O)} +`,f+=` ${Vo(U,{format:this.format(r),paragraphs:!1})}`}}f+=` +`,f+=Vo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return f}error(t,r){var s,{colored:a,command:n=(s=t[hre])!==null&&s!==void 0?s:null}=r===void 0?{}:r;(!t||typeof t!="object"||!("stack"in t))&&(t=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(t)})`));let c="",f=t.name.replace(/([a-z])([A-Z])/g,"$1 $2");f==="Error"&&(f="Internal Error"),c+=`${this.format(a).error(f)}: ${t.message} +`;let p=t.clipanion;return typeof p<"u"?p.type==="usage"&&(c+=` +`,c+=this.usage(n)):t.stack&&(c+=`${t.stack.replace(/^.*\n/,"")} +`),c}format(t){var r;return((r=t??this.enableColors)!==null&&r!==void 0?r:e.defaultContext.colorDepth>1)?Zte:$te}getUsageByRegistration(t,r){let s=this.registrations.get(t);if(typeof s>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(s.index,r)}getUsageByIndex(t,r){return this.builder.getBuilderByIndex(t).usage(r)}};Sa.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:ure()}});var J2,Ire=Xe(()=>{o0();J2=class extends at{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};J2.paths=[["--clipanion=definitions"]]});var K2,Cre=Xe(()=>{o0();K2=class extends at{async execute(){this.context.stdout.write(this.cli.usage())}};K2.paths=[["-h"],["--help"]]});function Hx(e={}){return Ba({definition(t,r){var s;t.addProxy({name:(s=e.name)!==null&&s!==void 0?s:r,required:e.required})},transformer(t,r,s){return s.positionals.map(({value:a})=>a)}})}var a_=Xe(()=>{Bp()});var z2,wre=Xe(()=>{o0();a_();z2=class extends at{constructor(){super(...arguments),this.args=Hx()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} +`)}};z2.paths=[["--clipanion=tokens"]]});var X2,Bre=Xe(()=>{o0();X2=class extends at{async execute(){var t;this.context.stdout.write(`${(t=this.cli.binaryVersion)!==null&&t!==void 0?t:""} +`)}};X2.paths=[["-v"],["--version"]]});var l_={};Vt(l_,{DefinitionsCommand:()=>J2,HelpCommand:()=>K2,TokensCommand:()=>z2,VersionCommand:()=>X2});var vre=Xe(()=>{Ire();Cre();wre();Bre()});function Sre(e,t,r){let[s,a]=Yf(t,r??{}),{arity:n=1}=a,c=e.split(","),f=new Set(c);return Ba({definition(p){p.addOption({names:c,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let C,S=typeof s<"u"?[...s]:void 0;for(let{name:x,value:I}of E.options)f.has(x)&&(C=x,S=S??[],S.push(I));return typeof S<"u"?Fd(C??h,S,a.validator):S}})}var Dre=Xe(()=>{Bp()});function bre(e,t,r){let[s,a]=Yf(t,r??{}),n=e.split(","),c=new Set(n);return Ba({definition(f){f.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(f,p,h){let E=s;for(let{name:C,value:S}of h.options)c.has(C)&&(E=S);return E}})}var Pre=Xe(()=>{Bp()});function xre(e,t,r){let[s,a]=Yf(t,r??{}),n=e.split(","),c=new Set(n);return Ba({definition(f){f.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(f,p,h){let E=s;for(let{name:C,value:S}of h.options)c.has(C)&&(E??(E=0),S?E+=1:E=0);return E}})}var kre=Xe(()=>{Bp()});function Qre(e={}){return Ba({definition(t,r){var s;t.addRest({name:(s=e.name)!==null&&s!==void 0?s:r,required:e.required})},transformer(t,r,s){let a=c=>{let f=s.positionals[c];return f.extra===Vl||f.extra===!1&&cc)}})}var Rre=Xe(()=>{Mx();Bp()});function pqe(e,t,r){let[s,a]=Yf(t,r??{}),{arity:n=1}=a,c=e.split(","),f=new Set(c);return Ba({definition(p){p.addOption({names:c,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,C){let S,x=s;typeof a.env<"u"&&C.env[a.env]&&(S=a.env,x=C.env[a.env]);for(let{name:I,value:T}of E.options)f.has(I)&&(S=I,x=T);return typeof x=="string"?Fd(S??h,x,a.validator):x}})}function hqe(e={}){let{required:t=!0}=e;return Ba({definition(r,s){var a;r.addPositional({name:(a=e.name)!==null&&a!==void 0?a:s,required:e.required})},transformer(r,s,a){var n;for(let c=0;c{Mx();Bp()});var he={};Vt(he,{Array:()=>Sre,Boolean:()=>bre,Counter:()=>xre,Proxy:()=>Hx,Rest:()=>Qre,String:()=>Tre,applyValidator:()=>Fd,cleanValidationError:()=>Qx,formatError:()=>j2,isOptionSymbol:()=>H2,makeCommandOption:()=>Ba,rerouteArguments:()=>Yf});var Nre=Xe(()=>{Bp();a_();Dre();Pre();kre();Rre();Fre()});var Z2={};Vt(Z2,{Builtins:()=>l_,Cli:()=>Sa,Command:()=>at,Option:()=>he,UsageError:()=>it,formatMarkdownish:()=>Vo,run:()=>mre,runExit:()=>dre});var Yt=Xe(()=>{kx();zU();o0();Ere();vre();Nre()});var Ore=G((pkt,gqe)=>{gqe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var _re=G((hkt,vp)=>{var Lre=Ie("fs"),u_=Ie("path"),dqe=Ie("os"),mqe=Ie("crypto"),yqe=Ore(),f_=yqe.version,Eqe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Iqe(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,` +`);let s;for(;(s=Eqe.exec(r))!=null;){let a=s[1],n=s[2]||"";n=n.trim();let c=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),c==='"'&&(n=n.replace(/\\n/g,` +`),n=n.replace(/\\r/g,"\r")),t[a]=n}return t}function Cqe(e){let t=Ure(e),r=Ws.configDotenv({path:t});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);let s=Mre(e).split(","),a=s.length,n;for(let c=0;c=a)throw f}return Ws.parse(n)}function wqe(e){console.log(`[dotenv@${f_}][INFO] ${e}`)}function Bqe(e){console.log(`[dotenv@${f_}][WARN] ${e}`)}function c_(e){console.log(`[dotenv@${f_}][DEBUG] ${e}`)}function Mre(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function vqe(e,t){let r;try{r=new URL(t)}catch(f){throw f.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):f}let s=r.password;if(!s)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,c=e.parsed[n];if(!c)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:c,key:s}}function Ure(e){let t=u_.resolve(process.cwd(),".env");return e&&e.path&&e.path.length>0&&(t=e.path),t.endsWith(".vault")?t:`${t}.vault`}function Sqe(e){return e[0]==="~"?u_.join(dqe.homedir(),e.slice(1)):e}function Dqe(e){wqe("Loading env from encrypted .env.vault");let t=Ws._parseVault(e),r=process.env;return e&&e.processEnv!=null&&(r=e.processEnv),Ws.populate(r,t,e),{parsed:t}}function bqe(e){let t=u_.resolve(process.cwd(),".env"),r="utf8",s=!!(e&&e.debug);e&&(e.path!=null&&(t=Sqe(e.path)),e.encoding!=null&&(r=e.encoding));try{let a=Ws.parse(Lre.readFileSync(t,{encoding:r})),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),Ws.populate(n,a,e),{parsed:a}}catch(a){return s&&c_(`Failed to load ${t} ${a.message}`),{error:a}}}function Pqe(e){let t=Ure(e);return Mre(e).length===0?Ws.configDotenv(e):Lre.existsSync(t)?Ws._configVault(e):(Bqe(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),Ws.configDotenv(e))}function xqe(e,t){let r=Buffer.from(t.slice(-64),"hex"),s=Buffer.from(e,"base64"),a=s.slice(0,12),n=s.slice(-16);s=s.slice(12,-16);try{let c=mqe.createDecipheriv("aes-256-gcm",r,a);return c.setAuthTag(n),`${c.update(s)}${c.final()}`}catch(c){let f=c instanceof RangeError,p=c.message==="Invalid key length",h=c.message==="Unsupported state or unable to authenticate data";if(f||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",c.code),console.error("Error: ",c.message),c}}function kqe(e,t,r={}){let s=!!(r&&r.debug),a=!!(r&&r.override);if(typeof t!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(t))Object.prototype.hasOwnProperty.call(e,n)?(a===!0&&(e[n]=t[n]),s&&c_(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):e[n]=t[n]}var Ws={configDotenv:bqe,_configVault:Dqe,_parseVault:Cqe,config:Pqe,decrypt:xqe,parse:Iqe,populate:kqe};vp.exports.configDotenv=Ws.configDotenv;vp.exports._configVault=Ws._configVault;vp.exports._parseVault=Ws._parseVault;vp.exports.config=Ws.config;vp.exports.decrypt=Ws.decrypt;vp.exports.parse=Ws.parse;vp.exports.populate=Ws.populate;vp.exports=Ws});var jre=G((gkt,Hre)=>{"use strict";Hre.exports=(e,...t)=>new Promise(r=>{r(e(...t))})});var Nd=G((dkt,A_)=>{"use strict";var Qqe=jre(),Gre=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=[],r=0,s=()=>{r--,t.length>0&&t.shift()()},a=(f,p,...h)=>{r++;let E=Qqe(f,...h);p(E),E.then(s,s)},n=(f,p,...h)=>{rnew Promise(h=>n(f,h,...p));return Object.defineProperties(c,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length}}),c};A_.exports=Gre;A_.exports.default=Gre});function Kf(e){return`YN${e.toString(10).padStart(4,"0")}`}function jx(e){let t=Number(e.slice(2));if(typeof Ir[t]>"u")throw new Error(`Unknown message name: "${e}"`);return t}var Ir,Gx=Xe(()=>{Ir=(Ue=>(Ue[Ue.UNNAMED=0]="UNNAMED",Ue[Ue.EXCEPTION=1]="EXCEPTION",Ue[Ue.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Ue[Ue.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Ue[Ue.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Ue[Ue.BUILD_DISABLED=5]="BUILD_DISABLED",Ue[Ue.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Ue[Ue.MUST_BUILD=7]="MUST_BUILD",Ue[Ue.MUST_REBUILD=8]="MUST_REBUILD",Ue[Ue.BUILD_FAILED=9]="BUILD_FAILED",Ue[Ue.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Ue[Ue.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Ue[Ue.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Ue[Ue.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Ue[Ue.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Ue[Ue.REMOTE_INVALID=15]="REMOTE_INVALID",Ue[Ue.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Ue[Ue.RESOLUTION_PACK=17]="RESOLUTION_PACK",Ue[Ue.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Ue[Ue.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Ue[Ue.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Ue[Ue.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Ue[Ue.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Ue[Ue.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Ue[Ue.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Ue[Ue.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Ue[Ue.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Ue[Ue.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Ue[Ue.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Ue[Ue.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Ue[Ue.FETCH_FAILED=30]="FETCH_FAILED",Ue[Ue.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Ue[Ue.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Ue[Ue.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Ue[Ue.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Ue[Ue.NETWORK_ERROR=35]="NETWORK_ERROR",Ue[Ue.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Ue[Ue.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Ue[Ue.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Ue[Ue.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Ue[Ue.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Ue[Ue.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Ue[Ue.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Ue[Ue.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Ue[Ue.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Ue[Ue.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Ue[Ue.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Ue[Ue.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Ue[Ue.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Ue[Ue.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Ue[Ue.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Ue[Ue.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Ue[Ue.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Ue[Ue.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Ue[Ue.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Ue[Ue.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Ue[Ue.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Ue[Ue.INVALID_MANIFEST=57]="INVALID_MANIFEST",Ue[Ue.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Ue[Ue.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Ue[Ue.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Ue[Ue.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Ue[Ue.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Ue[Ue.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Ue[Ue.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Ue[Ue.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Ue[Ue.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Ue[Ue.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Ue[Ue.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Ue[Ue.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Ue[Ue.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Ue[Ue.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Ue[Ue.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Ue[Ue.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Ue[Ue.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Ue[Ue.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Ue[Ue.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Ue[Ue.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Ue[Ue.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Ue[Ue.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Ue[Ue.NETWORK_DISABLED=80]="NETWORK_DISABLED",Ue[Ue.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Ue[Ue.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Ue[Ue.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Ue[Ue.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Ue[Ue.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Ue[Ue.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Ue[Ue.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Ue[Ue.VERSION_NOTICE=88]="VERSION_NOTICE",Ue[Ue.TIPS_NOTICE=89]="TIPS_NOTICE",Ue[Ue.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Ue[Ue.INVALID_PROVENANCE_ENVIRONMENT=91]="INVALID_PROVENANCE_ENVIRONMENT",Ue[Ue.EXPERIMENTAL=92]="EXPERIMENTAL",Ue))(Ir||{})});var $2=G((ykt,qre)=>{var Rqe="2.0.0",Tqe=Number.MAX_SAFE_INTEGER||9007199254740991,Fqe=16,Nqe=250,Oqe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];qre.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Fqe,MAX_SAFE_BUILD_LENGTH:Nqe,MAX_SAFE_INTEGER:Tqe,RELEASE_TYPES:Oqe,SEMVER_SPEC_VERSION:Rqe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var eB=G((Ekt,Wre)=>{var Lqe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Wre.exports=Lqe});var bE=G((Sp,Yre)=>{var{MAX_SAFE_COMPONENT_LENGTH:p_,MAX_SAFE_BUILD_LENGTH:Mqe,MAX_LENGTH:Uqe}=$2(),_qe=eB();Sp=Yre.exports={};var Hqe=Sp.re=[],jqe=Sp.safeRe=[],rr=Sp.src=[],nr=Sp.t={},Gqe=0,h_="[a-zA-Z0-9-]",qqe=[["\\s",1],["\\d",Uqe],[h_,Mqe]],Wqe=e=>{for(let[t,r]of qqe)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},Jr=(e,t,r)=>{let s=Wqe(t),a=Gqe++;_qe(e,a,t),nr[e]=a,rr[a]=t,Hqe[a]=new RegExp(t,r?"g":void 0),jqe[a]=new RegExp(s,r?"g":void 0)};Jr("NUMERICIDENTIFIER","0|[1-9]\\d*");Jr("NUMERICIDENTIFIERLOOSE","\\d+");Jr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h_}*`);Jr("MAINVERSION",`(${rr[nr.NUMERICIDENTIFIER]})\\.(${rr[nr.NUMERICIDENTIFIER]})\\.(${rr[nr.NUMERICIDENTIFIER]})`);Jr("MAINVERSIONLOOSE",`(${rr[nr.NUMERICIDENTIFIERLOOSE]})\\.(${rr[nr.NUMERICIDENTIFIERLOOSE]})\\.(${rr[nr.NUMERICIDENTIFIERLOOSE]})`);Jr("PRERELEASEIDENTIFIER",`(?:${rr[nr.NUMERICIDENTIFIER]}|${rr[nr.NONNUMERICIDENTIFIER]})`);Jr("PRERELEASEIDENTIFIERLOOSE",`(?:${rr[nr.NUMERICIDENTIFIERLOOSE]}|${rr[nr.NONNUMERICIDENTIFIER]})`);Jr("PRERELEASE",`(?:-(${rr[nr.PRERELEASEIDENTIFIER]}(?:\\.${rr[nr.PRERELEASEIDENTIFIER]})*))`);Jr("PRERELEASELOOSE",`(?:-?(${rr[nr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${rr[nr.PRERELEASEIDENTIFIERLOOSE]})*))`);Jr("BUILDIDENTIFIER",`${h_}+`);Jr("BUILD",`(?:\\+(${rr[nr.BUILDIDENTIFIER]}(?:\\.${rr[nr.BUILDIDENTIFIER]})*))`);Jr("FULLPLAIN",`v?${rr[nr.MAINVERSION]}${rr[nr.PRERELEASE]}?${rr[nr.BUILD]}?`);Jr("FULL",`^${rr[nr.FULLPLAIN]}$`);Jr("LOOSEPLAIN",`[v=\\s]*${rr[nr.MAINVERSIONLOOSE]}${rr[nr.PRERELEASELOOSE]}?${rr[nr.BUILD]}?`);Jr("LOOSE",`^${rr[nr.LOOSEPLAIN]}$`);Jr("GTLT","((?:<|>)?=?)");Jr("XRANGEIDENTIFIERLOOSE",`${rr[nr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Jr("XRANGEIDENTIFIER",`${rr[nr.NUMERICIDENTIFIER]}|x|X|\\*`);Jr("XRANGEPLAIN",`[v=\\s]*(${rr[nr.XRANGEIDENTIFIER]})(?:\\.(${rr[nr.XRANGEIDENTIFIER]})(?:\\.(${rr[nr.XRANGEIDENTIFIER]})(?:${rr[nr.PRERELEASE]})?${rr[nr.BUILD]}?)?)?`);Jr("XRANGEPLAINLOOSE",`[v=\\s]*(${rr[nr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${rr[nr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${rr[nr.XRANGEIDENTIFIERLOOSE]})(?:${rr[nr.PRERELEASELOOSE]})?${rr[nr.BUILD]}?)?)?`);Jr("XRANGE",`^${rr[nr.GTLT]}\\s*${rr[nr.XRANGEPLAIN]}$`);Jr("XRANGELOOSE",`^${rr[nr.GTLT]}\\s*${rr[nr.XRANGEPLAINLOOSE]}$`);Jr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${p_}})(?:\\.(\\d{1,${p_}}))?(?:\\.(\\d{1,${p_}}))?`);Jr("COERCE",`${rr[nr.COERCEPLAIN]}(?:$|[^\\d])`);Jr("COERCEFULL",rr[nr.COERCEPLAIN]+`(?:${rr[nr.PRERELEASE]})?(?:${rr[nr.BUILD]})?(?:$|[^\\d])`);Jr("COERCERTL",rr[nr.COERCE],!0);Jr("COERCERTLFULL",rr[nr.COERCEFULL],!0);Jr("LONETILDE","(?:~>?)");Jr("TILDETRIM",`(\\s*)${rr[nr.LONETILDE]}\\s+`,!0);Sp.tildeTrimReplace="$1~";Jr("TILDE",`^${rr[nr.LONETILDE]}${rr[nr.XRANGEPLAIN]}$`);Jr("TILDELOOSE",`^${rr[nr.LONETILDE]}${rr[nr.XRANGEPLAINLOOSE]}$`);Jr("LONECARET","(?:\\^)");Jr("CARETTRIM",`(\\s*)${rr[nr.LONECARET]}\\s+`,!0);Sp.caretTrimReplace="$1^";Jr("CARET",`^${rr[nr.LONECARET]}${rr[nr.XRANGEPLAIN]}$`);Jr("CARETLOOSE",`^${rr[nr.LONECARET]}${rr[nr.XRANGEPLAINLOOSE]}$`);Jr("COMPARATORLOOSE",`^${rr[nr.GTLT]}\\s*(${rr[nr.LOOSEPLAIN]})$|^$`);Jr("COMPARATOR",`^${rr[nr.GTLT]}\\s*(${rr[nr.FULLPLAIN]})$|^$`);Jr("COMPARATORTRIM",`(\\s*)${rr[nr.GTLT]}\\s*(${rr[nr.LOOSEPLAIN]}|${rr[nr.XRANGEPLAIN]})`,!0);Sp.comparatorTrimReplace="$1$2$3";Jr("HYPHENRANGE",`^\\s*(${rr[nr.XRANGEPLAIN]})\\s+-\\s+(${rr[nr.XRANGEPLAIN]})\\s*$`);Jr("HYPHENRANGELOOSE",`^\\s*(${rr[nr.XRANGEPLAINLOOSE]})\\s+-\\s+(${rr[nr.XRANGEPLAINLOOSE]})\\s*$`);Jr("STAR","(<|>)?=?\\s*\\*");Jr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Jr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var qx=G((Ikt,Vre)=>{var Yqe=Object.freeze({loose:!0}),Vqe=Object.freeze({}),Jqe=e=>e?typeof e!="object"?Yqe:e:Vqe;Vre.exports=Jqe});var g_=G((Ckt,zre)=>{var Jre=/^[0-9]+$/,Kre=(e,t)=>{let r=Jre.test(e),s=Jre.test(t);return r&&s&&(e=+e,t=+t),e===t?0:r&&!s?-1:s&&!r?1:eKre(t,e);zre.exports={compareIdentifiers:Kre,rcompareIdentifiers:Kqe}});var Ko=G((wkt,ene)=>{var Wx=eB(),{MAX_LENGTH:Xre,MAX_SAFE_INTEGER:Yx}=$2(),{safeRe:Zre,t:$re}=bE(),zqe=qx(),{compareIdentifiers:PE}=g_(),d_=class e{constructor(t,r){if(r=zqe(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Xre)throw new TypeError(`version is longer than ${Xre} characters`);Wx("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let s=t.trim().match(r.loose?Zre[$re.LOOSE]:Zre[$re.FULL]);if(!s)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Yx||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Yx||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Yx||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];s===!1&&(n=[r]),PE(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};ene.exports=d_});var Od=G((Bkt,rne)=>{var tne=Ko(),Xqe=(e,t,r=!1)=>{if(e instanceof tne)return e;try{return new tne(e,t)}catch(s){if(!r)return null;throw s}};rne.exports=Xqe});var ine=G((vkt,nne)=>{var Zqe=Od(),$qe=(e,t)=>{let r=Zqe(e,t);return r?r.version:null};nne.exports=$qe});var one=G((Skt,sne)=>{var eWe=Od(),tWe=(e,t)=>{let r=eWe(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};sne.exports=tWe});var cne=G((Dkt,lne)=>{var ane=Ko(),rWe=(e,t,r,s,a)=>{typeof r=="string"&&(a=s,s=r,r=void 0);try{return new ane(e instanceof ane?e.version:e,r).inc(t,s,a).version}catch{return null}};lne.exports=rWe});var Ane=G((bkt,fne)=>{var une=Od(),nWe=(e,t)=>{let r=une(e,null,!0),s=une(t,null,!0),a=r.compare(s);if(a===0)return null;let n=a>0,c=n?r:s,f=n?s:r,p=!!c.prerelease.length;if(!!f.prerelease.length&&!p)return!f.patch&&!f.minor?"major":c.patch?"patch":c.minor?"minor":"major";let E=p?"pre":"";return r.major!==s.major?E+"major":r.minor!==s.minor?E+"minor":r.patch!==s.patch?E+"patch":"prerelease"};fne.exports=nWe});var hne=G((Pkt,pne)=>{var iWe=Ko(),sWe=(e,t)=>new iWe(e,t).major;pne.exports=sWe});var dne=G((xkt,gne)=>{var oWe=Ko(),aWe=(e,t)=>new oWe(e,t).minor;gne.exports=aWe});var yne=G((kkt,mne)=>{var lWe=Ko(),cWe=(e,t)=>new lWe(e,t).patch;mne.exports=cWe});var Ine=G((Qkt,Ene)=>{var uWe=Od(),fWe=(e,t)=>{let r=uWe(e,t);return r&&r.prerelease.length?r.prerelease:null};Ene.exports=fWe});var Sc=G((Rkt,wne)=>{var Cne=Ko(),AWe=(e,t,r)=>new Cne(e,r).compare(new Cne(t,r));wne.exports=AWe});var vne=G((Tkt,Bne)=>{var pWe=Sc(),hWe=(e,t,r)=>pWe(t,e,r);Bne.exports=hWe});var Dne=G((Fkt,Sne)=>{var gWe=Sc(),dWe=(e,t)=>gWe(e,t,!0);Sne.exports=dWe});var Vx=G((Nkt,Pne)=>{var bne=Ko(),mWe=(e,t,r)=>{let s=new bne(e,r),a=new bne(t,r);return s.compare(a)||s.compareBuild(a)};Pne.exports=mWe});var kne=G((Okt,xne)=>{var yWe=Vx(),EWe=(e,t)=>e.sort((r,s)=>yWe(r,s,t));xne.exports=EWe});var Rne=G((Lkt,Qne)=>{var IWe=Vx(),CWe=(e,t)=>e.sort((r,s)=>IWe(s,r,t));Qne.exports=CWe});var tB=G((Mkt,Tne)=>{var wWe=Sc(),BWe=(e,t,r)=>wWe(e,t,r)>0;Tne.exports=BWe});var Jx=G((Ukt,Fne)=>{var vWe=Sc(),SWe=(e,t,r)=>vWe(e,t,r)<0;Fne.exports=SWe});var m_=G((_kt,Nne)=>{var DWe=Sc(),bWe=(e,t,r)=>DWe(e,t,r)===0;Nne.exports=bWe});var y_=G((Hkt,One)=>{var PWe=Sc(),xWe=(e,t,r)=>PWe(e,t,r)!==0;One.exports=xWe});var Kx=G((jkt,Lne)=>{var kWe=Sc(),QWe=(e,t,r)=>kWe(e,t,r)>=0;Lne.exports=QWe});var zx=G((Gkt,Mne)=>{var RWe=Sc(),TWe=(e,t,r)=>RWe(e,t,r)<=0;Mne.exports=TWe});var E_=G((qkt,Une)=>{var FWe=m_(),NWe=y_(),OWe=tB(),LWe=Kx(),MWe=Jx(),UWe=zx(),_We=(e,t,r,s)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return FWe(e,r,s);case"!=":return NWe(e,r,s);case">":return OWe(e,r,s);case">=":return LWe(e,r,s);case"<":return MWe(e,r,s);case"<=":return UWe(e,r,s);default:throw new TypeError(`Invalid operator: ${t}`)}};Une.exports=_We});var Hne=G((Wkt,_ne)=>{var HWe=Ko(),jWe=Od(),{safeRe:Xx,t:Zx}=bE(),GWe=(e,t)=>{if(e instanceof HWe)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(t.includePrerelease?Xx[Zx.COERCEFULL]:Xx[Zx.COERCE]);else{let p=t.includePrerelease?Xx[Zx.COERCERTLFULL]:Xx[Zx.COERCERTL],h;for(;(h=p.exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(r===null)return null;let s=r[2],a=r[3]||"0",n=r[4]||"0",c=t.includePrerelease&&r[5]?`-${r[5]}`:"",f=t.includePrerelease&&r[6]?`+${r[6]}`:"";return jWe(`${s}.${a}.${n}${c}${f}`,t)};_ne.exports=GWe});var Gne=G((Ykt,jne)=>{"use strict";jne.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}});var Wne=G((Vkt,qne)=>{"use strict";qne.exports=On;On.Node=Ld;On.create=On;function On(e){var t=this;if(t instanceof On||(t=new On),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach=="function")e.forEach(function(a){t.push(a)});else if(arguments.length>0)for(var r=0,s=arguments.length;r1)r=t;else if(this.head)s=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;s!==null;a++)r=e(r,s.value,a),s=s.next;return r};On.prototype.reduceReverse=function(e,t){var r,s=this.tail;if(arguments.length>1)r=t;else if(this.tail)s=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;s!==null;a--)r=e(r,s.value,a),s=s.prev;return r};On.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;r!==null;t++)e[t]=r.value,r=r.next;return e};On.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;r!==null;t++)e[t]=r.value,r=r.prev;return e};On.prototype.slice=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new On;if(tthis.length&&(t=this.length);for(var s=0,a=this.head;a!==null&&sthis.length&&(t=this.length);for(var s=this.length,a=this.tail;a!==null&&s>t;s--)a=a.prev;for(;a!==null&&s>e;s--,a=a.prev)r.push(a.value);return r};On.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var s=0,a=this.head;a!==null&&s{"use strict";var VWe=Wne(),Md=Symbol("max"),bp=Symbol("length"),xE=Symbol("lengthCalculator"),nB=Symbol("allowStale"),Ud=Symbol("maxAge"),Dp=Symbol("dispose"),Yne=Symbol("noDisposeOnSet"),Ys=Symbol("lruList"),Ou=Symbol("cache"),Jne=Symbol("updateAgeOnGet"),I_=()=>1,w_=class{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");let r=this[Md]=t.max||1/0,s=t.length||I_;if(this[xE]=typeof s!="function"?I_:s,this[nB]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[Ud]=t.maxAge||0,this[Dp]=t.dispose,this[Yne]=t.noDisposeOnSet||!1,this[Jne]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[Md]=t||1/0,rB(this)}get max(){return this[Md]}set allowStale(t){this[nB]=!!t}get allowStale(){return this[nB]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[Ud]=t,rB(this)}get maxAge(){return this[Ud]}set lengthCalculator(t){typeof t!="function"&&(t=I_),t!==this[xE]&&(this[xE]=t,this[bp]=0,this[Ys].forEach(r=>{r.length=this[xE](r.value,r.key),this[bp]+=r.length})),rB(this)}get lengthCalculator(){return this[xE]}get length(){return this[bp]}get itemCount(){return this[Ys].length}rforEach(t,r){r=r||this;for(let s=this[Ys].tail;s!==null;){let a=s.prev;Vne(this,t,s,r),s=a}}forEach(t,r){r=r||this;for(let s=this[Ys].head;s!==null;){let a=s.next;Vne(this,t,s,r),s=a}}keys(){return this[Ys].toArray().map(t=>t.key)}values(){return this[Ys].toArray().map(t=>t.value)}reset(){this[Dp]&&this[Ys]&&this[Ys].length&&this[Ys].forEach(t=>this[Dp](t.key,t.value)),this[Ou]=new Map,this[Ys]=new VWe,this[bp]=0}dump(){return this[Ys].map(t=>$x(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[Ys]}set(t,r,s){if(s=s||this[Ud],s&&typeof s!="number")throw new TypeError("maxAge must be a number");let a=s?Date.now():0,n=this[xE](r,t);if(this[Ou].has(t)){if(n>this[Md])return kE(this,this[Ou].get(t)),!1;let p=this[Ou].get(t).value;return this[Dp]&&(this[Yne]||this[Dp](t,p.value)),p.now=a,p.maxAge=s,p.value=r,this[bp]+=n-p.length,p.length=n,this.get(t),rB(this),!0}let c=new B_(t,r,n,a,s);return c.length>this[Md]?(this[Dp]&&this[Dp](t,r),!1):(this[bp]+=c.length,this[Ys].unshift(c),this[Ou].set(t,this[Ys].head),rB(this),!0)}has(t){if(!this[Ou].has(t))return!1;let r=this[Ou].get(t).value;return!$x(this,r)}get(t){return C_(this,t,!0)}peek(t){return C_(this,t,!1)}pop(){let t=this[Ys].tail;return t?(kE(this,t),t.value):null}del(t){kE(this,this[Ou].get(t))}load(t){this.reset();let r=Date.now();for(let s=t.length-1;s>=0;s--){let a=t[s],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let c=n-r;c>0&&this.set(a.k,a.v,c)}}}prune(){this[Ou].forEach((t,r)=>C_(this,r,!1))}},C_=(e,t,r)=>{let s=e[Ou].get(t);if(s){let a=s.value;if($x(e,a)){if(kE(e,s),!e[nB])return}else r&&(e[Jne]&&(s.value.now=Date.now()),e[Ys].unshiftNode(s));return a.value}},$x=(e,t)=>{if(!t||!t.maxAge&&!e[Ud])return!1;let r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[Ud]&&r>e[Ud]},rB=e=>{if(e[bp]>e[Md])for(let t=e[Ys].tail;e[bp]>e[Md]&&t!==null;){let r=t.prev;kE(e,t),t=r}},kE=(e,t)=>{if(t){let r=t.value;e[Dp]&&e[Dp](r.key,r.value),e[bp]-=r.length,e[Ou].delete(r.key),e[Ys].removeNode(t)}},B_=class{constructor(t,r,s,a,n){this.key=t,this.value=r,this.length=s,this.now=a,this.maxAge=n||0}},Vne=(e,t,r,s)=>{let a=r.value;$x(e,a)&&(kE(e,r),e[nB]||(a=void 0)),a&&t.call(s,a.value,a.key,e)};Kne.exports=w_});var Dc=G((Kkt,eie)=>{var v_=class e{constructor(t,r){if(r=KWe(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof S_)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(a=>!Zne(a[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&rYe(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){let s=((this.options.includePrerelease&&eYe)|(this.options.loose&&tYe))+":"+t,a=Xne.get(s);if(a)return a;let n=this.options.loose,c=n?hl[Da.HYPHENRANGELOOSE]:hl[Da.HYPHENRANGE];t=t.replace(c,AYe(this.options.includePrerelease)),Si("hyphen replace",t),t=t.replace(hl[Da.COMPARATORTRIM],XWe),Si("comparator trim",t),t=t.replace(hl[Da.TILDETRIM],ZWe),Si("tilde trim",t),t=t.replace(hl[Da.CARETTRIM],$We),Si("caret trim",t);let f=t.split(" ").map(C=>nYe(C,this.options)).join(" ").split(/\s+/).map(C=>fYe(C,this.options));n&&(f=f.filter(C=>(Si("loose invalid filter",C,this.options),!!C.match(hl[Da.COMPARATORLOOSE])))),Si("range list",f);let p=new Map,h=f.map(C=>new S_(C,this.options));for(let C of h){if(Zne(C))return[C];p.set(C.value,C)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return Xne.set(s,E),E}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(s=>$ne(s,r)&&t.set.some(a=>$ne(a,r)&&s.every(n=>a.every(c=>n.intersects(c,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new zWe(t,this.options)}catch{return!1}for(let r=0;re.value==="<0.0.0-0",rYe=e=>e.value==="",$ne=(e,t)=>{let r=!0,s=e.slice(),a=s.pop();for(;r&&s.length;)r=s.every(n=>a.intersects(n,t)),a=s.pop();return r},nYe=(e,t)=>(Si("comp",e,t),e=oYe(e,t),Si("caret",e),e=iYe(e,t),Si("tildes",e),e=lYe(e,t),Si("xrange",e),e=uYe(e,t),Si("stars",e),e),ba=e=>!e||e.toLowerCase()==="x"||e==="*",iYe=(e,t)=>e.trim().split(/\s+/).map(r=>sYe(r,t)).join(" "),sYe=(e,t)=>{let r=t.loose?hl[Da.TILDELOOSE]:hl[Da.TILDE];return e.replace(r,(s,a,n,c,f)=>{Si("tilde",e,s,a,n,c,f);let p;return ba(a)?p="":ba(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:ba(c)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:f?(Si("replaceTilde pr",f),p=`>=${a}.${n}.${c}-${f} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${c} <${a}.${+n+1}.0-0`,Si("tilde return",p),p})},oYe=(e,t)=>e.trim().split(/\s+/).map(r=>aYe(r,t)).join(" "),aYe=(e,t)=>{Si("caret",e,t);let r=t.loose?hl[Da.CARETLOOSE]:hl[Da.CARET],s=t.includePrerelease?"-0":"";return e.replace(r,(a,n,c,f,p)=>{Si("caret",e,a,n,c,f,p);let h;return ba(n)?h="":ba(c)?h=`>=${n}.0.0${s} <${+n+1}.0.0-0`:ba(f)?n==="0"?h=`>=${n}.${c}.0${s} <${n}.${+c+1}.0-0`:h=`>=${n}.${c}.0${s} <${+n+1}.0.0-0`:p?(Si("replaceCaret pr",p),n==="0"?c==="0"?h=`>=${n}.${c}.${f}-${p} <${n}.${c}.${+f+1}-0`:h=`>=${n}.${c}.${f}-${p} <${n}.${+c+1}.0-0`:h=`>=${n}.${c}.${f}-${p} <${+n+1}.0.0-0`):(Si("no pr"),n==="0"?c==="0"?h=`>=${n}.${c}.${f}${s} <${n}.${c}.${+f+1}-0`:h=`>=${n}.${c}.${f}${s} <${n}.${+c+1}.0-0`:h=`>=${n}.${c}.${f} <${+n+1}.0.0-0`),Si("caret return",h),h})},lYe=(e,t)=>(Si("replaceXRanges",e,t),e.split(/\s+/).map(r=>cYe(r,t)).join(" ")),cYe=(e,t)=>{e=e.trim();let r=t.loose?hl[Da.XRANGELOOSE]:hl[Da.XRANGE];return e.replace(r,(s,a,n,c,f,p)=>{Si("xRange",e,s,a,n,c,f,p);let h=ba(n),E=h||ba(c),C=E||ba(f),S=C;return a==="="&&S&&(a=""),p=t.includePrerelease?"-0":"",h?a===">"||a==="<"?s="<0.0.0-0":s="*":a&&S?(E&&(c=0),f=0,a===">"?(a=">=",E?(n=+n+1,c=0,f=0):(c=+c+1,f=0)):a==="<="&&(a="<",E?n=+n+1:c=+c+1),a==="<"&&(p="-0"),s=`${a+n}.${c}.${f}${p}`):E?s=`>=${n}.0.0${p} <${+n+1}.0.0-0`:C&&(s=`>=${n}.${c}.0${p} <${n}.${+c+1}.0-0`),Si("xRange return",s),s})},uYe=(e,t)=>(Si("replaceStars",e,t),e.trim().replace(hl[Da.STAR],"")),fYe=(e,t)=>(Si("replaceGTE0",e,t),e.trim().replace(hl[t.includePrerelease?Da.GTE0PRE:Da.GTE0],"")),AYe=e=>(t,r,s,a,n,c,f,p,h,E,C,S,x)=>(ba(s)?r="":ba(a)?r=`>=${s}.0.0${e?"-0":""}`:ba(n)?r=`>=${s}.${a}.0${e?"-0":""}`:c?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,ba(h)?p="":ba(E)?p=`<${+h+1}.0.0-0`:ba(C)?p=`<${h}.${+E+1}.0-0`:S?p=`<=${h}.${E}.${C}-${S}`:e?p=`<${h}.${E}.${+C+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),pYe=(e,t,r)=>{for(let s=0;s0){let a=e[s].semver;if(a.major===t.major&&a.minor===t.minor&&a.patch===t.patch)return!0}return!1}return!0}});var iB=G((zkt,oie)=>{var sB=Symbol("SemVer ANY"),P_=class e{static get ANY(){return sB}constructor(t,r){if(r=tie(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),b_("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===sB?this.value="":this.value=this.operator+this.semver.version,b_("comp",this)}parse(t){let r=this.options.loose?rie[nie.COMPARATORLOOSE]:rie[nie.COMPARATOR],s=t.match(r);if(!s)throw new TypeError(`Invalid comparator: ${t}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new iie(s[2],this.options.loose):this.semver=sB}toString(){return this.value}test(t){if(b_("Comparator.test",t,this.options.loose),this.semver===sB||t===sB)return!0;if(typeof t=="string")try{t=new iie(t,this.options)}catch{return!1}return D_(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new sie(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new sie(this.value,r).test(t.semver):(r=tie(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||D_(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||D_(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};oie.exports=P_;var tie=qx(),{safeRe:rie,t:nie}=bE(),D_=E_(),b_=eB(),iie=Ko(),sie=Dc()});var oB=G((Xkt,aie)=>{var hYe=Dc(),gYe=(e,t,r)=>{try{t=new hYe(t,r)}catch{return!1}return t.test(e)};aie.exports=gYe});var cie=G((Zkt,lie)=>{var dYe=Dc(),mYe=(e,t)=>new dYe(e,t).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" "));lie.exports=mYe});var fie=G(($kt,uie)=>{var yYe=Ko(),EYe=Dc(),IYe=(e,t,r)=>{let s=null,a=null,n=null;try{n=new EYe(t,r)}catch{return null}return e.forEach(c=>{n.test(c)&&(!s||a.compare(c)===-1)&&(s=c,a=new yYe(s,r))}),s};uie.exports=IYe});var pie=G((eQt,Aie)=>{var CYe=Ko(),wYe=Dc(),BYe=(e,t,r)=>{let s=null,a=null,n=null;try{n=new wYe(t,r)}catch{return null}return e.forEach(c=>{n.test(c)&&(!s||a.compare(c)===1)&&(s=c,a=new CYe(s,r))}),s};Aie.exports=BYe});var die=G((tQt,gie)=>{var x_=Ko(),vYe=Dc(),hie=tB(),SYe=(e,t)=>{e=new vYe(e,t);let r=new x_("0.0.0");if(e.test(r)||(r=new x_("0.0.0-0"),e.test(r)))return r;r=null;for(let s=0;s{let f=new x_(c.semver.version);switch(c.operator){case">":f.prerelease.length===0?f.patch++:f.prerelease.push(0),f.raw=f.format();case"":case">=":(!n||hie(f,n))&&(n=f);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),n&&(!r||hie(r,n))&&(r=n)}return r&&e.test(r)?r:null};gie.exports=SYe});var yie=G((rQt,mie)=>{var DYe=Dc(),bYe=(e,t)=>{try{return new DYe(e,t).range||"*"}catch{return null}};mie.exports=bYe});var ek=G((nQt,wie)=>{var PYe=Ko(),Cie=iB(),{ANY:xYe}=Cie,kYe=Dc(),QYe=oB(),Eie=tB(),Iie=Jx(),RYe=zx(),TYe=Kx(),FYe=(e,t,r,s)=>{e=new PYe(e,s),t=new kYe(t,s);let a,n,c,f,p;switch(r){case">":a=Eie,n=RYe,c=Iie,f=">",p=">=";break;case"<":a=Iie,n=TYe,c=Eie,f="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(QYe(e,t,s))return!1;for(let h=0;h{x.semver===xYe&&(x=new Cie(">=0.0.0")),C=C||x,S=S||x,a(x.semver,C.semver,s)?C=x:c(x.semver,S.semver,s)&&(S=x)}),C.operator===f||C.operator===p||(!S.operator||S.operator===f)&&n(e,S.semver))return!1;if(S.operator===p&&c(e,S.semver))return!1}return!0};wie.exports=FYe});var vie=G((iQt,Bie)=>{var NYe=ek(),OYe=(e,t,r)=>NYe(e,t,">",r);Bie.exports=OYe});var Die=G((sQt,Sie)=>{var LYe=ek(),MYe=(e,t,r)=>LYe(e,t,"<",r);Sie.exports=MYe});var xie=G((oQt,Pie)=>{var bie=Dc(),UYe=(e,t,r)=>(e=new bie(e,r),t=new bie(t,r),e.intersects(t,r));Pie.exports=UYe});var Qie=G((aQt,kie)=>{var _Ye=oB(),HYe=Sc();kie.exports=(e,t,r)=>{let s=[],a=null,n=null,c=e.sort((E,C)=>HYe(E,C,r));for(let E of c)_Ye(E,t,r)?(n=E,a||(a=E)):(n&&s.push([a,n]),n=null,a=null);a&&s.push([a,null]);let f=[];for(let[E,C]of s)E===C?f.push(E):!C&&E===c[0]?f.push("*"):C?E===c[0]?f.push(`<=${C}`):f.push(`${E} - ${C}`):f.push(`>=${E}`);let p=f.join(" || "),h=typeof t.raw=="string"?t.raw:String(t);return p.length{var Rie=Dc(),Q_=iB(),{ANY:k_}=Q_,aB=oB(),R_=Sc(),jYe=(e,t,r={})=>{if(e===t)return!0;e=new Rie(e,r),t=new Rie(t,r);let s=!1;e:for(let a of e.set){for(let n of t.set){let c=qYe(a,n,r);if(s=s||c!==null,c)continue e}if(s)return!1}return!0},GYe=[new Q_(">=0.0.0-0")],Tie=[new Q_(">=0.0.0")],qYe=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===k_){if(t.length===1&&t[0].semver===k_)return!0;r.includePrerelease?e=GYe:e=Tie}if(t.length===1&&t[0].semver===k_){if(r.includePrerelease)return!0;t=Tie}let s=new Set,a,n;for(let x of e)x.operator===">"||x.operator===">="?a=Fie(a,x,r):x.operator==="<"||x.operator==="<="?n=Nie(n,x,r):s.add(x.semver);if(s.size>1)return null;let c;if(a&&n){if(c=R_(a.semver,n.semver,r),c>0)return null;if(c===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let x of s){if(a&&!aB(x,String(a),r)||n&&!aB(x,String(n),r))return null;for(let I of t)if(!aB(x,String(I),r))return!1;return!0}let f,p,h,E,C=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,S=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;C&&C.prerelease.length===1&&n.operator==="<"&&C.prerelease[0]===0&&(C=!1);for(let x of t){if(E=E||x.operator===">"||x.operator===">=",h=h||x.operator==="<"||x.operator==="<=",a){if(S&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===S.major&&x.semver.minor===S.minor&&x.semver.patch===S.patch&&(S=!1),x.operator===">"||x.operator===">="){if(f=Fie(a,x,r),f===x&&f!==a)return!1}else if(a.operator===">="&&!aB(a.semver,String(x),r))return!1}if(n){if(C&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===C.major&&x.semver.minor===C.minor&&x.semver.patch===C.patch&&(C=!1),x.operator==="<"||x.operator==="<="){if(p=Nie(n,x,r),p===x&&p!==n)return!1}else if(n.operator==="<="&&!aB(n.semver,String(x),r))return!1}if(!x.operator&&(n||a)&&c!==0)return!1}return!(a&&h&&!n&&c!==0||n&&E&&!a&&c!==0||S||C)},Fie=(e,t,r)=>{if(!e)return t;let s=R_(e.semver,t.semver,r);return s>0?e:s<0||t.operator===">"&&e.operator===">="?t:e},Nie=(e,t,r)=>{if(!e)return t;let s=R_(e.semver,t.semver,r);return s<0?e:s>0||t.operator==="<"&&e.operator==="<="?t:e};Oie.exports=jYe});var pi=G((cQt,_ie)=>{var T_=bE(),Mie=$2(),WYe=Ko(),Uie=g_(),YYe=Od(),VYe=ine(),JYe=one(),KYe=cne(),zYe=Ane(),XYe=hne(),ZYe=dne(),$Ye=yne(),eVe=Ine(),tVe=Sc(),rVe=vne(),nVe=Dne(),iVe=Vx(),sVe=kne(),oVe=Rne(),aVe=tB(),lVe=Jx(),cVe=m_(),uVe=y_(),fVe=Kx(),AVe=zx(),pVe=E_(),hVe=Hne(),gVe=iB(),dVe=Dc(),mVe=oB(),yVe=cie(),EVe=fie(),IVe=pie(),CVe=die(),wVe=yie(),BVe=ek(),vVe=vie(),SVe=Die(),DVe=xie(),bVe=Qie(),PVe=Lie();_ie.exports={parse:YYe,valid:VYe,clean:JYe,inc:KYe,diff:zYe,major:XYe,minor:ZYe,patch:$Ye,prerelease:eVe,compare:tVe,rcompare:rVe,compareLoose:nVe,compareBuild:iVe,sort:sVe,rsort:oVe,gt:aVe,lt:lVe,eq:cVe,neq:uVe,gte:fVe,lte:AVe,cmp:pVe,coerce:hVe,Comparator:gVe,Range:dVe,satisfies:mVe,toComparators:yVe,maxSatisfying:EVe,minSatisfying:IVe,minVersion:CVe,validRange:wVe,outside:BVe,gtr:vVe,ltr:SVe,intersects:DVe,simplifyRange:bVe,subset:PVe,SemVer:WYe,re:T_.re,src:T_.src,tokens:T_.t,SEMVER_SPEC_VERSION:Mie.SEMVER_SPEC_VERSION,RELEASE_TYPES:Mie.RELEASE_TYPES,compareIdentifiers:Uie.compareIdentifiers,rcompareIdentifiers:Uie.rcompareIdentifiers}});var jie=G((uQt,Hie)=>{"use strict";function xVe(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function _d(e,t,r,s){this.message=e,this.expected=t,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_d)}xVe(_d,Error);_d.buildMessage=function(e,t){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C0){for(C=1,S=1;C{switch(Fe[1]){case"|":return xe|Fe[3];case"&":return xe&Fe[3];case"^":return xe^Fe[3]}},$)},S="!",x=Ne("!",!1),I=function($){return!$},T="(",O=Ne("(",!1),U=")",V=Ne(")",!1),te=function($){return $},ie=/^[^ \t\n\r()!|&\^]/,ue=ke([" "," ",` +`,"\r","(",")","!","|","&","^"],!0,!1),ae=function($){return t.queryPattern.test($)},de=function($){return t.checkFn($)},Ae=Re("whitespace"),Ce=/^[ \t\n\r]/,Ee=ke([" "," ",` +`,"\r"],!1,!1),g=0,Se=0,Be=[{line:1,column:1}],me=0,ce=[],Z=0,De;if("startRule"in t){if(!(t.startRule in s))throw new Error(`Can't start parsing from rule "`+t.startRule+'".');a=s[t.startRule]}function Qe(){return e.substring(Se,g)}function st(){return Me(Se,g)}function _($,se){throw se=se!==void 0?se:Me(Se,g),b([Re($)],e.substring(Se,g),se)}function tt($,se){throw se=se!==void 0?se:Me(Se,g),w($,se)}function Ne($,se){return{type:"literal",text:$,ignoreCase:se}}function ke($,se,xe){return{type:"class",parts:$,inverted:se,ignoreCase:xe}}function be(){return{type:"any"}}function je(){return{type:"end"}}function Re($){return{type:"other",description:$}}function ct($){var se=Be[$],xe;if(se)return se;for(xe=$-1;!Be[xe];)xe--;for(se=Be[xe],se={line:se.line,column:se.column};xe<$;)e.charCodeAt(xe)===10?(se.line++,se.column=1):se.column++,xe++;return Be[$]=se,se}function Me($,se){var xe=ct($),Fe=ct(se);return{start:{offset:$,line:xe.line,column:xe.column},end:{offset:se,line:Fe.line,column:Fe.column}}}function P($){gme&&(me=g,ce=[]),ce.push($))}function w($,se){return new _d($,null,null,se)}function b($,se,xe){return new _d(_d.buildMessage($,se),$,se,xe)}function y(){var $,se,xe,Fe,ut,Ct,qt,ir;if($=g,se=F(),se!==r){for(xe=[],Fe=g,ut=X(),ut!==r?(e.charCodeAt(g)===124?(Ct=n,g++):(Ct=r,Z===0&&P(c)),Ct===r&&(e.charCodeAt(g)===38?(Ct=f,g++):(Ct=r,Z===0&&P(p)),Ct===r&&(e.charCodeAt(g)===94?(Ct=h,g++):(Ct=r,Z===0&&P(E)))),Ct!==r?(qt=X(),qt!==r?(ir=F(),ir!==r?(ut=[ut,Ct,qt,ir],Fe=ut):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);Fe!==r;)xe.push(Fe),Fe=g,ut=X(),ut!==r?(e.charCodeAt(g)===124?(Ct=n,g++):(Ct=r,Z===0&&P(c)),Ct===r&&(e.charCodeAt(g)===38?(Ct=f,g++):(Ct=r,Z===0&&P(p)),Ct===r&&(e.charCodeAt(g)===94?(Ct=h,g++):(Ct=r,Z===0&&P(E)))),Ct!==r?(qt=X(),qt!==r?(ir=F(),ir!==r?(ut=[ut,Ct,qt,ir],Fe=ut):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);xe!==r?(Se=$,se=C(se,xe),$=se):(g=$,$=r)}else g=$,$=r;return $}function F(){var $,se,xe,Fe,ut,Ct;return $=g,e.charCodeAt(g)===33?(se=S,g++):(se=r,Z===0&&P(x)),se!==r?(xe=F(),xe!==r?(Se=$,se=I(xe),$=se):(g=$,$=r)):(g=$,$=r),$===r&&($=g,e.charCodeAt(g)===40?(se=T,g++):(se=r,Z===0&&P(O)),se!==r?(xe=X(),xe!==r?(Fe=y(),Fe!==r?(ut=X(),ut!==r?(e.charCodeAt(g)===41?(Ct=U,g++):(Ct=r,Z===0&&P(V)),Ct!==r?(Se=$,se=te(Fe),$=se):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=z())),$}function z(){var $,se,xe,Fe,ut;if($=g,se=X(),se!==r){if(xe=g,Fe=[],ie.test(e.charAt(g))?(ut=e.charAt(g),g++):(ut=r,Z===0&&P(ue)),ut!==r)for(;ut!==r;)Fe.push(ut),ie.test(e.charAt(g))?(ut=e.charAt(g),g++):(ut=r,Z===0&&P(ue));else Fe=r;Fe!==r?xe=e.substring(xe,g):xe=Fe,xe!==r?(Se=g,Fe=ae(xe),Fe?Fe=void 0:Fe=r,Fe!==r?(Se=$,se=de(xe),$=se):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,se;for(Z++,$=[],Ce.test(e.charAt(g))?(se=e.charAt(g),g++):(se=r,Z===0&&P(Ee));se!==r;)$.push(se),Ce.test(e.charAt(g))?(se=e.charAt(g),g++):(se=r,Z===0&&P(Ee));return Z--,$===r&&(se=r,Z===0&&P(Ae)),$}if(De=a(),De!==r&&g===e.length)return De;throw De!==r&&g{var{parse:QVe}=jie();tk.makeParser=(e=/[a-z]+/)=>(t,r)=>QVe(t,{queryPattern:e,checkFn:r});tk.parse=tk.makeParser()});var Wie=G((AQt,qie)=>{"use strict";qie.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var F_=G((pQt,Vie)=>{var lB=Wie(),Yie={};for(let e of Object.keys(lB))Yie[lB[e]]=e;var hr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Vie.exports=hr;for(let e of Object.keys(hr)){if(!("channels"in hr[e]))throw new Error("missing channels property: "+e);if(!("labels"in hr[e]))throw new Error("missing channel labels property: "+e);if(hr[e].labels.length!==hr[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=hr[e];delete hr[e].channels,delete hr[e].labels,Object.defineProperty(hr[e],"channels",{value:t}),Object.defineProperty(hr[e],"labels",{value:r})}hr.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,a=Math.min(t,r,s),n=Math.max(t,r,s),c=n-a,f,p;n===a?f=0:t===n?f=(r-s)/c:r===n?f=2+(s-t)/c:s===n&&(f=4+(t-r)/c),f=Math.min(f*60,360),f<0&&(f+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=c/(n+a):p=c/(2-n-a),[f,p*100,h*100]};hr.rgb.hsv=function(e){let t,r,s,a,n,c=e[0]/255,f=e[1]/255,p=e[2]/255,h=Math.max(c,f,p),E=h-Math.min(c,f,p),C=function(S){return(h-S)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,t=C(c),r=C(f),s=C(p),c===h?a=s-r:f===h?a=1/3+t-s:p===h&&(a=2/3+r-t),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};hr.rgb.hwb=function(e){let t=e[0],r=e[1],s=e[2],a=hr.rgb.hsl(e)[0],n=1/255*Math.min(t,Math.min(r,s));return s=1-1/255*Math.max(t,Math.max(r,s)),[a,n*100,s*100]};hr.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,a=Math.min(1-t,1-r,1-s),n=(1-t-a)/(1-a)||0,c=(1-r-a)/(1-a)||0,f=(1-s-a)/(1-a)||0;return[n*100,c*100,f*100,a*100]};function RVe(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}hr.rgb.keyword=function(e){let t=Yie[e];if(t)return t;let r=1/0,s;for(let a of Object.keys(lB)){let n=lB[a],c=RVe(e,n);c.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92;let a=t*.4124+r*.3576+s*.1805,n=t*.2126+r*.7152+s*.0722,c=t*.0193+r*.1192+s*.9505;return[a*100,n*100,c*100]};hr.rgb.lab=function(e){let t=hr.rgb.xyz(e),r=t[0],s=t[1],a=t[2];r/=95.047,s/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,s=s>.008856?s**(1/3):7.787*s+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*s-16,c=500*(r-s),f=200*(s-a);return[n,c,f]};hr.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100,a,n,c;if(r===0)return c=s*255,[c,c,c];s<.5?a=s*(1+r):a=s+r-s*r;let f=2*s-a,p=[0,0,0];for(let h=0;h<3;h++)n=t+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?c=f+(a-f)*6*n:2*n<1?c=a:3*n<2?c=f+(a-f)*(2/3-n)*6:c=f,p[h]=c*255;return p};hr.hsl.hsv=function(e){let t=e[0],r=e[1]/100,s=e[2]/100,a=r,n=Math.max(s,.01);s*=2,r*=s<=1?s:2-s,a*=n<=1?n:2-n;let c=(s+r)/2,f=s===0?2*a/(n+a):2*r/(s+r);return[t,f*100,c*100]};hr.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,s=e[2]/100,a=Math.floor(t)%6,n=t-Math.floor(t),c=255*s*(1-r),f=255*s*(1-r*n),p=255*s*(1-r*(1-n));switch(s*=255,a){case 0:return[s,p,c];case 1:return[f,s,c];case 2:return[c,s,p];case 3:return[c,f,s];case 4:return[p,c,s];case 5:return[s,c,f]}};hr.hsv.hsl=function(e){let t=e[0],r=e[1]/100,s=e[2]/100,a=Math.max(s,.01),n,c;c=(2-r)*s;let f=(2-r)*a;return n=r*a,n/=f<=1?f:2-f,n=n||0,c/=2,[t,n*100,c*100]};hr.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100,a=r+s,n;a>1&&(r/=a,s/=a);let c=Math.floor(6*t),f=1-s;n=6*t-c,c&1&&(n=1-n);let p=r+n*(f-r),h,E,C;switch(c){default:case 6:case 0:h=f,E=p,C=r;break;case 1:h=p,E=f,C=r;break;case 2:h=r,E=f,C=p;break;case 3:h=r,E=p,C=f;break;case 4:h=p,E=r,C=f;break;case 5:h=f,E=r,C=p;break}return[h*255,E*255,C*255]};hr.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,a=e[3]/100,n=1-Math.min(1,t*(1-a)+a),c=1-Math.min(1,r*(1-a)+a),f=1-Math.min(1,s*(1-a)+a);return[n*255,c*255,f*255]};hr.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,s=e[2]/100,a,n,c;return a=t*3.2406+r*-1.5372+s*-.4986,n=t*-.9689+r*1.8758+s*.0415,c=t*.0557+r*-.204+s*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,c=c>.0031308?1.055*c**(1/2.4)-.055:c*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),c=Math.min(Math.max(0,c),1),[a*255,n*255,c*255]};hr.xyz.lab=function(e){let t=e[0],r=e[1],s=e[2];t/=95.047,r/=100,s/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,s=s>.008856?s**(1/3):7.787*s+16/116;let a=116*r-16,n=500*(t-r),c=200*(r-s);return[a,n,c]};hr.lab.xyz=function(e){let t=e[0],r=e[1],s=e[2],a,n,c;n=(t+16)/116,a=r/500+n,c=n-s/200;let f=n**3,p=a**3,h=c**3;return n=f>.008856?f:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,c=h>.008856?h:(c-16/116)/7.787,a*=95.047,n*=100,c*=108.883,[a,n,c]};hr.lab.lch=function(e){let t=e[0],r=e[1],s=e[2],a;a=Math.atan2(s,r)*360/2/Math.PI,a<0&&(a+=360);let c=Math.sqrt(r*r+s*s);return[t,c,a]};hr.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,n=r*Math.cos(a),c=r*Math.sin(a);return[t,n,c]};hr.rgb.ansi16=function(e,t=null){let[r,s,a]=e,n=t===null?hr.rgb.hsv(e)[2]:t;if(n=Math.round(n/50),n===0)return 30;let c=30+(Math.round(a/255)<<2|Math.round(s/255)<<1|Math.round(r/255));return n===2&&(c+=60),c};hr.hsv.ansi16=function(e){return hr.rgb.ansi16(hr.hsv.rgb(e),e[2])};hr.rgb.ansi256=function(e){let t=e[0],r=e[1],s=e[2];return t===r&&r===s?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(s/255*5)};hr.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,s=(t&1)*r*255,a=(t>>1&1)*r*255,n=(t>>2&1)*r*255;return[s,a,n]};hr.ansi256.rgb=function(e){if(e>=232){let n=(e-232)*10+8;return[n,n,n]}e-=16;let t,r=Math.floor(e/36)/5*255,s=Math.floor((t=e%36)/6)/5*255,a=t%6/5*255;return[r,s,a]};hr.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};hr.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(f=>f+f).join(""));let s=parseInt(r,16),a=s>>16&255,n=s>>8&255,c=s&255;return[a,n,c]};hr.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,s=e[2]/255,a=Math.max(Math.max(t,r),s),n=Math.min(Math.min(t,r),s),c=a-n,f,p;return c<1?f=n/(1-c):f=0,c<=0?p=0:a===t?p=(r-s)/c%6:a===r?p=2+(s-t)/c:p=4+(t-r)/c,p/=6,p%=1,[p*360,c*100,f*100]};hr.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,s=r<.5?2*t*r:2*t*(1-r),a=0;return s<1&&(a=(r-.5*s)/(1-s)),[e[0],s*100,a*100]};hr.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,s=t*r,a=0;return s<1&&(a=(r-s)/(1-s)),[e[0],s*100,a*100]};hr.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,s=e[2]/100;if(r===0)return[s*255,s*255,s*255];let a=[0,0,0],n=t%1*6,c=n%1,f=1-c,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=c,a[2]=0;break;case 1:a[0]=f,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=c;break;case 3:a[0]=0,a[1]=f,a[2]=1;break;case 4:a[0]=c,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=f}return p=(1-r)*s,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};hr.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,s=t+r*(1-t),a=0;return s>0&&(a=t/s),[e[0],a*100,s*100]};hr.hcg.hsl=function(e){let t=e[1]/100,s=e[2]/100*(1-t)+.5*t,a=0;return s>0&&s<.5?a=t/(2*s):s>=.5&&s<1&&(a=t/(2*(1-s))),[e[0],a*100,s*100]};hr.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,s=t+r*(1-t);return[e[0],(s-t)*100,(1-s)*100]};hr.hwb.hcg=function(e){let t=e[1]/100,s=1-e[2]/100,a=s-t,n=0;return a<1&&(n=(s-a)/(1-a)),[e[0],a*100,n*100]};hr.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};hr.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};hr.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};hr.gray.hsl=function(e){return[0,0,e[0]]};hr.gray.hsv=hr.gray.hsl;hr.gray.hwb=function(e){return[0,100,e[0]]};hr.gray.cmyk=function(e){return[0,0,0,e[0]]};hr.gray.lab=function(e){return[e[0],0,0]};hr.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,s=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(s.length)+s};hr.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var Kie=G((hQt,Jie)=>{var rk=F_();function TVe(){let e={},t=Object.keys(rk);for(let r=t.length,s=0;s{var N_=F_(),LVe=Kie(),QE={},MVe=Object.keys(N_);function UVe(e){let t=function(...r){let s=r[0];return s==null?s:(s.length>1&&(r=s),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function _Ve(e){let t=function(...r){let s=r[0];if(s==null)return s;s.length>1&&(r=s);let a=e(r);if(typeof a=="object")for(let n=a.length,c=0;c{QE[e]={},Object.defineProperty(QE[e],"channels",{value:N_[e].channels}),Object.defineProperty(QE[e],"labels",{value:N_[e].labels});let t=LVe(e);Object.keys(t).forEach(s=>{let a=t[s];QE[e][s]=_Ve(a),QE[e][s].raw=UVe(a)})});zie.exports=QE});var ik=G((dQt,rse)=>{"use strict";var Zie=(e,t)=>(...r)=>`\x1B[${e(...r)+t}m`,$ie=(e,t)=>(...r)=>{let s=e(...r);return`\x1B[${38+t};5;${s}m`},ese=(e,t)=>(...r)=>{let s=e(...r);return`\x1B[${38+t};2;${s[0]};${s[1]};${s[2]}m`},nk=e=>e,tse=(e,t,r)=>[e,t,r],RE=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{let s=r();return Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0}),s},enumerable:!0,configurable:!0})},O_,TE=(e,t,r,s)=>{O_===void 0&&(O_=Xie());let a=s?10:0,n={};for(let[c,f]of Object.entries(O_)){let p=c==="ansi16"?"ansi":c;c===t?n[p]=e(r,a):typeof f=="object"&&(n[p]=e(f[t],a))}return n};function HVe(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,s]of Object.entries(t)){for(let[a,n]of Object.entries(s))t[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},s[a]=t[a],e.set(n[0],n[1]);Object.defineProperty(t,r,{value:s,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",RE(t.color,"ansi",()=>TE(Zie,"ansi16",nk,!1)),RE(t.color,"ansi256",()=>TE($ie,"ansi256",nk,!1)),RE(t.color,"ansi16m",()=>TE(ese,"rgb",tse,!1)),RE(t.bgColor,"ansi",()=>TE(Zie,"ansi16",nk,!0)),RE(t.bgColor,"ansi256",()=>TE($ie,"ansi256",nk,!0)),RE(t.bgColor,"ansi16m",()=>TE(ese,"rgb",tse,!0)),t}Object.defineProperty(rse,"exports",{enumerable:!0,get:HVe})});var ise=G((mQt,nse)=>{"use strict";nse.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",s=t.indexOf(r+e),a=t.indexOf("--");return s!==-1&&(a===-1||s{"use strict";var jVe=Ie("os"),sse=Ie("tty"),bc=ise(),{env:Qs}=process,a0;bc("no-color")||bc("no-colors")||bc("color=false")||bc("color=never")?a0=0:(bc("color")||bc("colors")||bc("color=true")||bc("color=always"))&&(a0=1);"FORCE_COLOR"in Qs&&(Qs.FORCE_COLOR==="true"?a0=1:Qs.FORCE_COLOR==="false"?a0=0:a0=Qs.FORCE_COLOR.length===0?1:Math.min(parseInt(Qs.FORCE_COLOR,10),3));function L_(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function M_(e,t){if(a0===0)return 0;if(bc("color=16m")||bc("color=full")||bc("color=truecolor"))return 3;if(bc("color=256"))return 2;if(e&&!t&&a0===void 0)return 0;let r=a0||0;if(Qs.TERM==="dumb")return r;if(process.platform==="win32"){let s=jVe.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Qs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(s=>s in Qs)||Qs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Qs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Qs.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Qs)return 1;if(Qs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Qs){let s=parseInt((Qs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Qs.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Qs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Qs.TERM)||"COLORTERM"in Qs?1:r}function GVe(e){let t=M_(e,e&&e.isTTY);return L_(t)}ose.exports={supportsColor:GVe,stdout:L_(M_(!0,sse.isatty(1))),stderr:L_(M_(!0,sse.isatty(2)))}});var cse=G((EQt,lse)=>{"use strict";var qVe=(e,t,r)=>{let s=e.indexOf(t);if(s===-1)return e;let a=t.length,n=0,c="";do c+=e.substr(n,s-n)+t+r,n=s+a,s=e.indexOf(t,n);while(s!==-1);return c+=e.substr(n),c},WVe=(e,t,r,s)=>{let a=0,n="";do{let c=e[s-1]==="\r";n+=e.substr(a,(c?s-1:s)-a)+t+(c?`\r +`:` +`)+r,a=s+1,s=e.indexOf(` +`,a)}while(s!==-1);return n+=e.substr(a),n};lse.exports={stringReplaceAll:qVe,stringEncaseCRLFWithFirstIndex:WVe}});var hse=G((IQt,pse)=>{"use strict";var YVe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,use=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,VVe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,JVe=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,KVe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function Ase(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):KVe.get(e)||e}function zVe(e,t){let r=[],s=t.trim().split(/\s*,\s*/g),a;for(let n of s){let c=Number(n);if(!Number.isNaN(c))r.push(c);else if(a=n.match(VVe))r.push(a[2].replace(JVe,(f,p,h)=>p?Ase(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${e}')`)}return r}function XVe(e){use.lastIndex=0;let t=[],r;for(;(r=use.exec(e))!==null;){let s=r[1];if(r[2]){let a=zVe(s,r[2]);t.push([s].concat(a))}else t.push([s])}return t}function fse(e,t){let r={};for(let a of t)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let s=e;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in s))throw new Error(`Unknown Chalk style: ${a}`);s=n.length>0?s[a](...n):s[a]}return s}pse.exports=(e,t)=>{let r=[],s=[],a=[];if(t.replace(YVe,(n,c,f,p,h,E)=>{if(c)a.push(Ase(c));else if(p){let C=a.join("");a=[],s.push(r.length===0?C:fse(e,r)(C)),r.push({inverse:f,styles:XVe(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");s.push(fse(e,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),s.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return s.join("")}});var NE=G((CQt,Ise)=>{"use strict";var cB=ik(),{stdout:__,stderr:H_}=ase(),{stringReplaceAll:ZVe,stringEncaseCRLFWithFirstIndex:$Ve}=cse(),{isArray:sk}=Array,dse=["ansi","ansi","ansi256","ansi16m"],FE=Object.create(null),e7e=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=__?__.level:0;e.level=t.level===void 0?r:t.level},j_=class{constructor(t){return mse(t)}},mse=e=>{let t={};return e7e(t,e),t.template=(...r)=>Ese(t.template,...r),Object.setPrototypeOf(t,ok.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=j_,t.template};function ok(e){return mse(e)}for(let[e,t]of Object.entries(cB))FE[e]={get(){let r=ak(this,G_(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};FE.visible={get(){let e=ak(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var yse=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of yse)FE[e]={get(){let{level:t}=this;return function(...r){let s=G_(cB.color[dse[t]][e](...r),cB.color.close,this._styler);return ak(this,s,this._isEmpty)}}};for(let e of yse){let t="bg"+e[0].toUpperCase()+e.slice(1);FE[t]={get(){let{level:r}=this;return function(...s){let a=G_(cB.bgColor[dse[r]][e](...s),cB.bgColor.close,this._styler);return ak(this,a,this._isEmpty)}}}}var t7e=Object.defineProperties(()=>{},{...FE,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),G_=(e,t,r)=>{let s,a;return r===void 0?(s=e,a=t):(s=r.openAll+e,a=t+r.closeAll),{open:e,close:t,openAll:s,closeAll:a,parent:r}},ak=(e,t,r)=>{let s=(...a)=>sk(a[0])&&sk(a[0].raw)?gse(s,Ese(s,...a)):gse(s,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(s,t7e),s._generator=e,s._styler=t,s._isEmpty=r,s},gse=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:s,closeAll:a}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=ZVe(t,r.close,r.open),r=r.parent;let n=t.indexOf(` +`);return n!==-1&&(t=$Ve(t,a,s,n)),s+t+a},U_,Ese=(e,...t)=>{let[r]=t;if(!sk(r)||!sk(r.raw))return t.join(" ");let s=t.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";Pc.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;Pc.find=(e,t)=>e.nodes.find(r=>r.type===t);Pc.exceedsLimit=(e,t,r=1,s)=>s===!1||!Pc.isInteger(e)||!Pc.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=s;Pc.escapeNode=(e,t=0,r)=>{let s=e.nodes[t];s&&(r&&s.type===r||s.type==="open"||s.type==="close")&&s.escaped!==!0&&(s.value="\\"+s.value,s.escaped=!0)};Pc.encloseBrace=e=>e.type!=="brace"||e.commas>>0+e.ranges>>0?!1:(e.invalid=!0,!0);Pc.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:!(e.commas>>0+e.ranges>>0)||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;Pc.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;Pc.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);Pc.flatten=(...e)=>{let t=[],r=s=>{for(let a=0;a{"use strict";var Cse=ck();wse.exports=(e,t={})=>{let r=(s,a={})=>{let n=t.escapeInvalid&&Cse.isInvalidBrace(a),c=s.invalid===!0&&t.escapeInvalid===!0,f="";if(s.value)return(n||c)&&Cse.isOpenOrClose(s)?"\\"+s.value:s.value;if(s.value)return s.value;if(s.nodes)for(let p of s.nodes)f+=r(p);return f};return r(e)}});var vse=G((vQt,Bse)=>{"use strict";Bse.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var Tse=G((SQt,Rse)=>{"use strict";var Sse=vse(),Hd=(e,t,r)=>{if(Sse(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(Sse(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let s={relaxZeros:!0,...r};typeof s.strictZeros=="boolean"&&(s.relaxZeros=s.strictZeros===!1);let a=String(s.relaxZeros),n=String(s.shorthand),c=String(s.capture),f=String(s.wrap),p=e+":"+t+"="+a+n+c+f;if(Hd.cache.hasOwnProperty(p))return Hd.cache[p].result;let h=Math.min(e,t),E=Math.max(e,t);if(Math.abs(h-E)===1){let T=e+"|"+t;return s.capture?`(${T})`:s.wrap===!1?T:`(?:${T})`}let C=Qse(e)||Qse(t),S={min:e,max:t,a:h,b:E},x=[],I=[];if(C&&(S.isPadded=C,S.maxLen=String(S.max).length),h<0){let T=E<0?Math.abs(E):1;I=Dse(T,Math.abs(h),S,s),h=S.a=0}return E>=0&&(x=Dse(h,E,S,s)),S.negatives=I,S.positives=x,S.result=r7e(I,x,s),s.capture===!0?S.result=`(${S.result})`:s.wrap!==!1&&x.length+I.length>1&&(S.result=`(?:${S.result})`),Hd.cache[p]=S,S.result};function r7e(e,t,r){let s=q_(e,t,"-",!1,r)||[],a=q_(t,e,"",!1,r)||[],n=q_(e,t,"-?",!0,r)||[];return s.concat(n).concat(a).join("|")}function n7e(e,t){let r=1,s=1,a=Pse(e,r),n=new Set([t]);for(;e<=a&&a<=t;)n.add(a),r+=1,a=Pse(e,r);for(a=xse(t+1,s)-1;e1&&f.count.pop(),f.count.push(E.count[0]),f.string=f.pattern+kse(f.count),c=h+1;continue}r.isPadded&&(C=l7e(h,r,s)),E.string=C+E.pattern+kse(E.count),n.push(E),c=h+1,f=E}return n}function q_(e,t,r,s,a){let n=[];for(let c of e){let{string:f}=c;!s&&!bse(t,"string",f)&&n.push(r+f),s&&bse(t,"string",f)&&n.push(r+f)}return n}function s7e(e,t){let r=[];for(let s=0;st?1:t>e?-1:0}function bse(e,t,r){return e.some(s=>s[t]===r)}function Pse(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function xse(e,t){return e-e%Math.pow(10,t)}function kse(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function a7e(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function Qse(e){return/^-?(0+)\d/.test(e)}function l7e(e,t,r){if(!t.isPadded)return e;let s=Math.abs(t.maxLen-String(e).length),a=r.relaxZeros!==!1;switch(s){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${s}}`:`0{${s}}`}}Hd.cache={};Hd.clearCache=()=>Hd.cache={};Rse.exports=Hd});var V_=G((DQt,Hse)=>{"use strict";var c7e=Ie("util"),Ose=Tse(),Fse=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),u7e=e=>t=>e===!0?Number(t):String(t),W_=e=>typeof e=="number"||typeof e=="string"&&e!=="",uB=e=>Number.isInteger(+e),Y_=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},f7e=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,A7e=(e,t,r)=>{if(t>0){let s=e[0]==="-"?"-":"";s&&(e=e.slice(1)),e=s+e.padStart(s?t-1:t,"0")}return r===!1?String(e):e},Nse=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length{e.negatives.sort((c,f)=>cf?1:0),e.positives.sort((c,f)=>cf?1:0);let r=t.capture?"":"?:",s="",a="",n;return e.positives.length&&(s=e.positives.join("|")),e.negatives.length&&(a=`-(${r}${e.negatives.join("|")})`),s&&a?n=`${s}|${a}`:n=s||a,t.wrap?`(${r}${n})`:n},Lse=(e,t,r,s)=>{if(r)return Ose(e,t,{wrap:!1,...s});let a=String.fromCharCode(e);if(e===t)return a;let n=String.fromCharCode(t);return`[${a}-${n}]`},Mse=(e,t,r)=>{if(Array.isArray(e)){let s=r.wrap===!0,a=r.capture?"":"?:";return s?`(${a}${e.join("|")})`:e.join("|")}return Ose(e,t,r)},Use=(...e)=>new RangeError("Invalid range arguments: "+c7e.inspect(...e)),_se=(e,t,r)=>{if(r.strictRanges===!0)throw Use([e,t]);return[]},h7e=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},g7e=(e,t,r=1,s={})=>{let a=Number(e),n=Number(t);if(!Number.isInteger(a)||!Number.isInteger(n)){if(s.strictRanges===!0)throw Use([e,t]);return[]}a===0&&(a=0),n===0&&(n=0);let c=a>n,f=String(e),p=String(t),h=String(r);r=Math.max(Math.abs(r),1);let E=Y_(f)||Y_(p)||Y_(h),C=E?Math.max(f.length,p.length,h.length):0,S=E===!1&&f7e(e,t,s)===!1,x=s.transform||u7e(S);if(s.toRegex&&r===1)return Lse(Nse(e,C),Nse(t,C),!0,s);let I={negatives:[],positives:[]},T=V=>I[V<0?"negatives":"positives"].push(Math.abs(V)),O=[],U=0;for(;c?a>=n:a<=n;)s.toRegex===!0&&r>1?T(a):O.push(A7e(x(a,U),C,S)),a=c?a-r:a+r,U++;return s.toRegex===!0?r>1?p7e(I,s):Mse(O,null,{wrap:!1,...s}):O},d7e=(e,t,r=1,s={})=>{if(!uB(e)&&e.length>1||!uB(t)&&t.length>1)return _se(e,t,s);let a=s.transform||(S=>String.fromCharCode(S)),n=`${e}`.charCodeAt(0),c=`${t}`.charCodeAt(0),f=n>c,p=Math.min(n,c),h=Math.max(n,c);if(s.toRegex&&r===1)return Lse(p,h,!1,s);let E=[],C=0;for(;f?n>=c:n<=c;)E.push(a(n,C)),n=f?n-r:n+r,C++;return s.toRegex===!0?Mse(E,null,{wrap:!1,options:s}):E},fk=(e,t,r,s={})=>{if(t==null&&W_(e))return[e];if(!W_(e)||!W_(t))return _se(e,t,s);if(typeof r=="function")return fk(e,t,1,{transform:r});if(Fse(r))return fk(e,t,0,r);let a={...s};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,uB(r)?uB(e)&&uB(t)?g7e(e,t,r,a):d7e(e,t,Math.max(Math.abs(r),1),a):r!=null&&!Fse(r)?h7e(r,a):fk(e,t,1,r)};Hse.exports=fk});var qse=G((bQt,Gse)=>{"use strict";var m7e=V_(),jse=ck(),y7e=(e,t={})=>{let r=(s,a={})=>{let n=jse.isInvalidBrace(a),c=s.invalid===!0&&t.escapeInvalid===!0,f=n===!0||c===!0,p=t.escapeInvalid===!0?"\\":"",h="";if(s.isOpen===!0||s.isClose===!0)return p+s.value;if(s.type==="open")return f?p+s.value:"(";if(s.type==="close")return f?p+s.value:")";if(s.type==="comma")return s.prev.type==="comma"?"":f?s.value:"|";if(s.value)return s.value;if(s.nodes&&s.ranges>0){let E=jse.reduce(s.nodes),C=m7e(...E,{...t,wrap:!1,toRegex:!0});if(C.length!==0)return E.length>1&&C.length>1?`(${C})`:C}if(s.nodes)for(let E of s.nodes)h+=r(E,s);return h};return r(e)};Gse.exports=y7e});var Vse=G((PQt,Yse)=>{"use strict";var E7e=V_(),Wse=uk(),OE=ck(),jd=(e="",t="",r=!1)=>{let s=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?OE.flatten(t).map(a=>`{${a}}`):t;for(let a of e)if(Array.isArray(a))for(let n of a)s.push(jd(n,t,r));else for(let n of t)r===!0&&typeof n=="string"&&(n=`{${n}}`),s.push(Array.isArray(n)?jd(a,n,r):a+n);return OE.flatten(s)},I7e=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,s=(a,n={})=>{a.queue=[];let c=n,f=n.queue;for(;c.type!=="brace"&&c.type!=="root"&&c.parent;)c=c.parent,f=c.queue;if(a.invalid||a.dollar){f.push(jd(f.pop(),Wse(a,t)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){f.push(jd(f.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let C=OE.reduce(a.nodes);if(OE.exceedsLimit(...C,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let S=E7e(...C,t);S.length===0&&(S=Wse(a,t)),f.push(jd(f.pop(),S)),a.nodes=[];return}let p=OE.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let C=0;C{"use strict";Jse.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var eoe=G((kQt,$se)=>{"use strict";var C7e=uk(),{MAX_LENGTH:zse,CHAR_BACKSLASH:J_,CHAR_BACKTICK:w7e,CHAR_COMMA:B7e,CHAR_DOT:v7e,CHAR_LEFT_PARENTHESES:S7e,CHAR_RIGHT_PARENTHESES:D7e,CHAR_LEFT_CURLY_BRACE:b7e,CHAR_RIGHT_CURLY_BRACE:P7e,CHAR_LEFT_SQUARE_BRACKET:Xse,CHAR_RIGHT_SQUARE_BRACKET:Zse,CHAR_DOUBLE_QUOTE:x7e,CHAR_SINGLE_QUOTE:k7e,CHAR_NO_BREAK_SPACE:Q7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:R7e}=Kse(),T7e=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},s=typeof r.maxLength=="number"?Math.min(zse,r.maxLength):zse;if(e.length>s)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${s})`);let a={type:"root",input:e,nodes:[]},n=[a],c=a,f=a,p=0,h=e.length,E=0,C=0,S,x={},I=()=>e[E++],T=O=>{if(O.type==="text"&&f.type==="dot"&&(f.type="text"),f&&f.type==="text"&&O.type==="text"){f.value+=O.value;return}return c.nodes.push(O),O.parent=c,O.prev=f,f=O,O};for(T({type:"bos"});E0){if(c.ranges>0){c.ranges=0;let O=c.nodes.shift();c.nodes=[O,{type:"text",value:C7e(c)}]}T({type:"comma",value:S}),c.commas++;continue}if(S===v7e&&C>0&&c.commas===0){let O=c.nodes;if(C===0||O.length===0){T({type:"text",value:S});continue}if(f.type==="dot"){if(c.range=[],f.value+=S,f.type="range",c.nodes.length!==3&&c.nodes.length!==5){c.invalid=!0,c.ranges=0,f.type="text";continue}c.ranges++,c.args=[];continue}if(f.type==="range"){O.pop();let U=O[O.length-1];U.value+=f.value+S,f=U,c.ranges--;continue}T({type:"dot",value:S});continue}T({type:"text",value:S})}do if(c=n.pop(),c.type!=="root"){c.nodes.forEach(V=>{V.nodes||(V.type==="open"&&(V.isOpen=!0),V.type==="close"&&(V.isClose=!0),V.nodes||(V.type="text"),V.invalid=!0)});let O=n[n.length-1],U=O.nodes.indexOf(c);O.nodes.splice(U,1,...c.nodes)}while(n.length>0);return T({type:"eos"}),a};$se.exports=T7e});var noe=G((QQt,roe)=>{"use strict";var toe=uk(),F7e=qse(),N7e=Vse(),O7e=eoe(),Jl=(e,t={})=>{let r=[];if(Array.isArray(e))for(let s of e){let a=Jl.create(s,t);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(Jl.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};Jl.parse=(e,t={})=>O7e(e,t);Jl.stringify=(e,t={})=>toe(typeof e=="string"?Jl.parse(e,t):e,t);Jl.compile=(e,t={})=>(typeof e=="string"&&(e=Jl.parse(e,t)),F7e(e,t));Jl.expand=(e,t={})=>{typeof e=="string"&&(e=Jl.parse(e,t));let r=N7e(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};Jl.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?Jl.compile(e,t):Jl.expand(e,t);roe.exports=Jl});var fB=G((RQt,loe)=>{"use strict";var L7e=Ie("path"),zf="\\\\/",ioe=`[^${zf}]`,Pp="\\.",M7e="\\+",U7e="\\?",Ak="\\/",_7e="(?=.)",soe="[^/]",K_=`(?:${Ak}|$)`,ooe=`(?:^|${Ak})`,z_=`${Pp}{1,2}${K_}`,H7e=`(?!${Pp})`,j7e=`(?!${ooe}${z_})`,G7e=`(?!${Pp}{0,1}${K_})`,q7e=`(?!${z_})`,W7e=`[^.${Ak}]`,Y7e=`${soe}*?`,aoe={DOT_LITERAL:Pp,PLUS_LITERAL:M7e,QMARK_LITERAL:U7e,SLASH_LITERAL:Ak,ONE_CHAR:_7e,QMARK:soe,END_ANCHOR:K_,DOTS_SLASH:z_,NO_DOT:H7e,NO_DOTS:j7e,NO_DOT_SLASH:G7e,NO_DOTS_SLASH:q7e,QMARK_NO_DOT:W7e,STAR:Y7e,START_ANCHOR:ooe},V7e={...aoe,SLASH_LITERAL:`[${zf}]`,QMARK:ioe,STAR:`${ioe}*?`,DOTS_SLASH:`${Pp}{1,2}(?:[${zf}]|$)`,NO_DOT:`(?!${Pp})`,NO_DOTS:`(?!(?:^|[${zf}])${Pp}{1,2}(?:[${zf}]|$))`,NO_DOT_SLASH:`(?!${Pp}{0,1}(?:[${zf}]|$))`,NO_DOTS_SLASH:`(?!${Pp}{1,2}(?:[${zf}]|$))`,QMARK_NO_DOT:`[^.${zf}]`,START_ANCHOR:`(?:^|[${zf}])`,END_ANCHOR:`(?:[${zf}]|$)`},J7e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};loe.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:J7e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:L7e.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?V7e:aoe}}});var AB=G(gl=>{"use strict";var K7e=Ie("path"),z7e=process.platform==="win32",{REGEX_BACKSLASH:X7e,REGEX_REMOVE_BACKSLASH:Z7e,REGEX_SPECIAL_CHARS:$7e,REGEX_SPECIAL_CHARS_GLOBAL:eJe}=fB();gl.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);gl.hasRegexChars=e=>$7e.test(e);gl.isRegexChar=e=>e.length===1&&gl.hasRegexChars(e);gl.escapeRegex=e=>e.replace(eJe,"\\$1");gl.toPosixSlashes=e=>e.replace(X7e,"/");gl.removeBackslashes=e=>e.replace(Z7e,t=>t==="\\"?"":t);gl.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};gl.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:z7e===!0||K7e.sep==="\\";gl.escapeLast=(e,t,r)=>{let s=e.lastIndexOf(t,r);return s===-1?e:e[s-1]==="\\"?gl.escapeLast(e,t,s-1):`${e.slice(0,s)}\\${e.slice(s)}`};gl.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};gl.wrapOutput=(e,t={},r={})=>{let s=r.contains?"":"^",a=r.contains?"":"$",n=`${s}(?:${e})${a}`;return t.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var doe=G((FQt,goe)=>{"use strict";var coe=AB(),{CHAR_ASTERISK:X_,CHAR_AT:tJe,CHAR_BACKWARD_SLASH:pB,CHAR_COMMA:rJe,CHAR_DOT:Z_,CHAR_EXCLAMATION_MARK:$_,CHAR_FORWARD_SLASH:hoe,CHAR_LEFT_CURLY_BRACE:e4,CHAR_LEFT_PARENTHESES:t4,CHAR_LEFT_SQUARE_BRACKET:nJe,CHAR_PLUS:iJe,CHAR_QUESTION_MARK:uoe,CHAR_RIGHT_CURLY_BRACE:sJe,CHAR_RIGHT_PARENTHESES:foe,CHAR_RIGHT_SQUARE_BRACKET:oJe}=fB(),Aoe=e=>e===hoe||e===pB,poe=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},aJe=(e,t)=>{let r=t||{},s=e.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],c=[],f=[],p=e,h=-1,E=0,C=0,S=!1,x=!1,I=!1,T=!1,O=!1,U=!1,V=!1,te=!1,ie=!1,ue=!1,ae=0,de,Ae,Ce={value:"",depth:0,isGlob:!1},Ee=()=>h>=s,g=()=>p.charCodeAt(h+1),Se=()=>(de=Ae,p.charCodeAt(++h));for(;h0&&(me=p.slice(0,E),p=p.slice(E),C-=E),Be&&I===!0&&C>0?(Be=p.slice(0,C),ce=p.slice(C)):I===!0?(Be="",ce=p):Be=p,Be&&Be!==""&&Be!=="/"&&Be!==p&&Aoe(Be.charCodeAt(Be.length-1))&&(Be=Be.slice(0,-1)),r.unescape===!0&&(ce&&(ce=coe.removeBackslashes(ce)),Be&&V===!0&&(Be=coe.removeBackslashes(Be)));let Z={prefix:me,input:e,start:E,base:Be,glob:ce,isBrace:S,isBracket:x,isGlob:I,isExtglob:T,isGlobstar:O,negated:te,negatedExtglob:ie};if(r.tokens===!0&&(Z.maxDepth=0,Aoe(Ae)||c.push(Ce),Z.tokens=c),r.parts===!0||r.tokens===!0){let De;for(let Qe=0;Qe{"use strict";var pk=fB(),Kl=AB(),{MAX_LENGTH:hk,POSIX_REGEX_SOURCE:lJe,REGEX_NON_SPECIAL_CHARS:cJe,REGEX_SPECIAL_CHARS_BACKREF:uJe,REPLACEMENTS:moe}=pk,fJe=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r)}catch{return e.map(a=>Kl.escapeRegex(a)).join("..")}return r},LE=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,r4=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=moe[e]||e;let r={...t},s=typeof r.maxLength=="number"?Math.min(hk,r.maxLength):hk,a=e.length;if(a>s)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${s}`);let n={type:"bos",value:"",output:r.prepend||""},c=[n],f=r.capture?"":"?:",p=Kl.isWindows(t),h=pk.globChars(p),E=pk.extglobChars(h),{DOT_LITERAL:C,PLUS_LITERAL:S,SLASH_LITERAL:x,ONE_CHAR:I,DOTS_SLASH:T,NO_DOT:O,NO_DOT_SLASH:U,NO_DOTS_SLASH:V,QMARK:te,QMARK_NO_DOT:ie,STAR:ue,START_ANCHOR:ae}=h,de=P=>`(${f}(?:(?!${ae}${P.dot?T:C}).)*?)`,Ae=r.dot?"":O,Ce=r.dot?te:ie,Ee=r.bash===!0?de(r):ue;r.capture&&(Ee=`(${Ee})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:e,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:c};e=Kl.removePrefix(e,g),a=e.length;let Se=[],Be=[],me=[],ce=n,Z,De=()=>g.index===a-1,Qe=g.peek=(P=1)=>e[g.index+P],st=g.advance=()=>e[++g.index]||"",_=()=>e.slice(g.index+1),tt=(P="",w=0)=>{g.consumed+=P,g.index+=w},Ne=P=>{g.output+=P.output!=null?P.output:P.value,tt(P.value)},ke=()=>{let P=1;for(;Qe()==="!"&&(Qe(2)!=="("||Qe(3)==="?");)st(),g.start++,P++;return P%2===0?!1:(g.negated=!0,g.start++,!0)},be=P=>{g[P]++,me.push(P)},je=P=>{g[P]--,me.pop()},Re=P=>{if(ce.type==="globstar"){let w=g.braces>0&&(P.type==="comma"||P.type==="brace"),b=P.extglob===!0||Se.length&&(P.type==="pipe"||P.type==="paren");P.type!=="slash"&&P.type!=="paren"&&!w&&!b&&(g.output=g.output.slice(0,-ce.output.length),ce.type="star",ce.value="*",ce.output=Ee,g.output+=ce.output)}if(Se.length&&P.type!=="paren"&&(Se[Se.length-1].inner+=P.value),(P.value||P.output)&&Ne(P),ce&&ce.type==="text"&&P.type==="text"){ce.value+=P.value,ce.output=(ce.output||"")+P.value;return}P.prev=ce,c.push(P),ce=P},ct=(P,w)=>{let b={...E[w],conditions:1,inner:""};b.prev=ce,b.parens=g.parens,b.output=g.output;let y=(r.capture?"(":"")+b.open;be("parens"),Re({type:P,value:w,output:g.output?"":I}),Re({type:"paren",extglob:!0,value:st(),output:y}),Se.push(b)},Me=P=>{let w=P.close+(r.capture?")":""),b;if(P.type==="negate"){let y=Ee;if(P.inner&&P.inner.length>1&&P.inner.includes("/")&&(y=de(r)),(y!==Ee||De()||/^\)+$/.test(_()))&&(w=P.close=`)$))${y}`),P.inner.includes("*")&&(b=_())&&/^\.[^\\/.]+$/.test(b)){let F=r4(b,{...t,fastpaths:!1}).output;w=P.close=`)${F})${y})`}P.prev.type==="bos"&&(g.negatedExtglob=!0)}Re({type:"paren",extglob:!0,value:Z,output:w}),je("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let P=!1,w=e.replace(uJe,(b,y,F,z,X,$)=>z==="\\"?(P=!0,b):z==="?"?y?y+z+(X?te.repeat(X.length):""):$===0?Ce+(X?te.repeat(X.length):""):te.repeat(F.length):z==="."?C.repeat(F.length):z==="*"?y?y+z+(X?Ee:""):Ee:y?b:`\\${b}`);return P===!0&&(r.unescape===!0?w=w.replace(/\\/g,""):w=w.replace(/\\+/g,b=>b.length%2===0?"\\\\":b?"\\":"")),w===e&&r.contains===!0?(g.output=e,g):(g.output=Kl.wrapOutput(w,g,t),g)}for(;!De();){if(Z=st(),Z==="\0")continue;if(Z==="\\"){let b=Qe();if(b==="/"&&r.bash!==!0||b==="."||b===";")continue;if(!b){Z+="\\",Re({type:"text",value:Z});continue}let y=/^\\+/.exec(_()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(Z+="\\")),r.unescape===!0?Z=st():Z+=st(),g.brackets===0){Re({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ce.value==="["||ce.value==="[^")){if(r.posix!==!1&&Z===":"){let b=ce.value.slice(1);if(b.includes("[")&&(ce.posix=!0,b.includes(":"))){let y=ce.value.lastIndexOf("["),F=ce.value.slice(0,y),z=ce.value.slice(y+2),X=lJe[z];if(X){ce.value=F+X,g.backtrack=!0,st(),!n.output&&c.indexOf(ce)===1&&(n.output=I);continue}}}(Z==="["&&Qe()!==":"||Z==="-"&&Qe()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ce.value==="["||ce.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ce.value==="["&&(Z="^"),ce.value+=Z,Ne({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=Kl.escapeRegex(Z),ce.value+=Z,Ne({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&Re({type:"text",value:Z});continue}if(Z==="("){be("parens"),Re({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(LE("opening","("));let b=Se[Se.length-1];if(b&&g.parens===b.parens+1){Me(Se.pop());continue}Re({type:"paren",value:Z,output:g.parens?")":"\\)"}),je("parens");continue}if(Z==="["){if(r.nobracket===!0||!_().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(LE("closing","]"));Z=`\\${Z}`}else be("brackets");Re({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ce&&ce.type==="bracket"&&ce.value.length===1){Re({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(LE("opening","["));Re({type:"text",value:Z,output:`\\${Z}`});continue}je("brackets");let b=ce.value.slice(1);if(ce.posix!==!0&&b[0]==="^"&&!b.includes("/")&&(Z=`/${Z}`),ce.value+=Z,Ne({value:Z}),r.literalBrackets===!1||Kl.hasRegexChars(b))continue;let y=Kl.escapeRegex(ce.value);if(g.output=g.output.slice(0,-ce.value.length),r.literalBrackets===!0){g.output+=y,ce.value=y;continue}ce.value=`(${f}${y}|${ce.value})`,g.output+=ce.value;continue}if(Z==="{"&&r.nobrace!==!0){be("braces");let b={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Be.push(b),Re(b);continue}if(Z==="}"){let b=Be[Be.length-1];if(r.nobrace===!0||!b){Re({type:"text",value:Z,output:Z});continue}let y=")";if(b.dots===!0){let F=c.slice(),z=[];for(let X=F.length-1;X>=0&&(c.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&z.unshift(F[X].value);y=fJe(z,r),g.backtrack=!0}if(b.comma!==!0&&b.dots!==!0){let F=g.output.slice(0,b.outputIndex),z=g.tokens.slice(b.tokensIndex);b.value=b.output="\\{",Z=y="\\}",g.output=F;for(let X of z)g.output+=X.output||X.value}Re({type:"brace",value:Z,output:y}),je("braces"),Be.pop();continue}if(Z==="|"){Se.length>0&&Se[Se.length-1].conditions++,Re({type:"text",value:Z});continue}if(Z===","){let b=Z,y=Be[Be.length-1];y&&me[me.length-1]==="braces"&&(y.comma=!0,b="|"),Re({type:"comma",value:Z,output:b});continue}if(Z==="/"){if(ce.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",c.pop(),ce=n;continue}Re({type:"slash",value:Z,output:x});continue}if(Z==="."){if(g.braces>0&&ce.type==="dot"){ce.value==="."&&(ce.output=C);let b=Be[Be.length-1];ce.type="dots",ce.output+=Z,ce.value+=Z,b.dots=!0;continue}if(g.braces+g.parens===0&&ce.type!=="bos"&&ce.type!=="slash"){Re({type:"text",value:Z,output:C});continue}Re({type:"dot",value:Z,output:C});continue}if(Z==="?"){if(!(ce&&ce.value==="(")&&r.noextglob!==!0&&Qe()==="("&&Qe(2)!=="?"){ct("qmark",Z);continue}if(ce&&ce.type==="paren"){let y=Qe(),F=Z;if(y==="<"&&!Kl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ce.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(_()))&&(F=`\\${Z}`),Re({type:"text",value:Z,output:F});continue}if(r.dot!==!0&&(ce.type==="slash"||ce.type==="bos")){Re({type:"qmark",value:Z,output:ie});continue}Re({type:"qmark",value:Z,output:te});continue}if(Z==="!"){if(r.noextglob!==!0&&Qe()==="("&&(Qe(2)!=="?"||!/[!=<:]/.test(Qe(3)))){ct("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){ke();continue}}if(Z==="+"){if(r.noextglob!==!0&&Qe()==="("&&Qe(2)!=="?"){ct("plus",Z);continue}if(ce&&ce.value==="("||r.regex===!1){Re({type:"plus",value:Z,output:S});continue}if(ce&&(ce.type==="bracket"||ce.type==="paren"||ce.type==="brace")||g.parens>0){Re({type:"plus",value:Z});continue}Re({type:"plus",value:S});continue}if(Z==="@"){if(r.noextglob!==!0&&Qe()==="("&&Qe(2)!=="?"){Re({type:"at",extglob:!0,value:Z,output:""});continue}Re({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let b=cJe.exec(_());b&&(Z+=b[0],g.index+=b[0].length),Re({type:"text",value:Z});continue}if(ce&&(ce.type==="globstar"||ce.star===!0)){ce.type="star",ce.star=!0,ce.value+=Z,ce.output=Ee,g.backtrack=!0,g.globstar=!0,tt(Z);continue}let P=_();if(r.noextglob!==!0&&/^\([^?]/.test(P)){ct("star",Z);continue}if(ce.type==="star"){if(r.noglobstar===!0){tt(Z);continue}let b=ce.prev,y=b.prev,F=b.type==="slash"||b.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||P[0]&&P[0]!=="/")){Re({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(b.type==="comma"||b.type==="brace"),$=Se.length&&(b.type==="pipe"||b.type==="paren");if(!F&&b.type!=="paren"&&!X&&!$){Re({type:"star",value:Z,output:""});continue}for(;P.slice(0,3)==="/**";){let se=e[g.index+4];if(se&&se!=="/")break;P=P.slice(3),tt("/**",3)}if(b.type==="bos"&&De()){ce.type="globstar",ce.value+=Z,ce.output=de(r),g.output=ce.output,g.globstar=!0,tt(Z);continue}if(b.type==="slash"&&b.prev.type!=="bos"&&!z&&De()){g.output=g.output.slice(0,-(b.output+ce.output).length),b.output=`(?:${b.output}`,ce.type="globstar",ce.output=de(r)+(r.strictSlashes?")":"|$)"),ce.value+=Z,g.globstar=!0,g.output+=b.output+ce.output,tt(Z);continue}if(b.type==="slash"&&b.prev.type!=="bos"&&P[0]==="/"){let se=P[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(b.output+ce.output).length),b.output=`(?:${b.output}`,ce.type="globstar",ce.output=`${de(r)}${x}|${x}${se})`,ce.value+=Z,g.output+=b.output+ce.output,g.globstar=!0,tt(Z+st()),Re({type:"slash",value:"/",output:""});continue}if(b.type==="bos"&&P[0]==="/"){ce.type="globstar",ce.value+=Z,ce.output=`(?:^|${x}|${de(r)}${x})`,g.output=ce.output,g.globstar=!0,tt(Z+st()),Re({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ce.output.length),ce.type="globstar",ce.output=de(r),ce.value+=Z,g.output+=ce.output,g.globstar=!0,tt(Z);continue}let w={type:"star",value:Z,output:Ee};if(r.bash===!0){w.output=".*?",(ce.type==="bos"||ce.type==="slash")&&(w.output=Ae+w.output),Re(w);continue}if(ce&&(ce.type==="bracket"||ce.type==="paren")&&r.regex===!0){w.output=Z,Re(w);continue}(g.index===g.start||ce.type==="slash"||ce.type==="dot")&&(ce.type==="dot"?(g.output+=U,ce.output+=U):r.dot===!0?(g.output+=V,ce.output+=V):(g.output+=Ae,ce.output+=Ae),Qe()!=="*"&&(g.output+=I,ce.output+=I)),Re(w)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(LE("closing","]"));g.output=Kl.escapeLast(g.output,"["),je("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(LE("closing",")"));g.output=Kl.escapeLast(g.output,"("),je("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(LE("closing","}"));g.output=Kl.escapeLast(g.output,"{"),je("braces")}if(r.strictSlashes!==!0&&(ce.type==="star"||ce.type==="bracket")&&Re({type:"maybe_slash",value:"",output:`${x}?`}),g.backtrack===!0){g.output="";for(let P of g.tokens)g.output+=P.output!=null?P.output:P.value,P.suffix&&(g.output+=P.suffix)}return g};r4.fastpaths=(e,t)=>{let r={...t},s=typeof r.maxLength=="number"?Math.min(hk,r.maxLength):hk,a=e.length;if(a>s)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${s}`);e=moe[e]||e;let n=Kl.isWindows(t),{DOT_LITERAL:c,SLASH_LITERAL:f,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:C,NO_DOTS_SLASH:S,STAR:x,START_ANCHOR:I}=pk.globChars(n),T=r.dot?C:E,O=r.dot?S:E,U=r.capture?"":"?:",V={negated:!1,prefix:""},te=r.bash===!0?".*?":x;r.capture&&(te=`(${te})`);let ie=Ae=>Ae.noglobstar===!0?te:`(${U}(?:(?!${I}${Ae.dot?h:c}).)*?)`,ue=Ae=>{switch(Ae){case"*":return`${T}${p}${te}`;case".*":return`${c}${p}${te}`;case"*.*":return`${T}${te}${c}${p}${te}`;case"*/*":return`${T}${te}${f}${p}${O}${te}`;case"**":return T+ie(r);case"**/*":return`(?:${T}${ie(r)}${f})?${O}${p}${te}`;case"**/*.*":return`(?:${T}${ie(r)}${f})?${O}${te}${c}${p}${te}`;case"**/.*":return`(?:${T}${ie(r)}${f})?${c}${p}${te}`;default:{let Ce=/^(.*?)\.(\w+)$/.exec(Ae);if(!Ce)return;let Ee=ue(Ce[1]);return Ee?Ee+c+Ce[2]:void 0}}},ae=Kl.removePrefix(e,V),de=ue(ae);return de&&r.strictSlashes!==!0&&(de+=`${f}?`),de};yoe.exports=r4});var Coe=G((OQt,Ioe)=>{"use strict";var AJe=Ie("path"),pJe=doe(),n4=Eoe(),i4=AB(),hJe=fB(),gJe=e=>e&&typeof e=="object"&&!Array.isArray(e),Zi=(e,t,r=!1)=>{if(Array.isArray(e)){let E=e.map(S=>Zi(S,t,r));return S=>{for(let x of E){let I=x(S);if(I)return I}return!1}}let s=gJe(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!s)throw new TypeError("Expected pattern to be a non-empty string");let a=t||{},n=i4.isWindows(t),c=s?Zi.compileRe(e,t):Zi.makeRe(e,t,!1,!0),f=c.state;delete c.state;let p=()=>!1;if(a.ignore){let E={...t,ignore:null,onMatch:null,onResult:null};p=Zi(a.ignore,E,r)}let h=(E,C=!1)=>{let{isMatch:S,match:x,output:I}=Zi.test(E,c,t,{glob:e,posix:n}),T={glob:e,state:f,regex:c,posix:n,input:E,output:I,match:x,isMatch:S};return typeof a.onResult=="function"&&a.onResult(T),S===!1?(T.isMatch=!1,C?T:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(T),T.isMatch=!1,C?T:!1):(typeof a.onMatch=="function"&&a.onMatch(T),C?T:!0)};return r&&(h.state=f),h};Zi.test=(e,t,r,{glob:s,posix:a}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let n=r||{},c=n.format||(a?i4.toPosixSlashes:null),f=e===s,p=f&&c?c(e):e;return f===!1&&(p=c?c(e):e,f=p===s),(f===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?f=Zi.matchBase(e,t,r,a):f=t.exec(p)),{isMatch:!!f,match:f,output:p}};Zi.matchBase=(e,t,r,s=i4.isWindows(r))=>(t instanceof RegExp?t:Zi.makeRe(t,r)).test(AJe.basename(e));Zi.isMatch=(e,t,r)=>Zi(t,r)(e);Zi.parse=(e,t)=>Array.isArray(e)?e.map(r=>Zi.parse(r,t)):n4(e,{...t,fastpaths:!1});Zi.scan=(e,t)=>pJe(e,t);Zi.compileRe=(e,t,r=!1,s=!1)=>{if(r===!0)return e.output;let a=t||{},n=a.contains?"":"^",c=a.contains?"":"$",f=`${n}(?:${e.output})${c}`;e&&e.negated===!0&&(f=`^(?!${f}).*$`);let p=Zi.toRegex(f,t);return s===!0&&(p.state=e),p};Zi.makeRe=(e,t={},r=!1,s=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(a.output=n4.fastpaths(e,t)),a.output||(a=n4(e,t)),Zi.compileRe(a,t,r,s)};Zi.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};Zi.constants=hJe;Ioe.exports=Zi});var Boe=G((LQt,woe)=>{"use strict";woe.exports=Coe()});var zo=G((MQt,boe)=>{"use strict";var Soe=Ie("util"),Doe=noe(),Xf=Boe(),s4=AB(),voe=e=>e===""||e==="./",ki=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let s=new Set,a=new Set,n=new Set,c=0,f=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E!s.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(E=>E.replace(/\\/g,"")):t}return h};ki.match=ki;ki.matcher=(e,t)=>Xf(e,t);ki.isMatch=(e,t,r)=>Xf(t,r)(e);ki.any=ki.isMatch;ki.not=(e,t,r={})=>{t=[].concat(t).map(String);let s=new Set,a=[],n=f=>{r.onResult&&r.onResult(f),a.push(f.output)},c=new Set(ki(e,t,{...r,onResult:n}));for(let f of a)c.has(f)||s.add(f);return[...s]};ki.contains=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${Soe.inspect(e)}"`);if(Array.isArray(t))return t.some(s=>ki.contains(e,s,r));if(typeof t=="string"){if(voe(e)||voe(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return ki.isMatch(e,t,{...r,contains:!0})};ki.matchKeys=(e,t,r)=>{if(!s4.isObject(e))throw new TypeError("Expected the first argument to be an object");let s=ki(Object.keys(e),t,r),a={};for(let n of s)a[n]=e[n];return a};ki.some=(e,t,r)=>{let s=[].concat(e);for(let a of[].concat(t)){let n=Xf(String(a),r);if(s.some(c=>n(c)))return!0}return!1};ki.every=(e,t,r)=>{let s=[].concat(e);for(let a of[].concat(t)){let n=Xf(String(a),r);if(!s.every(c=>n(c)))return!1}return!0};ki.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${Soe.inspect(e)}"`);return[].concat(t).every(s=>Xf(s,r)(e))};ki.capture=(e,t,r)=>{let s=s4.isWindows(r),n=Xf.makeRe(String(e),{...r,capture:!0}).exec(s?s4.toPosixSlashes(t):t);if(n)return n.slice(1).map(c=>c===void 0?"":c)};ki.makeRe=(...e)=>Xf.makeRe(...e);ki.scan=(...e)=>Xf.scan(...e);ki.parse=(e,t)=>{let r=[];for(let s of[].concat(e||[]))for(let a of Doe(String(s),t))r.push(Xf.parse(a,t));return r};ki.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!/\{.*\}/.test(e)?[e]:Doe(e,t)};ki.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return ki.braces(e,{...t,expand:!0})};boe.exports=ki});var xoe=G((UQt,Poe)=>{"use strict";Poe.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var gk=G((_Qt,koe)=>{"use strict";var dJe=xoe();koe.exports=e=>typeof e=="string"?e.replace(dJe(),""):e});function Qoe(e){return Number.isSafeInteger(e)&&e>=0}var Roe=Xe(()=>{});function Toe(e){return e!=null&&typeof e!="function"&&Qoe(e.length)}var Foe=Xe(()=>{Roe()});function xc(e){return e==="__proto__"}var hB=Xe(()=>{});function ME(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}var dk=Xe(()=>{});function UE(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}var mk=Xe(()=>{});function Lu(e){let t=[],r=e.length;if(r===0)return t;let s=0,a="",n="",c=!1;for(e.charCodeAt(0)===46&&(t.push(""),s++);s{});function Pa(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(xc(t))return r;let s=e[t];return s===void 0?ME(t)?Pa(e,Lu(t),r):r:s}case"number":case"symbol":{typeof t=="number"&&(t=UE(t));let s=e[t];return s===void 0?r:s}default:{if(Array.isArray(t))return mJe(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),xc(t))return r;let s=e[t];return s===void 0?r:s}}}function mJe(e,t,r){if(t.length===0)return r;let s=e;for(let a=0;a{hB();dk();mk();_E()});function o4(e){return e!==null&&(typeof e=="object"||typeof e=="function")}var Noe=Xe(()=>{});function HE(e){return e==null||typeof e!="object"&&typeof e!="function"}var Ek=Xe(()=>{});function Ik(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}var a4=Xe(()=>{});function Gd(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var Ck=Xe(()=>{});function qd(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var wk=Xe(()=>{});var Bk,jE,GE,qE,Wd,vk,Sk,Dk,bk,Pk,Ooe,xk,WE,Loe,kk,Qk,Rk,Tk,Fk,Moe,Nk,Ok,Lk,Uoe,Mk,Uk,_k=Xe(()=>{Bk="[object RegExp]",jE="[object String]",GE="[object Number]",qE="[object Boolean]",Wd="[object Arguments]",vk="[object Symbol]",Sk="[object Date]",Dk="[object Map]",bk="[object Set]",Pk="[object Array]",Ooe="[object Function]",xk="[object ArrayBuffer]",WE="[object Object]",Loe="[object Error]",kk="[object DataView]",Qk="[object Uint8Array]",Rk="[object Uint8ClampedArray]",Tk="[object Uint16Array]",Fk="[object Uint32Array]",Moe="[object BigUint64Array]",Nk="[object Int8Array]",Ok="[object Int16Array]",Lk="[object Int32Array]",Uoe="[object BigInt64Array]",Mk="[object Float32Array]",Uk="[object Float64Array]"});function YE(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var Hk=Xe(()=>{});function _oe(e,t){return c0(e,void 0,e,new Map,t)}function c0(e,t,r,s=new Map,a=void 0){let n=a?.(e,t,r,s);if(n!=null)return n;if(HE(e))return e;if(s.has(e))return s.get(e);if(Array.isArray(e)){let c=new Array(e.length);s.set(e,c);for(let f=0;f{Ck();wk();_k();Ek();Hk()});function Hoe(e){return c0(e,void 0,e,new Map,void 0)}var joe=Xe(()=>{l4()});function Goe(e,t){return _oe(e,(r,s,a,n)=>{let c=t?.(r,s,a,n);if(c!=null)return c;if(typeof e=="object")switch(Object.prototype.toString.call(e)){case GE:case jE:case qE:{let f=new e.constructor(e?.valueOf());return l0(f,e),f}case Wd:{let f={};return l0(f,e),f.length=e.length,f[Symbol.iterator]=e[Symbol.iterator],f}default:return}})}var qoe=Xe(()=>{l4();_k()});function u0(e){return Goe(e)}var c4=Xe(()=>{qoe()});function jk(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e{EJe=/^(?:0|[1-9]\d*)$/});function gB(e){return e!==null&&typeof e=="object"&&qd(e)==="[object Arguments]"}var f4=Xe(()=>{wk()});function dB(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&ME(t)&&e?.[t]==null?r=Lu(t):r=[t],r.length===0)return!1;let s=e;for(let a=0;a{dk();u4();f4();_E()});function p4(e){return typeof e=="object"&&e!==null}var Woe=Xe(()=>{});function Yoe(e){return typeof e=="symbol"||e instanceof Symbol}var Voe=Xe(()=>{});function Joe(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||Yoe(e)?!0:typeof e=="string"&&(CJe.test(e)||!IJe.test(e))||t!=null&&Object.hasOwn(t,e)}var IJe,CJe,Koe=Xe(()=>{Voe();IJe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,CJe=/^\w*$/});function f0(e,t){if(e==null)return!0;switch(typeof t){case"symbol":case"number":case"object":{if(Array.isArray(t))return zoe(e,t);if(typeof t=="number"?t=UE(t):typeof t=="object"&&(Object.is(t?.valueOf(),-0)?t="-0":t=String(t)),xc(t))return!1;if(e?.[t]===void 0)return!0;try{return delete e[t],!0}catch{return!1}}case"string":{if(e?.[t]===void 0&&ME(t))return zoe(e,Lu(t));if(xc(t))return!1;try{return delete e[t],!0}catch{return!1}}}}function zoe(e,t){let r=Pa(e,t.slice(0,-1),e),s=t[t.length-1];if(r?.[s]===void 0)return!0;if(xc(s))return!1;try{return delete r[s],!0}catch{return!1}}var h4=Xe(()=>{yk();hB();dk();mk();_E()});function Xoe(e){return e==null}var Zoe=Xe(()=>{});var $oe,eae=Xe(()=>{a4();$oe=(e,t,r)=>{let s=e[t];(!(Object.hasOwn(e,t)&&Ik(s,r))||r===void 0&&!(t in e))&&(e[t]=r)}});function tae(e,t,r,s){if(e==null&&!o4(e))return e;let a=Joe(t,e)?[t]:Array.isArray(t)?t:typeof t=="string"?Lu(t):[t],n=e;for(let c=0;c{hB();eae();u4();Koe();mk();Noe();_E()});function Yd(e,t,r){return tae(e,t,()=>r,()=>{})}var g4=Xe(()=>{rae()});function nae(e,t=0,r={}){typeof r!="object"&&(r={});let s=null,a=null,n=null,c=0,f=null,p,{leading:h=!1,trailing:E=!0,maxWait:C}=r,S="maxWait"in r,x=S?Math.max(Number(C)||0,t):0,I=ue=>(s!==null&&(p=e.apply(a,s)),s=a=null,c=ue,p),T=ue=>(c=ue,f=setTimeout(te,t),h&&s!==null?I(ue):p),O=ue=>(f=null,E&&s!==null?I(ue):p),U=ue=>{if(n===null)return!0;let ae=ue-n,de=ae>=t||ae<0,Ae=S&&ue-c>=x;return de||Ae},V=ue=>{let ae=n===null?0:ue-n,de=t-ae,Ae=x-(ue-c);return S?Math.min(de,Ae):de},te=()=>{let ue=Date.now();if(U(ue))return O(ue);f=setTimeout(te,V(ue))},ie=function(...ue){let ae=Date.now(),de=U(ae);if(s=ue,a=this,n=ae,de){if(f===null)return T(ae);if(S)return clearTimeout(f),f=setTimeout(te,t),I(ae)}return f===null&&(f=setTimeout(te,t)),p};return ie.cancel=()=>{f!==null&&clearTimeout(f),c=0,n=s=a=f=null},ie.flush=()=>f===null?p:O(Date.now()),ie}var iae=Xe(()=>{});function d4(e,t=0,r={}){let{leading:s=!0,trailing:a=!0}=r;return nae(e,t,{leading:s,maxWait:t,trailing:a})}var sae=Xe(()=>{iae()});function m4(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(m4).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}var oae=Xe(()=>{});function y4(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}var aae=Xe(()=>{});function lae(e,t,r){return mB(e,t,void 0,void 0,void 0,void 0,r)}function mB(e,t,r,s,a,n,c){let f=c(e,t,r,s,a,n);if(f!==void 0)return f;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return yB(e,t,n,c)}return yB(e,t,n,c)}function yB(e,t,r,s){if(Object.is(e,t))return!0;let a=qd(e),n=qd(t);if(a===Wd&&(a=WE),n===Wd&&(n=WE),a!==n)return!1;switch(a){case jE:return e.toString()===t.toString();case GE:{let p=e.valueOf(),h=t.valueOf();return Ik(p,h)}case qE:case Sk:case vk:return Object.is(e.valueOf(),t.valueOf());case Bk:return e.source===t.source&&e.flags===t.flags;case Ooe:return e===t}r=r??new Map;let c=r.get(e),f=r.get(t);if(c!=null&&f!=null)return c===t;r.set(e,t),r.set(t,e);try{switch(a){case Dk:{if(e.size!==t.size)return!1;for(let[p,h]of e.entries())if(!t.has(p)||!mB(h,t.get(p),p,e,t,r,s))return!1;return!0}case bk:{if(e.size!==t.size)return!1;let p=Array.from(e.values()),h=Array.from(t.values());for(let E=0;EmB(C,x,void 0,e,t,r,s));if(S===-1)return!1;h.splice(S,1)}return!0}case Pk:case Qk:case Rk:case Tk:case Fk:case Moe:case Nk:case Ok:case Lk:case Uoe:case Mk:case Uk:{if(typeof Buffer<"u"&&Buffer.isBuffer(e)!==Buffer.isBuffer(t)||e.length!==t.length)return!1;for(let p=0;p{aae();Ck();wk();_k();a4()});function uae(){}var fae=Xe(()=>{});function E4(e,t){return lae(e,t,uae)}var Aae=Xe(()=>{cae();fae()});function pae(e){return YE(e)}var hae=Xe(()=>{Hk()});function gae(e){if(typeof e!="object"||e==null)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!=="[object Object]"){let r=e[Symbol.toStringTag];return r==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${r}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var dae=Xe(()=>{});function mae(e){if(HE(e))return e;if(Array.isArray(e)||YE(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){let s=new r(e);return s.lastIndex=e.lastIndex,s}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let s=new r(e.message);return s.stack=e.stack,s.name=e.name,s.cause=e.cause,s}if(typeof File<"u"&&e instanceof File)return new r([e],e.name,{type:e.type,lastModified:e.lastModified});if(typeof e=="object"){let s=Object.create(t);return Object.assign(s,e)}return e}var yae=Xe(()=>{Ek();Hk()});function I4(e,...t){let r=t.slice(0,-1),s=t[t.length-1],a=e;for(let n=0;n{c4();hB();yae();Ek();Ck();f4();Woe();dae();hae()});function C4(e,...t){if(e==null)return{};let r=Hoe(e);for(let s=0;s{h4();joe()});function Vd(e,...t){if(Xoe(e))return{};let r={};for(let s=0;s{yk();A4();g4();Foe();Zoe()});function wae(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}var Bae=Xe(()=>{});function EB(e){return wae(m4(e))}var vae=Xe(()=>{Bae();oae()});var zl=Xe(()=>{sae();Aae();c4();yk();A4();Eae();Iae();Cae();g4();h4();vae();_E()});var Ge={};Vt(Ge,{AsyncActions:()=>v4,BufferStream:()=>B4,CachingStrategy:()=>Fae,DefaultStream:()=>S4,allSettledSafe:()=>Mu,assertNever:()=>P4,bufferStream:()=>JE,buildIgnorePattern:()=>PJe,convertMapsToIndexableObjects:()=>Wk,dynamicRequire:()=>kp,escapeRegExp:()=>BJe,getArrayWithDefault:()=>CB,getFactoryWithDefault:()=>Zl,getMapWithDefault:()=>x4,getSetWithDefault:()=>xp,groupBy:()=>QJe,isIndexableObject:()=>w4,isPathLike:()=>xJe,isTaggedYarnVersion:()=>wJe,makeDeferred:()=>Qae,mapAndFilter:()=>Xl,mapAndFind:()=>A0,mergeIntoTarget:()=>Oae,overrideType:()=>vJe,parseBoolean:()=>wB,parseDuration:()=>Vk,parseInt:()=>KE,parseOptionalBoolean:()=>Nae,plural:()=>qk,prettifyAsyncErrors:()=>VE,prettifySyncErrors:()=>k4,releaseAfterUseAsync:()=>DJe,replaceEnvVariables:()=>Yk,sortMap:()=>Vs,toMerged:()=>kJe,tryParseOptionalBoolean:()=>Q4,validateEnum:()=>SJe});function wJe(e){return!!(Pae.default.valid(e)&&e.match(/^[^-]+(-rc\.[0-9]+)?$/))}function qk(e,{one:t,more:r,zero:s=r}){return e===0?s:e===1?t:r}function BJe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vJe(e){}function P4(e){throw new Error(`Assertion failed: Unexpected object '${e}'`)}function SJe(e,t){let r=Object.values(e);if(!r.includes(t))throw new it(`Invalid value for enumeration: ${JSON.stringify(t)} (expected one of ${r.map(s=>JSON.stringify(s)).join(", ")})`);return t}function Xl(e,t){let r=[];for(let s of e){let a=t(s);a!==xae&&r.push(a)}return r}function A0(e,t){for(let r of e){let s=t(r);if(s!==kae)return s}}function w4(e){return typeof e=="object"&&e!==null}async function Mu(e){let t=await Promise.allSettled(e),r=[];for(let s of t){if(s.status==="rejected")throw s.reason;r.push(s.value)}return r}function Wk(e){if(e instanceof Map&&(e=Object.fromEntries(e)),w4(e))for(let t of Object.keys(e)){let r=e[t];w4(r)&&(e[t]=Wk(r))}return e}function Zl(e,t,r){let s=e.get(t);return typeof s>"u"&&e.set(t,s=r()),s}function CB(e,t){let r=e.get(t);return typeof r>"u"&&e.set(t,r=[]),r}function xp(e,t){let r=e.get(t);return typeof r>"u"&&e.set(t,r=new Set),r}function x4(e,t){let r=e.get(t);return typeof r>"u"&&e.set(t,r=new Map),r}async function DJe(e,t){if(t==null)return await e();try{return await e()}finally{await t()}}async function VE(e,t){try{return await e()}catch(r){throw r.message=t(r.message),r}}function k4(e,t){try{return e()}catch(r){throw r.message=t(r.message),r}}async function JE(e){return await new Promise((t,r)=>{let s=[];e.on("error",a=>{r(a)}),e.on("data",a=>{s.push(a)}),e.on("end",()=>{t(Buffer.concat(s))})})}function Qae(){let e,t;return{promise:new Promise((s,a)=>{e=s,t=a}),resolve:e,reject:t}}function Rae(e){return IB(fe.fromPortablePath(e))}function Tae(path){let physicalPath=fe.fromPortablePath(path),currentCacheEntry=IB.cache[physicalPath];delete IB.cache[physicalPath];let result;try{result=Rae(physicalPath);let freshCacheEntry=IB.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{IB.cache[physicalPath]=currentCacheEntry}return result}function bJe(e){let t=Sae.get(e),r=le.statSync(e);if(t?.mtime===r.mtimeMs)return t.instance;let s=Tae(e);return Sae.set(e,{mtime:r.mtimeMs,instance:s}),s}function kp(e,{cachingStrategy:t=2}={}){switch(t){case 0:return Tae(e);case 1:return bJe(e);case 2:return Rae(e);default:throw new Error("Unsupported caching strategy")}}function Vs(e,t){let r=Array.from(e);Array.isArray(t)||(t=[t]);let s=[];for(let n of t)s.push(r.map(c=>n(c)));let a=r.map((n,c)=>c);return a.sort((n,c)=>{for(let f of s){let p=f[n]f[c]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function PJe(e){return e.length===0?null:e.map(t=>`(${Dae.default.makeRe(t,{windows:!1,dot:!0}).source})`).join("|")}function Yk(e,{env:t}){let r="",s=0,a=0,n=e.matchAll(/\\(?[\\$}])|\$\{(?[a-zA-Z]\w*)(?:-|-|(?=\}))|(?\$\{)|\}/g),c=()=>{let f=a;for(let{0:p,index:h,groups:{variable:E}={}}of n)if(E)a++;else if(p==="}"&&--a0)throw new it(`Incomplete variable substitution in input: ${e}`);return r+e.slice(s)}function wB(e){switch(e){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${e}" as a boolean`)}}function Nae(e){return typeof e>"u"?e:wB(e)}function Q4(e){try{return Nae(e)}catch{return null}}function xJe(e){return!!(fe.isAbsolute(e)||e.match(/^(\.{1,2}|~)\//))}function Oae(e,...t){let r=c=>({value:c}),s=r(e),a=t.map(c=>r(c)),{value:n}=I4(s,...a,(c,f)=>{if(Array.isArray(c)&&Array.isArray(f)){for(let p of f)c.find(h=>E4(h,p))||c.push(p);return c}});return n}function kJe(...e){return Oae({},...e)}function QJe(e,t){let r=Object.create(null);for(let s of e){let a=s[t];r[a]??=[],r[a].push(s)}return r}function KE(e){return typeof e=="string"?Number.parseInt(e,10):e}function Vk(e,t){let r=RJe.exec(e)?.groups;if(!r)throw new Error(`Couldn't parse "${e}" as a duration`);if(r.unit===void 0)return parseFloat(r.num);let s=D4[r.unit];if(!s)throw new Error(`Invalid duration unit "${r.unit}"`);return parseFloat(r.num)*s/D4[t]}var Dae,bae,Pae,b4,xae,kae,B4,v4,S4,IB,Sae,Fae,D4,RJe,kc=Xe(()=>{Dt();Yt();zl();Dae=et(zo()),bae=et(Nd()),Pae=et(pi()),b4=Ie("stream");xae=Symbol();Xl.skip=xae;kae=Symbol();A0.skip=kae;B4=class extends b4.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,s,a){if(s!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};v4=class{constructor(t){this.deferred=new Map;this.promises=new Map;this.limit=(0,bae.default)(t)}set(t,r){let s=this.deferred.get(t);typeof s>"u"&&this.deferred.set(t,s=Qae());let a=this.limit(()=>r());return this.promises.set(t,a),a.then(()=>{this.promises.get(t)===a&&s.resolve()},n=>{this.promises.get(t)===a&&s.reject(n)}),s.promise}reduce(t,r){let s=this.promises.get(t)??Promise.resolve();this.set(t,()=>r(s))}async wait(){await Promise.all(this.promises.values())}},S4=class extends b4.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,s,a){if(s!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},IB=eval("require");Sae=new Map;Fae=(s=>(s[s.NoCache=0]="NoCache",s[s.FsTime=1]="FsTime",s[s.Node=2]="Node",s))(Fae||{});D4={ms:1,s:1e3,m:60*1e3,h:60*60*1e3,d:24*60*60*1e3,w:7*24*60*60*1e3},RJe=new RegExp(`^(?\\d*\\.?\\d+)(?${Object.keys(D4).join("|")})?$`)});var zE,R4,T4,Lae=Xe(()=>{zE=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(zE||{}),R4=(s=>(s.Dependency="Dependency",s.PeerDependency="PeerDependency",s.PeerDependencyMeta="PeerDependencyMeta",s))(R4||{}),T4=(s=>(s.Inactive="inactive",s.Redundant="redundant",s.Active="active",s))(T4||{})});var pe={};Vt(pe,{LogLevel:()=>$k,Style:()=>zk,Type:()=>gt,addLogFilterSupport:()=>SB,applyColor:()=>si,applyHyperlink:()=>ZE,applyStyle:()=>Jd,json:()=>Kd,jsonOrPretty:()=>NJe,mark:()=>M4,pretty:()=>jt,prettyField:()=>Zf,prettyList:()=>L4,prettyTruncatedLocatorList:()=>Zk,stripAnsi:()=>XE.default,supportsColor:()=>Xk,supportsHyperlinks:()=>O4,tuple:()=>Uu});function Mae(e){let t=["KiB","MiB","GiB","TiB"],r=t.length;for(;r>1&&e<1024**r;)r-=1;let s=1024**r;return`${Math.floor(e*100/s)/100} ${t[r-1]}`}function Jk(e,t){if(Array.isArray(t))return t.length===0?si(e,"[]",gt.CODE):si(e,"[ ",gt.CODE)+t.map(r=>Jk(e,r)).join(", ")+si(e," ]",gt.CODE);if(typeof t=="string")return si(e,JSON.stringify(t),gt.STRING);if(typeof t=="number")return si(e,JSON.stringify(t),gt.NUMBER);if(typeof t=="boolean")return si(e,JSON.stringify(t),gt.BOOLEAN);if(t===null)return si(e,"null",gt.NULL);if(typeof t=="object"&&Object.getPrototypeOf(t)===Object.prototype){let r=Object.entries(t);return r.length===0?si(e,"{}",gt.CODE):si(e,"{ ",gt.CODE)+r.map(([s,a])=>`${Jk(e,s)}: ${Jk(e,a)}`).join(", ")+si(e," }",gt.CODE)}if(typeof t>"u")return si(e,"undefined",gt.NULL);throw new Error("Assertion failed: The value doesn't seem to be a valid JSON object")}function Uu(e,t){return[t,e]}function Jd(e,t,r){return e.get("enableColors")&&r&2&&(t=vB.default.bold(t)),t}function si(e,t,r){if(!e.get("enableColors"))return t;let s=TJe.get(r);if(s===null)return t;let a=typeof s>"u"?r:N4.level>=3?s[0]:s[1],n=typeof a=="number"?F4.ansi256(a):a.startsWith("#")?F4.hex(a):F4[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(t)}function ZE(e,t,r){return e.get("enableHyperlinks")?FJe?`\x1B]8;;${r}\x1B\\${t}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${t}\x1B]8;;\x07`:t}function jt(e,t,r){if(t===null)return si(e,"null",gt.NULL);if(Object.hasOwn(Kk,r))return Kk[r].pretty(e,t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return si(e,t,r)}function L4(e,t,r,{separator:s=", "}={}){return[...t].map(a=>jt(e,a,r)).join(s)}function Kd(e,t){if(e===null)return null;if(Object.hasOwn(Kk,t))return Kk[t].json(e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return e}function NJe(e,t,[r,s]){return e?Kd(r,s):jt(t,r,s)}function M4(e){return{Check:si(e,"\u2713","green"),Cross:si(e,"\u2718","red"),Question:si(e,"?","cyan")}}function Zf(e,{label:t,value:[r,s]}){return`${jt(e,t,gt.CODE)}: ${jt(e,r,s)}`}function Zk(e,t,r){let s=[],a=[...t],n=r;for(;a.length>0;){let h=a[0],E=`${Yr(e,h)}, `,C=U4(h).length+2;if(s.length>0&&nh).join("").slice(0,-2);let c="X".repeat(a.length.toString().length),f=`and ${c} more.`,p=a.length;for(;s.length>1&&nh).join(""),f.replace(c,jt(e,p,gt.NUMBER))].join("")}function SB(e,{configuration:t}){let r=t.get("logFilters"),s=new Map,a=new Map,n=[];for(let C of r){let S=C.get("level");if(typeof S>"u")continue;let x=C.get("code");typeof x<"u"&&s.set(x,S);let I=C.get("text");typeof I<"u"&&a.set(I,S);let T=C.get("pattern");typeof T<"u"&&n.push([Uae.default.matcher(T,{contains:!0}),S])}n.reverse();let c=(C,S,x)=>{if(C===null||C===0)return x;let I=a.size>0||n.length>0?(0,XE.default)(S):S;if(a.size>0){let T=a.get(I);if(typeof T<"u")return T??x}if(n.length>0){for(let[T,O]of n)if(T(I))return O??x}if(s.size>0){let T=s.get(Kf(C));if(typeof T<"u")return T??x}return x},f=e.reportInfo,p=e.reportWarning,h=e.reportError,E=function(C,S,x,I){switch(c(S,x,I)){case"info":f.call(C,S,x);break;case"warning":p.call(C,S??0,x);break;case"error":h.call(C,S??0,x);break}};e.reportInfo=function(...C){return E(this,...C,"info")},e.reportWarning=function(...C){return E(this,...C,"warning")},e.reportError=function(...C){return E(this,...C,"error")}}var vB,BB,Uae,XE,gt,zk,N4,Xk,O4,F4,TJe,Xo,Kk,FJe,$k,Qc=Xe(()=>{Dt();vB=et(NE()),BB=et(Rd());Yt();Uae=et(zo()),XE=et(gk());Gx();Zo();gt={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",STRING:"STRING",BOOLEAN:"BOOLEAN",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},zk=(t=>(t[t.BOLD=2]="BOLD",t))(zk||{}),N4=BB.default.GITHUB_ACTIONS?{level:2}:vB.default.supportsColor?{level:vB.default.supportsColor.level}:{level:0},Xk=N4.level!==0,O4=Xk&&!BB.default.GITHUB_ACTIONS&&!BB.default.CIRCLE&&!BB.default.GITLAB,F4=new vB.default.Instance(N4),TJe=new Map([[gt.NO_HINT,null],[gt.NULL,["#a853b5",129]],[gt.SCOPE,["#d75f00",166]],[gt.NAME,["#d7875f",173]],[gt.RANGE,["#00afaf",37]],[gt.REFERENCE,["#87afff",111]],[gt.NUMBER,["#ffd700",220]],[gt.STRING,["#b4bd68",32]],[gt.BOOLEAN,["#faa023",209]],[gt.PATH,["#d75fd7",170]],[gt.URL,["#d75fd7",170]],[gt.ADDED,["#5faf00",70]],[gt.REMOVED,["#ff3131",160]],[gt.CODE,["#87afff",111]],[gt.SIZE,["#ffd700",220]]]),Xo=e=>e;Kk={[gt.ID]:Xo({pretty:(e,t)=>typeof t=="number"?si(e,`${t}`,gt.NUMBER):si(e,t,gt.CODE),json:e=>e}),[gt.INSPECT]:Xo({pretty:(e,t)=>Jk(e,t),json:e=>e}),[gt.NUMBER]:Xo({pretty:(e,t)=>si(e,`${t}`,gt.NUMBER),json:e=>e}),[gt.IDENT]:Xo({pretty:(e,t)=>$i(e,t),json:e=>fn(e)}),[gt.LOCATOR]:Xo({pretty:(e,t)=>Yr(e,t),json:e=>ml(e)}),[gt.DESCRIPTOR]:Xo({pretty:(e,t)=>oi(e,t),json:e=>dl(e)}),[gt.RESOLUTION]:Xo({pretty:(e,{descriptor:t,locator:r})=>DB(e,t,r),json:({descriptor:e,locator:t})=>({descriptor:dl(e),locator:t!==null?ml(t):null})}),[gt.DEPENDENT]:Xo({pretty:(e,{locator:t,descriptor:r})=>_4(e,t,r),json:({locator:e,descriptor:t})=>({locator:ml(e),descriptor:dl(t)})}),[gt.PACKAGE_EXTENSION]:Xo({pretty:(e,t)=>{switch(t.type){case"Dependency":return`${$i(e,t.parentDescriptor)} \u27A4 ${si(e,"dependencies",gt.CODE)} \u27A4 ${$i(e,t.descriptor)}`;case"PeerDependency":return`${$i(e,t.parentDescriptor)} \u27A4 ${si(e,"peerDependencies",gt.CODE)} \u27A4 ${$i(e,t.descriptor)}`;case"PeerDependencyMeta":return`${$i(e,t.parentDescriptor)} \u27A4 ${si(e,"peerDependenciesMeta",gt.CODE)} \u27A4 ${$i(e,xa(t.selector))} \u27A4 ${si(e,t.key,gt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}},json:e=>{switch(e.type){case"Dependency":return`${fn(e.parentDescriptor)} > ${fn(e.descriptor)}`;case"PeerDependency":return`${fn(e.parentDescriptor)} >> ${fn(e.descriptor)}`;case"PeerDependencyMeta":return`${fn(e.parentDescriptor)} >> ${e.selector} / ${e.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}}}),[gt.SETTING]:Xo({pretty:(e,t)=>(e.get(t),ZE(e,si(e,t,gt.CODE),`https://yarnpkg.com/configuration/yarnrc#${t}`)),json:e=>e}),[gt.DURATION]:Xo({pretty:(e,t)=>{if(t>1e3*60){let r=Math.floor(t/1e3/60),s=Math.ceil((t-r*60*1e3)/1e3);return s===0?`${r}m`:`${r}m ${s}s`}else{let r=Math.floor(t/1e3),s=t-r*1e3;return s===0?`${r}s`:`${r}s ${s}ms`}},json:e=>e}),[gt.SIZE]:Xo({pretty:(e,t)=>si(e,Mae(t),gt.NUMBER),json:e=>e}),[gt.SIZE_DIFF]:Xo({pretty:(e,t)=>{let r=t>=0?"+":"-",s=r==="+"?gt.REMOVED:gt.ADDED;return si(e,`${r} ${Mae(Math.max(Math.abs(t),1))}`,s)},json:e=>e}),[gt.PATH]:Xo({pretty:(e,t)=>si(e,fe.fromPortablePath(t),gt.PATH),json:e=>fe.fromPortablePath(e)}),[gt.MARKDOWN]:Xo({pretty:(e,{text:t,format:r,paragraphs:s})=>Vo(t,{format:r,paragraphs:s}),json:({text:e})=>e}),[gt.MARKDOWN_INLINE]:Xo({pretty:(e,t)=>(t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(r,s,a)=>jt(e,s+a+s,gt.CODE)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,s,a)=>Jd(e,a,2)),t),json:e=>e})};FJe=!!process.env.KONSOLE_VERSION;$k=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))($k||{})});var _ae=G($E=>{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.splitWhen=$E.flatten=void 0;function OJe(e){return e.reduce((t,r)=>[].concat(t,r),[])}$E.flatten=OJe;function LJe(e,t){let r=[[]],s=0;for(let a of e)t(a)?(s++,r[s]=[]):r[s].push(a);return r}$E.splitWhen=LJe});var Hae=G(eQ=>{"use strict";Object.defineProperty(eQ,"__esModule",{value:!0});eQ.isEnoentCodeError=void 0;function MJe(e){return e.code==="ENOENT"}eQ.isEnoentCodeError=MJe});var jae=G(tQ=>{"use strict";Object.defineProperty(tQ,"__esModule",{value:!0});tQ.createDirentFromStats=void 0;var H4=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function UJe(e,t){return new H4(e,t)}tQ.createDirentFromStats=UJe});var Yae=G(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.convertPosixPathToPattern=us.convertWindowsPathToPattern=us.convertPathToPattern=us.escapePosixPath=us.escapeWindowsPath=us.escape=us.removeLeadingDotSegment=us.makeAbsolute=us.unixify=void 0;var _Je=Ie("os"),HJe=Ie("path"),Gae=_Je.platform()==="win32",jJe=2,GJe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,qJe=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,WJe=/^\\\\([.?])/,YJe=/\\(?![!()+@[\]{}])/g;function VJe(e){return e.replace(/\\/g,"/")}us.unixify=VJe;function JJe(e,t){return HJe.resolve(e,t)}us.makeAbsolute=JJe;function KJe(e){if(e.charAt(0)==="."){let t=e.charAt(1);if(t==="/"||t==="\\")return e.slice(jJe)}return e}us.removeLeadingDotSegment=KJe;us.escape=Gae?j4:G4;function j4(e){return e.replace(qJe,"\\$2")}us.escapeWindowsPath=j4;function G4(e){return e.replace(GJe,"\\$2")}us.escapePosixPath=G4;us.convertPathToPattern=Gae?qae:Wae;function qae(e){return j4(e).replace(WJe,"//$1").replace(YJe,"/")}us.convertWindowsPathToPattern=qae;function Wae(e){return G4(e)}us.convertPosixPathToPattern=Wae});var Jae=G((hFt,Vae)=>{Vae.exports=function(t){if(typeof t!="string"||t==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(t);){if(r[2])return!0;t=t.slice(r.index+r[0].length)}return!1}});var Xae=G((gFt,zae)=>{var zJe=Jae(),Kae={"{":"}","(":")","[":"]"},XJe=function(e){if(e[0]==="!")return!0;for(var t=0,r=-2,s=-2,a=-2,n=-2,c=-2;tt&&(c===-1||c>s||(c=e.indexOf("\\",t),c===-1||c>s)))||a!==-1&&e[t]==="{"&&e[t+1]!=="}"&&(a=e.indexOf("}",t),a>t&&(c=e.indexOf("\\",t),c===-1||c>a))||n!==-1&&e[t]==="("&&e[t+1]==="?"&&/[:!=]/.test(e[t+2])&&e[t+3]!==")"&&(n=e.indexOf(")",t),n>t&&(c=e.indexOf("\\",t),c===-1||c>n))||r!==-1&&e[t]==="("&&e[t+1]!=="|"&&(rr&&(c=e.indexOf("\\",r),c===-1||c>n))))return!0;if(e[t]==="\\"){var f=e[t+1];t+=2;var p=Kae[f];if(p){var h=e.indexOf(p,t);h!==-1&&(t=h+1)}if(e[t]==="!")return!0}else t++}return!1},ZJe=function(e){if(e[0]==="!")return!0;for(var t=0;t{"use strict";var $Je=Xae(),eKe=Ie("path").posix.dirname,tKe=Ie("os").platform()==="win32",q4="/",rKe=/\\/g,nKe=/[\{\[].*[\}\]]$/,iKe=/(^|[^\\])([\{\[]|\([^\)]+$)/,sKe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Zae.exports=function(t,r){var s=Object.assign({flipBackslashes:!0},r);s.flipBackslashes&&tKe&&t.indexOf(q4)<0&&(t=t.replace(rKe,q4)),nKe.test(t)&&(t+=q4),t+="a";do t=eKe(t);while($Je(t)||iKe.test(t));return t.replace(sKe,"$1")}});var ale=G(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.removeDuplicateSlashes=jr.matchAny=jr.convertPatternsToRe=jr.makeRe=jr.getPatternParts=jr.expandBraceExpansion=jr.expandPatternsWithBraceExpansion=jr.isAffectDepthOfReadingPattern=jr.endsWithSlashGlobStar=jr.hasGlobStar=jr.getBaseDirectory=jr.isPatternRelatedToParentDirectory=jr.getPatternsOutsideCurrentDirectory=jr.getPatternsInsideCurrentDirectory=jr.getPositivePatterns=jr.getNegativePatterns=jr.isPositivePattern=jr.isNegativePattern=jr.convertToNegativePattern=jr.convertToPositivePattern=jr.isDynamicPattern=jr.isStaticPattern=void 0;var oKe=Ie("path"),aKe=$ae(),W4=zo(),ele="**",lKe="\\",cKe=/[*?]|^!/,uKe=/\[[^[]*]/,fKe=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,AKe=/[!*+?@]\([^(]*\)/,pKe=/,|\.\./,hKe=/(?!^)\/{2,}/g;function tle(e,t={}){return!rle(e,t)}jr.isStaticPattern=tle;function rle(e,t={}){return e===""?!1:!!(t.caseSensitiveMatch===!1||e.includes(lKe)||cKe.test(e)||uKe.test(e)||fKe.test(e)||t.extglob!==!1&&AKe.test(e)||t.braceExpansion!==!1&&gKe(e))}jr.isDynamicPattern=rle;function gKe(e){let t=e.indexOf("{");if(t===-1)return!1;let r=e.indexOf("}",t+1);if(r===-1)return!1;let s=e.slice(t,r);return pKe.test(s)}function dKe(e){return rQ(e)?e.slice(1):e}jr.convertToPositivePattern=dKe;function mKe(e){return"!"+e}jr.convertToNegativePattern=mKe;function rQ(e){return e.startsWith("!")&&e[1]!=="("}jr.isNegativePattern=rQ;function nle(e){return!rQ(e)}jr.isPositivePattern=nle;function yKe(e){return e.filter(rQ)}jr.getNegativePatterns=yKe;function EKe(e){return e.filter(nle)}jr.getPositivePatterns=EKe;function IKe(e){return e.filter(t=>!Y4(t))}jr.getPatternsInsideCurrentDirectory=IKe;function CKe(e){return e.filter(Y4)}jr.getPatternsOutsideCurrentDirectory=CKe;function Y4(e){return e.startsWith("..")||e.startsWith("./..")}jr.isPatternRelatedToParentDirectory=Y4;function wKe(e){return aKe(e,{flipBackslashes:!1})}jr.getBaseDirectory=wKe;function BKe(e){return e.includes(ele)}jr.hasGlobStar=BKe;function ile(e){return e.endsWith("/"+ele)}jr.endsWithSlashGlobStar=ile;function vKe(e){let t=oKe.basename(e);return ile(e)||tle(t)}jr.isAffectDepthOfReadingPattern=vKe;function SKe(e){return e.reduce((t,r)=>t.concat(sle(r)),[])}jr.expandPatternsWithBraceExpansion=SKe;function sle(e){let t=W4.braces(e,{expand:!0,nodupes:!0,keepEscaping:!0});return t.sort((r,s)=>r.length-s.length),t.filter(r=>r!=="")}jr.expandBraceExpansion=sle;function DKe(e,t){let{parts:r}=W4.scan(e,Object.assign(Object.assign({},t),{parts:!0}));return r.length===0&&(r=[e]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}jr.getPatternParts=DKe;function ole(e,t){return W4.makeRe(e,t)}jr.makeRe=ole;function bKe(e,t){return e.map(r=>ole(r,t))}jr.convertPatternsToRe=bKe;function PKe(e,t){return t.some(r=>r.test(e))}jr.matchAny=PKe;function xKe(e){return e.replace(hKe,"/")}jr.removeDuplicateSlashes=xKe});var fle=G((yFt,ule)=>{"use strict";var kKe=Ie("stream"),lle=kKe.PassThrough,QKe=Array.prototype.slice;ule.exports=RKe;function RKe(){let e=[],t=QKe.call(arguments),r=!1,s=t[t.length-1];s&&!Array.isArray(s)&&s.pipe==null?t.pop():s={};let a=s.end!==!1,n=s.pipeError===!0;s.objectMode==null&&(s.objectMode=!0),s.highWaterMark==null&&(s.highWaterMark=64*1024);let c=lle(s);function f(){for(let E=0,C=arguments.length;E0||(r=!1,p())}function x(I){function T(){I.removeListener("merge2UnpipeEnd",T),I.removeListener("end",T),n&&I.removeListener("error",O),S()}function O(U){c.emit("error",U)}if(I._readableState.endEmitted)return S();I.on("merge2UnpipeEnd",T),I.on("end",T),n&&I.on("error",O),I.pipe(c,{end:!1}),I.resume()}for(let I=0;I{"use strict";Object.defineProperty(nQ,"__esModule",{value:!0});nQ.merge=void 0;var TKe=fle();function FKe(e){let t=TKe(e);return e.forEach(r=>{r.once("error",s=>t.emit("error",s))}),t.once("close",()=>Ale(e)),t.once("end",()=>Ale(e)),t}nQ.merge=FKe;function Ale(e){e.forEach(t=>t.emit("close"))}});var hle=G(eI=>{"use strict";Object.defineProperty(eI,"__esModule",{value:!0});eI.isEmpty=eI.isString=void 0;function NKe(e){return typeof e=="string"}eI.isString=NKe;function OKe(e){return e===""}eI.isEmpty=OKe});var Qp=G($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.string=$o.stream=$o.pattern=$o.path=$o.fs=$o.errno=$o.array=void 0;var LKe=_ae();$o.array=LKe;var MKe=Hae();$o.errno=MKe;var UKe=jae();$o.fs=UKe;var _Ke=Yae();$o.path=_Ke;var HKe=ale();$o.pattern=HKe;var jKe=ple();$o.stream=jKe;var GKe=hle();$o.string=GKe});var yle=G(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.convertPatternGroupToTask=ea.convertPatternGroupsToTasks=ea.groupPatternsByBaseDirectory=ea.getNegativePatternsAsPositive=ea.getPositivePatterns=ea.convertPatternsToTasks=ea.generate=void 0;var _u=Qp();function qKe(e,t){let r=gle(e,t),s=gle(t.ignore,t),a=dle(r),n=mle(r,s),c=a.filter(E=>_u.pattern.isStaticPattern(E,t)),f=a.filter(E=>_u.pattern.isDynamicPattern(E,t)),p=V4(c,n,!1),h=V4(f,n,!0);return p.concat(h)}ea.generate=qKe;function gle(e,t){let r=e;return t.braceExpansion&&(r=_u.pattern.expandPatternsWithBraceExpansion(r)),t.baseNameMatch&&(r=r.map(s=>s.includes("/")?s:`**/${s}`)),r.map(s=>_u.pattern.removeDuplicateSlashes(s))}function V4(e,t,r){let s=[],a=_u.pattern.getPatternsOutsideCurrentDirectory(e),n=_u.pattern.getPatternsInsideCurrentDirectory(e),c=J4(a),f=J4(n);return s.push(...K4(c,t,r)),"."in f?s.push(z4(".",n,t,r)):s.push(...K4(f,t,r)),s}ea.convertPatternsToTasks=V4;function dle(e){return _u.pattern.getPositivePatterns(e)}ea.getPositivePatterns=dle;function mle(e,t){return _u.pattern.getNegativePatterns(e).concat(t).map(_u.pattern.convertToPositivePattern)}ea.getNegativePatternsAsPositive=mle;function J4(e){let t={};return e.reduce((r,s)=>{let a=_u.pattern.getBaseDirectory(s);return a in r?r[a].push(s):r[a]=[s],r},t)}ea.groupPatternsByBaseDirectory=J4;function K4(e,t,r){return Object.keys(e).map(s=>z4(s,e[s],t,r))}ea.convertPatternGroupsToTasks=K4;function z4(e,t,r,s){return{dynamic:s,positive:t,negative:r,base:e,patterns:[].concat(t,r.map(_u.pattern.convertToNegativePattern))}}ea.convertPatternGroupToTask=z4});var Ile=G(iQ=>{"use strict";Object.defineProperty(iQ,"__esModule",{value:!0});iQ.read=void 0;function WKe(e,t,r){t.fs.lstat(e,(s,a)=>{if(s!==null){Ele(r,s);return}if(!a.isSymbolicLink()||!t.followSymbolicLink){X4(r,a);return}t.fs.stat(e,(n,c)=>{if(n!==null){if(t.throwErrorOnBrokenSymbolicLink){Ele(r,n);return}X4(r,a);return}t.markSymbolicLink&&(c.isSymbolicLink=()=>!0),X4(r,c)})})}iQ.read=WKe;function Ele(e,t){e(t)}function X4(e,t){e(null,t)}});var Cle=G(sQ=>{"use strict";Object.defineProperty(sQ,"__esModule",{value:!0});sQ.read=void 0;function YKe(e,t){let r=t.fs.lstatSync(e);if(!r.isSymbolicLink()||!t.followSymbolicLink)return r;try{let s=t.fs.statSync(e);return t.markSymbolicLink&&(s.isSymbolicLink=()=>!0),s}catch(s){if(!t.throwErrorOnBrokenSymbolicLink)return r;throw s}}sQ.read=YKe});var wle=G(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});p0.createFileSystemAdapter=p0.FILE_SYSTEM_ADAPTER=void 0;var oQ=Ie("fs");p0.FILE_SYSTEM_ADAPTER={lstat:oQ.lstat,stat:oQ.stat,lstatSync:oQ.lstatSync,statSync:oQ.statSync};function VKe(e){return e===void 0?p0.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},p0.FILE_SYSTEM_ADAPTER),e)}p0.createFileSystemAdapter=VKe});var Ble=G($4=>{"use strict";Object.defineProperty($4,"__esModule",{value:!0});var JKe=wle(),Z4=class{constructor(t={}){this._options=t,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=JKe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(t,r){return t??r}};$4.default=Z4});var zd=G(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});h0.statSync=h0.stat=h0.Settings=void 0;var vle=Ile(),KKe=Cle(),e3=Ble();h0.Settings=e3.default;function zKe(e,t,r){if(typeof t=="function"){vle.read(e,t3(),t);return}vle.read(e,t3(t),r)}h0.stat=zKe;function XKe(e,t){let r=t3(t);return KKe.read(e,r)}h0.statSync=XKe;function t3(e={}){return e instanceof e3.default?e:new e3.default(e)}});var ble=G((PFt,Dle)=>{var Sle;Dle.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):e=>(Sle||(Sle=Promise.resolve())).then(e).catch(t=>setTimeout(()=>{throw t},0))});var xle=G((xFt,Ple)=>{Ple.exports=$Ke;var ZKe=ble();function $Ke(e,t){let r,s,a,n=!0;Array.isArray(e)?(r=[],s=e.length):(a=Object.keys(e),r={},s=a.length);function c(p){function h(){t&&t(p,r),t=null}n?ZKe(h):h()}function f(p,h,E){r[p]=E,(--s===0||h)&&c(h)}s?a?a.forEach(function(p){e[p](function(h,E){f(p,h,E)})}):e.forEach(function(p,h){p(function(E,C){f(h,E,C)})}):c(null),n=!1}});var r3=G(lQ=>{"use strict";Object.defineProperty(lQ,"__esModule",{value:!0});lQ.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var aQ=process.versions.node.split(".");if(aQ[0]===void 0||aQ[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var kle=Number.parseInt(aQ[0],10),eze=Number.parseInt(aQ[1],10),Qle=10,tze=10,rze=kle>Qle,nze=kle===Qle&&eze>=tze;lQ.IS_SUPPORT_READDIR_WITH_FILE_TYPES=rze||nze});var Rle=G(cQ=>{"use strict";Object.defineProperty(cQ,"__esModule",{value:!0});cQ.createDirentFromStats=void 0;var n3=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function ize(e,t){return new n3(e,t)}cQ.createDirentFromStats=ize});var i3=G(uQ=>{"use strict";Object.defineProperty(uQ,"__esModule",{value:!0});uQ.fs=void 0;var sze=Rle();uQ.fs=sze});var s3=G(fQ=>{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});fQ.joinPathSegments=void 0;function oze(e,t,r){return e.endsWith(r)?e+t:e+r+t}fQ.joinPathSegments=oze});var Mle=G(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});g0.readdir=g0.readdirWithFileTypes=g0.read=void 0;var aze=zd(),Tle=xle(),lze=r3(),Fle=i3(),Nle=s3();function cze(e,t,r){if(!t.stats&&lze.IS_SUPPORT_READDIR_WITH_FILE_TYPES){Ole(e,t,r);return}Lle(e,t,r)}g0.read=cze;function Ole(e,t,r){t.fs.readdir(e,{withFileTypes:!0},(s,a)=>{if(s!==null){AQ(r,s);return}let n=a.map(f=>({dirent:f,name:f.name,path:Nle.joinPathSegments(e,f.name,t.pathSegmentSeparator)}));if(!t.followSymbolicLinks){o3(r,n);return}let c=n.map(f=>uze(f,t));Tle(c,(f,p)=>{if(f!==null){AQ(r,f);return}o3(r,p)})})}g0.readdirWithFileTypes=Ole;function uze(e,t){return r=>{if(!e.dirent.isSymbolicLink()){r(null,e);return}t.fs.stat(e.path,(s,a)=>{if(s!==null){if(t.throwErrorOnBrokenSymbolicLink){r(s);return}r(null,e);return}e.dirent=Fle.fs.createDirentFromStats(e.name,a),r(null,e)})}}function Lle(e,t,r){t.fs.readdir(e,(s,a)=>{if(s!==null){AQ(r,s);return}let n=a.map(c=>{let f=Nle.joinPathSegments(e,c,t.pathSegmentSeparator);return p=>{aze.stat(f,t.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let C={name:c,path:f,dirent:Fle.fs.createDirentFromStats(c,E)};t.stats&&(C.stats=E),p(null,C)})}});Tle(n,(c,f)=>{if(c!==null){AQ(r,c);return}o3(r,f)})})}g0.readdir=Lle;function AQ(e,t){e(t)}function o3(e,t){e(null,t)}});var Gle=G(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});d0.readdir=d0.readdirWithFileTypes=d0.read=void 0;var fze=zd(),Aze=r3(),Ule=i3(),_le=s3();function pze(e,t){return!t.stats&&Aze.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Hle(e,t):jle(e,t)}d0.read=pze;function Hle(e,t){return t.fs.readdirSync(e,{withFileTypes:!0}).map(s=>{let a={dirent:s,name:s.name,path:_le.joinPathSegments(e,s.name,t.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&t.followSymbolicLinks)try{let n=t.fs.statSync(a.path);a.dirent=Ule.fs.createDirentFromStats(a.name,n)}catch(n){if(t.throwErrorOnBrokenSymbolicLink)throw n}return a})}d0.readdirWithFileTypes=Hle;function jle(e,t){return t.fs.readdirSync(e).map(s=>{let a=_le.joinPathSegments(e,s,t.pathSegmentSeparator),n=fze.statSync(a,t.fsStatSettings),c={name:s,path:a,dirent:Ule.fs.createDirentFromStats(s,n)};return t.stats&&(c.stats=n),c})}d0.readdir=jle});var qle=G(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});m0.createFileSystemAdapter=m0.FILE_SYSTEM_ADAPTER=void 0;var tI=Ie("fs");m0.FILE_SYSTEM_ADAPTER={lstat:tI.lstat,stat:tI.stat,lstatSync:tI.lstatSync,statSync:tI.statSync,readdir:tI.readdir,readdirSync:tI.readdirSync};function hze(e){return e===void 0?m0.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},m0.FILE_SYSTEM_ADAPTER),e)}m0.createFileSystemAdapter=hze});var Wle=G(l3=>{"use strict";Object.defineProperty(l3,"__esModule",{value:!0});var gze=Ie("path"),dze=zd(),mze=qle(),a3=class{constructor(t={}){this._options=t,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=mze.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,gze.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new dze.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(t,r){return t??r}};l3.default=a3});var pQ=G(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.Settings=y0.scandirSync=y0.scandir=void 0;var Yle=Mle(),yze=Gle(),c3=Wle();y0.Settings=c3.default;function Eze(e,t,r){if(typeof t=="function"){Yle.read(e,u3(),t);return}Yle.read(e,u3(t),r)}y0.scandir=Eze;function Ize(e,t){let r=u3(t);return yze.read(e,r)}y0.scandirSync=Ize;function u3(e={}){return e instanceof c3.default?e:new c3.default(e)}});var Jle=G((UFt,Vle)=>{"use strict";function Cze(e){var t=new e,r=t;function s(){var n=t;return n.next?t=n.next:(t=new e,r=t),n.next=null,n}function a(n){r.next=n,r=n}return{get:s,release:a}}Vle.exports=Cze});var zle=G((_Ft,f3)=>{"use strict";var wze=Jle();function Kle(e,t,r){if(typeof e=="function"&&(r=t,t=e,e=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var s=wze(Bze),a=null,n=null,c=0,f=null,p={push:T,drain:Rc,saturated:Rc,pause:E,paused:!1,get concurrency(){return r},set concurrency(ue){if(!(ue>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=ue,!p.paused)for(;a&&c=r||p.paused?n?(n.next=de,n=de):(a=de,n=de,p.saturated()):(c++,t.call(e,de.value,de.worked))}function O(ue,ae){var de=s.get();de.context=e,de.release=U,de.value=ue,de.callback=ae||Rc,de.errorHandler=f,c>=r||p.paused?a?(de.next=a,a=de):(a=de,n=de,p.saturated()):(c++,t.call(e,de.value,de.worked))}function U(ue){ue&&s.release(ue);var ae=a;ae&&c<=r?p.paused?c--:(n===a&&(n=null),a=ae.next,ae.next=null,t.call(e,ae.value,ae.worked),n===null&&p.empty()):--c===0&&p.drain()}function V(){a=null,n=null,p.drain=Rc}function te(){a=null,n=null,p.drain(),p.drain=Rc}function ie(ue){f=ue}}function Rc(){}function Bze(){this.value=null,this.callback=Rc,this.next=null,this.release=Rc,this.context=null,this.errorHandler=null;var e=this;this.worked=function(r,s){var a=e.callback,n=e.errorHandler,c=e.value;e.value=null,e.callback=Rc,e.errorHandler&&n(r,c),a.call(e.context,r,s),e.release(e)}}function vze(e,t,r){typeof e=="function"&&(r=t,t=e,e=null);function s(E,C){t.call(this,E).then(function(S){C(null,S)},C)}var a=Kle(e,s,r),n=a.push,c=a.unshift;return a.push=f,a.unshift=p,a.drained=h,a;function f(E){var C=new Promise(function(S,x){n(E,function(I,T){if(I){x(I);return}S(T)})});return C.catch(Rc),C}function p(E){var C=new Promise(function(S,x){c(E,function(I,T){if(I){x(I);return}S(T)})});return C.catch(Rc),C}function h(){if(a.idle())return new Promise(function(S){S()});var E=a.drain,C=new Promise(function(S){a.drain=function(){E(),S()}});return C}}f3.exports=Kle;f3.exports.promise=vze});var hQ=G($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0});$f.joinPathSegments=$f.replacePathSegmentSeparator=$f.isAppliedFilter=$f.isFatalError=void 0;function Sze(e,t){return e.errorFilter===null?!0:!e.errorFilter(t)}$f.isFatalError=Sze;function Dze(e,t){return e===null||e(t)}$f.isAppliedFilter=Dze;function bze(e,t){return e.split(/[/\\]/).join(t)}$f.replacePathSegmentSeparator=bze;function Pze(e,t,r){return e===""?t:e.endsWith(r)?e+t:e+r+t}$f.joinPathSegments=Pze});var h3=G(p3=>{"use strict";Object.defineProperty(p3,"__esModule",{value:!0});var xze=hQ(),A3=class{constructor(t,r){this._root=t,this._settings=r,this._root=xze.replacePathSegmentSeparator(t,r.pathSegmentSeparator)}};p3.default=A3});var m3=G(d3=>{"use strict";Object.defineProperty(d3,"__esModule",{value:!0});var kze=Ie("events"),Qze=pQ(),Rze=zle(),gQ=hQ(),Tze=h3(),g3=class extends Tze.default{constructor(t,r){super(t,r),this._settings=r,this._scandir=Qze.scandir,this._emitter=new kze.EventEmitter,this._queue=Rze(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(t){this._emitter.on("entry",t)}onError(t){this._emitter.once("error",t)}onEnd(t){this._emitter.once("end",t)}_pushToQueue(t,r){let s={directory:t,base:r};this._queue.push(s,a=>{a!==null&&this._handleError(a)})}_worker(t,r){this._scandir(t.directory,this._settings.fsScandirSettings,(s,a)=>{if(s!==null){r(s,void 0);return}for(let n of a)this._handleEntry(n,t.base);r(null,void 0)})}_handleError(t){this._isDestroyed||!gQ.isFatalError(this._settings,t)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",t))}_handleEntry(t,r){if(this._isDestroyed||this._isFatalError)return;let s=t.path;r!==void 0&&(t.path=gQ.joinPathSegments(r,t.name,this._settings.pathSegmentSeparator)),gQ.isAppliedFilter(this._settings.entryFilter,t)&&this._emitEntry(t),t.dirent.isDirectory()&&gQ.isAppliedFilter(this._settings.deepFilter,t)&&this._pushToQueue(s,r===void 0?void 0:t.path)}_emitEntry(t){this._emitter.emit("entry",t)}};d3.default=g3});var Xle=G(E3=>{"use strict";Object.defineProperty(E3,"__esModule",{value:!0});var Fze=m3(),y3=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new Fze.default(this._root,this._settings),this._storage=[]}read(t){this._reader.onError(r=>{Nze(t,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{Oze(t,this._storage)}),this._reader.read()}};E3.default=y3;function Nze(e,t){e(t)}function Oze(e,t){e(null,t)}});var Zle=G(C3=>{"use strict";Object.defineProperty(C3,"__esModule",{value:!0});var Lze=Ie("stream"),Mze=m3(),I3=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new Mze.default(this._root,this._settings),this._stream=new Lze.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(t=>{this._stream.emit("error",t)}),this._reader.onEntry(t=>{this._stream.push(t)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};C3.default=I3});var $le=G(B3=>{"use strict";Object.defineProperty(B3,"__esModule",{value:!0});var Uze=pQ(),dQ=hQ(),_ze=h3(),w3=class extends _ze.default{constructor(){super(...arguments),this._scandir=Uze.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(t,r){this._queue.add({directory:t,base:r})}_handleQueue(){for(let t of this._queue.values())this._handleDirectory(t.directory,t.base)}_handleDirectory(t,r){try{let s=this._scandir(t,this._settings.fsScandirSettings);for(let a of s)this._handleEntry(a,r)}catch(s){this._handleError(s)}}_handleError(t){if(dQ.isFatalError(this._settings,t))throw t}_handleEntry(t,r){let s=t.path;r!==void 0&&(t.path=dQ.joinPathSegments(r,t.name,this._settings.pathSegmentSeparator)),dQ.isAppliedFilter(this._settings.entryFilter,t)&&this._pushToStorage(t),t.dirent.isDirectory()&&dQ.isAppliedFilter(this._settings.deepFilter,t)&&this._pushToQueue(s,r===void 0?void 0:t.path)}_pushToStorage(t){this._storage.push(t)}};B3.default=w3});var ece=G(S3=>{"use strict";Object.defineProperty(S3,"__esModule",{value:!0});var Hze=$le(),v3=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new Hze.default(this._root,this._settings)}read(){return this._reader.read()}};S3.default=v3});var tce=G(b3=>{"use strict";Object.defineProperty(b3,"__esModule",{value:!0});var jze=Ie("path"),Gze=pQ(),D3=class{constructor(t={}){this._options=t,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,jze.sep),this.fsScandirSettings=new Gze.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(t,r){return t??r}};b3.default=D3});var yQ=G(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.Settings=eA.walkStream=eA.walkSync=eA.walk=void 0;var rce=Xle(),qze=Zle(),Wze=ece(),P3=tce();eA.Settings=P3.default;function Yze(e,t,r){if(typeof t=="function"){new rce.default(e,mQ()).read(t);return}new rce.default(e,mQ(t)).read(r)}eA.walk=Yze;function Vze(e,t){let r=mQ(t);return new Wze.default(e,r).read()}eA.walkSync=Vze;function Jze(e,t){let r=mQ(t);return new qze.default(e,r).read()}eA.walkStream=Jze;function mQ(e={}){return e instanceof P3.default?e:new P3.default(e)}});var EQ=G(k3=>{"use strict";Object.defineProperty(k3,"__esModule",{value:!0});var Kze=Ie("path"),zze=zd(),nce=Qp(),x3=class{constructor(t){this._settings=t,this._fsStatSettings=new zze.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(t){return Kze.resolve(this._settings.cwd,t)}_makeEntry(t,r){let s={name:r,path:r,dirent:nce.fs.createDirentFromStats(r,t)};return this._settings.stats&&(s.stats=t),s}_isFatalError(t){return!nce.errno.isEnoentCodeError(t)&&!this._settings.suppressErrors}};k3.default=x3});var T3=G(R3=>{"use strict";Object.defineProperty(R3,"__esModule",{value:!0});var Xze=Ie("stream"),Zze=zd(),$ze=yQ(),eXe=EQ(),Q3=class extends eXe.default{constructor(){super(...arguments),this._walkStream=$ze.walkStream,this._stat=Zze.stat}dynamic(t,r){return this._walkStream(t,r)}static(t,r){let s=t.map(this._getFullEntryPath,this),a=new Xze.PassThrough({objectMode:!0});a._write=(n,c,f)=>this._getEntry(s[n],t[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===s.length-1&&a.end(),f()}).catch(f);for(let n=0;nthis._makeEntry(a,r)).catch(a=>{if(s.errorFilter(a))return null;throw a})}_getStat(t){return new Promise((r,s)=>{this._stat(t,this._fsStatSettings,(a,n)=>a===null?r(n):s(a))})}};R3.default=Q3});var ice=G(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var tXe=yQ(),rXe=EQ(),nXe=T3(),F3=class extends rXe.default{constructor(){super(...arguments),this._walkAsync=tXe.walk,this._readerStream=new nXe.default(this._settings)}dynamic(t,r){return new Promise((s,a)=>{this._walkAsync(t,r,(n,c)=>{n===null?s(c):a(n)})})}async static(t,r){let s=[],a=this._readerStream.static(t,r);return new Promise((n,c)=>{a.once("error",c),a.on("data",f=>s.push(f)),a.once("end",()=>n(s))})}};N3.default=F3});var sce=G(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});var bB=Qp(),O3=class{constructor(t,r,s){this._patterns=t,this._settings=r,this._micromatchOptions=s,this._storage=[],this._fillStorage()}_fillStorage(){for(let t of this._patterns){let r=this._getPatternSegments(t),s=this._splitSegmentsIntoSections(r);this._storage.push({complete:s.length<=1,pattern:t,segments:r,sections:s})}}_getPatternSegments(t){return bB.pattern.getPatternParts(t,this._micromatchOptions).map(s=>bB.pattern.isDynamicPattern(s,this._settings)?{dynamic:!0,pattern:s,patternRe:bB.pattern.makeRe(s,this._micromatchOptions)}:{dynamic:!1,pattern:s})}_splitSegmentsIntoSections(t){return bB.array.splitWhen(t,r=>r.dynamic&&bB.pattern.hasGlobStar(r.pattern))}};L3.default=O3});var oce=G(U3=>{"use strict";Object.defineProperty(U3,"__esModule",{value:!0});var iXe=sce(),M3=class extends iXe.default{match(t){let r=t.split("/"),s=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>s);for(let n of a){let c=n.sections[0];if(!n.complete&&s>c.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};U3.default=M3});var ace=G(H3=>{"use strict";Object.defineProperty(H3,"__esModule",{value:!0});var IQ=Qp(),sXe=oce(),_3=class{constructor(t,r){this._settings=t,this._micromatchOptions=r}getFilter(t,r,s){let a=this._getMatcher(r),n=this._getNegativePatternsRe(s);return c=>this._filter(t,c,a,n)}_getMatcher(t){return new sXe.default(t,this._settings,this._micromatchOptions)}_getNegativePatternsRe(t){let r=t.filter(IQ.pattern.isAffectDepthOfReadingPattern);return IQ.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(t,r,s,a){if(this._isSkippedByDeep(t,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=IQ.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,s)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(t,r){return this._settings.deep===1/0?!1:this._getEntryLevel(t,r)>=this._settings.deep}_getEntryLevel(t,r){let s=r.split("/").length;if(t==="")return s;let a=t.split("/").length;return s-a}_isSkippedSymbolicLink(t){return!this._settings.followSymbolicLinks&&t.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(t,r){return!this._settings.baseNameMatch&&!r.match(t)}_isSkippedByNegativePatterns(t,r){return!IQ.pattern.matchAny(t,r)}};H3.default=_3});var lce=G(G3=>{"use strict";Object.defineProperty(G3,"__esModule",{value:!0});var Xd=Qp(),j3=class{constructor(t,r){this._settings=t,this._micromatchOptions=r,this.index=new Map}getFilter(t,r){let s=Xd.pattern.convertPatternsToRe(t,this._micromatchOptions),a=Xd.pattern.convertPatternsToRe(r,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}));return n=>this._filter(n,s,a)}_filter(t,r,s){let a=Xd.path.removeLeadingDotSegment(t.path);if(this._settings.unique&&this._isDuplicateEntry(a)||this._onlyFileFilter(t)||this._onlyDirectoryFilter(t)||this._isSkippedByAbsoluteNegativePatterns(a,s))return!1;let n=t.dirent.isDirectory(),c=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(a,s,n);return this._settings.unique&&c&&this._createIndexRecord(a),c}_isDuplicateEntry(t){return this.index.has(t)}_createIndexRecord(t){this.index.set(t,void 0)}_onlyFileFilter(t){return this._settings.onlyFiles&&!t.dirent.isFile()}_onlyDirectoryFilter(t){return this._settings.onlyDirectories&&!t.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(t,r){if(!this._settings.absolute)return!1;let s=Xd.path.makeAbsolute(this._settings.cwd,t);return Xd.pattern.matchAny(s,r)}_isMatchToPatterns(t,r,s){let a=Xd.pattern.matchAny(t,r);return!a&&s?Xd.pattern.matchAny(t+"/",r):a}};G3.default=j3});var cce=G(W3=>{"use strict";Object.defineProperty(W3,"__esModule",{value:!0});var oXe=Qp(),q3=class{constructor(t){this._settings=t}getFilter(){return t=>this._isNonFatalError(t)}_isNonFatalError(t){return oXe.errno.isEnoentCodeError(t)||this._settings.suppressErrors}};W3.default=q3});var fce=G(V3=>{"use strict";Object.defineProperty(V3,"__esModule",{value:!0});var uce=Qp(),Y3=class{constructor(t){this._settings=t}getTransformer(){return t=>this._transform(t)}_transform(t){let r=t.path;return this._settings.absolute&&(r=uce.path.makeAbsolute(this._settings.cwd,r),r=uce.path.unixify(r)),this._settings.markDirectories&&t.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},t),{path:r}):r}};V3.default=Y3});var CQ=G(K3=>{"use strict";Object.defineProperty(K3,"__esModule",{value:!0});var aXe=Ie("path"),lXe=ace(),cXe=lce(),uXe=cce(),fXe=fce(),J3=class{constructor(t){this._settings=t,this.errorFilter=new uXe.default(this._settings),this.entryFilter=new cXe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new lXe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new fXe.default(this._settings)}_getRootDirectory(t){return aXe.resolve(this._settings.cwd,t.base)}_getReaderOptions(t){let r=t.base==="."?"":t.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,t.positive,t.negative),entryFilter:this.entryFilter.getFilter(t.positive,t.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};K3.default=J3});var Ace=G(X3=>{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});var AXe=ice(),pXe=CQ(),z3=class extends pXe.default{constructor(){super(...arguments),this._reader=new AXe.default(this._settings)}async read(t){let r=this._getRootDirectory(t),s=this._getReaderOptions(t);return(await this.api(r,t,s)).map(n=>s.transform(n))}api(t,r,s){return r.dynamic?this._reader.dynamic(t,s):this._reader.static(r.patterns,s)}};X3.default=z3});var pce=G($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});var hXe=Ie("stream"),gXe=T3(),dXe=CQ(),Z3=class extends dXe.default{constructor(){super(...arguments),this._reader=new gXe.default(this._settings)}read(t){let r=this._getRootDirectory(t),s=this._getReaderOptions(t),a=this.api(r,t,s),n=new hXe.Readable({objectMode:!0,read:()=>{}});return a.once("error",c=>n.emit("error",c)).on("data",c=>n.emit("data",s.transform(c))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(t,r,s){return r.dynamic?this._reader.dynamic(t,s):this._reader.static(r.patterns,s)}};$3.default=Z3});var hce=G(t8=>{"use strict";Object.defineProperty(t8,"__esModule",{value:!0});var mXe=zd(),yXe=yQ(),EXe=EQ(),e8=class extends EXe.default{constructor(){super(...arguments),this._walkSync=yXe.walkSync,this._statSync=mXe.statSync}dynamic(t,r){return this._walkSync(t,r)}static(t,r){let s=[];for(let a of t){let n=this._getFullEntryPath(a),c=this._getEntry(n,a,r);c===null||!r.entryFilter(c)||s.push(c)}return s}_getEntry(t,r,s){try{let a=this._getStat(t);return this._makeEntry(a,r)}catch(a){if(s.errorFilter(a))return null;throw a}}_getStat(t){return this._statSync(t,this._fsStatSettings)}};t8.default=e8});var gce=G(n8=>{"use strict";Object.defineProperty(n8,"__esModule",{value:!0});var IXe=hce(),CXe=CQ(),r8=class extends CXe.default{constructor(){super(...arguments),this._reader=new IXe.default(this._settings)}read(t){let r=this._getRootDirectory(t),s=this._getReaderOptions(t);return this.api(r,t,s).map(s.transform)}api(t,r,s){return r.dynamic?this._reader.dynamic(t,s):this._reader.static(r.patterns,s)}};n8.default=r8});var dce=G(nI=>{"use strict";Object.defineProperty(nI,"__esModule",{value:!0});nI.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var rI=Ie("fs"),wXe=Ie("os"),BXe=Math.max(wXe.cpus().length,1);nI.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:rI.lstat,lstatSync:rI.lstatSync,stat:rI.stat,statSync:rI.statSync,readdir:rI.readdir,readdirSync:rI.readdirSync};var i8=class{constructor(t={}){this._options=t,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,BXe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0),this.ignore=[].concat(this.ignore)}_getValue(t,r){return t===void 0?r:t}_getFileSystemMethods(t={}){return Object.assign(Object.assign({},nI.DEFAULT_FILE_SYSTEM_ADAPTER),t)}};nI.default=i8});var wQ=G((fNt,yce)=>{"use strict";var mce=yle(),vXe=Ace(),SXe=pce(),DXe=gce(),s8=dce(),Tc=Qp();async function o8(e,t){Hu(e);let r=a8(e,vXe.default,t),s=await Promise.all(r);return Tc.array.flatten(s)}(function(e){e.glob=e,e.globSync=t,e.globStream=r,e.async=e;function t(h,E){Hu(h);let C=a8(h,DXe.default,E);return Tc.array.flatten(C)}e.sync=t;function r(h,E){Hu(h);let C=a8(h,SXe.default,E);return Tc.stream.merge(C)}e.stream=r;function s(h,E){Hu(h);let C=[].concat(h),S=new s8.default(E);return mce.generate(C,S)}e.generateTasks=s;function a(h,E){Hu(h);let C=new s8.default(E);return Tc.pattern.isDynamicPattern(h,C)}e.isDynamicPattern=a;function n(h){return Hu(h),Tc.path.escape(h)}e.escapePath=n;function c(h){return Hu(h),Tc.path.convertPathToPattern(h)}e.convertPathToPattern=c;let f;(function(h){function E(S){return Hu(S),Tc.path.escapePosixPath(S)}h.escapePath=E;function C(S){return Hu(S),Tc.path.convertPosixPathToPattern(S)}h.convertPathToPattern=C})(f=e.posix||(e.posix={}));let p;(function(h){function E(S){return Hu(S),Tc.path.escapeWindowsPath(S)}h.escapePath=E;function C(S){return Hu(S),Tc.path.convertWindowsPathToPattern(S)}h.convertPathToPattern=C})(p=e.win32||(e.win32={}))})(o8||(o8={}));function a8(e,t,r){let s=[].concat(e),a=new s8.default(r),n=mce.generate(s,a),c=new t(a);return n.map(c.read,c)}function Hu(e){if(![].concat(e).every(s=>Tc.string.isString(s)&&!Tc.string.isEmpty(s)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}yce.exports=o8});var Ln={};Vt(Ln,{checksumFile:()=>vQ,checksumPattern:()=>SQ,makeHash:()=>fs});function fs(...e){let t=(0,BQ.createHash)("sha512"),r="";for(let s of e)typeof s=="string"?r+=s:s&&(r&&(t.update(r),r=""),t.update(s));return r&&t.update(r),t.digest("hex")}async function vQ(e,{baseFs:t,algorithm:r}={baseFs:le,algorithm:"sha512"}){let s=await t.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),c=(0,BQ.createHash)(r),f=0;for(;(f=await t.readPromise(s,n,0,65536))!==0;)c.update(f===65536?n:n.slice(0,f));return c.digest("hex")}finally{await t.closePromise(s)}}async function SQ(e,{cwd:t}){let s=(await(0,l8.default)(e,{cwd:fe.fromPortablePath(t),onlyDirectories:!0})).map(f=>`${f}/**/*`),a=await(0,l8.default)([e,...s],{cwd:fe.fromPortablePath(t),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async f=>{let p=[Buffer.from(f)],h=J.join(t,fe.toPortablePath(f)),E=await le.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await le.readlinkPromise(h))):E.isFile()&&p.push(await le.readFilePromise(h)),p.join("\0")})),c=(0,BQ.createHash)("sha512");for(let f of n)c.update(f);return c.digest("hex")}var BQ,l8,E0=Xe(()=>{Dt();BQ=Ie("crypto"),l8=et(wQ())});var j={};Vt(j,{allPeerRequests:()=>OB,areDescriptorsEqual:()=>wce,areIdentsEqual:()=>QB,areLocatorsEqual:()=>RB,areVirtualPackagesEquivalent:()=>NXe,bindDescriptor:()=>TXe,bindLocator:()=>FXe,convertDescriptorToLocator:()=>DQ,convertLocatorToDescriptor:()=>A8,convertPackageToLocator:()=>kXe,convertToIdent:()=>xXe,convertToManifestRange:()=>WXe,copyPackage:()=>xB,devirtualizeDescriptor:()=>kB,devirtualizeLocator:()=>sI,ensureDevirtualizedDescriptor:()=>QXe,ensureDevirtualizedLocator:()=>RXe,getIdentVendorPath:()=>d8,isPackageCompatible:()=>QQ,isPackageInRange:()=>zXe,isVirtualDescriptor:()=>Rp,isVirtualLocator:()=>ju,makeDescriptor:()=>Mn,makeIdent:()=>ka,makeLocator:()=>Js,makeRange:()=>xQ,parseDescriptor:()=>I0,parseFileStyleRange:()=>GXe,parseIdent:()=>xa,parseLocator:()=>Tp,parseRange:()=>Zd,prettyDependent:()=>_4,prettyDescriptor:()=>oi,prettyIdent:()=>$i,prettyLocator:()=>Yr,prettyLocatorNoColors:()=>U4,prettyRange:()=>aI,prettyReference:()=>FB,prettyResolution:()=>DB,prettyWorkspace:()=>NB,renamePackage:()=>p8,slugifyIdent:()=>u8,slugifyLocator:()=>oI,sortDescriptors:()=>lI,stringifyDescriptor:()=>dl,stringifyIdent:()=>fn,stringifyLocator:()=>ml,tryParseDescriptor:()=>TB,tryParseIdent:()=>Bce,tryParseLocator:()=>PQ,tryParseRange:()=>jXe,unwrapIdentFromScope:()=>VXe,virtualizeDescriptor:()=>h8,virtualizePackage:()=>g8,wrapIdentIntoScope:()=>YXe});function ka(e,t){if(e?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:fs(e,t),scope:e,name:t}}function Mn(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:fs(e.identHash,t),range:t}}function Js(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:fs(e.identHash,t),reference:t}}function xXe(e){return{identHash:e.identHash,scope:e.scope,name:e.name}}function DQ(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.descriptorHash,reference:e.range}}function A8(e){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:e.locatorHash,range:e.reference}}function kXe(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference}}function p8(e,t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference,version:e.version,languageName:e.languageName,linkType:e.linkType,conditions:e.conditions,dependencies:new Map(e.dependencies),peerDependencies:new Map(e.peerDependencies),dependenciesMeta:new Map(e.dependenciesMeta),peerDependenciesMeta:new Map(e.peerDependenciesMeta),bin:new Map(e.bin)}}function xB(e){return p8(e,e)}function h8(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return Mn(e,`virtual:${t}#${e.range}`)}function g8(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return p8(e,Js(e,`virtual:${t}#${e.reference}`))}function Rp(e){return e.range.startsWith(PB)}function ju(e){return e.reference.startsWith(PB)}function kB(e){if(!Rp(e))throw new Error("Not a virtual descriptor");return Mn(e,e.range.replace(bQ,""))}function sI(e){if(!ju(e))throw new Error("Not a virtual descriptor");return Js(e,e.reference.replace(bQ,""))}function QXe(e){return Rp(e)?Mn(e,e.range.replace(bQ,"")):e}function RXe(e){return ju(e)?Js(e,e.reference.replace(bQ,"")):e}function TXe(e,t){return e.range.includes("::")?e:Mn(e,`${e.range}::${iI.default.stringify(t)}`)}function FXe(e,t){return e.reference.includes("::")?e:Js(e,`${e.reference}::${iI.default.stringify(t)}`)}function QB(e,t){return e.identHash===t.identHash}function wce(e,t){return e.descriptorHash===t.descriptorHash}function RB(e,t){return e.locatorHash===t.locatorHash}function NXe(e,t){if(!ju(e))throw new Error("Invalid package type");if(!ju(t))throw new Error("Invalid package type");if(!QB(e,t)||e.dependencies.size!==t.dependencies.size)return!1;for(let r of e.dependencies.values()){let s=t.dependencies.get(r.identHash);if(!s||!wce(r,s))return!1}return!0}function xa(e){let t=Bce(e);if(!t)throw new Error(`Invalid ident (${e})`);return t}function Bce(e){let t=e.match(OXe);if(!t)return null;let[,r,s]=t;return ka(typeof r<"u"?r:null,s)}function I0(e,t=!1){let r=TB(e,t);if(!r)throw new Error(`Invalid descriptor (${e})`);return r}function TB(e,t=!1){let r=t?e.match(LXe):e.match(MXe);if(!r)return null;let[,s,a,n]=r;if(n===c8)throw new Error(`Invalid range (${e})`);let c=typeof s<"u"?s:null,f=typeof n<"u"?n:c8;return Mn(ka(c,a),f)}function Tp(e,t=!1){let r=PQ(e,t);if(!r)throw new Error(`Invalid locator (${e})`);return r}function PQ(e,t=!1){let r=t?e.match(UXe):e.match(_Xe);if(!r)return null;let[,s,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${e})`);let c=typeof s<"u"?s:null,f=typeof n<"u"?n:"unknown";return Js(ka(c,a),f)}function Zd(e,t){let r=e.match(HXe);if(r===null)throw new Error(`Invalid range (${e})`);let s=typeof r[1]<"u"?r[1]:null;if(typeof t?.requireProtocol=="string"&&s!==t.requireProtocol)throw new Error(`Invalid protocol (${s})`);if(t?.requireProtocol&&s===null)throw new Error(`Missing protocol (${s})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(t?.requireSource&&a===null)throw new Error(`Missing source (${e})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),c=t?.parseSelector?iI.default.parse(n):n,f=typeof r[4]<"u"?iI.default.parse(r[4]):null;return{protocol:s,source:a,selector:c,params:f}}function jXe(e,t){try{return Zd(e,t)}catch{return null}}function GXe(e,{protocol:t}){let{selector:r,params:s}=Zd(e,{requireProtocol:t,requireBindings:!0});if(typeof s.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${e}`);return{parentLocator:Tp(s.locator,!0),path:r}}function Ece(e){return e=e.replaceAll("%","%25"),e=e.replaceAll(":","%3A"),e=e.replaceAll("#","%23"),e}function qXe(e){return e===null?!1:Object.entries(e).length>0}function xQ({protocol:e,source:t,selector:r,params:s}){let a="";return e!==null&&(a+=`${e}`),t!==null&&(a+=`${Ece(t)}#`),a+=Ece(r),qXe(s)&&(a+=`::${iI.default.stringify(s)}`),a}function WXe(e){let{params:t,protocol:r,source:s,selector:a}=Zd(e);for(let n in t)n.startsWith("__")&&delete t[n];return xQ({protocol:r,source:s,params:t,selector:a})}function fn(e){return e.scope?`@${e.scope}/${e.name}`:`${e.name}`}function YXe(e,t){return e.scope?ka(t,`${e.scope}__${e.name}`):ka(t,e.name)}function VXe(e,t){if(e.scope!==t)return e;let r=e.name.indexOf("__");if(r===-1)return ka(null,e.name);let s=e.name.slice(0,r),a=e.name.slice(r+2);return ka(s,a)}function dl(e){return e.scope?`@${e.scope}/${e.name}@${e.range}`:`${e.name}@${e.range}`}function ml(e){return e.scope?`@${e.scope}/${e.name}@${e.reference}`:`${e.name}@${e.reference}`}function u8(e){return e.scope!==null?`@${e.scope}-${e.name}`:e.name}function oI(e){let{protocol:t,selector:r}=Zd(e.reference),s=t!==null?t.replace(JXe,""):"exotic",a=f8.default.valid(r),n=a!==null?`${s}-${a}`:`${s}`,c=10;return e.scope?`${u8(e)}-${n}-${e.locatorHash.slice(0,c)}`:`${u8(e)}-${n}-${e.locatorHash.slice(0,c)}`}function $i(e,t){return t.scope?`${jt(e,`@${t.scope}/`,gt.SCOPE)}${jt(e,t.name,gt.NAME)}`:`${jt(e,t.name,gt.NAME)}`}function kQ(e){if(e.startsWith(PB)){let t=kQ(e.substring(e.indexOf("#")+1)),r=e.substring(PB.length,PB.length+bXe);return`${t} [${r}]`}else return e.replace(KXe,"?[...]")}function aI(e,t){return`${jt(e,kQ(t),gt.RANGE)}`}function oi(e,t){return`${$i(e,t)}${jt(e,"@",gt.RANGE)}${aI(e,t.range)}`}function FB(e,t){return`${jt(e,kQ(t),gt.REFERENCE)}`}function Yr(e,t){return`${$i(e,t)}${jt(e,"@",gt.REFERENCE)}${FB(e,t.reference)}`}function U4(e){return`${fn(e)}@${kQ(e.reference)}`}function lI(e){return Vs(e,[t=>fn(t),t=>t.range])}function NB(e,t){return $i(e,t.anchoredLocator)}function DB(e,t,r){let s=Rp(t)?kB(t):t;return r===null?`${oi(e,s)} \u2192 ${M4(e).Cross}`:s.identHash===r.identHash?`${oi(e,s)} \u2192 ${FB(e,r.reference)}`:`${oi(e,s)} \u2192 ${Yr(e,r)}`}function _4(e,t,r){return r===null?`${Yr(e,t)}`:`${Yr(e,t)} (via ${aI(e,r.range)})`}function d8(e){return`node_modules/${fn(e)}`}function zXe(e,t){return t===c8||!e.version?!0:f8.default.satisfies(e.version??"",t)}function QQ(e,t){return e.conditions?PXe(e.conditions,r=>{let[,s,a]=r.match(Cce),n=t[s];return n?n.includes(a):!0}):!0}function OB(e){let t=new Set;if("children"in e)t.add(e);else for(let r of e.requests.values())t.add(r);for(let r of t)for(let s of r.children.values())t.add(s);return t}var iI,f8,Ice,PB,bXe,Cce,PXe,bQ,OXe,LXe,MXe,c8,UXe,_Xe,HXe,JXe,KXe,Zo=Xe(()=>{iI=et(Ie("querystring")),f8=et(pi()),Ice=et(Gie());Qc();E0();kc();Zo();PB="virtual:",bXe=5,Cce=/(os|cpu|libc)=([a-z0-9_-]+)/,PXe=(0,Ice.makeParser)(Cce);bQ=/^[^#]*#/;OXe=/^(?:@([^/]+?)\/)?([^@/]+)$/;LXe=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,MXe=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/,c8="unknown";UXe=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,_Xe=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;HXe=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;JXe=/:$/;KXe=/\?.*/});var vce,Sce=Xe(()=>{Zo();vce={hooks:{reduceDependency:(e,t,r,s,{resolver:a,resolveOptions:n})=>{for(let{pattern:c,reference:f}of t.topLevelWorkspace.manifest.resolutions){if(c.from&&(c.from.fullName!==fn(r)||t.configuration.normalizeLocator(Js(xa(c.from.fullName),c.from.description??r.reference)).locatorHash!==r.locatorHash)||c.descriptor.fullName!==fn(e)||t.configuration.normalizeDependency(Mn(Tp(c.descriptor.fullName),c.descriptor.description??e.range)).descriptorHash!==e.descriptorHash)continue;return a.bindDescriptor(t.configuration.normalizeDependency(Mn(e,f)),t.topLevelWorkspace.anchoredLocator,n)}return e},validateProject:async(e,t)=>{for(let r of e.workspaces){let s=NB(e.configuration,r);await e.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>t.reportWarning(a,`${s}: ${n}`),reportError:(a,n)=>t.reportError(a,`${s}: ${n}`)})}},validateWorkspace:async(e,t)=>{let{manifest:r}=e;r.resolutions.length&&e.cwd!==e.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let s of r.errors)t.reportWarning(57,s.message)}}}});var Ii,$d=Xe(()=>{Ii=class e{static{this.protocol="workspace:"}supportsDescriptor(t,r){return!!(t.range.startsWith(e.protocol)||r.project.tryWorkspaceByDescriptor(t)!==null)}supportsLocator(t,r){return!!t.reference.startsWith(e.protocol)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){return[s.project.getWorkspaceByDescriptor(t).anchoredLocator]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){let s=r.project.getWorkspaceByCwd(t.reference.slice(e.protocol.length));return{...t,version:s.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...s.manifest.dependencies,...s.manifest.devDependencies])),peerDependencies:new Map([...s.manifest.peerDependencies]),dependenciesMeta:s.manifest.dependenciesMeta,peerDependenciesMeta:s.manifest.peerDependenciesMeta,bin:s.manifest.bin}}}});var kr={};Vt(kr,{SemVer:()=>kce.SemVer,clean:()=>ZXe,getComparator:()=>Pce,mergeComparators:()=>m8,satisfiesWithPrereleases:()=>tA,simplifyRanges:()=>y8,stringifyComparator:()=>xce,validRange:()=>yl});function tA(e,t,r=!1){if(!e)return!1;let s=`${t}${r}`,a=Dce.get(s);if(typeof a>"u")try{a=new Fp.default.Range(t,{includePrerelease:!0,loose:r})}catch{return!1}finally{Dce.set(s,a||null)}else if(a===null)return!1;let n;try{n=new Fp.default.SemVer(e,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(c=>{for(let f of c)f.semver.prerelease&&(f.semver.prerelease=[]);return c.every(f=>f.test(n))}))}function yl(e){if(e.indexOf(":")!==-1)return null;let t=bce.get(e);if(typeof t<"u")return t;try{t=new Fp.default.Range(e)}catch{t=null}return bce.set(e,t),t}function ZXe(e){let t=XXe.exec(e);return t?t[1]:null}function Pce(e){if(e.semver===Fp.default.Comparator.ANY)return{gt:null,lt:null};switch(e.operator){case"":return{gt:[">=",e.semver],lt:["<=",e.semver]};case">":case">=":return{gt:[e.operator,e.semver],lt:null};case"<":case"<=":return{gt:null,lt:[e.operator,e.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${e.operator})`)}}function m8(e){if(e.length===0)return null;let t=null,r=null;for(let s of e){if(s.gt){let a=t!==null?Fp.default.compare(s.gt[1],t[1]):null;(a===null||a>0||a===0&&s.gt[0]===">")&&(t=s.gt)}if(s.lt){let a=r!==null?Fp.default.compare(s.lt[1],r[1]):null;(a===null||a<0||a===0&&s.lt[0]==="<")&&(r=s.lt)}}if(t&&r){let s=Fp.default.compare(t[1],r[1]);if(s===0&&(t[0]===">"||r[0]==="<")||s>0)return null}return{gt:t,lt:r}}function xce(e){if(e.gt&&e.lt){if(e.gt[0]===">="&&e.lt[0]==="<="&&e.gt[1].version===e.lt[1].version)return e.gt[1].version;if(e.gt[0]===">="&&e.lt[0]==="<"){if(e.lt[1].version===`${e.gt[1].major+1}.0.0-0`)return`^${e.gt[1].version}`;if(e.lt[1].version===`${e.gt[1].major}.${e.gt[1].minor+1}.0-0`)return`~${e.gt[1].version}`}}let t=[];return e.gt&&t.push(e.gt[0]+e.gt[1].version),e.lt&&t.push(e.lt[0]+e.lt[1].version),t.length?t.join(" "):"*"}function y8(e){let t=e.map($Xe).map(s=>yl(s).set.map(a=>a.map(n=>Pce(n)))),r=t.shift().map(s=>m8(s)).filter(s=>s!==null);for(let s of t){let a=[];for(let n of r)for(let c of s){let f=m8([n,...c]);f!==null&&a.push(f)}r=a}return r.length===0?null:r.map(s=>xce(s)).join(" || ")}function $Xe(e){let t=e.split("||");if(t.length>1){let r=new Set;for(let s of t)t.some(a=>a!==s&&Fp.default.subset(s,a))||r.add(s);if(r.size{Fp=et(pi()),kce=et(pi()),Dce=new Map;bce=new Map;XXe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function Qce(e){let t=e.match(/^[ \t]+/m);return t?t[0]:" "}function Rce(e){return e.charCodeAt(0)===65279?e.slice(1):e}function Qa(e){return e.replace(/\\/g,"/")}function RQ(e,{yamlCompatibilityMode:t}){return t?Q4(e):typeof e>"u"||typeof e=="boolean"?e:null}function Tce(e,t){let r=t.search(/[^!]/);if(r===-1)return"invalid";let s=r%2===0?"":"!",a=t.slice(r);return`${s}${e}=${a}`}function E8(e,t){return t.length===1?Tce(e,t[0]):`(${t.map(r=>Tce(e,r)).join(" | ")})`}var Fce,_t,cI=Xe(()=>{Dt();vc();Fce=et(pi());$d();kc();Np();Zo();_t=class e{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static{this.fileName="package.json"}static{this.allDependencies=["dependencies","devDependencies","peerDependencies"]}static{this.hardDependencies=["dependencies","devDependencies"]}static async tryFind(t,{baseFs:r=new Vn}={}){let s=J.join(t,"package.json");try{return await e.fromFile(s,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(t,{baseFs:r}={}){let s=await e.tryFind(t,{baseFs:r});if(s===null)throw new Error("Manifest not found");return s}static async fromFile(t,{baseFs:r=new Vn}={}){let s=new e;return await s.loadFile(t,{baseFs:r}),s}static fromText(t){let r=new e;return r.loadFromText(t),r}loadFromText(t){let r;try{r=JSON.parse(Rce(t)||"{}")}catch(s){throw s.message+=` (when parsing ${t})`,s}this.load(r),this.indent=Qce(t)}async loadFile(t,{baseFs:r=new Vn}){let s=await r.readFilePromise(t,"utf8"),a;try{a=JSON.parse(Rce(s)||"{}")}catch(n){throw n.message+=` (when parsing ${t})`,n}this.load(a),this.indent=Qce(s)}load(t,{yamlCompatibilityMode:r=!1}={}){if(typeof t!="object"||t===null)throw new Error(`Utterly invalid manifest data (${t})`);this.raw=t;let s=[];if(this.name=null,typeof t.name=="string")try{this.name=xa(t.name)}catch{s.push(new Error("Parsing failed for the 'name' field"))}if(typeof t.version=="string"?this.version=t.version:this.version=null,Array.isArray(t.os)){let n=[];this.os=n;for(let c of t.os)typeof c!="string"?s.push(new Error("Parsing failed for the 'os' field")):n.push(c)}else this.os=null;if(Array.isArray(t.cpu)){let n=[];this.cpu=n;for(let c of t.cpu)typeof c!="string"?s.push(new Error("Parsing failed for the 'cpu' field")):n.push(c)}else this.cpu=null;if(Array.isArray(t.libc)){let n=[];this.libc=n;for(let c of t.libc)typeof c!="string"?s.push(new Error("Parsing failed for the 'libc' field")):n.push(c)}else this.libc=null;if(typeof t.type=="string"?this.type=t.type:this.type=null,typeof t.packageManager=="string"?this.packageManager=t.packageManager:this.packageManager=null,typeof t.private=="boolean"?this.private=t.private:this.private=!1,typeof t.license=="string"?this.license=t.license:this.license=null,typeof t.languageName=="string"?this.languageName=t.languageName:this.languageName=null,typeof t.main=="string"?this.main=Qa(t.main):this.main=null,typeof t.module=="string"?this.module=Qa(t.module):this.module=null,t.browser!=null)if(typeof t.browser=="string")this.browser=Qa(t.browser);else{this.browser=new Map;for(let[n,c]of Object.entries(t.browser))this.browser.set(Qa(n),typeof c=="string"?Qa(c):c)}else this.browser=null;if(this.bin=new Map,typeof t.bin=="string")t.bin.trim()===""?s.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,Qa(t.bin)):s.push(new Error("String bin field, but no attached package name"));else if(typeof t.bin=="object"&&t.bin!==null)for(let[n,c]of Object.entries(t.bin)){if(typeof c!="string"||c.trim()===""){s.push(new Error(`Invalid bin definition for '${n}'`));continue}let f=xa(n);this.bin.set(f.name,Qa(c))}if(this.scripts=new Map,typeof t.scripts=="object"&&t.scripts!==null)for(let[n,c]of Object.entries(t.scripts)){if(typeof c!="string"){s.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,c)}if(this.dependencies=new Map,typeof t.dependencies=="object"&&t.dependencies!==null)for(let[n,c]of Object.entries(t.dependencies)){if(typeof c!="string"){s.push(new Error(`Invalid dependency range for '${n}'`));continue}let f;try{f=xa(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Mn(f,c);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof t.devDependencies=="object"&&t.devDependencies!==null)for(let[n,c]of Object.entries(t.devDependencies)){if(typeof c!="string"){s.push(new Error(`Invalid dependency range for '${n}'`));continue}let f;try{f=xa(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Mn(f,c);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof t.peerDependencies=="object"&&t.peerDependencies!==null)for(let[n,c]of Object.entries(t.peerDependencies)){let f;try{f=xa(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof c!="string"||!c.startsWith(Ii.protocol)&&!yl(c))&&(s.push(new Error(`Invalid dependency range for '${n}'`)),c="*");let p=Mn(f,c);this.peerDependencies.set(p.identHash,p)}typeof t.workspaces=="object"&&t.workspaces!==null&&t.workspaces.nohoist&&s.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(t.workspaces)?t.workspaces:typeof t.workspaces=="object"&&t.workspaces!==null&&Array.isArray(t.workspaces.packages)?t.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){s.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof t.dependenciesMeta=="object"&&t.dependenciesMeta!==null)for(let[n,c]of Object.entries(t.dependenciesMeta)){if(typeof c!="object"||c===null){s.push(new Error(`Invalid meta field for '${n}`));continue}let f=I0(n),p=this.ensureDependencyMeta(f),h=RQ(c.built,{yamlCompatibilityMode:r});if(h===null){s.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=RQ(c.optional,{yamlCompatibilityMode:r});if(E===null){s.push(new Error(`Invalid optional meta field for '${n}'`));continue}let C=RQ(c.unplugged,{yamlCompatibilityMode:r});if(C===null){s.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:C})}if(this.peerDependenciesMeta=new Map,typeof t.peerDependenciesMeta=="object"&&t.peerDependenciesMeta!==null)for(let[n,c]of Object.entries(t.peerDependenciesMeta)){if(typeof c!="object"||c===null){s.push(new Error(`Invalid meta field for '${n}'`));continue}let f=I0(n),p=this.ensurePeerDependencyMeta(f),h=RQ(c.optional,{yamlCompatibilityMode:r});if(h===null){s.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof t.resolutions=="object"&&t.resolutions!==null)for(let[n,c]of Object.entries(t.resolutions)){if(typeof c!="string"){s.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:px(n),reference:c})}catch(f){s.push(f);continue}}if(Array.isArray(t.files)){this.files=new Set;for(let n of t.files){if(typeof n!="string"){s.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof t.publishConfig=="object"&&t.publishConfig!==null){if(this.publishConfig={},typeof t.publishConfig.access=="string"&&(this.publishConfig.access=t.publishConfig.access),typeof t.publishConfig.main=="string"&&(this.publishConfig.main=Qa(t.publishConfig.main)),typeof t.publishConfig.module=="string"&&(this.publishConfig.module=Qa(t.publishConfig.module)),t.publishConfig.browser!=null)if(typeof t.publishConfig.browser=="string")this.publishConfig.browser=Qa(t.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,c]of Object.entries(t.publishConfig.browser))this.publishConfig.browser.set(Qa(n),typeof c=="string"?Qa(c):c)}if(typeof t.publishConfig.registry=="string"&&(this.publishConfig.registry=t.publishConfig.registry),typeof t.publishConfig.provenance=="boolean"&&(this.publishConfig.provenance=t.publishConfig.provenance),typeof t.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,Qa(t.publishConfig.bin)]]):s.push(new Error("String bin field, but no attached package name"));else if(typeof t.publishConfig.bin=="object"&&t.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,c]of Object.entries(t.publishConfig.bin)){if(typeof c!="string"){s.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,Qa(c))}}if(Array.isArray(t.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of t.publishConfig.executableFiles){if(typeof n!="string"){s.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(Qa(n))}}}else this.publishConfig=null;if(typeof t.installConfig=="object"&&t.installConfig!==null){this.installConfig={};for(let n of Object.keys(t.installConfig))n==="hoistingLimits"?typeof t.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=t.installConfig.hoistingLimits:s.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof t.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=t.installConfig.selfReferences:s.push(new Error("Invalid selfReferences definition, must be a boolean value")):s.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof t.optionalDependencies=="object"&&t.optionalDependencies!==null)for(let[n,c]of Object.entries(t.optionalDependencies)){if(typeof c!="string"){s.push(new Error(`Invalid dependency range for '${n}'`));continue}let f;try{f=xa(n)}catch{s.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Mn(f,c);this.dependencies.set(p.identHash,p);let h=Mn(f,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof t.preferUnplugged=="boolean"?this.preferUnplugged=t.preferUnplugged:this.preferUnplugged=null,this.errors=s}getForScope(t){switch(t){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${t}")`)}}hasConsumerDependency(t){return!!(this.dependencies.has(t.identHash)||this.peerDependencies.has(t.identHash))}hasHardDependency(t){return!!(this.dependencies.has(t.identHash)||this.devDependencies.has(t.identHash))}hasSoftDependency(t){return!!this.peerDependencies.has(t.identHash)}hasDependency(t){return!!(this.hasHardDependency(t)||this.hasSoftDependency(t))}getConditions(){let t=[];return this.os&&this.os.length>0&&t.push(E8("os",this.os)),this.cpu&&this.cpu.length>0&&t.push(E8("cpu",this.cpu)),this.libc&&this.libc.length>0&&t.push(E8("libc",this.libc)),t.length>0?t.join(" & "):null}ensureDependencyMeta(t){if(t.range!=="unknown"&&!Fce.default.valid(t.range))throw new Error(`Invalid meta field range for '${dl(t)}'`);let r=fn(t),s=t.range!=="unknown"?t.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(s);return n||a.set(s,n={}),n}ensurePeerDependencyMeta(t){if(t.range!=="unknown")throw new Error(`Invalid meta field range for '${dl(t)}'`);let r=fn(t),s=this.peerDependenciesMeta.get(r);return s||this.peerDependenciesMeta.set(r,s={}),s}setRawField(t,r,{after:s=[]}={}){let a=new Set(s.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,t))this.raw[t]=r;else{let n=this.raw,c=this.raw={},f=!1;for(let p of Object.keys(n))c[p]=n[p],f||(a.delete(p),a.size===0&&(c[t]=r,f=!0))}}exportTo(t,{compatibilityMode:r=!0}={}){if(Object.assign(t,this.raw),this.name!==null?t.name=fn(this.name):delete t.name,this.version!==null?t.version=this.version:delete t.version,this.os!==null?t.os=this.os:delete t.os,this.cpu!==null?t.cpu=this.cpu:delete t.cpu,this.type!==null?t.type=this.type:delete t.type,this.packageManager!==null?t.packageManager=this.packageManager:delete t.packageManager,this.private?t.private=!0:delete t.private,this.license!==null?t.license=this.license:delete t.license,this.languageName!==null?t.languageName=this.languageName:delete t.languageName,this.main!==null?t.main=this.main:delete t.main,this.module!==null?t.module=this.module:delete t.module,this.browser!==null){let n=this.browser;typeof n=="string"?t.browser=n:n instanceof Map&&(t.browser=Object.assign({},...Array.from(n.keys()).sort().map(c=>({[c]:n.get(c)}))))}else delete t.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?t.bin=this.bin.get(this.name.name):this.bin.size>0?t.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete t.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?t.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:t.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?t.workspaces=this.raw.workspaces:delete t.workspaces;let s=[],a=[];for(let n of this.dependencies.values()){let c=this.dependenciesMeta.get(fn(n)),f=!1;if(r&&c){let p=c.get(null);p&&p.optional&&(f=!0)}f?a.push(n):s.push(n)}s.length>0?t.dependencies=Object.assign({},...lI(s).map(n=>({[fn(n)]:n.range}))):delete t.dependencies,a.length>0?t.optionalDependencies=Object.assign({},...lI(a).map(n=>({[fn(n)]:n.range}))):delete t.optionalDependencies,this.devDependencies.size>0?t.devDependencies=Object.assign({},...lI(this.devDependencies.values()).map(n=>({[fn(n)]:n.range}))):delete t.devDependencies,this.peerDependencies.size>0?t.peerDependencies=Object.assign({},...lI(this.peerDependencies.values()).map(n=>({[fn(n)]:n.range}))):delete t.peerDependencies,t.dependenciesMeta={};for(let[n,c]of Vs(this.dependenciesMeta.entries(),([f,p])=>f))for(let[f,p]of Vs(c.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=f!==null?dl(Mn(xa(n),f)):n,E={...p};r&&f===null&&delete E.optional,Object.keys(E).length!==0&&(t.dependenciesMeta[h]=E)}if(Object.keys(t.dependenciesMeta).length===0&&delete t.dependenciesMeta,this.peerDependenciesMeta.size>0?t.peerDependenciesMeta=Object.assign({},...Vs(this.peerDependenciesMeta.entries(),([n,c])=>n).map(([n,c])=>({[n]:c}))):delete t.peerDependenciesMeta,this.resolutions.length>0?t.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:c})=>({[hx(n)]:c}))):delete t.resolutions,this.files!==null?t.files=Array.from(this.files):delete t.files,this.preferUnplugged!==null?t.preferUnplugged=this.preferUnplugged:delete t.preferUnplugged,this.scripts!==null&&this.scripts.size>0){t.scripts??={};for(let n of Object.keys(t.scripts))this.scripts.has(n)||delete t.scripts[n];for(let[n,c]of this.scripts.entries())t.scripts[n]=c}else delete t.scripts;return t}}});function tZe(e){return typeof e.reportCode<"u"}var Nce,Oce,eZe,Lt,yo,Fc=Xe(()=>{zl();Nce=Ie("stream"),Oce=Ie("string_decoder"),eZe=15,Lt=class extends Error{constructor(r,s,a){super(s);this.reportExtra=a;this.reportCode=r}};yo=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(t){this.cacheHits.add(t.locatorHash)}reportCacheMiss(t,r){this.cacheMisses.add(t.locatorHash)}static progressViaCounter(t){let r=0,s,a=new Promise(p=>{s=p}),n=p=>{let h=s;a=new Promise(E=>{s=E}),r=p,h()},c=(p=0)=>{n(r+1)},f=async function*(){for(;r{r=c}),a=d4(c=>{let f=r;s=new Promise(p=>{r=p}),t=c,f()},1e3/eZe),n=async function*(){for(;;)await s,yield{title:t}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(t,r){let s=this.reportProgress(t);try{return await r(t)}finally{s.stop()}}startProgressSync(t,r){let s=this.reportProgress(t);try{return r(t)}finally{s.stop()}}reportInfoOnce(t,r,s){let a=s&&s.key?s.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(t,r),s?.reportExtra?.(this))}reportWarningOnce(t,r,s){let a=s&&s.key?s.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(t,r),s?.reportExtra?.(this))}reportErrorOnce(t,r,s){let a=s&&s.key?s.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(t,r),s?.reportExtra?.(this))}reportExceptionOnce(t){tZe(t)?this.reportErrorOnce(t.reportCode,t.message,{key:t,reportExtra:t.reportExtra}):this.reportErrorOnce(1,t.stack||t.message,{key:t})}createStreamReporter(t=null){let r=new Nce.PassThrough,s=new Oce.StringDecoder,a="";return r.on("data",n=>{let c=s.write(n),f;do if(f=c.indexOf(` +`),f!==-1){let p=a+c.substring(0,f);c=c.substring(f+1),a="",t!==null?this.reportInfo(null,`${t} ${p}`):this.reportInfo(null,p)}while(f!==-1);a+=c}),r.on("end",()=>{let n=s.end();n!==""&&(t!==null?this.reportInfo(null,`${t} ${n}`):this.reportInfo(null,n))}),r}}});var uI,I8=Xe(()=>{Fc();Zo();uI=class{constructor(t){this.fetchers=t}supports(t,r){return!!this.tryFetcher(t,r)}getLocalPath(t,r){return this.getFetcher(t,r).getLocalPath(t,r)}async fetch(t,r){return await this.getFetcher(t,r).fetch(t,r)}tryFetcher(t,r){let s=this.fetchers.find(a=>a.supports(t,r));return s||null}getFetcher(t,r){let s=this.fetchers.find(a=>a.supports(t,r));if(!s)throw new Lt(11,`${Yr(r.project.configuration,t)} isn't supported by any available fetcher`);return s}}});var em,C8=Xe(()=>{Zo();em=class{constructor(t){this.resolvers=t.filter(r=>r)}supportsDescriptor(t,r){return!!this.tryResolverByDescriptor(t,r)}supportsLocator(t,r){return!!this.tryResolverByLocator(t,r)}shouldPersistResolution(t,r){return this.getResolverByLocator(t,r).shouldPersistResolution(t,r)}bindDescriptor(t,r,s){return this.getResolverByDescriptor(t,s).bindDescriptor(t,r,s)}getResolutionDependencies(t,r){return this.getResolverByDescriptor(t,r).getResolutionDependencies(t,r)}async getCandidates(t,r,s){return await this.getResolverByDescriptor(t,s).getCandidates(t,r,s)}async getSatisfying(t,r,s,a){return this.getResolverByDescriptor(t,a).getSatisfying(t,r,s,a)}async resolve(t,r){return await this.getResolverByLocator(t,r).resolve(t,r)}tryResolverByDescriptor(t,r){let s=this.resolvers.find(a=>a.supportsDescriptor(t,r));return s||null}getResolverByDescriptor(t,r){let s=this.resolvers.find(a=>a.supportsDescriptor(t,r));if(!s)throw new Error(`${oi(r.project.configuration,t)} isn't supported by any available resolver`);return s}tryResolverByLocator(t,r){let s=this.resolvers.find(a=>a.supportsLocator(t,r));return s||null}getResolverByLocator(t,r){let s=this.resolvers.find(a=>a.supportsLocator(t,r));if(!s)throw new Error(`${Yr(r.project.configuration,t)} isn't supported by any available resolver`);return s}}});var fI,w8=Xe(()=>{Dt();Zo();fI=class{supports(t){return!!t.reference.startsWith("virtual:")}getLocalPath(t,r){let s=t.reference.indexOf("#");if(s===-1)throw new Error("Invalid virtual package reference");let a=t.reference.slice(s+1),n=Js(t,a);return r.fetcher.getLocalPath(n,r)}async fetch(t,r){let s=t.reference.indexOf("#");if(s===-1)throw new Error("Invalid virtual package reference");let a=t.reference.slice(s+1),n=Js(t,a),c=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(t,c,r)}getLocatorFilename(t){return oI(t)}async ensureVirtualLink(t,r,s){let a=r.packageFs.getRealPath(),n=s.project.configuration.get("virtualFolder"),c=this.getLocatorFilename(t),f=mo.makeVirtualPath(n,c,a),p=new Gf(f,{baseFs:r.packageFs,pathUtils:J});return{...r,packageFs:p}}}});var TQ,Lce=Xe(()=>{TQ=class e{static{this.protocol="virtual:"}static isVirtualDescriptor(t){return!!t.range.startsWith(e.protocol)}static isVirtualLocator(t){return!!t.reference.startsWith(e.protocol)}supportsDescriptor(t,r){return e.isVirtualDescriptor(t)}supportsLocator(t,r){return e.isVirtualLocator(t)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(t,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(t,r,s){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(t,r,s,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(t,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}});var AI,B8=Xe(()=>{Dt();$d();AI=class{supports(t){return!!t.reference.startsWith(Ii.protocol)}getLocalPath(t,r){return this.getWorkspace(t,r).cwd}async fetch(t,r){let s=this.getWorkspace(t,r).cwd;return{packageFs:new bn(s),prefixPath:vt.dot,localPath:s}}getWorkspace(t,r){return r.project.getWorkspaceByCwd(t.reference.slice(Ii.protocol.length))}}});function LB(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Mce(e){return typeof e>"u"?3:LB(e)?0:Array.isArray(e)?1:2}function D8(e,t){return Object.hasOwn(e,t)}function nZe(e){return LB(e)&&D8(e,"onConflict")&&typeof e.onConflict=="string"}function iZe(e){if(typeof e>"u")return{onConflict:"default",value:e};if(!nZe(e))return{onConflict:"default",value:e};if(D8(e,"value"))return e;let{onConflict:t,...r}=e;return{onConflict:t,value:r}}function Uce(e,t){let r=LB(e)&&D8(e,t)?e[t]:void 0;return iZe(r)}function pI(e,t){return[e,t,_ce]}function b8(e){return Array.isArray(e)?e[2]===_ce:!1}function v8(e,t){if(LB(e)){let r={};for(let s of Object.keys(e))r[s]=v8(e[s],t);return pI(t,r)}return Array.isArray(e)?pI(t,e.map(r=>v8(r,t))):pI(t,e)}function S8(e,t,r,s,a){let n,c=[],f=a,p=0;for(let E=a-1;E>=s;--E){let[C,S]=e[E],{onConflict:x,value:I}=Uce(S,r),T=Mce(I);if(T!==3){if(n??=T,T!==n||x==="hardReset"){p=f;break}if(T===2)return pI(C,I);if(c.unshift([C,I]),x==="reset"){p=E;break}x==="extend"&&E===s&&(s=0),f=E}}if(typeof n>"u")return null;let h=c.map(([E])=>E).join(", ");switch(n){case 1:return pI(h,new Array().concat(...c.map(([E,C])=>C.map(S=>v8(S,E)))));case 0:{let E=Object.assign({},...c.map(([,T])=>T)),C=Object.keys(E),S={},x=e.map(([T,O])=>[T,Uce(O,r).value]),I=rZe(x,([T,O])=>{let U=Mce(O);return U!==0&&U!==3});if(I!==-1){let T=x.slice(I+1);for(let O of C)S[O]=S8(T,t,O,0,T.length)}else for(let T of C)S[T]=S8(x,t,T,p,x.length);return pI(h,S)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Hce(e){return S8(e.map(([t,r])=>[t,{".":r}]),[],".",0,e.length)}function MB(e){return b8(e)?e[1]:e}function FQ(e){let t=b8(e)?e[1]:e;if(Array.isArray(t))return t.map(r=>FQ(r));if(LB(t)){let r={};for(let[s,a]of Object.entries(t))r[s]=FQ(a);return r}return t}function P8(e){return b8(e)?e[0]:null}var rZe,_ce,jce=Xe(()=>{rZe=(e,t,r)=>{let s=[...e];return s.reverse(),s.findIndex(t,r)};_ce=Symbol()});var NQ={};Vt(NQ,{getDefaultGlobalFolder:()=>k8,getHomeFolder:()=>hI,isFolderInside:()=>Q8});function k8(){if(process.platform==="win32"){let e=fe.toPortablePath(process.env.LOCALAPPDATA||fe.join((0,x8.homedir)(),"AppData","Local"));return J.resolve(e,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let e=fe.toPortablePath(process.env.XDG_DATA_HOME);return J.resolve(e,"yarn/berry")}return J.resolve(hI(),".yarn/berry")}function hI(){return fe.toPortablePath((0,x8.homedir)()||"/usr/local/share")}function Q8(e,t){let r=J.relative(t,e);return r&&!r.startsWith("..")&&!J.isAbsolute(r)}var x8,OQ=Xe(()=>{Dt();x8=Ie("os")});var Wce=G((UNt,qce)=>{"use strict";var R8=Ie("https"),T8=Ie("http"),{URL:Gce}=Ie("url"),F8=class extends T8.Agent{constructor(t){let{proxy:r,proxyRequestOptions:s,...a}=t;super(a),this.proxy=typeof r=="string"?new Gce(r):r,this.proxyRequestOptions=s||{}}createConnection(t,r){let s={...this.proxyRequestOptions,method:"CONNECT",host:this.proxy.hostname,port:this.proxy.port,path:`${t.host}:${t.port}`,setHost:!1,headers:{...this.proxyRequestOptions.headers,connection:this.keepAlive?"keep-alive":"close",host:`${t.host}:${t.port}`},agent:!1,timeout:t.timeout||0};if(this.proxy.username||this.proxy.password){let n=Buffer.from(`${decodeURIComponent(this.proxy.username||"")}:${decodeURIComponent(this.proxy.password||"")}`).toString("base64");s.headers["proxy-authorization"]=`Basic ${n}`}this.proxy.protocol==="https:"&&(s.servername=this.proxy.hostname);let a=(this.proxy.protocol==="http:"?T8:R8).request(s);a.once("connect",(n,c,f)=>{a.removeAllListeners(),c.removeAllListeners(),n.statusCode===200?r(null,c):(c.destroy(),r(new Error(`Bad response: ${n.statusCode}`),null))}),a.once("timeout",()=>{a.destroy(new Error("Proxy timeout"))}),a.once("error",n=>{a.removeAllListeners(),r(n,null)}),a.end()}},N8=class extends R8.Agent{constructor(t){let{proxy:r,proxyRequestOptions:s,...a}=t;super(a),this.proxy=typeof r=="string"?new Gce(r):r,this.proxyRequestOptions=s||{}}createConnection(t,r){let s={...this.proxyRequestOptions,method:"CONNECT",host:this.proxy.hostname,port:this.proxy.port,path:`${t.host}:${t.port}`,setHost:!1,headers:{...this.proxyRequestOptions.headers,connection:this.keepAlive?"keep-alive":"close",host:`${t.host}:${t.port}`},agent:!1,timeout:t.timeout||0};if(this.proxy.username||this.proxy.password){let n=Buffer.from(`${decodeURIComponent(this.proxy.username||"")}:${decodeURIComponent(this.proxy.password||"")}`).toString("base64");s.headers["proxy-authorization"]=`Basic ${n}`}this.proxy.protocol==="https:"&&(s.servername=this.proxy.hostname);let a=(this.proxy.protocol==="http:"?T8:R8).request(s);a.once("connect",(n,c,f)=>{if(a.removeAllListeners(),c.removeAllListeners(),n.statusCode===200){let p=super.createConnection({...t,socket:c});r(null,p)}else c.destroy(),r(new Error(`Bad response: ${n.statusCode}`),null)}),a.once("timeout",()=>{a.destroy(new Error("Proxy timeout"))}),a.once("error",n=>{a.removeAllListeners(),r(n,null)}),a.end()}};qce.exports={HttpProxyAgent:F8,HttpsProxyAgent:N8}});var O8,Yce,Vce,Jce=Xe(()=>{O8=et(Wce(),1),Yce=O8.default.HttpProxyAgent,Vce=O8.default.HttpsProxyAgent});var Lp=G((Op,LQ)=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});var Kce=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function oZe(e){return Kce.includes(e)}var aZe=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Kce];function lZe(e){return aZe.includes(e)}var cZe=["null","undefined","string","number","bigint","boolean","symbol"];function uZe(e){return cZe.includes(e)}function gI(e){return t=>typeof t===e}var{toString:zce}=Object.prototype,UB=e=>{let t=zce.call(e).slice(8,-1);if(/HTML\w+Element/.test(t)&&Pe.domElement(e))return"HTMLElement";if(lZe(t))return t},hi=e=>t=>UB(t)===e;function Pe(e){if(e===null)return"null";switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Pe.observable(e))return"Observable";if(Pe.array(e))return"Array";if(Pe.buffer(e))return"Buffer";let t=UB(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Pe.undefined=gI("undefined");Pe.string=gI("string");var fZe=gI("number");Pe.number=e=>fZe(e)&&!Pe.nan(e);Pe.bigint=gI("bigint");Pe.function_=gI("function");Pe.null_=e=>e===null;Pe.class_=e=>Pe.function_(e)&&e.toString().startsWith("class ");Pe.boolean=e=>e===!0||e===!1;Pe.symbol=gI("symbol");Pe.numericString=e=>Pe.string(e)&&!Pe.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e));Pe.array=(e,t)=>Array.isArray(e)?Pe.function_(t)?e.every(t):!0:!1;Pe.buffer=e=>{var t,r,s,a;return(a=(s=(r=(t=e)===null||t===void 0?void 0:t.constructor)===null||r===void 0?void 0:r.isBuffer)===null||s===void 0?void 0:s.call(r,e))!==null&&a!==void 0?a:!1};Pe.blob=e=>hi("Blob")(e);Pe.nullOrUndefined=e=>Pe.null_(e)||Pe.undefined(e);Pe.object=e=>!Pe.null_(e)&&(typeof e=="object"||Pe.function_(e));Pe.iterable=e=>{var t;return Pe.function_((t=e)===null||t===void 0?void 0:t[Symbol.iterator])};Pe.asyncIterable=e=>{var t;return Pe.function_((t=e)===null||t===void 0?void 0:t[Symbol.asyncIterator])};Pe.generator=e=>{var t,r;return Pe.iterable(e)&&Pe.function_((t=e)===null||t===void 0?void 0:t.next)&&Pe.function_((r=e)===null||r===void 0?void 0:r.throw)};Pe.asyncGenerator=e=>Pe.asyncIterable(e)&&Pe.function_(e.next)&&Pe.function_(e.throw);Pe.nativePromise=e=>hi("Promise")(e);var AZe=e=>{var t,r;return Pe.function_((t=e)===null||t===void 0?void 0:t.then)&&Pe.function_((r=e)===null||r===void 0?void 0:r.catch)};Pe.promise=e=>Pe.nativePromise(e)||AZe(e);Pe.generatorFunction=hi("GeneratorFunction");Pe.asyncGeneratorFunction=e=>UB(e)==="AsyncGeneratorFunction";Pe.asyncFunction=e=>UB(e)==="AsyncFunction";Pe.boundFunction=e=>Pe.function_(e)&&!e.hasOwnProperty("prototype");Pe.regExp=hi("RegExp");Pe.date=hi("Date");Pe.error=hi("Error");Pe.map=e=>hi("Map")(e);Pe.set=e=>hi("Set")(e);Pe.weakMap=e=>hi("WeakMap")(e);Pe.weakSet=e=>hi("WeakSet")(e);Pe.int8Array=hi("Int8Array");Pe.uint8Array=hi("Uint8Array");Pe.uint8ClampedArray=hi("Uint8ClampedArray");Pe.int16Array=hi("Int16Array");Pe.uint16Array=hi("Uint16Array");Pe.int32Array=hi("Int32Array");Pe.uint32Array=hi("Uint32Array");Pe.float32Array=hi("Float32Array");Pe.float64Array=hi("Float64Array");Pe.bigInt64Array=hi("BigInt64Array");Pe.bigUint64Array=hi("BigUint64Array");Pe.arrayBuffer=hi("ArrayBuffer");Pe.sharedArrayBuffer=hi("SharedArrayBuffer");Pe.dataView=hi("DataView");Pe.enumCase=(e,t)=>Object.values(t).includes(e);Pe.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype;Pe.urlInstance=e=>hi("URL")(e);Pe.urlString=e=>{if(!Pe.string(e))return!1;try{return new URL(e),!0}catch{return!1}};Pe.truthy=e=>!!e;Pe.falsy=e=>!e;Pe.nan=e=>Number.isNaN(e);Pe.primitive=e=>Pe.null_(e)||uZe(typeof e);Pe.integer=e=>Number.isInteger(e);Pe.safeInteger=e=>Number.isSafeInteger(e);Pe.plainObject=e=>{if(zce.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.getPrototypeOf({})};Pe.typedArray=e=>oZe(UB(e));var pZe=e=>Pe.safeInteger(e)&&e>=0;Pe.arrayLike=e=>!Pe.nullOrUndefined(e)&&!Pe.function_(e)&&pZe(e.length);Pe.inRange=(e,t)=>{if(Pe.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(Pe.array(t)&&t.length===2)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError(`Invalid range: ${JSON.stringify(t)}`)};var hZe=1,gZe=["innerHTML","ownerDocument","style","attributes","nodeValue"];Pe.domElement=e=>Pe.object(e)&&e.nodeType===hZe&&Pe.string(e.nodeName)&&!Pe.plainObject(e)&&gZe.every(t=>t in e);Pe.observable=e=>{var t,r,s,a;return e?e===((r=(t=e)[Symbol.observable])===null||r===void 0?void 0:r.call(t))||e===((a=(s=e)["@@observable"])===null||a===void 0?void 0:a.call(s)):!1};Pe.nodeStream=e=>Pe.object(e)&&Pe.function_(e.pipe)&&!Pe.observable(e);Pe.infinite=e=>e===1/0||e===-1/0;var Xce=e=>t=>Pe.integer(t)&&Math.abs(t%2)===e;Pe.evenInteger=Xce(0);Pe.oddInteger=Xce(1);Pe.emptyArray=e=>Pe.array(e)&&e.length===0;Pe.nonEmptyArray=e=>Pe.array(e)&&e.length>0;Pe.emptyString=e=>Pe.string(e)&&e.length===0;var dZe=e=>Pe.string(e)&&!/\S/.test(e);Pe.emptyStringOrWhitespace=e=>Pe.emptyString(e)||dZe(e);Pe.nonEmptyString=e=>Pe.string(e)&&e.length>0;Pe.nonEmptyStringAndNotWhitespace=e=>Pe.string(e)&&!Pe.emptyStringOrWhitespace(e);Pe.emptyObject=e=>Pe.object(e)&&!Pe.map(e)&&!Pe.set(e)&&Object.keys(e).length===0;Pe.nonEmptyObject=e=>Pe.object(e)&&!Pe.map(e)&&!Pe.set(e)&&Object.keys(e).length>0;Pe.emptySet=e=>Pe.set(e)&&e.size===0;Pe.nonEmptySet=e=>Pe.set(e)&&e.size>0;Pe.emptyMap=e=>Pe.map(e)&&e.size===0;Pe.nonEmptyMap=e=>Pe.map(e)&&e.size>0;Pe.propertyKey=e=>Pe.any([Pe.string,Pe.number,Pe.symbol],e);Pe.formData=e=>hi("FormData")(e);Pe.urlSearchParams=e=>hi("URLSearchParams")(e);var Zce=(e,t,r)=>{if(!Pe.function_(t))throw new TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(r.length===0)throw new TypeError("Invalid number of values");return e.call(r,t)};Pe.any=(e,...t)=>(Pe.array(e)?e:[e]).some(s=>Zce(Array.prototype.some,s,t));Pe.all=(e,...t)=>Zce(Array.prototype.every,e,t);var Ht=(e,t,r,s={})=>{if(!e){let{multipleValues:a}=s,n=a?`received values of types ${[...new Set(r.map(c=>`\`${Pe(c)}\``))].join(", ")}`:`received value of type \`${Pe(r)}\``;throw new TypeError(`Expected value which is \`${t}\`, ${n}.`)}};Op.assert={undefined:e=>Ht(Pe.undefined(e),"undefined",e),string:e=>Ht(Pe.string(e),"string",e),number:e=>Ht(Pe.number(e),"number",e),bigint:e=>Ht(Pe.bigint(e),"bigint",e),function_:e=>Ht(Pe.function_(e),"Function",e),null_:e=>Ht(Pe.null_(e),"null",e),class_:e=>Ht(Pe.class_(e),"Class",e),boolean:e=>Ht(Pe.boolean(e),"boolean",e),symbol:e=>Ht(Pe.symbol(e),"symbol",e),numericString:e=>Ht(Pe.numericString(e),"string with a number",e),array:(e,t)=>{Ht(Pe.array(e),"Array",e),t&&e.forEach(t)},buffer:e=>Ht(Pe.buffer(e),"Buffer",e),blob:e=>Ht(Pe.blob(e),"Blob",e),nullOrUndefined:e=>Ht(Pe.nullOrUndefined(e),"null or undefined",e),object:e=>Ht(Pe.object(e),"Object",e),iterable:e=>Ht(Pe.iterable(e),"Iterable",e),asyncIterable:e=>Ht(Pe.asyncIterable(e),"AsyncIterable",e),generator:e=>Ht(Pe.generator(e),"Generator",e),asyncGenerator:e=>Ht(Pe.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>Ht(Pe.nativePromise(e),"native Promise",e),promise:e=>Ht(Pe.promise(e),"Promise",e),generatorFunction:e=>Ht(Pe.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>Ht(Pe.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>Ht(Pe.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>Ht(Pe.boundFunction(e),"Function",e),regExp:e=>Ht(Pe.regExp(e),"RegExp",e),date:e=>Ht(Pe.date(e),"Date",e),error:e=>Ht(Pe.error(e),"Error",e),map:e=>Ht(Pe.map(e),"Map",e),set:e=>Ht(Pe.set(e),"Set",e),weakMap:e=>Ht(Pe.weakMap(e),"WeakMap",e),weakSet:e=>Ht(Pe.weakSet(e),"WeakSet",e),int8Array:e=>Ht(Pe.int8Array(e),"Int8Array",e),uint8Array:e=>Ht(Pe.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>Ht(Pe.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>Ht(Pe.int16Array(e),"Int16Array",e),uint16Array:e=>Ht(Pe.uint16Array(e),"Uint16Array",e),int32Array:e=>Ht(Pe.int32Array(e),"Int32Array",e),uint32Array:e=>Ht(Pe.uint32Array(e),"Uint32Array",e),float32Array:e=>Ht(Pe.float32Array(e),"Float32Array",e),float64Array:e=>Ht(Pe.float64Array(e),"Float64Array",e),bigInt64Array:e=>Ht(Pe.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>Ht(Pe.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>Ht(Pe.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>Ht(Pe.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>Ht(Pe.dataView(e),"DataView",e),enumCase:(e,t)=>Ht(Pe.enumCase(e,t),"EnumCase",e),urlInstance:e=>Ht(Pe.urlInstance(e),"URL",e),urlString:e=>Ht(Pe.urlString(e),"string with a URL",e),truthy:e=>Ht(Pe.truthy(e),"truthy",e),falsy:e=>Ht(Pe.falsy(e),"falsy",e),nan:e=>Ht(Pe.nan(e),"NaN",e),primitive:e=>Ht(Pe.primitive(e),"primitive",e),integer:e=>Ht(Pe.integer(e),"integer",e),safeInteger:e=>Ht(Pe.safeInteger(e),"integer",e),plainObject:e=>Ht(Pe.plainObject(e),"plain object",e),typedArray:e=>Ht(Pe.typedArray(e),"TypedArray",e),arrayLike:e=>Ht(Pe.arrayLike(e),"array-like",e),domElement:e=>Ht(Pe.domElement(e),"HTMLElement",e),observable:e=>Ht(Pe.observable(e),"Observable",e),nodeStream:e=>Ht(Pe.nodeStream(e),"Node.js Stream",e),infinite:e=>Ht(Pe.infinite(e),"infinite number",e),emptyArray:e=>Ht(Pe.emptyArray(e),"empty array",e),nonEmptyArray:e=>Ht(Pe.nonEmptyArray(e),"non-empty array",e),emptyString:e=>Ht(Pe.emptyString(e),"empty string",e),emptyStringOrWhitespace:e=>Ht(Pe.emptyStringOrWhitespace(e),"empty string or whitespace",e),nonEmptyString:e=>Ht(Pe.nonEmptyString(e),"non-empty string",e),nonEmptyStringAndNotWhitespace:e=>Ht(Pe.nonEmptyStringAndNotWhitespace(e),"non-empty string and not whitespace",e),emptyObject:e=>Ht(Pe.emptyObject(e),"empty object",e),nonEmptyObject:e=>Ht(Pe.nonEmptyObject(e),"non-empty object",e),emptySet:e=>Ht(Pe.emptySet(e),"empty set",e),nonEmptySet:e=>Ht(Pe.nonEmptySet(e),"non-empty set",e),emptyMap:e=>Ht(Pe.emptyMap(e),"empty map",e),nonEmptyMap:e=>Ht(Pe.nonEmptyMap(e),"non-empty map",e),propertyKey:e=>Ht(Pe.propertyKey(e),"PropertyKey",e),formData:e=>Ht(Pe.formData(e),"FormData",e),urlSearchParams:e=>Ht(Pe.urlSearchParams(e),"URLSearchParams",e),evenInteger:e=>Ht(Pe.evenInteger(e),"even integer",e),oddInteger:e=>Ht(Pe.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>Ht(Pe.directInstanceOf(e,t),"T",e),inRange:(e,t)=>Ht(Pe.inRange(e,t),"in range",e),any:(e,...t)=>Ht(Pe.any(e,...t),"predicate returns truthy for any value",t,{multipleValues:!0}),all:(e,...t)=>Ht(Pe.all(e,...t),"predicate returns truthy for all values",t,{multipleValues:!0})};Object.defineProperties(Pe,{class:{value:Pe.class_},function:{value:Pe.function_},null:{value:Pe.null_}});Object.defineProperties(Op.assert,{class:{value:Op.assert.class_},function:{value:Op.assert.function_},null:{value:Op.assert.null_}});Op.default=Pe;LQ.exports=Pe;LQ.exports.default=Pe;LQ.exports.assert=Op.assert});var $ce=G((HNt,L8)=>{"use strict";var MQ=class extends Error{constructor(t){super(t||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},UQ=class e{static fn(t){return(...r)=>new e((s,a,n)=>{r.push(n),t(...r).then(s,a)})}constructor(t){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,s)=>{this._reject=s;let a=f=>{this._isPending=!1,r(f)},n=f=>{this._isPending=!1,s(f)},c=f=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(f)};return Object.defineProperties(c,{shouldReject:{get:()=>this._rejectOnCancel,set:f=>{this._rejectOnCancel=f}}}),t(a,n,c)})}then(t,r){return this._promise.then(t,r)}catch(t){return this._promise.catch(t)}finally(t){return this._promise.finally(t)}cancel(t){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new MQ(t))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(UQ.prototype,Promise.prototype);L8.exports=UQ;L8.exports.CancelError=MQ});var eue=G((U8,_8)=>{"use strict";Object.defineProperty(U8,"__esModule",{value:!0});function mZe(e){return e.encrypted}var M8=(e,t)=>{let r;typeof t=="function"?r={connect:t}:r=t;let s=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",c=()=>{s&&r.connect(),mZe(e)&&a&&(e.authorized?r.secureConnect():e.authorizationError||e.once("secureConnect",r.secureConnect)),n&&e.once("close",r.close)};e.writable&&!e.connecting?c():e.connecting?e.once("connect",c):e.destroyed&&n&&r.close(e._hadError)};U8.default=M8;_8.exports=M8;_8.exports.default=M8});var tue=G((j8,G8)=>{"use strict";Object.defineProperty(j8,"__esModule",{value:!0});var yZe=eue(),EZe=Number(process.versions.node.split(".")[0]),H8=e=>{let t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;let r=c=>{let f=c.emit.bind(c);c.emit=(p,...h)=>(p==="error"&&(t.error=Date.now(),t.phases.total=t.error-t.start,c.emit=f),f(p,...h))};r(e),e.prependOnceListener("abort",()=>{t.abort=Date.now(),(!t.response||EZe>=13)&&(t.phases.total=Date.now()-t.start)});let s=c=>{t.socket=Date.now(),t.phases.wait=t.socket-t.start;let f=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};c.prependOnceListener("lookup",f),yZe.default(c,{connect:()=>{t.connect=Date.now(),t.lookup===void 0&&(c.removeListener("lookup",f),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?s(e.socket):e.prependOnceListener("socket",s);let a=()=>{var c;t.upload=Date.now(),t.phases.request=t.upload-(c=t.secureConnect,c??t.connect)};return(typeof e.writableFinished=="boolean"?e.writableFinished:e.finished&&e.outputSize===0&&(!e.socket||e.socket.writableLength===0))?a():e.prependOnceListener("finish",a),e.prependOnceListener("response",c=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,c.timings=t,r(c),c.prependOnceListener("end",()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start})}),t};j8.default=H8;G8.exports=H8;G8.exports.default=H8});var lue=G((jNt,Y8)=>{"use strict";var{V4MAPPED:IZe,ADDRCONFIG:CZe,ALL:aue,promises:{Resolver:rue},lookup:wZe}=Ie("dns"),{promisify:q8}=Ie("util"),BZe=Ie("os"),dI=Symbol("cacheableLookupCreateConnection"),W8=Symbol("cacheableLookupInstance"),nue=Symbol("expires"),vZe=typeof aue=="number",iue=e=>{if(!(e&&typeof e.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},SZe=e=>{for(let t of e)t.family!==6&&(t.address=`::ffff:${t.address}`,t.family=6)},sue=()=>{let e=!1,t=!1;for(let r of Object.values(BZe.networkInterfaces()))for(let s of r)if(!s.internal&&(s.family==="IPv6"?t=!0:e=!0,e&&t))return{has4:e,has6:t};return{has4:e,has6:t}},DZe=e=>Symbol.iterator in e,oue={ttl:!0},bZe={all:!0},_Q=class{constructor({cache:t=new Map,maxTtl:r=1/0,fallbackDuration:s=3600,errorTtl:a=.15,resolver:n=new rue,lookup:c=wZe}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=t,this._resolver=n,this._dnsLookup=q8(c),this._resolver instanceof rue?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=q8(this._resolver.resolve4.bind(this._resolver)),this._resolve6=q8(this._resolver.resolve6.bind(this._resolver))),this._iface=sue(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,s<1)this._fallback=!1;else{this._fallback=!0;let f=setInterval(()=>{this._hostnamesToFallback.clear()},s*1e3);f.unref&&f.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(t){this.clear(),this._resolver.setServers(t)}get servers(){return this._resolver.getServers()}lookup(t,r,s){if(typeof r=="function"?(s=r,r={}):typeof r=="number"&&(r={family:r}),!s)throw new Error("Callback must be a function.");this.lookupAsync(t,r).then(a=>{r.all?s(null,a):s(null,a.address,a.family,a.expires,a.ttl)},s)}async lookupAsync(t,r={}){typeof r=="number"&&(r={family:r});let s=await this.query(t);if(r.family===6){let a=s.filter(n=>n.family===6);r.hints&IZe&&(vZe&&r.hints&aue||a.length===0)?SZe(s):s=a}else r.family===4&&(s=s.filter(a=>a.family===4));if(r.hints&CZe){let{_iface:a}=this;s=s.filter(n=>n.family===6?a.has6:a.has4)}if(s.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${t}`);throw a.code="ENOTFOUND",a.hostname=t,a}return r.all?s:s[0]}async query(t){let r=await this._cache.get(t);if(!r){let s=this._pending[t];if(s)r=await s;else{let a=this.queryAndCache(t);this._pending[t]=a,r=await a}}return r=r.map(s=>({...s})),r}async _resolve(t){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[s,a]=await Promise.all([this._resolve4(t,oue),this._resolve6(t,oue)].map(h=>r(h))),n=0,c=0,f=0,p=Date.now();for(let h of s)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,c=Math.max(c,h.ttl);return s.length>0?a.length>0?f=Math.min(n,c):f=n:f=c,{entries:[...s,...a],cacheTtl:f}}async _lookup(t){try{return{entries:await this._dnsLookup(t,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(t,r,s){if(this.maxTtl>0&&s>0){s=Math.min(s,this.maxTtl)*1e3,r[nue]=Date.now()+s;try{await this._cache.set(t,r,s)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}DZe(this._cache)&&this._tick(s)}}async queryAndCache(t){if(this._hostnamesToFallback.has(t))return this._dnsLookup(t,bZe);try{let r=await this._resolve(t);r.entries.length===0&&this._fallback&&(r=await this._lookup(t),r.entries.length!==0&&this._hostnamesToFallback.add(t));let s=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(t,r.entries,s),delete this._pending[t],r.entries}catch(r){throw delete this._pending[t],r}}_tick(t){let r=this._nextRemovalTime;(!r||t{this._nextRemovalTime=!1;let s=1/0,a=Date.now();for(let[n,c]of this._cache){let f=c[nue];a>=f?this._cache.delete(n):f("lookup"in r||(r.lookup=this.lookup),t[dI](r,s))}uninstall(t){if(iue(t),t[dI]){if(t[W8]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");t.createConnection=t[dI],delete t[dI],delete t[W8]}}updateInterfaceInfo(){let{_iface:t}=this;this._iface=sue(),(t.has4&&!this._iface.has4||t.has6&&!this._iface.has6)&&this._cache.clear()}clear(t){if(t){this._cache.delete(t);return}this._cache.clear()}};Y8.exports=_Q;Y8.exports.default=_Q});var fue=G((GNt,V8)=>{"use strict";var PZe=typeof URL>"u"?Ie("url").URL:URL,xZe="text/plain",kZe="us-ascii",cue=(e,t)=>t.some(r=>r instanceof RegExp?r.test(e):r===e),QZe=(e,{stripHash:t})=>{let r=e.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${e}`);let s=r[1].split(";"),a=r[2],n=t?"":r[3],c=!1;s[s.length-1]==="base64"&&(s.pop(),c=!0);let f=(s.shift()||"").toLowerCase(),h=[...s.map(E=>{let[C,S=""]=E.split("=").map(x=>x.trim());return C==="charset"&&(S=S.toLowerCase(),S===kZe)?"":`${C}${S?`=${S}`:""}`}).filter(Boolean)];return c&&h.push("base64"),(h.length!==0||f&&f!==xZe)&&h.unshift(f),`data:${h.join(";")},${c?a.trim():a}${n?`#${n}`:""}`},uue=(e,t)=>{if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},Reflect.has(t,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(t,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(t,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(e=e.trim(),/^data:/i.test(e))return QZe(e,t);let r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let a=new PZe(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),t.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),t.stripAuthentication&&(a.username="",a.password=""),t.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,c)=>/^(?!\/)/g.test(c)?`${c}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),c=n[n.length-1];cue(c,t.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let n of[...a.searchParams.keys()])cue(n,t.removeQueryParameters)&&a.searchParams.delete(n);return t.sortQueryParameters&&a.searchParams.sort(),t.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),e=a.toString(),(t.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e};V8.exports=uue;V8.exports.default=uue});var hue=G((qNt,pue)=>{pue.exports=Aue;function Aue(e,t){if(e&&t)return Aue(e)(t);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(s){r[s]=e[s]}),r;function r(){for(var s=new Array(arguments.length),a=0;a{var gue=hue();J8.exports=gue(HQ);J8.exports.strict=gue(due);HQ.proto=HQ(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return HQ(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return due(this)},configurable:!0})});function HQ(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function due(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}});var z8=G((YNt,yue)=>{var RZe=K8(),TZe=function(){},FZe=function(e){return e.setHeader&&typeof e.abort=="function"},NZe=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3},mue=function(e,t,r){if(typeof t=="function")return mue(e,null,t);t||(t={}),r=RZe(r||TZe);var s=e._writableState,a=e._readableState,n=t.readable||t.readable!==!1&&e.readable,c=t.writable||t.writable!==!1&&e.writable,f=function(){e.writable||p()},p=function(){c=!1,n||r.call(e)},h=function(){n=!1,c||r.call(e)},E=function(I){r.call(e,I?new Error("exited with error code: "+I):null)},C=function(I){r.call(e,I)},S=function(){if(n&&!(a&&a.ended))return r.call(e,new Error("premature close"));if(c&&!(s&&s.ended))return r.call(e,new Error("premature close"))},x=function(){e.req.on("finish",p)};return FZe(e)?(e.on("complete",p),e.on("abort",S),e.req?x():e.on("request",x)):c&&!s&&(e.on("end",f),e.on("close",f)),NZe(e)&&e.on("exit",E),e.on("end",h),e.on("finish",p),t.error!==!1&&e.on("error",C),e.on("close",S),function(){e.removeListener("complete",p),e.removeListener("abort",S),e.removeListener("request",x),e.req&&e.req.removeListener("finish",p),e.removeListener("end",f),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("exit",E),e.removeListener("end",h),e.removeListener("error",C),e.removeListener("close",S)}};yue.exports=mue});var Cue=G((VNt,Iue)=>{var OZe=K8(),LZe=z8(),X8=Ie("fs"),_B=function(){},MZe=/^v?\.0/.test(process.version),jQ=function(e){return typeof e=="function"},UZe=function(e){return!MZe||!X8?!1:(e instanceof(X8.ReadStream||_B)||e instanceof(X8.WriteStream||_B))&&jQ(e.close)},_Ze=function(e){return e.setHeader&&jQ(e.abort)},HZe=function(e,t,r,s){s=OZe(s);var a=!1;e.on("close",function(){a=!0}),LZe(e,{readable:t,writable:r},function(c){if(c)return s(c);a=!0,s()});var n=!1;return function(c){if(!a&&!n){if(n=!0,UZe(e))return e.close(_B);if(_Ze(e))return e.abort();if(jQ(e.destroy))return e.destroy();s(c||new Error("stream was destroyed"))}}},Eue=function(e){e()},jZe=function(e,t){return e.pipe(t)},GZe=function(){var e=Array.prototype.slice.call(arguments),t=jQ(e[e.length-1]||_B)&&e.pop()||_B;if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new Error("pump requires two streams per minimum");var r,s=e.map(function(a,n){var c=n0;return HZe(a,c,f,function(p){r||(r=p),p&&s.forEach(Eue),!c&&(s.forEach(Eue),t(r))})});return e.reduce(jZe)};Iue.exports=GZe});var Bue=G((JNt,wue)=>{"use strict";var{PassThrough:qZe}=Ie("stream");wue.exports=e=>{e={...e};let{array:t}=e,{encoding:r}=e,s=r==="buffer",a=!1;t?a=!(r||s):r=r||"utf8",s&&(r=null);let n=new qZe({objectMode:a});r&&n.setEncoding(r);let c=0,f=[];return n.on("data",p=>{f.push(p),a?c=f.length:c+=p.length}),n.getBufferedValue=()=>t?f:s?Buffer.concat(f,c):f.join(""),n.getBufferedLength=()=>c,n}});var vue=G((KNt,mI)=>{"use strict";var WZe=Cue(),YZe=Bue(),GQ=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function qQ(e,t){if(!e)return Promise.reject(new Error("Expected a stream"));t={maxBuffer:1/0,...t};let{maxBuffer:r}=t,s;return await new Promise((a,n)=>{let c=f=>{f&&(f.bufferedData=s.getBufferedValue()),n(f)};s=WZe(e,YZe(t),f=>{if(f){c(f);return}a()}),s.on("data",()=>{s.getBufferedLength()>r&&c(new GQ)})}),s.getBufferedValue()}mI.exports=qQ;mI.exports.default=qQ;mI.exports.buffer=(e,t)=>qQ(e,{...t,encoding:"buffer"});mI.exports.array=(e,t)=>qQ(e,{...t,array:!0});mI.exports.MaxBufferError=GQ});var Due=G((XNt,Sue)=>{"use strict";var VZe=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),JZe=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),KZe=new Set([500,502,503,504]),zZe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},XZe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function tm(e){let t=parseInt(e,10);return isFinite(t)?t:0}function ZZe(e){return e?KZe.has(e.status):!0}function Z8(e){let t={};if(!e)return t;let r=e.trim().split(/,/);for(let s of r){let[a,n]=s.split(/=/,2);t[a.trim()]=n===void 0?!0:n.trim().replace(/^"|"$/g,"")}return t}function $Ze(e){let t=[];for(let r in e){let s=e[r];t.push(s===!0?r:r+"="+s)}if(t.length)return t.join(", ")}Sue.exports=class{constructor(t,r,{shared:s,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:c,_fromObject:f}={}){if(f){this._fromObject(f);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(t),this._responseTime=this.now(),this._isShared=s!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=Z8(r.headers["cache-control"]),this._method="method"in t?t.method:"GET",this._url=t.url,this._host=t.headers.host,this._noAuthorization=!t.headers.authorization,this._reqHeaders=r.headers.vary?t.headers:null,this._reqcc=Z8(t.headers["cache-control"]),c&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":$Ze(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&JZe.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||VZe.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(t){if(!t||!t.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(t){this._assertRequestHasHeaders(t);let r=Z8(t.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(t.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(t,!1)}_requestMatches(t,r){return(!this._url||this._url===t.url)&&this._host===t.headers.host&&(!t.method||this._method===t.method||r&&t.method==="HEAD")&&this._varyMatches(t)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(t){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let s of r)if(t.headers[s]!==this._reqHeaders[s])return!1;return!0}_copyWithoutHopByHopHeaders(t){let r={};for(let s in t)zZe[s]||(r[s]=t[s]);if(t.connection){let s=t.connection.trim().split(/\s*,\s*/);for(let a of s)delete r[a]}if(r.warning){let s=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));s.length?r.warning=s.join(",").trim():delete r.warning}return r}responseHeaders(){let t=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(t.warning=(t.warning?`${t.warning}, `:"")+'113 - "rfc7234 5.5.4"'),t.age=`${Math.round(r)}`,t.date=new Date(this.now()).toUTCString(),t}date(){let t=Date.parse(this._resHeaders.date);return isFinite(t)?t:this._responseTime}age(){let t=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return t+r}_ageValue(){return tm(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return tm(this._rescc["s-maxage"])}if(this._rescc["max-age"])return tm(this._rescc["max-age"]);let t=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let s=Date.parse(this._resHeaders.expires);return Number.isNaN(s)||ss)return Math.max(t,(r-s)/1e3*this._cacheHeuristic)}return t}timeToLive(){let t=this.maxAge()-this.age(),r=t+tm(this._rescc["stale-if-error"]),s=t+tm(this._rescc["stale-while-revalidate"]);return Math.max(0,t,r,s)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+tm(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+tm(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(t){return new this(void 0,void 0,{_fromObject:t})}_fromObject(t){if(this._responseTime)throw Error("Reinitialized");if(!t||t.v!==1)throw Error("Invalid serialization");this._responseTime=t.t,this._isShared=t.sh,this._cacheHeuristic=t.ch,this._immutableMinTtl=t.imm!==void 0?t.imm:24*3600*1e3,this._status=t.st,this._resHeaders=t.resh,this._rescc=t.rescc,this._method=t.m,this._url=t.u,this._host=t.h,this._noAuthorization=t.a,this._reqHeaders=t.reqh,this._reqcc=t.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(t){this._assertRequestHasHeaders(t);let r=this._copyWithoutHopByHopHeaders(t.headers);if(delete r["if-range"],!this._requestMatches(t,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(t,r){if(this._assertRequestHasHeaders(t),this._useStaleIfError()&&ZZe(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let s=!1;if(r.status!==void 0&&r.status!=304?s=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?s=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?s=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?s=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(s=!0),!s)return{policy:new this.constructor(t,r),modified:r.status!=304,matches:!1};let a={};for(let c in this._resHeaders)a[c]=c in r.headers&&!XZe[c]?r.headers[c]:this._resHeaders[c];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(t,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var WQ=G((ZNt,bue)=>{"use strict";bue.exports=e=>{let t={};for(let[r,s]of Object.entries(e))t[r.toLowerCase()]=s;return t}});var xue=G(($Nt,Pue)=>{"use strict";var e$e=Ie("stream").Readable,t$e=WQ(),$8=class extends e$e{constructor(t,r,s,a){if(typeof t!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(s instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=t,this.headers=t$e(r),this.body=s,this.url=a}_read(){this.push(this.body),this.push(null)}};Pue.exports=$8});var Que=G((eOt,kue)=>{"use strict";var r$e=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];kue.exports=(e,t)=>{let r=new Set(Object.keys(e).concat(r$e));for(let s of r)s in t||(t[s]=typeof e[s]=="function"?e[s].bind(e):e[s])}});var Tue=G((tOt,Rue)=>{"use strict";var n$e=Ie("stream").PassThrough,i$e=Que(),s$e=e=>{if(!(e&&e.pipe))throw new TypeError("Parameter `response` must be a response stream.");let t=new n$e;return i$e(e,t),e.pipe(t)};Rue.exports=s$e});var Fue=G(eH=>{eH.stringify=function e(t){if(typeof t>"u")return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(":base64:"+t.toString("base64"));if(t&&t.toJSON&&(t=t.toJSON()),t&&typeof t=="object"){var r="",s=Array.isArray(t);r=s?"[":"{";var a=!0;for(var n in t){var c=typeof t[n]=="function"||!s&&typeof t[n]>"u";Object.hasOwnProperty.call(t,n)&&!c&&(a||(r+=","),a=!1,s?t[n]==null?r+="null":r+=e(t[n]):t[n]!==void 0&&(r+=e(n)+":"+e(t[n])))}return r+=s?"]":"}",r}else return typeof t=="string"?JSON.stringify(/^:/.test(t)?":"+t:t):typeof t>"u"?"null":JSON.stringify(t)};eH.parse=function(e){return JSON.parse(e,function(t,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Mue=G((nOt,Lue)=>{"use strict";var o$e=Ie("events"),Nue=Fue(),a$e=e=>{let t={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(e.adapter||e.uri){let r=e.adapter||/^[^:+]*/.exec(e.uri)[0];return new(Ie(t[r]))(e)}return new Map},Oue=["sqlite","postgres","mysql","mongo","redis","tiered"],tH=class extends o$e{constructor(t,{emitErrors:r=!0,...s}={}){if(super(),this.opts={namespace:"keyv",serialize:Nue.stringify,deserialize:Nue.parse,...typeof t=="string"?{uri:t}:t,...s},!this.opts.store){let n={...this.opts};this.opts.store=a$e(n)}if(this.opts.compression){let n=this.opts.compression;this.opts.serialize=n.serialize.bind(n),this.opts.deserialize=n.deserialize.bind(n)}typeof this.opts.store.on=="function"&&r&&this.opts.store.on("error",n=>this.emit("error",n)),this.opts.store.namespace=this.opts.namespace;let a=n=>async function*(){for await(let[c,f]of typeof n=="function"?n(this.opts.store.namespace):n){let p=await this.opts.deserialize(f);if(!(this.opts.store.namespace&&!c.includes(this.opts.store.namespace))){if(typeof p.expires=="number"&&Date.now()>p.expires){this.delete(c);continue}yield[this._getKeyUnprefix(c),p.value]}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return Oue.includes(this.opts.store.opts.dialect)||Oue.findIndex(t=>this.opts.store.opts.url.includes(t))>=0}_getKeyPrefix(t){return`${this.opts.namespace}:${t}`}_getKeyPrefixArray(t){return t.map(r=>`${this.opts.namespace}:${r}`)}_getKeyUnprefix(t){return t.split(":").splice(1).join(":")}get(t,r){let{store:s}=this.opts,a=Array.isArray(t),n=a?this._getKeyPrefixArray(t):this._getKeyPrefix(t);if(a&&s.getMany===void 0){let c=[];for(let f of n)c.push(Promise.resolve().then(()=>s.get(f)).then(p=>typeof p=="string"?this.opts.deserialize(p):this.opts.compression?this.opts.deserialize(p):p).then(p=>{if(p!=null)return typeof p.expires=="number"&&Date.now()>p.expires?this.delete(f).then(()=>{}):r&&r.raw?p:p.value}));return Promise.allSettled(c).then(f=>{let p=[];for(let h of f)p.push(h.value);return p})}return Promise.resolve().then(()=>a?s.getMany(n):s.get(n)).then(c=>typeof c=="string"?this.opts.deserialize(c):this.opts.compression?this.opts.deserialize(c):c).then(c=>{if(c!=null)return a?c.map((f,p)=>{if(typeof f=="string"&&(f=this.opts.deserialize(f)),f!=null){if(typeof f.expires=="number"&&Date.now()>f.expires){this.delete(t[p]).then(()=>{});return}return r&&r.raw?f:f.value}}):typeof c.expires=="number"&&Date.now()>c.expires?this.delete(t).then(()=>{}):r&&r.raw?c:c.value})}set(t,r,s){let a=this._getKeyPrefix(t);typeof s>"u"&&(s=this.opts.ttl),s===0&&(s=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let c=typeof s=="number"?Date.now()+s:null;return typeof r=="symbol"&&this.emit("error","symbol cannot be serialized"),r={value:r,expires:c},this.opts.serialize(r)}).then(c=>n.set(a,c,s)).then(()=>!0)}delete(t){let{store:r}=this.opts;if(Array.isArray(t)){let a=this._getKeyPrefixArray(t);if(r.deleteMany===void 0){let n=[];for(let c of a)n.push(r.delete(c));return Promise.allSettled(n).then(c=>c.every(f=>f.value===!0))}return Promise.resolve().then(()=>r.deleteMany(a))}let s=this._getKeyPrefix(t);return Promise.resolve().then(()=>r.delete(s))}clear(){let{store:t}=this.opts;return Promise.resolve().then(()=>t.clear())}has(t){let r=this._getKeyPrefix(t),{store:s}=this.opts;return Promise.resolve().then(async()=>typeof s.has=="function"?s.has(r):await s.get(r)!==void 0)}disconnect(){let{store:t}=this.opts;if(typeof t.disconnect=="function")return t.disconnect()}};Lue.exports=tH});var Hue=G((sOt,_ue)=>{"use strict";var l$e=Ie("events"),YQ=Ie("url"),c$e=fue(),u$e=vue(),rH=Due(),Uue=xue(),f$e=WQ(),A$e=Tue(),p$e=Mue(),HB=class e{constructor(t,r){if(typeof t!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new p$e({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(t)}createCacheableRequest(t){return(r,s)=>{let a;if(typeof r=="string")a=nH(YQ.parse(r)),r={};else if(r instanceof YQ.URL)a=nH(YQ.parse(r.toString())),r={};else{let[C,...S]=(r.path||"").split("?"),x=S.length>0?`?${S.join("?")}`:"";a=nH({...r,pathname:C,search:x})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...h$e(a)},r.headers=f$e(r.headers);let n=new l$e,c=c$e(YQ.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),f=`${r.method}:${c}`,p=!1,h=!1,E=C=>{h=!0;let S=!1,x,I=new Promise(O=>{x=()=>{S||(S=!0,O())}}),T=O=>{if(p&&!C.forceRefresh){O.status=O.statusCode;let V=rH.fromObject(p.cachePolicy).revalidatedPolicy(C,O);if(!V.modified){let te=V.policy.responseHeaders();O=new Uue(p.statusCode,te,p.body,p.url),O.cachePolicy=V.policy,O.fromCache=!0}}O.fromCache||(O.cachePolicy=new rH(C,O,C),O.fromCache=!1);let U;C.cache&&O.cachePolicy.storable()?(U=A$e(O),(async()=>{try{let V=u$e.buffer(O);if(await Promise.race([I,new Promise(ae=>O.once("end",ae))]),S)return;let te=await V,ie={cachePolicy:O.cachePolicy.toObject(),url:O.url,statusCode:O.fromCache?p.statusCode:O.statusCode,body:te},ue=C.strictTtl?O.cachePolicy.timeToLive():void 0;C.maxTtl&&(ue=ue?Math.min(ue,C.maxTtl):C.maxTtl),await this.cache.set(f,ie,ue)}catch(V){n.emit("error",new e.CacheError(V))}})()):C.cache&&p&&(async()=>{try{await this.cache.delete(f)}catch(V){n.emit("error",new e.CacheError(V))}})(),n.emit("response",U||O),typeof s=="function"&&s(U||O)};try{let O=t(C,T);O.once("error",x),O.once("abort",x),n.emit("request",O)}catch(O){n.emit("error",new e.RequestError(O))}};return(async()=>{let C=async x=>{await Promise.resolve();let I=x.cache?await this.cache.get(f):void 0;if(typeof I>"u")return E(x);let T=rH.fromObject(I.cachePolicy);if(T.satisfiesWithoutRevalidation(x)&&!x.forceRefresh){let O=T.responseHeaders(),U=new Uue(I.statusCode,O,I.body,I.url);U.cachePolicy=T,U.fromCache=!0,n.emit("response",U),typeof s=="function"&&s(U)}else p=I,x.headers=T.revalidationHeaders(x),E(x)},S=x=>n.emit("error",new e.CacheError(x));this.cache.once("error",S),n.on("response",()=>this.cache.removeListener("error",S));try{await C(r)}catch(x){r.automaticFailover&&!h&&E(r),n.emit("error",new e.CacheError(x))}})(),n}}};function h$e(e){let t={...e};return t.path=`${e.pathname||"/"}${e.search||""}`,delete t.pathname,delete t.search,t}function nH(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||"localhost",port:e.port,pathname:e.pathname,search:e.search}}HB.RequestError=class extends Error{constructor(e){super(e.message),this.name="RequestError",Object.assign(this,e)}};HB.CacheError=class extends Error{constructor(e){super(e.message),this.name="CacheError",Object.assign(this,e)}};_ue.exports=HB});var Gue=G((lOt,jue)=>{"use strict";var g$e=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];jue.exports=(e,t)=>{if(t._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(e).concat(g$e)),s={};for(let a of r)a in t||(s[a]={get(){let n=e[a];return typeof n=="function"?n.bind(e):n},set(n){e[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(t,s),e.once("aborted",()=>{t.destroy(),t.emit("aborted")}),e.once("close",()=>{e.complete&&t.readable?t.once("end",()=>{t.emit("close")}):t.emit("close")}),t}});var Wue=G((cOt,que)=>{"use strict";var{Transform:d$e,PassThrough:m$e}=Ie("stream"),iH=Ie("zlib"),y$e=Gue();que.exports=e=>{let t=(e.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(t))return e;let r=t==="br";if(r&&typeof iH.createBrotliDecompress!="function")return e.destroy(new Error("Brotli is not supported on Node.js < 12")),e;let s=!0,a=new d$e({transform(f,p,h){s=!1,h(null,f)},flush(f){f()}}),n=new m$e({autoDestroy:!1,destroy(f,p){e.destroy(),p(f)}}),c=r?iH.createBrotliDecompress():iH.createUnzip();return c.once("error",f=>{if(s&&!e.readable){n.end();return}n.destroy(f)}),y$e(e,n),e.pipe(a).pipe(c).pipe(n),n}});var oH=G((uOt,Yue)=>{"use strict";var sH=class{constructor(t={}){if(!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=t.maxSize,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(t,r){if(this.cache.set(t,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[s,a]of this.oldCache.entries())this.onEviction(s,a);this.oldCache=this.cache,this.cache=new Map}}get(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t)){let r=this.oldCache.get(t);return this.oldCache.delete(t),this._set(t,r),r}}set(t,r){return this.cache.has(t)?this.cache.set(t,r):this._set(t,r),this}has(t){return this.cache.has(t)||this.oldCache.has(t)}peek(t){if(this.cache.has(t))return this.cache.get(t);if(this.oldCache.has(t))return this.oldCache.get(t)}delete(t){let r=this.cache.delete(t);return r&&this._size--,this.oldCache.delete(t)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache)yield t;for(let t of this.oldCache){let[r]=t;this.cache.has(r)||(yield t)}}get size(){let t=0;for(let r of this.oldCache.keys())this.cache.has(r)||t++;return Math.min(this._size+t,this.maxSize)}};Yue.exports=sH});var lH=G((fOt,zue)=>{"use strict";var E$e=Ie("events"),I$e=Ie("tls"),C$e=Ie("http2"),w$e=oH(),Ra=Symbol("currentStreamsCount"),Vue=Symbol("request"),Nc=Symbol("cachedOriginSet"),yI=Symbol("gracefullyClosing"),B$e=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],v$e=(e,t,r)=>{let s=0,a=e.length;for(;s>>1;r(e[n],t)?s=n+1:a=n}return s},S$e=(e,t)=>e.remoteSettings.maxConcurrentStreams>t.remoteSettings.maxConcurrentStreams,aH=(e,t)=>{for(let r of e)r[Nc].lengtht[Nc].includes(s))&&r[Ra]+t[Ra]<=t.remoteSettings.maxConcurrentStreams&&Kue(r)},D$e=(e,t)=>{for(let r of e)t[Nc].lengthr[Nc].includes(s))&&t[Ra]+r[Ra]<=r.remoteSettings.maxConcurrentStreams&&Kue(t)},Jue=({agent:e,isFree:t})=>{let r={};for(let s in e.sessions){let n=e.sessions[s].filter(c=>{let f=c[rm.kCurrentStreamsCount]{e[yI]=!0,e[Ra]===0&&e.close()},rm=class e extends E$e{constructor({timeout:t=6e4,maxSessions:r=1/0,maxFreeSessions:s=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=t,this.maxSessions=r,this.maxFreeSessions=s,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new w$e({maxSize:a})}static normalizeOrigin(t,r){return typeof t=="string"&&(t=new URL(t)),r&&t.hostname!==r&&(t.hostname=r),t.origin}normalizeOptions(t){let r="";if(t)for(let s of B$e)t[s]&&(r+=`:${t[s]}`);return r}_tryToCreateNewSession(t,r){if(!(t in this.queue)||!(r in this.queue[t]))return;let s=this.queue[t][r];this._sessionsCount{Array.isArray(s)?(s=[...s],a()):s=[{resolve:a,reject:n}];let c=this.normalizeOptions(r),f=e.normalizeOrigin(t,r&&r.servername);if(f===void 0){for(let{reject:E}of s)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(c in this.sessions){let E=this.sessions[c],C=-1,S=-1,x;for(let I of E){let T=I.remoteSettings.maxConcurrentStreams;if(T=T||I[yI]||I.destroyed)continue;x||(C=T),O>S&&(x=I,S=O)}}if(x){if(s.length!==1){for(let{reject:I}of s){let T=new Error(`Expected the length of listeners to be 1, got ${s.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);I(T)}return}s[0].resolve(x);return}}if(c in this.queue){if(f in this.queue[c]){this.queue[c][f].listeners.push(...s),this._tryToCreateNewSession(c,f);return}}else this.queue[c]={};let p=()=>{c in this.queue&&this.queue[c][f]===h&&(delete this.queue[c][f],Object.keys(this.queue[c]).length===0&&delete this.queue[c])},h=()=>{let E=`${f}:${c}`,C=!1;try{let S=C$e.connect(t,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});S[Ra]=0,S[yI]=!1;let x=()=>S[Ra]{this.tlsSessionCache.set(E,O)}),S.once("error",O=>{for(let{reject:U}of s)U(O);this.tlsSessionCache.delete(E)}),S.setTimeout(this.timeout,()=>{S.destroy()}),S.once("close",()=>{if(C){I&&this._freeSessionsCount--,this._sessionsCount--;let O=this.sessions[c];O.splice(O.indexOf(S),1),O.length===0&&delete this.sessions[c]}else{let O=new Error("Session closed without receiving a SETTINGS frame");O.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of s)U(O);p()}this._tryToCreateNewSession(c,f)});let T=()=>{if(!(!(c in this.queue)||!x())){for(let O of S[Nc])if(O in this.queue[c]){let{listeners:U}=this.queue[c][O];for(;U.length!==0&&x();)U.shift().resolve(S);let V=this.queue[c];if(V[O].listeners.length===0&&(delete V[O],Object.keys(V).length===0)){delete this.queue[c];break}if(!x())break}}};S.on("origin",()=>{S[Nc]=S.originSet,x()&&(T(),aH(this.sessions[c],S))}),S.once("remoteSettings",()=>{if(S.ref(),S.unref(),this._sessionsCount++,h.destroyed){let O=new Error("Agent has been destroyed");for(let U of s)U.reject(O);S.destroy();return}S[Nc]=S.originSet;{let O=this.sessions;if(c in O){let U=O[c];U.splice(v$e(U,S,S$e),0,S)}else O[c]=[S]}this._freeSessionsCount+=1,C=!0,this.emit("session",S),T(),p(),S[Ra]===0&&this._freeSessionsCount>this.maxFreeSessions&&S.close(),s.length!==0&&(this.getSession(f,r,s),s.length=0),S.on("remoteSettings",()=>{T(),aH(this.sessions[c],S)})}),S[Vue]=S.request,S.request=(O,U)=>{if(S[yI])throw new Error("The session is gracefully closing. No new streams are allowed.");let V=S[Vue](O,U);return S.ref(),++S[Ra],S[Ra]===S.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,V.once("close",()=>{if(I=x(),--S[Ra],!S.destroyed&&!S.closed&&(D$e(this.sessions[c],S),x()&&!S.closed)){I||(this._freeSessionsCount++,I=!0);let te=S[Ra]===0;te&&S.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||S[yI])?S.close():(aH(this.sessions[c],S),T())}}),V}}catch(S){for(let x of s)x.reject(S);p()}};h.listeners=s,h.completed=!1,h.destroyed=!1,this.queue[c][f]=h,this._tryToCreateNewSession(c,f)})}request(t,r,s,a){return new Promise((n,c)=>{this.getSession(t,r,[{reject:c,resolve:f=>{try{n(f.request(s,a))}catch(p){c(p)}}}])})}createConnection(t,r){return e.connect(t,r)}static connect(t,r){r.ALPNProtocols=["h2"];let s=t.port||443,a=t.hostname||t.host;return typeof r.servername>"u"&&(r.servername=a),I$e.connect(s,a,r)}closeFreeSessions(){for(let t of Object.values(this.sessions))for(let r of t)r[Ra]===0&&r.close()}destroy(t){for(let r of Object.values(this.sessions))for(let s of r)s.destroy(t);for(let r of Object.values(this.queue))for(let s of Object.values(r))s.destroyed=!0;this.queue={}}get freeSessions(){return Jue({agent:this,isFree:!0})}get busySessions(){return Jue({agent:this,isFree:!1})}};rm.kCurrentStreamsCount=Ra;rm.kGracefullyClosing=yI;zue.exports={Agent:rm,globalAgent:new rm}});var uH=G((AOt,Xue)=>{"use strict";var{Readable:b$e}=Ie("stream"),cH=class extends b$e{constructor(t,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=t,this.connection=t,this._dumped=!1}_destroy(t){this.req._request.destroy(t)}setTimeout(t,r){return this.req.setTimeout(t,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Xue.exports=cH});var fH=G((pOt,Zue)=>{"use strict";Zue.exports=e=>{let t={protocol:e.protocol,hostname:typeof e.hostname=="string"&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return typeof e.port=="string"&&e.port.length!==0&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}});var efe=G((hOt,$ue)=>{"use strict";$ue.exports=(e,t,r)=>{for(let s of r)e.on(s,(...a)=>t.emit(s,...a))}});var rfe=G((gOt,tfe)=>{"use strict";tfe.exports=e=>{switch(e){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var ife=G((mOt,nfe)=>{"use strict";var EI=(e,t,r)=>{nfe.exports[t]=class extends e{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${t}]`,this.code=t}}};EI(TypeError,"ERR_INVALID_ARG_TYPE",e=>{let t=e[0].includes(".")?"property":"argument",r=e[1],s=Array.isArray(r);return s&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${e[0]}" ${t} must be ${s?"one of":"of"} type ${r}. Received ${typeof e[2]}`});EI(TypeError,"ERR_INVALID_PROTOCOL",e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`);EI(Error,"ERR_HTTP_HEADERS_SENT",e=>`Cannot ${e[0]} headers after they are sent to the client`);EI(TypeError,"ERR_INVALID_HTTP_TOKEN",e=>`${e[0]} must be a valid HTTP token [${e[1]}]`);EI(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",e=>`Invalid value "${e[0]} for header "${e[1]}"`);EI(TypeError,"ERR_INVALID_CHAR",e=>`Invalid character in ${e[0]} [${e[1]}]`)});var dH=G((yOt,ffe)=>{"use strict";var P$e=Ie("http2"),{Writable:x$e}=Ie("stream"),{Agent:sfe,globalAgent:k$e}=lH(),Q$e=uH(),R$e=fH(),T$e=efe(),F$e=rfe(),{ERR_INVALID_ARG_TYPE:AH,ERR_INVALID_PROTOCOL:N$e,ERR_HTTP_HEADERS_SENT:ofe,ERR_INVALID_HTTP_TOKEN:O$e,ERR_HTTP_INVALID_HEADER_VALUE:L$e,ERR_INVALID_CHAR:M$e}=ife(),{HTTP2_HEADER_STATUS:afe,HTTP2_HEADER_METHOD:lfe,HTTP2_HEADER_PATH:cfe,HTTP2_METHOD_CONNECT:U$e}=P$e.constants,ta=Symbol("headers"),pH=Symbol("origin"),hH=Symbol("session"),ufe=Symbol("options"),VQ=Symbol("flushedHeaders"),jB=Symbol("jobs"),_$e=/^[\^`\-\w!#$%&*+.|~]+$/,H$e=/[^\t\u0020-\u007E\u0080-\u00FF]/,gH=class extends x$e{constructor(t,r,s){super({autoDestroy:!1});let a=typeof t=="string"||t instanceof URL;if(a&&(t=R$e(t instanceof URL?t:new URL(t))),typeof r=="function"||r===void 0?(s=r,r=a?t:{...t}):r={...t,...r},r.h2session)this[hH]=r.h2session;else if(r.agent===!1)this.agent=new sfe({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new sfe({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=k$e;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new AH("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new N$e(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,c=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:f}=r;if(r.timeout=void 0,this[ta]=Object.create(null),this[jB]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[ta])&&(this[ta].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[ufe]=r,n===443?(this[pH]=`https://${c}`,":authority"in this[ta]||(this[ta][":authority"]=c)):(this[pH]=`https://${c}:${n}`,":authority"in this[ta]||(this[ta][":authority"]=`${c}:${n}`)),f&&this.setTimeout(f),s&&this.once("response",s),this[VQ]=!1}get method(){return this[ta][lfe]}set method(t){t&&(this[ta][lfe]=t.toUpperCase())}get path(){return this[ta][cfe]}set path(t){t&&(this[ta][cfe]=t)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(t,r,s){if(this._mustNotHaveABody){s(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(t,r,s);this._request?a():this[jB].push(a)}_final(t){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){t();return}this._request.end(t)};this._request?r():this[jB].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(t,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(t)}async flushHeaders(){if(this[VQ]||this.destroyed)return;this[VQ]=!0;let t=this.method===U$e,r=s=>{if(this._request=s,this.destroyed){s.destroy();return}t||T$e(s,this,["timeout","continue","close","error"]);let a=c=>(...f)=>{!this.writable&&!this.destroyed?c(...f):this.once("finish",()=>{c(...f)})};s.once("response",a((c,f,p)=>{let h=new Q$e(this.socket,s.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=c[afe],h.headers=c,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),t?(h.upgrade=!0,this.emit("connect",h,s,Buffer.alloc(0))?this.emit("close"):s.destroy()):(s.on("data",E=>{!h._dumped&&!h.push(E)&&s.pause()}),s.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),s.once("headers",a(c=>this.emit("information",{statusCode:c[afe]}))),s.once("trailers",a((c,f,p)=>{let{res:h}=this;h.trailers=c,h.rawTrailers=p}));let{socket:n}=s.session;this.socket=n,this.connection=n;for(let c of this[jB])c();this.emit("socket",this.socket)};if(this[hH])try{r(this[hH].request(this[ta]))}catch(s){this.emit("error",s)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[pH],this[ufe],this[ta]))}catch(s){this.emit("error",s)}}}getHeader(t){if(typeof t!="string")throw new AH("name","string",t);return this[ta][t.toLowerCase()]}get headersSent(){return this[VQ]}removeHeader(t){if(typeof t!="string")throw new AH("name","string",t);if(this.headersSent)throw new ofe("remove");delete this[ta][t.toLowerCase()]}setHeader(t,r){if(this.headersSent)throw new ofe("set");if(typeof t!="string"||!_$e.test(t)&&!F$e(t))throw new O$e("Header name",t);if(typeof r>"u")throw new L$e(r,t);if(H$e.test(r))throw new M$e("header content",t);this[ta][t.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(t,r){let s=()=>this._request.setTimeout(t,r);return this._request?s():this[jB].push(s),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(t){}};ffe.exports=gH});var pfe=G((EOt,Afe)=>{"use strict";var j$e=Ie("tls");Afe.exports=(e={},t=j$e.connect)=>new Promise((r,s)=>{let a=!1,n,c=async()=>{await p,n.off("timeout",f),n.off("error",s),e.resolveSocket?(r({alpnProtocol:n.alpnProtocol,socket:n,timeout:a}),a&&(await Promise.resolve(),n.emit("timeout"))):(n.destroy(),r({alpnProtocol:n.alpnProtocol,timeout:a}))},f=async()=>{a=!0,c()},p=(async()=>{try{n=await t(e,c),n.on("error",s),n.once("timeout",f)}catch(h){s(h)}})()})});var gfe=G((IOt,hfe)=>{"use strict";var G$e=Ie("net");hfe.exports=e=>{let t=e.host,r=e.headers&&e.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?t=r:t=r.slice(1,-1):t=r.split(":",1)[0]),G$e.isIP(t)?"":t}});var yfe=G((COt,yH)=>{"use strict";var dfe=Ie("http"),mH=Ie("https"),q$e=pfe(),W$e=oH(),Y$e=dH(),V$e=gfe(),J$e=fH(),JQ=new W$e({maxSize:100}),GB=new Map,mfe=(e,t,r)=>{t._httpMessage={shouldKeepAlive:!0};let s=()=>{e.emit("free",t,r)};t.on("free",s);let a=()=>{e.removeSocket(t,r)};t.on("close",a);let n=()=>{e.removeSocket(t,r),t.off("close",a),t.off("free",s),t.off("agentRemove",n)};t.on("agentRemove",n),e.emit("free",t,r)},K$e=async e=>{let t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!JQ.has(t)){if(GB.has(t))return(await GB.get(t)).alpnProtocol;let{path:r,agent:s}=e;e.path=e.socketPath;let a=q$e(e);GB.set(t,a);try{let{socket:n,alpnProtocol:c}=await a;if(JQ.set(t,c),e.path=r,c==="h2")n.destroy();else{let{globalAgent:f}=mH,p=mH.Agent.prototype.createConnection;s?s.createConnection===p?mfe(s,n,e):n.destroy():f.createConnection===p?mfe(f,n,e):n.destroy()}return GB.delete(t),c}catch(n){throw GB.delete(t),n}}return JQ.get(t)};yH.exports=async(e,t,r)=>{if((typeof e=="string"||e instanceof URL)&&(e=J$e(new URL(e))),typeof t=="function"&&(r=t,t=void 0),t={ALPNProtocols:["h2","http/1.1"],...e,...t,resolveSocket:!0},!Array.isArray(t.ALPNProtocols)||t.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");t.protocol=t.protocol||"https:";let s=t.protocol==="https:";t.host=t.hostname||t.host||"localhost",t.session=t.tlsSession,t.servername=t.servername||V$e(t),t.port=t.port||(s?443:80),t._defaultAgent=s?mH.globalAgent:dfe.globalAgent;let a=t.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=a[s?"https":"http"]}return s&&await K$e(t)==="h2"?(a&&(t.agent=a.http2),new Y$e(t,r)):dfe.request(t,r)};yH.exports.protocolCache=JQ});var Ife=G((wOt,Efe)=>{"use strict";var z$e=Ie("http2"),X$e=lH(),EH=dH(),Z$e=uH(),$$e=yfe(),eet=(e,t,r)=>new EH(e,t,r),tet=(e,t,r)=>{let s=new EH(e,t,r);return s.end(),s};Efe.exports={...z$e,ClientRequest:EH,IncomingMessage:Z$e,...X$e,request:eet,get:tet,auto:$$e}});var CH=G(IH=>{"use strict";Object.defineProperty(IH,"__esModule",{value:!0});var Cfe=Lp();IH.default=e=>Cfe.default.nodeStream(e)&&Cfe.default.function_(e.getBoundary)});var Sfe=G(wH=>{"use strict";Object.defineProperty(wH,"__esModule",{value:!0});var Bfe=Ie("fs"),vfe=Ie("util"),wfe=Lp(),ret=CH(),net=vfe.promisify(Bfe.stat);wH.default=async(e,t)=>{if(t&&"content-length"in t)return Number(t["content-length"]);if(!e)return 0;if(wfe.default.string(e))return Buffer.byteLength(e);if(wfe.default.buffer(e))return e.length;if(ret.default(e))return vfe.promisify(e.getLength.bind(e))();if(e instanceof Bfe.ReadStream){let{size:r}=await net(e.path);return r===0?void 0:r}}});var vH=G(BH=>{"use strict";Object.defineProperty(BH,"__esModule",{value:!0});function iet(e,t,r){let s={};for(let a of r)s[a]=(...n)=>{t.emit(a,...n)},e.on(a,s[a]);return()=>{for(let a of r)e.off(a,s[a])}}BH.default=iet});var Dfe=G(SH=>{"use strict";Object.defineProperty(SH,"__esModule",{value:!0});SH.default=()=>{let e=[];return{once(t,r,s){t.once(r,s),e.push({origin:t,event:r,fn:s})},unhandleAll(){for(let t of e){let{origin:r,event:s,fn:a}=t;r.removeListener(s,a)}e.length=0}}}});var Pfe=G(qB=>{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.TimeoutError=void 0;var set=Ie("net"),oet=Dfe(),bfe=Symbol("reentry"),aet=()=>{},KQ=class extends Error{constructor(t,r){super(`Timeout awaiting '${r}' for ${t}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};qB.TimeoutError=KQ;qB.default=(e,t,r)=>{if(bfe in e)return aet;e[bfe]=!0;let s=[],{once:a,unhandleAll:n}=oet.default(),c=(C,S,x)=>{var I;let T=setTimeout(S,C,C,x);(I=T.unref)===null||I===void 0||I.call(T);let O=()=>{clearTimeout(T)};return s.push(O),O},{host:f,hostname:p}=r,h=(C,S)=>{e.destroy(new KQ(C,S))},E=()=>{for(let C of s)C();n()};if(e.once("error",C=>{if(E(),e.listenerCount("error")===0)throw C}),e.once("close",E),a(e,"response",C=>{a(C,"end",E)}),typeof t.request<"u"&&c(t.request,h,"request"),typeof t.socket<"u"){let C=()=>{h(t.socket,"socket")};e.setTimeout(t.socket,C),s.push(()=>{e.removeListener("timeout",C)})}return a(e,"socket",C=>{var S;let{socketPath:x}=e;if(C.connecting){let I=!!(x??set.isIP((S=p??f)!==null&&S!==void 0?S:"")!==0);if(typeof t.lookup<"u"&&!I&&typeof C.address().address>"u"){let T=c(t.lookup,h,"lookup");a(C,"lookup",T)}if(typeof t.connect<"u"){let T=()=>c(t.connect,h,"connect");I?a(C,"connect",T()):a(C,"lookup",O=>{O===null&&a(C,"connect",T())})}typeof t.secureConnect<"u"&&r.protocol==="https:"&&a(C,"connect",()=>{let T=c(t.secureConnect,h,"secureConnect");a(C,"secureConnect",T)})}if(typeof t.send<"u"){let I=()=>c(t.send,h,"send");C.connecting?a(C,"connect",()=>{a(e,"upload-complete",I())}):a(e,"upload-complete",I())}}),typeof t.response<"u"&&a(e,"upload-complete",()=>{let C=c(t.response,h,"response");a(e,"response",C)}),E}});var kfe=G(DH=>{"use strict";Object.defineProperty(DH,"__esModule",{value:!0});var xfe=Lp();DH.default=e=>{e=e;let t={protocol:e.protocol,hostname:xfe.default.string(e.hostname)&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return xfe.default.string(e.port)&&e.port.length>0&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}});var Qfe=G(bH=>{"use strict";Object.defineProperty(bH,"__esModule",{value:!0});var cet=Ie("url"),uet=["protocol","host","hostname","port","pathname","search"];bH.default=(e,t)=>{var r,s;if(t.path){if(t.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(t.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(t.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(t.search&&t.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!t.protocol)throw new TypeError("No URL protocol specified");e=`${t.protocol}//${(s=(r=t.hostname)!==null&&r!==void 0?r:t.host)!==null&&s!==void 0?s:""}`}let a=new cet.URL(e);if(t.path){let n=t.path.indexOf("?");n===-1?t.pathname=t.path:(t.pathname=t.path.slice(0,n),t.search=t.path.slice(n+1)),delete t.path}for(let n of uet)t[n]&&(a[n]=t[n].toString());return a}});var Rfe=G(xH=>{"use strict";Object.defineProperty(xH,"__esModule",{value:!0});var PH=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(t,r){typeof t=="object"?this.weakMap.set(t,r):this.map.set(t,r)}get(t){return typeof t=="object"?this.weakMap.get(t):this.map.get(t)}has(t){return typeof t=="object"?this.weakMap.has(t):this.map.has(t)}};xH.default=PH});var QH=G(kH=>{"use strict";Object.defineProperty(kH,"__esModule",{value:!0});var fet=async e=>{let t=[],r=0;for await(let s of e)t.push(s),r+=Buffer.byteLength(s);return Buffer.isBuffer(t[0])?Buffer.concat(t,r):Buffer.from(t.join(""))};kH.default=fet});var Ffe=G(nm=>{"use strict";Object.defineProperty(nm,"__esModule",{value:!0});nm.dnsLookupIpVersionToFamily=nm.isDnsLookupIpVersion=void 0;var Tfe={auto:0,ipv4:4,ipv6:6};nm.isDnsLookupIpVersion=e=>e in Tfe;nm.dnsLookupIpVersionToFamily=e=>{if(nm.isDnsLookupIpVersion(e))return Tfe[e];throw new Error("Invalid DNS lookup IP version")}});var RH=G(zQ=>{"use strict";Object.defineProperty(zQ,"__esModule",{value:!0});zQ.isResponseOk=void 0;zQ.isResponseOk=e=>{let{statusCode:t}=e,r=e.request.options.followRedirect?299:399;return t>=200&&t<=r||t===304}});var Ofe=G(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});var Nfe=new Set;TH.default=e=>{Nfe.has(e)||(Nfe.add(e),process.emitWarning(`Got: ${e}`,{type:"DeprecationWarning"}))}});var Lfe=G(FH=>{"use strict";Object.defineProperty(FH,"__esModule",{value:!0});var Di=Lp(),Aet=(e,t)=>{if(Di.default.null_(e.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Di.assert.any([Di.default.string,Di.default.undefined],e.encoding),Di.assert.any([Di.default.boolean,Di.default.undefined],e.resolveBodyOnly),Di.assert.any([Di.default.boolean,Di.default.undefined],e.methodRewriting),Di.assert.any([Di.default.boolean,Di.default.undefined],e.isStream),Di.assert.any([Di.default.string,Di.default.undefined],e.responseType),e.responseType===void 0&&(e.responseType="text");let{retry:r}=e;if(t?e.retry={...t.retry}:e.retry={calculateDelay:s=>s.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Di.default.object(r)?(e.retry={...e.retry,...r},e.retry.methods=[...new Set(e.retry.methods.map(s=>s.toUpperCase()))],e.retry.statusCodes=[...new Set(e.retry.statusCodes)],e.retry.errorCodes=[...new Set(e.retry.errorCodes)]):Di.default.number(r)&&(e.retry.limit=r),Di.default.undefined(e.retry.maxRetryAfter)&&(e.retry.maxRetryAfter=Math.min(...[e.timeout.request,e.timeout.connect].filter(Di.default.number))),Di.default.object(e.pagination)){t&&(e.pagination={...t.pagination,...e.pagination});let{pagination:s}=e;if(!Di.default.function_(s.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Di.default.function_(s.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Di.default.function_(s.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Di.default.function_(s.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return e.responseType==="json"&&e.headers.accept===void 0&&(e.headers.accept="application/json"),e};FH.default=Aet});var Mfe=G(WB=>{"use strict";Object.defineProperty(WB,"__esModule",{value:!0});WB.retryAfterStatusCodes=void 0;WB.retryAfterStatusCodes=new Set([413,429,503]);var pet=({attemptCount:e,retryOptions:t,error:r,retryAfter:s})=>{if(e>t.limit)return 0;let a=t.methods.includes(r.options.method),n=t.errorCodes.includes(r.code),c=r.response&&t.statusCodes.includes(r.response.statusCode);if(!a||!n&&!c)return 0;if(r.response){if(s)return t.maxRetryAfter===void 0||s>t.maxRetryAfter?0:s;if(r.response.statusCode===413)return 0}let f=Math.random()*100;return 2**(e-1)*1e3+f};WB.default=pet});var JB=G(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.UnsupportedProtocolError=Un.ReadError=Un.TimeoutError=Un.UploadError=Un.CacheError=Un.HTTPError=Un.MaxRedirectsError=Un.RequestError=Un.setNonEnumerableProperties=Un.knownHookEvents=Un.withoutBody=Un.kIsNormalizedAlready=void 0;var Ufe=Ie("util"),_fe=Ie("stream"),het=Ie("fs"),C0=Ie("url"),Hfe=Ie("http"),NH=Ie("http"),get=Ie("https"),det=tue(),met=lue(),jfe=Hue(),yet=Wue(),Eet=Ife(),Iet=WQ(),lt=Lp(),Cet=Sfe(),Gfe=CH(),wet=vH(),qfe=Pfe(),Bet=kfe(),Wfe=Qfe(),vet=Rfe(),Det=QH(),Yfe=Ffe(),bet=RH(),w0=Ofe(),Pet=Lfe(),xet=Mfe(),OH,Eo=Symbol("request"),$Q=Symbol("response"),II=Symbol("responseSize"),CI=Symbol("downloadedSize"),wI=Symbol("bodySize"),BI=Symbol("uploadedSize"),XQ=Symbol("serverResponsesPiped"),Vfe=Symbol("unproxyEvents"),Jfe=Symbol("isFromCache"),LH=Symbol("cancelTimeouts"),Kfe=Symbol("startedReading"),vI=Symbol("stopReading"),ZQ=Symbol("triggerRead"),B0=Symbol("body"),YB=Symbol("jobs"),zfe=Symbol("originalResponse"),Xfe=Symbol("retryTimeout");Un.kIsNormalizedAlready=Symbol("isNormalizedAlready");var ket=lt.default.string(process.versions.brotli);Un.withoutBody=new Set(["GET","HEAD"]);Un.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Qet(e){for(let t in e){let r=e[t];if(!lt.default.string(r)&&!lt.default.number(r)&&!lt.default.boolean(r)&&!lt.default.null_(r)&&!lt.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Ret(e){return lt.default.object(e)&&!("statusCode"in e)}var MH=new vet.default,Tet=async e=>new Promise((t,r)=>{let s=a=>{r(a)};e.pending||t(),e.once("error",s),e.once("ready",()=>{e.off("error",s),t()})}),Fet=new Set([300,301,302,303,304,307,308]),Net=["context","body","json","form"];Un.setNonEnumerableProperties=(e,t)=>{let r={};for(let s of e)if(s)for(let a of Net)a in s&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:s[a]});Object.defineProperties(t,r)};var As=class extends Error{constructor(t,r,s){var a;if(super(t),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,s instanceof oR?(Object.defineProperty(this,"request",{enumerable:!1,value:s}),Object.defineProperty(this,"response",{enumerable:!1,value:s[$Q]}),Object.defineProperty(this,"options",{enumerable:!1,value:s.options})):Object.defineProperty(this,"options",{enumerable:!1,value:s}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,lt.default.string(r.stack)&<.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,c=this.stack.slice(n).split(` +`).reverse(),f=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;f.length!==0&&f[0]===c[0];)c.shift();this.stack=`${this.stack.slice(0,n)}${c.reverse().join(` +`)}${f.reverse().join(` +`)}`}}};Un.RequestError=As;var eR=class extends As{constructor(t){super(`Redirected ${t.options.maxRedirects} times. Aborting.`,{},t),this.name="MaxRedirectsError"}};Un.MaxRedirectsError=eR;var tR=class extends As{constructor(t){super(`Response code ${t.statusCode} (${t.statusMessage})`,{},t.request),this.name="HTTPError"}};Un.HTTPError=tR;var rR=class extends As{constructor(t,r){super(t.message,t,r),this.name="CacheError"}};Un.CacheError=rR;var nR=class extends As{constructor(t,r){super(t.message,t,r),this.name="UploadError"}};Un.UploadError=nR;var iR=class extends As{constructor(t,r,s){super(t.message,t,s),this.name="TimeoutError",this.event=t.event,this.timings=r}};Un.TimeoutError=iR;var VB=class extends As{constructor(t,r){super(t.message,t,r),this.name="ReadError"}};Un.ReadError=VB;var sR=class extends As{constructor(t){super(`Unsupported protocol "${t.url.protocol}"`,{},t),this.name="UnsupportedProtocolError"}};Un.UnsupportedProtocolError=sR;var Oet=["socket","connect","continue","information","upgrade","timeout"],oR=class extends _fe.Duplex{constructor(t,r={},s){super({autoDestroy:!1,highWaterMark:0}),this[CI]=0,this[BI]=0,this.requestInitialized=!1,this[XQ]=new Set,this.redirects=[],this[vI]=!1,this[ZQ]=!1,this[YB]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof NH.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:c,body:f,form:p}=r;if((c||f||p)&&this._lockWrite(),Un.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(t,r,s)}catch(h){lt.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof het.ReadStream&&await Tet(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[Eo])===null||h===void 0||h.destroy();return}for(let C of this[YB])C();this[YB].length=0,this.requestInitialized=!0}catch(E){if(E instanceof As){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(t,r,s){var a,n,c,f,p;let h=r;if(lt.default.object(t)&&!lt.default.urlInstance(t))r={...s,...t,...r};else{if(t&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...s,...r},t!==void 0&&(r.url=t),lt.default.urlInstance(r.url)&&(r.url=new C0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),lt.assert.any([lt.default.string,lt.default.undefined],r.method),lt.assert.any([lt.default.object,lt.default.undefined],r.headers),lt.assert.any([lt.default.string,lt.default.urlInstance,lt.default.undefined],r.prefixUrl),lt.assert.any([lt.default.object,lt.default.undefined],r.cookieJar),lt.assert.any([lt.default.object,lt.default.string,lt.default.undefined],r.searchParams),lt.assert.any([lt.default.object,lt.default.string,lt.default.undefined],r.cache),lt.assert.any([lt.default.object,lt.default.number,lt.default.undefined],r.timeout),lt.assert.any([lt.default.object,lt.default.undefined],r.context),lt.assert.any([lt.default.object,lt.default.undefined],r.hooks),lt.assert.any([lt.default.boolean,lt.default.undefined],r.decompress),lt.assert.any([lt.default.boolean,lt.default.undefined],r.ignoreInvalidCookies),lt.assert.any([lt.default.boolean,lt.default.undefined],r.followRedirect),lt.assert.any([lt.default.number,lt.default.undefined],r.maxRedirects),lt.assert.any([lt.default.boolean,lt.default.undefined],r.throwHttpErrors),lt.assert.any([lt.default.boolean,lt.default.undefined],r.http2),lt.assert.any([lt.default.boolean,lt.default.undefined],r.allowGetBody),lt.assert.any([lt.default.string,lt.default.undefined],r.localAddress),lt.assert.any([Yfe.isDnsLookupIpVersion,lt.default.undefined],r.dnsLookupIpVersion),lt.assert.any([lt.default.object,lt.default.undefined],r.https),lt.assert.any([lt.default.boolean,lt.default.undefined],r.rejectUnauthorized),r.https&&(lt.assert.any([lt.default.boolean,lt.default.undefined],r.https.rejectUnauthorized),lt.assert.any([lt.default.function_,lt.default.undefined],r.https.checkServerIdentity),lt.assert.any([lt.default.string,lt.default.object,lt.default.array,lt.default.undefined],r.https.certificateAuthority),lt.assert.any([lt.default.string,lt.default.object,lt.default.array,lt.default.undefined],r.https.key),lt.assert.any([lt.default.string,lt.default.object,lt.default.array,lt.default.undefined],r.https.certificate),lt.assert.any([lt.default.string,lt.default.undefined],r.https.passphrase),lt.assert.any([lt.default.string,lt.default.buffer,lt.default.array,lt.default.undefined],r.https.pfx)),lt.assert.any([lt.default.object,lt.default.undefined],r.cacheOptions),lt.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===s?.headers?r.headers={...r.headers}:r.headers=Iet({...s?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==s?.searchParams){let x;if(lt.default.string(r.searchParams)||r.searchParams instanceof C0.URLSearchParams)x=new C0.URLSearchParams(r.searchParams);else{Qet(r.searchParams),x=new C0.URLSearchParams;for(let I in r.searchParams){let T=r.searchParams[I];T===null?x.append(I,""):T!==void 0&&x.append(I,T)}}(a=s?.searchParams)===null||a===void 0||a.forEach((I,T)=>{x.has(T)||x.append(T,I)}),r.searchParams=x}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(c=r.password)!==null&&c!==void 0?c:"",lt.default.undefined(r.prefixUrl)?r.prefixUrl=(f=s?.prefixUrl)!==null&&f!==void 0?f:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),lt.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Wfe.default(r.prefixUrl+r.url,r)}else(lt.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Wfe.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:x}=r;Object.defineProperty(r,"prefixUrl",{set:T=>{let O=r.url;if(!O.href.startsWith(T))throw new Error(`Cannot change \`prefixUrl\` from ${x} to ${T}: ${O.href}`);r.url=new C0.URL(T+O.href.slice(x.length)),x=T},get:()=>x});let{protocol:I}=r.url;if(I==="unix:"&&(I="http:",r.url=new C0.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),I!=="http:"&&I!=="https:")throw new sR(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:x,getCookieString:I}=E;lt.assert.function_(x),lt.assert.function_(I),x.length===4&&I.length===0&&(x=Ufe.promisify(x.bind(r.cookieJar)),I=Ufe.promisify(I.bind(r.cookieJar)),r.cookieJar={setCookie:x,getCookieString:I})}let{cache:C}=r;if(C&&(MH.has(C)||MH.set(C,new jfe((x,I)=>{let T=x[Eo](x,I);return lt.default.promise(T)&&(T.once=(O,U)=>{if(O==="error")T.catch(U);else if(O==="abort")(async()=>{try{(await T).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${O}`);return T}),T},C))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)OH||(OH=new met.default),r.dnsCache=OH;else if(!lt.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${lt.default(r.dnsCache)}`);lt.default.number(r.timeout)?r.timeout={request:r.timeout}:s&&r.timeout!==s.timeout?r.timeout={...s.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let S=r.hooks===s?.hooks;r.hooks={...r.hooks};for(let x of Un.knownHookEvents)if(x in r.hooks)if(lt.default.array(r.hooks[x]))r.hooks[x]=[...r.hooks[x]];else throw new TypeError(`Parameter \`${x}\` must be an Array, got ${lt.default(r.hooks[x])}`);else r.hooks[x]=[];if(s&&!S)for(let x of Un.knownHookEvents)s.hooks[x].length>0&&(r.hooks[x]=[...s.hooks[x],...r.hooks[x]]);if("family"in r&&w0.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),s?.https&&(r.https={...s.https,...r.https}),"rejectUnauthorized"in r&&w0.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&w0.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&w0.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&w0.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&w0.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&w0.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&w0.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let x in r.agent)if(x!=="http"&&x!=="https"&&x!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${x}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,Un.setNonEnumerableProperties([s,h],r),Pet.default(r,s)}_lockWrite(){let t=()=>{throw new TypeError("The payload has been already provided")};this.write=t,this.end=t}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:t}=this,{headers:r}=t,s=!lt.default.undefined(t.form),a=!lt.default.undefined(t.json),n=!lt.default.undefined(t.body),c=s||a||n,f=Un.withoutBody.has(t.method)&&!(t.method==="GET"&&t.allowGetBody);if(this._cannotHaveBody=f,c){if(f)throw new TypeError(`The \`${t.method}\` method cannot be used with a body`);if([n,s,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(t.body instanceof _fe.Readable)&&!lt.default.string(t.body)&&!lt.default.buffer(t.body)&&!Gfe.default(t.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(s&&!lt.default.object(t.form))throw new TypeError("The `form` option must be an Object");{let p=!lt.default.string(r["content-type"]);n?(Gfe.default(t.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${t.body.getBoundary()}`),this[B0]=t.body):s?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[B0]=new C0.URLSearchParams(t.form).toString()):(p&&(r["content-type"]="application/json"),this[B0]=t.stringifyJson(t.json));let h=await Cet.default(this[B0],t.headers);lt.default.undefined(r["content-length"])&<.default.undefined(r["transfer-encoding"])&&!f&&!lt.default.undefined(h)&&(r["content-length"]=String(h))}}else f?this._lockWrite():this._unlockWrite();this[wI]=Number(r["content-length"])||void 0}async _onResponseBase(t){let{options:r}=this,{url:s}=r;this[zfe]=t,r.decompress&&(t=yet(t));let a=t.statusCode,n=t;n.statusMessage=n.statusMessage?n.statusMessage:Hfe.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=t.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Jfe]=n.isFromCache,this[II]=Number(t.headers["content-length"])||void 0,this[$Q]=t,t.once("end",()=>{this[II]=this[CI],this.emit("downloadProgress",this.downloadProgress)}),t.once("error",f=>{t.destroy(),this._beforeError(new VB(f,this))}),t.once("aborted",()=>{this._beforeError(new VB({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let c=t.headers["set-cookie"];if(lt.default.object(r.cookieJar)&&c){let f=c.map(async p=>r.cookieJar.setCookie(p,s.toString()));r.ignoreInvalidCookies&&(f=f.map(async p=>p.catch(()=>{})));try{await Promise.all(f)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&t.headers.location&&Fet.has(a)){if(t.resume(),this[Eo]&&(this[LH](),delete this[Eo],this[Vfe]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[B0]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new eR(this));return}try{let p=Buffer.from(t.headers.location,"binary").toString(),h=new C0.URL(p,s),E=h.toString();decodeURI(E),h.hostname!==s.hostname||h.port!==s.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let C of r.hooks.beforeRedirect)await C(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!bet.isResponseOk(n)){this._beforeError(new tR(n));return}t.on("readable",()=>{this[ZQ]&&this._read()}),this.on("resume",()=>{t.resume()}),this.on("pause",()=>{t.pause()}),t.once("end",()=>{this.push(null)}),this.emit("response",t);for(let f of this[XQ])if(!f.headersSent){for(let p in t.headers){let h=r.decompress?p!=="content-encoding":!0,E=t.headers[p];h&&f.setHeader(p,E)}f.statusCode=a}}async _onResponse(t){try{await this._onResponseBase(t)}catch(r){this._beforeError(r)}}_onRequest(t){let{options:r}=this,{timeout:s,url:a}=r;det.default(t),this[LH]=qfe.default(t,s,a);let n=r.cache?"cacheableResponse":"response";t.once(n,p=>{this._onResponse(p)}),t.once("error",p=>{var h;t.destroy(),(h=t.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof qfe.TimeoutError?new iR(p,this.timings,this):new As(p.message,p,this),this._beforeError(p)}),this[Vfe]=wet.default(t,this,Oet),this[Eo]=t,this.emit("uploadProgress",this.uploadProgress);let c=this[B0],f=this.redirects.length===0?this:t;lt.default.nodeStream(c)?(c.pipe(f),c.once("error",p=>{this._beforeError(new nR(p,this))})):(this._unlockWrite(),lt.default.undefined(c)?(this._cannotHaveBody||this._noPipe)&&(f.end(),this._lockWrite()):(this._writeRequest(c,void 0,()=>{}),f.end(),this._lockWrite())),this.emit("request",t)}async _createCacheableRequest(t,r){return new Promise((s,a)=>{Object.assign(r,Bet.default(t)),delete r.url;let n,c=MH.get(r.cache)(r,async f=>{f._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",f),s(f)});r.url=t,c.once("error",a),c.once("request",async f=>{n=f,s(n)})})}async _makeRequest(){var t,r,s,a,n;let{options:c}=this,{headers:f}=c;for(let U in f)if(lt.default.undefined(f[U]))delete f[U];else if(lt.default.null_(f[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(c.decompress&<.default.undefined(f["accept-encoding"])&&(f["accept-encoding"]=ket?"gzip, deflate, br":"gzip, deflate"),c.cookieJar){let U=await c.cookieJar.getCookieString(c.url.toString());lt.default.nonEmptyString(U)&&(c.headers.cookie=U)}for(let U of c.hooks.beforeRequest){let V=await U(c);if(!lt.default.undefined(V)){c.request=()=>V;break}}c.body&&this[B0]!==c.body&&(this[B0]=c.body);let{agent:p,request:h,timeout:E,url:C}=c;if(c.dnsCache&&!("lookup"in c)&&(c.lookup=c.dnsCache.lookup),C.hostname==="unix"){let U=/(?.+?):(?.+)/.exec(`${C.pathname}${C.search}`);if(U?.groups){let{socketPath:V,path:te}=U.groups;Object.assign(c,{socketPath:V,path:te,host:""})}}let S=C.protocol==="https:",x;c.http2?x=Eet.auto:x=S?get.request:Hfe.request;let I=(t=c.request)!==null&&t!==void 0?t:x,T=c.cache?this._createCacheableRequest:I;p&&!c.http2&&(c.agent=p[S?"https":"http"]),c[Eo]=I,delete c.request,delete c.timeout;let O=c;if(O.shared=(r=c.cacheOptions)===null||r===void 0?void 0:r.shared,O.cacheHeuristic=(s=c.cacheOptions)===null||s===void 0?void 0:s.cacheHeuristic,O.immutableMinTimeToLive=(a=c.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,O.ignoreCargoCult=(n=c.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,c.dnsLookupIpVersion!==void 0)try{O.family=Yfe.dnsLookupIpVersionToFamily(c.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}c.https&&("rejectUnauthorized"in c.https&&(O.rejectUnauthorized=c.https.rejectUnauthorized),c.https.checkServerIdentity&&(O.checkServerIdentity=c.https.checkServerIdentity),c.https.certificateAuthority&&(O.ca=c.https.certificateAuthority),c.https.certificate&&(O.cert=c.https.certificate),c.https.key&&(O.key=c.https.key),c.https.passphrase&&(O.passphrase=c.https.passphrase),c.https.pfx&&(O.pfx=c.https.pfx));try{let U=await T(C,O);lt.default.undefined(U)&&(U=x(C,O)),c.request=h,c.timeout=E,c.agent=p,c.https&&("rejectUnauthorized"in c.https&&delete O.rejectUnauthorized,c.https.checkServerIdentity&&delete O.checkServerIdentity,c.https.certificateAuthority&&delete O.ca,c.https.certificate&&delete O.cert,c.https.key&&delete O.key,c.https.passphrase&&delete O.passphrase,c.https.pfx&&delete O.pfx),Ret(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof jfe.CacheError?new rR(U,this):new As(U.message,U,this)}}async _error(t){try{for(let r of this.options.hooks.beforeError)t=await r(t)}catch(r){t=new As(r.message,r,this)}this.destroy(t)}_beforeError(t){if(this[vI])return;let{options:r}=this,s=this.retryCount+1;this[vI]=!0,t instanceof As||(t=new As(t.message,t,this));let a=t,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Det.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let c;try{let f;n&&"retry-after"in n.headers&&(f=Number(n.headers["retry-after"]),Number.isNaN(f)?(f=Date.parse(n.headers["retry-after"])-Date.now(),f<=0&&(f=1)):f*=1e3),c=await r.retry.calculateDelay({attemptCount:s,retryOptions:r.retry,error:a,retryAfter:f,computedValue:xet.default({attemptCount:s,retryOptions:r.retry,error:a,retryAfter:f,computedValue:0})})}catch(f){this._error(new As(f.message,f,this));return}if(c){let f=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,s)}catch(p){this._error(new As(p.message,t,this));return}this.destroyed||(this.destroy(),this.emit("retry",s,t))};this[Xfe]=setTimeout(f,c);return}}this._error(a)})()}_read(){this[ZQ]=!0;let t=this[$Q];if(t&&!this[vI]){t.readableLength&&(this[ZQ]=!1);let r;for(;(r=t.read())!==null;){this[CI]+=r.length,this[Kfe]=!0;let s=this.downloadProgress;s.percent<1&&this.emit("downloadProgress",s),this.push(r)}}}_write(t,r,s){let a=()=>{this._writeRequest(t,r,s)};this.requestInitialized?a():this[YB].push(a)}_writeRequest(t,r,s){this[Eo].destroyed||(this._progressCallbacks.push(()=>{this[BI]+=Buffer.byteLength(t,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[Eo].write(t,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),s(a)}))}_final(t){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Eo in this)){t();return}if(this[Eo].destroyed){t();return}this[Eo].end(s=>{s||(this[wI]=this[BI],this.emit("uploadProgress",this.uploadProgress),this[Eo].emit("upload-complete")),t(s)})};this.requestInitialized?r():this[YB].push(r)}_destroy(t,r){var s;this[vI]=!0,clearTimeout(this[Xfe]),Eo in this&&(this[LH](),!((s=this[$Q])===null||s===void 0)&&s.complete||this[Eo].destroy()),t!==null&&!lt.default.undefined(t)&&!(t instanceof As)&&(t=new As(t.message,t,this)),r(t)}get _isAboutToError(){return this[vI]}get ip(){var t;return(t=this.socket)===null||t===void 0?void 0:t.remoteAddress}get aborted(){var t,r,s;return((r=(t=this[Eo])===null||t===void 0?void 0:t.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((s=this[zfe])===null||s===void 0)&&s.complete)}get socket(){var t,r;return(r=(t=this[Eo])===null||t===void 0?void 0:t.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let t;return this[II]?t=this[CI]/this[II]:this[II]===this[CI]?t=1:t=0,{percent:t,transferred:this[CI],total:this[II]}}get uploadProgress(){let t;return this[wI]?t=this[BI]/this[wI]:this[wI]===this[BI]?t=1:t=0,{percent:t,transferred:this[BI],total:this[wI]}}get timings(){var t;return(t=this[Eo])===null||t===void 0?void 0:t.timings}get isFromCache(){return this[Jfe]}pipe(t,r){if(this[Kfe])throw new Error("Failed to pipe. The response has been emitted already.");return t instanceof NH.ServerResponse&&this[XQ].add(t),super.pipe(t,r)}unpipe(t){return t instanceof NH.ServerResponse&&this[XQ].delete(t),super.unpipe(t),this}};Un.default=oR});var KB=G(Gu=>{"use strict";var Let=Gu&&Gu.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),Met=Gu&&Gu.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Let(t,e,r)};Object.defineProperty(Gu,"__esModule",{value:!0});Gu.CancelError=Gu.ParseError=void 0;var Zfe=JB(),UH=class extends Zfe.RequestError{constructor(t,r){let{options:s}=r.request;super(`${t.message} in "${s.url.toString()}"`,t,r.request),this.name="ParseError"}};Gu.ParseError=UH;var _H=class extends Zfe.RequestError{constructor(t){super("Promise was canceled",{},t),this.name="CancelError"}get isCanceled(){return!0}};Gu.CancelError=_H;Met(JB(),Gu)});var eAe=G(HH=>{"use strict";Object.defineProperty(HH,"__esModule",{value:!0});var $fe=KB(),Uet=(e,t,r,s)=>{let{rawBody:a}=e;try{if(t==="text")return a.toString(s);if(t==="json")return a.length===0?"":r(a.toString());if(t==="buffer")return a;throw new $fe.ParseError({message:`Unknown body type '${t}'`,name:"Error"},e)}catch(n){throw new $fe.ParseError(n,e)}};HH.default=Uet});var jH=G(v0=>{"use strict";var _et=v0&&v0.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),Het=v0&&v0.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&_et(t,e,r)};Object.defineProperty(v0,"__esModule",{value:!0});var jet=Ie("events"),Get=Lp(),qet=$ce(),aR=KB(),tAe=eAe(),rAe=JB(),Wet=vH(),Yet=QH(),nAe=RH(),Vet=["request","response","redirect","uploadProgress","downloadProgress"];function iAe(e){let t,r,s=new jet.EventEmitter,a=new qet((c,f,p)=>{let h=E=>{let C=new rAe.default(void 0,e);C.retryCount=E,C._noPipe=!0,p(()=>C.destroy()),p.shouldReject=!1,p(()=>f(new aR.CancelError(C))),t=C,C.once("response",async I=>{var T;if(I.retryCount=E,I.request.aborted)return;let O;try{O=await Yet.default(C),I.rawBody=O}catch{return}if(C._isAboutToError)return;let U=((T=I.headers["content-encoding"])!==null&&T!==void 0?T:"").toLowerCase(),V=["gzip","deflate","br"].includes(U),{options:te}=C;if(V&&!te.decompress)I.body=O;else try{I.body=tAe.default(I,te.responseType,te.parseJson,te.encoding)}catch(ie){if(I.body=O.toString(),nAe.isResponseOk(I)){C._beforeError(ie);return}}try{for(let[ie,ue]of te.hooks.afterResponse.entries())I=await ue(I,async ae=>{let de=rAe.default.normalizeArguments(void 0,{...ae,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);de.hooks.afterResponse=de.hooks.afterResponse.slice(0,ie);for(let Ce of de.hooks.beforeRetry)await Ce(de);let Ae=iAe(de);return p(()=>{Ae.catch(()=>{}),Ae.cancel()}),Ae})}catch(ie){C._beforeError(new aR.RequestError(ie.message,ie,C));return}if(!nAe.isResponseOk(I)){C._beforeError(new aR.HTTPError(I));return}r=I,c(C.options.resolveBodyOnly?I.body:I)});let S=I=>{if(a.isCanceled)return;let{options:T}=C;if(I instanceof aR.HTTPError&&!T.throwHttpErrors){let{response:O}=I;c(C.options.resolveBodyOnly?O.body:O);return}f(I)};C.once("error",S);let x=C.options.body;C.once("retry",(I,T)=>{var O,U;if(x===((O=T.request)===null||O===void 0?void 0:O.options.body)&&Get.default.nodeStream((U=T.request)===null||U===void 0?void 0:U.options.body)){S(T);return}h(I)}),Wet.default(C,s,Vet)};h(0)});a.on=(c,f)=>(s.on(c,f),a);let n=c=>{let f=(async()=>{await a;let{options:p}=r.request;return tAe.default(r,c,p.parseJson,p.encoding)})();return Object.defineProperties(f,Object.getOwnPropertyDescriptors(a)),f};return a.json=()=>{let{headers:c}=t.options;return!t.writableFinished&&c.accept===void 0&&(c.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}v0.default=iAe;Het(KB(),v0)});var sAe=G(GH=>{"use strict";Object.defineProperty(GH,"__esModule",{value:!0});var Jet=KB();function Ket(e,...t){let r=(async()=>{if(e instanceof Jet.RequestError)try{for(let a of t)if(a)for(let n of a)e=await n(e)}catch(a){e=a}throw e})(),s=()=>r;return r.json=s,r.text=s,r.buffer=s,r.on=s,r}GH.default=Ket});var lAe=G(qH=>{"use strict";Object.defineProperty(qH,"__esModule",{value:!0});var oAe=Lp();function aAe(e){for(let t of Object.values(e))(oAe.default.plainObject(t)||oAe.default.array(t))&&aAe(t);return Object.freeze(e)}qH.default=aAe});var uAe=G(cAe=>{"use strict";Object.defineProperty(cAe,"__esModule",{value:!0})});var WH=G(Lc=>{"use strict";var zet=Lc&&Lc.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),Xet=Lc&&Lc.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&zet(t,e,r)};Object.defineProperty(Lc,"__esModule",{value:!0});Lc.defaultHandler=void 0;var fAe=Lp(),Oc=jH(),Zet=sAe(),cR=JB(),$et=lAe(),ett={RequestError:Oc.RequestError,CacheError:Oc.CacheError,ReadError:Oc.ReadError,HTTPError:Oc.HTTPError,MaxRedirectsError:Oc.MaxRedirectsError,TimeoutError:Oc.TimeoutError,ParseError:Oc.ParseError,CancelError:Oc.CancelError,UnsupportedProtocolError:Oc.UnsupportedProtocolError,UploadError:Oc.UploadError},ttt=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:lR}=cR.default,AAe=(...e)=>{let t;for(let r of e)t=lR(void 0,r,t);return t},rtt=e=>e.isStream?new cR.default(void 0,e):Oc.default(e),ntt=e=>"defaults"in e&&"options"in e.defaults,itt=["get","post","put","patch","head","delete"];Lc.defaultHandler=(e,t)=>t(e);var pAe=(e,t)=>{if(e)for(let r of e)r(t)},hAe=e=>{e._rawHandlers=e.handlers,e.handlers=e.handlers.map(s=>(a,n)=>{let c,f=s(a,p=>(c=n(p),c));if(f!==c&&!a.isStream&&c){let p=f,{then:h,catch:E,finally:C}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(c)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(c)),p.then=h,p.catch=E,p.finally=C}return f});let t=(s,a={},n)=>{var c,f;let p=0,h=E=>e.handlers[p++](E,p===e.handlers.length?rtt:h);if(fAe.default.plainObject(s)){let E={...s,...a};cR.setNonEnumerableProperties([s,a],E),a=E,s=void 0}try{let E;try{pAe(e.options.hooks.init,a),pAe((c=a.hooks)===null||c===void 0?void 0:c.init,a)}catch(S){E=S}let C=lR(s,a,n??e.options);if(C[cR.kIsNormalizedAlready]=!0,E)throw new Oc.RequestError(E.message,E,C);return h(C)}catch(E){if(a.isStream)throw E;return Zet.default(E,e.options.hooks.beforeError,(f=a.hooks)===null||f===void 0?void 0:f.beforeError)}};t.extend=(...s)=>{let a=[e.options],n=[...e._rawHandlers],c;for(let f of s)ntt(f)?(a.push(f.defaults.options),n.push(...f.defaults._rawHandlers),c=f.defaults.mutableDefaults):(a.push(f),"handlers"in f&&n.push(...f.handlers),c=f.mutableDefaults);return n=n.filter(f=>f!==Lc.defaultHandler),n.length===0&&n.push(Lc.defaultHandler),hAe({options:AAe(...a),handlers:n,mutableDefaults:!!c})};let r=async function*(s,a){let n=lR(s,a,e.options);n.resolveBodyOnly=!1;let c=n.pagination;if(!fAe.default.object(c))throw new TypeError("`options.pagination` must be implemented");let f=[],{countLimit:p}=c,h=0;for(;h{let n=[];for await(let c of r(s,a))n.push(c);return n},t.paginate.each=r,t.stream=(s,a)=>t(s,{...a,isStream:!0});for(let s of itt)t[s]=(a,n)=>t(a,{...n,method:s}),t.stream[s]=(a,n)=>t(a,{...n,method:s,isStream:!0});return Object.assign(t,ett),Object.defineProperty(t,"defaults",{value:e.mutableDefaults?e:$et.default(e),writable:e.mutableDefaults,configurable:e.mutableDefaults,enumerable:!0}),t.mergeOptions=AAe,t};Lc.default=hAe;Xet(uAe(),Lc)});var mAe=G((Mp,uR)=>{"use strict";var stt=Mp&&Mp.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),gAe=Mp&&Mp.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&stt(t,e,r)};Object.defineProperty(Mp,"__esModule",{value:!0});var ott=Ie("url"),dAe=WH(),att={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>e.request.options.responseType==="json"?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,"link"))return!1;let t=e.headers.link.split(","),r;for(let s of t){let a=s.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new ott.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[dAe.defaultHandler],mutableDefaults:!1},YH=dAe.default(att);Mp.default=YH;uR.exports=YH;uR.exports.default=YH;uR.exports.__esModule=!0;gAe(WH(),Mp);gAe(jH(),Mp)});var nn={};Vt(nn,{Method:()=>BAe,del:()=>Att,get:()=>KH,getNetworkSettings:()=>wAe,post:()=>zH,put:()=>ftt,request:()=>zB});async function VH(e){return Zl(EAe,e,()=>le.readFilePromise(e).then(t=>(EAe.set(e,t),t)))}function utt({statusCode:e,statusMessage:t},r){let s=jt(r,e,gt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${e}`;return ZE(r,`${s}${t?` (${t})`:""}`,a)}async function fR(e,{configuration:t,customErrorMessage:r}){try{return await e}catch(s){if(s.name!=="HTTPError")throw s;let a=r?.(s,t)??s.response.body?.error;a==null&&(s.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=s.message),s.code==="ETIMEDOUT"&&s.event==="socket"&&(a+=`(can be increased via ${jt(t,"httpTimeout",gt.SETTING)})`);let n=new Lt(35,a,c=>{s.response&&c.reportError(35,` ${Zf(t,{label:"Response Code",value:Uu(gt.NO_HINT,utt(s.response,t))})}`),s.request&&(c.reportError(35,` ${Zf(t,{label:"Request Method",value:Uu(gt.NO_HINT,s.request.options.method)})}`),c.reportError(35,` ${Zf(t,{label:"Request URL",value:Uu(gt.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&c.reportError(35,` ${Zf(t,{label:"Request Redirects",value:Uu(gt.NO_HINT,L4(t,s.request.redirects,gt.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&c.reportError(35,` ${Zf(t,{label:"Request Retry Count",value:Uu(gt.NO_HINT,`${jt(t,s.request.retryCount,gt.NUMBER)} (can be increased via ${jt(t,"httpRetry",gt.SETTING)})`)})}`)});throw n.originalError=s,n}}function wAe(e,t){let r=[...t.configuration.get("networkSettings")].sort(([c],[f])=>f.length-c.length),s={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(s),n=typeof e=="string"?new URL(e):e;for(let[c,f]of r)if(JH.default.isMatch(n.hostname,c))for(let p of a){let h=f.get(p);h!==null&&typeof s[p]>"u"&&(s[p]=h)}for(let c of a)typeof s[c]>"u"&&(s[c]=t.configuration.get(c));return s}async function zB(e,t,{configuration:r,headers:s,jsonRequest:a,jsonResponse:n,method:c="GET",wrapNetworkRequest:f}){let p={target:e,body:t,configuration:r,headers:s,jsonRequest:a,jsonResponse:n,method:c},h=async()=>await ptt(e,t,p),E=typeof f<"u"?await f(h,p):h;return await(await r.reduceHook(S=>S.wrapNetworkRequest,E,p))()}async function KH(e,{configuration:t,jsonResponse:r,customErrorMessage:s,wrapNetworkRequest:a,...n}){let c=()=>fR(zB(e,null,{configuration:t,wrapNetworkRequest:a,...n}),{configuration:t,customErrorMessage:s}).then(p=>p.body),f=await(typeof a<"u"?c():Zl(yAe,e,()=>c().then(p=>(yAe.set(e,p),p))));return r?JSON.parse(f.toString()):f}async function ftt(e,t,{customErrorMessage:r,...s}){return(await fR(zB(e,t,{...s,method:"PUT"}),{customErrorMessage:r,configuration:s.configuration})).body}async function zH(e,t,{customErrorMessage:r,...s}){return(await fR(zB(e,t,{...s,method:"POST"}),{customErrorMessage:r,configuration:s.configuration})).body}async function Att(e,{customErrorMessage:t,...r}){return(await fR(zB(e,null,{...r,method:"DELETE"}),{customErrorMessage:t,configuration:r.configuration})).body}async function ptt(e,t,{configuration:r,headers:s,jsonRequest:a,jsonResponse:n,method:c="GET"}){let f=typeof e=="string"?new URL(e):e,p=wAe(f,{configuration:r});if(p.enableNetwork===!1)throw new Lt(80,`Request to '${f.href}' has been blocked because of your configuration settings`);if(f.protocol==="http:"&&!JH.default.isMatch(f.hostname,r.get("unsafeHttpWhitelist")))throw new Lt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${f.hostname})`);let h={headers:s,method:c};h.responseType=n?"json":"buffer",t!==null&&(Buffer.isBuffer(t)||!a&&typeof t=="string"?h.body=t:h.json=t);let E=r.get("httpTimeout"),C=r.get("httpRetry"),S=r.get("enableStrictSsl"),x=p.httpsCaFilePath,I=p.httpsCertFilePath,T=p.httpsKeyFilePath,{default:O}=await Promise.resolve().then(()=>et(mAe())),U=x?await VH(x):void 0,V=I?await VH(I):void 0,te=T?await VH(T):void 0,ie={rejectUnauthorized:S,ca:U,cert:V,key:te},ue={http:p.httpProxy?new Yce({proxy:p.httpProxy,proxyRequestOptions:ie}):ltt,https:p.httpsProxy?new Vce({proxy:p.httpsProxy,proxyRequestOptions:ie}):ctt},ae=O.extend({timeout:{socket:E},retry:C,agent:ue,https:{rejectUnauthorized:S,certificateAuthority:U,certificate:V,key:te},...h});return r.getLimit("networkConcurrency")(()=>ae(f))}var IAe,CAe,JH,yAe,EAe,ltt,ctt,BAe,AR=Xe(()=>{Dt();Jce();IAe=Ie("https"),CAe=Ie("http"),JH=et(zo());Fc();Qc();kc();yAe=new Map,EAe=new Map,ltt=new CAe.Agent({keepAlive:!0}),ctt=new IAe.Agent({keepAlive:!0});BAe=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(BAe||{})});var Ui={};Vt(Ui,{availableParallelism:()=>ZH,getArchitecture:()=>XB,getArchitectureName:()=>ytt,getArchitectureSet:()=>XH,getCaller:()=>wtt,major:()=>htt,openUrl:()=>gtt});function mtt(){if(process.platform!=="linux")return null;let e;try{e=le.readFileSync(dtt)}catch{}if(typeof e<"u"){if(e&&(e.includes("GLIBC")||e.includes("GNU libc")||e.includes("GNU C Library")))return"glibc";if(e&&e.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],s=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return A0(r,a=>{let n=a.match(s);if(!n)return A0.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function XB(){return SAe=SAe??{os:(process.env.YARN_IS_TEST_ENV?process.env.YARN_OS_OVERRIDE:void 0)??process.platform,cpu:(process.env.YARN_IS_TEST_ENV?process.env.YARN_CPU_OVERRIDE:void 0)??process.arch,libc:(process.env.YARN_IS_TEST_ENV?process.env.YARN_LIBC_OVERRIDE:void 0)??mtt()}}function ytt(e=XB()){return e.libc?`${e.os}-${e.cpu}-${e.libc}`:`${e.os}-${e.cpu}`}function XH(){let e=XB();return DAe=DAe??{os:[e.os],cpu:[e.cpu],libc:e.libc?[e.libc]:[]}}function Ctt(e){let t=Ett.exec(e);if(!t)return null;let r=t[2]&&t[2].indexOf("native")===0,s=t[2]&&t[2].indexOf("eval")===0,a=Itt.exec(t[2]);return s&&a!=null&&(t[2]=a[1],t[3]=a[2],t[4]=a[3]),{file:r?null:t[2],methodName:t[1]||"",arguments:r?[t[2]]:[],line:t[3]?+t[3]:null,column:t[4]?+t[4]:null}}function wtt(){let t=new Error().stack.split(` +`)[3];return Ctt(t)}function ZH(){return typeof pR.default.availableParallelism<"u"?pR.default.availableParallelism():Math.max(1,pR.default.cpus().length)}var pR,htt,vAe,gtt,dtt,SAe,DAe,Ett,Itt,hR=Xe(()=>{Dt();pR=et(Ie("os"));gR();kc();htt=Number(process.versions.node.split(".")[0]),vAe=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),gtt=typeof vAe<"u"?async e=>{try{return await $H(vAe,[e],{cwd:J.cwd()}),!0}catch{return!1}}:void 0,dtt="/usr/bin/ldd";Ett=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Itt=/\((\S*)(?::(\d+))(?::(\d+))\)/});function sj(e,t,r,s,a){let n=MB(r);if(s.isArray||s.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((c,f)=>ej(e,`${t}[${f}]`,c,s,a)):String(n).split(/,/).map(c=>ej(e,t,c,s,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${t}" cannot be an array`);return ej(e,t,r,s,a)}function ej(e,t,r,s,a){let n=MB(r);switch(s.type){case"ANY":return FQ(n);case"SHAPE":return Dtt(e,t,r,s,a);case"MAP":return btt(e,t,r,s,a)}if(n===null&&!s.isNullable&&s.default!==null)throw new Error(`Non-nullable configuration settings "${t}" cannot be set to null`);if("values"in s&&s.values?.includes(n))return n;let f=(()=>{if(s.type==="BOOLEAN"&&typeof n!="string")return wB(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${t}" to be a string, got ${typeof n}`);let p=Yk(n,{env:e.env});switch(s.type){case"ABSOLUTE_PATH":{let h=a,E=P8(r);return E&&E[0]!=="<"&&(h=J.dirname(E)),J.resolve(h,fe.toPortablePath(p))}case"LOCATOR_LOOSE":return Tp(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return Tp(p);case"BOOLEAN":return wB(p);case"DURATION":return Vk(p,s.unit);default:return p}})();if("values"in s&&s.values&&!s.values.includes(f))throw new Error(`Invalid value, expected one of ${s.values.join(", ")}`);return f}function Dtt(e,t,r,s,a){let n=MB(r);if(typeof n!="object"||Array.isArray(n))throw new it(`Object configuration settings "${t}" must be an object`);let c=oj(e,s,{ignoreArrays:!0});if(n===null)return c;for(let[f,p]of Object.entries(n)){let h=`${t}.${f}`;if(!s.properties[f])throw new it(`Unrecognized configuration settings found: ${t}.${f} - run "yarn config" to see the list of settings supported in Yarn`);c.set(f,sj(e,h,p,s.properties[f],a))}return c}function btt(e,t,r,s,a){let n=MB(r),c=new Map;if(typeof n!="object"||Array.isArray(n))throw new it(`Map configuration settings "${t}" must be an object`);if(n===null)return c;for(let[f,p]of Object.entries(n)){let h=s.normalizeKeys?s.normalizeKeys(f):f,E=`${t}['${h}']`,C=s.valueDefinition;c.set(h,sj(e,E,p,C,a))}return c}function oj(e,t,{ignoreArrays:r=!1}={}){switch(t.type){case"SHAPE":{if(t.isArray&&!r)return[];let s=new Map;for(let[a,n]of Object.entries(t.properties))s.set(a,oj(e,n));return s}case"MAP":return t.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return t.default===null?null:e.projectCwd===null?Array.isArray(t.default)?t.default.map(s=>J.normalize(s)):J.isAbsolute(t.default)?J.normalize(t.default):t.isNullable?null:void 0:Array.isArray(t.default)?t.default.map(s=>J.resolve(e.projectCwd,s)):J.resolve(e.projectCwd,t.default);case"DURATION":return Vk(t.default,t.unit);default:return t.default}}function mR(e,t,r){if(t.type==="SECRET"&&typeof e=="string"&&r.hideSecrets)return Stt;if(t.type==="ABSOLUTE_PATH"&&typeof e=="string"&&r.getNativePaths)return fe.fromPortablePath(e);if(t.isArray&&Array.isArray(e)){let s=[];for(let a of e)s.push(mR(a,t,r));return s}if(t.type==="MAP"&&e instanceof Map){if(e.size===0)return;let s=new Map;for(let[a,n]of e.entries()){let c=mR(n,t.valueDefinition,r);typeof c<"u"&&s.set(a,c)}return s}if(t.type==="SHAPE"&&e instanceof Map){if(e.size===0)return;let s=new Map;for(let[a,n]of e.entries()){let c=t.properties[a],f=mR(n,c,r);typeof f<"u"&&s.set(a,f)}return s}return e}function Ptt(){let e={};for(let[t,r]of Object.entries(process.env))t=t.toLowerCase(),t.startsWith(yR)&&(t=(0,PAe.default)(t.slice(yR.length)),e[t]=r);return e}function rj(){let e=`${yR}rc_filename`;for(let[t,r]of Object.entries(process.env))if(t.toLowerCase()===e&&typeof r=="string")return r;return nj}async function bAe(e){try{return await le.readFilePromise(e)}catch{return Buffer.of()}}async function xtt(e,t){return Buffer.compare(...await Promise.all([bAe(e),bAe(t)]))===0}async function ktt(e,t){let[r,s]=await Promise.all([le.statPromise(e),le.statPromise(t)]);return r.dev===s.dev&&r.ino===s.ino}async function Rtt({configuration:e,selfPath:t}){let r=e.get("yarnPath");return e.get("ignorePath")||r===null||r===t||await Qtt(r,t)?null:r}var PAe,Up,xAe,kAe,QAe,tj,Btt,ZB,vtt,_p,yR,nj,Stt,SI,RAe,ij,ER,dR,Qtt,ze,$B=Xe(()=>{Dt();vc();PAe=et(Vte()),Up=et(Rd());Yt();xAe=et(_re()),kAe=Ie("module"),QAe=et(Nd()),tj=Ie("stream");Sce();cI();I8();C8();w8();Lce();B8();$d();jce();OQ();Qc();E0();AR();kc();hR();Np();Zo();Btt=function(){if(!Up.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let e=fe.toPortablePath(process.env.GITHUB_EVENT_PATH),t;try{t=le.readJsonSync(e)}catch{return!1}return!(!("repository"in t)||!t.repository||(t.repository.private??!0))}(),ZB=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),vtt=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","osOverride","cpuOverride","libcOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreScripts","ignoreCwd"]),_p=/^(?!v)[a-z0-9._-]+$/i,yR="yarn_",nj=".yarnrc.yml",Stt="********",SI=(C=>(C.ANY="ANY",C.BOOLEAN="BOOLEAN",C.ABSOLUTE_PATH="ABSOLUTE_PATH",C.LOCATOR="LOCATOR",C.LOCATOR_LOOSE="LOCATOR_LOOSE",C.NUMBER="NUMBER",C.STRING="STRING",C.DURATION="DURATION",C.SECRET="SECRET",C.SHAPE="SHAPE",C.MAP="MAP",C))(SI||{}),RAe=gt,ij=(c=>(c.MILLISECONDS="ms",c.SECONDS="s",c.MINUTES="m",c.HOURS="h",c.DAYS="d",c.WEEKS="w",c))(ij||{}),ER=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(ER||{}),dR={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:k8()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:rj()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:Xk,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:O4,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Up.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Up.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Up.isCI,defaultText:""},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request",type:"DURATION",unit:"ms",default:"1m"},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:ZH()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values($k),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads",type:"DURATION",unit:"d",default:"7d"},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Up.isPR&&Btt,defaultText:""},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!1},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},enableCacheClean:{description:"If false, disallows the `cache clean` command",type:"BOOLEAN",default:!0},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};Qtt=process.platform==="win32"?xtt:ktt;ze=class e{constructor(t){this.isCI=Up.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=t}static{this.deleteProperty=Symbol()}static{this.telemetry=null}static create(t,r,s){let a=new e(t);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(dR);let n=typeof s<"u"?s:r instanceof Map?r:new Map;for(let[c,f]of n)a.activatePlugin(c,f);return a}static async find(t,r,{strict:s=!0,usePathCheck:a=null,useRc:n=!0}={}){let c=Ptt();delete c.rcFilename;let f=new e(t),p=await e.findRcFiles(t),h=await e.findFolderRcFile(hI());h&&(p.find(de=>de.path===h.path)||p.unshift(h));let E=Hce(p.map(ae=>[ae.path,ae.data])),C=vt.dot,S=new Set(Object.keys(dR)),x=({yarnPath:ae,ignorePath:de,injectEnvironmentFiles:Ae})=>({yarnPath:ae,ignorePath:de,injectEnvironmentFiles:Ae}),I=({yarnPath:ae,ignorePath:de,injectEnvironmentFiles:Ae,...Ce})=>{let Ee={};for(let[g,Se]of Object.entries(Ce))S.has(g)&&(Ee[g]=Se);return Ee},T=({yarnPath:ae,ignorePath:de,...Ae})=>{let Ce={};for(let[Ee,g]of Object.entries(Ae))S.has(Ee)||(Ce[Ee]=g);return Ce};if(f.importSettings(x(dR)),f.useWithSource("",x(c),t,{strict:!1}),E){let[ae,de]=E;f.useWithSource(ae,x(de),C,{strict:!1})}if(a){if(await Rtt({configuration:f,selfPath:a})!==null)return f;f.useWithSource("",{ignorePath:!0},t,{strict:!1,overwrite:!0})}let O=await e.findProjectCwd(t);f.startingCwd=t,f.projectCwd=O;let U=Object.assign(Object.create(null),process.env);f.env=U;let V=await Promise.all(f.get("injectEnvironmentFiles").map(async ae=>{let de=ae.endsWith("?")?await le.readFilePromise(ae.slice(0,-1),"utf8").catch(()=>""):await le.readFilePromise(ae,"utf8");return(0,xAe.parse)(de)}));for(let ae of V)for(let[de,Ae]of Object.entries(ae))f.env[de]=Yk(Ae,{env:U});if(f.importSettings(I(dR)),f.useWithSource("",I(c),t,{strict:s}),E){let[ae,de]=E;f.useWithSource(ae,I(de),C,{strict:s})}let te=ae=>"default"in ae?ae.default:ae,ie=new Map([["@@core",vce]]);if(r!==null)for(let ae of r.plugins.keys())ie.set(ae,te(r.modules.get(ae)));for(let[ae,de]of ie)f.activatePlugin(ae,de);let ue=new Map([]);if(r!==null){let ae=new Map;for(let[Ce,Ee]of r.modules)ae.set(Ce,()=>Ee);let de=new Set,Ae=async(Ce,Ee)=>{let{factory:g,name:Se}=kp(Ce);if(!g||de.has(Se))return;let Be=new Map(ae),me=Z=>{if((0,kAe.isBuiltin)(Z))return kp(Z);if(Be.has(Z))return Be.get(Z)();throw new it(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ce=await VE(async()=>te(await g(me)),Z=>`${Z} (when initializing ${Se}, defined in ${Ee})`);ae.set(Se,()=>ce),de.add(Se),ue.set(Se,ce)};if(c.plugins)for(let Ce of c.plugins.split(";")){let Ee=J.resolve(t,fe.toPortablePath(Ce));await Ae(Ee,"")}for(let{path:Ce,cwd:Ee,data:g}of p)if(n&&Array.isArray(g.plugins))for(let Se of g.plugins){let Be=typeof Se!="string"?Se.path:Se,me=Se?.spec??"",ce=Se?.checksum??"";if(ZB.has(me))continue;let Z=J.resolve(Ee,fe.toPortablePath(Be));if(!await le.existsPromise(Z)){if(!me){let st=jt(f,J.basename(Z,".cjs"),gt.NAME),_=jt(f,".gitignore",gt.NAME),tt=jt(f,f.values.get("rcFilename"),gt.NAME),Ne=jt(f,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",gt.URL);throw new it(`Missing source for the ${st} plugin - please try to remove the plugin from ${tt} then reinstall it manually. This error usually occurs because ${_} is incorrect, check ${Ne} to make sure your plugin folder isn't gitignored.`)}if(!me.match(/^https?:/)){let st=jt(f,J.basename(Z,".cjs"),gt.NAME),_=jt(f,f.values.get("rcFilename"),gt.NAME);throw new it(`Failed to recognize the source for the ${st} plugin - please try to delete the plugin from ${_} then reinstall it manually.`)}let De=await KH(me,{configuration:f}),Qe=fs(De);if(ce&&ce!==Qe){let st=jt(f,J.basename(Z,".cjs"),gt.NAME),_=jt(f,f.values.get("rcFilename"),gt.NAME),tt=jt(f,`yarn plugin import ${me}`,gt.CODE);throw new it(`Failed to fetch the ${st} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${_} then run ${tt} to reimport it.`)}await le.mkdirPromise(J.dirname(Z),{recursive:!0}),await le.writeFilePromise(Z,De)}await Ae(Z,Ce)}}for(let[ae,de]of ue)f.activatePlugin(ae,de);if(f.useWithSource("",T(c),t,{strict:s}),E){let[ae,de]=E;f.useWithSource(ae,T(de),C,{strict:s})}return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),f}static async findRcFiles(t){let r=rj(),s=[],a=t,n=null;for(;a!==n;){n=a;let c=J.join(n,r);if(le.existsSync(c)){let f,p;try{p=await le.readFilePromise(c,"utf8"),f=cs(p)}catch{let h="";throw p?.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(h=" (in particular, make sure you list the colons after each key name)"),new it(`Parse error when loading ${c}; please check it's proper Yaml${h}`)}s.unshift({path:c,cwd:n,data:f})}a=J.dirname(n)}return s}static async findFolderRcFile(t){let r=J.join(t,Er.rc),s;try{s=await le.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=cs(s);return{path:r,cwd:t,data:a}}static async findProjectCwd(t){let r=null,s=t,a=null;for(;s!==a;){if(a=s,le.existsSync(J.join(a,Er.lockfile)))return a;le.existsSync(J.join(a,Er.manifest))&&(r=a),s=J.dirname(a)}return r}static async updateConfiguration(t,r,s={}){let a=rj(),n=J.join(t,a),c=le.existsSync(n)?cs(await le.readFilePromise(n,"utf8")):{},f=!1,p;if(typeof r=="function"){try{p=r(c)}catch{p=r({})}if(p===c)return!1}else{p=c;for(let h of Object.keys(r)){let E=c[h],C=r[h],S;if(typeof C=="function")try{S=C(E)}catch{S=C(void 0)}else S=C;E!==S&&(S===e.deleteProperty?delete p[h]:p[h]=S,f=!0)}if(!f)return!1}return await le.changeFilePromise(n,fl(p),{automaticNewlines:!0}),!0}static async addPlugin(t,r){r.length!==0&&await e.updateConfiguration(t,s=>{let a=s.plugins??[];if(a.length===0)return{...s,plugins:r};let n=[],c=[...r];for(let f of a){let p=typeof f!="string"?f.path:f,h=c.find(E=>E.path===p);h?(n.push(h),c=c.filter(E=>E!==h)):n.push(f)}return n.push(...c),{...s,plugins:n}})}static async updateHomeConfiguration(t){let r=hI();return await e.updateConfiguration(r,t)}activatePlugin(t,r){this.plugins.set(t,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(t){for(let[r,s]of Object.entries(t))if(s!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,s),this.values.set(r,oj(this,s))}}useWithSource(t,r,s,a){try{this.use(t,r,s,a)}catch(n){throw n.message+=` (in ${jt(this,t,gt.PATH)})`,n}}use(t,r,s,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let c of["enableStrictSettings",...Object.keys(r)]){let f=r[c],p=P8(f);if(p&&(t=p),typeof f>"u"||c==="plugins"||t===""&&vtt.has(c))continue;if(c==="rcFilename")throw new it(`The rcFilename settings can only be set via ${`${yR}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(c);if(!h){let C=hI(),S=t[0]!=="<"?J.dirname(t):null;if(a&&!(S!==null?C===S:!1))throw new it(`Unrecognized or legacy configuration settings found: ${c} - run "yarn config" to see the list of settings supported in Yarn`);this.invalid.set(c,t);continue}if(this.sources.has(c)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=sj(this,c,f,h,s)}catch(C){throw C.message+=` in ${jt(this,t,gt.PATH)}`,C}if(c==="enableStrictSettings"&&t!==""){a=E;continue}if(h.type==="MAP"){let C=this.values.get(c);this.values.set(c,new Map(n?[...C,...E]:[...E,...C])),this.sources.set(c,`${this.sources.get(c)}, ${t}`)}else if(h.isArray&&h.concatenateValues){let C=this.values.get(c);this.values.set(c,n?[...C,...E]:[...E,...C]),this.sources.set(c,`${this.sources.get(c)}, ${t}`)}else this.values.set(c,E),this.sources.set(c,t)}}get(t){if(!this.values.has(t))throw new Error(`Invalid configuration key "${t}"`);return this.values.get(t)}getSpecial(t,{hideSecrets:r=!1,getNativePaths:s=!1}){let a=this.get(t),n=this.settings.get(t);if(typeof n>"u")throw new it(`Couldn't find a configuration settings named "${t}"`);return mR(a,n,{hideSecrets:r,getNativePaths:s})}getSubprocessStreams(t,{header:r,prefix:s,report:a}){let n,c,f=le.createWriteStream(t);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${s} ${jt(this,"STDOUT","green")}`),h=a.createStreamReporter(`${s} ${jt(this,"STDERR","red")}`);n=new tj.PassThrough,n.pipe(p),n.pipe(f),c=new tj.PassThrough,c.pipe(h),c.pipe(f)}else n=f,c=f,typeof r<"u"&&n.write(`${r} +`);return{stdout:n,stderr:c}}makeResolver(){let t=[];for(let r of this.plugins.values())for(let s of r.resolvers||[])t.push(new s);return new em([new TQ,new Ii,...t])}makeFetcher(){let t=[];for(let r of this.plugins.values())for(let s of r.fetchers||[])t.push(new s);return new uI([new fI,new AI,...t])}getLinkers(){let t=[];for(let r of this.plugins.values())for(let s of r.linkers||[])t.push(new s);return t}getSupportedArchitectures(){let t=XB(),r=this.get("supportedArchitectures"),s=r.get("os");s!==null&&(s=s.map(c=>c==="current"?t.os:c));let a=r.get("cpu");a!==null&&(a=a.map(c=>c==="current"?t.cpu:c));let n=r.get("libc");return n!==null&&(n=Xl(n,c=>c==="current"?t.libc??Xl.skip:c)),{os:s,cpu:a,libc:n}}isInteractive({interactive:t,stdout:r}){return r.isTTY?t??this.get("preferInteractive"):!1}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let t=this.packageExtensions,r=(s,a,{userProvided:n=!1}={})=>{if(!yl(s.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let c=new _t;c.load(a,{yamlCompatibilityMode:!0});let f=CB(t,s.identHash),p=[];f.push([s.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:s};for(let E of c.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of c.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,C]of c.peerDependenciesMeta)for(let[S,x]of Object.entries(C))p.push({...h,type:"PeerDependencyMeta",selector:E,key:S,value:x})};await this.triggerHook(s=>s.registerPackageExtensions,this,r);for(let[s,a]of this.get("packageExtensions"))r(I0(s,!0),Wk(a),{userProvided:!0});return t}normalizeLocator(t){return yl(t.reference)?Js(t,`${this.get("defaultProtocol")}${t.reference}`):_p.test(t.reference)?Js(t,`${this.get("defaultProtocol")}${t.reference}`):t}normalizeDependency(t){return yl(t.range)?Mn(t,`${this.get("defaultProtocol")}${t.range}`):_p.test(t.range)?Mn(t,`${this.get("defaultProtocol")}${t.range}`):t}normalizeDependencyMap(t){return new Map([...t].map(([r,s])=>[r,this.normalizeDependency(s)]))}normalizePackage(t,{packageExtensions:r}){let s=xB(t),a=r.get(t.identHash);if(typeof a<"u"){let c=t.version;if(c!==null){for(let[f,p]of a)if(tA(c,f))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof s.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",s.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof s.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",s.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=s.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",Zl(s.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:P4(h)}}}let n=c=>c.scope?`${c.scope}__${c.name}`:`${c.name}`;for(let c of s.peerDependenciesMeta.keys()){let f=xa(c);s.peerDependencies.has(f.identHash)||s.peerDependencies.set(f.identHash,Mn(f,"*"))}for(let c of s.peerDependencies.values()){if(c.scope==="types")continue;let f=n(c),p=ka("types",f),h=fn(p);s.peerDependencies.has(p.identHash)||s.peerDependenciesMeta.has(h)||s.dependencies.has(p.identHash)||(s.peerDependencies.set(p.identHash,Mn(p,"*")),s.peerDependenciesMeta.set(h,{optional:!0}))}return s.dependencies=new Map(Vs(s.dependencies,([,c])=>dl(c))),s.peerDependencies=new Map(Vs(s.peerDependencies,([,c])=>dl(c))),s}getLimit(t){return Zl(this.limits,t,()=>(0,QAe.default)(this.get(t)))}async triggerHook(t,...r){for(let s of this.plugins.values()){let a=s.hooks;if(!a)continue;let n=t(a);n&&await n(...r)}}async triggerMultipleHooks(t,r){for(let s of r)await this.triggerHook(t,...s)}async reduceHook(t,r,...s){let a=r;for(let n of this.plugins.values()){let c=n.hooks;if(!c)continue;let f=t(c);f&&(a=await f(a,...s))}return a}async firstHook(t,...r){for(let s of this.plugins.values()){let a=s.hooks;if(!a)continue;let n=t(a);if(!n)continue;let c=await n(...r);if(typeof c<"u")return c}return null}}});var qr={};Vt(qr,{EndStrategy:()=>uj,ExecError:()=>IR,PipeError:()=>ev,execvp:()=>$H,pipevp:()=>qu});function im(e){return e!==null&&typeof e.fd=="number"}function aj(){}function lj(){for(let e of sm)e.kill()}async function qu(e,t,{cwd:r,env:s=process.env,strict:a=!1,stdin:n=null,stdout:c,stderr:f,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":im(n)&&(h[0]=n),im(c)&&(h[1]=c),im(f)&&(h[2]=f);let E=(0,cj.default)(e,t,{cwd:fe.fromPortablePath(r),env:{...s,PWD:fe.fromPortablePath(r)},stdio:h});sm.add(E),sm.size===1&&(process.on("SIGINT",aj),process.on("SIGTERM",lj)),!im(n)&&n!==null&&n.pipe(E.stdin),im(c)||E.stdout.pipe(c,{end:!1}),im(f)||E.stderr.pipe(f,{end:!1});let C=()=>{for(let S of new Set([c,f]))im(S)||S.end()};return new Promise((S,x)=>{E.on("error",I=>{sm.delete(E),sm.size===0&&(process.off("SIGINT",aj),process.off("SIGTERM",lj)),(p===2||p===1)&&C(),x(I)}),E.on("close",(I,T)=>{sm.delete(E),sm.size===0&&(process.off("SIGINT",aj),process.off("SIGTERM",lj)),(p===2||p===1&&I!==0)&&C(),I===0||!a?S({code:fj(I,T)}):x(new ev({fileName:e,code:I,signal:T}))})})}async function $H(e,t,{cwd:r,env:s=process.env,encoding:a="utf8",strict:n=!1}){let c=["ignore","pipe","pipe"],f=[],p=[],h=fe.fromPortablePath(r);typeof s.PWD<"u"&&(s={...s,PWD:h});let E=(0,cj.default)(e,t,{cwd:h,env:s,stdio:c});return E.stdout.on("data",C=>{f.push(C)}),E.stderr.on("data",C=>{p.push(C)}),await new Promise((C,S)=>{E.on("error",x=>{let I=ze.create(r),T=jt(I,e,gt.PATH);S(new Lt(1,`Process ${T} failed to spawn`,O=>{O.reportError(1,` ${Zf(I,{label:"Thrown Error",value:Uu(gt.NO_HINT,x.message)})}`)}))}),E.on("close",(x,I)=>{let T=a==="buffer"?Buffer.concat(f):Buffer.concat(f).toString(a),O=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);x===0||!n?C({code:fj(x,I),stdout:T,stderr:O}):S(new IR({fileName:e,code:x,signal:I,stdout:T,stderr:O}))})})}function fj(e,t){let r=Ttt.get(t);return typeof r<"u"?128+r:e??1}function Ftt(e,t,{configuration:r,report:s}){s.reportError(1,` ${Zf(r,e!==null?{label:"Exit Code",value:Uu(gt.NUMBER,e)}:{label:"Exit Signal",value:Uu(gt.CODE,t)})}`)}var cj,uj,ev,IR,sm,Ttt,gR=Xe(()=>{Dt();cj=et(SU());$B();Fc();Qc();uj=(s=>(s[s.Never=0]="Never",s[s.ErrorCode=1]="ErrorCode",s[s.Always=2]="Always",s))(uj||{}),ev=class extends Lt{constructor({fileName:t,code:r,signal:s}){let a=ze.create(J.cwd()),n=jt(a,t,gt.PATH);super(1,`Child ${n} reported an error`,c=>{Ftt(r,s,{configuration:a,report:c})}),this.code=fj(r,s)}},IR=class extends ev{constructor({fileName:t,code:r,signal:s,stdout:a,stderr:n}){super({fileName:t,code:r,signal:s}),this.stdout=a,this.stderr=n}};sm=new Set;Ttt=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function FAe(e){TAe=e}function tv(){return typeof Aj>"u"&&(Aj=TAe()),Aj}var Aj,TAe,pj=Xe(()=>{TAe=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var NAe=G((CR,gj)=>{var Ntt=Object.assign({},Ie("fs")),hj=function(){var e=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(e=e||__filename),function(t){t=t||{};var r=typeof t<"u"?t:{},s,a;r.ready=new Promise(function(Ke,ot){s=Ke,a=ot});var n={},c;for(c in r)r.hasOwnProperty(c)&&(n[c]=r[c]);var f=[],p="./this.program",h=function(Ke,ot){throw ot},E=!1,C=!0,S="";function x(Ke){return r.locateFile?r.locateFile(Ke,S):S+Ke}var I,T,O,U;C&&(E?S=Ie("path").dirname(S)+"/":S=__dirname+"/",I=function(ot,St){var lr=Ga(ot);return lr?St?lr:lr.toString():(O||(O=Ntt),U||(U=Ie("path")),ot=U.normalize(ot),O.readFileSync(ot,St?null:"utf8"))},T=function(ot){var St=I(ot,!0);return St.buffer||(St=new Uint8Array(St)),Se(St.buffer),St},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),f=process.argv.slice(2),h=function(Ke){process.exit(Ke)},r.inspect=function(){return"[Emscripten Module object]"});var V=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(c in n)n.hasOwnProperty(c)&&(r[c]=n[c]);n=null,r.arguments&&(f=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var ie=0,ue=function(Ke){ie=Ke},ae;r.wasmBinary&&(ae=r.wasmBinary);var de=r.noExitRuntime||!0;typeof WebAssembly!="object"&&ns("no native wasm support detected");function Ae(Ke,ot,St){switch(ot=ot||"i8",ot.charAt(ot.length-1)==="*"&&(ot="i32"),ot){case"i1":return je[Ke>>0];case"i8":return je[Ke>>0];case"i16":return dh((Ke>>1)*2);case"i32":return ao((Ke>>2)*4);case"i64":return ao((Ke>>2)*4);case"float":return gf((Ke>>2)*4);case"double":return gh((Ke>>3)*8);default:ns("invalid type for getValue: "+ot)}return null}var Ce,Ee=!1,g;function Se(Ke,ot){Ke||ns("Assertion failed: "+ot)}function Be(Ke){var ot=r["_"+Ke];return Se(ot,"Cannot call unknown function "+Ke+", make sure it is exported"),ot}function me(Ke,ot,St,lr,ee){var ye={string:function(qi){var Fn=0;if(qi!=null&&qi!==0){var Xa=(qi.length<<2)+1;Fn=Bi(Xa),st(qi,Fn,Xa)}return Fn},array:function(qi){var Fn=Bi(qi.length);return Ne(qi,Fn),Fn}};function Oe(qi){return ot==="string"?De(qi):ot==="boolean"?!!qi:qi}var mt=Be(Ke),Et=[],bt=0;if(lr)for(var tr=0;tr=St)&&Re[lr];)++lr;return Z.decode(Re.subarray(Ke,lr))}function Qe(Ke,ot,St,lr){if(!(lr>0))return 0;for(var ee=St,ye=St+lr-1,Oe=0;Oe=55296&&mt<=57343){var Et=Ke.charCodeAt(++Oe);mt=65536+((mt&1023)<<10)|Et&1023}if(mt<=127){if(St>=ye)break;ot[St++]=mt}else if(mt<=2047){if(St+1>=ye)break;ot[St++]=192|mt>>6,ot[St++]=128|mt&63}else if(mt<=65535){if(St+2>=ye)break;ot[St++]=224|mt>>12,ot[St++]=128|mt>>6&63,ot[St++]=128|mt&63}else{if(St+3>=ye)break;ot[St++]=240|mt>>18,ot[St++]=128|mt>>12&63,ot[St++]=128|mt>>6&63,ot[St++]=128|mt&63}}return ot[St]=0,St-ee}function st(Ke,ot,St){return Qe(Ke,Re,ot,St)}function _(Ke){for(var ot=0,St=0;St=55296&&lr<=57343&&(lr=65536+((lr&1023)<<10)|Ke.charCodeAt(++St)&1023),lr<=127?++ot:lr<=2047?ot+=2:lr<=65535?ot+=3:ot+=4}return ot}function tt(Ke){var ot=_(Ke)+1,St=Ya(ot);return St&&Qe(Ke,je,St,ot),St}function Ne(Ke,ot){je.set(Ke,ot)}function ke(Ke,ot){return Ke%ot>0&&(Ke+=ot-Ke%ot),Ke}var be,je,Re,ct,Me,P,w,b,y,F;function z(Ke){be=Ke,r.HEAP_DATA_VIEW=F=new DataView(Ke),r.HEAP8=je=new Int8Array(Ke),r.HEAP16=ct=new Int16Array(Ke),r.HEAP32=P=new Int32Array(Ke),r.HEAPU8=Re=new Uint8Array(Ke),r.HEAPU16=Me=new Uint16Array(Ke),r.HEAPU32=w=new Uint32Array(Ke),r.HEAPF32=b=new Float32Array(Ke),r.HEAPF64=y=new Float64Array(Ke)}var X=r.INITIAL_MEMORY||16777216,$,se=[],xe=[],Fe=[],ut=!1;function Ct(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Pt(r.preRun.shift());Ns(se)}function qt(){ut=!0,Ns(xe)}function ir(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Pr(r.postRun.shift());Ns(Fe)}function Pt(Ke){se.unshift(Ke)}function dn(Ke){xe.unshift(Ke)}function Pr(Ke){Fe.unshift(Ke)}var Cr=0,Or=null,on=null;function li(Ke){Cr++,r.monitorRunDependencies&&r.monitorRunDependencies(Cr)}function Do(Ke){if(Cr--,r.monitorRunDependencies&&r.monitorRunDependencies(Cr),Cr==0&&(Or!==null&&(clearInterval(Or),Or=null),on)){var ot=on;on=null,ot()}}r.preloadedImages={},r.preloadedAudios={};function ns(Ke){r.onAbort&&r.onAbort(Ke),Ke+="",te(Ke),Ee=!0,g=1,Ke="abort("+Ke+"). Build with -s ASSERTIONS=1 for more info.";var ot=new WebAssembly.RuntimeError(Ke);throw a(ot),ot}var so="data:application/octet-stream;base64,";function bo(Ke){return Ke.startsWith(so)}var ji="data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsiAw0ACwsgAUEHSQ0BA0AgACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAQQhqIQAgAkEIaiECIARBCGsiBA0ACwwBCyAERQ0AIAAgASAEED8hAAsgAAvyCAEXfyAAKAJoIgwgACgCMEGGAmsiBWtBACAFIAxJGyENIAAoAnQhAiAAKAKQASEPIAAoAkgiDiAMaiIJIAAoAnAiBUECIAUbIgVBAWsiBmoiAy0AASESIAMtAAAhEyAGIA5qIQZBAyEDIAAoApQBIRYgACgCPCEUIAAoAkwhECAAKAI4IRECQAJ/IAVBA0kEQCANIQggDgwBCyAAIABBACAJLQABIAAoAnwRAAAgCS0AAiAAKAJ8EQAAIQoDQCAAIAogAyAJai0AACAAKAJ8EQAAIQogACgCUCAKQQF0ai8BACIIIAEgCCABQf//A3FJIggbIQEgA0ECayAHIAgbIQcgA0EBaiIDIAVNDQALIAFB//8DcSAHIA1qIghB//8DcU0NASAGIAdB//8DcSIDayEGIA4gA2sLIQMCQAJAIAwgAUH//wNxTQ0AIAIgAkECdiAFIA9JGyEKIA1B//8DcSEVIAlBAmohDyAJQQRrIRcDQAJAAkAgBiABQf//A3EiC2otAAAgE0cNACAGIAtBAWoiAWotAAAgEkcNACADIAtqIgItAAAgCS0AAEcNACABIANqLQAAIAktAAFGDQELIApBAWsiCkUNAiAQIAsgEXFBAXRqLwEAIgEgCEH//wNxSw0BDAILIAJBAmohAUEAIQQgDyECAkADQCACLQAAIAEtAABHDQEgAi0AASABLQABRwRAIARBAXIhBAwCCyACLQACIAEtAAJHBEAgBEECciEEDAILIAItAAMgAS0AA0cEQCAEQQNyIQQMAgsgAi0ABCABLQAERwRAIARBBHIhBAwCCyACLQAFIAEtAAVHBEAgBEEFciEEDAILIAItAAYgAS0ABkcEQCAEQQZyIQQMAgsgAi0AByABLQAHRwRAIARBB3IhBAwCCyABQQhqIQEgAkEIaiECIARB+AFJIRggBEEIaiEEIBgNAAtBgAIhBAsCQAJAIAUgBEECaiICSQRAIAAgCyAHQf//A3FrIgY2AmwgAiAUSwRAIBQPCyACIBZPBEAgAg8LIAkgBEEBaiIFaiIBLQABIRIgAS0AACETAkAgAkEESQ0AIAIgBmogDE8NACAGQf//A3EhCCAEQQFrIQtBACEDQQAhBwNAIBAgAyAIaiARcUEBdGovAQAiASAGQf//A3FJBEAgAyAVaiABTw0IIAMhByABIQYLIANBAWoiAyALTQ0ACyAAIAAgAEEAIAIgF2oiAS0AACAAKAJ8EQAAIAEtAAEgACgCfBEAACABLQACIAAoAnwRAAAhASAAKAJQIAFBAXRqLwEAIgEgBkH//wNxTwRAIAdB//8DcSEDIAYhAQwDCyAEQQJrIgdB//8DcSIDIBVqIAFPDQYMAgsgAyAFaiEGIAIhBQsgCkEBayIKRQ0DIBAgCyARcUEBdGovAQAiASAIQf//A3FNDQMMAQsgByANaiEIIA4gA2siAyAFaiEGIAIhBQsgDCABQf//A3FLDQALCyAFDwsgAiEFCyAFIAAoAjwiACAAIAVLGwuGBQETfyAAKAJ0IgMgA0ECdiAAKAJwIgNBAiADGyIDIAAoApABSRshByAAKAJoIgogACgCMEGGAmsiBWtB//8DcUEAIAUgCkkbIQwgACgCSCIIIApqIgkgA0EBayICaiIFLQABIQ0gBS0AACEOIAlBAmohBSACIAhqIQsgACgClAEhEiAAKAI8IQ8gACgCTCEQIAAoAjghESAAKAKIAUEFSCETA0ACQCAKIAFB//8DcU0NAANAAkACQCALIAFB//8DcSIGai0AACAORw0AIAsgBkEBaiIBai0AACANRw0AIAYgCGoiAi0AACAJLQAARw0AIAEgCGotAAAgCS0AAUYNAQsgB0EBayIHRQ0CIAwgECAGIBFxQQF0ai8BACIBSQ0BDAILCyACQQJqIQRBACECIAUhAQJAA0AgAS0AACAELQAARw0BIAEtAAEgBC0AAUcEQCACQQFyIQIMAgsgAS0AAiAELQACRwRAIAJBAnIhAgwCCyABLQADIAQtAANHBEAgAkEDciECDAILIAEtAAQgBC0ABEcEQCACQQRyIQIMAgsgAS0ABSAELQAFRwRAIAJBBXIhAgwCCyABLQAGIAQtAAZHBEAgAkEGciECDAILIAEtAAcgBC0AB0cEQCACQQdyIQIMAgsgBEEIaiEEIAFBCGohASACQfgBSSEUIAJBCGohAiAUDQALQYACIQILAkAgAyACQQJqIgFJBEAgACAGNgJsIAEgD0sEQCAPDwsgASASTwRAIAEPCyAIIAJBAWoiA2ohCyADIAlqIgMtAAEhDSADLQAAIQ4gASEDDAELIBMNAQsgB0EBayIHRQ0AIAwgECAGIBFxQQF0ai8BACIBSQ0BCwsgAwvLAQECfwJAA0AgAC0AACABLQAARw0BIAAtAAEgAS0AAUcEQCACQQFyDwsgAC0AAiABLQACRwRAIAJBAnIPCyAALQADIAEtAANHBEAgAkEDcg8LIAAtAAQgAS0ABEcEQCACQQRyDwsgAC0ABSABLQAFRwRAIAJBBXIPCyAALQAGIAEtAAZHBEAgAkEGcg8LIAAtAAcgAS0AB0cEQCACQQdyDwsgAUEIaiEBIABBCGohACACQfgBSSEDIAJBCGohAiADDQALQYACIQILIAIL5wwBB38gAEF/cyEAIAJBF08EQAJAIAFBA3FFDQAgAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAkEBayIEQQAgAUEBaiIDQQNxG0UEQCAEIQIgAyEBDAELIAEtAAEgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohAwJAIAJBAmsiBEUNACADQQNxRQ0AIAEtAAIgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBA2ohAwJAIAJBA2siBEUNACADQQNxRQ0AIAEtAAMgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBBGohASACQQRrIQIMAgsgBCECIAMhAQwBCyAEIQIgAyEBCyACQRRuIgNBbGwhCQJAIANBAWsiCEUEQEEAIQQMAQsgA0EUbCABakEUayEDQQAhBANAIAEoAhAgB3MiB0EWdkH8B3FB0DhqKAIAIAdBDnZB/AdxQdAwaigCACAHQQZ2QfwHcUHQKGooAgAgB0H/AXFBAnRB0CBqKAIAc3NzIQcgASgCDCAGcyIGQRZ2QfwHcUHQOGooAgAgBkEOdkH8B3FB0DBqKAIAIAZBBnZB/AdxQdAoaigCACAGQf8BcUECdEHQIGooAgBzc3MhBiABKAIIIAVzIgVBFnZB/AdxQdA4aigCACAFQQ52QfwHcUHQMGooAgAgBUEGdkH8B3FB0ChqKAIAIAVB/wFxQQJ0QdAgaigCAHNzcyEFIAEoAgQgBHMiBEEWdkH8B3FB0DhqKAIAIARBDnZB/AdxQdAwaigCACAEQQZ2QfwHcUHQKGooAgAgBEH/AXFBAnRB0CBqKAIAc3NzIQQgASgCACAAcyIAQRZ2QfwHcUHQOGooAgAgAEEOdkH8B3FB0DBqKAIAIABBBnZB/AdxQdAoaigCACAAQf8BcUECdEHQIGooAgBzc3MhACABQRRqIQEgCEEBayIIDQALIAMhAQsgAiAJaiECIAEoAhAgASgCDCABKAIIIAEoAgQgASgCACAAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgBHNzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBB/wFxQQJ0QdAYaigCACAFc3MgAEEIdnMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEH/AXFBAnRB0BhqKAIAIAZzcyAAQQh2cyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgB3NzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyEAIAFBFGohAQsgAkEHSwRAA0AgAS0AByABLQAGIAEtAAUgAS0ABCABLQADIAEtAAIgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBCGohASACQQhrIgJBB0sNAAsLAkAgAkUNACACQQFxBH8gAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAUEBaiEBIAJBAWsFIAILIQMgAkEBRg0AA0AgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohASADQQJrIgMNAAsLIABBf3MLwgIBA38jAEEQayIIJAACfwJAIAAEQCAEDQEgBVANAQsgBgRAIAZBADYCBCAGQRI2AgALQQAMAQtBgAEQCSIHRQRAIAYEQCAGQQA2AgQgBkEONgIAC0EADAELIAcgATcDCCAHQgA3AwAgB0EoaiIJECogByAFNwMYIAcgBDYCECAHIAM6AGAgB0EANgJsIAdCADcCZCAAKQMYIQEgCEF/NgIIIAhCjoCAgPAANwMAIAdBECAIECQgAUL/gQGDhCIBNwNwIAcgAadBBnZBAXE6AHgCQCACRQ0AIAkgAhBgQX9KDQAgBxAGQQAMAQsgBhBfIgIEQCAAIAAoAjBBAWo2AjAgAiAHNgIIIAJBATYCBCACIAA2AgAgAkI/IAAgB0EAQgBBDkEBEQoAIgEgAUIAUxs3AxgLIAILIQAgCEEQaiQAIAALYgEBf0E4EAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAFBADYCCCABQgA3AwAgAUIANwMgIAFCgICAgBA3AiwgAUEAOgAoIAFBADYCFCABQgA3AgwgAUEAOwE0IAELuwEBAX4gASkDACICQgKDUEUEQCAAIAEpAxA3AxALIAJCBINQRQRAIAAgASkDGDcDGAsgAkIIg1BFBEAgACABKQMgNwMgCyACQhCDUEUEQCAAIAEoAig2AigLIAJCIINQRQRAIAAgASgCLDYCLAsgAkLAAINQRQRAIAAgAS8BMDsBMAsgAkKAAYNQRQRAIAAgAS8BMjsBMgsgAkKAAoNQRQRAIAAgASgCNDYCNAsgACAAKQMAIAKENwMAQQALGQAgAUUEQEEADwsgACABKAIAIAEzAQQQGws3AQJ/IABBACABG0UEQCAAIAFGDwsgAC8BBCIDIAEvAQRGBH8gACgCACABKAIAIAMQPQVBAQtFCyIBAX8gAUUEQEEADwsgARAJIgJFBEBBAA8LIAIgACABEAcLKQAgACABIAIgAyAEEEUiAEUEQEEADwsgACACQQAgBBA1IQEgABAGIAELcQEBfgJ/AkAgAkJ/VwRAIAMEQCADQQA2AgQgA0EUNgIACwwBCyAAIAEgAhARIgRCf1cEQCADBEAgAyAAKAIMNgIAIAMgACgCEDYCBAsMAQtBACACIARXDQEaIAMEQCADQQA2AgQgA0ERNgIACwtBfwsLNQAgACABIAJBABAmIgBFBEBBfw8LIAMEQCADIAAtAAk6AAALIAQEQCAEIAAoAkQ2AgALQQAL/AECAn8BfiMAQRBrIgMkAAJAIAAgA0EOaiABQYAGQQAQRiIARQRAIAIhAAwBCyADLwEOIgFBBUkEQCACIQAMAQsgAC0AAEEBRwRAIAIhAAwBCyAAIAGtQv//A4MQFyIBRQRAIAIhAAwBCyABEH0aAkAgARAVIAIEfwJ/IAIvAQQhAEEAIAIoAgAiBEUNABpBACAEIABB1IABKAIAEQAACwVBAAtHBEAgAiEADAELIAEgAS0AAAR+IAEpAwggASkDEH0FQgALIgVC//8DgxATIAWnQf//A3FBgBBBABA1IgBFBEAgAiEADAELIAIQEAsgARAICyADQRBqJAAgAAvmDwIIfwJ+IwBB4ABrIgckAEEeQS4gAxshCwJAAkAgAgRAIAIiBSIGLQAABH4gBikDCCAGKQMQfQVCAAsgC61aDQEgBARAIARBADYCBCAEQRM2AgALQn8hDQwCCyABIAutIAcgBBAtIgUNAEJ/IQ0MAQsgBUIEEBMoAABBoxJBqBIgAxsoAABHBEAgBARAIARBADYCBCAEQRM2AgALQn8hDSACDQEgBRAIDAELIABCADcDICAAQQA2AhggAEL/////DzcDECAAQQA7AQwgAEG/hig2AgggAEEBOgAGIABBADsBBCAAQQA2AgAgAEIANwNIIABBgIDYjXg2AkQgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0EAOwEAIABCADcDUCAAIAMEf0EABSAFEAwLOwEIIAAgBRAMOwEKIAAgBRAMOwEMIAAgBRAMNgIQIAUQDCEGIAUQDCEJIAdBADYCWCAHQgA3A1AgB0IANwNIIAcgCUEfcTYCPCAHIAZBC3Y2AjggByAGQQV2QT9xNgI0IAcgBkEBdEE+cTYCMCAHIAlBCXZB0ABqNgJEIAcgCUEFdkEPcUEBazYCQCAAIAdBMGoQBTYCFCAAIAUQFTYCGCAAIAUQFa03AyAgACAFEBWtNwMoIAUQDCEIIAUQDCEGIAACfiADBEBBACEJIABBADYCRCAAQQA7AUAgAEEANgI8QgAMAQsgBRAMIQkgACAFEAw2AjwgACAFEAw7AUAgACAFEBU2AkQgBRAVrQs3A0ggBS0AAEUEQCAEBEAgBEEANgIEIARBFDYCAAtCfyENIAINASAFEAgMAQsCQCAALwEMIgpBAXEEQCAKQcAAcQRAIABB//8DOwFSDAILIABBATsBUgwBCyAAQQA7AVILIABBADYCOCAAQgA3AzAgBiAIaiAJaiEKAkAgAgRAIAUtAAAEfiAFKQMIIAUpAxB9BUIACyAKrVoNASAEBEAgBEEANgIEIARBFTYCAAtCfyENDAILIAUQCCABIAqtQQAgBBAtIgUNAEJ/IQ0MAQsCQCAIRQ0AIAAgBSABIAhBASAEEGQiCDYCMCAIRQRAIAQoAgBBEUYEQCAEBEAgBEEANgIEIARBFTYCAAsLQn8hDSACDQIgBRAIDAILIAAtAA1BCHFFDQAgCEECECNBBUcNACAEBEAgBEEANgIEIARBFTYCAAtCfyENIAINASAFEAgMAQsgAEE0aiEIAkAgBkUNACAFIAEgBkEAIAQQRSIMRQRAQn8hDSACDQIgBRAIDAILIAwgBkGAAkGABCADGyAIIAQQbiEGIAwQBiAGRQRAQn8hDSACDQIgBRAIDAILIANFDQAgAEEBOgAECwJAIAlFDQAgACAFIAEgCUEAIAQQZCIBNgI4IAFFBEBCfyENIAINAiAFEAgMAgsgAC0ADUEIcUUNACABQQIQI0EFRw0AIAQEQCAEQQA2AgQgBEEVNgIAC0J/IQ0gAg0BIAUQCAwBCyAAIAAoAjRB9eABIAAoAjAQZzYCMCAAIAAoAjRB9cYBIAAoAjgQZzYCOAJAAkAgACkDKEL/////D1ENACAAKQMgQv////8PUQ0AIAApA0hC/////w9SDQELAkACQAJAIAgoAgAgB0EwakEBQYACQYAEIAMbIAQQRiIBRQRAIAJFDQEMAgsgASAHMwEwEBciAUUEQCAEBEAgBEEANgIEIARBDjYCAAsgAkUNAQwCCwJAIAApAyhC/////w9RBEAgACABEB03AygMAQsgA0UNAEEAIQYCQCABKQMQIg5CCHwiDSAOVA0AIAEpAwggDVQNACABIA03AxBBASEGCyABIAY6AAALIAApAyBC/////w9RBEAgACABEB03AyALAkAgAw0AIAApA0hC/////w9RBEAgACABEB03A0gLIAAoAjxB//8DRw0AIAAgARAVNgI8CyABLQAABH8gASkDECABKQMIUQVBAAsNAiAEBEAgBEEANgIEIARBFTYCAAsgARAIIAINAQsgBRAIC0J/IQ0MAgsgARAICyAFLQAARQRAIAQEQCAEQQA2AgQgBEEUNgIAC0J/IQ0gAg0BIAUQCAwBCyACRQRAIAUQCAtCfyENIAApA0hCf1cEQCAEBEAgBEEWNgIEIARBBDYCAAsMAQsjAEEQayIDJABBASEBAkAgACgCEEHjAEcNAEEAIQECQCAAKAI0IANBDmpBgbICQYAGQQAQRiICBEAgAy8BDiIFQQZLDQELIAQEQCAEQQA2AgQgBEEVNgIACwwBCyACIAWtQv//A4MQFyICRQRAIAQEQCAEQQA2AgQgBEEUNgIACwwBC0EBIQECQAJAAkAgAhAMQQFrDgICAQALQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAILIAApAyhCE1YhAQsgAkICEBMvAABBwYoBRwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAIQfUEBayIFQf8BcUEDTwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAMvAQ5BB0cEQEEAIQEgBARAIARBADYCBCAEQRU2AgALIAIQCAwBCyAAIAE6AAYgACAFQf8BcUGBAmo7AVIgACACEAw2AhAgAhAIQQEhAQsgA0EQaiQAIAFFDQAgCCAIKAIAEG02AgAgCiALaq0hDQsgB0HgAGokACANC4ECAQR/IwBBEGsiBCQAAkAgASAEQQxqQcAAQQAQJSIGRQ0AIAQoAgxBBWoiA0GAgARPBEAgAgRAIAJBADYCBCACQRI2AgALDAELQQAgA60QFyIDRQRAIAIEQCACQQA2AgQgAkEONgIACwwBCyADQQEQcCADIAEEfwJ/IAEvAQQhBUEAIAEoAgAiAUUNABpBACABIAVB1IABKAIAEQAACwVBAAsQEiADIAYgBCgCDBAsAn8gAy0AAEUEQCACBEAgAkEANgIEIAJBFDYCAAtBAAwBCyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";bo(ji)||(ji=x(ji));function oo(Ke){try{if(Ke==ji&&ae)return new Uint8Array(ae);var ot=Ga(Ke);if(ot)return ot;if(T)return T(Ke);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(St){ns(St)}}function Po(Ke,ot){var St,lr,ee;try{ee=oo(Ke),lr=new WebAssembly.Module(ee),St=new WebAssembly.Instance(lr,ot)}catch(Oe){var ye=Oe.toString();throw te("failed to compile wasm module: "+ye),(ye.includes("imported Memory")||ye.includes("memory import"))&&te("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Oe}return[St,lr]}function TA(){var Ke={a:Ue};function ot(ee,ye){var Oe=ee.exports;r.asm=Oe,Ce=r.asm.g,z(Ce.buffer),$=r.asm.W,dn(r.asm.h),Do("wasm-instantiate")}if(li("wasm-instantiate"),r.instantiateWasm)try{var St=r.instantiateWasm(Ke,ot);return St}catch(ee){return te("Module.instantiateWasm callback failed with error: "+ee),!1}var lr=Po(ji,Ke);return ot(lr[0]),r.asm}function gf(Ke){return F.getFloat32(Ke,!0)}function gh(Ke){return F.getFloat64(Ke,!0)}function dh(Ke){return F.getInt16(Ke,!0)}function ao(Ke){return F.getInt32(Ke,!0)}function Gn(Ke,ot){F.setInt32(Ke,ot,!0)}function Ns(Ke){for(;Ke.length>0;){var ot=Ke.shift();if(typeof ot=="function"){ot(r);continue}var St=ot.func;typeof St=="number"?ot.arg===void 0?$.get(St)():$.get(St)(ot.arg):St(ot.arg===void 0?null:ot.arg)}}function lo(Ke,ot){var St=new Date(ao((Ke>>2)*4)*1e3);Gn((ot>>2)*4,St.getUTCSeconds()),Gn((ot+4>>2)*4,St.getUTCMinutes()),Gn((ot+8>>2)*4,St.getUTCHours()),Gn((ot+12>>2)*4,St.getUTCDate()),Gn((ot+16>>2)*4,St.getUTCMonth()),Gn((ot+20>>2)*4,St.getUTCFullYear()-1900),Gn((ot+24>>2)*4,St.getUTCDay()),Gn((ot+36>>2)*4,0),Gn((ot+32>>2)*4,0);var lr=Date.UTC(St.getUTCFullYear(),0,1,0,0,0,0),ee=(St.getTime()-lr)/(1e3*60*60*24)|0;return Gn((ot+28>>2)*4,ee),lo.GMTString||(lo.GMTString=tt("GMT")),Gn((ot+40>>2)*4,lo.GMTString),ot}function ou(Ke,ot){return lo(Ke,ot)}function au(Ke,ot,St){Re.copyWithin(Ke,ot,ot+St)}function lu(Ke){try{return Ce.grow(Ke-be.byteLength+65535>>>16),z(Ce.buffer),1}catch{}}function FA(Ke){var ot=Re.length;Ke=Ke>>>0;var St=2147483648;if(Ke>St)return!1;for(var lr=1;lr<=4;lr*=2){var ee=ot*(1+.2/lr);ee=Math.min(ee,Ke+100663296);var ye=Math.min(St,ke(Math.max(Ke,ee),65536)),Oe=lu(ye);if(Oe)return!0}return!1}function NA(Ke){ue(Ke)}function fa(Ke){var ot=Date.now()/1e3|0;return Ke&&Gn((Ke>>2)*4,ot),ot}function Aa(){if(Aa.called)return;Aa.called=!0;var Ke=new Date().getFullYear(),ot=new Date(Ke,0,1),St=new Date(Ke,6,1),lr=ot.getTimezoneOffset(),ee=St.getTimezoneOffset(),ye=Math.max(lr,ee);Gn((Ql()>>2)*4,ye*60),Gn((Bs()>>2)*4,+(lr!=ee));function Oe(pn){var ci=pn.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ci?ci[1]:"GMT"}var mt=Oe(ot),Et=Oe(St),bt=tt(mt),tr=tt(Et);ee>2)*4,bt),Gn((Mi()+4>>2)*4,tr)):(Gn((Mi()>>2)*4,tr),Gn((Mi()+4>>2)*4,bt))}function OA(Ke){Aa();var ot=Date.UTC(ao((Ke+20>>2)*4)+1900,ao((Ke+16>>2)*4),ao((Ke+12>>2)*4),ao((Ke+8>>2)*4),ao((Ke+4>>2)*4),ao((Ke>>2)*4),0),St=new Date(ot);Gn((Ke+24>>2)*4,St.getUTCDay());var lr=Date.UTC(St.getUTCFullYear(),0,1,0,0,0,0),ee=(St.getTime()-lr)/(1e3*60*60*24)|0;return Gn((Ke+28>>2)*4,ee),St.getTime()/1e3|0}var gr=typeof atob=="function"?atob:function(Ke){var ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",St="",lr,ee,ye,Oe,mt,Et,bt,tr=0;Ke=Ke.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Oe=ot.indexOf(Ke.charAt(tr++)),mt=ot.indexOf(Ke.charAt(tr++)),Et=ot.indexOf(Ke.charAt(tr++)),bt=ot.indexOf(Ke.charAt(tr++)),lr=Oe<<2|mt>>4,ee=(mt&15)<<4|Et>>2,ye=(Et&3)<<6|bt,St=St+String.fromCharCode(lr),Et!==64&&(St=St+String.fromCharCode(ee)),bt!==64&&(St=St+String.fromCharCode(ye));while(tr0||(Ct(),Cr>0))return;function ot(){Tn||(Tn=!0,r.calledRun=!0,!Ee&&(qt(),s(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),ir()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),ot()},1)):ot()}if(r.run=hc,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return hc(),t}}();typeof CR=="object"&&typeof gj=="object"?gj.exports=hj:typeof define=="function"&&define.amd?define([],function(){return hj}):typeof CR=="object"&&(CR.createModule=hj)});var Hp,OAe,LAe,MAe=Xe(()=>{Hp=["number","number"],OAe=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(OAe||{}),LAe=e=>({get HEAPU8(){return e.HEAPU8},errors:OAe,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:e._malloc(1),uint32S:e._malloc(4),malloc:e._malloc,free:e._free,getValue:e.getValue,openFromSource:e.cwrap("zip_open_from_source","number",["number","number","number"]),close:e.cwrap("zip_close","number",["number"]),discard:e.cwrap("zip_discard",null,["number"]),getError:e.cwrap("zip_get_error","number",["number"]),getName:e.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:e.cwrap("zip_get_num_entries","number",["number","number"]),delete:e.cwrap("zip_delete","number",["number","number"]),statIndex:e.cwrap("zip_stat_index","number",["number",...Hp,"number","number"]),fopenIndex:e.cwrap("zip_fopen_index","number",["number",...Hp,"number"]),fread:e.cwrap("zip_fread","number",["number","number","number","number"]),fclose:e.cwrap("zip_fclose","number",["number"]),dir:{add:e.cwrap("zip_dir_add","number",["number","string"])},file:{add:e.cwrap("zip_file_add","number",["number","string","number","number"]),getError:e.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:e.cwrap("zip_file_get_external_attributes","number",["number",...Hp,"number","number","number"]),setExternalAttributes:e.cwrap("zip_file_set_external_attributes","number",["number",...Hp,"number","number","number"]),setMtime:e.cwrap("zip_file_set_mtime","number",["number",...Hp,"number","number"]),setCompression:e.cwrap("zip_set_file_compression","number",["number",...Hp,"number","number"])},ext:{countSymlinks:e.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:e.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:e.cwrap("zip_error_strerror","string",["number"])},name:{locate:e.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:e.cwrap("zip_source_buffer_create","number",["number",...Hp,"number","number"]),fromBuffer:e.cwrap("zip_source_buffer","number",["number","number",...Hp,"number"]),free:e.cwrap("zip_source_free",null,["number"]),keep:e.cwrap("zip_source_keep",null,["number"]),open:e.cwrap("zip_source_open","number",["number"]),close:e.cwrap("zip_source_close","number",["number"]),seek:e.cwrap("zip_source_seek","number",["number",...Hp,"number"]),tell:e.cwrap("zip_source_tell","number",["number"]),read:e.cwrap("zip_source_read","number",["number","number","number"]),error:e.cwrap("zip_source_error","number",["number"])},struct:{statS:e.cwrap("zipstruct_statS","number",[]),statSize:e.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:e.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:e.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:e.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:e.cwrap("zipstruct_stat_crc","number",["number"]),errorS:e.cwrap("zipstruct_errorS","number",[]),errorCodeZip:e.cwrap("zipstruct_error_code_zip","number",["number"])}})});function dj(e,t){let r=e.indexOf(t);if(r<=0)return null;let s=r;for(;r>=0&&(s=r+t.length,e[s]!==J.sep);){if(e[r-1]===J.sep)return null;r=e.indexOf(t,s)}return e.length>s&&e[s]!==J.sep?null:e.slice(0,s)}var rA,UAe=Xe(()=>{Dt();Dt();nA();rA=class e extends $h{static async openPromise(t,r){let s=new e(r);try{return await t(s)}finally{s.saveAndClose()}}constructor(t={}){let r=t.fileExtensions,s=t.readOnlyArchives,a=typeof r>"u"?f=>dj(f,".zip"):f=>{for(let p of r){let h=dj(f,p);if(h)return h}return null},n=(f,p)=>new ps(p,{baseFs:f,readOnly:s,stats:f.statSync(p),customZipImplementation:t.customZipImplementation}),c=async(f,p)=>{let h={baseFs:f,readOnly:s,stats:await f.statPromise(p),customZipImplementation:t.customZipImplementation};return()=>new ps(p,h)};super({...t,factorySync:n,factoryPromise:c,getMountPoint:a})}}});var mj,DI,yj=Xe(()=>{pj();mj=class extends Error{constructor(t,r){super(t),this.name="Libzip Error",this.code=r}},DI=class{constructor(t){this.filesShouldBeCached=!0;let r="buffer"in t?t.buffer:t.baseFs.readFileSync(t.path);this.libzip=tv();let s=this.libzip.malloc(4);try{let c=0;t.readOnly&&(c|=this.libzip.ZIP_RDONLY);let f=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(f,c,s),this.lzSource=f}catch(p){throw this.libzip.source.free(f),p}if(this.zip===0){let p=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(p,this.libzip.getValue(s,"i32")),this.makeLibzipError(p)}}finally{this.libzip.free(s)}let a=this.libzip.getNumEntries(this.zip,0),n=new Array(a);for(let c=0;c>>0,n=this.libzip.struct.statMtime(r)>>>0,c=this.libzip.struct.statCrc(r)>>>0;return{size:a,mtime:n,crc:c}}makeLibzipError(t){let r=this.libzip.struct.errorCodeZip(t),s=this.libzip.error.strerror(t),a=new mj(s,this.libzip.errors[r]);if(r===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${a.message}`);return a}setFileSource(t,r,s){let a=this.allocateSource(s);try{let n=this.libzip.file.add(this.zip,t,a,this.libzip.ZIP_FL_OVERWRITE);if(n===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(r!==null&&this.libzip.file.setCompression(this.zip,n,0,r[0],r[1])===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return n}catch(n){throw this.libzip.source.free(a),n}}setMtime(t,r){if(this.libzip.file.setMtime(this.zip,t,0,r,0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}getExternalAttributes(t){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let s=this.libzip.getValue(this.libzip.uint08S,"i8")>>>0,a=this.libzip.getValue(this.libzip.uint32S,"i32")>>>0;return[s,a]}setExternalAttributes(t,r,s){if(this.libzip.file.setExternalAttributes(this.zip,t,0,0,r,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}locate(t){return this.libzip.name.locate(this.zip,t,0)}getFileSource(t){let r=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(r),n=this.libzip.struct.statCompMethod(r),c=this.libzip.malloc(a);try{let f=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(f===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let p=this.libzip.fread(f,c,a,0);if(p===-1)throw this.makeLibzipError(this.libzip.file.getError(f));if(pa)throw new Error("Overread");let h=this.libzip.HEAPU8.subarray(c,c+a);return{data:Buffer.from(h),compressionMethod:n}}finally{this.libzip.fclose(f)}}finally{this.libzip.free(c)}}deleteEntry(t){if(this.libzip.delete(this.zip,t)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}addDirectory(t){let r=this.libzip.dir.add(this.zip,t);if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return r}getBufferAndClose(){try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let t=this.libzip.source.tell(this.lzSource);if(t===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.malloc(t);if(!r)throw new Error("Couldn't allocate enough memory");try{let s=this.libzip.source.read(this.lzSource,r,t);if(s===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(st)throw new Error("Overread");let a=Buffer.from(this.libzip.HEAPU8.subarray(r,r+t));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(a=Buffer.concat([a,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),a}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource)}}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let r=this.libzip.malloc(t.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,t.byteLength).set(t),{buffer:r,byteLength:t.byteLength}}allocateUnattachedSource(t){let r=this.libzip.struct.errorS(),{buffer:s,byteLength:a}=this.allocateBuffer(t),n=this.libzip.source.fromUnattachedBuffer(s,a,0,1,r);if(n===0)throw this.libzip.free(r),this.makeLibzipError(r);return n}allocateSource(t){let{buffer:r,byteLength:s}=this.allocateBuffer(t),a=this.libzip.source.fromBuffer(this.zip,r,s,0,1);if(a===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return a}discard(){this.libzip.discard(this.zip)}}});function Ott(e){if(typeof e=="string"&&String(+e)===e)return+e;if(typeof e=="number"&&Number.isFinite(e))return e<0?Date.now()/1e3:e;if(_Ae.types.isDate(e))return e.getTime()/1e3;throw new Error("Invalid time")}function wR(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Ta,Ej,_Ae,Ij,om,Cj,wj,HAe,ps,BR=Xe(()=>{Dt();Dt();Dt();Dt();Dt();Dt();Ta=Ie("fs"),Ej=Ie("stream"),_Ae=Ie("util"),Ij=et(Ie("zlib"));yj();om=3,Cj=0,wj=8,HAe="mixed";ps=class extends jf{constructor(r,s={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;s.readOnly&&(this.readOnly=!0);let a=s;this.level=typeof a.level<"u"?a.level:HAe;let n=s.customZipImplementation??DI;if(typeof r=="string"){let{baseFs:f=new Vn}=a;this.baseFs=f,this.path=r}else this.path=null,this.baseFs=null;if(s.stats)this.stats=s.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(f){if(f.code==="ENOENT"&&a.create)this.stats=al.makeDefaultStats();else throw f}else this.stats=al.makeDefaultStats();typeof r=="string"?s.create?this.zipImpl=new n({buffer:wR(),readOnly:this.readOnly}):this.zipImpl=new n({path:r,baseFs:this.baseFs,readOnly:this.readOnly,size:this.stats.size}):this.zipImpl=new n({buffer:r??wR(),readOnly:this.readOnly}),this.listings.set(vt.root,new Set);let c=this.zipImpl.getListings();for(let f=0;f{this.closeSync(f)}})}async readPromise(r,s,a,n,c){return this.readSync(r,s,a,n,c)}readSync(r,s,a=0,n=s.byteLength,c=-1){let f=this.fds.get(r);if(typeof f>"u")throw or.EBADF("read");let p=c===-1||c===null?f.cursor:c,h=this.readFileSync(f.p);h.copy(s,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(c===-1||c===null)&&(f.cursor+=E),E}async writePromise(r,s,a,n,c){return typeof s=="string"?this.writeSync(r,s,c):this.writeSync(r,s,a,n,c)}writeSync(r,s,a,n,c){throw typeof this.fds.get(r)>"u"?or.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw or.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:s}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new Ej.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(f,p)=>{clearImmediate(c),this.closeSync(a),p(f)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),c=setImmediate(async()=>{try{let f=await this.readFilePromise(r,s);n.bytesRead=f.length,n.end(f)}catch(f){n.destroy(f)}});return n}createWriteStream(r,{encoding:s}={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),c=Object.assign(new Ej.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(f,p)=>{try{f?p(f):(this.writeFileSync(r,Buffer.concat(a),s),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){c.destroy()},bytesWritten:0,path:r,pending:!1});return c.on("data",f=>{let p=Buffer.from(f);c.bytesWritten+=p.length,a.push(p)}),c}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let s=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(s)&&!this.listings.has(s))throw or.ENOENT(`lstat '${r}'`);return s}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw or.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=J.resolve(vt.root,r);return this.entries.has(a)||this.listings.has(a)}let s;try{s=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return s===void 0?!1:this.entries.has(s)||this.listings.has(s)}async accessPromise(r,s){return this.accessSync(r,s)}accessSync(r,s=Ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`access '${r}'`);if(this.readOnly&&s&Ta.constants.W_OK)throw or.EROFS(`access '${r}'`)}async statPromise(r,s={bigint:!1}){return s.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,s={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,s.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(s.throwIfNoEntry===!1)return;throw or.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,s)}}async fstatPromise(r,s){return this.fstatSync(r,s)}fstatSync(r,s){let a=this.fds.get(r);if(typeof a>"u")throw or.EBADF("fstatSync");let{p:n}=a,c=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(c)&&!this.listings.has(c))throw or.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(c))throw or.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,c,s)}async lstatPromise(r,s={bigint:!1}){return s.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,s={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,s.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(s.throwIfNoEntry===!1)return;throw or.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,s)}}statImpl(r,s,a={}){let n=this.entries.get(s);if(typeof n<"u"){let c=this.zipImpl.stat(n),f=c.crc,p=c.size,h=c.mtime*1e3,E=this.stats.uid,C=this.stats.gid,S=512,x=Math.ceil(c.size/S),I=h,T=h,O=h,U=new Date(I),V=new Date(T),te=new Date(O),ie=new Date(h),ue=this.listings.has(s)?Ta.constants.S_IFDIR:this.isSymbolicLink(n)?Ta.constants.S_IFLNK:Ta.constants.S_IFREG,ae=ue===Ta.constants.S_IFDIR?493:420,de=ue|this.getUnixMode(n,ae)&511,Ae=Object.assign(new al.StatEntry,{uid:E,gid:C,size:p,blksize:S,blocks:x,atime:U,birthtime:V,ctime:te,mtime:ie,atimeMs:I,birthtimeMs:T,ctimeMs:O,mtimeMs:h,mode:de,crc:f});return a.bigint===!0?al.convertToBigIntStats(Ae):Ae}if(this.listings.has(s)){let c=this.stats.uid,f=this.stats.gid,p=0,h=512,E=0,C=this.stats.mtimeMs,S=this.stats.mtimeMs,x=this.stats.mtimeMs,I=this.stats.mtimeMs,T=new Date(C),O=new Date(S),U=new Date(x),V=new Date(I),te=Ta.constants.S_IFDIR|493,ue=Object.assign(new al.StatEntry,{uid:c,gid:f,size:p,blksize:h,blocks:E,atime:T,birthtime:O,ctime:U,mtime:V,atimeMs:C,birthtimeMs:S,ctimeMs:x,mtimeMs:I,mode:te,crc:0});return a.bigint===!0?al.convertToBigIntStats(ue):ue}throw new Error("Unreachable")}getUnixMode(r,s){let[a,n]=this.zipImpl.getExternalAttributes(r);return a!==om?s:n>>>16}registerListing(r){let s=this.listings.get(r);if(s)return s;this.registerListing(J.dirname(r)).add(J.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,s){this.registerListing(J.dirname(r)).add(J.basename(r)),this.entries.set(r,s)}unregisterListing(r){this.listings.delete(r),this.listings.get(J.dirname(r))?.delete(J.basename(r))}unregisterEntry(r){this.unregisterListing(r);let s=this.entries.get(r);this.entries.delete(r),!(typeof s>"u")&&(this.fileSources.delete(s),this.isSymbolicLink(s)&&this.symlinkCount--)}deleteEntry(r,s){this.unregisterEntry(r),this.zipImpl.deleteEntry(s)}resolveFilename(r,s,a=!0,n=!0){if(!this.ready)throw or.EBUSY(`archive closed, ${r}`);let c=J.resolve(vt.root,s);if(c==="/")return vt.root;let f=this.entries.get(c);if(a&&f!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(f)){let p=this.getFileSource(f).toString();return this.resolveFilename(r,J.resolve(J.dirname(c),p),!0,n)}else return c;for(;;){let p=this.resolveFilename(r,J.dirname(c),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw or.ENOENT(r)}if(!h)throw or.ENOTDIR(r);if(c=J.resolve(p,J.basename(c)),!a||this.symlinkCount===0)break;let C=this.zipImpl.locate(c.slice(1));if(C===-1)break;if(this.isSymbolicLink(C)){let S=this.getFileSource(C).toString();c=J.resolve(J.dirname(c),S)}else break}return c}setFileSource(r,s){let a=Buffer.isBuffer(s)?s:Buffer.from(s),n=J.relative(vt.root,r),c=null;this.level!=="mixed"&&(c=[this.level===0?Cj:wj,this.level]);let f=this.zipImpl.setFileSource(n,c,a);return this.fileSources.set(f,a),f}isSymbolicLink(r){if(this.symlinkCount===0)return!1;let[s,a]=this.zipImpl.getExternalAttributes(r);return s!==om?!1:(a>>>16&Ta.constants.S_IFMT)===Ta.constants.S_IFLNK}getFileSource(r,s={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let{data:n,compressionMethod:c}=this.zipImpl.getFileSource(r);if(c===Cj)return this.zipImpl.filesShouldBeCached&&this.fileSources.set(r,n),n;if(c===wj){if(s.asyncDecompress)return new Promise((f,p)=>{Ij.default.inflateRaw(n,(h,E)=>{h?p(h):(this.zipImpl.filesShouldBeCached&&this.fileSources.set(r,E),f(E))})});{let f=Ij.default.inflateRawSync(n);return this.zipImpl.filesShouldBeCached&&this.fileSources.set(r,f),f}}else throw new Error(`Unsupported compression method: ${c}`)}async fchmodPromise(r,s){return this.chmodPromise(this.fdToPath(r,"fchmod"),s)}fchmodSync(r,s){return this.chmodSync(this.fdToPath(r,"fchmodSync"),s)}async chmodPromise(r,s){return this.chmodSync(r,s)}chmodSync(r,s){if(this.readOnly)throw or.EROFS(`chmod '${r}'`);s&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let f=this.getUnixMode(n,Ta.constants.S_IFREG|0)&-512|s;this.zipImpl.setExternalAttributes(n,om,f<<16)}async fchownPromise(r,s,a){return this.chownPromise(this.fdToPath(r,"fchown"),s,a)}fchownSync(r,s,a){return this.chownSync(this.fdToPath(r,"fchownSync"),s,a)}async chownPromise(r,s,a){return this.chownSync(r,s,a)}chownSync(r,s,a){throw new Error("Unimplemented")}async renamePromise(r,s){return this.renameSync(r,s)}renameSync(r,s){throw new Error("Unimplemented")}async copyFilePromise(r,s,a){let{indexSource:n,indexDest:c,resolvedDestP:f}=this.prepareCopyFile(r,s,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(f,p);h!==c&&this.registerEntry(f,h)}copyFileSync(r,s,a=0){let{indexSource:n,indexDest:c,resolvedDestP:f}=this.prepareCopyFile(r,s,a),p=this.getFileSource(n),h=this.setFileSource(f,p);h!==c&&this.registerEntry(f,h)}prepareCopyFile(r,s,a=0){if(this.readOnly)throw or.EROFS(`copyfile '${r} -> '${s}'`);if(a&Ta.constants.COPYFILE_FICLONE_FORCE)throw or.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${s}'`);let n=this.resolveFilename(`copyfile '${r} -> ${s}'`,r),c=this.entries.get(n);if(typeof c>"u")throw or.EINVAL(`copyfile '${r}' -> '${s}'`);let f=this.resolveFilename(`copyfile '${r}' -> ${s}'`,s),p=this.entries.get(f);if(a&(Ta.constants.COPYFILE_EXCL|Ta.constants.COPYFILE_FICLONE_FORCE)&&typeof p<"u")throw or.EEXIST(`copyfile '${r}' -> '${s}'`);return{indexSource:c,resolvedDestP:f,indexDest:p}}async appendFilePromise(r,s,a){if(this.readOnly)throw or.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,s,a)}appendFileSync(r,s,a={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,s,a)}fdToPath(r,s){let a=this.fds.get(r)?.p;if(typeof a>"u")throw or.EBADF(s);return a}async writeFilePromise(r,s,a){let{encoding:n,mode:c,index:f,resolvedP:p}=this.prepareWriteFile(r,a);f!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(s=Buffer.concat([await this.getFileSource(f,{asyncDecompress:!0}),Buffer.from(s)])),n!==null&&(s=s.toString(n));let h=this.setFileSource(p,s);h!==f&&this.registerEntry(p,h),c!==null&&await this.chmodPromise(p,c)}writeFileSync(r,s,a){let{encoding:n,mode:c,index:f,resolvedP:p}=this.prepareWriteFile(r,a);f!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(s=Buffer.concat([this.getFileSource(f),Buffer.from(s)])),n!==null&&(s=s.toString(n));let h=this.setFileSource(p,s);h!==f&&this.registerEntry(p,h),c!==null&&this.chmodSync(p,c)}prepareWriteFile(r,s){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw or.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw or.EISDIR(`open '${r}'`);let n=null,c=null;typeof s=="string"?n=s:typeof s=="object"&&({encoding:n=null,mode:c=null}=s);let f=this.entries.get(a);return{encoding:n,mode:c,resolvedP:a,index:f}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw or.EROFS(`unlink '${r}'`);let s=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(s))throw or.EISDIR(`unlink '${r}'`);let a=this.entries.get(s);if(typeof a>"u")throw or.EINVAL(`unlink '${r}'`);this.deleteEntry(s,a)}async utimesPromise(r,s,a){return this.utimesSync(r,s,a)}utimesSync(r,s,a){if(this.readOnly)throw or.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,s,a){return this.lutimesSync(r,s,a)}lutimesSync(r,s,a){if(this.readOnly)throw or.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,s){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");this.zipImpl.setMtime(a,Ott(s))}async mkdirPromise(r,s){return this.mkdirSync(r,s)}mkdirSync(r,{mode:s=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:s});if(this.readOnly)throw or.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw or.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,s)}async rmdirPromise(r,s){return this.rmdirSync(r,s)}rmdirSync(r,{recursive:s=!1}={}){if(this.readOnly)throw or.EROFS(`rmdir '${r}'`);if(s){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw or.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw or.ENOTEMPTY(`rmdir '${r}'`);let c=this.entries.get(a);if(typeof c>"u")throw or.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,c)}async rmPromise(r,s){return this.rmSync(r,s)}rmSync(r,{recursive:s=!1}={}){if(this.readOnly)throw or.EROFS(`rm '${r}'`);if(s){this.removeSync(r);return}let a=this.resolveFilename(`rm '${r}'`,r),n=this.listings.get(a);if(!n)throw or.ENOTDIR(`rm '${r}'`);if(n.size>0)throw or.ENOTEMPTY(`rm '${r}'`);let c=this.entries.get(a);if(typeof c>"u")throw or.EINVAL(`rm '${r}'`);this.deleteEntry(r,c)}hydrateDirectory(r){let s=this.zipImpl.addDirectory(J.relative(vt.root,r));return this.registerListing(r),this.registerEntry(r,s),s}async linkPromise(r,s){return this.linkSync(r,s)}linkSync(r,s){throw or.EOPNOTSUPP(`link '${r}' -> '${s}'`)}async symlinkPromise(r,s){return this.symlinkSync(r,s)}symlinkSync(r,s){if(this.readOnly)throw or.EROFS(`symlink '${r}' -> '${s}'`);let a=this.resolveFilename(`symlink '${r}' -> '${s}'`,s);if(this.listings.has(a))throw or.EISDIR(`symlink '${r}' -> '${s}'`);if(this.entries.has(a))throw or.EEXIST(`symlink '${r}' -> '${s}'`);let n=this.setFileSource(a,r);this.registerEntry(a,n),this.zipImpl.setExternalAttributes(n,om,(Ta.constants.S_IFLNK|511)<<16),this.symlinkCount+=1}async readFilePromise(r,s){typeof s=="object"&&(s=s?s.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return s?a.toString(s):a}readFileSync(r,s){typeof s=="object"&&(s=s?s.encoding:void 0);let a=this.readFileBuffer(r);return s?a.toString(s):a}readFileBuffer(r,s={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw or.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw or.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,s)}async readdirPromise(r,s){return this.readdirSync(r,s)}readdirSync(r,s){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw or.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw or.ENOTDIR(`scandir '${r}'`);if(s?.recursive)if(s?.withFileTypes){let c=Array.from(n,f=>Object.assign(this.statImpl("lstat",J.join(r,f)),{name:f,path:vt.dot,parentPath:vt.dot}));for(let f of c){if(!f.isDirectory())continue;let p=J.join(f.path,f.name),h=this.listings.get(J.join(a,p));for(let E of h)c.push(Object.assign(this.statImpl("lstat",J.join(r,p,E)),{name:E,path:p,parentPath:p}))}return c}else{let c=[...n];for(let f of c){let p=this.listings.get(J.join(a,f));if(!(typeof p>"u"))for(let h of p)c.push(J.join(f,h))}return c}else return s?.withFileTypes?Array.from(n,c=>Object.assign(this.statImpl("lstat",J.join(r,c)),{name:c,path:void 0,parentPath:void 0})):[...n]}async readlinkPromise(r){let s=this.prepareReadlink(r);return(await this.getFileSource(s,{asyncDecompress:!0})).toString()}readlinkSync(r){let s=this.prepareReadlink(r);return this.getFileSource(s).toString()}prepareReadlink(r){let s=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(s)&&!this.listings.has(s))throw or.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(s))throw or.ENOTDIR(`open '${r}'`);if(this.listings.has(s))throw or.EINVAL(`readlink '${r}'`);let a=this.entries.get(s);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw or.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,s=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw or.EINVAL(`open '${r}'`);let c=await this.getFileSource(n,{asyncDecompress:!0}),f=Buffer.alloc(s,0);return c.copy(f),await this.writeFilePromise(r,f)}truncateSync(r,s=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw or.EINVAL(`open '${r}'`);let c=this.getFileSource(n),f=Buffer.alloc(s,0);return c.copy(f),this.writeFileSync(r,f)}async ftruncatePromise(r,s){return this.truncatePromise(this.fdToPath(r,"ftruncate"),s)}ftruncateSync(r,s){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),s)}watch(r,s,a){let n;switch(typeof s){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=s);break}if(!n)return{on:()=>{},close:()=>{}};let c=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(c)}}}watchFile(r,s,a){let n=J.resolve(vt.root,r);return lE(this,n,s,a)}unwatchFile(r,s){let a=J.resolve(vt.root,r);return gd(this,a,s)}}});function GAe(e,t,r=Buffer.alloc(0),s){let a=new ps(r),n=C=>C===t||C.startsWith(`${t}/`)?C.slice(0,t.length):null,c=async(C,S)=>()=>a,f=(C,S)=>a,p={...e},h=new Vn(p),E=new $h({baseFs:h,getMountPoint:n,factoryPromise:c,factorySync:f,magicByte:21,maxAge:1/0,typeCheck:s?.typeCheck});return Q2(jAe.default,new e0(E)),a}var jAe,qAe=Xe(()=>{Dt();jAe=et(Ie("fs"));BR()});var WAe=Xe(()=>{UAe();BR();qAe()});var Bj,rv,vR,YAe=Xe(()=>{Dt();BR();Bj={CENTRAL_DIRECTORY:33639248,END_OF_CENTRAL_DIRECTORY:101010256},rv=22,vR=class e{constructor(t){this.filesShouldBeCached=!1;if("buffer"in t)throw new Error("Buffer based zip archives are not supported");if(!t.readOnly)throw new Error("Writable zip archives are not supported");this.baseFs=t.baseFs,this.fd=this.baseFs.openSync(t.path,"r");try{this.entries=e.readZipSync(this.fd,this.baseFs,t.size)}catch(r){throw this.baseFs.closeSync(this.fd),this.fd="closed",r}}static readZipSync(t,r,s){if(s=0;O--)if(n.readUInt32LE(O)===Bj.END_OF_CENTRAL_DIRECTORY){a=O;break}if(a===-1)throw new Error("Not a zip archive")}let c=n.readUInt16LE(a+10),f=n.readUInt32LE(a+12),p=n.readUInt32LE(a+16),h=n.readUInt16LE(a+20);if(a+h+rv>n.length)throw new Error("Zip archive inconsistent");if(c==65535||f==4294967295||p==4294967295)throw new Error("Zip 64 is not supported");if(f>s)throw new Error("Zip archive inconsistent");if(c>f/46)throw new Error("Zip archive inconsistent");let E=Buffer.alloc(f);if(r.readSync(t,E,0,E.length,p)!==E.length)throw new Error("Zip archive inconsistent");let C=[],S=0,x=0,I=0;for(;xE.length)throw new Error("Zip archive inconsistent");if(E.readUInt32LE(S)!==Bj.CENTRAL_DIRECTORY)throw new Error("Zip archive inconsistent");let O=E.readUInt16LE(S+4)>>>8;if(E.readUInt16LE(S+8)&1)throw new Error("Encrypted zip files are not supported");let V=E.readUInt16LE(S+10),te=E.readUInt32LE(S+16),ie=E.readUInt16LE(S+28),ue=E.readUInt16LE(S+30),ae=E.readUInt16LE(S+32),de=E.readUInt32LE(S+42),Ae=E.toString("utf8",S+46,S+46+ie).replaceAll("\0"," ");if(Ae.includes("\0"))throw new Error("Invalid ZIP file");let Ce=E.readUInt32LE(S+20),Ee=E.readUInt32LE(S+38);C.push({name:Ae,os:O,mtime:Ai.SAFE_TIME,crc:te,compressionMethod:V,isSymbolicLink:O===om&&(Ee>>>16&Ai.S_IFMT)===Ai.S_IFLNK,size:E.readUInt32LE(S+24),compressedSize:Ce,externalAttributes:Ee,localHeaderOffset:de}),I+=Ce,x+=1,S+=46+ie+ue+ae}if(I>s)throw new Error("Zip archive inconsistent");if(S!==E.length)throw new Error("Zip archive inconsistent");return C}getExternalAttributes(t){let r=this.entries[t];return[r.os,r.externalAttributes]}getListings(){return this.entries.map(t=>t.name)}getSymlinkCount(){let t=0;for(let r of this.entries)r.isSymbolicLink&&(t+=1);return t}stat(t){let r=this.entries[t];return{crc:r.crc,mtime:r.mtime,size:r.size}}locate(t){for(let r=0;rHAe,DEFLATE:()=>wj,JsZipImpl:()=>vR,LibZipImpl:()=>DI,STORE:()=>Cj,ZIP_UNIX:()=>om,ZipFS:()=>ps,ZipOpenFS:()=>rA,getArchivePart:()=>dj,getLibzipPromise:()=>Mtt,getLibzipSync:()=>Ltt,makeEmptyArchive:()=>wR,mountMemoryDrive:()=>GAe});function Ltt(){return tv()}async function Mtt(){return tv()}var VAe,nA=Xe(()=>{pj();VAe=et(NAe());MAe();WAe();YAe();yj();FAe(()=>{let e=(0,VAe.default)();return LAe(e)})});var iv,JAe=Xe(()=>{Dt();Yt();sv();iv=class extends at{constructor(){super(...arguments);this.cwd=he.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=he.String();this.args=he.Proxy()}static{this.usage={description:"run a command using yarn's portable shell",details:` + This command will run a command using Yarn's portable shell. + + Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. + + Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. + + Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. + + For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. + `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await bI(r,[],{cwd:fe.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}}});var $l,KAe=Xe(()=>{$l=class extends Error{constructor(t){super(t),this.name="ShellError"}}});var bR={};Vt(bR,{fastGlobOptions:()=>ZAe,isBraceExpansion:()=>vj,isGlobPattern:()=>Utt,match:()=>_tt,micromatchOptions:()=>DR});function Utt(e){if(!SR.default.scan(e,DR).isGlob)return!1;try{SR.default.parse(e,DR)}catch{return!1}return!0}function _tt(e,{cwd:t,baseFs:r}){return(0,zAe.default)(e,{...ZAe,cwd:fe.fromPortablePath(t),fs:ax(XAe.default,new e0(r))})}function vj(e){return SR.default.scan(e,DR).isBrace}var zAe,XAe,SR,DR,ZAe,$Ae=Xe(()=>{Dt();zAe=et(wQ()),XAe=et(Ie("fs")),SR=et(zo()),DR={strictBrackets:!0},ZAe={onlyDirectories:!1,onlyFiles:!1}});function Sj(){}function Dj(){for(let e of am)e.kill()}function npe(e,t,r,s){return a=>{let n=a[0]instanceof iA.Transform?"pipe":a[0],c=a[1]instanceof iA.Transform?"pipe":a[1],f=a[2]instanceof iA.Transform?"pipe":a[2],p=(0,tpe.default)(e,t,{...s,stdio:[n,c,f]});return am.add(p),am.size===1&&(process.on("SIGINT",Sj),process.on("SIGTERM",Dj)),a[0]instanceof iA.Transform&&a[0].pipe(p.stdin),a[1]instanceof iA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof iA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(am.delete(p),am.size===0&&(process.off("SIGINT",Sj),process.off("SIGTERM",Dj)),E.code){case"ENOENT":a[2].write(`command not found: ${e} +`),h(127);break;case"EACCES":a[2].write(`permission denied: ${e} +`),h(128);break;default:a[2].write(`uncaught error: ${E.message} +`),h(1);break}}),p.on("close",E=>{am.delete(p),am.size===0&&(process.off("SIGINT",Sj),process.off("SIGTERM",Dj)),h(E!==null?E:129)})})}}}function ipe(e){return t=>{let r=t[0]==="pipe"?new iA.PassThrough:t[0];return{stdin:r,promise:Promise.resolve().then(()=>e({stdin:r,stdout:t[1],stderr:t[2]}))}}}function PR(e,t){return Pj.start(e,t)}function epe(e,t=null){let r=new iA.PassThrough,s=new rpe.StringDecoder,a="";return r.on("data",n=>{let c=s.write(n),f;do if(f=c.indexOf(` +`),f!==-1){let p=a+c.substring(0,f);c=c.substring(f+1),a="",e(t!==null?`${t} ${p}`:p)}while(f!==-1);a+=c}),r.on("end",()=>{let n=s.end();n!==""&&e(t!==null?`${t} ${n}`:n)}),r}function spe(e,{prefix:t}){return{stdout:epe(r=>e.stdout.write(`${r} +`),e.stdout.isTTY?t:null),stderr:epe(r=>e.stderr.write(`${r} +`),e.stderr.isTTY?t:null)}}var tpe,iA,rpe,am,Mc,bj,Pj,xj=Xe(()=>{tpe=et(SU()),iA=Ie("stream"),rpe=Ie("string_decoder"),am=new Set;Mc=class{constructor(t){this.stream=t}close(){}get(){return this.stream}},bj=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(t){this.stream=t}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Pj=class e{constructor(t,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=t,this.implementation=r}static start(t,{stdin:r,stdout:s,stderr:a}){let n=new e(null,t);return n.stdin=r,n.stdout=s,n.stderr=a,n}pipeTo(t,r=1){let s=new e(this,t),a=new bj;return s.pipe=a,s.stdout=this.stdout,s.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),s}async exec(){let t=["ignore","ignore","ignore"];if(this.pipe)t[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");t[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,t[1]=r.get();let s;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");s=this.stderr,t[2]=s.get();let a=this.implementation(t);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),s.close(),n))}async run(){let t=[];for(let s=this;s;s=s.ancestor)t.push(s.exec());return(await Promise.all(t))[0]}}});var cv={};Vt(cv,{EntryCommand:()=>iv,ShellError:()=>$l,execute:()=>bI,globUtils:()=>bR});function ope(e,t,r){let s=new ec.PassThrough({autoDestroy:!0});switch(e){case 0:(t&1)===1&&r.stdin.pipe(s,{end:!1}),(t&2)===2&&r.stdin instanceof ec.Writable&&s.pipe(r.stdin,{end:!1});break;case 1:(t&1)===1&&r.stdout.pipe(s,{end:!1}),(t&2)===2&&s.pipe(r.stdout,{end:!1});break;case 2:(t&1)===1&&r.stderr.pipe(s,{end:!1}),(t&2)===2&&s.pipe(r.stderr,{end:!1});break;default:throw new $l(`Bad file descriptor: "${e}"`)}return s}function kR(e,t={}){let r={...e,...t};return r.environment={...e.environment,...t.environment},r.variables={...e.variables,...t.variables},r}async function jtt(e,t,r){let s=[],a=new ec.PassThrough;return a.on("data",n=>s.push(n)),await QR(e,t,kR(r,{stdout:a})),Buffer.concat(s).toString().replace(/[\r\n]+$/,"")}async function ape(e,t,r){let s=e.map(async n=>{let c=await lm(n.args,t,r);return{name:n.name,value:c.join(" ")}});return(await Promise.all(s)).reduce((n,c)=>(n[c.name]=c.value,n),{})}function xR(e){return e.match(/[^ \r\n\t]+/g)||[]}async function ppe(e,t,r,s,a=s){switch(e.name){case"$":s(String(process.pid));break;case"#":s(String(t.args.length));break;case"@":if(e.quoted)for(let n of t.args)a(n);else for(let n of t.args){let c=xR(n);for(let f=0;f=0&&n"u"&&(e.defaultValue?c=(await lm(e.defaultValue,t,r)).join(" "):e.alternativeValue&&(c="")),typeof c>"u")throw f?new $l(`Unbound argument #${n}`):new $l(`Unbound variable "${e.name}"`);if(e.quoted)s(c);else{let p=xR(c);for(let E=0;Es.push(n));let a=Number(s.join(" "));return Number.isNaN(a)?ov({type:"variable",name:s.join(" ")},t,r):ov({type:"number",value:a},t,r)}else return Gtt[e.type](await ov(e.left,t,r),await ov(e.right,t,r))}async function lm(e,t,r){let s=new Map,a=[],n=[],c=E=>{n.push(E)},f=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{c(E),f()},h=(E,C,S)=>{let x=JSON.stringify({type:E,fd:C}),I=s.get(x);typeof I>"u"&&s.set(x,I=[]),I.push(S)};for(let E of e){let C=!1;switch(E.type){case"redirection":{let S=await lm(E.args,t,r);for(let x of S)h(E.subtype,E.fd,x)}break;case"argument":for(let S of E.segments)switch(S.type){case"text":c(S.text);break;case"glob":c(S.pattern),C=!0;break;case"shell":{let x=await jtt(S.shell,t,r);if(S.quoted)c(x);else{let I=xR(x);for(let T=0;T"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let x=await t.glob.match(S,{cwd:r.cwd,baseFs:t.baseFs});if(x.length===0){let I=vj(S)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new $l(`No matches found: "${S}"${I}`)}for(let I of x.sort())p(I)}}if(s.size>0){let E=[];for(let[C,S]of s.entries())E.splice(E.length,0,C,String(S.length),...S);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function av(e,t,r){t.builtins.has(e[0])||(e=["command",...e]);let s=fe.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:s});let[n,...c]=e;if(n==="command")return npe(c[0],c.slice(1),t,{cwd:s,env:a});let f=t.builtins.get(n);if(typeof f>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return ipe(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:C,stdout:S,stderr:x}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await f(c,t,r)}finally{r.stdin=C,r.stdout=S,r.stderr=x}})}function qtt(e,t,r){return s=>{let a=new ec.PassThrough,n=QR(e,t,kR(r,{stdin:a}));return{stdin:a,promise:n}}}function Wtt(e,t,r){return s=>{let a=new ec.PassThrough,n=QR(e,t,r);return{stdin:a,promise:n}}}function lpe(e,t,r,s){if(t.length===0)return e;{let a;do a=String(Math.random());while(Object.hasOwn(s.procedures,a));return s.procedures={...s.procedures},s.procedures[a]=e,av([...t,"__ysh_run_procedure",a],r,s)}}async function cpe(e,t,r){let s=e,a=null,n=null;for(;s;){let c=s.then?{...r}:r,f;switch(s.type){case"command":{let p=await lm(s.args,t,r),h=await ape(s.envs,t,r);f=s.envs.length?av(p,t,kR(c,{environment:h})):av(p,t,c)}break;case"subshell":{let p=await lm(s.args,t,r),h=qtt(s.subshell,t,c);f=lpe(h,p,t,c)}break;case"group":{let p=await lm(s.args,t,r),h=Wtt(s.group,t,c);f=lpe(h,p,t,c)}break;case"envs":{let p=await ape(s.envs,t,r);c.environment={...c.environment,...p},f=av(["true"],t,c)}break}if(typeof f>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=PR(f,{stdin:new Mc(c.stdin),stdout:new Mc(c.stdout),stderr:new Mc(c.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(f,1);break;case"|&":n=n.pipeTo(f,3);break}}s.then?(a=s.then.type,s=s.then.chain):s=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Ytt(e,t,r,{background:s=!1}={}){function a(n){let c=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],f=c[n%c.length];return upe.default.hex(f)}if(s){let n=r.nextBackgroundJobIndex++,c=a(n),f=`[${n}]`,p=c(f),{stdout:h,stderr:E}=spe(r,{prefix:p});return r.backgroundJobs.push(cpe(e,t,kR(r,{stdout:h,stderr:E})).catch(C=>E.write(`${C.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${c(gE(e))}' has ended +`)})),0}return await cpe(e,t,r)}async function Vtt(e,t,r,{background:s=!1}={}){let a,n=f=>{a=f,r.variables["?"]=String(f)},c=async f=>{try{return await Ytt(f.chain,t,r,{background:s&&typeof f.then>"u"})}catch(p){if(!(p instanceof $l))throw p;return r.stderr.write(`${p.message} +`),1}};for(n(await c(e));e.then;){if(r.exitCode!==null)return r.exitCode;switch(e.then.type){case"&&":a===0&&n(await c(e.then.line));break;case"||":a!==0&&n(await c(e.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${e.then.type}"`)}e=e.then.line}return a}async function QR(e,t,r){let s=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:c}of e){if(a=await Vtt(n,t,r,{background:c==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=s,a}function hpe(e){switch(e.type){case"variable":return e.name==="@"||e.name==="#"||e.name==="*"||Number.isFinite(parseInt(e.name,10))||"defaultValue"in e&&!!e.defaultValue&&e.defaultValue.some(t=>lv(t))||"alternativeValue"in e&&!!e.alternativeValue&&e.alternativeValue.some(t=>lv(t));case"arithmetic":return kj(e.arithmetic);case"shell":return Qj(e.shell);default:return!1}}function lv(e){switch(e.type){case"redirection":return e.args.some(t=>lv(t));case"argument":return e.segments.some(t=>hpe(t));default:throw new Error(`Assertion failed: Unsupported argument type: "${e.type}"`)}}function kj(e){switch(e.type){case"variable":return hpe(e);case"number":return!1;default:return kj(e.left)||kj(e.right)}}function Qj(e){return e.some(({command:t})=>{for(;t;){let r=t.chain;for(;r;){let s;switch(r.type){case"subshell":s=Qj(r.subshell);break;case"command":s=r.envs.some(a=>a.args.some(n=>lv(n)))||r.args.some(a=>lv(a));break}if(s)return!0;if(!r.then)break;r=r.then.chain}if(!t.then)break;t=t.then.line}return!1})}async function bI(e,t=[],{baseFs:r=new Vn,builtins:s={},cwd:a=fe.toPortablePath(process.cwd()),env:n=process.env,stdin:c=process.stdin,stdout:f=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=bR}={}){let C={};for(let[I,T]of Object.entries(n))typeof T<"u"&&(C[I]=T);let S=new Map(Htt);for(let[I,T]of Object.entries(s))S.set(I,T);c===null&&(c=new ec.PassThrough,c.end());let x=ux(e,E);if(!Qj(x)&&x.length>0&&t.length>0){let{command:I}=x[x.length-1];for(;I.then;)I=I.then.line;let T=I.chain;for(;T.then;)T=T.then.chain;T.type==="command"&&(T.args=T.args.concat(t.map(O=>({type:"argument",segments:[{type:"text",text:O}]}))))}return await QR(x,{args:t,baseFs:r,builtins:S,initialStdin:c,initialStdout:f,initialStderr:p,glob:E},{cwd:a,environment:C,exitCode:null,procedures:{},stdin:c,stdout:f,stderr:p,variables:Object.assign({},h,{"?":0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var upe,fpe,ec,Ape,Htt,Gtt,sv=Xe(()=>{Dt();vc();upe=et(NE()),fpe=Ie("os"),ec=Ie("stream"),Ape=Ie("timers/promises");JAe();KAe();$Ae();xj();xj();Htt=new Map([["cd",async([e=(0,fpe.homedir)(),...t],r,s)=>{let a=J.resolve(s.cwd,fe.toPortablePath(e));if(!(await r.baseFs.statPromise(a).catch(c=>{throw c.code==="ENOENT"?new $l(`cd: no such file or directory: ${e}`):c})).isDirectory())throw new $l(`cd: not a directory: ${e}`);return s.cwd=a,0}],["pwd",async(e,t,r)=>(r.stdout.write(`${fe.fromPortablePath(r.cwd)} +`),0)],[":",async(e,t,r)=>0],["true",async(e,t,r)=>0],["false",async(e,t,r)=>1],["exit",async([e,...t],r,s)=>s.exitCode=parseInt(e??s.variables["?"],10)],["echo",async(e,t,r)=>(r.stdout.write(`${e.join(" ")} +`),0)],["sleep",async([e],t,r)=>{if(typeof e>"u")throw new $l("sleep: missing operand");let s=Number(e);if(Number.isNaN(s))throw new $l(`sleep: invalid time interval '${e}'`);return await(0,Ape.setTimeout)(1e3*s,0)}],["unset",async(e,t,r)=>{for(let s of e)delete r.environment[s],delete r.variables[s];return 0}],["__ysh_run_procedure",async(e,t,r)=>{let s=r.procedures[e[0]];return await PR(s,{stdin:new Mc(r.stdin),stdout:new Mc(r.stdout),stderr:new Mc(r.stderr)}).run()}],["__ysh_set_redirects",async(e,t,r)=>{let s=r.stdin,a=r.stdout,n=r.stderr,c=[],f=[],p=[],h=0;for(;e[h]!=="--";){let C=e[h++],{type:S,fd:x}=JSON.parse(C),I=V=>{switch(x){case null:case 0:c.push(V);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},T=V=>{switch(x){case null:case 1:f.push(V);break;case 2:p.push(V);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},O=Number(e[h++]),U=h+O;for(let V=h;Vt.baseFs.createReadStream(J.resolve(r.cwd,fe.toPortablePath(e[V]))));break;case"<<<":I(()=>{let te=new ec.PassThrough;return process.nextTick(()=>{te.write(`${e[V]} +`),te.end()}),te});break;case"<&":I(()=>ope(Number(e[V]),1,r));break;case">":case">>":{let te=J.resolve(r.cwd,fe.toPortablePath(e[V]));T(te==="/dev/null"?new ec.Writable({autoDestroy:!0,emitClose:!0,write(ie,ue,ae){setImmediate(ae)}}):t.baseFs.createWriteStream(te,S===">>"?{flags:"a"}:void 0))}break;case">&":T(ope(Number(e[V]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${S}"`)}}if(c.length>0){let C=new ec.PassThrough;s=C;let S=x=>{if(x===c.length)C.end();else{let I=c[x]();I.pipe(C,{end:!1}),I.on("end",()=>{S(x+1)})}};S(0)}if(f.length>0){let C=new ec.PassThrough;a=C;for(let S of f)C.pipe(S)}if(p.length>0){let C=new ec.PassThrough;n=C;for(let S of p)C.pipe(S)}let E=await PR(av(e.slice(h+1),t,r),{stdin:new Mc(s),stdout:new Mc(a),stderr:new Mc(n)}).run();return await Promise.all(f.map(C=>new Promise((S,x)=>{C.on("error",I=>{x(I)}),C.on("close",()=>{S()}),C.end()}))),await Promise.all(p.map(C=>new Promise((S,x)=>{C.on("error",I=>{x(I)}),C.on("close",()=>{S()}),C.end()}))),E}]]);Gtt={addition:(e,t)=>e+t,subtraction:(e,t)=>e-t,multiplication:(e,t)=>e*t,division:(e,t)=>Math.trunc(e/t)}});var gpe=G((WMt,RR)=>{function Jtt(){var e=0,t=1,r=2,s=3,a=4,n=5,c=6,f=7,p=8,h=9,E=10,C=11,S=12,x=13,I=14,T=15,O=16,U=17,V=0,te=1,ie=2,ue=3,ae=4;function de(g,Se){return 55296<=g.charCodeAt(Se)&&g.charCodeAt(Se)<=56319&&56320<=g.charCodeAt(Se+1)&&g.charCodeAt(Se+1)<=57343}function Ae(g,Se){Se===void 0&&(Se=0);var Be=g.charCodeAt(Se);if(55296<=Be&&Be<=56319&&Se=1){var me=g.charCodeAt(Se-1),ce=Be;return 55296<=me&&me<=56319?(me-55296)*1024+(ce-56320)+65536:ce}return Be}function Ce(g,Se,Be){var me=[g].concat(Se).concat([Be]),ce=me[me.length-2],Z=Be,De=me.lastIndexOf(I);if(De>1&&me.slice(1,De).every(function(_){return _==s})&&[s,x,U].indexOf(g)==-1)return ie;var Qe=me.lastIndexOf(a);if(Qe>0&&me.slice(1,Qe).every(function(_){return _==a})&&[S,a].indexOf(ce)==-1)return me.filter(function(_){return _==a}).length%2==1?ue:ae;if(ce==e&&Z==t)return V;if(ce==r||ce==e||ce==t)return Z==I&&Se.every(function(_){return _==s})?ie:te;if(Z==r||Z==e||Z==t)return te;if(ce==c&&(Z==c||Z==f||Z==h||Z==E))return V;if((ce==h||ce==f)&&(Z==f||Z==p))return V;if((ce==E||ce==p)&&Z==p)return V;if(Z==s||Z==T)return V;if(Z==n)return V;if(ce==S)return V;var st=me.indexOf(s)!=-1?me.lastIndexOf(s)-1:me.length-2;return[x,U].indexOf(me[st])!=-1&&me.slice(st+1,-1).every(function(_){return _==s})&&Z==I||ce==T&&[O,U].indexOf(Z)!=-1?V:Se.indexOf(a)!=-1?ie:ce==a&&Z==a?V:te}this.nextBreak=function(g,Se){if(Se===void 0&&(Se=0),Se<0)return 0;if(Se>=g.length-1)return g.length;for(var Be=Ee(Ae(g,Se)),me=[],ce=Se+1;ce{var Ktt=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,TR;function ztt(){if(TR)return TR;if(typeof Intl.Segmenter<"u"){let e=new Intl.Segmenter("en",{granularity:"grapheme"});return TR=t=>Array.from(e.segment(t),({segment:r})=>r)}else{let e=gpe(),t=new e;return TR=r=>t.splitGraphemes(r)}}dpe.exports=(e,t=0,r=e.length)=>{if(t<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let s=r-t,a="",n=0,c=0;for(;e.length>0;){let f=e.match(Ktt)||[e,e,void 0],p=ztt()(f[1]),h=Math.min(t-n,p.length);p=p.slice(h);let E=Math.min(s-c,p.length);a+=p.slice(0,E).join(""),n+=h,c+=E,typeof f[2]<"u"&&(a+=f[2]),e=e.slice(f[0].length)}return a}});var An,uv=Xe(()=>{An=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.15.0"});function Bpe(e,{configuration:t,json:r}){if(!t.get("enableMessageNames"))return"";let a=Kf(e===null?0:e);return!r&&e===null?jt(t,a,"grey"):a}function Rj(e,{configuration:t,json:r}){let s=Bpe(e,{configuration:t,json:r});if(!s||e===null||e===0)return s;let a=Ir[e],n=`https://yarnpkg.com/advanced/error-codes#${s}---${a}`.toLowerCase();return ZE(t,s,n)}async function PI({configuration:e,stdout:t,forceError:r},s){let a=await Ot.start({configuration:e,stdout:t,includeFooter:!1},async n=>{let c=!1,f=!1;for(let p of s)typeof p.option<"u"&&(p.error||r?(f=!0,n.reportError(50,p.message)):(c=!0,n.reportWarning(50,p.message)),p.callback?.());c&&!f&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var Cpe,FR,Xtt,ype,Epe,S0,wpe,Ipe,Ztt,$tt,NR,ert,Ot,fv=Xe(()=>{Cpe=et(mpe()),FR=et(Rd());Gx();Fc();uv();Qc();Xtt="\xB7",ype=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Epe=80,S0=FR.default.GITHUB_ACTIONS?{start:e=>`::group::${e} +`,end:e=>`::endgroup:: +`}:FR.default.TRAVIS?{start:e=>`travis_fold:start:${e} +`,end:e=>`travis_fold:end:${e} +`}:FR.default.GITLAB?{start:e=>`section_start:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${e} +`,end:e=>`section_end:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,wpe=S0!==null,Ipe=new Date,Ztt=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,$tt=e=>e,NR=$tt({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),ert=Ztt&&Object.keys(NR).find(e=>{let t=NR[e];return!(t.date&&(t.date[0]!==Ipe.getDate()||t.date[1]!==Ipe.getMonth()+1))})||"default";Ot=class extends yo{constructor({configuration:r,stdout:s,json:a=!1,forceSectionAlignment:n=!1,includeNames:c=!0,includePrefix:f=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:C=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(SB(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=c,this.includePrefix=f,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=C,this.json=a,this.stdout=s,r.get("enableProgressBars")&&!a&&s.isTTY&&s.columns>22){let S=r.get("progressBarStyle")||ert;if(!Object.hasOwn(NR,S))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=NR[S];let x=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*x/80)}}static async start(r,s){let a=new this(r),n=process.emitWarning;process.emitWarning=(c,f)=>{if(typeof c!="string"){let h=c;c=h.message,f=f??h.name}let p=typeof f<"u"?`${f}: ${c}`:c;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,Jd(r.configuration,`Yarn ${An}`,2));try{await s(a)}catch(c){a.reportExceptionOnce(c)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let s=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,s-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let c={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(c):(c.action(),c.committed=!0);let f=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(c),c.committed&&s?.(p-f)}}async startSectionPromise({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let c={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(c):(c.action(),c.committed=!0);let f=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(c),c.committed&&s?.(p-f)}}startTimerImpl(r,s,a){return{cb:typeof s=="function"?s:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,S0!==null&&!this.json&&this.includeInfos&&this.stdout.write(S0.start(r))},reportFooter:f=>{if(this.indent-=1,S0!==null&&!this.json&&this.includeInfos){this.stdout.write(S0.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&f>200?this.reportInfo(null,`\u2514 Completed in ${jt(this.configuration,f,gt.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof s=="function"?{}:s).skipIfEmpty}}startTimerSync(r,s,a){let{cb:n,...c}=this.startTimerImpl(r,s,a);return this.startSectionSync(c,n)}async startTimerPromise(r,s,a){let{cb:n,...c}=this.startTimerImpl(r,s,a);return this.startSectionPromise(c,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,s){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",c=`${this.formatPrefix(n,"blueBright")}${s}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(c)}reportWarning(r,s){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${s}`)}reportError(r,s){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,s)),this.reportErrorImpl(r,s)}reportErrorImpl(r,s){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:s}):this.writeLine(`${this.formatPrefix(n,"redBright")}${s}`,{truncate:!1})}reportFold(r,s){if(!S0)return;let a=`${S0.start(r)}${s}${S0.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let s=!1,a=Promise.resolve().then(async()=>{let c={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:c,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:f,title:p}of r)s||c.progress===f&&c.title===p||(c.progress=f,c.title=p,this.refreshProgress());n()}),n=()=>{s||(s=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let s=jt(this.configuration,Date.now()-this.startTime,gt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${s}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:s}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:s})} +`),this.writeProgress()}writeLines(r,{truncate:s}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:s})} +`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let s of r)s.committed=!0,s.action()}clearProgress({delta:r=0,clear:s=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||s)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>Epe&&(this.progressFrame=(this.progressFrame+1)%ype.length,this.progressTime=r);let s=ype[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let c=this.formatName(null),f=c?`${c}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${jt(this.configuration,"\u27A4","blueBright")} ${f}${s}${n}${p} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Epe)}refreshProgress({delta:r=0,force:s=!1}={}){let a=!1,n=!1;if(s||this.progress.size===0)a=!0;else for(let c of this.progress.values()){let f=typeof c.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*c.definition.progress):void 0,p=c.lastScaledSize;c.lastScaledSize=f;let h=c.lastTitle;if(c.lastTitle=c.definition.title,f!==p||(n=h!==c.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:s}={}){return this.progressStyle===null&&(s=!1),typeof s>"u"&&(s=this.configuration.get("preferTruncatedLines")),s&&(r=(0,Cpe.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Bpe(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,s){return this.includePrefix?`${jt(this.configuration,"\u27A4",s)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?Rj(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${Xtt} `}}});var Cn={};Vt(Cn,{PackageManager:()=>Spe,detectPackageManager:()=>Dpe,executePackageAccessibleBinary:()=>Qpe,executePackageScript:()=>OR,executePackageShellcode:()=>Tj,executeWorkspaceAccessibleBinary:()=>art,executeWorkspaceLifecycleScript:()=>xpe,executeWorkspaceScript:()=>Ppe,getPackageAccessibleBinaries:()=>LR,getWorkspaceAccessibleBinaries:()=>kpe,hasPackageScript:()=>irt,hasWorkspaceScript:()=>Fj,isNodeScript:()=>Nj,makeScriptEnv:()=>Av,maybeExecuteWorkspaceLifecycleScript:()=>ort,prepareExternalProject:()=>nrt});async function D0(e,t,r,s=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${s.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await le.writeFilePromise(J.format({dir:e,name:t,ext:".cmd"}),a)}await le.writeFilePromise(J.join(e,t),`#!/bin/sh +exec "${r}" ${s.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function Dpe(e){let t=await _t.tryFind(e);if(t?.packageManager){let s=PQ(t.packageManager);if(s?.name){let a=`found ${JSON.stringify({packageManager:t.packageManager})} in manifest`,[n]=s.reference.split(".");switch(s.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await le.readFilePromise(J.join(e,Er.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:le.existsSync(J.join(e,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:le.existsSync(J.join(e,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Av({project:e,locator:t,binFolder:r,ignoreCorepack:s,lifecycleScript:a,baseEnv:n=e?.configuration.env??process.env}){let c={};for(let[E,C]of Object.entries(n))typeof C<"u"&&(c[E.toLowerCase()!=="path"?E:"PATH"]=C);let f=fe.fromPortablePath(r);c.BERRY_BIN_FOLDER=fe.fromPortablePath(f);let p=process.env.COREPACK_ROOT&&!s?fe.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([D0(r,"node",process.execPath),...An!==null?[D0(r,"run",process.execPath,[p,"run"]),D0(r,"yarn",process.execPath,[p]),D0(r,"yarnpkg",process.execPath,[p]),D0(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),e&&(c.INIT_CWD=fe.fromPortablePath(e.configuration.startingCwd),c.PROJECT_CWD=fe.fromPortablePath(e.cwd)),c.PATH=c.PATH?`${f}${fe.delimiter}${c.PATH}`:`${f}`,c.npm_execpath=`${f}${fe.sep}yarn`,c.npm_node_execpath=`${f}${fe.sep}node`,t){if(!e)throw new Error("Assertion failed: Missing project");let E=e.tryWorkspaceByLocator(t),C=E?E.manifest.version??"":e.storedPackages.get(t.locatorHash).version??"";c.npm_package_name=fn(t),c.npm_package_version=C;let S;if(E)S=E.cwd;else{let x=e.storedPackages.get(t.locatorHash);if(!x)throw new Error(`Package for ${Yr(e.configuration,t)} not found in the project`);let I=e.configuration.getLinkers(),T={project:e,report:new Ot({stdout:new b0.PassThrough,configuration:e.configuration})},O=I.find(U=>U.supportsPackage(x,T));if(!O)throw new Error(`The package ${Yr(e.configuration,x)} isn't supported by any of the available linkers`);S=await O.findPackageLocation(x,T)}c.npm_package_json=fe.fromPortablePath(J.join(S,Er.manifest))}let h=An!==null?`yarn/${An}`:`yarn/${kp("@yarnpkg/core").version}-core`;return c.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(c.npm_lifecycle_event=a),e&&await e.configuration.triggerHook(E=>E.setupScriptEnvironment,e,c,async(E,C,S)=>await D0(r,E,C,S)),c}async function nrt(e,t,{configuration:r,report:s,workspace:a=null,locator:n=null}){await rrt(async()=>{await le.mktempPromise(async c=>{let f=J.join(c,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(f,{prefix:fe.fromPortablePath(e),report:s}),C=n&&ju(n)?sI(n):n,S=C?ml(C):"an external project";h.write(`Packing ${S} from sources +`);let x=await Dpe(e),I;x!==null?(h.write(`Using ${x.packageManager} for bootstrap. Reason: ${x.reason} + +`),I=x.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn + +`),I="Yarn");let T=I==="Yarn"&&!x?.packageManagerField;await le.mktempPromise(async O=>{let U=await Av({binFolder:O,ignoreCorepack:T,baseEnv:{...process.env,COREPACK_ENABLE_AUTO_PIN:"0"}}),te=new Map([["Yarn Classic",async()=>{let ue=a!==null?["workspace",a]:[],ae=J.join(e,Er.manifest),de=await le.readFilePromise(ae),Ae=await qu(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:e,env:U,stdin:p,stdout:h,stderr:E,end:1});if(Ae.code!==0)return Ae.code;await le.writeFilePromise(ae,de),await le.appendFilePromise(J.join(e,".npmignore"),`/.yarn +`),h.write(` +`),delete U.NODE_ENV;let Ce=await qu("yarn",["install"],{cwd:e,env:U,stdin:p,stdout:h,stderr:E,end:1});if(Ce.code!==0)return Ce.code;h.write(` +`);let Ee=await qu("yarn",[...ue,"pack","--filename",fe.fromPortablePath(t)],{cwd:e,env:U,stdin:p,stdout:h,stderr:E});return Ee.code!==0?Ee.code:0}],["Yarn",async()=>{let ue=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ae=J.join(e,Er.lockfile);await le.existsPromise(ae)||await le.writeFilePromise(ae,"");let de=await qu("yarn",[...ue,"pack","--install-if-needed","--filename",fe.fromPortablePath(t)],{cwd:e,env:U,stdin:p,stdout:h,stderr:E});return de.code!==0?de.code:0}],["npm",async()=>{if(a!==null){let Se=new b0.PassThrough,Be=JE(Se);Se.pipe(h,{end:!1});let me=await qu("npm",["--version"],{cwd:e,env:U,stdin:p,stdout:Se,stderr:E,end:0});if(Se.end(),me.code!==0)return h.end(),E.end(),me.code;let ce=(await Be).toString().trim();if(!tA(ce,">=7.x")){let Z=ka(null,"npm"),De=Mn(Z,ce),Qe=Mn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${oi(r,De)}; please upgrade to ${oi(r,Qe)} (npm has been detected as the primary package manager for ${jt(r,e,gt.PATH)})`)}}let ue=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ae=await qu("npm",["install","--legacy-peer-deps"],{cwd:e,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ae.code!==0)return ae.code;let de=new b0.PassThrough,Ae=JE(de);de.pipe(h);let Ce=await qu("npm",["pack","--silent",...ue],{cwd:e,env:U,stdin:p,stdout:de,stderr:E});if(Ce.code!==0)return Ce.code;let Ee=(await Ae).toString().trim().replace(/^.*\n/s,""),g=J.resolve(e,fe.toPortablePath(Ee));return await le.renamePromise(g,t),0}]]).get(I);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let ie=await te();if(!(ie===0||typeof ie>"u"))throw le.detachTemp(c),new Lt(58,`Packing the package failed (exit code ${ie}, logs can be found here: ${jt(r,f,gt.PATH)})`)})})})}async function irt(e,t,{project:r}){let s=r.tryWorkspaceByLocator(e);if(s!==null)return Fj(s,t);let a=r.storedPackages.get(e.locatorHash);if(!a)throw new Error(`Package for ${Yr(r.configuration,e)} not found in the project`);return await rA.openPromise(async n=>{let c=r.configuration,f=r.configuration.getLinkers(),p={project:r,report:new Ot({stdout:new b0.PassThrough,configuration:c})},h=f.find(x=>x.supportsPackage(a,p));if(!h)throw new Error(`The package ${Yr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),C=new bn(E,{baseFs:n});return(await _t.find(vt.dot,{baseFs:C})).scripts.has(t)})}async function OR(e,t,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f}){return await le.mktempPromise(async p=>{let{manifest:h,env:E,cwd:C}=await bpe(e,{project:a,binFolder:p,cwd:s,lifecycleScript:t}),S=h.scripts.get(t);if(typeof S>"u")return 1;let x=async()=>await bI(S,r,{cwd:C,env:E,stdin:n,stdout:c,stderr:f});return await(await a.configuration.reduceHook(T=>T.wrapScriptExecution,x,a,e,t,{script:S,args:r,cwd:C,env:E,stdin:n,stdout:c,stderr:f}))()})}async function Tj(e,t,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f}){return await le.mktempPromise(async p=>{let{env:h,cwd:E}=await bpe(e,{project:a,binFolder:p,cwd:s});return await bI(t,r,{cwd:E,env:h,stdin:n,stdout:c,stderr:f})})}async function srt(e,{binFolder:t,cwd:r,lifecycleScript:s}){let a=await Av({project:e.project,locator:e.anchoredLocator,binFolder:t,lifecycleScript:s});return await Oj(t,await kpe(e)),typeof r>"u"&&(r=J.dirname(await le.realpathPromise(J.join(e.cwd,"package.json")))),{manifest:e.manifest,binFolder:t,env:a,cwd:r}}async function bpe(e,{project:t,binFolder:r,cwd:s,lifecycleScript:a}){let n=t.tryWorkspaceByLocator(e);if(n!==null)return srt(n,{binFolder:r,cwd:s,lifecycleScript:a});let c=t.storedPackages.get(e.locatorHash);if(!c)throw new Error(`Package for ${Yr(t.configuration,e)} not found in the project`);return await rA.openPromise(async f=>{let p=t.configuration,h=t.configuration.getLinkers(),E={project:t,report:new Ot({stdout:new b0.PassThrough,configuration:p})},C=h.find(O=>O.supportsPackage(c,E));if(!C)throw new Error(`The package ${Yr(t.configuration,c)} isn't supported by any of the available linkers`);let S=await Av({project:t,locator:e,binFolder:r,lifecycleScript:a});await Oj(r,await LR(e,{project:t}));let x=await C.findPackageLocation(c,E),I=new bn(x,{baseFs:f}),T=await _t.find(vt.dot,{baseFs:I});return typeof s>"u"&&(s=x),{manifest:T,binFolder:r,env:S,cwd:s}})}async function Ppe(e,t,r,{cwd:s,stdin:a,stdout:n,stderr:c}){return await OR(e.anchoredLocator,t,r,{cwd:s,project:e.project,stdin:a,stdout:n,stderr:c})}function Fj(e,t){return e.manifest.scripts.has(t)}async function xpe(e,t,{cwd:r,report:s}){let{configuration:a}=e.project,n=null;await le.mktempPromise(async c=>{let f=J.join(c,`${t}.log`),p=`# This file contains the result of Yarn calling the "${t}" lifecycle script inside a workspace ("${fe.fromPortablePath(e.cwd)}") +`,{stdout:h,stderr:E}=a.getSubprocessStreams(f,{report:s,prefix:Yr(a,e.anchoredLocator),header:p});s.reportInfo(36,`Calling the "${t}" lifecycle script`);let C=await Ppe(e,t,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),C!==0)throw le.detachTemp(c),new Lt(36,`${EB(t)} script failed (exit code ${jt(a,C,gt.NUMBER)}, logs can be found here: ${jt(a,f,gt.PATH)}); run ${jt(a,`yarn ${t}`,gt.CODE)} to investigate`)})}async function ort(e,t,r){Fj(e,t)&&await xpe(e,t,r)}function Nj(e){let t=J.extname(e);if(t.match(/\.[cm]?[jt]sx?$/))return!0;if(t===".exe"||t===".bin")return!1;let r=Buffer.alloc(4),s;try{s=le.openSync(e,"r")}catch{return!0}try{le.readSync(s,r,0,r.length,0)}finally{le.closeSync(s)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function LR(e,{project:t}){let r=t.configuration,s=new Map,a=t.storedPackages.get(e.locatorHash);if(!a)throw new Error(`Package for ${Yr(r,e)} not found in the project`);let n=new b0.Writable,c=r.getLinkers(),f={project:t,report:new Ot({configuration:r,stdout:n})},p=new Set([e.locatorHash]);for(let E of a.dependencies.values()){let C=t.storedResolutions.get(E.descriptorHash);if(!C)throw new Error(`Assertion failed: The resolution (${oi(r,E)}) should have been registered`);p.add(C)}let h=await Promise.all(Array.from(p,async E=>{let C=t.storedPackages.get(E);if(!C)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(C.bin.size===0)return Xl.skip;let S=c.find(I=>I.supportsPackage(C,f));if(!S)return Xl.skip;let x=null;try{x=await S.findPackageLocation(C,f)}catch(I){if(I.code==="LOCATOR_NOT_INSTALLED")return Xl.skip;throw I}return{dependency:C,packageLocation:x}}));for(let E of h){if(E===Xl.skip)continue;let{dependency:C,packageLocation:S}=E;for(let[x,I]of C.bin){let T=J.resolve(S,I);s.set(x,[C,fe.fromPortablePath(T),Nj(T)])}}return s}async function kpe(e){return await LR(e.anchoredLocator,{project:e.project})}async function Oj(e,t){await Promise.all(Array.from(t,([r,[,s,a]])=>a?D0(e,r,process.execPath,[s]):D0(e,r,s,[])))}async function Qpe(e,t,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await LR(e,{project:a});let E=h.get(t);if(!E)throw new Error(`Binary not found (${t}) for ${Yr(a.configuration,e)}`);return await le.mktempPromise(async C=>{let[,S]=E,x=await Av({project:a,locator:e,binFolder:C});await Oj(x.BERRY_BIN_FOLDER,h);let I=Nj(fe.toPortablePath(S))?qu(process.execPath,[...p,S,...r],{cwd:s,env:x,stdin:n,stdout:c,stderr:f}):qu(S,r,{cwd:s,env:x,stdin:n,stdout:c,stderr:f}),T;try{T=await I}finally{await le.removePromise(x.BERRY_BIN_FOLDER)}return T.code})}async function art(e,t,r,{cwd:s,stdin:a,stdout:n,stderr:c,packageAccessibleBinaries:f}){return await Qpe(e.anchoredLocator,t,r,{project:e.project,cwd:s,stdin:a,stdout:n,stderr:c,packageAccessibleBinaries:f})}var vpe,b0,Spe,trt,rrt,Lj=Xe(()=>{Dt();Dt();nA();sv();zl();vpe=et(Nd()),b0=Ie("stream");cI();Fc();fv();uv();gR();Qc();kc();Np();Zo();Spe=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(Spe||{});trt=2,rrt=(0,vpe.default)(trt)});function Int(e,t,r){let s=t,a=t?t.next:e.head,n=new H6(r,s,a,e);return n.next===void 0&&(e.tail=n),n.prev===void 0&&(e.head=n),e.length++,n}function Cnt(e,t){e.tail=new H6(t,e.tail,void 0,e),e.head||(e.head=e.tail),e.length++}function wnt(e,t){e.head=new H6(t,void 0,e.head,e),e.tail||(e.tail=e.head),e.length++}var lhe,Na,pT,T6,che,N6,Em,gT,Ahe,cT,O0,Ope,phe,ym,Ehe,Fv,Ju,g6,vhe,B6,G6,khe,q6,wn,gs,W6,Lv,MI,Il,Nhe,Nv,Y6,El,J6,lrt,crt,Rpe,urt,frt,Art,jp,Gp,P0,MR,pv,UR,Tpe,_R,Fpe,Wu,xI,Ks,hv,TI,zs,Fa,Xs,Mj,HR,ra,es,Uj,_j,Npe,Hj,sA,jj,jR,gv,cm,tc,dv,prt,hrt,grt,drt,uhe,mrt,yrt,Ert,vm,Irt,M0,zu,mv,Jn,Gj,Vp,qj,f6,A6,bv,GR,LI,UI,Wj,FI,U0,Ku,R0,oA,NI,Yj,Yp,yv,Vj,ZR,um,$R,Im,F6,Crt,hT,fhe,wrt,Brt,vrt,Srt,Drt,brt,Prt,O6,Ov,xrt,cA,krt,Lpe,Qrt,Jj,Cm,qR,Kj,L6,hhe,Rrt,Trt,ghe,Frt,Nrt,dhe,Ort,Lrt,Mrt,Urt,_rt,Hrt,jrt,Grt,mhe,yhe,qrt,eT,Wrt,dT,M6,wm,Yrt,fm,zj,Vrt,T0,Jrt,Krt,zrt,F0,Xrt,Zrt,$rt,Xj,ent,Am,uT,tnt,rnt,nnt,int,cn,Che,mT,snt,p6,h6,ont,Uc,pm,qp,Zj,Mpe,aA,Ev,x0,Upe,Ci,Wp,k0,$j,hm,hs,WR,YR,e6,_pe,Hpe,Iv,t6,VR,kI,Q0,JR,gm,KR,zR,jpe,ant,Bm,Pv,lnt,whe,cnt,unt,yT,Bhe,fnt,Gpe,U6,ET,_6,Ant,pnt,qpe,hnt,She,gnt,Wpe,Ype,Vpe,d6,Jpe,Cv,tT,m6,rT,y6,E6,I6,C6,N0,fT,w6,r6,lA,Dhe,dnt,mnt,ynt,Ent,H6,Kpe,zpe,nT,wv,Yu,dm,mm,Bv,n6,Vu,i6,iT,Xpe,v6,S6,sT,oT,Zpe,s6,aT,bhe,o6,IT,j6,Bnt,vnt,Phe,xhe,Snt,Dnt,hUt,bnt,Pnt,xnt,knt,Qnt,Qhe,Rnt,Tnt,Fnt,Rhe,D6,AT,Nnt,The,Ont,Fhe,Ohe,CT,Lnt,Mnt,b6,Lhe,Unt,_nt,a6,$pe,QI,Hnt,jnt,Gnt,qnt,Wnt,Ynt,ehe,P6,the,x6,_c,k6,Q6,lT,rhe,nhe,Dv,ihe,she,l6,L0,Zs,XR,ohe,RI,c6,u6,R6,xv,kv,Qv,Rv,Vnt,Tv,Jnt,Knt,znt,ahe,V6,vv,Mhe,Xnt,Znt,gUt,$nt,eit,tit,rit,nit,Sv,dUt,iit,Uhe=Xe(()=>{lhe=et(Ie("events"),1),Na=et(Ie("fs"),1),pT=Ie("node:events"),T6=et(Ie("node:stream"),1),che=Ie("node:string_decoder"),N6=et(Ie("node:path"),1),Em=et(Ie("node:fs"),1),gT=Ie("path"),Ahe=Ie("events"),cT=et(Ie("assert"),1),O0=Ie("buffer"),Ope=et(Ie("zlib"),1),phe=et(Ie("zlib"),1),ym=Ie("node:path"),Ehe=Ie("node:path"),Fv=et(Ie("fs"),1),Ju=et(Ie("fs"),1),g6=et(Ie("path"),1),vhe=Ie("node:path"),B6=et(Ie("path"),1),G6=et(Ie("node:fs"),1),khe=et(Ie("node:assert"),1),q6=Ie("node:crypto"),wn=et(Ie("node:fs"),1),gs=et(Ie("node:path"),1),W6=et(Ie("fs"),1),Lv=et(Ie("node:fs"),1),MI=et(Ie("node:path"),1),Il=et(Ie("node:fs"),1),Nhe=et(Ie("node:fs/promises"),1),Nv=et(Ie("node:path"),1),Y6=Ie("node:path"),El=et(Ie("node:fs"),1),J6=et(Ie("node:path"),1),lrt=Object.defineProperty,crt=(e,t)=>{for(var r in t)lrt(e,r,{get:t[r],enumerable:!0})},Rpe=typeof process=="object"&&process?process:{stdout:null,stderr:null},urt=e=>!!e&&typeof e=="object"&&(e instanceof vm||e instanceof T6.default||frt(e)||Art(e)),frt=e=>!!e&&typeof e=="object"&&e instanceof pT.EventEmitter&&typeof e.pipe=="function"&&e.pipe!==T6.default.Writable.prototype.pipe,Art=e=>!!e&&typeof e=="object"&&e instanceof pT.EventEmitter&&typeof e.write=="function"&&typeof e.end=="function",jp=Symbol("EOF"),Gp=Symbol("maybeEmitEnd"),P0=Symbol("emittedEnd"),MR=Symbol("emittingEnd"),pv=Symbol("emittedError"),UR=Symbol("closed"),Tpe=Symbol("read"),_R=Symbol("flush"),Fpe=Symbol("flushChunk"),Wu=Symbol("encoding"),xI=Symbol("decoder"),Ks=Symbol("flowing"),hv=Symbol("paused"),TI=Symbol("resume"),zs=Symbol("buffer"),Fa=Symbol("pipes"),Xs=Symbol("bufferLength"),Mj=Symbol("bufferPush"),HR=Symbol("bufferShift"),ra=Symbol("objectMode"),es=Symbol("destroyed"),Uj=Symbol("error"),_j=Symbol("emitData"),Npe=Symbol("emitEnd"),Hj=Symbol("emitEnd2"),sA=Symbol("async"),jj=Symbol("abort"),jR=Symbol("aborted"),gv=Symbol("signal"),cm=Symbol("dataListeners"),tc=Symbol("discarded"),dv=e=>Promise.resolve().then(e),prt=e=>e(),hrt=e=>e==="end"||e==="finish"||e==="prefinish",grt=e=>e instanceof ArrayBuffer||!!e&&typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,drt=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),uhe=class{src;dest;opts;ondrain;constructor(e,t,r){this.src=e,this.dest=t,this.opts=r,this.ondrain=()=>e[TI](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},mrt=class extends uhe{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,r){super(e,t,r),this.proxyErrors=s=>t.emit("error",s),e.on("error",this.proxyErrors)}},yrt=e=>!!e.objectMode,Ert=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer",vm=class extends pT.EventEmitter{[Ks]=!1;[hv]=!1;[Fa]=[];[zs]=[];[ra];[Wu];[sA];[xI];[jp]=!1;[P0]=!1;[MR]=!1;[UR]=!1;[pv]=null;[Xs]=0;[es]=!1;[gv];[jR]=!1;[cm]=0;[tc]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&typeof t.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");yrt(t)?(this[ra]=!0,this[Wu]=null):Ert(t)?(this[Wu]=t.encoding,this[ra]=!1):(this[ra]=!1,this[Wu]=null),this[sA]=!!t.async,this[xI]=this[Wu]?new che.StringDecoder(this[Wu]):null,t&&t.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[zs]}),t&&t.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[Fa]});let{signal:r}=t;r&&(this[gv]=r,r.aborted?this[jj]():r.addEventListener("abort",()=>this[jj]()))}get bufferLength(){return this[Xs]}get encoding(){return this[Wu]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[ra]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get async(){return this[sA]}set async(e){this[sA]=this[sA]||!!e}[jj](){this[jR]=!0,this.emit("abort",this[gv]?.reason),this.destroy(this[gv]?.reason)}get aborted(){return this[jR]}set aborted(e){}write(e,t,r){if(this[jR])return!1;if(this[jp])throw new Error("write after end");if(this[es])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(r=t,t="utf8"),t||(t="utf8");let s=this[sA]?dv:prt;if(!this[ra]&&!Buffer.isBuffer(e)){if(drt(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(grt(e))e=Buffer.from(e);else if(typeof e!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[ra]?(this[Ks]&&this[Xs]!==0&&this[_R](!0),this[Ks]?this.emit("data",e):this[Mj](e),this[Xs]!==0&&this.emit("readable"),r&&s(r),this[Ks]):e.length?(typeof e=="string"&&!(t===this[Wu]&&!this[xI]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Wu]&&(e=this[xI].write(e)),this[Ks]&&this[Xs]!==0&&this[_R](!0),this[Ks]?this.emit("data",e):this[Mj](e),this[Xs]!==0&&this.emit("readable"),r&&s(r),this[Ks]):(this[Xs]!==0&&this.emit("readable"),r&&s(r),this[Ks])}read(e){if(this[es])return null;if(this[tc]=!1,this[Xs]===0||e===0||e&&e>this[Xs])return this[Gp](),null;this[ra]&&(e=null),this[zs].length>1&&!this[ra]&&(this[zs]=[this[Wu]?this[zs].join(""):Buffer.concat(this[zs],this[Xs])]);let t=this[Tpe](e||null,this[zs][0]);return this[Gp](),t}[Tpe](e,t){if(this[ra])this[HR]();else{let r=t;e===r.length||e===null?this[HR]():typeof r=="string"?(this[zs][0]=r.slice(e),t=r.slice(0,e),this[Xs]-=e):(this[zs][0]=r.subarray(e),t=r.subarray(0,e),this[Xs]-=e)}return this.emit("data",t),!this[zs].length&&!this[jp]&&this.emit("drain"),t}end(e,t,r){return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t="utf8"),e!==void 0&&this.write(e,t),r&&this.once("end",r),this[jp]=!0,this.writable=!1,(this[Ks]||!this[hv])&&this[Gp](),this}[TI](){this[es]||(!this[cm]&&!this[Fa].length&&(this[tc]=!0),this[hv]=!1,this[Ks]=!0,this.emit("resume"),this[zs].length?this[_R]():this[jp]?this[Gp]():this.emit("drain"))}resume(){return this[TI]()}pause(){this[Ks]=!1,this[hv]=!0,this[tc]=!1}get destroyed(){return this[es]}get flowing(){return this[Ks]}get paused(){return this[hv]}[Mj](e){this[ra]?this[Xs]+=1:this[Xs]+=e.length,this[zs].push(e)}[HR](){return this[ra]?this[Xs]-=1:this[Xs]-=this[zs][0].length,this[zs].shift()}[_R](e=!1){do;while(this[Fpe](this[HR]())&&this[zs].length);!e&&!this[zs].length&&!this[jp]&&this.emit("drain")}[Fpe](e){return this.emit("data",e),this[Ks]}pipe(e,t){if(this[es])return e;this[tc]=!1;let r=this[P0];return t=t||{},e===Rpe.stdout||e===Rpe.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,r?t.end&&e.end():(this[Fa].push(t.proxyErrors?new mrt(this,e,t):new uhe(this,e,t)),this[sA]?dv(()=>this[TI]()):this[TI]()),e}unpipe(e){let t=this[Fa].find(r=>r.dest===e);t&&(this[Fa].length===1?(this[Ks]&&this[cm]===0&&(this[Ks]=!1),this[Fa]=[]):this[Fa].splice(this[Fa].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let r=super.on(e,t);if(e==="data")this[tc]=!1,this[cm]++,!this[Fa].length&&!this[Ks]&&this[TI]();else if(e==="readable"&&this[Xs]!==0)super.emit("readable");else if(hrt(e)&&this[P0])super.emit(e),this.removeAllListeners(e);else if(e==="error"&&this[pv]){let s=t;this[sA]?dv(()=>s.call(this,this[pv])):s.call(this,this[pv])}return r}removeListener(e,t){return this.off(e,t)}off(e,t){let r=super.off(e,t);return e==="data"&&(this[cm]=this.listeners("data").length,this[cm]===0&&!this[tc]&&!this[Fa].length&&(this[Ks]=!1)),r}removeAllListeners(e){let t=super.removeAllListeners(e);return(e==="data"||e===void 0)&&(this[cm]=0,!this[tc]&&!this[Fa].length&&(this[Ks]=!1)),t}get emittedEnd(){return this[P0]}[Gp](){!this[MR]&&!this[P0]&&!this[es]&&this[zs].length===0&&this[jp]&&(this[MR]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[UR]&&this.emit("close"),this[MR]=!1)}emit(e,...t){let r=t[0];if(e!=="error"&&e!=="close"&&e!==es&&this[es])return!1;if(e==="data")return!this[ra]&&!r?!1:this[sA]?(dv(()=>this[_j](r)),!0):this[_j](r);if(e==="end")return this[Npe]();if(e==="close"){if(this[UR]=!0,!this[P0]&&!this[es])return!1;let a=super.emit("close");return this.removeAllListeners("close"),a}else if(e==="error"){this[pv]=r,super.emit(Uj,r);let a=!this[gv]||this.listeners("error").length?super.emit("error",r):!1;return this[Gp](),a}else if(e==="resume"){let a=super.emit("resume");return this[Gp](),a}else if(e==="finish"||e==="prefinish"){let a=super.emit(e);return this.removeAllListeners(e),a}let s=super.emit(e,...t);return this[Gp](),s}[_j](e){for(let r of this[Fa])r.dest.write(e)===!1&&this.pause();let t=this[tc]?!1:super.emit("data",e);return this[Gp](),t}[Npe](){return this[P0]?!1:(this[P0]=!0,this.readable=!1,this[sA]?(dv(()=>this[Hj]()),!0):this[Hj]())}[Hj](){if(this[xI]){let t=this[xI].end();if(t){for(let r of this[Fa])r.dest.write(t);this[tc]||super.emit("data",t)}}for(let t of this[Fa])t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[ra]||(e.dataLength=0);let t=this.promise();return this.on("data",r=>{e.push(r),this[ra]||(e.dataLength+=r.length)}),await t,e}async concat(){if(this[ra])throw new Error("cannot concat in objectMode");let e=await this.collect();return this[Wu]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(es,()=>t(new Error("stream destroyed"))),this.on("error",r=>t(r)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[tc]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{if(e)return t();let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[jp])return t();let s,a,n=h=>{this.off("data",c),this.off("end",f),this.off(es,p),t(),a(h)},c=h=>{this.off("error",n),this.off("end",f),this.off(es,p),this.pause(),s({value:h,done:!!this[jp]})},f=()=>{this.off("error",n),this.off("data",c),this.off(es,p),t(),s({done:!0,value:void 0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,s=h,this.once(es,p),this.once("error",n),this.once("end",f),this.once("data",c)})},throw:t,return:t,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[tc]=!1;let e=!1,t=()=>(this.pause(),this.off(Uj,t),this.off(es,t),this.off("end",t),e=!0,{done:!0,value:void 0}),r=()=>{if(e)return t();let s=this.read();return s===null?t():{done:!1,value:s}};return this.once("end",t),this.once(Uj,t),this.once(es,t),{next:r,throw:t,return:t,[Symbol.iterator](){return this}}}destroy(e){if(this[es])return e?this.emit("error",e):this.emit(es),this;this[es]=!0,this[tc]=!0,this[zs].length=0,this[Xs]=0;let t=this;return typeof t.close=="function"&&!this[UR]&&t.close(),e?this.emit("error",e):this.emit(es),this}static get isStream(){return urt}},Irt=Na.default.writev,M0=Symbol("_autoClose"),zu=Symbol("_close"),mv=Symbol("_ended"),Jn=Symbol("_fd"),Gj=Symbol("_finished"),Vp=Symbol("_flags"),qj=Symbol("_flush"),f6=Symbol("_handleChunk"),A6=Symbol("_makeBuf"),bv=Symbol("_mode"),GR=Symbol("_needDrain"),LI=Symbol("_onerror"),UI=Symbol("_onopen"),Wj=Symbol("_onread"),FI=Symbol("_onwrite"),U0=Symbol("_open"),Ku=Symbol("_path"),R0=Symbol("_pos"),oA=Symbol("_queue"),NI=Symbol("_read"),Yj=Symbol("_readSize"),Yp=Symbol("_reading"),yv=Symbol("_remain"),Vj=Symbol("_size"),ZR=Symbol("_write"),um=Symbol("_writing"),$R=Symbol("_defaultFlag"),Im=Symbol("_errored"),F6=class extends vm{[Im]=!1;[Jn];[Ku];[Yj];[Yp]=!1;[Vj];[yv];[M0];constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Im]=!1,this[Jn]=typeof t.fd=="number"?t.fd:void 0,this[Ku]=e,this[Yj]=t.readSize||16*1024*1024,this[Yp]=!1,this[Vj]=typeof t.size=="number"?t.size:1/0,this[yv]=this[Vj],this[M0]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[Jn]=="number"?this[NI]():this[U0]()}get fd(){return this[Jn]}get path(){return this[Ku]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[U0](){Na.default.open(this[Ku],"r",(e,t)=>this[UI](e,t))}[UI](e,t){e?this[LI](e):(this[Jn]=t,this.emit("open",t),this[NI]())}[A6](){return Buffer.allocUnsafe(Math.min(this[Yj],this[yv]))}[NI](){if(!this[Yp]){this[Yp]=!0;let e=this[A6]();if(e.length===0)return process.nextTick(()=>this[Wj](null,0,e));Na.default.read(this[Jn],e,0,e.length,null,(t,r,s)=>this[Wj](t,r,s))}}[Wj](e,t,r){this[Yp]=!1,e?this[LI](e):this[f6](t,r)&&this[NI]()}[zu](){if(this[M0]&&typeof this[Jn]=="number"){let e=this[Jn];this[Jn]=void 0,Na.default.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[LI](e){this[Yp]=!0,this[zu](),this.emit("error",e)}[f6](e,t){let r=!1;return this[yv]-=e,e>0&&(r=super.write(ethis[UI](e,t))}[UI](e,t){this[$R]&&this[Vp]==="r+"&&e&&e.code==="ENOENT"?(this[Vp]="w",this[U0]()):e?this[LI](e):(this[Jn]=t,this.emit("open",t),this[um]||this[qj]())}end(e,t){return e&&this.write(e,t),this[mv]=!0,!this[um]&&!this[oA].length&&typeof this[Jn]=="number"&&this[FI](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[mv]?(this.emit("error",new Error("write() after end()")),!1):this[Jn]===void 0||this[um]||this[oA].length?(this[oA].push(e),this[GR]=!0,!1):(this[um]=!0,this[ZR](e),!0)}[ZR](e){Na.default.write(this[Jn],e,0,e.length,this[R0],(t,r)=>this[FI](t,r))}[FI](e,t){e?this[LI](e):(this[R0]!==void 0&&typeof t=="number"&&(this[R0]+=t),this[oA].length?this[qj]():(this[um]=!1,this[mv]&&!this[Gj]?(this[Gj]=!0,this[zu](),this.emit("finish")):this[GR]&&(this[GR]=!1,this.emit("drain"))))}[qj](){if(this[oA].length===0)this[mv]&&this[FI](null,0);else if(this[oA].length===1)this[ZR](this[oA].pop());else{let e=this[oA];this[oA]=[],Irt(this[Jn],e,this[R0],(t,r)=>this[FI](t,r))}}[zu](){if(this[M0]&&typeof this[Jn]=="number"){let e=this[Jn];this[Jn]=void 0,Na.default.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},fhe=class extends hT{[U0](){let e;if(this[$R]&&this[Vp]==="r+")try{e=Na.default.openSync(this[Ku],this[Vp],this[bv])}catch(t){if(t?.code==="ENOENT")return this[Vp]="w",this[U0]();throw t}else e=Na.default.openSync(this[Ku],this[Vp],this[bv]);this[UI](null,e)}[zu](){if(this[M0]&&typeof this[Jn]=="number"){let e=this[Jn];this[Jn]=void 0,Na.default.closeSync(e),this.emit("close")}}[ZR](e){let t=!0;try{this[FI](null,Na.default.writeSync(this[Jn],e,0,e.length,this[R0])),t=!1}finally{if(t)try{this[zu]()}catch{}}}},wrt=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),Brt=e=>!!e.sync&&!!e.file,vrt=e=>!e.sync&&!!e.file,Srt=e=>!!e.sync&&!e.file,Drt=e=>!e.sync&&!e.file,brt=e=>!!e.file,Prt=e=>wrt.get(e)||e,O6=(e={})=>{if(!e)return{};let t={};for(let[r,s]of Object.entries(e)){let a=Prt(r);t[a]=s}return t.chmod===void 0&&t.noChmod===!1&&(t.chmod=!0),delete t.noChmod,t},Ov=(e,t,r,s,a)=>Object.assign((n=[],c,f)=>{Array.isArray(n)&&(c=n,n={}),typeof c=="function"&&(f=c,c=void 0),c?c=Array.from(c):c=[];let p=O6(n);if(a?.(p,c),Brt(p)){if(typeof f=="function")throw new TypeError("callback not supported for sync tar functions");return e(p,c)}else if(vrt(p)){let h=t(p,c),E=f||void 0;return E?h.then(()=>E(),E):h}else if(Srt(p)){if(typeof f=="function")throw new TypeError("callback not supported for sync tar functions");return r(p,c)}else if(Drt(p)){if(typeof f=="function")throw new TypeError("callback only supported with file option");return s(p,c)}else throw new Error("impossible options??")},{syncFile:e,asyncFile:t,syncNoFile:r,asyncNoFile:s,validate:a}),xrt=phe.default.constants||{ZLIB_VERNUM:4736},cA=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},xrt)),krt=O0.Buffer.concat,Lpe=Object.getOwnPropertyDescriptor(O0.Buffer,"concat"),Qrt=e=>e,Jj=Lpe?.writable===!0||Lpe?.set!==void 0?e=>{O0.Buffer.concat=e?Qrt:krt}:e=>{},Cm=Symbol("_superWrite"),qR=class extends Error{code;errno;constructor(e,t){super("zlib: "+e.message,{cause:e}),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,t??this.constructor)}get name(){return"ZlibError"}},Kj=Symbol("flushFlag"),L6=class extends vm{#e=!1;#t=!1;#s;#r;#i;#n;#o;get sawError(){return this.#e}get handle(){return this.#n}get flushFlag(){return this.#s}constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");if(super(e),this.#s=e.flush??0,this.#r=e.finishFlush??0,this.#i=e.fullFlushFlag??0,typeof Ope[t]!="function")throw new TypeError("Compression method not supported: "+t);try{this.#n=new Ope[t](e)}catch(r){throw new qR(r,this.constructor)}this.#o=r=>{this.#e||(this.#e=!0,this.close(),this.emit("error",r))},this.#n?.on("error",r=>this.#o(new qR(r))),this.once("end",()=>this.close)}close(){this.#n&&(this.#n.close(),this.#n=void 0,this.emit("close"))}reset(){if(!this.#e)return(0,cT.default)(this.#n,"zlib binding closed"),this.#n.reset?.()}flush(e){this.ended||(typeof e!="number"&&(e=this.#i),this.write(Object.assign(O0.Buffer.alloc(0),{[Kj]:e})))}end(e,t,r){return typeof e=="function"&&(r=e,t=void 0,e=void 0),typeof t=="function"&&(r=t,t=void 0),e&&(t?this.write(e,t):this.write(e)),this.flush(this.#r),this.#t=!0,super.end(r)}get ended(){return this.#t}[Cm](e){return super.write(e)}write(e,t,r){if(typeof t=="function"&&(r=t,t="utf8"),typeof e=="string"&&(e=O0.Buffer.from(e,t)),this.#e)return;(0,cT.default)(this.#n,"zlib binding closed");let s=this.#n._handle,a=s.close;s.close=()=>{};let n=this.#n.close;this.#n.close=()=>{},Jj(!0);let c;try{let p=typeof e[Kj]=="number"?e[Kj]:this.#s;c=this.#n._processChunk(e,p),Jj(!1)}catch(p){Jj(!1),this.#o(new qR(p,this.write))}finally{this.#n&&(this.#n._handle=s,s.close=a,this.#n.close=n,this.#n.removeAllListeners("error"))}this.#n&&this.#n.on("error",p=>this.#o(new qR(p,this.write)));let f;if(c)if(Array.isArray(c)&&c.length>0){let p=c[0];f=this[Cm](O0.Buffer.from(p));for(let h=1;h{typeof s=="function"&&(a=s,s=this.flushFlag),this.flush(s),a?.()};try{this.handle.params(e,t)}finally{this.handle.flush=r}this.handle&&(this.#e=e,this.#t=t)}}}},Rrt=class extends hhe{#e;constructor(e){super(e,"Gzip"),this.#e=e&&!!e.portable}[Cm](e){return this.#e?(this.#e=!1,e[9]=255,super[Cm](e)):super[Cm](e)}},Trt=class extends hhe{constructor(e){super(e,"Unzip")}},ghe=class extends L6{constructor(e,t){e=e||{},e.flush=e.flush||cA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||cA.BROTLI_OPERATION_FINISH,e.fullFlushFlag=cA.BROTLI_OPERATION_FLUSH,super(e,t)}},Frt=class extends ghe{constructor(e){super(e,"BrotliCompress")}},Nrt=class extends ghe{constructor(e){super(e,"BrotliDecompress")}},dhe=class extends L6{constructor(e,t){e=e||{},e.flush=e.flush||cA.ZSTD_e_continue,e.finishFlush=e.finishFlush||cA.ZSTD_e_end,e.fullFlushFlag=cA.ZSTD_e_flush,super(e,t)}},Ort=class extends dhe{constructor(e){super(e,"ZstdCompress")}},Lrt=class extends dhe{constructor(e){super(e,"ZstdDecompress")}},Mrt=(e,t)=>{if(Number.isSafeInteger(e))e<0?_rt(e,t):Urt(e,t);else throw Error("cannot encode number outside of javascript safe integer range");return t},Urt=(e,t)=>{t[0]=128;for(var r=t.length;r>1;r--)t[r-1]=e&255,e=Math.floor(e/256)},_rt=(e,t)=>{t[0]=255;var r=!1;e=e*-1;for(var s=t.length;s>1;s--){var a=e&255;e=Math.floor(e/256),r?t[s-1]=mhe(a):a===0?t[s-1]=0:(r=!0,t[s-1]=yhe(a))}},Hrt=e=>{let t=e[0],r=t===128?Grt(e.subarray(1,e.length)):t===255?jrt(e):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},jrt=e=>{for(var t=e.length,r=0,s=!1,a=t-1;a>-1;a--){var n=Number(e[a]),c;s?c=mhe(n):n===0?c=n:(s=!0,c=yhe(n)),c!==0&&(r-=c*Math.pow(256,t-a-1))}return r},Grt=e=>{for(var t=e.length,r=0,s=t-1;s>-1;s--){var a=Number(e[s]);a!==0&&(r+=a*Math.pow(256,t-s-1))}return r},mhe=e=>(255^e)&255,yhe=e=>(255^e)+1&255,qrt={};crt(qrt,{code:()=>M6,isCode:()=>eT,isName:()=>Wrt,name:()=>dT});eT=e=>dT.has(e),Wrt=e=>M6.has(e),dT=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),M6=new Map(Array.from(dT).map(e=>[e[1],e[0]])),wm=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#e="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(e,t=0,r,s){Buffer.isBuffer(e)?this.decode(e,t||0,r,s):e&&this.#t(e)}decode(e,t,r,s){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");this.path=r?.path??fm(e,t,100),this.mode=r?.mode??s?.mode??T0(e,t+100,8),this.uid=r?.uid??s?.uid??T0(e,t+108,8),this.gid=r?.gid??s?.gid??T0(e,t+116,8),this.size=r?.size??s?.size??T0(e,t+124,12),this.mtime=r?.mtime??s?.mtime??zj(e,t+136,12),this.cksum=T0(e,t+148,12),s&&this.#t(s,!0),r&&this.#t(r);let a=fm(e,t+156,1);if(eT(a)&&(this.#e=a||"0"),this.#e==="0"&&this.path.slice(-1)==="/"&&(this.#e="5"),this.#e==="5"&&(this.size=0),this.linkpath=fm(e,t+157,100),e.subarray(t+257,t+265).toString()==="ustar\x0000")if(this.uname=r?.uname??s?.uname??fm(e,t+265,32),this.gname=r?.gname??s?.gname??fm(e,t+297,32),this.devmaj=r?.devmaj??s?.devmaj??T0(e,t+329,8)??0,this.devmin=r?.devmin??s?.devmin??T0(e,t+337,8)??0,e[t+475]!==0){let c=fm(e,t+345,155);this.path=c+"/"+this.path}else{let c=fm(e,t+345,130);c&&(this.path=c+"/"+this.path),this.atime=r?.atime??s?.atime??zj(e,t+476,12),this.ctime=r?.ctime??s?.ctime??zj(e,t+488,12)}let n=256;for(let c=t;c!(s==null||r==="path"&&t||r==="linkpath"&&t||r==="global"))))}encode(e,t=0){if(e||(e=this.block=Buffer.alloc(512)),this.#e==="Unsupported"&&(this.#e="0"),!(e.length>=t+512))throw new Error("need 512 bytes for header");let r=this.ctime||this.atime?130:155,s=Yrt(this.path||"",r),a=s[0],n=s[1];this.needPax=!!s[2],this.needPax=Am(e,t,100,a)||this.needPax,this.needPax=F0(e,t+100,8,this.mode)||this.needPax,this.needPax=F0(e,t+108,8,this.uid)||this.needPax,this.needPax=F0(e,t+116,8,this.gid)||this.needPax,this.needPax=F0(e,t+124,12,this.size)||this.needPax,this.needPax=Xj(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this.#e.charCodeAt(0),this.needPax=Am(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Am(e,t+265,32,this.uname)||this.needPax,this.needPax=Am(e,t+297,32,this.gname)||this.needPax,this.needPax=F0(e,t+329,8,this.devmaj)||this.needPax,this.needPax=F0(e,t+337,8,this.devmin)||this.needPax,this.needPax=Am(e,t+345,r,n)||this.needPax,e[t+475]!==0?this.needPax=Am(e,t+345,155,n)||this.needPax:(this.needPax=Am(e,t+345,130,n)||this.needPax,this.needPax=Xj(e,t+476,12,this.atime)||this.needPax,this.needPax=Xj(e,t+488,12,this.ctime)||this.needPax);let c=256;for(let f=t;f{let r=e,s="",a,n=ym.posix.parse(e).root||".";if(Buffer.byteLength(r)<100)a=[r,s,!1];else{s=ym.posix.dirname(r),r=ym.posix.basename(r);do Buffer.byteLength(r)<=100&&Buffer.byteLength(s)<=t?a=[r,s,!1]:Buffer.byteLength(r)>100&&Buffer.byteLength(s)<=t?a=[r.slice(0,99),s,!0]:(r=ym.posix.join(ym.posix.basename(s),r),s=ym.posix.dirname(s));while(s!==n&&a===void 0);a||(a=[e.slice(0,99),"",!0])}return a},fm=(e,t,r)=>e.subarray(t,t+r).toString("utf8").replace(/\0.*/,""),zj=(e,t,r)=>Vrt(T0(e,t,r)),Vrt=e=>e===void 0?void 0:new Date(e*1e3),T0=(e,t,r)=>Number(e[t])&128?Hrt(e.subarray(t,t+r)):Krt(e,t,r),Jrt=e=>isNaN(e)?void 0:e,Krt=(e,t,r)=>Jrt(parseInt(e.subarray(t,t+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),zrt={12:8589934591,8:2097151},F0=(e,t,r,s)=>s===void 0?!1:s>zrt[r]||s<0?(Mrt(s,e.subarray(t,t+r)),!0):(Xrt(e,t,r,s),!1),Xrt=(e,t,r,s)=>e.write(Zrt(s,r),t,r,"ascii"),Zrt=(e,t)=>$rt(Math.floor(e).toString(8),t),$rt=(e,t)=>(e.length===t-1?e:new Array(t-e.length-1).join("0")+e+" ")+"\0",Xj=(e,t,r,s)=>s===void 0?!1:F0(e,t,r,s.getTime()/1e3),ent=new Array(156).join("\0"),Am=(e,t,r,s)=>s===void 0?!1:(e.write(s+ent,t,r,"utf8"),s.length!==Buffer.byteLength(s)||s.length>r),uT=class Ihe{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,r=!1){this.atime=t.atime,this.charset=t.charset,this.comment=t.comment,this.ctime=t.ctime,this.dev=t.dev,this.gid=t.gid,this.global=r,this.gname=t.gname,this.ino=t.ino,this.linkpath=t.linkpath,this.mtime=t.mtime,this.nlink=t.nlink,this.path=t.path,this.size=t.size,this.uid=t.uid,this.uname=t.uname}encode(){let t=this.encodeBody();if(t==="")return Buffer.allocUnsafe(0);let r=Buffer.byteLength(t),s=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(s);for(let n=0;n<512;n++)a[n]=0;new wm({path:("PaxHeader/"+(0,Ehe.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:r,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(a),a.write(t,512,r,"utf8");for(let n=r+512;n=Math.pow(10,c)&&(c+=1),c+n+a}static parse(t,r,s=!1){return new Ihe(tnt(rnt(t),r),s)}},tnt=(e,t)=>t?Object.assign({},t,e):e,rnt=e=>e.replace(/\n$/,"").split(` +`).reduce(nnt,Object.create(null)),nnt=(e,t)=>{let r=parseInt(t,10);if(r!==Buffer.byteLength(t)+1)return e;t=t.slice((r+" ").length);let s=t.split("="),a=s.shift();if(!a)return e;let n=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),c=s.join("=");return e[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(Number(c)*1e3):/^[0-9]+$/.test(c)?+c:c,e},int=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,cn=int!=="win32"?e=>e:e=>e&&e.replace(/\\/g,"/"),Che=class extends vm{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(e,t,r){switch(super({}),this.pause(),this.extended=t,this.globalExtended=r,this.header=e,this.remain=e.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=e.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!e.path)throw new Error("no path provided for tar.ReadEntry");this.path=cn(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=this.remain,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath?cn(e.linkpath):void 0,this.uname=e.uname,this.gname=e.gname,t&&this.#e(t),r&&this.#e(r,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let r=this.remain,s=this.blockRemain;return this.remain=Math.max(0,r-t),this.blockRemain=Math.max(0,s-t),this.ignore?!0:r>=t?super.write(e):super.write(e.subarray(0,r))}#e(e,t=!1){e.path&&(e.path=cn(e.path)),e.linkpath&&(e.linkpath=cn(e.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(e).filter(([r,s])=>!(s==null||r==="path"&&t))))}},mT=(e,t,r,s={})=>{e.file&&(s.file=e.file),e.cwd&&(s.cwd=e.cwd),s.code=r instanceof Error&&r.code||t,s.tarCode=t,!e.strict&&s.recoverable!==!1?(r instanceof Error&&(s=Object.assign(r,s),r=r.message),e.emit("warn",t,r,s)):r instanceof Error?e.emit("error",Object.assign(r,s)):e.emit("error",Object.assign(new Error(`${t}: ${r}`),s))},snt=1024*1024,p6=Buffer.from([31,139]),h6=Buffer.from([40,181,47,253]),ont=Math.max(p6.length,h6.length),Uc=Symbol("state"),pm=Symbol("writeEntry"),qp=Symbol("readEntry"),Zj=Symbol("nextEntry"),Mpe=Symbol("processEntry"),aA=Symbol("extendedHeader"),Ev=Symbol("globalExtendedHeader"),x0=Symbol("meta"),Upe=Symbol("emitMeta"),Ci=Symbol("buffer"),Wp=Symbol("queue"),k0=Symbol("ended"),$j=Symbol("emittedEnd"),hm=Symbol("emit"),hs=Symbol("unzip"),WR=Symbol("consumeChunk"),YR=Symbol("consumeChunkSub"),e6=Symbol("consumeBody"),_pe=Symbol("consumeMeta"),Hpe=Symbol("consumeHeader"),Iv=Symbol("consuming"),t6=Symbol("bufferConcat"),VR=Symbol("maybeEnd"),kI=Symbol("writing"),Q0=Symbol("aborted"),JR=Symbol("onDone"),gm=Symbol("sawValidEntry"),KR=Symbol("sawNullBlock"),zR=Symbol("sawEOF"),jpe=Symbol("closeStream"),ant=()=>!0,Bm=class extends Ahe.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[Wp]=[];[Ci];[qp];[pm];[Uc]="begin";[x0]="";[aA];[Ev];[k0]=!1;[hs];[Q0]=!1;[gm];[KR]=!1;[zR]=!1;[kI]=!1;[Iv]=!1;[$j]=!1;constructor(e={}){super(),this.file=e.file||"",this.on(JR,()=>{(this[Uc]==="begin"||this[gm]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(JR,e.ondone):this.on(JR,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||snt,this.filter=typeof e.filter=="function"?e.filter:ant;let t=e.file&&(e.file.endsWith(".tar.br")||e.file.endsWith(".tbr"));this.brotli=!(e.gzip||e.zstd)&&e.brotli!==void 0?e.brotli:t?void 0:!1;let r=e.file&&(e.file.endsWith(".tar.zst")||e.file.endsWith(".tzst"));this.zstd=!(e.gzip||e.brotli)&&e.zstd!==void 0?e.zstd:r?!0:void 0,this.on("end",()=>this[jpe]()),typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onReadEntry=="function"&&this.on("entry",e.onReadEntry)}warn(e,t,r={}){mT(this,e,t,r)}[Hpe](e,t){this[gm]===void 0&&(this[gm]=!1);let r;try{r=new wm(e,t,this[aA],this[Ev])}catch(s){return this.warn("TAR_ENTRY_INVALID",s)}if(r.nullBlock)this[KR]?(this[zR]=!0,this[Uc]==="begin"&&(this[Uc]="header"),this[hm]("eof")):(this[KR]=!0,this[hm]("nullBlock"));else if(this[KR]=!1,!r.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:r});else if(!r.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:r});else{let s=r.type;if(/^(Symbolic)?Link$/.test(s)&&!r.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:r});else if(!/^(Symbolic)?Link$/.test(s)&&!/^(Global)?ExtendedHeader$/.test(s)&&r.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:r});else{let a=this[pm]=new Che(r,this[aA],this[Ev]);if(!this[gm])if(a.remain){let n=()=>{a.invalid||(this[gm]=!0)};a.on("end",n)}else this[gm]=!0;a.meta?a.size>this.maxMetaEntrySize?(a.ignore=!0,this[hm]("ignoredEntry",a),this[Uc]="ignore",a.resume()):a.size>0&&(this[x0]="",a.on("data",n=>this[x0]+=n),this[Uc]="meta"):(this[aA]=void 0,a.ignore=a.ignore||!this.filter(a.path,a),a.ignore?(this[hm]("ignoredEntry",a),this[Uc]=a.remain?"ignore":"header",a.resume()):(a.remain?this[Uc]="body":(this[Uc]="header",a.end()),this[qp]?this[Wp].push(a):(this[Wp].push(a),this[Zj]())))}}}[jpe](){queueMicrotask(()=>this.emit("close"))}[Mpe](e){let t=!0;if(!e)this[qp]=void 0,t=!1;else if(Array.isArray(e)){let[r,...s]=e;this.emit(r,...s)}else this[qp]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",()=>this[Zj]()),t=!1);return t}[Zj](){do;while(this[Mpe](this[Wp].shift()));if(!this[Wp].length){let e=this[qp];!e||e.flowing||e.size===e.remain?this[kI]||this.emit("drain"):e.once("drain",()=>this.emit("drain"))}}[e6](e,t){let r=this[pm];if(!r)throw new Error("attempt to consume body without entry??");let s=r.blockRemain??0,a=s>=e.length&&t===0?e:e.subarray(t,t+s);return r.write(a),r.blockRemain||(this[Uc]="header",this[pm]=void 0,r.end()),a.length}[_pe](e,t){let r=this[pm],s=this[e6](e,t);return!this[pm]&&r&&this[Upe](r),s}[hm](e,t,r){!this[Wp].length&&!this[qp]?this.emit(e,t,r):this[Wp].push([e,t,r])}[Upe](e){switch(this[hm]("meta",this[x0]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[aA]=uT.parse(this[x0],this[aA],!1);break;case"GlobalExtendedHeader":this[Ev]=uT.parse(this[x0],this[Ev],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let t=this[aA]??Object.create(null);this[aA]=t,t.path=this[x0].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let t=this[aA]||Object.create(null);this[aA]=t,t.linkpath=this[x0].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Q0]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e,t,r){if(typeof t=="function"&&(r=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,typeof t=="string"?t:"utf8")),this[Q0])return r?.(),!1;if((this[hs]===void 0||this.brotli===void 0&&this[hs]===!1)&&e){if(this[Ci]&&(e=Buffer.concat([this[Ci],e]),this[Ci]=void 0),e.lengththis[WR](p)),this[hs].on("error",p=>this.abort(p)),this[hs].on("end",()=>{this[k0]=!0,this[WR]()}),this[kI]=!0;let f=!!this[hs][c?"end":"write"](e);return this[kI]=!1,r?.(),f}}this[kI]=!0,this[hs]?this[hs].write(e):this[WR](e),this[kI]=!1;let s=this[Wp].length?!1:this[qp]?this[qp].flowing:!0;return!s&&!this[Wp].length&&this[qp]?.once("drain",()=>this.emit("drain")),r?.(),s}[t6](e){e&&!this[Q0]&&(this[Ci]=this[Ci]?Buffer.concat([this[Ci],e]):e)}[VR](){if(this[k0]&&!this[$j]&&!this[Q0]&&!this[Iv]){this[$j]=!0;let e=this[pm];if(e&&e.blockRemain){let t=this[Ci]?this[Ci].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Ci]&&e.write(this[Ci]),e.end()}this[hm](JR)}}[WR](e){if(this[Iv]&&e)this[t6](e);else if(!e&&!this[Ci])this[VR]();else if(e){if(this[Iv]=!0,this[Ci]){this[t6](e);let t=this[Ci];this[Ci]=void 0,this[YR](t)}else this[YR](e);for(;this[Ci]&&this[Ci]?.length>=512&&!this[Q0]&&!this[zR];){let t=this[Ci];this[Ci]=void 0,this[YR](t)}this[Iv]=!1}(!this[Ci]||this[k0])&&this[VR]()}[YR](e){let t=0,r=e.length;for(;t+512<=r&&!this[Q0]&&!this[zR];)switch(this[Uc]){case"begin":case"header":this[Hpe](e,t),t+=512;break;case"ignore":case"body":t+=this[e6](e,t);break;case"meta":t+=this[_pe](e,t);break;default:throw new Error("invalid state: "+this[Uc])}t{let t=e.length-1,r=-1;for(;t>-1&&e.charAt(t)==="/";)r=t,t--;return r===-1?e:e.slice(0,r)},lnt=e=>{let t=e.onReadEntry;e.onReadEntry=t?r=>{t(r),r.resume()}:r=>r.resume()},whe=(e,t)=>{let r=new Map(t.map(n=>[Pv(n),!0])),s=e.filter,a=(n,c="")=>{let f=c||(0,gT.parse)(n).root||".",p;if(n===f)p=!1;else{let h=r.get(n);h!==void 0?p=h:p=a((0,gT.dirname)(n),f)}return r.set(n,p),p};e.filter=s?(n,c)=>s(n,c)&&a(Pv(n)):n=>a(Pv(n))},cnt=e=>{let t=new Bm(e),r=e.file,s;try{s=Em.default.openSync(r,"r");let a=Em.default.fstatSync(s),n=e.maxReadSize||16*1024*1024;if(a.size{let r=new Bm(e),s=e.maxReadSize||16*1024*1024,a=e.file;return new Promise((n,c)=>{r.on("error",c),r.on("end",n),Em.default.stat(a,(f,p)=>{if(f)c(f);else{let h=new F6(a,{readSize:s,size:p.size});h.on("error",c),h.pipe(r)}})})},yT=Ov(cnt,unt,e=>new Bm(e),e=>new Bm(e),(e,t)=>{t?.length&&whe(e,t),e.noResume||lnt(e)}),Bhe=(e,t,r)=>(e&=4095,r&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e),{isAbsolute:fnt,parse:Gpe}=vhe.win32,U6=e=>{let t="",r=Gpe(e);for(;fnt(e)||r.root;){let s=e.charAt(0)==="/"&&e.slice(0,4)!=="//?/"?"/":r.root;e=e.slice(s.length),t+=s,r=Gpe(e)}return[t,e]},ET=["|","<",">","?",":"],_6=ET.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),Ant=new Map(ET.map((e,t)=>[e,_6[t]])),pnt=new Map(_6.map((e,t)=>[e,ET[t]])),qpe=e=>ET.reduce((t,r)=>t.split(r).join(Ant.get(r)),e),hnt=e=>_6.reduce((t,r)=>t.split(r).join(pnt.get(r)),e),She=(e,t)=>t?(e=cn(e).replace(/^\.(\/|$)/,""),Pv(t)+"/"+e):cn(e),gnt=16*1024*1024,Wpe=Symbol("process"),Ype=Symbol("file"),Vpe=Symbol("directory"),d6=Symbol("symlink"),Jpe=Symbol("hardlink"),Cv=Symbol("header"),tT=Symbol("read"),m6=Symbol("lstat"),rT=Symbol("onlstat"),y6=Symbol("onread"),E6=Symbol("onreadlink"),I6=Symbol("openfile"),C6=Symbol("onopenfile"),N0=Symbol("close"),fT=Symbol("mode"),w6=Symbol("awaitDrain"),r6=Symbol("ondrain"),lA=Symbol("prefix"),Dhe=class extends vm{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#e=!1;constructor(e,t={}){let r=O6(t);super(),this.path=cn(e),this.portable=!!r.portable,this.maxReadSize=r.maxReadSize||gnt,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=cn(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime,this.prefix=r.prefix?cn(r.prefix):void 0,this.onWriteEntry=r.onWriteEntry,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let s=!1;if(!this.preservePaths){let[n,c]=U6(this.path);n&&typeof c=="string"&&(this.path=c,s=n)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=hnt(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=cn(r.absolute||g6.default.resolve(this.cwd,e)),this.path===""&&(this.path="./"),s&&this.warn("TAR_ENTRY_INFO",`stripping ${s} from absolute path`,{entry:this,path:s+this.path});let a=this.statCache.get(this.absolute);a?this[rT](a):this[m6]()}warn(e,t,r={}){return mT(this,e,t,r)}emit(e,...t){return e==="error"&&(this.#e=!0),super.emit(e,...t)}[m6](){Ju.default.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[rT](t)})}[rT](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=ynt(e),this.emit("stat",e),this[Wpe]()}[Wpe](){switch(this.type){case"File":return this[Ype]();case"Directory":return this[Vpe]();case"SymbolicLink":return this[d6]();default:return this.end()}}[fT](e){return Bhe(e,this.type==="Directory",this.portable)}[lA](e){return She(e,this.prefix)}[Cv](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new wm({path:this[lA](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[lA](this.linkpath):this.linkpath,mode:this[fT](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new uT({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[lA](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[lA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let e=this.header?.block;if(!e)throw new Error("failed to encode header");super.write(e)}[Vpe](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Cv](),this.end()}[d6](){Ju.default.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[E6](t)})}[E6](e){this.linkpath=cn(e),this[Cv](),this.end()}[Jpe](e){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=cn(g6.default.relative(this.cwd,e)),this.stat.size=0,this[Cv](),this.end()}[Ype](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let e=`${this.stat.dev}:${this.stat.ino}`,t=this.linkCache.get(e);if(t?.indexOf(this.cwd)===0)return this[Jpe](t);this.linkCache.set(e,this.absolute)}if(this[Cv](),this.stat.size===0)return this.end();this[I6]()}[I6](){Ju.default.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[C6](t)})}[C6](e){if(this.fd=e,this.#e)return this[N0]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[tT]()}[tT](){let{fd:e,buf:t,offset:r,length:s,pos:a}=this;if(e===void 0||t===void 0)throw new Error("cannot read file without first opening");Ju.default.read(e,t,r,s,a,(n,c)=>{if(n)return this[N0](()=>this.emit("error",n));this[y6](c)})}[N0](e=()=>{}){this.fd!==void 0&&Ju.default.close(this.fd,e)}[y6](e){if(e<=0&&this.remain>0){let r=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[N0](()=>this.emit("error",r))}if(e>this.remain){let r=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[N0](()=>this.emit("error",r))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(e===this.remain)for(let r=e;rthis[r6]())}[w6](e){this.once("drain",e)}write(e,t,r){if(typeof t=="function"&&(r=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,typeof t=="string"?t:"utf8")),this.blockRemaine?this.emit("error",e):this.end());if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[tT]()}},dnt=class extends Dhe{sync=!0;[m6](){this[rT](Ju.default.lstatSync(this.absolute))}[d6](){this[E6](Ju.default.readlinkSync(this.absolute))}[I6](){this[C6](Ju.default.openSync(this.absolute,"r"))}[tT](){let e=!0;try{let{fd:t,buf:r,offset:s,length:a,pos:n}=this;if(t===void 0||r===void 0)throw new Error("fd and buf must be set in READ method");let c=Ju.default.readSync(t,r,s,a,n);this[y6](c),e=!1}finally{if(e)try{this[N0](()=>{})}catch{}}}[w6](e){e()}[N0](e=()=>{}){this.fd!==void 0&&Ju.default.closeSync(this.fd),e()}},mnt=class extends vm{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(e,t,r={}){return mT(this,e,t,r)}constructor(e,t={}){let r=O6(t);super(),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.onWriteEntry=r.onWriteEntry,this.readEntry=e;let{type:s}=e;if(s==="Unsupported")throw new Error("writing entry that should be ignored");this.type=s,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix,this.path=cn(e.path),this.mode=e.mode!==void 0?this[fT](e.mode):void 0,this.uid=this.portable?void 0:e.uid,this.gid=this.portable?void 0:e.gid,this.uname=this.portable?void 0:e.uname,this.gname=this.portable?void 0:e.gname,this.size=e.size,this.mtime=this.noMtime?void 0:r.mtime||e.mtime,this.atime=this.portable?void 0:e.atime,this.ctime=this.portable?void 0:e.ctime,this.linkpath=e.linkpath!==void 0?cn(e.linkpath):void 0,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let a=!1;if(!this.preservePaths){let[c,f]=U6(this.path);c&&typeof f=="string"&&(this.path=f,a=c)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.onWriteEntry?.(this),this.header=new wm({path:this[lA](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[lA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),a&&this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path}),this.header.encode()&&!this.noPax&&super.write(new uT({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[lA](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[lA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let n=this.header?.block;if(!n)throw new Error("failed to encode header");super.write(n),e.pipe(this)}[lA](e){return She(e,this.prefix)}[fT](e){return Bhe(e,this.type==="Directory",this.portable)}write(e,t,r){typeof t=="function"&&(r=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,typeof t=="string"?t:"utf8"));let s=e.length;if(s>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=s,super.write(e,r)}end(e,t,r){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof e=="function"&&(r=e,t=void 0,e=void 0),typeof t=="function"&&(r=t,t=void 0),typeof e=="string"&&(e=Buffer.from(e,t??"utf8")),r&&this.once("finish",r),e?super.end(e,r):super.end(r),this}},ynt=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported",Ent=class OI{tail;head;length=0;static create(t=[]){return new OI(t)}constructor(t=[]){for(let r of t)this.push(r)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");let r=t.next,s=t.prev;return r&&(r.prev=s),s&&(s.next=r),t===this.head&&(this.head=r),t===this.tail&&(this.tail=s),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,r}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let r=this.head;t.list=this,t.next=r,r&&(r.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let r=this.tail;t.list=this,t.prev=r,r&&(r.next=t),this.tail=t,this.head||(this.head=t),this.length++}push(...t){for(let r=0,s=t.length;r1)s=r;else if(this.head)a=this.head.next,s=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;a;n++)s=t(s,a.value,n),a=a.next;return s}reduceReverse(t,r){let s,a=this.tail;if(arguments.length>1)s=r;else if(this.tail)a=this.tail.prev,s=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let n=this.length-1;a;n--)s=t(s,a.value,n),a=a.prev;return s}toArray(){let t=new Array(this.length);for(let r=0,s=this.head;s;r++)t[r]=s.value,s=s.next;return t}toArrayReverse(){let t=new Array(this.length);for(let r=0,s=this.tail;s;r++)t[r]=s.value,s=s.prev;return t}slice(t=0,r=this.length){r<0&&(r+=this.length),t<0&&(t+=this.length);let s=new OI;if(rthis.length&&(r=this.length);let a=this.head,n=0;for(n=0;a&&nthis.length&&(r=this.length);let a=this.length,n=this.tail;for(;n&&a>r;a--)n=n.prev;for(;n&&a>t;a--,n=n.prev)s.push(n.value);return s}splice(t,r=0,...s){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let a=this.head;for(let c=0;a&&c1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(e.gzip&&(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Rrt(e.gzip)),e.brotli&&(typeof e.brotli!="object"&&(e.brotli={}),this.zip=new Frt(e.brotli)),e.zstd&&(typeof e.zstd!="object"&&(e.zstd={}),this.zip=new Ort(e.zstd)),!this.zip)throw new Error("impossible");let t=this.zip;t.on("data",r=>super.write(r)),t.on("end",()=>super.end()),t.on("drain",()=>this[o6]()),this.on("resume",()=>t.resume())}else this.on("drain",this[o6]);this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,e.mtime&&(this.mtime=e.mtime),this.filter=typeof e.filter=="function"?e.filter:()=>!0,this[Yu]=new Ent,this[Vu]=0,this.jobs=Number(e.jobs)||4,this[Bv]=!1,this[wv]=!1}[bhe](e){return super.write(e)}add(e){return this.write(e),this}end(e,t,r){return typeof e=="function"&&(r=e,e=void 0),typeof t=="function"&&(r=t,t=void 0),e&&this.add(e),this[wv]=!0,this[mm](),r&&r(),this}write(e){if(this[wv])throw new Error("write after end");return e instanceof Che?this[Xpe](e):this[iT](e),this.flowing}[Xpe](e){let t=cn(B6.default.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let r=new Kpe(e.path,t);r.entry=new mnt(e,this[s6](r)),r.entry.on("end",()=>this[i6](r)),this[Vu]+=1,this[Yu].push(r)}this[mm]()}[iT](e){let t=cn(B6.default.resolve(this.cwd,e));this[Yu].push(new Kpe(e,t)),this[mm]()}[v6](e){e.pending=!0,this[Vu]+=1;let t=this.follow?"stat":"lstat";Fv.default[t](e.absolute,(r,s)=>{e.pending=!1,this[Vu]-=1,r?this.emit("error",r):this[nT](e,s)})}[nT](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)?t.isFile()&&t.nlink>1&&e===this[dm]&&!this.linkCache.get(`${t.dev}:${t.ino}`)&&!this.sync&&this[n6](e):e.ignore=!0,this[mm]()}[S6](e){e.pending=!0,this[Vu]+=1,Fv.default.readdir(e.absolute,(t,r)=>{if(e.pending=!1,this[Vu]-=1,t)return this.emit("error",t);this[sT](e,r)})}[sT](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[mm]()}[mm](){if(!this[Bv]){this[Bv]=!0;for(let e=this[Yu].head;e&&this[Vu]this.warn(t,r,s),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[Zpe](e){this[Vu]+=1;try{return new this[aT](e.path,this[s6](e)).on("end",()=>this[i6](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[o6](){this[dm]&&this[dm].entry&&this[dm].entry.resume()}[oT](e){e.piped=!0,e.readdir&&e.readdir.forEach(s=>{let a=e.path,n=a==="./"?"":a.replace(/\/*$/,"/");this[iT](n+s)});let t=e.entry,r=this.zip;if(!t)throw new Error("cannot pipe without source");r?t.on("data",s=>{r.write(s)||t.pause()}):t.on("data",s=>{super.write(s)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(e,t,r={}){mT(this,e,t,r)}},j6=class extends IT{sync=!0;constructor(e){super(e),this[aT]=dnt}pause(){}resume(){}[v6](e){let t=this.follow?"statSync":"lstatSync";this[nT](e,Fv.default[t](e.absolute))}[S6](e){this[sT](e,Fv.default.readdirSync(e.absolute))}[oT](e){let t=e.entry,r=this.zip;if(e.readdir&&e.readdir.forEach(s=>{let a=e.path,n=a==="./"?"":a.replace(/\/*$/,"/");this[iT](n+s)}),!t)throw new Error("Cannot pipe without source");r?t.on("data",s=>{r.write(s)}):t.on("data",s=>{super[bhe](s)})}},Bnt=(e,t)=>{let r=new j6(e),s=new fhe(e.file,{mode:e.mode||438});r.pipe(s),Phe(r,t)},vnt=(e,t)=>{let r=new IT(e),s=new hT(e.file,{mode:e.mode||438});r.pipe(s);let a=new Promise((n,c)=>{s.on("error",c),s.on("close",n),r.on("error",c)});return xhe(r,t),a},Phe=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?yT({file:N6.default.resolve(e.cwd,r.slice(1)),sync:!0,noResume:!0,onReadEntry:s=>e.add(s)}):e.add(r)}),e.end()},xhe=async(e,t)=>{for(let r=0;r{e.add(a)}}):e.add(s)}e.end()},Snt=(e,t)=>{let r=new j6(e);return Phe(r,t),r},Dnt=(e,t)=>{let r=new IT(e);return xhe(r,t),r},hUt=Ov(Bnt,vnt,Snt,Dnt,(e,t)=>{if(!t?.length)throw new TypeError("no paths specified to add to archive")}),bnt=process.platform,Pnt=bnt==="win32",{O_CREAT:xnt,O_TRUNC:knt,O_WRONLY:Qnt}=W6.default.constants,Qhe=Number(process.env.__FAKE_FS_O_FILENAME__)||W6.default.constants.UV_FS_O_FILEMAP||0,Rnt=Pnt&&!!Qhe,Tnt=512*1024,Fnt=Qhe|knt|xnt|Qnt,Rhe=Rnt?e=>e"w",D6=(e,t,r)=>{try{return Lv.default.lchownSync(e,t,r)}catch(s){if(s?.code!=="ENOENT")throw s}},AT=(e,t,r,s)=>{Lv.default.lchown(e,t,r,a=>{s(a&&a?.code!=="ENOENT"?a:null)})},Nnt=(e,t,r,s,a)=>{if(t.isDirectory())The(MI.default.resolve(e,t.name),r,s,n=>{if(n)return a(n);let c=MI.default.resolve(e,t.name);AT(c,r,s,a)});else{let n=MI.default.resolve(e,t.name);AT(n,r,s,a)}},The=(e,t,r,s)=>{Lv.default.readdir(e,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return s();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return s(a)}if(a||!n.length)return AT(e,t,r,s);let c=n.length,f=null,p=h=>{if(!f){if(h)return s(f=h);if(--c===0)return AT(e,t,r,s)}};for(let h of n)Nnt(e,h,t,r,p)})},Ont=(e,t,r,s)=>{t.isDirectory()&&Fhe(MI.default.resolve(e,t.name),r,s),D6(MI.default.resolve(e,t.name),r,s)},Fhe=(e,t,r)=>{let s;try{s=Lv.default.readdirSync(e,{withFileTypes:!0})}catch(a){let n=a;if(n?.code==="ENOENT")return;if(n?.code==="ENOTDIR"||n?.code==="ENOTSUP")return D6(e,t,r);throw n}for(let a of s)Ont(e,a,t,r);return D6(e,t,r)},Ohe=class extends Error{path;code;syscall="chdir";constructor(e,t){super(`${t}: Cannot cd into '${e}'`),this.path=e,this.code=t}get name(){return"CwdError"}},CT=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(e,t){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=e,this.path=t}get name(){return"SymlinkError"}},Lnt=(e,t)=>{Il.default.stat(e,(r,s)=>{(r||!s.isDirectory())&&(r=new Ohe(e,r?.code||"ENOTDIR")),t(r)})},Mnt=(e,t,r)=>{e=cn(e);let s=t.umask??18,a=t.mode|448,n=(a&s)!==0,c=t.uid,f=t.gid,p=typeof c=="number"&&typeof f=="number"&&(c!==t.processUid||f!==t.processGid),h=t.preserve,E=t.unlink,C=cn(t.cwd),S=(I,T)=>{I?r(I):T&&p?The(T,c,f,O=>S(O)):n?Il.default.chmod(e,a,r):r()};if(e===C)return Lnt(e,S);if(h)return Nhe.default.mkdir(e,{mode:a,recursive:!0}).then(I=>S(null,I??void 0),S);let x=cn(Nv.default.relative(C,e)).split("/");b6(C,x,a,E,C,void 0,S)},b6=(e,t,r,s,a,n,c)=>{if(!t.length)return c(null,n);let f=t.shift(),p=cn(Nv.default.resolve(e+"/"+f));Il.default.mkdir(p,r,Lhe(p,t,r,s,a,n,c))},Lhe=(e,t,r,s,a,n,c)=>f=>{f?Il.default.lstat(e,(p,h)=>{if(p)p.path=p.path&&cn(p.path),c(p);else if(h.isDirectory())b6(e,t,r,s,a,n,c);else if(s)Il.default.unlink(e,E=>{if(E)return c(E);Il.default.mkdir(e,r,Lhe(e,t,r,s,a,n,c))});else{if(h.isSymbolicLink())return c(new CT(e,e+"/"+t.join("/")));c(f)}}):(n=n||e,b6(e,t,r,s,a,n,c))},Unt=e=>{let t=!1,r;try{t=Il.default.statSync(e).isDirectory()}catch(s){r=s?.code}finally{if(!t)throw new Ohe(e,r??"ENOTDIR")}},_nt=(e,t)=>{e=cn(e);let r=t.umask??18,s=t.mode|448,a=(s&r)!==0,n=t.uid,c=t.gid,f=typeof n=="number"&&typeof c=="number"&&(n!==t.processUid||c!==t.processGid),p=t.preserve,h=t.unlink,E=cn(t.cwd),C=I=>{I&&f&&Fhe(I,n,c),a&&Il.default.chmodSync(e,s)};if(e===E)return Unt(E),C();if(p)return C(Il.default.mkdirSync(e,{mode:s,recursive:!0})??void 0);let S=cn(Nv.default.relative(E,e)).split("/"),x;for(let I=S.shift(),T=E;I&&(T+="/"+I);I=S.shift()){T=cn(Nv.default.resolve(T));try{Il.default.mkdirSync(T,s),x=x||T}catch{let O=Il.default.lstatSync(T);if(O.isDirectory())continue;if(h){Il.default.unlinkSync(T),Il.default.mkdirSync(T,s),x=x||T;continue}else if(O.isSymbolicLink())return new CT(T,T+"/"+S.join("/"))}}return C(x)},a6=Object.create(null),$pe=1e4,QI=new Set,Hnt=e=>{QI.has(e)?QI.delete(e):a6[e]=e.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),QI.add(e);let t=a6[e],r=QI.size-$pe;if(r>$pe/10){for(let s of QI)if(QI.delete(s),delete a6[s],--r<=0)break}return t},jnt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Gnt=jnt==="win32",qnt=e=>e.split("/").slice(0,-1).reduce((t,r)=>{let s=t[t.length-1];return s!==void 0&&(r=(0,Y6.join)(s,r)),t.push(r||"/"),t},[]),Wnt=class{#e=new Map;#t=new Map;#s=new Set;reserve(e,t){e=Gnt?["win32 parallelization disabled"]:e.map(s=>Pv((0,Y6.join)(Hnt(s))));let r=new Set(e.map(s=>qnt(s)).reduce((s,a)=>s.concat(a)));this.#t.set(t,{dirs:r,paths:e});for(let s of e){let a=this.#e.get(s);a?a.push(t):this.#e.set(s,[t])}for(let s of r){let a=this.#e.get(s);if(!a)this.#e.set(s,[new Set([t])]);else{let n=a[a.length-1];n instanceof Set?n.add(t):a.push(new Set([t]))}}return this.#i(t)}#r(e){let t=this.#t.get(e);if(!t)throw new Error("function does not have any path reservations");return{paths:t.paths.map(r=>this.#e.get(r)),dirs:[...t.dirs].map(r=>this.#e.get(r))}}check(e){let{paths:t,dirs:r}=this.#r(e);return t.every(s=>s&&s[0]===e)&&r.every(s=>s&&s[0]instanceof Set&&s[0].has(e))}#i(e){return this.#s.has(e)||!this.check(e)?!1:(this.#s.add(e),e(()=>this.#n(e)),!0)}#n(e){if(!this.#s.has(e))return!1;let t=this.#t.get(e);if(!t)throw new Error("invalid reservation");let{paths:r,dirs:s}=t,a=new Set;for(let n of r){let c=this.#e.get(n);if(!c||c?.[0]!==e)continue;let f=c[1];if(!f){this.#e.delete(n);continue}if(c.shift(),typeof f=="function")a.add(f);else for(let p of f)a.add(p)}for(let n of s){let c=this.#e.get(n),f=c?.[0];if(!(!c||!(f instanceof Set)))if(f.size===1&&c.length===1){this.#e.delete(n);continue}else if(f.size===1){c.shift();let p=c[0];typeof p=="function"&&a.add(p)}else f.delete(e)}return this.#s.delete(e),a.forEach(n=>this.#i(n)),!0}},Ynt=()=>process.umask(),ehe=Symbol("onEntry"),P6=Symbol("checkFs"),the=Symbol("checkFs2"),x6=Symbol("isReusable"),_c=Symbol("makeFs"),k6=Symbol("file"),Q6=Symbol("directory"),lT=Symbol("link"),rhe=Symbol("symlink"),nhe=Symbol("hardlink"),Dv=Symbol("ensureNoSymlink"),ihe=Symbol("unsupported"),she=Symbol("checkPath"),l6=Symbol("stripAbsolutePath"),L0=Symbol("mkdir"),Zs=Symbol("onError"),XR=Symbol("pending"),ohe=Symbol("pend"),RI=Symbol("unpend"),c6=Symbol("ended"),u6=Symbol("maybeClose"),R6=Symbol("skip"),xv=Symbol("doChown"),kv=Symbol("uid"),Qv=Symbol("gid"),Rv=Symbol("checkedCwd"),Vnt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Tv=Vnt==="win32",Jnt=1024,Knt=(e,t)=>{if(!Tv)return wn.default.unlink(e,t);let r=e+".DELETE."+(0,q6.randomBytes)(16).toString("hex");wn.default.rename(e,r,s=>{if(s)return t(s);wn.default.unlink(r,t)})},znt=e=>{if(!Tv)return wn.default.unlinkSync(e);let t=e+".DELETE."+(0,q6.randomBytes)(16).toString("hex");wn.default.renameSync(e,t),wn.default.unlinkSync(t)},ahe=(e,t,r)=>e!==void 0&&e===e>>>0?e:t!==void 0&&t===t>>>0?t:r,V6=class extends Bm{[c6]=!1;[Rv]=!1;[XR]=0;reservations=new Wnt;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(e={}){if(e.ondone=()=>{this[c6]=!0,this[u6]()},super(e),this.transform=e.transform,this.chmod=!!e.chmod,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=!!(process.getuid&&process.getuid()===0):this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof e.maxDepth=="number"?e.maxDepth:Jnt,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||Tv,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=cn(gs.default.resolve(e.cwd||process.cwd())),this.strip=Number(e.strip)||0,this.processUmask=this.chmod?typeof e.processUmask=="number"?e.processUmask:Ynt():0,this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[ehe](t))}warn(e,t,r={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(r.recoverable=!1),super.warn(e,t,r)}[u6](){this[c6]&&this[XR]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[l6](e,t){let r=e[t],{type:s}=e;if(!r||this.preservePaths)return!0;let a=r.split("/");if(a.includes("..")||Tv&&/^[a-z]:\.\.$/i.test(a[0]??"")){if(t==="path"||s==="Link")return this.warn("TAR_ENTRY_ERROR",`${t} contains '..'`,{entry:e,[t]:r}),!1;{let f=gs.default.posix.dirname(e.path),p=gs.default.posix.normalize(gs.default.posix.join(f,r));if(p.startsWith("../")||p==="..")return this.warn("TAR_ENTRY_ERROR",`${t} escapes extraction directory`,{entry:e,[t]:r}),!1}}let[n,c]=U6(r);return n&&(e[t]=String(c),this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute ${t}`,{entry:e,[t]:r})),!0}[she](e){let t=cn(e.path),r=t.split("/");if(this.strip){if(r.length=this.strip)e.linkpath=s.slice(this.strip).join("/");else return!1}r.splice(0,this.strip),e.path=r.join("/")}if(isFinite(this.maxDepth)&&r.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:e,path:t,depth:r.length,maxDepth:this.maxDepth}),!1;if(!this[l6](e,"path")||!this[l6](e,"linkpath"))return!1;if(gs.default.isAbsolute(e.path)?e.absolute=cn(gs.default.resolve(e.path)):e.absolute=cn(gs.default.resolve(this.cwd,e.path)),!this.preservePaths&&typeof e.absolute=="string"&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:cn(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:s}=gs.default.win32.parse(String(e.absolute));e.absolute=s+qpe(String(e.absolute).slice(s.length));let{root:a}=gs.default.win32.parse(e.path);e.path=a+qpe(e.path.slice(a.length))}return!0}[ehe](e){if(!this[she](e))return e.resume();switch(khe.default.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[P6](e);default:return this[ihe](e)}}[Zs](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[RI](),t.resume())}[L0](e,t,r){Mnt(cn(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:t},r)}[xv](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[kv](e){return ahe(this.uid,e.uid,this.processUid)}[Qv](e){return ahe(this.gid,e.gid,this.processGid)}[k6](e,t){let r=typeof e.mode=="number"?e.mode&4095:this.fmode,s=new hT(String(e.absolute),{flags:Rhe(e.size),mode:r,autoClose:!1});s.on("error",f=>{s.fd&&wn.default.close(s.fd,()=>{}),s.write=()=>!0,this[Zs](f,e),t()});let a=1,n=f=>{if(f){s.fd&&wn.default.close(s.fd,()=>{}),this[Zs](f,e),t();return}--a===0&&s.fd!==void 0&&wn.default.close(s.fd,p=>{p?this[Zs](p,e):this[RI](),t()})};s.on("finish",()=>{let f=String(e.absolute),p=s.fd;if(typeof p=="number"&&e.mtime&&!this.noMtime){a++;let h=e.atime||new Date,E=e.mtime;wn.default.futimes(p,h,E,C=>C?wn.default.utimes(f,h,E,S=>n(S&&C)):n())}if(typeof p=="number"&&this[xv](e)){a++;let h=this[kv](e),E=this[Qv](e);typeof h=="number"&&typeof E=="number"&&wn.default.fchown(p,h,E,C=>C?wn.default.chown(f,h,E,S=>n(S&&C)):n())}n()});let c=this.transform&&this.transform(e)||e;c!==e&&(c.on("error",f=>{this[Zs](f,e),t()}),e.pipe(c)),c.pipe(s)}[Q6](e,t){let r=typeof e.mode=="number"?e.mode&4095:this.dmode;this[L0](String(e.absolute),r,s=>{if(s){this[Zs](s,e),t();return}let a=1,n=()=>{--a===0&&(t(),this[RI](),e.resume())};e.mtime&&!this.noMtime&&(a++,wn.default.utimes(String(e.absolute),e.atime||new Date,e.mtime,n)),this[xv](e)&&(a++,wn.default.chown(String(e.absolute),Number(this[kv](e)),Number(this[Qv](e)),n)),n()})}[ihe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[rhe](e,t){let r=cn(gs.default.relative(this.cwd,gs.default.resolve(gs.default.dirname(String(e.absolute)),String(e.linkpath)))).split("/");this[Dv](e,this.cwd,r,()=>this[lT](e,String(e.linkpath),"symlink",t),s=>{this[Zs](s,e),t()})}[nhe](e,t){let r=cn(gs.default.resolve(this.cwd,String(e.linkpath))),s=cn(String(e.linkpath)).split("/");this[Dv](e,this.cwd,s,()=>this[lT](e,r,"link",t),a=>{this[Zs](a,e),t()})}[Dv](e,t,r,s,a){let n=r.shift();if(this.preservePaths||n===void 0)return s();let c=gs.default.resolve(t,n);wn.default.lstat(c,(f,p)=>{if(f)return s();if(p?.isSymbolicLink())return a(new CT(c,gs.default.resolve(c,r.join("/"))));this[Dv](e,c,r,s,a)})}[ohe](){this[XR]++}[RI](){this[XR]--,this[u6]()}[R6](e){this[RI](),e.resume()}[x6](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!Tv}[P6](e){this[ohe]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,r=>this[the](e,r))}[the](e,t){let r=c=>{t(c)},s=()=>{this[L0](this.cwd,this.dmode,c=>{if(c){this[Zs](c,e),r();return}this[Rv]=!0,a()})},a=()=>{if(e.absolute!==this.cwd){let c=cn(gs.default.dirname(String(e.absolute)));if(c!==this.cwd)return this[L0](c,this.dmode,f=>{if(f){this[Zs](f,e),r();return}n()})}n()},n=()=>{wn.default.lstat(String(e.absolute),(c,f)=>{if(f&&(this.keep||this.newer&&f.mtime>(e.mtime??f.mtime))){this[R6](e),r();return}if(c||this[x6](e,f))return this[_c](null,e,r);if(f.isDirectory()){if(e.type==="Directory"){let p=this.chmod&&e.mode&&(f.mode&4095)!==e.mode,h=E=>this[_c](E??null,e,r);return p?wn.default.chmod(String(e.absolute),Number(e.mode),h):h()}if(e.absolute!==this.cwd)return wn.default.rmdir(String(e.absolute),p=>this[_c](p??null,e,r))}if(e.absolute===this.cwd)return this[_c](null,e,r);Knt(String(e.absolute),p=>this[_c](p??null,e,r))})};this[Rv]?a():s()}[_c](e,t,r){if(e){this[Zs](e,t),r();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[k6](t,r);case"Link":return this[nhe](t,r);case"SymbolicLink":return this[rhe](t,r);case"Directory":case"GNUDumpDir":return this[Q6](t,r)}}[lT](e,t,r,s){wn.default[r](t,String(e.absolute),a=>{a?this[Zs](a,e):(this[RI](),e.resume()),s()})}},vv=e=>{try{return[null,e()]}catch(t){return[t,null]}},Mhe=class extends V6{sync=!0;[_c](e,t){return super[_c](e,t,()=>{})}[P6](e){if(!this[Rv]){let a=this[L0](this.cwd,this.dmode);if(a)return this[Zs](a,e);this[Rv]=!0}if(e.absolute!==this.cwd){let a=cn(gs.default.dirname(String(e.absolute)));if(a!==this.cwd){let n=this[L0](a,this.dmode);if(n)return this[Zs](n,e)}}let[t,r]=vv(()=>wn.default.lstatSync(String(e.absolute)));if(r&&(this.keep||this.newer&&r.mtime>(e.mtime??r.mtime)))return this[R6](e);if(t||this[x6](e,r))return this[_c](null,e);if(r.isDirectory()){if(e.type==="Directory"){let n=this.chmod&&e.mode&&(r.mode&4095)!==e.mode,[c]=n?vv(()=>{wn.default.chmodSync(String(e.absolute),Number(e.mode))}):[];return this[_c](c,e)}let[a]=vv(()=>wn.default.rmdirSync(String(e.absolute)));this[_c](a,e)}let[s]=e.absolute===this.cwd?[]:vv(()=>znt(String(e.absolute)));this[_c](s,e)}[k6](e,t){let r=typeof e.mode=="number"?e.mode&4095:this.fmode,s=c=>{let f;try{wn.default.closeSync(a)}catch(p){f=p}(c||f)&&this[Zs](c||f,e),t()},a;try{a=wn.default.openSync(String(e.absolute),Rhe(e.size),r)}catch(c){return s(c)}let n=this.transform&&this.transform(e)||e;n!==e&&(n.on("error",c=>this[Zs](c,e)),e.pipe(n)),n.on("data",c=>{try{wn.default.writeSync(a,c,0,c.length)}catch(f){s(f)}}),n.on("end",()=>{let c=null;if(e.mtime&&!this.noMtime){let f=e.atime||new Date,p=e.mtime;try{wn.default.futimesSync(a,f,p)}catch(h){try{wn.default.utimesSync(String(e.absolute),f,p)}catch{c=h}}}if(this[xv](e)){let f=this[kv](e),p=this[Qv](e);try{wn.default.fchownSync(a,Number(f),Number(p))}catch(h){try{wn.default.chownSync(String(e.absolute),Number(f),Number(p))}catch{c=c||h}}}s(c)})}[Q6](e,t){let r=typeof e.mode=="number"?e.mode&4095:this.dmode,s=this[L0](String(e.absolute),r);if(s){this[Zs](s,e),t();return}if(e.mtime&&!this.noMtime)try{wn.default.utimesSync(String(e.absolute),e.atime||new Date,e.mtime)}catch{}if(this[xv](e))try{wn.default.chownSync(String(e.absolute),Number(this[kv](e)),Number(this[Qv](e)))}catch{}t(),e.resume()}[L0](e,t){try{return _nt(cn(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:t})}catch(r){return r}}[Dv](e,t,r,s,a){if(this.preservePaths||!r.length)return s();let n=t;for(let c of r){n=gs.default.resolve(n,c);let[f,p]=vv(()=>wn.default.lstatSync(n));if(f)return s();if(p.isSymbolicLink())return a(new CT(n,gs.default.resolve(t,r.join("/"))))}s()}[lT](e,t,r,s){let a=`${r}Sync`;try{wn.default[a](t,String(e.absolute)),s(),e.resume()}catch(n){return this[Zs](n,e)}}},Xnt=e=>{let t=new Mhe(e),r=e.file,s=G6.default.statSync(r),a=e.maxReadSize||16*1024*1024;new Crt(r,{readSize:a,size:s.size}).pipe(t)},Znt=(e,t)=>{let r=new V6(e),s=e.maxReadSize||16*1024*1024,a=e.file;return new Promise((n,c)=>{r.on("error",c),r.on("close",n),G6.default.stat(a,(f,p)=>{if(f)c(f);else{let h=new F6(a,{readSize:s,size:p.size});h.on("error",c),h.pipe(r)}})})},gUt=Ov(Xnt,Znt,e=>new Mhe(e),e=>new V6(e),(e,t)=>{t?.length&&whe(e,t)}),$nt=(e,t)=>{let r=new j6(e),s=!0,a,n;try{try{a=El.default.openSync(e.file,"r+")}catch(p){if(p?.code==="ENOENT")a=El.default.openSync(e.file,"w+");else throw p}let c=El.default.fstatSync(a),f=Buffer.alloc(512);e:for(n=0;nc.size)break;n+=h,e.mtimeCache&&p.mtime&&e.mtimeCache.set(String(p.path),p.mtime)}s=!1,eit(e,r,n,a,t)}finally{if(s)try{El.default.closeSync(a)}catch{}}},eit=(e,t,r,s,a)=>{let n=new fhe(e.file,{fd:s,start:r});t.pipe(n),rit(t,a)},tit=(e,t)=>{t=Array.from(t);let r=new IT(e),s=(a,n,c)=>{let f=(S,x)=>{S?El.default.close(a,I=>c(S)):c(null,x)},p=0;if(n===0)return f(null,0);let h=0,E=Buffer.alloc(512),C=(S,x)=>{if(S||typeof x>"u")return f(S);if(h+=x,h<512&&x)return El.default.read(a,E,h,E.length-h,p+h,C);if(p===0&&E[0]===31&&E[1]===139)return f(new Error("cannot append to compressed archives"));if(h<512)return f(null,p);let I=new wm(E);if(!I.cksumValid)return f(null,p);let T=512*Math.ceil((I.size??0)/512);if(p+T+512>n||(p+=T+512,p>=n))return f(null,p);e.mtimeCache&&I.mtime&&e.mtimeCache.set(String(I.path),I.mtime),h=0,El.default.read(a,E,0,512,p,C)};El.default.read(a,E,0,512,p,C)};return new Promise((a,n)=>{r.on("error",n);let c="r+",f=(p,h)=>{if(p&&p.code==="ENOENT"&&c==="r+")return c="w+",El.default.open(e.file,c,f);if(p||!h)return n(p);El.default.fstat(h,(E,C)=>{if(E)return El.default.close(h,()=>n(E));s(h,C.size,(S,x)=>{if(S)return n(S);let I=new hT(e.file,{fd:h,start:x});r.pipe(I),I.on("error",n),I.on("close",a),nit(r,t)})})};El.default.open(e.file,c,f)})},rit=(e,t)=>{t.forEach(r=>{r.charAt(0)==="@"?yT({file:J6.default.resolve(e.cwd,r.slice(1)),sync:!0,noResume:!0,onReadEntry:s=>e.add(s)}):e.add(r)}),e.end()},nit=async(e,t)=>{for(let r=0;re.add(a)}):e.add(s)}e.end()},Sv=Ov($nt,tit,()=>{throw new TypeError("file is required")},()=>{throw new TypeError("file is required")},(e,t)=>{if(!brt(e))throw new TypeError("file is required");if(e.gzip||e.brotli||e.zstd||e.file.endsWith(".br")||e.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!t?.length)throw new TypeError("no paths specified to add/replace")}),dUt=Ov(Sv.syncFile,Sv.asyncFile,Sv.syncNoFile,Sv.asyncNoFile,(e,t=[])=>{Sv.validate?.(e,t),iit(e)}),iit=e=>{let t=e.filter;e.mtimeCache||(e.mtimeCache=new Map),e.filter=t?(r,s)=>t(r,s)&&!((e.mtimeCache?.get(r)??s.mtime??0)>(s.mtime??0)):(r,s)=>!((e.mtimeCache?.get(r)??s.mtime??0)>(s.mtime??0))}});var K6,_he,_0,Mv,Uv,Hhe=Xe(()=>{K6=et(Nd()),_he=Ie("worker_threads"),_0=Symbol("kTaskInfo"),Mv=class{constructor(t,r){this.fn=t;this.limit=(0,K6.default)(r.poolSize)}run(t){return this.limit(()=>this.fn(t))}},Uv=class{constructor(t,r){this.source=t;this.workers=[];this.limit=(0,K6.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let s=this.workers.pop();s?s.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let t=new _he.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return t.on("message",r=>{if(!t[_0])throw new Error("Assertion failed: Worker sent a result without having a task assigned");t[_0].resolve(r),t[_0]=null,t.unref(),this.workers.push(t)}),t.on("error",r=>{t[_0]?.reject(r),t[_0]=null}),t.on("exit",r=>{r!==0&&t[_0]?.reject(new Error(`Worker exited with code ${r}`)),t[_0]=null}),t}run(t){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((s,a)=>{r[_0]={resolve:s,reject:a},r.postMessage(t)})})}}});var Ghe=G((ZUt,jhe)=>{var z6;jhe.exports.getContent=()=>(typeof z6>"u"&&(z6=Ie("zlib").brotliDecompressSync(Buffer.from("W2xFdgBPZrjSneDvVbLecg9fIhuy4cX6GuF9CJQpmu4RdNt2tSIi3YZAPJzO1Ju/O0dV1bTkYsgCLThVdbatry9HdhTU1geV2ROjsMltUFBZJKzSZoSLXaDMA7MJtfXUZJlq3aQXKbUKncLmJdo5ByJUTvhIXveNwEBNvBd2oxvnpn4bPkVdGHlvHIlNFxsdCpFJELoRwnbMYlM4po2Z06KXwCi1p2pjs9id3NE2aovZB2yHbSj773jMlfchfy8YwvdDUZ/vn38/MrcgKXdhPVyCRIJINOTc+nvG10A05G5fDWBJlRYRLcZ2SJ9KXzV9P+t4bZ/4ta/XzPq/ny+h1gFHGaDHLBUStJHA1I6ePGRc71wTQyYfc9XD5lW9lkNwtRR9fQNnHnpZTidToeBJ1Jm1RF0pyQsV2LW+fcW218zX0zX/IxA45ZhdTxJH79h9EQSUiPkborYYSHZWctm7f//rd+ZPtVfMU6BpdkJgCVQmfvqm+fVbEgYxqmR7xsfeTPDsKih7u8clJ/eEIKB1UIl7ilvT1LKqXzCI9eUZcoOKhSFnla7zhX1BzrDkzGO57PXtznEtQ5DI6RoVcQbKVsRC1v/6verXL2YYcm90hZP2vehoS2TLcW3ZHklOOlVVgmElU0lA2ZUfMcB//6lpq63QR6LxhEs0eyZXsfAPJnM1aQnRmWpTsunAngg8P3/llEf/LfOOuZqsQdCgcRCUxFQtq9rYCAxxd6DQ1POB53uacqH73VQR/fjG1vHQQUpr8fjmM+CgUANS0Y0wBrINE3e/ZGGx+Xz4MEVr7XN2s8kFODQXAtIf2roXIqLa9ogq2qqyBS5z7CeYnNVZchZhFsDSTev96F0FZpBgFPCIpvrj8NtZ6eMDCElwZ9JHVxBmuu6Hpnl4+nDr+/x4u6vOw5XfU7e701UkJJXQQvzDoBWIBB0ce3RguzkawgT8AMPzlHgdDw5idYnj+5NJM9XBL7HSG0M/wsbK7v5iUUOt5+PuLthWduVnVU8PNAbsQUGJ/JPlTUOUBMvIGWn96Efznz4/dnfvRE2e+TxVXd0UA2iBjTJ/E+ZaENTxhknQ/K5h3/EKWn6Wo8yMRhKZla5AvalupPqw5Kso3q/5ebzuH7bEI/DiYAraB7m1PH5xtjTj/2+m9u366oab8TLrfeSCpGGktTbc8Adh1zXvEuWaaAeyuwEMAYLUgJQ4BCGNce++V01VVUOaBsDZA0DaORiOMSZa+fUuC5wNNwyMTcL9/3vTrLb3/R8IBAgmBTJZEqgsk1WebctvO2CkSqmMPX3Uzq16sRHevfe/k/+990OK/yPQiv8j0EJEAEeIAHkKEQCrCYD5fwBkBUBmDpiZVYOkpDqUqTOUqTkse7KqfRKkZpSZ0jmVmVKbVHvVGONSY6xdOXf2bfxYs+r97Gaz7/VidrNczmo5i+X4/79WaRtnVo6UQAk7u1v/33o7HGQdPSpQj/7rqqYgCstG5MTLOF+dsIv//2aWtasTQFXXSGVKy0Ch0FwtLAv5xL+sjMzIJeSZkqQ+090j9RMRiYjIRDMBVHEBdLMPuzhK9ArtKWmta6w91npmkeMIbXl7nz+t0qqu7mqNZH8NgWcOML8gqf5fsvkoWoqCW/Uv9a31Jb231iAdAFq2b0f2AXJIgEFCSX5xeJctKHDjpJQ3m3Urk0iC5/t7U/875277i6mGdxYoptsKpVKptp46HgxpRCOeWYxBRAIkEfH8P2f4vnxABfSq3okFhW7Sh7EOU6Zknm9b/2dQZl1CfrShJVuQKkmDUKRlwEAYpohyd7/uuRO4vjhiW92oa7DifsWphJQsLIonVqN9+X6G95E9gJv1/aVCu6Vysu/NbAvVQJAIkgSLIIEgCcE1iBZvi3Talbv/B95N+2tvY1Qof7OKQVArLUEjJSQhhBgSgWJaCGz+exJ5As24WxMMguChXfbB3r3z09qdsMUgWww4SIpBUgwSMGCKKVKkSDFoiimmuGKFLRY8P+/j/1z/z8vcC0/38z9ixBEjRoTHiLRERESEEhFKHk1poFts2iWWWCLiyP783Pr/f3p9jjDzv+KKLbZo0QLRAoEgGQSZIMgEgSCZEogSJUqUWJmUwG/uv3/60+facZ/fES1atGixxRZhCENEGEpElAhMifCIiMh7RNRARD0osUTmQzS53d7gIWweY/AMx+gtFBHZ+QKBsEAgEAiEnXyTePKGdLaKJm1heyFaU3uzbTmJnADDv5s+/2iBsQLt8213mBZIEC+iwULwYIFUkDqt7977a5EjE/PA5Kn3lAZJ2jN6FtU6hpJswxeRU8EDzmheRavGU+8SAXcv9hs2VHFHpGFd2uSqhHfl+2vjalI8eXtMfadrWGGNgIrP+vNSPghBQhnaYRowg/SWg6qitd+w5dduV3M/w+v7ZmNa2EHT7PCw7b26WSDoIaI+BqiP5p2zrxStV+M2GSTNwLZe7+NuQ2yBmwrOzjTUkFHwTV/eBa16T3gA4/213h/1KeX+30V2dZfwJfquaEB6xymhDz3/VMrY5GD9qnZSnAOdHwOrSiaW52B2t2N16zP70evD5mkQyIw0SkzGfUSC0v6MnmPjA/zDgnWuNgwjo7uqtquP5iVWyxtfYeRFHYCX8Ri+J5QLlWqdxq/rU5NcBfWU0gwJLQozOPn8AKW8O8tlag5jTBhcLinjQ3x+ROz+sC1XeAEFjsiL/RBz5ZaHIRt1Zbw7BI/oqy9GqIvPir/AVOOYmyvYsW4S+OjA6lAao99TaXVi1/zOSY7OsRX/YRjJGmdyzupZMt8/DVsorPED2dvEHJaq3K/NE3bKc+Ilrb/azbMvPOIR2+6+xdd8ma/RzeYh23z26tLr9RU6lUdspWd2NAZvk1KsuWtCCp0djmdRFF8HywmTO5KH5Q7JmWezwwKTluDzWDDEEErDdtCCr0a3/GLiI1+HFJKGSB6KtqRHbbS4nsotDPyRz6MFVsQZEL/84gHTA3INdbmG+IoQeUnuY9jGbwRzWSQPASvKFzPQ8sMX+Ty0xAooDSUYEg2rB2Asi8sg++mGqyPPdcZaQiV7O4lZKh/GtbLxz6f2bTsRiLCS7YyUlJjXyQfUAqv97xnph6+1be14kuOkiiW9yBJa3qGJc/jQpCNb/vnTbiO8xEL8sWjHbz2Bnbw/6u0defDAf0FGLaQbLe/+iCD19fZdW4gLDjOLrMbQ2T9vzdtlMqbVl3aCRT/5cB8G8CCpn5B9Lf3jpPZHybpehwzVihnKVbsZkH26pXEqhZl3TmBX61DuBRGWyjOcuBvMT14I2t2ppPMw9ZDpZixooFP9mAgeVVq/i0VyO1POaBTOdukyymNgYmnefdg99y0VvJTipQXLHiIB+GYJk6iLBUtXC5Eut2DpuKRTvuBkW3pv6b3l9xr3/tvyL7GOfiZJ5G+M1aBLJ8TSrpD/ib7xQ9H4b9AfOQ/uEcDmZB6cL2xC41vkwfpiTmh85keSHMtuqSwHp3CQjy0hCN4mosrShflH0n4J1MoTLAROsfy6R7DbEVIUplDwMc4bwsJzphym5GmaVt3+FVff00PZlpU7E5+eHCn5OBo5v0P3QHYrsHNk0PZ7klsowDlcZtJdJgvEbmwvROEM44XY0SuLhahpubgq3SzjsieuutCgAA3qM4rw/MfmzN6HiA++fyU4Rojl44Jb3lXXiQdVSyENix+uraEeD7BibuDCZyFx7aSSW3MA55ymmgAwipqWKus8ykE9HSnJ7CAcn4q4rnO13Ll54POTEjqOxF+FpSAggq+iW01ABNH0JIpBemwUz1pq6GW5MeY0mCE5NtDFSzPrukTra4iNQgyYuZRHSsz72UwNvCA042mO1PKJUG7b896RNyXM88mIr7W1lyhCT8uigfq1LwQ1zXpPQsUrUocxVC+No06fCYUsGWWUjl0/D4tExtJmp4w1SYeaLpnQJ7CNbVODe+nUys2PIKLyxnBq0kHPfRWcq+THl5c2JS2fQeZBVxYtIn74wmnVXuTeFKjE4apGeJAQWnr5Jum5VD/KXuOoyZRPRtrgkZfqvDIhmlbcO6TcjEIhK7mkfR/ad7WeqFjihp7L40OITvp037LNCGX/L6y51MCmkxcpjKCpzBA0noqXTJW2WtDBHUAiBTBi4eBW4rLSC2L+o208CmJ/sxGolgvDgv6hwNsfmxveCnGodx1iKVgEsUO1vE1JKVnT4SgRTO2dgh9K+H599CAmLZE8YvfNp3nhge3MhwAfna99yEZihxv/XwtnAneD0/eEOhyhBTIjd37wBrwuGTKcNBm0/Mx8mIj73As7n47h25bDP3X6UH6TyhtoUa+4M/rKf5ClWLs9Y21CYGxQE809XrP2Jk3orKEJ6hOiL28/33rVJeS5dVpluNegSJcPZfWrG3wDPe1BG6B5cHPnHbNBlhNozcJdZMyFTFG7UPzgl+oUCXRn+ISQ1WnXACLe4kbKtvvthKJhtUPPc2w70asPUj6hAjfITl0GnlA+vRox2VZA9LnskDs68Tk16hXuKd1zfFgC7b6qnLKaoEVXr+2g/BhWXIgw+GVBoqgnDnVuAp2qiUC6qOG4x6GNRVF5WUi7Odw/iUrK/gQUFTBttWGE+ceQumw2t+2dqUrzOrsHSaolipYpBpeLVPvA+1LureB631Tl56A1Wd0ryu96SzibapY3Nz1TXxbMfhInq7WkbUrgGfVaH2vd/tsicD5w5CYV+eISjPH/omyb0wzec5XMokuSw+38AZ2b9rNMawsYSIHvehmbPWUWUuFHVW7var3Am1LM8YFd+G9VDZuKFOvxqm68LDL8bNbjxFevGsFlTyXE1FAbwNZcd6k29dl6ub5BZ6V/O5cTFBmJtgRrraPr7PoqJUnMj6QIpMIodZLDE57k2i6TROku8ZdH3m6Y1vYJFSWTeioWMDaeNqyKHeN8tlp4nDWkSQxHMqbaON4f71KnQF1IwiOkHHPCMrVw/D5W089eWX3/j60UkkuvoRPJTsumkpFd6wW09GwYBwLMgvEZcBgHED3tGu6bESdiXTBcD8W+EIsfaJeutJZ5THXopIx6YVJDbcsMGmYsZtIXb8bsVjewXzc88FcTZ5lYYoFhIrBcO6ljLt5+dp5HmzXv1Kg2MwCJDrRr7qVlXdraGTP828XfilNRkEJ1GwtTE3I1t/aITjVWiTHgXNljdnMXh5wdZpZcKzszsONMKEJhMh0NK+bDGn+rAJDC3mgiOZxq1OUUXNsxkQWhYW1GFtRiWFZNcNDeLLlIQll0jLYPjE2ynxKXI4lcBwCNsxFW85dwAN0PW2KmOMcI6cTvka8d0LYiqm5TNUQfQJPIoralnyMJ4bt6oiIaYBwZu+k4MkkXTQfL1e90rIWXSgjgUBMgCXkoTn9Rr9HCuegYSj1NaIXnzEQUfbtnz7/FkaUwrNSQpHIL+Jj0VvXs5zg6Gn4hCOMevrvMmTvdBdt6DOzxoF88Zp3bG+juT/Zl9hHsXlZY/IeRVTezaepfT0+FNz8u+rCFX+1LykI9/PPmJIfH8/IRAejJVADY7rGj+r8PWPt4mhxDEd6+n9rB/NPcTe2dTs3pXtOjtNyFndrtwLPSz6s+d+vOkWnztCqcbmMfyfd0LcFRcVF8kjkoWIncdj9IKIfZhh+PP+DeY7TVAGAK++IgvZUF6PTLIJT9EhxpprSPCoWuxThGwP8vmEbDs6kDehX0zWXz47U9+/Hqajad+simdjof8lRabLnIvfxoaVOQL907ZBofU7FPER91ifRhlz9nXfSHyGA+c9sQnfOh/SDUqx+vRyM4oJLJXEyfaISzIFoC6MDWR2JB9vBLhhchIiznCQbr7n4zxaEcvphNcZfivwbIKk4C7kb+IcPA8u66nd2Gb/vUiilkp7G6ydQXj82jFjlebJ0yyezuSSbikTcg/iPlGxcWL0JnPmnSbXtHfKBGopIcI3lir17wt8hz8Tw0UHbloVh1oDnNdFBZVkteweiH42CzircC5ZTif9eeYhieGEnmUuVH7ai/JO7HRhjYEPIibvKkVqM3z0jfZE3TOv0ECUC8NkRhCWEHvAOZQ2Di9cpB1UFmdoTca81BmGHQHV52E9WYKITgpIkjtau2nj2g+/51uj2O1NqXpe7/et2u+ywiRJcxClnpB8zPWr8KpuDNG1On7P5XzL7w4LaThoWCyw51tg67gUiQxAvac5QMfVAg7A9hcPddIYKqXNqHKVTRL1cI18UOJxu71LHOStvahBLKaojwKBgRA37Txbt+RZS2SV8fnhjPK3JtIrQYXS/KbLS+FL65SGQrNoZCPoQ3jPPJ5oGmhVQ7p1HPtUJWZUSK9u52UhHSn7Fz4LaB7f232yKKRJk07LL/FidQB0163aXVWAUV+9Uo0KWhJRPowfH1uqYdJztTXYWif3SQ2veJvBWruwtw9FsVjhQC7panWsvhWmb/auexdM60b7dpZ6YWOyOJa0qT+G9zC+cUTlJul16NOjStrdI5+HmW42OyTZigq9e6wSExmEs9irgKnyuV2XcQjptcAhXGxzo0uId2qEuEZLPpPSpkxKQDdnY2nESOYlFBYmNWyWgXWU1cgMEOrISgwBaXV58jMLxLhTFsomEXb26Cnyiq2J2giU9Fm2absgPt4Rbymjjkcd7KgXAtHaXNVLic47oHHBk8ARny/M5iBziv+H09TI7cjX/4l1dt0YkbjOG67cwvyDnwimukP5zYBXBFF7hxXAov2L5b2RfPdccCG3yiboYvK/mEAdstGcwwoUpM2weBoiRPCYEpRZxbEcXZdI3lGC5+PAl0a9AOvplhycISXApYj/Cb6zYy1K01G+osg1+ehGE0m/zhJpyLJ7Z57DmuoP90ZNkReZoycA3m5rCOFZTV8N6IbLjf5BqGMUl4znKQZT8ehgTTt5IvwXbnJLz/7W2WXCWlXpiwfXydTi/zOvfh/iZZU5gT/fCx3nc4PpiXjU8MdqGAs84cdBbTDHTs/YbHBvUVFzcLVURv20/zNCLGxwIchrqFeEBiuug3jSpTTTU7nE2FRDhL0LYczn6cZASeq3qNqi1zQVYub8kofKMm6437UYd5b3/SO7CKivw4FWFPLCLc4Z8CBcULyQE9K8kclUkMZwxwWqSVYIrnqhl3jFaMYj9xzk4XxZQBOZeTHSYKTGcyN0fb56s9a6UvmqOL8RLP5maDP0skmaEs2VciXWCWkS8gbAyh6gHDIsnXCmDhDERh10JM1UdBGKpt3XYeJrw/+Ox5PFGyCLErC+uRMXw76JlFhorQtT6lEItxakSkm2joAbmHfVOulpr1LyuY5qrCVm7ZV8y6SBu2UYc1R9GKlgLZ0FCB7GyxzUfoiunzAJUkS4CwDLnKYZlJE5rs6JF008a55Dco1ZmpojV5KSQyO3RGmuIu6MJqCkKcv/VWPC5Cmzr77J8L2amlHANFA8v4MLWPFTxCuY9+llLIkHb9KqC6drvO76U/HhzYd4TCrtX3hIMtbCl4wpA/crGvRH0eb0k3lkNxfNADxb3kdLBtYQIKSVtpVDXnukN6/Jdmoy9bYx2lx/ziK38opmSgnSmwC8vM2i8fKZ8MSMatN+ll9Va3rQptqQeOiUWdB5P8j67+kp4MWQFGUJgq/jA2SU0WLYbL3FznrYOcZUA2pFzq8l+c26QbiCbAl8Ch0La9zRiLDPy2srfCpXRVcMOatjv3XJEqv6lQBhL4ygI3GKN8DSMNoacSezvDfw84MD+EGYUFiyxXhVwAcjhmct3ea/nmTEyFPJL03efr5cMR1jXApiV6KATnd6csvUBQIDUUE/gF87lpIhcASzc3FNkongQzQBhyilusxM5JCHhq1vsAHUSGlgfPu3T1LMf8fUvu+nWo1UBLM6eduqghd2CF8y4g+jxwScriC7to9zCH1oCqa+AO4eXSC2V6Ayu3vW127r3ABmlmG7suJd51EhqnAydEaetoL5Z+Ih9DtWAiYG1DSpjkcYPAD5smccfdVDpabrJdAdk1Bwhk2f/0XFt+gZ89z9cWBxBadW17CYPkcnfxboTMe+1Gm9uLOdI72/ZEW8/y0dSUqGtJdXZHqbBgpaZqxg9gdyvqrqrbu6pWaCOvqGZ9bS2aNQDDcttEfa7PXefhfw+AEl08ngtUlua0VZbiX43A5T84leaUEbC5JWu0ClotsUtMv9U9Ma8XonMcneCouY74ROyoXJb2qJ3JxdQ0t2Q4GJsnrM6NKuEQsucEeknJx9Kow/RNlZAi5gmhVfd9kZGBWxrcGjGGclP8Dlyf/begmrKtRtKZ5yBT8yKmq5BbFMBNJ3ipr7VHfJAIAEVxbHyfCVVxhN4Ea+KJOX1kmZaTU/zPKeIuHT9RFhcximF6rOEch4CCeVy0QojIiYrbkxQjbaoz5+dTT2lV8Rvem+gxY85I+O944aZIxHzaH3mJ0YT77dfahgwJEN+Ecac7wiCCIbmkaWV98mdvPxjT8bb5DRzhJR3z2dolyrlyaNktNUvWxPOjxcke/OgOG/FwhyIXgS9DOAEITNdNLXNtuKDHc8plFH43V4UF92UVd917U4OC+UYmM9htdQeQb5I/FQp+3cw6YsWkTBNupvHaX4FOeZk90YqUGUsSz1gWzC1geFSSiYQeEdS0CY6LXPM4KVsvR61UCB4pu70JHkvpAE4e0B7PIba/7aQvUbAr9ZlScVQ3ZXzHatAGkBg+fO4eawSGac8km+CpXbCs+fb7FJ8xW/0Fy3TDoZwOwb6pW+BIv8uCG5EDbNrUSRJ/WUcQn4nnt35rFYyt6GLoroOfLw+6Gcj0pO2fsa+AtutLPb9/jmtx+rXd6t3Ls22SglWOFNbJHGG8r7Q9xIThX+tITsfORZ/N/tf/jGqe2ikQDYq2celmNH7OnXLzSvuO9YNSrDOoTSTs3LlGKochkEZlMW/XAAMt7Yp/jbjIlVq2TSg8sewqPiwvBC23Zm/dTcmPDerVVzsUQcHhB+nzht1kaCTCdTNhdvoWKwvYZ4oSsaqOGGcbb5Fl+rid+q6arHmMR20GI6+uWKihVOIb707/PrT1cPyirhOh3NZKdbTbl0cuJuRSqmEV3BOkAGkr3zd0DUr+L5QTewxGAetWpDipU3AdliEJHg0sdyYLdHyNYQueZGb6g0jlOWQQ5J5v3aM199JVy3Uf/1Ge3bkUt13caf0uBvT8mPeOg705fTxlxlV8YqKpH3Ky0eqPaZDkVLcckyXL+x/Se8g56COoCA+vP5ov6o+Gq0F+INLDEJbG6H7QTc1uS8BzgI5xdRrVjdzNfNl7xrtUcdNhwEyTmciqsCw9t2xIe+RMCZTaG6rH0HSa8IzUrSafJqsbmtZwLNfIT+ipGbS6EDg/AOjP2S0Q7NpnkskF6On9uZfJBNMc/vRuPPO+CgdQfjClqSgsCSMKIdCVJSvc5lo7XijOtAu1+cAnisoJqanxLtNhMiZquTYxAg0RznpnCrQ1N8m5SKv/9Ka54quCMo1bPbNcYTa/iO3IWD+FCky5gplE7yvElfoQPOiy3GB0tsPgZH0HbIeEcx5cI6QO00aSWe8+aiLcg8lMxFwL5rRyH2XFwnT+ZpIDbUYiKNB/G0P3n75pLoHkRmfle8JmO5BO2juC2oc1qe6HJ/TC45AjhJ6czzOtLg0Q99Zri3cs+gIfZMwKN+ZARqPe540Aj0bGZso2NHB1O1t5/RkeDdikWUxkEFPKEMbII7WtZuIc1sFeyNo0fo+No1AljZ40n68sAS64VLmvZ4P5++PAqbMkRjyKYh3PXfxynQI1lAg/kz1Ky+RNG2hK0Lu+tIqLD7o9+gSk4ACGxLoKeLU1+YaI1HXJtoNRuw1pMGcuWfZTpIvUyIatl1l45Elm6xNdbDS02RGC7HxTMmZULCwdGyYXsYp4/RJgdqBWINVf7FKIaio4QYm6H5aZIpV+2XsVIn2ATFIBBq739vS8O10e1CI9Zros+/6UQ2nmCDXg6z3adf3sV9bEp8t+e7piPl0Vn6K+O0ZwZDjsWLVv1mgXeNI1bBh6kk8iojUn7nRitqTJ7o+xfs6NZTQfilDoypCeK/kaNg0+yScxuUa3HXBSpNCIkv8gbspwrErL08UpBDJieyBraCuOA1hAPfmkPFJZ9wWq4uR4fB3I6YYRqJERQ5cGX7At+5Np41bUzSNyjseRMm+HeG/Y4AOTh4sFQ6eZrtDMr6g0N5x4Qj/WEqGJ53g3lPIgwX/BjbkvAN63C4acLsxgdIE6mJCCXUZhvDTnr7Nxa6EAYH4AlflhCVNGE6TM10ypmFEoUVr30VFr5dMlvj1dIZ+iXWpUQpswhGTZ0rUdIE1uAB2ho3IZCUkoAETlgWTYTpeHTq+R59HnIeee8yLnEKghPA6gPynJCqv9EmBxl5DHixNZwGIC+ISIP596tmySz1lKWOfJSzCNvSCsphu1WSjnZ5BhOFZrKuj4Q5BJTEAqjd5FcdDoy7EPgtGmeNT6dAtdPT5oKKNBnrUNt1bmp3X8dGpblRXKqVL6+ReHnjdSY3QaLY1HU/FmqVXaPTFvxYHJxUlqTNMfb/OJaIMHrSXQ6d5QHmVpnSy8xGXfAcd6FdokA1MKAzBqB+j85xb7scozV4FTownJXNbX9hsG6i8VjLYfYfFVwvqdoWg8d49fazKaITx5BOo3bIcHKBdMaTC3DrBju3cwmjGERPEz67R4I+AEDzJIO3z0q/ZjUo9uI6WejbnyrEJp+V/2TkToGvLmdDxPqLdErgttfHueQZ4wRk42tDr1WI8ZUpkTvHvSi0wss9WMPTuTccFYOp7Vc+65+JKgOZUryMKe4H6cmOM0m3GsQxeaOPGNKY9TnaotMkhqAptsqyevZ4uGBuo0ZWacIsUxWpCQz+DT7IwKbQRnd1CSfDDOh1mmV0VZj9xygoOSlrf3TxLf8QylmirPfJRzz0bzs5Rn15+jMml2WhWeddU8AM4eATCKiVf/80RzQzE/HS7HcZBCA7w7y8fl0m+8fuf2BIEPdXRYvXUac2yxwkuOKA77mLoxfFbWKQndw7U8GDJShjJxBIgNBGN+UU14ox0YgJ+IM7vYX5ObmNF8NKUC4CN00gHk+OEuqpI3rCNei6d1kR6KzxyHsQ2bruIRx1VHoFq+zW9Ig0WemXUnkWLSlgPd0Dm+ARifyFS0uujurMDt1a8HpqbYz911nQb4TwHyRqdLsFgm3PLoUmOnDL4udj7Z/97w1eaPfyMtBP0ewBq4l/Xnypqpl4el6OnUYFt4SecDUJjh5B0Hg3uQayutsdsj6iRMwO2hMuVSyPagTWUEh5No3x8CE/QRkQHzxmWErQwksxqj7aIQyRA0obK2FRuX67Fs04IxIWOrytjmMZpyMlZdOQowSjQ2jstNQt9dyGFTjTwsdzQsyj4OQ1SOojVrNBLDUtOyjB36Q88MyXlKDihQT1mhoAElDZhpRAJ1KJkLj2EwzWYaI+3SN/5dVpV5LZftFyzcztT2sLCjuGuAKPgaNxY7Nc2bn2UgA3xIlzlUPE0x5wMiNMa7b4KpKq1kS2RcZXz1l0RJajkZzj5iiSqvqYNE0wvIytCMEQBK8fuOzqNBwV/CBCcfhfuwuq64o6mT4miwYCeoAblNBALa6rhaPPQTiijH4KaYg2bD9IUkWwtoDFhpw2/q+paPxEU3jCQGs/LnZKbNxJoqZecAyVC18y6st4me59Qnfco59MewM7GFrp8eZChAKRvXk1tLx+HFdBacQZHR0oXoXdscR+45nbBRMdY0Jt1QH04iAHUwDO7Iku+pHtupJ/XuNcuDeCgbKlpbAd1u91zwSjAOoE80NFnZX8q1YRnYpbffDudICa6eWt5NSVcKLfl+cbdk+sUIOibTNqBNJjyYHkBbLOfADZHkSI8CCggwbr9goMPQZcvj6cKiR+uOQ4/HK/GAOIzNcVLj8a5bVHwJIbNgV+IosU8kQnt/O6JN4z08ORoYvyN5iOfg4xJgMRceOc3anQf65YOrZTSP0Zq+Rcsyms8Itz+PxKCKxZkYMeVFOKfGYbISW3i7P5Iax0nQH+BW/QAjDik9AJDdDqTFQb1zfgQv2wJ/FO2jTAh2jL6lLnM2dnbL/7BygCU0AWKvBHJbwu+CED04ZVad3yNuNpb93gn+XsopRH5LteJEwkqG+Ekrqy7OJlRyn5UJ4BnpxLRCksfT+YhG57Ay0Ivh6rmqT+9J7yZXr58Eus52M4TYBYndTj3HkRS7OBJ7dUkfcRDKiLrgSRcxZxD1MikpUfnjLYoBgonb3gcE2R/otu25r2+sl8+C/eTRvq4+dTSetKZnL4qG/6D/Im0MDe3VQRr+lkROZBeXPhUhu7hVT5NL512dVCWx71GZo3MherjBXD2vePP+q3poRAc6+bB6IvVW+xcbAVAujruIz8OE3RbaOl1Ugqs/uDJjqJRpZPQ0SlQ9Ivo1WkaqU6R68Mvrt3lPeOvET1iGUQXgTMyshouibO3A/wuZoOjc2hD3B/OdIjSXYkhPII7JCPu3QKMV80nSyM/n4VKY7pdIb6qZhR2JvplYrasbD6F/cIKnNGHvZkbINmSUNy0sdlwHbCEExifPCp+l5HM/2kKUEJzMZluCjiXCNENLG7iyYGLvnhldiknwSxYHZN3NzDk9D8kbcCT2woGofSJem943nDYcmMtyZCpzEMdwsO/loCxz+grJ4MZitO6rDKDHIacWBxibAWoc9BWWwTyoy/kNdOVEloQkyII9AVU18e871tLqGS3CaI3folUwms9IXwEaXE/cqv9yRW4ESOkBgOxmgJYM/6tyrZOHVK8w4pDSA+DB6ZW0ZOhTtGRUjoZEfVEetd9rNOYClETrOvfURb1BWPYd9e9lMmN9edm6qA3CfC/S4BpRLTvrhQw5kfcdLVg/ig29gUiTiPdeo+VHCmwWnCxcl0ZNLYmYOGTBPoLkfUd5/fRqQQVr2ToqcEtoKAc1mT1AXDno0x4vt+vn5WzkXyHLXjI38zzj4ty/MLhuiLqYb0FXHHmQRABZsAOpKkB3CYy8rp6YggkRGyElTkgUR4gqkhCxE57jta3ILH4Gn+nru/dQmojvt1k+R06Ba4lIkp9IDHJ5VWdBdyIFINaQgHe9u1B7PKcdQhGKWcg4sJTW6K90F0JTZChHDNkce5itjJb5yr8O89zqdb632zyIPe0df+TBW2qNtJQt+7585WbdQ2dOlTAnHsQSz002FRKZvcPR8/Qc/fK4lhzqXcgkRtdPoTN7kXOMGRXItT0fr4Zi1GSJvOeB9SzIa1APrT+tTPeDxfHZpd1itV1vgdSXkiUlzxzTS+hJfUoD2UoZphAnfXB5uXoUI8EF2hcXj820hev769o1gsGYtEa1tFPgATELWqPyeV2ZYIzyAl7J+Qo4F/a1N3LqV/OjrnJGpoZo0uI4Y1DW1jf3DRqEzWv7RRdVv5yG4Lnyh7agT/tf+tktBzkd0sPdHFLfP3ZBpI74T8AdJc1Tf2g4TN06i6ziXBnwpqSoypI3u7D/aPNAz/D6tI4YyGUT+cOzJ71ReWL1AerHHOeqeO7CeqEBneqw3DHPhYutpNg4VQ+NMwDTWTzmnjE/97qTUKzdmxox9WPjwyr8/58Bdi4dU5JylYkp9ubriWgYgJYJBF9Qw//H4tSwBgDEJRALURops49OS5z6RZtluLDJ0x9lA799/c34tDHsfWLhDLX8IklPe7Wtp/V4NO89nFMo7i9+6RC8gWUx0FyZIMGGOR/WjiMQ9paDOkxFdRTBSfaVVDA2Gsr0lxDsbwrR863VdxY6i6KQQBLJJV2nGQjU/Mjtwp7+AekN3fW3A/7Dexq8poXDXB3kGW19YXa47n+n9gMpu//ZPwFzWR62lY6J/Tm8pVlB305Smnkl6In+9yEVNsbk1wRrxY7077fU9sjDB6ntBtBpgd2hEdKrv+kraxOWGwjTjOhRX6IQXE17xq3LixEEvQkMM+Ye0BFpOg5jWMCwStz5yGye48bVSa3WvB19O1p7nRv6tXlp9IpT58bvHtjrXsWLLe4QSmL14mnfcL2GmS7BYK/vjDkt4lm8AN3zWxix275LeB7nitYSH3boqqh84JEUlRdUCSqMLxf5cfwC+0KEBfU01o0U2ddbRNFuQICKoT+p8MeYhwZi35FzW5c3BatsW/X09ZfOw2K/XY8NNZ7bW3hPd09j+DhJoFopL2Td1KTEJV199pnPzC1Mv7csySdSqxt52wPq1/vxEY94I+PF/p4w7nn2/maWKq4ij//uPUbPPtz7Iet8uu9+34heqvtT6XaMBcCQA5dmE6YdznFrpM1jhceli/E/VkZsWyo9dL+wWwvPYJeLud2MkvsCQBaTjuwjPqTReNJIMrJAKcvsIuCR1x45zt00mwAMdDhr0uwmz5o/E672l6mxa5uSvi7g6dVUyiyjl+Ki4M8PdC8vnIdK695dhKM/IU1YflL554i+KIFsmpa+vhg1dPxi4pPRf47NVb4nh/b+1BZZyXt8m1BEkHM6OzTEEb7jhtlIZMb1tOgRe12nWf0kp1iu7Y3Zjwtxxi9cscph6+Wpdek9k2NZe6t15LBAOMAA9bM02pYzOjsovPhIrf7cfs7Pa1Or4UaRtUAbKlhl5F/unfqvPMiBnAOil/djhSc4rS0c3Ji1evkgvKI4lyivNmGl70MPpN63Gk1Mix9dtf7pivhKe1Ib1LmcwTNoFNQS2XxhhNIA1gDKgwua/CzrXHScGUBOTb361NcszobHMitEj7TzDDB2266FC1hc0XliJvE0ltDflTsPLq32TMqeA0njyEngPyfkyRXqv39HpwJQZsRBHPrD0Fx2UhF7UTSH675ZD1i9ETygY3cFWcZM6IUJ+J3v5jc0jwzjp0Yr1DTOT4vezCVrqO3TJVoEswD42nl73LYLP03itFGb20YFwZ7zi3SiVmeqwt45dMeut02k0c0o0Lot9LMq64I1WzlSzuXGc45veEqE3SHDeM2WZ1kQRmnpGBpUi9bv+8NbQo7Th+8W2d63Fw42nFzatdTjhWEak2mQF8tkhmhwJYuzf2v33iN68SJPVkzcqiR3znKD1ZXD/ydzLbUdwLltd1Mfbc9w/P9S+4qyDsQ20e/3mfbvRAtCzNLQRm4cN4p2KGwDTxGdnkbSnUOI7uM1LiKXvqWXrOoKc+rxbDC09VyntHsFxIEmCUlRhHU/YTOyP74+KouFO1OF1LfmUzwkF/i1U4/8yTtIqbJKPRltRFFLn7Ld4PjOGFYGNAmd+EGG2P5pFEtTglQu9qPaQg8ZtHIFXQAukCgCpPde4xQoIzaxP+yPQxTA5riD/0FwJ4hED9uhk0W6/Wchrrgw82nl/xaCX8uKIUgLKoacHY+ZmBtbX4JSrV/vUalha6YBUOAH1tMAG7W4VAmCoWNQDLkBMzH49fMDlIO/b6jYig6JCXyhfTiyFGjymkPiyM3p5hvXg0mpQTJsYPtjTjqu1mbeYSWrYh80f90OJHOHOHJahZCL1EEuhUSUR9FiUXNaRpX89llNu8DXdA4xj7doINu8Q6kXN3lvp3fost3vHV7KMdYhtGIpvpx1pVimIu2Gm39hPpK/m6KMKVvhT91EOxJSgQ1TxNtzmt8WV+IfeiutIrRxznlCMrRB9aYamZ0sdMVm2pbCCBeLeArNOWnRQ8r44uYvXqV0MMHl6r8fCp/XFpGYVC6/gNOBclOa1pZkwbmU87FR0wh3DFIvsMqzO8g86q92AVgXKlCDBtZOfX+3SW0vXa/92dBx5L3PMRjFFkbhJRAXzIDOLgv3CZuOiQqD10pHQb7FoqtUS4xfsVCxKgAnW+72X+7PkgNFjPE8WgUgh8eX6W1gvY/UcjnbfPzAd5vjl6DB/TISaX1DFWUWFEkzvM3jer1BwAtKx0B2AOPYGL2DtxvhiW/TuwocAXO/UKtnTvGLWPJCWbwN0f5yTlkUIGNIo707TNY/KbbRWsvKVjYTm2CO/BAtV0XWnW15YA7T+B92yN5IUvGvXl94bN5x49vD5JKuS4yjdcrx+g6JyTxZL1NTFHTkOfIfWUseh69la1YBzdgi7a9WXyzxQrEVDzC1YWqh8rN39vtEbeIBDVEHgH56nsgYq/fauFgbD6u+q1RzO6zaA6D2RAxNGAePqVW0nDzqiZtPCGp8P/GPmID82P9wS/UHKxXbJxfAWsYCENQGbsfydLYzy8vhkTksn3XgNShDELREsxG2VjPi6AJZOwyV8xOO+EqHDmtt/jw/hCIg3XsVvgXPPsTybLbfbbzS0EZ/2+b9zj+1PA87FNYgYrlvvx/V3lMqQ8Hz+s8bnDiSUu2vIL00oMn81NaO1WxIIixPWxlo9WvX8dsw7aNR7kDgCsJppKHso1VBGmvmHqAhiana1+i3yYFETyE1vtPpc6J1QXLUwboWe5/R7cJkOisw6fCPiJBghYzyKL6zc9nahDl+l/xFNCfSJimbUCCP7wp+vDzeCuQ7S4VAPoD9S1dwJHZp3fng8+GCfP7vBIMn7GbdIQRpHv05T2a9+2kp84hZ1Nn6Tc18ueBdXfHcV0C9lPxtPc08HucFChZoyXjCIAsErejHgtEusvRrFk3HA7jXY6EZEL/S29ZFrZ6Km/CGs+fj3M8qkWzMJFb5HyWNCtfBCryU7wQnVm3bIYK3jqBPkkt9nF3sY+f1wTYtgvRA58uqvY1pf8TLanzsaDA3IEhQM12NiVlqFuNwizzh7/6bwIxnzOza9VAeILoQDrVZzVG0+IDA8jNTJ9fKJuwx99dq9p37ZhlqHJeZeMXo8yFEfdE2jZCaou76IAWa9H4dhts7MWKZZ74O0z/f7BoanEpX/aIq/EEKHvPDlKHLSXo145vg7QBkxFSvXmpf+lO/M09T9aPbfIgziu7rnKrRj+4d6kb1zorI6B0nJ8qhMc7+7M7zSh3XSAuQLtWWUSsLXGoSkGMWK3VgT3BOy3F02Gg/9wMw1p9wa6SwkrafkmrpfgN7L2GJbR72nAClVbtye8V8a4DPyQIu0EhmSgo1Oltrp4RVWpS0Xx/UqzodyprcKVDqpERN9RliKi608b1uKy1UyO8G54ZoWIoP3OTJzFh5aCU3ZceHeqFTMzja5JbLsh51q1IIq4MQFyaT1Hq9aojBzuMDlvwwJD6TKp6+rWlSfKUNWYVIQmBkGlgo+CFyfygBgmKKuzxTIxSJdsZf1+FqPFugGUHKZjm8ZP72tG55AIUZpcWdiQ/iE8lKqIKrajmMvGXyzTO3bjaQCZ3rMJaJaap54V9QPftcmAkl2lZfLmS9tbn5mBnkCIRY8tvSowaesopFhUnUOclWirztsmmtqu93W0fRf41ucwSLGiMtgStPNm3WNxtMSHLsMeq8jaFSHZ9kOvZJ6wuT7FEyLD8Yv+uzisUw68n3H5TQQsaL/tjUTwYIkkBML99VKpPdISLwCENHAOANUmcwqI0g+IMUjpy+Nn9Fx1Yr2b0mvqZSEdEm4lBwNgdeuPyhlGru8p5SvbNUDA6YP2MF/TB7xkwIeDIEzqYH5UKymipf76wlfWXxhDxYSjrdnuAGg30N6qzifM8DvBdcRryjmrU+CDMJtLhGuoKZVMBSscgJk9Y/l5ZctkwNwPmKJtRcd4lIq5g1qIu+sefQmeuUmleU0WG3YXalHaQqxdlY80WdMzsp0FtN2Q2UlDsLV1i6fhnTUre7pq0kcQ7hmtpU8VJUsxEMOngMNVuEibhaNZLMr8x11LZoeJ0dpEIvtywIwo4YvPktiRepoD8PLoi0IDzu7ubGEvms6twDJy3JnenAR24eKHclGnNwXEbn8uyxfgTABY3pz+GPQbaWgDyWTY++zP/jg3fRHy7Kxrh6TxvZsC2K0T071qArULYam2hKmhnOCoWJGXXxi9VPOadzx5lj43GN/7fYAFRFNDubI4Eh9vxm01VOZFEI0fHJzHHmuHl9bVjDr6rk/P8cb9c4JhW6vBtXLFJDy/GMplr8MaHAyknKnf2/1CFf6Jo1kW9+iFXItI6Dcw0u8hKZqJWt6QiY6riwjCKlNbBwDI6uYwtYdJTCRt5GE/PO/XBaI6fZHr2+NuiZDiFbkXMCWUwsVe3gDJeyZ66raXNpnzff0JBDH+dQnV5JpeTYqz7nQFDpUdkP9YAM6ZCby+tO3fZDHLobrKhJqsaj5tvBnDDiRXEsLzX6IK2djp9wKKH3vbjd5OZ5wxTRYFWmnCmAHmN8+2zO7mWQANUwBvDpxx44kS2x2d461wJgzA+hnt+VYujuO9J8ab1bz7g08J+XxtrdHMU2Q11sWGtb1ajdvRX7Ycf13NOJlfWdUBpxoN4kfMEmgC4l/4py7Xm9nnkuaWf2o9CJOVLNTWS/X/aOtXoph3sNY27ym0FqAug2/kj7jZJ28dOPYrD5RrnfdXjbU+pSi3VZyj8LJLzZCqYtRB1bOo1Sue/XF3F3pc2dVBq+FHZuod0Rivt3zsE98h99arUCUaYEBPvjmCZqeXtTGQiT0Yeh0iLEnGAfH0dUht9WKOViaxVrqsh+izP6oFdT0ouFvQjVQDFcl+mpeEcUdOpFoHg0JJy3c11gAvurWC8gzBPdtiSewge+BiFZA4AJUlAyZdkO7YFtBxiLmN4l6oTbCAJdv3OspEXBV8vYxoFEjJyMWACi5XM8QmQIoC3oqf+IkHD8SdUhWI1jcxhqk27jbLYY4yox5OIp8XavBwDYAr2Rb6Wc884TqFDh3qYjC3El2lk/AqyCRRnh7siTEuH3VB7Kaqyt8GQ/lzeN5SViIgrDCtM8hvbhCmFPpSH99dE1IS62QU3eflbvuA1SEeClfhqvC/i7YQgOFc7GRfmRyzsgTUAXLPcD8ND34Km5UzfowwTQMWAiu5h1CZ7aN6DhlIDy4iqkSoPlppfyXq5UWgl/baz8ATbywzL5mEAJ6JnGJ6xaCFwnFNkAnDzFnQZqIAPICL9OKyHzSsOEUrYHGHjQelWQEjGojkIZ8ji9sIB7w7xlMd3APfhNODKB51feEbINNvfm7b9oUONTI1dybZxzm9n2kmJgvcw5sF8kJhN3kemSjhZibMxV27jV75hATdrH15J6CroCWB+DOkVH+EOiCdyb6yMTbufK9guzqSbeuJK4hLOmnKIwcTQspZUClg2K7Mf0JtGTeQ/HqZpC7PNYxCzeU0mt5tbrlti1J0MdOQZ33QVJf/n7PbOsAbCO2d06CNQbtAyAdSQrNMXC0NWpnPmSCRoUFFlRJaeZ+Z4SOR6gQAqo/U4DoE5Sbb3AZx4vgZhyrFy6PbzhlkTxWCgrhcDezEZKldMgzVOrPSAsbAHowadGZDEuniZpVvfnPdGL+KZ00NGg1Vs1N40WVs1va07fSuDovh6mAjuCGmXjqCIULnVPsStWPWUq456n6IMmHXOn9vTIb0AV+ERrADpOHYglvFGNj3JJ8hVKSynUPqAclHrQNnkCyX6WtXTJ/GdiBA2HcX4/UA3GpNF70urARZWnYBv1wuaAUqU54MFwvl3KsEPVH8rq9rFPKR0dqm3aLUbZSRhkCUxKCYBicPVYuqQo0V93Aoqo+mkUJzRgqj6RqIVWw+n2kXts59IRMd/wVOYTaEhD1DnfGOmTGNus1E5edrHH/Y+UaerZUTEuEgoFEyTSAAD3IAwNUZ/nm/tKwfIr/2bG1XjYK1a4YhFg+BbjYpXxfvEHngADkXfSAeOQXULQGVY8O4nRqnxFYPZHtdm0DBPlLu/H96SoJ2wT05u1ye8xkVRGQmnwLzNiUdb7UC7sc0oQO1No54IgN2tFG0ZMmOoYlhgmV8+xFl0cL6eCq1lcSntZAd6Q+kZk0ls0fVD08fDVu8Kzem7zfET94w8YcJK41b5/DKVDevEFJPsliIBqUMj+mpnH5Ht6ccyltm8CnB/ZJWECv5StR6y2FqniG7V/26IMzRPd0+UMruS+naD0z7DCdStVfdu+wN7YKxb7YCtilZrWSNJKZG9fjkNx77fRbomr0j7W4w6Z/IVl9Icc8IPfApB+OF2PG66NK731jLUGYWb9HgEazE6l8b5tzCqZ7Z2heyMdgOE8V5pvT99gHP8y++9t0IoYnMJASKHDGM13KGwG8dhLjno6k4A1mXpfQO+N+1oNP1wCZqTLpJ61+jy5jCJb8sGP3NPC5dp2Wc09GKpX/WBq1CWj8906tTk+lB9ytk+A5ZHFhabqGin1lQRN4wmxNEd1CSuiy0k+hg5RORQJF4f8CMXsXxR3E1Dm6F+40ajj8hkCx2ARwO9rw1rnp/kspFw9Y6H71m8FsW9fbNsYt3bCM/g9P+cvNwcSHdwwa3yCAz3t9lUag/6sKdbcBqaqLy9BExuvW8eOcyv7uKMJFlKycAGdjCNCC0h1+mcJqbaf5lrIHJEhTOR5+scW2FzN9kZQZaMsgAbpmEiYy6pej/RnhPesKTP61hCKcR5ERR2f0xWT/JbZev3QBAZ7Z4DjWzlvxIVMVvqTS71FWaobdBnVmW+ZeFXiUUYJ+wJlf2hEGySkL6qtk0yNG8CL/AC9704eCnBepEB9scj9OrJX3kfdaChUHK2UV7F2dOeQuB9I5i9vANRw457YlljMHIeJaDbWe+TiaJ26riL3f1329f3Q2FucOurSIWWQ2jCJ52j6ZSSn/+sYAtocRfTp50EQ8tDUZjFOrVF8OEPWv5xrPf6G4kFNhxzFco+09JikmOpFjTjKWh27NQZiGqlrf5jvkkN+2szHUX8DgE3XbY7OTf5ldJP3zFOGogsH4rsJSstLjxZnSazmsMNQQsm0sjinT+eaNm7PG0j0NSNlGeQ4qPjasFM8y+RnBwGKcbSiNFr2PzsE6I8fFdYJ4IWnjWotZtBZtDqukcucDohIqXMoWhJF4eJcU6Ff9iDCw176pIzLKfh+WyJr7fZm5/tJvyC6nSPyxBT+dgdgUMOnMaz/fH7IZqehJvh2a2T6ZEhnNrqFRny3DkgMal0Z7sGS3Jw58rf1Tf1Uhsk31rItwgsotYpCHuucOO3f4TxC9gMEg9X6GM0AxUBhUa3l+hCXvXDSCSNTOiHxnUH2/MN+rNIWygUiPlmORqhYZ0tvGhJavnaPJTCCxggvqEsul7zhE/JVNAn9C7IVRwkvI/PFAYY7lEAGxpdeDQ+EHWlrM/glBLgb8+VTQmsDrkDsGcKUDFHUpOxbqlg3kJ6ej+y234ABf4gpjGJTr/NtpjBhmC3MarGDlAxpakIsaeoPBZiATv/rhJY6gyIneE80q0E0D3gXlbtZKVcXaYS9rQgRU8B5HIlYFqUfQsbm3oeAkUDBE++iIe0zqrQEPhCA86AsBvWFdEMgzgV0nBnV0bARuDOZhbZa59eN0Ar7ZzsrpNoV8gd9ZJlv5TwyuSu6DMJxAu8nZno/XBFGEm2e+MWiJZYFYfmg4XE/5rMzFLbZ9XiIYp92cBmdYmkwDJN8Pq+TU3T00JmGEbcduvzw+P/a4tY8VM65gdFAIpPNMcLoq6HbY+03j2qA+r+psSEyIUWU3Hv/We8dR3+seisFnkWi0cfgp1NXhh7Aa3QLpIz0wjlGSqdxQIRMioFv7uduNcltFYnu0HLS4MQTTgg2qXkRoc/PQZ5PaZYXQiJlS2H/1EaLUD4oPVGPNTex/ED6/k32yHB+SB6Dwdj80C+uhfT60+lI5NXc8moC9WB7oR5LAfcZRIi1cxTimeIpdJ98kJQF0PjHQhAQ5clWTFamAOqVG8wzCu7RadNvQqM1Mu5rTRqsSgMwVJJnx6RWra+kuT3YIIsALStrOFb9MFInjnh+ZOQGyi8Y7979auPp/EF+x0KKmAaIByCjiQePNoeo4IvljmG6Th6MrmVjtiBgC7RyKnHCNcLKw7x5UeLzcZDhSGcE8NhqXgCfC8DvAZchyih6JxiQLAHp7plvSyAdNQkcJhIm3PLAiHLiqDOuGLpbPaHIGzJfN2k7zgfWBo2R1fX6FHEQSDebBhhMqNVbH8/atmoReisrOgCuVeLgc4ZLesQ5obNElBQbQFBQRpYTFADoNRmwgMF4zGesJb+Skf5bqYg6KOomQZcNLWbnNBpFtrrdwwJKf4tC8133rLcwPbmheDZHfjnJIOz96sr8FKcIR35n5yA++nosoJR2U77fRxwfKlSEtiUxgzh/rhVEk813AY57CS4w/5l4iBxyUQFpWP+ILPgWOHpMiSWTZ5M6rg3WuWIKqG2GBAFIAa81WmDiCRd6g2P/NAAaPEySnz2AffbGZ/PuMlKx+CYQDs/iV3US5w73T8PFVWLcMMWjBY12DM/L2GaGGdxNQXVLmMEhVKi5oyW3eHF1ZzjMlozYk6g7Jk2TEAP5h72HUe+/H4cP+sKY8IJJL2pQT7T/kmIA5UoLZraDBPXY8oFEnRTy01TbC0PYGV++2L0oceQypwwEquHXJSUNPuU+KeChw3qQUIwmbCTULskc+m1FtHQDJxC7Rw5l/Jf/cirjF7/nAHAr91yKyD6ECzge6PiL3fd0aMW+UF0fdMxqd5h5Xyauxv7+rKpEq8oQKlQyouG6u5XKaGg66ZRUgnokQtJKJm8G2/aDkg23ZBXSwV70MAONVIExLPZGWV/d1TW4OatRa4FjL7/F9+2L7GH+N/4NusigrwXcoEqYqCVSTLlxi6LBtvew+9YrLNxfo773YTuhCh1eSGemgpjQVEGN6mq8SvDpffNaNuQHRIMA7oAPuTO/b0v6RgHy6AEG3ZQ2uyF3F/f7B97cPwNLZyFNoOVovg1sUQuM9/uJ2HWiYJsKc6vAyJgo50PFK41+5MXKQYrNCATVspR+lMxyOI6coxpqbLaoRVF4deS3rVy7bTxVxUm7qriOr2jiExdDj3/htp0zKpaQEeTZrIWtJ6p3QBihnzvMMLRbWSHr5CpDNUDeiFJ9kXeSJ7lEo/2R3XBlxSBzv5SoSTKlFAH2MWNofhf4L5qwD+rGgp2FI7/SquPiw2+x9fi8ofZeKbbKjnXuNLejn6mlDlDb4L1VKIea5lxExFFlj2Fo1b4Huozuk1mTiQ9WEYKTNYoE8A+qXFekEXF0Ho300UnSta4RBoO1swiEekYYNJf689Z4eruKWefoYM5mc2OIpqYb1shI+Eb5b82V4h6iDGI+JFb3XooGueQA5Mk9wrjKwSD+k0KbF7aA5L/wejFYxcMvZ3DH1urC+xog3W/1/2oyySIrT6iPRqFMFRtbwhgVc8rAUVkvgQUC6e26yaroEXGhIS5/edUT17dmc2sTePHCnsxLlhfx7KHzu7VXq0zH02j6PVqk5OW172tQJ72Lg4BDXZeKr8mlDAgLIKoGw+RdarEVEYMUqcASNY0vZsJmnXeazGFbJuXSkjEsEf+B5lHhYopRgSFYVD7l2/rmh+sLB+GxSXG8tBobHAjncV5gjGn6o6l4dBe6/85SkRIBBKRQtmCi/kHgh+uzVQczrsAMjd5OVdq2E3r6+cbfA88Oyqp8Q0Qv0Cq9nQptRq4xmfUoy1zr88LmKmH0HFUWdV+HL0aby3yD6BHAanRufB2bz0puq+G56TtfHBiWIVdt/Ggs1oQrLFV5pVJIIheyapbxVMeL6cHg7fGHR7bYJDfaKdZHVuEWasDvkFRR7KY1g4RXDzDOg57exUYPVTnRjk6DvmG3L4Y+ory30leorypJmM4Wf6EUAB7wWOX34s1VcCtB6L6UuDzRSD9hLAWUFdBMUzZywBu3jEuHqVyVXBaov6qr2vfYRN8Xdk91XrcUnOlRqCi6tSA7HLqrAG8izlmvOsogVF8i2kaSTJDAnuo8rVTq8G4K/ZjxwAkYmtw/eYBtI7WjJYzq6921FWhIhV7TUmuOxmgezAAkpGPAWfFofuSTQMgCx/1m2GUaU+WSlbPwP+fLJiVeVrwLaUpzTJWeeekRBvK7JIc5T854+ZEQQP8pr2I1VVkqPHHKX/lDHSD1MCeoWIpoj1gnTqFYwFk6OR85WMSqvGK1uT6ppX7rxo6eZHb2gspPWQ+kIfNGPSnDGNdmC2wYJ8oyhVzNaNOCx1RUxpTteGoGnC50456n3aC7xs+ugeGJpLR5QaofOCf2qjAKzmZYnDnvF/1WWW0nKZMFo1Lf3MT+PeO8zirLRZMzOyu8/VPQ7WYzpzEUrLYHmUvPFBkmrIaHkIQxxR4xJ1oOahd5jLZ9kOoHThbs5z66lR7WUp1ocp8cpPculdPKkRdYgrMRRqaaIVCDp4Cw+JbjbjaEj8yIQEIcjKHN0Tp2muBYroVGXXji14U5Zt8FTzbkqHMp4byJRc0FcF2L+rjRslgumUaNi1PMZ7xVJi3c8IhbyTT2sS9X1NdtwuPjX3EcXeiJhrIZLW3yN6NhyYhVsOch4AuRG6yJMjZlHW46PULXjuPtgYnsjAK5wMzlIU7CIapAZuNGaCWbXgseFqngcRjFa6ZbHnHR4pMgVVyjheGcYeqZ7lv+yjVhKusjsYgGsfEg91ioNKbsFNQCJ7/Pw06iSqz92tvwwxUyr2fECoqDSLUmJgUV/TSeWw00hlsD5hD73UzkL3ACWJ0tsKT0QnhP8WgCmUGVbAUK9wvhN9smcoZwEbCGCkHQzor941LOpfkJdM32c3EuzozmR/lHP4v/MfcO/2lSbN+Vfe0xUMN9JcU0BO32/PCOJ5C2mYgsKKqawVF2UMFgPp8fn6GzMTOtyzIhWeXcJUMXVBLpFaJq6lEI9cYltaBcMtjtgQsO/26ZZOjLdPVjhLYDxvp8YYFofLgAkjmbQhsQcDa38qBcSli22uYA0iTlg+4Pws5FB2vKDFgK3r4Bv2YpwaBwQ5wIk3TxH5JhMw9SPqUAXGpjQ9GG6hC4eGTGR/3Woh4Xwkas4DiLhdHMEQEtUuZo5e4USnZj1k6dFsu8X2cRtbX2aK7Wo7BXpvCN5YdLFAIykmyBw0YiRus7lUx6lR/mafZ1ekJal9iThy7Q0H1SdCIJqthItA4aedoB45I2UJ4NpV2YGOECTc8Iz9CcYZ8g4H62rryPso2tKbEfAxkIZ27Lno2U9jcONseDH+vSz6Y26JbBsIwyYL8KVSg/OefVfOQJVqgWcTyd3su2ZG1quF1SpdWE+eNlMKaN9b9SVQJidb1OS7TSH82J9mf/GNn92SxUnLEkdFJRRPwwGdzRgBa+V4tw7rqmVWXWJdUnyj8vgxkgJ0Xa0Y/jMB72C2aF3LveEPOJpIPQn3bMgqwBGc3CslNoSDEdqgt8n3Y+4ACfZEnZDTrOBEB+8cadmvk8Ci6xW4ek/KrOMHIaQIWyNVMyx7m7RSbIYuokoTetUAtcUpWnTMrNFLntX6FAXlBvJhPls8gi5DgKtmMC5rgECl0X4tyjhC7U9FVkogMpBH1/pEcd+l334uTDgqAGzK13yVFn0gHaXbrGWU+0Shi2K/kx7sTmXEzNjg0usmC9Kvj0nSWuqf+E4HBunQ8wIF0OW/gE9glOykYo3rfStrcYRlcfSs5FRpUap9CcIiCikzNLd4k4LOR69veGmSOds+ZFNz4ShbftUfnw8wvM27bPzeV6H8zE+pIqO1Gz8mzFcqhw6DANr8VL6Lh67tI8lAPMlmNOnI5lOpCUYXpvI/FarqxN2bHMsQdgG6/JjL1Py+D7js6M5WdrrkZ2ovqIHEQvqUlpa6XLumFpayUgXScAr+V5jFa7L4vzEitaOTIO8QR5lKyzNrATn9AsmkC0bRKP1j5YB7a9SP66YtWJL4dbDrdsL+PF57kAZooIyheTMhwOcMBayIGj+bsaNOW87s0DZlzqrslkFa2c7fPaAMtV3ncWpztjTzi97c8Odfa12wtx3UyzMicoZiUxt7DF5tD7bxkfLoyKfdCapQNk4EzvbN0FVO0JGePRaN5/dODIBVJmGhN8qHDlDBRfG2mXefC4eahBFojRskKPUpXa1ArYqHIdaHN5QO4KQ4BDzQwGVk0KmDKAMAYQsTDclQTjfyTIAHhIDWog8s5SUVLHHY0Wo4AzqwTpgyHxABhQP1QAvoNG2+BFjhDhAMxGoXRg9/1WpwEgjvJfjMPYC9gyA9cXzGD1XGtPA0AnONL9jhWI5VlnHYsGdTN2Feq5HXXWZYhQsCslwhLAVDhVU5bdUMXjFUnNjeOpGB530QdqbdDaj6UlPExmeBQkc40IPwlwkg5SKz4HH4qyc8b2nF0qyXuSn5SKVqPxWFFJfkKEqkurmKBsTI2woYiISrv3SGZL4+MU8mZvI6LjzzfBvtjuYXQ67SdRSyU8RnrHS01sKyR2fITg1knC+II82444iVk9UeGDxiTJz1XAfCh8bG0Hw9vcmMJi2MPVs1jq6LqdLPocnn06PYd19D65mB2a7LhTxN6V6eMZwKFoyQm0UY3wXijyjoifO/BlIKxK6GiFqjpVeEfAKAeR/WwkoaZH4ZzeO0SUMEtcxM5gswrFAOIIh9CVDlRaAoaHqWTZLt7g9j5pa6v2w8MfYMUMIAk3v4jSATueDk9U3MLdUH0/qjh1ywHEOLOUohk+FuS9js5qHTsIyRcsODsq7X8kovdbHWzgbBOftCoVdMkxnZN1uied4oK7Brc60QzHQuMlIeq2eazCgCDmSTcx8NGdVO+0+7T1jxQbMkWp5CNjT2PqgaQ0JfQzgeG24P7p/asg0Lp8anDZYjPJ88ddRxe7ExgNs7YI3B34Fhat+fdW2KHjB7SaW81dKXZAhRs3rOaCAlc2jJvuKnTBETKpGW67xwbbnLt09ipyNfzAYlsJ6yGQNnnHgHpvtfx2J7rAaqi/2uMc5XRptsyNFJOhgQb5VebV/SD7io2MejwNLCJRQGBgmc1vNHVAdcBtL6Du13XggvEgZ34I9veqmrgVYWg09zw2hlHuIKbSeGxIZ7Fwz6qjmsx2BiwVJ9rJiopl7cfnE6iFIUBY0dKR6WVaTxUB8QOaLbIu2GINk27++FwOtgVap0bMzCVI8KJK7eTkTBmwL0Jfeby1y1vrpfKF2UeqI0S7ocPrHO4m3kWgtu/YFGYnGIdoOjicp52CNi7P7EzZMjMmG3bjynaGg7xz4MrxKZlQAm5GJRxUlHqE9LFsNQkCByxqxGEG+j2y+aHBnyAI8qQDw4uBJrm4aCWQ33C5no5vsfgzdiYCCsoR7gLwHScxgLAmPxOTJlDSQail9rcC+0n14FIdo0qrSmoyPNBOox7Wv+zIS7qL6DNn9dz5e7Hjn3bjchqBH/sKnNy7dg/WKy40/rrTKywLwjbftwovOqUgClosgqFpHeCAOQlillefGI+/Sf6XUi2CH+ynjHFUf+8ik9q0O93ebMcdkQ9HsU7NEOQ+9xFhvzPRM9E90fvwHPhH2IiTk2BvOvH2ys/qW9z6fwTy06bwMJitnR8HXp3V4pJ2GcbDzmRWuT6J/sgHV98j4v8ATmQ2sLrhCR15j+YCfLhaJIU7YkyRrJn6ZcGF8aZ3oCXTG+IeJiIzCyjFiHOZrDkVLOoc/BiLdUUpskucvq5Fzmlv6qkS6I3HhL6vryG6XViEfsyvqsxA+Mq208JOGGbbk09+0OkFR/YvAeCpChuIC95zYVW+ExMRJLF2Ix0U2W6A2Lun5+Rnf/PMxl82gO8r/y2EyvTXpHLefzU/7wYbCuogUYtisx9L7PoDVapgg/emvB7EOXwXrI2U67GzXF/I27qKEkCF7mCDMsKGap9Rwwxh12yrR1XGlexnIlsHSPYXyOp7jokuht6TNDnijSUVgZykbs4IluMUUnWd7vQlkf3yBCqgTP30Q8cEVQ58PuubMGPjIjaDW23AR4xFs0WiAGByugzWDXx+VTxRIdm5f1B2XEmPUPD0lll6BWeN/4NGWRPZouiP1KBC+oW+a7reSgAqRL9MWWV436LOQh67IXPTTYsSHq1uljwXMkFIB1fUaX5ym0Kc1YUfOtUaCUr6gbvIBcqduJicG89qt1Lm1pzdC5Vl7TAWUAlSOdxtuIAQf5gD+BMm6MES83MeAB8Bl8z6yo1U4vd84IxJaZTXqWTv+aYN9lrBxjyklm0PwML/ulXg7Zv0WWvVwJN9WzqxagM6Kk12OTA+OYJIrXOHYtxOklzBtrqq1AoH4qvokdysJ60/+v/zAMmJGLqWuFn3wgB2G9V/Uh/m32M3XT9Qf7vwx8nZiyJ+WNqcsi8VbsotHVSENJC1DaY4XgL2U8ddj+8H2PGq9v319qaup+9XmUHbblm0paZJ82T+AsJhY4fwjpUtmTmUouTJFm/kl/il2ht9wIFCI7z6EHNX3Gia5/BQK0yRimbJujfZeUDzQusaqDMggRTo5DKIjsZDh3HqK8K5eHwCMK2ee1FdxNnbZxLjbT3/FVj5suDMPhoLGSg+PaeRqmAn6ifao66xcxTxUQG9nCAvmuFTxcL+2dNBwJ6yaBUZPMy0tePe9scNtOIRrj6RquPqJ7W5v+1U76/yQkEF7teG4cDGOj5sWbOdq4OHWlfX2kr+q8dq6T9GquFSFbZbzBBvmArbfp+gn5l6T7Ai/9bOAITxxhn8b1jTQPgdFtvLbKcIhLuIUvkt7pHNFZNLlmrI1j//4iP0TYSomqi/PZ4EIXlvLa99PTKWZ+FkhPFup80IFmpoEybwX0AEfTYho5gmbmIt40QOkxA8fJD+tVl13N4O98sgaH3eZInMJMmI5U+UJ8b0/z5Zo5gtnGpHdl9SQK1xKg5CpBISxYgbnC+02vb4D2VRICQ+rV2l56BFRWQl2jNqYZG/xAH2RYPQmp3F6sM2OO1fnwISvKa1DEhrVfH82JyhEFfAkjLuHVWFjmWba6O7EewTCA35G1Lk+QEsTUmk7hO/9IsYhVSmV9Ri+JwmhAuNVWqaq0YRe+4RoXN9iEuHs0jCWpmm6IM4EO/Mo3So5iM6uGxTDds5WLEEfa76zFyEcr6Iqx4mV9VVO+h568MkU9CXoOLE8YnhF30GY0sdKCoczpvQxCsKTgUQ6qPx8EgWNJIZbFxXizVNcVTTKbqovZFfW0FvdLmniEVM4/5/QrpYXAFbVCEEu0J0pfCGk1vK4jHal8pCM82+shClbWhRbP4ziOiGl66/I4jV3uJJEeu6IK/Df9ygqOtovnmMaSaICNfWeKMgEiKtYKJZ2WZZQZgQVYEdObRP9sEmz1UVBt48Wqv6AJYHqDIvJYk8v1OEXhvJlKo2i+ZfT71l+S4TiDJLNhydJURrLQQlwHNZMKakMwxVi24V61JyvW0p+037zm2yCCPGqJU8NK6NFAKy+enGJpLDC4DHCWAMEEBiApYIRmtgbc7cK8t0LZP10wjlQRqlZrvj+NMJMSUHMwu41YQUAVUX+H4KGj9ZLutUKP9yWk5PIlkc8nRQrOt3jrX5zi6KDcVEv32++o6D0QQwCEsn68NEum5DvwR8kvgHXTlcZdDCkBCwWRPZA5PdXnDG1Y6dT98lu+O+Z4NejVSMWhI54GOCZT7vw3EBjKXl8Q2p7w6g7SX8ZnDMrp8IzRDcQGNxGkzP14FRvxVJnDamGL0a1sEIFsdieRLPQU++q7RwICGpdvYG/fEDWDmeCbCSJGjmmtis6Ma409c+kJGwiCKOLsL12hOX6b3EaU9Z6C32lk8GdFj2YjQuJVKrk3Uam+HDBVous5xZJYhciFGWG/R10+oxfEHerfWDLGFXg2TfPQl9DhYbzpvnyjl4nWxiBMpipIyJackA5h8VPqkiuEJZf0woD/qeFnJ7k6DGDJAhcNwIsy2SSiDOsrHJya8HOZJIYVFNpY15i4yiNMxvqLnFE1ppEEJPAoFfhPnTpmS15GYqqf4Yq47WHhRB3Yi+wfpBTCexINpsDWc9Vwj4E4VN1y3UVz7s9cvrWfSVepMo+hgj/UDHVLTw1qPcE+OUU+1IvUWMNl5bZUE2xGtyLl8ZWxE9hQC8ssihqH0uwUFC7/vTzqBkbfjx6fYrpdfn14cfj3SnnpubC3bNQXsJeot4YUO9urxJdrfQ/CrMaA8Zd+e97v8W6y/DRQlY4FOh3OHumblV29Hm+IZ7pZV7GeXh6fO10N0kIh9e95w/E/9kYKQKRHlCPNvqaBXFTJ3c4TcVyh2EjwTHxmABGNDfkEjrU9lpSUHUYiJP2Nt6fNKvG3X7ppsODhgcQfRW1TmQigS0EgYb+iIG6z/NPL4COclYWIDVRXDFEWpgaYECwggrpC2KgnAdaslISl5KLZa+vdp73X+OV7OFqM+pjueu9XG7fIyh3/XSPidzk1L3r44R6NK7wcJ+XJdmYfr1kvLLQSdNC8XvK79vgAU40yCLy1IFyY9v4qgETv0qlP61A6vIs5yY1ahNFp2wfDFwAlLxntFWt6qCD+RRnNO/fGHnSN32HfVSr4o1Z1dTID4oz+7r5XpgOUYB2T4oWHFUxfZYxc11uRCORyixMI7vKR/UyTM0AIglNvYAzQKb+HQW76Z2yYPnMd4kCowCuxjpQHcfpnmL52IAx95ytVEv5//LlV9OjYMtvXmFOOCmBFisc9xRdAulCODb8T0/z3JgqnnqtHwAaU/7bD0eKoBuQzei1OyXfB81j+4wOi/egyoHoRunYwD6A3jnVaFBOfo0Ds3yph7JwHVP9/bwku0xxwqsXZgRWNogv6r5vKOdS916kmgc6LDQ+mBYuTKuQxAwyHtQz6SAGTtwIk2Qc/tz+qBUxI9Jr/taZPYR4yxNmXGy6YXU2XLh5+68Uw7o0rhKjxfD4V1ROLxL2lC+MbRTCXZ1dEoLiSzllw+ghs2HBSVthh8hNXeCc+3ZEnvuTrtPf5ufwdR+AXnzq3UeOyy03jhcHKsmzWGiP2rONY0VgUNaVEvG/N0bhIvv1bgPiKVQO3Ls0usuYCOtB1WUSsAchHQQTk2I7UoYsuGploBQeKIWmhXG1WJFMc24fONjOn85KxjFlLh80dgtBhv0QiK56iDnJyCdnlcSYGb6UWJImqbQWuGO1W2Z4XZSAkLRtd83wZvfpKYBGUJ3AGJ7spEbwPO2sFnjMqlUhHp9FZMPic7lgJ72/sWbOATLXUb8wVWYJw4XZV5M1DbskjvUdu+qIluO/qdsk+TrbF16zc69gWWf6/hABsERZndhgw6eACxIGTycQS7a9Ew5jOAHGHzQYcuWj+8u9/cjMfqhf46hisR2xqoeLO1CZV1VY+LDSaLojJc5yXwVbvMYMcA8CIscca+CYTmvvXyFvrTX6u7iLjD5VUClfgq8Al8ubHV3ceePWyhiIW2UquAPImGK22ZmHbe7h/iWMHo46hLC2JrXh9kDCH5BRBwS74y8tycMd+zvCVMci16R3kKfF96zzx+9vAIcJiVCPKBCDr7Uc3eDqwHkxgagAz33NAC6hgyCvmjuwJAV8ztii3O5AYZfX/JZoisZ/qF4td8ub+R2zI0kbdIS1GvejepoScGs7V5P1RD1ZJU0JERoi/nrweld1YfaAP8IF/Up3y/v5eGbt9Se/PHuTYOPnthgU5xd46ejr1PYWrLO4VSelbBjVeQxB5vyh9zn8FKO5Gi+0OhDyeSbC3fdsFGPo+ywqW3Ww4kDv3VCom3Y18plV11sZsu0dPuGswyoDQF4nKFm0Cy53tv2+ndXcb/JZ9CINPy04x+uyeGuB+2lVP8OJFsg8h4FRKvYHYHl0hpYD0VFegsd3nYNL7Ulzrc5m8kPrkhVTUE5C/8yQXTuZWBICE6Fbp8g6r4iR0yuB6K9zr5vrwReYOoCaVLWTp86KG4aWOFEdo7hO93sCIfJla7vrIC8wBQRrd5mwFag47us79GwAgrPfTwdmMNFeUfQeH5So1Vgk0M5DAsGoSk0FLhsJ/XF0lcX7447xSN5+Pn00s4PBD/Sl2pbFznqL0Y166wybWbKy1+s7zs1I6+oRvTf0tBxpWZzkn4cGLNezhTnGLJnJ2iogZ1qHA7e3uTf2sMlWwfHh784XJRXsu/jMfEx7tx7ViCeU3GzrjL0AFazslaqRo/Qatkb8IHiPfHu47Ad3wiqvI494lke8TAH0lWkfC9ytdV6PfpnVJJ6ktD9JLsH845XQGX24sUmXyj6gSFc9kwikQ6V+vhfr949YvKgdEKCZZTWAzIjLGZNToY3lnTZJWzmV32SYlP82haTbsU5xSZF1nac+RCmvTwP3qDb6hGOOQrFaQ7cBmFm7FDnGFl2ACmLX0j6QSfWD47WsG0KQubHAt9JvrsJKDag+gPRsQpFYq4QucRAA6mP95Sf9RfTqXA7VrSeBg/cfzEfd/weIl45yeqmVjNVUAY+ENiUyhpbEppm9YbVF6ljKQkSbKOUfdxPCqR0vwG5amMMN9XscvyKb3LRSxE8VN+kjmH62/s/GplOfxCVmpRhFDemyqTuJtkvmhDZmr2QjIV8W8sX/Ci1Jelsr6j9RX6JEihAxROfuG9zm7jgY0YkajA8ANj48JkdZ4QQ/EV//JcdmlsgWCF0fHFU1eHuGSGTw8fxzubYySuRo637fJmpId6imVh4Dul0Xxkw+XRWo5FNLzpbw7TipeuS/iV/iVqzcUJrKcVNHK10tufaJ9do5m5+RvRWfUR0fok5Hha50OBURRedWObHT6qw1BjqnJQIlYu5MhvFQeAY23jMIx4HSzzmgOOgxjWr3ilj8ODrS9D7g6HxgnvJ2hGBteRTbH/7sVYpKnx1EcA+DmwJfe8zzyvlPI8fOLhMvM7fykrCAXXCATmd5cr5zymxK9t3zm0T2LopDGkPI71130tCDoAe018dbCUzpV8m290WI67TwnrfpaBGFUwwFAkyT7H3xG7WEQobVs/lMsbMzz3aoukkFOgemQIVKTqGGOba7EF6fjEHwQoTOU6PvYNc4vxw6lLcdweccmHD/EKxIiPKj8J06UwybFTQ1ltvqx2CqMj06uxuW82a8ViKUfJB31csKMOCq2SjDJ/Z5EHsLs+2bN+k5+pMvn7FedIwOAYoJzXV+/7U/NSwlchc1RiNREtHNOOF3D8uyk+wVKTpvM36vOrq0PUlv/SRmbcy5KIY3/drDL5JUJWvn33LVXbL40mFjIwivr2FaKHDlZFY1apOb+GIMfjmt7tZCoiOCjufSx9uZU/zIbDfe/LO6lLu9d0judEFDsooN2jb0437G6WHd0tCy1hwvnMStPzeWtaHxSCIvgjT40S3/BML47tivCg3anAOFE5WakeID9iCgrGBBlTksuMSm6LTp4icidpU4ZBpnhqYrVzIsLUzua0lBUzzExgDImsy0qKF2oiUuw6MbcOwWnKb+tZh/uKWjqga6EJv59C1DcO04Dauf2MK+lscYbwn1FTqyqDbMAiUqtBChYe7hT2iLwmt3s5hAKwk5OWOy+hvQV1F9/SW8Kejk9+MxQTorcuH3gXI1lmFZJx8Ac4X0u6F6QMhXqnEQekVviAWK3wBaykqAEEdw1SuugAdYuCEHJRqYxbVZPNUE9g8IRekR8z0mlySHqmTSOOwt21ex8D38HBgvH5l84zv2aLnhNY7st55Ch10borHIJZOuuYg1gTnQCPUsUlMQq004Qu2owdInYCvrtnh2GvUJ6zZeDJV9igdXCVh3Bp5A9QbaL1Gnutdgh0VY7S4G1B7EjNyycpOdGqGmbbNPeGVsmxcS8kq1q6BxWukRwBTFiWg+hjgyjX+mB4BTOmTHBummeG6JBWKaMQJHP9xdJQtzLPSMIK2eoFRsxKAH4N+eyT5skyuIMt8AQdbXOcgrA9xugiqLyi8VMlH3ItsZa0rArKdLHi7lEO0g5cq6x7cdiIx+ComcliJA3E4iSzreVhxFtloGDYchPqFVJ3UbXlH8vV3zIJujcFiX7Otw5RWJMMTh9f4+CVbuVWHxIye1lqoqR6muCK0bglwMPhJW03aB6XRNC9Caj961DJt2syzZbIj+RP9+yTX2jsneeA1B7r/UFFd0Nq4qMOiP2QF+t/b+VJWyoZRZV0d8OfiCI/bEMgcgIZAx7G81nq3kt/V53NoO8BhdwVEqLbL92pyforF3ahaX5bh3pv2dFgf25ypJ0dWQKMsM0sfCLq/U13ER21xsdBcLzhtPaBs9P+QNJjfscNTJ8gDo2qQwzbUbLhmwza+cjXQCUlrGIsVII60OtOmbsq1YXrxBFJrotDiJbDJMKBivZFTXHHN+YeL2HSzffjnMccpHJT4whVizD9hIbwagSPzxT4Nyn/IHUMSUQ/sCoo0ieaMNcOH0ulIm5f7eBTgFoG5C3PMgIw7hhy5dkL1n7uBgyRkcW2sBBfcx2z4UeJE/Za+zhz3EiRIrLkID+4hTSHSQYFuHVyDYg3HOjCNjNOI4wzhPdijRkGtFNkoPWcLgqUANyM2OA2Pbjt5co05nA0ATReWW1IC085Dj6+L7i9xzxeUP1yVbhKQhBAn6bOFuHmOXe8cKev+jDY9Bo7byXfHiKwdhC1QXoQ6LqiFjV87Ic/3CljDWoEteGuzPC/6AmbIbQ7KK7ynejfyTokUJjeVKNAL6Uy14lXQKJop7tYdySAu7wML0EdWA7fzGP5mic5TNFTjmrsAGTaOVadL74fdFB1TCUh2y/To5BTJQzuWTvTdFKhJtmCZVhBlpUOjQGs1fZCw4IWBGhmlvKWsUL7yD5wkp9h/clGdYN592+M97VoiZ+H1YOE62Vy7ZEhFM4BJrZjDqjgje29swXPd2VDlejd3CUeCpmNdi8wQNVNcFxjD64ofaTzZVPRh82yyBi53cS+4NLJq7OGpU4ZUixVBzIzAj7VsS+b5cZOn98ftPC71c+Kx9pUqzp/3OMaain4tFxcv+/33qM19LPkMfv/OTBDDO/uDAH9ARZpeJKwReUBxwPYXx3ofbR5NGkAFt976AKs9Wbiy9uRSMnjyEbK2Zynapfke4GVV5RcFsh0Odg8qLv2xXV385xV9Qefhu8DcTnEXmimI1o4ZPvvydergaWdWcW1tzpUeRMlCv01dCEmDiYaxj1tQvYKJCok6IdBctLa5XL10+A+gQr5/OO2KTgvHJ+F3w/JL9Qu0a1njElxJVXgzK1orXSes0rhakFHP8oK2C261nDsTiALuCLo4avykuBkMx4QzpGlgtIjzCFMXhWxI1PBhT/KcaT5LwFz9YqTK9tbnuB2U1FaY/nJ1dg0UThFmfJLUkG3SyxVoUAjrL5RmA4zElppDiDV9Q2Co0OSM6K23ffGYIfhaEGrZa+iTY9KN/xQYGvUq1jKdX7eoblJtBTP2KKFp0o6d2cNJd5fzsvcQdjQV9/GLZ4zCdwuPyaoU32LBWTQhTRZ8+iuGoAzKhVM1tw2MoD5zf4x5ql0E3J6aULhC8NQ/GZooz4R6fA5PpcfsrxByGKc2nVMXUwHUmAvhs0kr7kGU6QT2lRP2r8JNI/pAMJsDw81XNJqQOZRI0V4H5Fjcc4zLTVZtytMfF6bChVg3kILIyJakQr06XrdwYqyfpFBrvTHrsAIDh8ELs6mZTvNNFfxRAvnz+HDqRucTB6YyylRLVYgFDjOt0NMIllIi5UyEEIWP5xW/j7RiH+qZjFNEWvoCiyA2w9lIseiMzisyObBH2ppURL9auW0hmmYFgzinZdiGeNjT4BkmMkywLE0tv0Qu96KQPVqZU7Giir3K8iaVejG/CpZOkGIYNs8hoy4aRT9+c0TDQvmQLzPjMTcy9PtAywWPRCX9lcML3J5uBll6JzvXzZpW+ARXnmFvMg5JLVBqFx+ksEOCS3rEKaWdGUzYc7lzYnqpzb4wD+bsLZPCiMEi9ey1VgfZ7twhZt/aje2NNiRSiWyjy4QBFWktrYr85JFwdPyY4oEWliUDDEknpVn7iAPOAs7+sWUlW3Eu5R+5CirwejT6kiO3cXCGn3agkTHzc1SP25yEp0ZPCJbuDLcFaHE1kzgVLeFDK0AmaSlEsLBHGHEYLOnqYrGd6/B2A5jvkz9GvcmcMOlY5q+bT6YcNj0OBwKrQfB1fHzb/j8RseMumdWe/dsdihuynyzeLJBSAPwMj73b6g3W+uRP6IeXUGAThGvUKWPV9dek/Stzg9jBpoOUu3NR61T4VU09HOCVyPQKwhatlIjGibdAG64yeLdAvNv7KkGzlugUFEelerd5VkX6LzKHEb7WKbykFMLz4v9LAkchdMQkVrQgChs6I4QAJqa3mZGC7CgazReEMF8dKlT601GcMB3ElEKyjJ40Xlf2F46IzW4qiBjTRbPjKIbCaqk9kAxasHslTKnhRVsbwFcgbk0iINOhoVwjlkbEUV6R0DLimAkOEitBcAtMEopViSEXGldzHuf7K4zSYLM3TGJVuIBILtiiOOH9sIZPVx4DWxqqwm3tZ9lOgWJ43fVWnpN//s4mn+wWbD9vHJiQebYDCpSY4Wyaz7js+GRCkE9yWg0EaxxBym+lo1WPRDHv1b943jn0JCMcNeZMdQdtKkEpK8NiZ7yqRKcLlvNbzlCTD++/2bhbwainlm9jHBYT/7oARrT4oHxckgA9hTYKTCYX3L9Vadg1t8LfV6N19vsKDodSgZ8+if579G12SwnMij0CqIjtZQcMKbUSipj7aPYv47+zPf+pNtErza0vs8Z/LQA0gbz7Y0VuJXdrWqrR/7JOb/GW1EfH8vC9bKpZ1Z+MDv9pZ/BniKZviEWxFi7oRvXj6mVHAHmCk6wy9mXasMKKxSVNo6kF87c5VKuBHpby6oBC7iP74aEPjte4fJaqbe2BFhhj7Fs0vL9/FrVX3t0NuHW4fyz73UiiMeWnmqsfy3S+weHtGSX9Ahwx3hPo3obYHtNujr4iMNtOCTRkYXHOvDaDjnPgBgoKEIfnmU6laDHJA91VF1/LHmRQFoIF+z+xu+BwfRjz0eCzHJ2Yq2a+9MlQE9/GWlvH2Pr21+6inbtCMySmwmL+T3Z0GjX9ojoBque9MaEvlUJ7zI0r9PLJMiW5EkuqOLlJGBthHY3YbSL/ZE4T1GhnzLhwA37aPonY4Ek9g7cc8nxTIId+eYUArHKwbZs40512ve4v+btfh6xrqj9tmPTUCLXap/EVVv3O30Z/xHW7dQOsSr72rFVO3EvHqXNtf+M/6TjXqXDFn7ziXreZmtb1LhTH3EM0pt/5W+KFC/zW1OGwb0z28Ik6vONc3UoVWPCBUs+n0s0ZHvS2+x2MN3/I7ffjHYbyx9Ll6IseAir+tpPDm+zWZ8JvUXPmTk1egQLl58RW/pB00e5dMEVH4RhYvp0tKbUDrPcSGqsKk39aW/hEpfytKQVGmGkP9tfqhs/uJ39ZFyhmkED161KVXhT5qbEh3cbV8QTcYl+CT1NcZwhq68Oz3fDF0Yc7kmKcwlq9eSXnWha4v12YXy1jzU6QqZzZbTESuFWYrZCww2Klx2+r34yjowqskqTv8K2DyNYtNTaszvP1ebTgx2h+RSaXvz21xDKv+1OTptqS6OfoezVb12oiDc3FTIACpfjTC9eqKX7kyFYm8eqi1WFl+44ZmQPTU2/zdnYQRQcY1Nn7siFNlUmM3qVlbnRDnbB334QvZdem8y5rIPWoav/L3C8ckxHBafJYBR7vLNJvzov+rhyMV0e81h/8jWe+kQe+kT6wc/DxmQm9lkSZ5ZfLN+9eBDacOtCHktpvsAHvMdXxc93Vl/WjRtRfZeN5hAOW39dOkjdJ4Rt86u8hT/UsScuHa4/jsxJiqODB6ef+mk9qB5ZwtDp+ODBtKhoLYB+KvA2UaMMcpRVzeQeyR8Zcwm8vK88VD7m+4xhpzcf3iFw6NFntNP0KaT+I1PUsHDTomU14ep7aSTz4JAjtvvPjWYgR3Qw6Hrm4knXGl0W8STZn4fOdP3Aap4HgdqLt9l2+8Mt+U52Yy9NIhIoWpWk02ySyq61XXWtwqOqo9rXqavKbrnV/OnUs9tAwpM8+DfHf29GWSdWOzwk+VV1n7Z+q+Q/mzTcy4WYBG9qJ6ex+czepnguyWvy1fhCr1bQpXH2fA29+Dwqc+CBv7Ee+Z/9a323nszyzPtHp38h0hMHB2ETgew0Pxg/5Mp74xWD+HYQY+3uF4LbLPyo4/b0DZ6ez+Iexu6NNzQQPn34ArI9cJGmTulBOSVub8gqfveI1v39ztNk4C2L0UdwUvh5/hX18T5aL3tdHTa2k88+9z+rk7UvMLnzw/2oXmImFbRRXU76hgmnzm1j+FIZvb5tBn56QPtmhnPko/Qi/GrMw6q6nVXza8+eXGuz95pwpwyW/5sf5nMO/GsOH7FmvGM7MzWTvcpRXAu0fkPcLewAk8e9LEgCghee6Q7Polmt2t6Aux8sa5WJfYq+tcYEE8nx3n1B2FQP6Rcr5VSq79dEHSMfMyvea3S/AyGdo5/xR8XrveL3/D17Xjqv79TaGK221mAGma0wDK93imAuMgeBgDdIXaGAFvCIw99BEgpDHdP7+P0gKDAdsg5UPY4hCls1/6qCXeN6uirbMQPlRAE61plrjHqhfMDgCnw7sMYEvR8XfyXCfq/8vnTEDNrXYtIvgwdmhE1cbFW2EhYGRDZsRJle+HhWWEekUsbUWLZhQA+4NeQU22MSSTfzOgzzJ2nVMXJA/bPm6AsErgjIcz4jCcPNxCahhBkpk1sGLhrciwioGZxEMGUAiZSatgvPLBq6WVAoYKwPsVBkGchByOgq2I2FMZOrJdiCoECxhUwbQAhKccglD6fRIGLOzGaB+gjFhA8ONSQXksSDLFYAANyZlIY091uEn0pYYwGZgsiOfcySzV8KX6sL4C9tWgDjilJpqfxDjHywn4nHClITewSfE+IKFEY8rvGel9ywviLHHIiM8Mc4ItS6PiPEvehCeFL9D6ZD4HhbfQVb+zqEQ4xVqI56OOGeljwgMiwn1kciK3wiph0c2sMYx9jUhD7hkpcLLDBYLqoqQF/yFUGnyhRjvUAkhb/hMQnt1HjF+xD4k8i3+QKgC/yPGBfYB0Qt+QajasGejYB832Cuhr1FbfICBXsBnxPgN+1HQj5xd6dUHB+MFvRJe44hlSLzWI5Yr4rUbsQzoXo0QIff718SfM/r0MqI/vfzIcfedy9/YfNyxuT3M1b09f319wq9RjsnXOLR88XKDg9IxlwkHpoe0Gflzw+9eveBPpVXadPgDLb36jd+ZM68esavoLm1qnA785tUGp0RBrhJOSgGKJ4wr/qYuw7iwuV7nrIvbLizv0yaLIEWXaygojhQOET1OswIiSqYZRSHH1WETcExzWKDIQm0yUETCdYwjZUeD3UKhHj9MO7papC0UnQYUwLEdGxhB28nQmUBGjQ6k3Zp7LaCoR9QnCqSa35n3hOuelmbU9N3eoY7mYp1QYT3sfSPIKRghZ5TUTcjpTq/g6LEtjgLlZr1AHIcdO2zCM+wWOojVTh2CoB7RPJFHjQ5hC1V1U6xrFzmQQK/g3sImiQ5Bi+LH1E4oimAHRUOcxqSEgEWCEoGZIkiFHRzFOoENZMnHdN5CoZ5WYJAW9GNRHMlEWCQoKsGJCLUDVmcdVrAUitrQXDonrJoG6eOdx+OYwiaQgc1BFHIFhyIG1PfJkNOKzBT+pFg1aqHGEiKMUPTnE+DZcm7giyMh5WY7QoURDe1BsskMLiSTNxlIEtd2xKpTol/YRXMEWeh/kmYJ7SCh8AXs/arogMYMiuzI8abd7xw5BAERnuQKnhSM0CRozBD84mhwe18ACtTNDVDKCG/biOHMRUbgRXtiol+LJKjv4CRvkbQVCdcxcExHgfoLRKj9kRV1S4ddGY5wfBakkH0bbhtBT7PsKCYWVxBys6aSRy6sQSGLfF7OkzrnIIeVYoFqx7sUJX2xWcJhcjHNg3S4Kh5PpR9gOiIvDmzckbqjC+Ime105u8Ol6kNDK4Hsz+ZMJt5xwgJlqoW6EztiHNezE9Z2Q+j9W/aO3swQ/yTuv3CgM+p3/za9Tx+n2OuSi/IM/CTdLMchRSNb3RfskhJnLRNIX+8Z7ydCy/LijwHYz7YUEC18vCKGQ0TKE6r6Z0C50PcNUryIHQ868NAxTUJhu+jVni8HG3kG9lDlWVkAx9eOnQN3ry87GqDkkfpl3DZahCMKVg1XmKCQYrE4rEcjPEjkNrVIz1ZHN093b5TijdyGZ5y3Fbjus8oheJ0UhnyWQyjg7Q+4dAVFy50hgdsJGX8tE1noIIAiUvxyuk0aXw9HfdqnMQfJBvJLrsoH7Y6jx3eLzIoSWEj/WKCp7tyBDxKKdshiLNKKk1HQB7B+3gOKpsY/4EQQOQhKwtPb2VDSJti9v4qwQM4oRsQcCpmFTYi10GytkPzLfa17JLBqHJiJk0GqxXWf3mlBP3ihrrqhm5L8SL9A+3CSOYieeBFHR2J1PFqRg+CDnzIKguARgoNaEw82PlFUf53F4zQhcSHAj04N7D8KQUJ3BWsNefA9FHAkMEOPDty7GVCUPxYzpw5QxN8U82sfC2CBQiQQlo/QRFU9qEolYLUJ2gCfUdDO9V8AfAOcpdmkEe3O45hUmLQWcG+TRorKedCnsaGuklmkAGTpwGBBS5qMKXntgAYKdSQTlTMvk7azC7SFahCyR0fLUW1ENgEzZ/Q+wcwZnRXnnNZKZHPgyp/Yc1Y7pOxnwhu+xnt4+t1IKzpbZEeNOE5jQZ+T6c0UXuwpUg7aGBHJsrjZMUo2F6TTAOx5HG1Vi5QYDmaW3odIP3pynCadZ4fIX22noEcHXRIAP2cwZ0V99RrFfZhcHAXKBWAHFAD4UQavR9JS/0WSwhw6YG0CUCUGBVoocAFEzAF7qAiGnQBGtjSnfM5oE/6AiDXT+hRgRQksL9ScDmwesL/2oEgWU97cH/1nLw6RqiymSfVsWdH6SvNTynHRBkrtBtykW9U8MI90b0aNVV+RaX+yCFYHcYbFoh3R9ED0Gvd7243aq5o7n1+djKoKrs00kSCRkxBBb6wL+0gnF/GeZtFa+OFfR4nBysKCMjAngYHjM3Mk8KGSGREo6HwYhJppUBBFmzfigmded4Us8XDUMG4CFOVsEEd3EOzI5DhBId2hmif9h3Q1BhR1rPq6KQHP9PZj2hGu04DmAewcNEbqCbDiUiIDt6OdOd4ImuVhE6JPCQFxLcARv9EHuLBBpaWJ3hkyFJjrw4TR1VKNZ3t3xOlHDQN+OHtiuFRTt2kqIb0yEuWC6TZ0oIMEspETfA4Soilww3FGLBvbQQgEIZ72xaizVeTRcBUKYcCX8C7E1nFQrkSmIfC7klThPJ4vKcZnUyhE6sNRY7uRuef5Lml/Oe55ZSTS0YIZC5qZi5/u8euNeOvp3oYuSN192sVe+4thereYGRIzdmB14C3UxOmI4SghzglaDVwmXSyomWaKprg9gtDqci+x3t7uZtCAExzredfpNhrEDw15tNvnMA2GwUBjew+L1V1YIUPKia8qG+MU6aLQH8xaB4u4t4vTQouQ9gZ+QGZ/cQhYm/gajsKAvd9/Kn0BLcVz4h/nRO198sKPVxYawBQufhoxaU4v0t8dScBy7EAndjOCdZ8Wh35orOLodt82A+L122YAHoBpMQ0uXAGdhm6JZZLsc0RU1DhAHLxDFRN2wfRMUiLe8W4/4bRYl8kyOdnPhAWKQt3t7QTNU6TjBQRGPdHRkzjWggRJB7l2cB5WEGnz2hBxhIU+8aDC+ELecuwggVqp7uyQz55xBwn4v5cOf7kaXi6mdJFmptL00CJ/7WB1yDi6YYiuV6BNcxxR1VsbxmVEe217gUxUJlSeY6IyWc08G7wkkVYDjP3v4hJMcaBmJs5GHnBnCmxk9JEJsqeCT06GGKtuLcYAG1BbN3Yesp2qSgYYIz+hRm3j4aTvsDKxAQSH4rELQLaYZSfEfvbyjE4VFt7PGRQ4pMaq13BVX7vnTzDp0zwEBakAQTpCKLZK2UV+D2a93oaDmZo97DIwCUeTLqOhBp+imkOqCVuGk/ehf9Rq55ucKHBK6lEgdpbuMDJcVbCpoXBUUQYwmvewRU+iquxu0Vou1wruk+eizAagtKCtdmw4cTQ99b2+849bc1T13/XrmIrPFxTwQZuc+FQ5uns4b999+4U70WgIBc/XdNK9wBouzahJd6pwbKdJrrTNtgcNHvRjVurcJsRE9zaOxz+wreI4Jwlhr0EjEKesHfszb23kUgHT4hpixYqSFoGcINatYAgxU0DAuTWUHNG/G5pdpNku0S6crHipILybRuqKXU4DLPZMR1M00424Hga1aXjOheMnm6615nxwEIxF2HJjKehp8V/1C2/0Z6slMe3azPhUg+somjyy1V8hkM4XlZvhmI8TDCp8wQjeBGTncXFe6Sy5uFkcHh5KsHRU5kkNAdp+2notVCETsEp0gL2uy0jhIrLtE7fXAPZWCsWtJFic28uJ2/nLxTS24OHCKFvEtlVcFD7q+Gz/chKgxrXDhWDE5hFvpebIM0AWDj2WlT0E7SW2igMtSXIawM2FuKDyY47MTy2gsk8CTdbu7yAyWfqCF6ttSyZVvBIo+FXRNdXMiLTHEp6doFb2pxpdwGEoyldBr4gF0kPaopQ48WLRDbFAvumKUWJ/qqnXPPYR6fzctsRdr4h0fHH30sdw6mwcIlIx0Q2KyFwZQvaf/taM9DV07qJ65oqB9jUJc6GBIc82xvETQzMrNNI5qumHZISIyPm3ifdTAQ60dTLLedHqq8kyQVqSWjf3pxQPl7LZcFZak4Jch6jhIhYy+cZFtJ240B6OvvuXirNH4AJ8kDfcqBodasWRUIhsdCDHrnmA6AxzrYkrw+kdCT38Tkb12LVr+88pPosDavhWR96iCOdU4ac4PZXPTiiarqcHxQ4ijdROEYC1WjrDOnFHTAkH0mDZmZ84amXGrCOGMUeVEs9CFhGqs4J5GfG9HCCwaLS5zi7yjRa6qm+Ua5pUFxqA2IQ97xwqYLU8QONYIUfyXXMgxrebzakJasF/85f0oeBm0aIdBIqSXHIiLfXHPt0J3GU7phyXEQUnOM0RMw5FXDTUsAU9qkkCh+h4IWqQDTsXKpXSvQkLOBvO4xywgFJfayS0DfNAHz0tjq3sap7DsXl/A/J412tj8kD3bSw+Vm4zBjHINkoEsJFQZ7I9cX7YzSxcW8iWYYNv37LI1BAEQTsI7JTI8oVDdSCbDxYLZt4o5faTxcpR6MI3k+/21P3WWLGnqMuoRBQThliQh0uFu2FOsBqaylFcTEUuQFAnMOdZ+e57DAVcgANUXwhjHVVkhvicMJIwMOjDNpL6W2xndnMHyRH84vmFrNrf3kUS/vlcn9JA0aHamcP4DXkrxe2EQ6T/CUmTdH1rEMeVObr0bErCkxoKsOL55/Wo1H6b0yYZG7A6C2jMngwHh9CKMCCIjDXDGNM6TCxFXf5f7sqQgAAHfOyM5aE6glHQOGlBjQ095q3p42Kz7lbI993emrEP5rpAQ6oepzIUP0eJGWesB5KgRhTFIjeA2ykq+luboI1G4xsg5yfIyF2y3j9agT6/+UnJnranwIz0zfZogA0tpTNExZhEd+ct6fp/BKMNwTYdX0xrSn7hNdbOzc2REyajm37mIhyzDg3C9VePkOvdCQSyziEh9aI/2akF09aiiYgGaodM62TUpoRBteHyXlig/cOU6p7TuyUjXygIqWE741mGCJUIu6ADuAdSx4D96gTQCLQ8GMfxz1YO9NkinMbQeIto67rYosxRnfO6HDK3SYqDb8HshGdqREDHkcAQaAQK61pHTICwblJQQJksHgBHucf+wOY7gO1mRscBaLv9oxMDW+2nCxecdYsK9V9lpJ7CSw/jZciQMgtcjRsbGOnABZmUx2CIaXdWSQen4BKs+77g6Jf8IVNZRACK4t7iWh7iSuCgZIiflQoiXUMNdwAZhHqwQMlGnp7PYkhrPXmEQD3SWLfBy+wfz7p2JEc6WhDF/oFiH0iScGIpFtNAqU/u2jQItBHADTCyLnFkVsYujiV+C0bvjdoyQwshKRITcA6OLiTjhJnYoE2RmCaCwEdYbbDzzf0R5gs+2IELD8w3g5n8/+ebMGzD+IYATzjFqrJxbQDH6eB1Km09JQ/zUJo4tGotGwMVioZnKSC2NihWpbYop2yaIRIrXbBAuPdAWz+BKEfEkwLPmBe77j2ourc8JKYGrRA6jHuwM9QskU1RZsiopEhzFogUEp39q8hWN0hQayn1KY34ciiuG2XIbRQk31USJrw7r022IYTUoEmud2fEzbMVZ4D9DB5AzcA20Lb9PCjgjcmaJiarPfD74TNWYwt+H8M4dEEHxrM0ZihBxJMCWcq0E3u1mBZNGlMXtvL9m2aXDBQRqXqcZTtFW8yXP/hn2MRJ36rErjQ2ApYTE4S1zqZILXTaTCakl7uvzZcr0Wso6qDbR+LMAYVYBGWOz83JIELJeh0kmiTCg5C20Hg1B3aWFONEm6tEkfMkCmWY3LpbKc5lcgcqlFzvXDQgW2vHMjgFFkvC21AVg+EcGLQFwlequ0i5hts8uxfiM5W8OMTTfIELXhEdqTCtLOrnAKsbwXqYSp4fgmHnbmfF24pdri9VtoBKCZ18x3kll+utJS83OrzliQL2mskjdnQzYIpvABEUThQKmoTxqf53BJz7Ngpqw/721EwA+/MIrS/AhASqXrA0vhMfg7Cwft98TSarcacDUt807qxywySMLC2psiOSxRK5Urr/ECTaf0dlP1qk8oBR8TIeHeAwCyxdiCdxmiZhBRaEi7xDOO/KdxvYfnU2ESWjJwME8kvtY1ai3+vFSuLrCySAyCS+UOwE47aHCFhU7iJzD2dYitfc3QQFv1ld3/rIXvHtTQSsBJvUU4xM03rUJHOeI7RMixQqZP398jwlUC9RDCOVn0s6kpYtVfNLht3mLhnhoF48qxT+VY9Gxk4eJq++0ouys4ydbNdxoEwcabtfIbKkVPT3Vv1471TunnN3saoxzCCpfNPze545BaPGEpR7IVFqa4o9Q/nb1cAh7yENPoHKVydiEAT4gz+DVrOMCL1pPrtfHC+foAf38METgjj5ISZvmo/u/zcrNJ+SmH1u/nax9Gp2JObTzLvKHcUtoiUmamdquXo8LyE2SQqD2jbapD/NVFUid3Vm0fHX/Ad/KpnbIqper8WaV1Xe4jMZ6HdQRai7LQfGp3nhAkeNt70voiDGkVY12eKo6pp0UWtbbGei48LNy5RoHv1/kVKM2+NccwcoiNZ8+1HHfLuuI/kg/lAH9EWlco3w1xt+F964KiRp/HduyoC96UuTNgiIPvnrx+KBYE6CD0Ju1FgKrUcJsHeLtySWsL/IE5+vOscOTmZVwKXZndb9c62ktnpEYpHVpOPRW1os6q7dhHvBl70y3LqKP9HqOBOnYDn2ti5D/erBfa/6+K4htbpceH42fF9W+I75U09ilbMhKF5Kq3x0wEWED+Ubv7j5Md0py2tChJqHhaugu6vyxAQTYif82VI81d4vkxT8zutc8LIeJ4UpJmp9KWhjYiJ86kLrUUBJTtSiWQYfCH0KdNROkH9I05XAR4mTB8Zd61d6H0GKxmbzH0Swm/am+Xv1pUH78y/7ASM+Epmm+TPWCx+FdSpVqUlfUk0j8FLPMKOdMP1LnUvDag/jE58WQ9v3CNFEK+x/SbuCd85/YHBf+gJpIBAToeMoGF0YZWEFkwEopqZrnvJ2n+7r+v+2+Di+QqVUqgkYTyqjtQdpLpB9WUwN21OMSAM5rl23lrhjAdOsl1ouYKBWUNUWpq4N7hKGf7y+Ec1wiV/GkKBqxyZg81BXkWWUORXvevd34cx/P+P1njwDq8dP+3xNYId07NLvGIzb92ZSBMWxDnBISuK/pOM6COynwg67TdHcPZaNz7ticNui2W7RLehWZvnYy3FrxuBhF5cLPtyEcG3a4O8uGsLOuPDBaPDvGnbKWfcb+3Stqn1fqLiZmkjru/GNCyzVe+lu6f6+hXQtFqxcTm+hKPJFTf0fDSdGodjQAfWI69e/zE9PUeEYpg4dRHGqrOpO0BBeT2cbxMHHcJTrMTKwx96a4qSa/5i+8j4oQneXdBkn8iTSzZHG19LNWh8tNl1C2gKt9S6ILR4paYxoW8DhP5/kkhE1gaoZWHh+LdB5t7MYbAnAsf6R/kER5dMS6ellGtmQtAUU8fy+01F1cTC63D/udkOkjP/DP4E+ciuwOtqC3Aa2Ru78vG+kc8yf8Hf/8EGdUhD9z7dQc0I2RPKgxKMsoV7YJLnxmBPPiIjKVyuI6djOFtLwnWmhz01+3099oZSSBxzbf+uk0rkZUJLrBjyoa6Nei9ea4nFe3D7DzUUU87W12WFklYwSfanV5frihQqP6XFpDA9OJ5L/cIjpZcSnNXxpWEAzrn5H2ZnZP+yviw2po5Kz6XgGJ6DqdrX9DUNNBTDk+PLWtM2MIv/bj2VkQnkW6QQ9PS5Lhw7xvJGs6IlextNgrWshTxPrflbclahfr3790x7K9xvBdTGqsShtQU698Nz+19+535RCj8K/lxF1f3lH0rWNE8s84/cc16Tdz2ZgaN3xln/XcDSWYyzgjnwQKhOhLWubsXg9Gvkdh4pBhcXMeIM/qy0U4grqGluwoCWLjZ74PElI36IXpHEFyF6wWvvQEpiztzQpchv3uqTGBTFmmoQmBsIVZfTDjcwPqlm3IDvdrNaPH0Us9zst5GgOjROSm9AikbXiA0mqc8wR2ceCpF+wptE1PXnwL0D5ZQ5AdNbepA1IZerHp2/dlRZ4oq9f2rOmd2brzQ83TqobGTy9VS71eRdJbXOcj+DQhuI9IlgvW/bVRGfTxhT6PujXI21Cyj8u9vo47D4LwsfxWgFnOkeLQyHGbf3v47sbA2w3zFLNQvG3GF7kERiSKsgXY3WIoDFV14G1mdRpea4CSm6DkEJTPdEQPnofMmHpzXC304AO2ca2x8KEONhhNa7Rwhc4OZMFNhC7MQJ5Qbp0x0rxJSg5MIcnodXQdoUd7A/QS7x72ycsaNZJ2aLBxb7vvy35j0qPjm/pe+1osBVNwZFkaPpgELRhX6t4mc8NRLDc+WbcGm45GB5Odn8AoMXZpuI1fxztknLYV+Vj4Ng6mEADwbdKy2ykU4RgdsDg3Rj96Q6HHzPLMI7E1sVV6fyI7AAK6/FHAJcBHi1QkCJuibfmpthkt/PXdSJfTqia0rGWXuOD2P2Lc7qdT39n5e7awgo6m7YVEhei6tTWcfkEB2Lsjgjtsgqn9jFhxGI6co0NOW3RnkQ97qqECyWQ+P9svcLqMGpNVihs9+yNO482Lv/nG0ibjBkbw3BOA7/GHnD07cB4WrG7AsSPZSjkFszUV2IYOviz5VSe6v1AZYj9XLX2ZkSBtLD1xjWwYmBk4zDXpQXBiFTrF4RrSQ8p5276VizmMF509xKVpuUzQi2nhFCK2wUlWj3Du+A7qYZ0oIfWbWCmkHRthcZ7JNkE/kD04xYx89O1vjpVOjdjm8f9mPq+fL36ufUZMlhnC376z8nvgWJz1m0qE2hoy1dzW/E1kMuDXo6IMxzHp8s5HbPJa5XwhT+5bKyrYOPZvkujzngX20fnpnwDSu3aUgOsgYEXIGDqzUSGBgfin5VDbRXH9OJ8Ol+KHkiqpg3gmZauv8LXmGy3YE48f++o01+4JQJoncPZcN+uJFctHYipbLaym22XTB7UJdXr+xUmzP3S9UWQBJyYUhDf/ej+IQU1suQI8smUpLjQZUn0X9PQX03tfCgStx+/hgWZ/UuRiAmuKIDTg3yND6dYVN/T4qR3vcUInDFOSJq+sOrzZtrQPGa1nXENo1Ab8hAOoVjHNWJiThkhAu7oa9dztzN2TAWdwRSRbRB8KZYc42VpBbXQnRgciruCAPADWNo15O7XRKui11XLq2+rwCB4kzHV9bW+fC4u0TvvbKyP8c/6RZ7pKDvOj7Rk3DTiPXc3MJTSIKixPv7Eq6g8OnyJjAY8uRB/SlPYMJyDGJZYMfmoUMR93ov9mc95aeaQnoTZHp7eYBM7M55pNECE6vNp+N7pOYDs656supWBK9Bi+10Ty6CjTeMEakWhn9NulNehqAMI64mg/QTMcoLUJmV7Fp7x+QOJlf3SjUf4WPPae+fe43QB46f3C9gvV7AnG954CRd5GaaSh9fuCoIFW56mXINwNR6gTcJTOGd692gX+hpaYvVkKEZ6lP3M2GRu54l51AIjrwuZKJCE8zAPqNTrWEcXxv8ycGS9geyTOdpl/3BoeLkmrtcOZuLqHju2aY6ZeWUQo9VaH7oIhS25jGILCFz3uv7X0HTnHS6XtHNk89trAI1zAruV+WIXHMc6bGNZgI4DdZ/TwLY2eCB39lNzlY3cJnTIZBDkZQW63lYQIfEkLXJSTK0SU22FFRoo4cx9SSl93heU9ET8dt0d9G6GTiGs2L3tVElL+Kjq8Rd0LacCeFtLd9H/AbVDB7lExoC6bpSWYszafbuGflRqATo3wUbd6YqjVteDUw5Rx61E5Jgj5OWK/X3n/EeaWlVUYl8XMsVHoVl3mHE7BWn7qODRHDssFud31qgFFPkClOThrmkHKnwhgqUD304JMg6Fm6aIpYauJOns7EO8eWqHWFU6xYWHUlL0ugijD7whcNBfJpESEVv3N70m82k6f7YeKn1zdBZOnv8i6IBfu10P7aAwLm9d41jSGcO4yyhWQ/fRj8CEhKiv6wdYckm96/NAtOy5kGLo39/HHgUaECXkhHE8TWVeVbp6uAZzdoVLJh8zSULjLq/bBnfFjD3ULMp7BiTqZkvEuXpVdesyoz48OmhykbjWJMsPWT/YV3kV9cpjoZKV9W6kEPRUGFkeyVrbInhJ8vmCAPN7kMl+bLIl5JZqZlQtXIByOtppnJjfT2rWWkJkeTG8U+HS5O7tzgoD2fH2hMhI2zc3MrjqWrxcu5nmtQq4tCOwDGOq6hLUxcb0PBUUsLDOW9VrMlKa6Bv/BQiVxeVkUXcC2zGWSczQoENUZWcWKq/LKFWh9kxgTtjBmVA0aRZva2fy9dTqErxbrFpn53XMDbZr3AZ1XPWyLf7TpRUEEb7dtUguyxojJleLK3szonAd/cDeW0vfz/S0jBmaeYUu9oQrMxhUTqfrBe9Vrc1Yt/5p3HTFtNUvQ9GWBGZYtouByZTnvt/o3USgqBi3qdSs1FJG93D21B2tw4SHSbXEEO7Vj8erlmDFQguZGFOkAH2TXrBbTpHFlZVExzCyvOECWTSSKA6hSEGUewgdrB/41MwQapKantwgy1M+yVSQXWG+Gsjrxqjf/f5pRty8OPT8QYxhhTaUEw8VbYY2aSFCXEcdJvdkTRDxoTnzUVg6tQTmWm7nshRKrvg18ElQ55y7hmC7K1l/JAc8i7WHyguZVNbjlbzOHfgtMKb1D0mzddFTL+C8cQ+ao38XmHVjMCI0v1oL8AO4JY48ycMr7FqjBSZ3JLgyF0O/mOWf9guJZKXCGuoS8fKCOMPi3Ml1oKL4MtrR4FsjvN2zN6GCtM6HRzQ93h42gQWwocrlcMqstyGsoEBRiQ07GoVBaq28nBg2WpeMLFunBnsNm9xDIeVihdB8clxkOGiyiansFj97i4c19um4umE3SQ6hGfD7a9b9RVWDUOISMhIY2WMpWi6iIukBTY/Ep5thVxTNx9uZu037Lv1f7UYcdkQkPIzQAC3xRTPkSLp7v4eZrT+/6S2Wt7H2hFErvXs69tebEcflQYCLKKPk6NEr6q2+d8fdulE7ulW836zNk+Jb8vaXBZeK8jitjVYQ6J5qdJ1PX1wJbyMrSh/WZSVxKfGoaWGvrRJUnANSP7V0YjYpRoyFtWuL5/fphqJTBJLWIYIRgzXhThOvKy2ZAV++PZNHi/betb5Vgg7tQmAqTpGAHX1UUAlh/3ENXa3ImA+UJDlBwt+eL0AdcMIiRBz0LQm0U9qKJHWpo5NvkHMAc8kHqEcx2M715sYi3g0EBdaXTgiAAtcBzfqgd5MNrB0ulDUlpSHafrQLx4m1JfnH6MOxQKuoix4pmLjycl4nHQrt6dZAkgEraJc4D7NxPt040TcmOh1BDDCk02COSuzOUZhnRXJcxoaRtc49vSQY90mbzgFwUi7S9f5PR8oJb8K2oaPe64/xgHv5SBk/bI5frgvluNi/7+eFFuqlOej4DqI1usTk8jmWqNs7TIzKiex0zp3Wn/WkzojkkV3iE3mx0VRnePWzre+CHT5bGuV7HbiY24P0fAj5m0v/GcWAzcaQuAC1x0BtstcKfppMtVtQpwk4lyazsdtw01g5bnJNmhPIpd+gtDQyY5ULadSn4lioGSuBgd0MsQZqEicQe1qtnqJGDqiZK9beDLnKPgRFFzViqafJfJ0KQjyburfAsgFKt3wYN4u337JEdDOYNrdvsSDPC68nErgxgAWcwVe304iY3/rXniyNT7lzNcARmKPv6fJOQdf3zD2AK7ykHjZ3lHWip+sgLRyAtrXnaoiJmPXSfDib9i7Symi7E6rprI6H5YeQCVR1tZux5youfVH6/ImwuklPPKkWWO+RAgi71WUd5aIeeBftdwIDNl4ltydzRJqtNh0sLh0IWb2NieHzYEBiXjNqbbQrbIy8iFKsKolqRqYPHn5TxQcs0xHis4UmllssWLr7QmC2WsVFDzmsAGFnL+cclCPbCSQEiPzfORF/mNdJ0oK+uRkMNHRdtbIPXL0wi3bYMRZyFRsDBCOPUy4V1tkH+wY/Cc424ZVGQpeZkGaSNO6FyH5hWvdnlwTzhVCYQ0rN5rMnKESe3tq787RtqTsFIR/NFaCNQ5QGneVN2zMnFjZ7iBx6zW6BhbsuVsvMrWpFMAZ5E556BRGzZ7iEWYmFz+5pRgLhzr7vt8mydjjs3yJUVR+cx//woDbO6/tRW1EvRasxrv4uDrZfn4/1JZVX7N4u37W+ZFNyECkYN427nx12+SSgGLzbUs/VUHEy87emuF/NoRYzM66azvG2kuql9rN6M5xMkwyIKRm8o0GpUBZMK6yyVXmaFyVIBSHy8YSywoKzMEILeZ3p4GeSMl8AJfF6vMbOBeokS9ypoDRSdiaUutI6HOYUU1Li50GOEovFZxiHG0uxDmjRXLip0/YqBiiJhxgZSJj2kyPOLjZkHVJ7VA6CqA8Oh+MpAk7Ubw+Ui6Eg4O1zkpCr71fZQEifFRzSaIXJF/qTDsut2sMHX4gnXn2tCW9K3smEBLKn5GzGhWE1PHU8EPWWoqhUxQGC6G82RckNl9yGlMAsTOahtM6BMqVlvaYjvOkqOdbEh+uSdfCPZ71PFkafMsXj9agn0J0RRsirwai1EgJ+E7Lc2qStusNMUNDYULHFDrV0tb8QwOlQcTh7J7WqIWy4RpMsQmmJASet1b3WRI3YyIPCYJNRMz21kaHnZKUP78N+JEJWMUVvzDnRu5POlYo/vpKFNlBClhh9X0TGdXzTLW1lTilADwh2pWb4mDA4PtSDmmVwOgCTRzHqzYOizjmCe+DtqmUCXoPG72no09mI64oLXPs0N2sGwv/mozbVe6kSNwVBn3rRH1b66FaGNSEx1E4C8Tpl4b5bLBu43hiZKXStvC4L1QSyeUSuHhITrg02GdxaoOtjCQvxFApZeLY81qDz4HVazE1V3TXyTugJNo2smpftr5JkMWeMd/ktrRnIoMl2TIhK3scgxjjzTFi73lgbmg4dwtavJ5JDwt73ZuacqBo7MAQ8BPSCvH7RneCUDJoRy4e/x90M4T8DwdKFDNvkANQZFqAOtxVsRdiqkWeF/XlNIgi+StBxaIIvrQjjkJp8rthY+wCqWFq7XLhRmhzmOoLpn3OcwwZ3Uy0rmY+wcRXzlPU3xa1iTTTEfYaXtHTr3MJ/uuKf6A9IxDHdS7mkFOME2f7TdEtYnmmq6BtnoD8rX0kS2SVEvrhJTNNzshwmzw2tXNqurdDOa1/BTvtjoe0uyDLvL6D79B9X+j/YlWCOgqYprfU/UDTexVhpfDPNBgSdhZgj03ACP8YeoCerF/487EKKPezc7cSAUaipVYk9iDX296ceRwpZqXIhbRJkaqNMUZ+8o40il5m1a+5JxxCkEtOCBn7Va4h6vYa2movddA7rzTOK3ei0Zm4W+hHmKYF5fPPvWPNNtQR/RzKbrhl0tsqSC7e2/eis9qTUNpeN8g5UzL07YoZl8i3pFFzdsAHHUwtvKknl0pTxX5XZvBUZbFFjOKnS7rTl0FoQhos6xjBw7IWGY1b5BT94cHS9iJepy4uJ93jSL1Fzwvp1Iyd1lutEsSV/URz0y4j51tcwUAnpR2IYri7OSaXAPJ7ZubpBYOpcjsil9N7nfEIcAGhvBHbCGU4Ny1OJ6zFoMau7t1GoRxfAtYx7poaZXbR1B0dXPMAnqvNOnt+NzFpv9neLmLD6ba2/1C/zWU5fgDxxOs4KyYTm/b8A9OC+OKoRNOo2rZMZVbtEIzYIalyCjtOU41RL5983HuO4Mfg2U35qLU/mIo5uN6FIAhVh7ww7IggWfS70wgZXAmcdK3YN98Xt3K0MokD+II6nrKhrUYlwtv61ftXnovqEKUoEF+bT06MRDN8yB/1kBu55oKdkrIcks4qXWPpiMI6knb93RQrF4u+K6VfRV/FEg6PQ10izCKJ9nkT0KlD1Mkt1KE8vwFY6/JqbJKgnoSsQiL1vp7QvAMDHmb7PPOFwm8KvfT8qcV7bWnXss8smMXnZXZFaGzK8owFdDpXjGnz03ekdMSxyC0hY2m8tLphS6nIOrNN39uuzH2p/ykuSufGHQg9h9v3K2iGIitjvp/2PqLEqivS++5Ji5Ke/unWn7+VbenOqNyVdvDFPI/r0UnkVqgS1was5a+j2dSLi7C1KFpJMj+wU/8ELkpuvUJeIOl19Ep/+AFwAyPOE3WqmVCn4ikeLajgjKFrqHJ8h22xb47C+1rqKi/24sFncErVG4nS5M9YVnJ0t82fFmcBXExAXfnoqxDi5h/muCrG6EjxYIavvp8o2uPD5qgs3w2tF5xpw0XMHSxcCuQCYoEDLAKCSH6xsIskSLWdkMquSToL9UFsBLtjqVQpzkdK6tsefA1DvhYK7i0WlViHjU1l9RnKM/+OqVvBv7NedCZAUqsLdMriWSj7GkZXdu1oQlQJMvH+D8AhJ3D6QGSWXDpiQqpH6nTf0yA2uxYiCUNHsfDfNjVvUBcjsh/NdRH0SAyh01P5QjZZ76y/pxBPT2kUVDnzdSKsYj0GJcSW7uU3UnMTP0fiBPwvfJUcYGOXbxGFBjGk5E9rj+SGU1N21fw5pkk0b+7D2iMB7Kc5Ij9gBHM1Ymw9Eh6eQXcWxke+rwg5wId/NB68KKN7XHKrMykogMHvXyytYNybgTMPt02iyhfd6xm6vPP/r89SjWS0+3Ogg8YJ8mjb6bqpX+PAmwE6Y3LGp2dBAYSMKxf4WOTA4789KnQT6royDDp5daHnyIIpVFHy6IEslgUTKoPTiLvc6uCv0Jo/LW6H4wEXJvfkonosBGxVusNzbZ0aFEb67b0oyiqCJias2FBpYkWUKAZ/pnmawDf0H76zUIgJmEkiN6+T3ELwDeDYEVIii6H9bKGxptCCcQINdFlpe3U4d1GwzNKxBegGoBFM0dlm6w8gkDi9VppxT6rA0L9jrZG2HAplYlxtBsYIxiRA7YYtQ8ADGrpDLi8gEVgUBbv0btjcB76nNgAHqlgOmr7xQgELKD/nGh1ab8WNwcCBNCrCtiyeWxQkWtkaDGzcJWbta4LFnrLHvEkE3CH119OQrwMc+r95q8Oa1lOdS/ba+P1gIJEsAn+cSxcAtrQFBRPJEFYkot0KimsdeWjAL8DppVX997Gi9S0GbH5TmoQ1hxxzqZFAyVozZAEqtHb71jdn82PAIrJ08fowfemxej/IoJEmCAUHG6EREyiGHkQK+Bq+g7oqiIBC2FvsZlAuPINv4eAu8HOmqq7cNj2le9zQIMVWgwrIFYDsuBw8ln21Xx/Ha2O1vAMB/OXLseX+hMxkEkTDvn2HIqAKDWVO6orI4RbabqXyT2MoymHjaHgRla8HCAJBc5lufvnqjhJQW6ttfIWkAv4bA/eR8uhoJiGiTkhmk0wDpGC8F4qim08nTizSjmVdogGCTTLmT02LuYRDTcYq01KvdTXbKILBC7EfiEH7s5J3Xo6noOKW9gUmMI/v3aaZlAAPCmnP+maco+L0SSp1vNTPee6iP1K8DWcRFxjsNpiNobZR7/w5dUfn5ktR7WaSMjQ3a3p9No4tUnCxuaB1zJAqsSxZabbFqnvZspiAt+z7rOp4nixzHKgLKcHXjnWEEGCggkKzzNOmZbXea6jZSolRqZh8GY8M0HTNLPETyxQUL/phxNAnrt7IuFu+wIVpF6bDkX7EN1olFxf0I7muqRUNxByAx1YlL+lwd7AgogG6qyhSBiCLEFVWC03egEJRWhm8rhRHrKqfQ/B4Sv+d3+XxCPI/83X0BJ3DKhxNkV48p2pKA8ltag/x/dd1sQWpFYhNEbjU2U6kOICPZAhz1ISKZULBkgG3RfOOBVzzsUWsOhEg/iOrVK2/KYu7LDsTr+4AF9BckhTGlOc8/xfpiSyTesBojMy8odz+03h1gNswp6rtta75lY9p0S3UB0orpVNDopR8oTLJl8hRAK2ZLrYQKgAmmbvsrQchq2ZvhzdEDRQ4yZSFwTPAsZ8Q/z6r9UKr2Khv8pkUuOSoxFYEyU610YIv7OwdG/IV524k2g8GUtY+WaeT2qBcUvediMSOuYT1GpvDUFcKL3PRmc/dZsc0PxGXI9mFbGMm3gjht4FEdCgFfvksgpFRiono8/jytqiuBQS00lqruTQZ1quPP9yd14T6CcpCVx9GxXoegqu6hLYdIdDyMQVMvJhpgtpHgSSmK/LFw35fKHN0M52aDAmfKW8LjhXPaw0xiH+zX91tTkGHvy/XG7Bk7tMdwJdWGYVODtX9hFHjG7qqDwm3vbe+YoHjwuwoTPWDDhDHkRkTfZsMqjfAJtCCuSOmRylipd+Y2tI5EpoplO/E9tsAYqMuTMdfAxulNKXJ3k+O9GCqLIWqMWBuJwXHGddWIkP09W7CgZluLJMghMASvVFhLWJZyFptZl+j7UeieY9tWsBRqrfs2DIgCogHgSixKX4n5pZG6P0JLfANQUcx6AQRQJtH3jmkBByIr1Glk656nRmo3ElUxYeo6aCKksyzOEXC0m67TxoTbwA3nzrzuUXt5lIlyae/RktvDiUA2w+I/iNqcqV76NCsbnlE+uEPtbg/E05rMPka7WFCDCcO66RH/g5nDlKD2sIHE6gak3qLFD2aKqIGqFNRgQIGY8GNPfz4kijzn7YV40gq0h2dARTvDxo/86Tm7ECnE4puM5filRT/EprX8Nv7ZwYlRGwpDTKZp8ibfjIYpJteQ56pIJt2Mu+UvN73B+MhpaRWb2qQQm2qWomRZ3g1aXQdB4DyveVCa7pKkx+7gZ5t7s/fBLTHdb2iRQUqyUtB6eyeJNqEaeI7QE3xjZ7+4sPU7wr5XZ+m+86SorObiDnPw208c626f57+cvxTIMFsIIKe34xjmawjTHqbafFPhWAEs8PlESKDW2HxRaYHt3e11dawvI9S73lSbV7z3IyvfG+SQvMw/+dDYZiQKnPjUOINtxvbpGoT8OGSTO6JhdwCCNJd479lwWOR0TX1CQ4lNzrE8bh60pGl4135T72Ome40AEfUwQtLyz8DCAuOafDG6ea2HMvz3V91wPnW1b3ll08tSYAdWPuS/y+9nC4qKsCj5Y9GuBHlHHvuZn0uPDTPDu+DJT1pqHvVwYsDuvNuEAj7wz1oOZSv56NR6msS2LqUwjH2ncOGODEB8cCwyAlw7QYNshzW4K5zFZd1kPEAATSYIbRHQrpcO1hEW6wSIPcI2uolIezHWvd83pRN1zndjzPjQTkcl3G2vp4K97nnpUhl7Fy3X0k1nsANwnOZSwEqW636OnZXfzU1bYd+bYeOKN4633pmSBCUq4OLWw3FxZDdzDvtPI4BySLACUd27Y9rdFtdvgDITP4yIO+YVRiev29o9n4gR3gu1ar3yLGW0Sax2mrG+9EDL49Sb5QJESquRIMeC6MoKaoO9khvFelE/32y9wEck1Fo+J8Om/T7OgchzAuWHbatGIE1UJmkaOyX25/BAlm2/6H7vixABSmD07C8SIN3T2eKa6LgVRMLVPBeCpDfIITA51v0dp08lerDHUnAzhgQENdecGyxKAgxIKSrujE50OMP1RzbAMfI6KU/hkYlcrGX+gQXkWiP4Xl53DpTf8hq50cq52xbWlp24vbcQ+pRo6AW5GaV4fR5g2fON7jNtgkV/qOEQnJLhVsGYwQzZIQfhvYAvjiRyK2JRLDNC/bnMQIhOPCMUUym25prvXBwHxUYZQRWSpHgSd7HETUI7BWupn2IMzCIWCL1dfLyQ2+4FxJoHFCfZISBXko61pmHC80zEjWOBtjFd8BRjrGugE3Eo2TGccfqcp8q2nV2MnrNW4TJbxpSPtDoCCplEo9ySsW+8MgcO8zTUlPa3KzFtxiTR7ohJhG4oTyUxspkNTw2zW2bipVKQdQjsmDiC5tOkGSBz9QJL8v1EybiBr2zEuoC2JMRssMljrDk511BmhY6khjT+g6+Z39ySR8SLNlArlvIIQ4p7d1irOC76deOLKqYgZ3GkQFYAEwuLSj0HSfenZd/L579BP1YufKYMpOEhB2XW+6S9hzjS2sKEZpynTatoW5FgnDyLIBfV2VfYoSYEIPM6gIs+eTF2UlvtQ0tl/dSEaphwo3mFyhBfPrtx6fHPi2l24br805R/WHwjMDfa1KAWujIr+uTTzpBYi2HEdt+Z9Hl9MYgjy73/0n3Xv5gumY304NiP1UiSjqdfQvSOe7LV46j9+fncHD4suUKIJxPvv0ja6v2aKuptyTds9jcHmT7SYysuZ+IYop+TsMKy86DESqkM8HxBHTAJRG2k/tCyCDrele3rMMVQrMKwj59oG7un/RWeArANVxN/wx7CGwqHj0sSXNSH3xbLGBF2sZD/xH3jqyrtf00mCjO/i8zkZkSx1pHFDxupBfkdBvPWkWBgCvv3XAePiwPtMtL0BByNrK3ViheVze6/io0RRWVWyYqzLcPAbdRIM2Odgmjuy8VdppPHtPtEpqDmQbSceShZjTyARgFrJeT3fbyh7bF4ddpcGBl9savCS/MNMrG4topmWv/3QlyyvywVcO+pJ1k+G7NCqVjblK6w43BRBbRYnQ1GulLe3A9Nbb6Euht86KBdhqmpvqADGuHtNjaHrG1FT5RhDTWmekUnhGnL7vvz/VuRlqboysEOmzqd3ki7rEi8gri/mWTqgd02DBrjexrdv0/eq56WfRiW+sq+mmBjBOZCcM4NP9bDjS5gkPKR6a28qoea8HYhNDJfqWKLc3fx6JC33pDUFRK8WP0aEZba/k4WctryDCWzdapwGejBXJUN8+btDhoU28gCzaMClnsN0yjRG8+Ye9SbIjbppETcdqxbibktliYu9CaXnEQrgcKm13TDhbI+n/pOg/VEYWjkaSj0q7UiWwjFCsb05130O5Co5w6MImJ9e2l2ukFCC2cUZ+pOJUhGxPmpaOABu+hmwEq4NJBg0HQGEb32hOi72VrzQ94vaVrOfmFzZGygTcEzv5sfBKs7K4NKKyiAcwQ30TGvXGosvah+ICa7TSS8bXxELbGBfpXbSPJywfjLzrccg38xfAfF6pKQBJFAfAIzRbBdxj0eq0CpFtCwxLpmSY6uPwqwi9IIMYwBDfjfUWbLVBilYPEg/mL6djJ1l4aguDz42UjgzhGvBnhoWDGvHCKbQVwYSWsH2mSazoDt4VLoVWHpDChGD4Tf30BTnBTQNferAO+ZhzfHaT6R9ahaog22CZXblfLE0FzoO1NqZJK/pOLth5yEeS9AR+U5dz/MUyZwvaAtPquEeMdWlT7HIsfMMVSSaT3XvKxP+EMx/KGlPjiBVqoF1CyYB3FbCZd6gI8p9BGHewFGovd1rPyMnZrmKQtZVdV141/MMeeKq9uU4Cs8Zyc7/9OBmdX4jVyxyoPWO5xMZLX1ZGImB8uLBRfx4Gxy2IqLeFxj+uSy1vcOT37kwuFnSaKBAXExgoV6r55aIC1ujOZHxiA4y36TN95ydaXWM3qeGrxLrFioF8hDClYmxMAZQuwjemL5zkTlfNJtHtV2GMEqnMYm1actepyqdx57OF2k9U7QmowzwoDj0VtWsLo6AhJ1jhlSRj8VO2a7i2s2MQUACdvRldIwSUZrfM6LQPaAxgYEixEHhvcoM1U0UoNJ2QE9sug40O4zWxY1ab+gyOqiD3r4xzEInPTLQMTz1M9d0GYtp38OD8HUkBgI5t4ozsNygToPzRRDe7oj0KpB0aLz7TeRDtsLUW3Qlu6bOcVbm16HUNDyxaTZDwNU46Mxb2h/aVfITsZu9pFmc1ueR2VIUJ0y3ANR5unaWJHnfYwLqSoXzq8lL8adqKDddglztPR9Q5JhRbHPdY3mSpiXq95DFvI8nIDZOq3BHPzHWLD7XJMXMqa3lVmdYCkFrIF1WbmnW+jPtw8p1puTl7Y590ey8IntRGrBcAGknuZQy/kCPdpmhU3fJ+uX95b+lLfUb06bMZUrbtIJx4dtYAfYhhvWvCjxtAwJtlXmuzYaV69++77fRMrT9dfvTO5utCHk9iod1eZ76MOwJrGES2KazlgNIsZDs29EKgL09q779xD4wgxYhkVr7NLQs2y0PSzH4I9R8bPut3AzoGCcIrShgnMdgnAsvzYQbs3f5sultRqU53MCm8vCXG6ZVEaIg75WG8rhtvIehtXDB0QAkPQZckEX6Thgq6nNRSw21R6nQCCWy4h1WUjKzwnppYcbChcdJva58ec7mCWiAO6HnEmPjUmYDrt2dDsWll9dUi1TyHi5Zpymcx/e9nOhvQ5OLobeH+fTl56y1ZIRCkPpEQL5impXVbx5Ykjg3ZTF6ItkKF9y+d9AcN5G8o2cLJBbUY9Nff1NRZvX4dvIB5RgLg71aRIeEgoapcKIh+8pDvDTDjnS04KLFAehRblnBeHdGrqd1wvpdSWz5qTn2ERdjTO40PI92ppP2ME0uHvBN0GJIseVYPyDtXUQqcSma5h6bjwak7nSCGs9A7fm3zQN9eQ51rfGak4ZPk3NTLaQgt5YQFMfyxuieSpL0aFA3ifuACUxdf2wFpwbYuCVfNRclTbSXojOAhqBg7i+FiWhki91OcP9+6uhsjiqIu8/yRJxQso72gpB9sqf58GEk8X1vn9ZOmSRND06GOM+SH+bAV102HH1Gk0eD57AEXYTMAI7yqzmYzcpPAjhpyAKfj/G3PrAX5idkx7+zeK5sMYsZr8w2eC/wMzm8gtRD2X7C/PIMnyHbsx/AX7S4776ZDMDbYm7cdTdji6FLk1oTwSzot1Pz0TMdILbv2FqbLgXoh/T3Q9YbWzwQumJiDOXu9EVzrtnt7Jv0y3cwYn7cuqutp7Gl24E27t2gBvnV9/3+Sb/bAL0WeVW/FQa1icjQSv9dJY9ccTJRb+pZJs2Aq9HwXt3XTQ4EHh+cRGh1pLckjC3nZsIXhq9T0cS7e+GLmGuDWOrxFGNCLX88NeAtdvU4U9Ylv9Awt2m4BlzocnLcRlDluzM/otHQZ612E4VkwIbDusRzBjoi98JRqN6aqzmZClMKoW/TZhKSb+VCevSCqraKlwMtlXF5YgLP7IA03RDjBpce4sqvtBVqxTU26E5SHhYENXBL1c/h7ViQmOHpf0DSMS6pBLU21Ta0f8VMCVbFg+zZYwTjx7GnBMVkTBscOXb3jOwZkkkINtebgXwUldYxWT6bdkHGKPtY6gsk4wLkqkM31+yxslD4f4wWa+vocer1LOw5zNF9ihLVDdL9dOSu4T2cVMWOnr8mkGHgwDfALhgBw60a1cuhVkNMgl74NfwS6H4egkR1VwwklKZKjFDbCOvlnjiDlQInRSvycrj0A5tTIpRlhnXvZRWZSleT8+DzVnpsk4hvijl2qHwhGnC2fbRVdkl4V6w83BepqLUzmsaUcKRwj2fNNw3U3vBMgpKevFIOi3pxzC9Zf0SdqSLivDMF7ly36QHKOWRbCNrBCkStkWCxQXurxc/dnTBW/OUTBCqTU2lxJdLiMBIgXnBIog9rIsBzQ2SZ0Snm4vHpDieiTfKewTBheo3HTfoKA30txZ3EZ6UoktEHoyU9z7Ew4OnEKgzGnVXOMlyXvp9QBRsTbQZEvMxcpBjqrzDuJrzkvyzxwt1rrUBEhzvdcpy7etS29SKs7HwrVxAdNtAJeqbVXF4EF0rkVt/5sdnbMadd5daRynC75CthQti9kRHsOtxL0ZdVlcmPoqC+wLgOvVQE15LeG/FxNg4Fr6V60JLqn2q+KLeQrCzLtV5XVrR+A2tJrTXX6+lObAsg7JCHBZBmSbSY0nryqqMgZ0epLcAHH6BCIbHUJHdPWxpbsdE/LYGHGj+Da2in2CDAo9YEuH0+axeM67wDe8pYgLp2ESj6KzH3so7f1sY3FzfKmiBGPmYh+3Vt1v/QwIUjfXv0H58wxMdCcfxje/yckqx0y3og8faGRieBRk2lDJI8ix3e7IYbitWzcvYNL3WSf8TbaP2yowToj12ovNzZEMKJnZMeMsc6EH1Um3t5WeczREkSU0V+zYunaRktgTguJ2L8CGVHjdNxbmcqlaNebK4EoFJbj10WiwK66vPGYZ86J76VaLXAECVCB7pqyfUjCYNXcbGvb584wd/n1aekUEUtVYRlfSPvptQME6NF6F4OaV9vO3TVoKhZyxZFmjzDup+aAYFvSAEIU47EJGOhZjqL3aNvsvpcMHeFJvhiZGoB1Zch94VTnIEZnkH01ZlNq9AJBONAmYlbaR6NYtJlyQVQUXVjd8Wh2pVahgrmpXATTMxDIVoqMTcDJqb0PnigezmmTrnbFWnGSmRU6UNbUbkdDmhgcxiYdW90TgxeVWOWEZSfeiwMutNPYzRIWoY3r3Fx3YXhxmhxs0fKKAi2yb+JjpmPMgNQokqvGFIfUtVmWCRVgaXQ5SbosBawkAWFWdIyMIsZmPA2nqTMikF6GT6ZtQyKCf7FbtQVVYMtVBAtI5bQVuMRDKqy2b1kB6HIwyp6PdaCLzRLGOk3p4SWUysHmkKuGsaLq27bZMLV0890G6XeqEQF20Wq2ZYJYS5AW+LfR/pWn5MOTbIUyOldel1zKFR8Zu8UB158is+Sf0MP7kBBV0NIwPl4O51jyenOaiZW1dBbOrtYNVhOIcxtwKUZ1tZU2hCg3uqifqoGiTGndqxSd1UEvb5/K6z7AXqUpeXFOOfRwUU2XlYiBlRTMBepNwepliv4LmWg7uugR3KFHtWHNu6l8iQ3lCMPVTM08o3jC3XQd0tpMKrB7EXzLZ3Hiqp0o7axN33zMzi1j8pq38U0ceAKaXrVRVXOkI+lwZWJ8eq1YENwuf4Aw8XzgZIHswjdKPbFZaNL7RxYgCBuWrC/SLUWvHh+FLeBKElGLA3/23fDU3dml/8faLCZcMTsmhO3pUxAVjtoG6JoujUROTqVaXE20Zq+YN8phz2Bw+6b9HLCujaekvFqg5dc/2DmAMONBkTZZjXaGoXk9nuKrEfl+p61LJ1/pHjExdaNe0yHaoJLgvlVA/sVm1/q8dzKhKcWsSuGoCgGrr1aLg7frto3vUX8tEMDfdPUmZIWEd5mt/4W+n2uO7mYzWr2vpeKJmUc4o3IxwSB94rbMoNUNF5fIiYmF5QVFpTJUQOVuyS6HFa1YcZ4V4RmLpp2jHa2PoQEuzbJ8ljr50bylh6jh0a7vsaic6xbFBreZuU9aKvem5pW/DysOUM2/nq83z1IDFcoWWQjWzlp3DWTDP4t5ECDa7G6+UdgxzxMFctO5g2GbXvejLjcMpCguoTps082mhyJFsg1gQnm173J7AEyFqCw7eveeTmUyKH9Q+SpZMsnbQyklZGUiRLkSydjKWTsfQykV4m1D0K/mDwju2r/0F7TzADAzFCM+V1Y4vFdq2TFwtEJ8FRbkqG8E97vKRTucCqc04m0TeBp/E/ego8nCwEQ+5st+BZ6EYHDe9FtcArO/PrP5Nc0ukkmok+Hx+inzMTH+m44940PR9tN5z8pj5dh/bbnJhBzbMdBf0M8CCjKK7C2Ft6cqORIjtHEHiL4rKGsCOOXvhnSzr1NQXWawSp+k0QvgmYkUhMMo75SRSluw+XWWEvevPZ9FEflg4OKzMi7IPNgPBRmKsKG8iFHmGD2hKMgkAol3BR9xQhQd4UC4VYhXekE2+/84oEKG74gMpfllbV0Mn+jkpayxp1zVvjUvP6fcP3vchaTg+zZUQtv7HkKJAJaN4IxqrIU+WCGBegf+a79xvxKn2QFLqobkvdo4ftQnrJSfb0IVGNWr5Rg1Arzv02dU1k0PyN0sDuSf7eG7nVjf8PZhn9V64aOg3o/OUSMcAJEuAS+gMMmsB92C6kF5nGrychi1psrXOdhLAU5ip4GfEeHKgo0kDQrq9GydBiIdALWu8yv1M3B7lcz3KHnHQogUAoKb5g429Ek7RKJmub059O+28zBkAUnvG0YvzG2Pp9onBKcf3k8ykNFBx8S7DpiZUQSvMQqk/LQ8a1UxmUUAtDUZCacQccUP09oMMc/KC7YweUjMkE5Zwoze4SV7gPhdnrsPnb22mfJgqOn/HDY8WZ3qi6HYA0bUsxy3kNRZsb2oq5xqB7tXyxnm6pkg1mHzbAzVeVuec8cIWlN1ADsP1rc1K/CatOVgdh1kJ2J7SYVhLT6QbgDnLT0Hsa2HmgbX6DC8wK6nTy6/aGB+31+HDz03l5LhRQUNIJyPQSfdSIllpJPcEXiM11e+p41q0QkeX6w4Ys+tz5D6Q+P/q7jBFtreFgAkiznTW9WPuWGdrKscIjxB6JZGTzecd4g3MFN2iuHN899R8wlgk2ADpkaWPb9+KMITzRvztDUdlPEExcWDE3TcAF1wB3a6fb30bp1YVq5lEsYoka2GFU/dBnD9J8mpGqMrcSI7wA7LxKoPNOp/3+xvU1zmifsmgJi2SGW4luZle/gh8dNLVIoYktoLBpQtDHU5bLi6UpCS6ky5fIy5g6GhzvKYyTYX+ZVE5MCQPo5FJ9J1Bk0hIzSi+uFwqci1uJVo+q0+m3UX+ZimVjkgQdaq4vpmaiRUqCpTgpakacgJEihK05AgwJ4J3yVMeyPy5uCdfP5xQPLWDZW/8iylSSNaOXO4Ojc2eOX0hTeq1NRrDrlQoAO/IFfR66VN5idHJeW8+uoO6uS2DcylTz7gMvLEvOEkseAJICauTDmtp9/kTzfSVF+n/eUvhTMbLfumbKNDI1txKX2XEPCZOa3sb8fmtduQzEjw7DzOLCBU8EpUW835rgXl3arQYV/WqJlcQprTPlYmFAZn5w5ggeMxfwDYxluu33J+UP6hbtw20Quqxt+vhusSoyncnF8msI97byUeam0OG9G9ceWsLMnugxXF30ePG762/TO7cDsZ7Iib7ZWeWWNg/6O/5dMFURuyXpPhgiMOIWwToy+jgE+muREKBdOpz3qYn/gsFCLbbXghvn8XxS0uM93tSPy/QVG5OpxQLCqtToCIaVrT5V3Dq2/w42zsH3Yto17J0ug59t//NqnuKFuzZE1N05kNeA3qU2YNAXQb00ow6M3XD3iqlDWqxvOmUz4q+pRZq78GOS0Bh4L6b9azHtHZS6uMhJ7rnYe1V4MrrHuvNjKpKJ4WXTfSa/WzRNu2r6fRM86ddgFm+TPVqZ7lNh0M7ohj5pcZQOH7XwDiTQdxCuQbdCNwWlk4QiaENFS9VhksVjn1kLntrGkFmtfpPK4HRcnVzfIDzQ2NAG8RaZGa0PuPGEC17UGNOMGtUZd5g518QzcQQDd7xD7xN6nvDP4I/S53waG8tqcBCvlfUBNB62q/a8vdtV1NVvlgUC0Mmd7zYymIqKVjRnh+uLn4Tj0eITwoADu6b2gvDsrlg8+aKJF/zj/sec4dWlj+y9vCrG6knHD5Kf8dJFMqScSh3dh0xeSVVeMRTzgm2E8m6UStBJxUFrTT6wv2sDNS/ztCv48yb8MBqj/Jbex+ek/txZOtM7QMWdtXIOqJ6a2pOvC4yxJeXHBSuQnV4GWZ5fN4GKF9ur2Uxi0l+4d6SLjZ/vbbokqzA2Jin8u4xGK68Y/37sHphX2qKF0jQaWs8/2ticnz25aBwsUKch2NWe80r4+bIWeqV2xCtdoD59Vcda5Ke1I3Ihxn7gc9L48+a9IM7QF2ZyK1A155FTjfQNDrxDGcotOjve8DX23CN7RmfFLW9rDtMRNZKMASNH9D7hyCd84qdRZ9qvflZtTaZm7qaTdGg85E26210nraQZm2aR+o7FF8Z+hJuxrzruRZ4QBsyZ9kJFj7DmiQshvq7t/NTdluGNU8c/5Mnocm+t95JajAPtsew22MXDa1W6o1gB/dkZzxXzzSXeGAjBSNdk2pexLa2qLzjVYQfO1+eKyEITztNPJY0EiaPppFSBjHq2Pm5VJYhutcEoEYaKPD2nyEpwXEBrMRjm14q3KxrYzzvQywsodz9xlqxrek+Z1j4jIXew42wUiVju+3Pw/STy9VgFAvUJmEVvN74sAVNtnW9NB+mP/uilF6hPwCx66aWXXsBe9EIw9AJm0UsvvfRyBOTKlmXTLO7TC3hWBXhWBXhOBLgNueQo1kxubRrn7/OlFV/ay43oVqmS8NMibZbDIP4BgYdsYEAhxWnTX/Hf+00YB+xofh3MePg4wLF9qy8auHCWIDbDDzOuOmYczJ89C1PdC56ugpt22H/ryVsyih36Vqs4vhNpHv/Ayhh1m/CclIl2fQtp+gd67Jqut3jHd2h9wDOfMAzD8KKxoXLExAnFCxor7v0ekS5cbbuewk9CLTGjztUTNB52rOP917u9M0d045lDY0dUjg1OsWEbN7dTynTkIJwQNFdzzyJIMIZu4pp5Cq+/pGL8+L6R0eiUBn3GIKnuusPN9KRBcgNMpEBjYmuO7wvMmBcomvu6mHHngoZGGjLLg+2r+fbMk3nQOM5pbx5GYNE4UdnZ8XKPELm53ycMuXjI/1ika9J2QiiSBRnAYfJ6bV+XEc3khkdFa1gyVsIEuabSBZF72LNi1z4xl/iCgqFHQhTLTBKnYT5HRixtuD1vYxXQTmc2jPoS3NKUBxtPoGd8Z2zCTnbMFkMNLWJzaO2AQczuUFyaEDmfUm8Rb7lOFNmemLRMWhYP7Rkg4/NQUGtkQWuoymzNjMoeRgyxOkM4LQ7tXJlPzgtlBZTUyXFRHNt5MSU/F6d2/pqB34qLdu7MzAfUoR3MYapoBGT2pALX84RpFG4uxNjUiTY41zTWYf19jgQy3OEtR8WBsy/hLFWoi6m++qLdBCFGIEtgupEX4rGLUOnL3KgcuGpnDumU1vnQgPgC5FVvUVhqtM+oxIEHLHbosjS95myaVP6ssWSr6jzzsu5hBA4hp3mTNHXEiuMBc1Jc7EmUW0pcprxlqbIdgJMcpqc9pWGqHOQjHwTlOe0yhw4ISYH2Dft3RnL7Yft0mGKGczBg9CqXCwFfxmN92df9DcZK7qblD5LaAHGT551AsCO5ikBmKZ2FlOtqKHLY0wkXVX0F41vZbRmUFo5jsmVT4w6wB32DC4HSJSlEi4oJAHaQhxSHdq7MJxeFsgJK6uT4uTi282JKfitO7fw1Ax+Ki3buzIy9yVBBKrpy+Cib4hoZSStvjfSzAEthK/J862Kx7VPV7lM9qSfQWkv+GR13Jn7OULWNVhxL5HITQr0vhNngSfDCUgOGICsRxAJqQ1AHeouBbUX10AszZ0ze936zR3Sj2fA8TYszKMEtqSSFxQnSQYAHgT9XaTx1V8wIiRYrPacEs1plexFQ/Y+7D8wKsxEkUaej6Pj+c7L6VDp9kz6/4BVkCwvyD9Mtwx0cd88Wd4ItWytrEX49SZrY94/AmbdE0sJLbNbonBqVN+qNtczq7lPeHbcLGjHzADkDuhGjxHd0XVKA6NvLUA1QG3lOe94V5mAqY4ybM2Mv0lpVQFmCrcapuL6Kp08BnUxES1PM84JqCCJs1RSishk/ksF0qgtzuhQH4N/4W7sJlu33rc2Rjae0cRpld3FT978zgkXwhRODXr8s1kpok+bA0Cpng5KgqrNUYlT+aCXBRQay2y+3iiCnmNLfPLX8ANlGROhbzkBMZqp+L92oZQzi+dX1IZY0+9RVRdJ4yjJFuEgPsmqhKevRDL8QUqANDznxSV0qfA8BCAQhA/iQYxSHcSha7WTyqqEX8EDBDgTVyWeL2icSbtwgx7KQNjZynxNpyOiY80azL3hpB0UQs03uv0GcSmu9KvJisg64UFH0jJR+zgBHzqsBhVnb1RTOK7sZXvNWzl01KeoTFgJVrIWuG8ECESRvhsB8K9KSjQbzg5LLdPXDbdyEeWJTnaqTjDnpSXVg1ddNHZSAcz/M0MrVUnyvSayu2LxpEtr7wjYD0Q5bvUOBjS331HQP0BerRwVgtsFcGS0t7nmmAHwNcy/YCZ4COqCex1lJihg+sZeVoUcXGhHvU61FnYGPW3dNXTbZdMCv6sQ4aUaRD/cDEZCBeYzofB6NmFwKVSz0wb5T6FDoomA3h1H9ZYpJg9EuMKFMsX2X+I8dKT90PgSmFZGoGxG+g6aKymx9fCGoLKaRAzH9zKBerOGC1KOsp1Nf6ndhxuPlpVxYrc+2wBncdZXmbiQmPQWce4FMiqAJLfxsrR1bqsBlx+2CLLF0/LBNwX4odmsFzd6c6eAopL4nTHFBwdAtS19uwxK+5hMHxeDXkVQXRnmQ8Cil6UjAK9xcGUkovo5HnUrVMwbzvjdZEBjXlIlSO1fZysuAV4scwO2DQGQsX9GDOwPbXnqxJtEQq0q2GTICotXRTCuewo3JMuKwaFDJcSG92sSHHG9HDviApDotu6Ru3zlTyZlEyFn7ZKW1tc3Cy89ob5BIFdafLAGxaNF9RCxYavJFd0Ewi8hpgcCE9oWpC2VitnD0YeUt2celrNhZI3TevPFgA2PmMlGJBREWQYqRe1xkHnXweyhxEUjs7R4KXIikgbG8HEoXpbHi0mVHDuwhUSJLQy5MhsA+TaDV/QVaXHLUwntilCQO1vRb+XBy9dmhJWq/gUbigL0AhG8Pb95+bXBLYgqypi3Cg1FnxEKTNl2NgBb8n/61SyYH7EQYnM7mNhbT/WSqMUWYmgErox2GvR60+GpWV69zneWOVXsUSApnr0qN3VIrin8qT97LSY9OK0WBBxSwuGU0//BTqufjHGsAOwJ8IsqrdhCjj4djdctlpCCU8Twn2u9nWuBwSb8xxdYFRm5Ll6unodOt2BorTUIqc1yoOd51vxMZ/WeeBqm9mtfiOf94qOrd+xH6FgeikZNOtSFXsVDl5xJ+He7angXNf7v+13RL8fPI9XJUvf/JZ6/Jku6TXve8J5flam+R/x6u6nIraBLdjDJjO7PMSlwFCMyIrxcyI80KBPgknv+MiJATqHLIggzPfby4SMqas8hExTo/xUD55XY/gWxARE9TnJEkNPVeK7O0xHWCBMdPPwDKLv/ti8YBpxst/v2+jNjetfa4+u/f0/tNfz+oOPz+Fj63Mv9zdHX6v9qTs3jPFXnGIDLnNFM2ZJo/t9ytsKVfjK5GxAsORVIU27yzz2Dj9duShl+koNneQhnp0X6WruzCsfYemdWkiS4m3MPCWInTLiAeclBiEQOFfPp0O8KFO+9GuAZf3hpKgE1yWqhgtMH0YyUFy4BTE5ivP2RK7GdNMQBKSRNaVNkf0YP3BoW5aJFGz8FsC/MYbHBYQD0ae4GhaNYPSLcGExd1oZH80raauqOjuLAubp/kMCv8CYCCl3eiMFRYDblamPqol0C57ybDiAzQ3/aAm7+hMNFs3eIYqYjN2HlORWu0PvJZYf1eoID98XShe6AkPADn4NRXw3n6qPR5qsimqcdhuFhNl2tTwiRcvtkqiBgFl6obDFJCGTwzV2PziATab3rKx9a/JzY1PVL9G0qa9rulYwALqz3YXVlA3gozcYWP9YLSkTRMiMZDx0dt8LJhYsF5pMBBNhILJ9vBXgKVoyheRYKXWOrd9dQG+P7pQ2bRxB4ephvE54jtcw4VKyenaq1AsWeJOqaokhZnkMw49AJb/yKqJn65w4KQ7bmaBEmimDwgiJXBLtUiQeSlgo6u9UmfCXaJPBte1nupEE7FdaAYpflmgaED/fEbRCTPSNy7siqchC9mDHGakKqVp6vhkqG9V/Uq9ayTBe2qaMzM9054EzQA6qszpNd93eGN2zKit7RKtLkkEF5NmXy403DTQju//AVATcxoO6UdDheQtA6zmzDXHlpjs9G7Y0JaNzuyQkBmjKFsi+JS9049EpfEPo4pNNNTqfAPK1Cky+nsGqv2NxP7UWCLuAjgg90BvQA7RaJWRXuCx5ocJReCtIhurSZniQHsI1zWalB6FSRIYB+QcPLWxVIEcJ9F8S0Hn212wVrw+E3KFslIhN0v2cCmGqN2vpJQTh1fFn9+hcnCcG3ThMNFIv/WtHLcf+qhJ7Wm/3esWZKknQK0WTlLD+yQtppplzYOWF1ubvYlsiJdWSfnx2BrDX+vwxATLmJrn5QL0aCX/zUiqwhlIyAaH2v6YXCclxnQhhgv4gSOYQabcAbdoaygU+UwHlJYmDxYcoiFySMQptjS7/hcKKhEZGwNQHguOAfUlgvudSZS2K3LFjlOf4ISoBC8jLHzxYu6ZnTJ8nzbBDxB8eCB3HJnfipl0cO0vF/fbADGjJqQmsr/KbgZvISvb+aRVqe1BKI/ZuW+VZ9RR15yYp+MlfbuNm/LFjufRM0CCelnRKaXS16YYEgT3QncTVhiIiRzKSiKKuWhjG+TtRhzScSOwSE2OyX/xQd6qauSPgYH9Of0eYedO5Opdwcz7nwcmQP0yhKOBaUAHn7F5BPxN+KJxRz22gJjGqA0qD9u0ZmhnwgPE/OWRykavVTJSo81MQDV0hIdWjQvyPAe4ayo9f+R+slKwTMW5+3pHF2Coj1FibLJaR/8v3OKaB4nC3RTBZLXUE8HkaQ2Rp3d2ALhkpAYYLyb98NrI3OifAbFFyJkh0QEVLZz2O6K2OoQ2e3Tgm2SNnyy8Rj9f2islVIj7yKK3RB/uvwfkiTdxPRd7PowEw34Z93E555YFvY1GNeLcVxy680JYcoQ5pBKMjJb9xocqXx+9onJTiOZH6zqz/VYXMehBculYeIZa3u0mIM4vv2Wl/q+77BzvfQIT8sAmkCfwgCy61hlADCM1XI2KRHbOiHbotu+K2mNDUNAbhlmZkGexZxp/N/jKDKvk1I7kduoMFmMg9eSuUQZbUE/Q8tMmuGKNMzQ+I8YnahNFf8Me7+kJNz12GFkTQDnA5mdJaHecTJL4TShl7OhwaIcmjLa+TbZeZO9vvQEFUwzQipNVtLAmnD0PWv0myXoXekwN4QHHi/qRKsVgVaNv+/gu7GzX2uuleYn/KAmckqejSpW/nGI4APeKgWLuQak73qbSNF2LMhhthHrRj10s74YTzrD03TrmtHgTvWNG925HWriAu95nHHXzumVV8sQW/drI/rp9ysFNYah2rFvK0lUAox4cT3r8mVHcO5szJT9B4j87jQ3Lz+MJ5ztFCdMkr63wj6AtFbhPbcPynunCeVWhwXaJUb4wArjte8jhLSXTDUPrZ5ygmA4qXIb4H5nA1wiKVAUbiosm1/FGDYoZXt+sHEr5asUbk4vMUFMr6f0BJjC0lJSocEA6QtH9hsAU8IxPNnOXWGn30XHTSGCa3cwZrt3ylk7YWsVMjzvXTnG7MqryEAz9R4aTAEBwxVuD2p67IhhyCKSdoZ3BQ8bPaEnY5ERNv0eOCN4M/Ux/ndEP4ANuoe5sgWO5Ol6ZPvLzjbsUI0IeN9ix9OarwJXoUMqDzfKw3FKbxfwd4pF4Hyg8DNkq0aTGcDzT6yeSjVgYEhjA8Bt2Ja1DxdtA9Dyo6xTS+qwLggcGTfAXSYOhWoM/sdB9ceVcb0yR5Lfnkk7J0R4wg7ojhk30v0mVm/Z8OuqVEUyq3AGBG6a1EzMzcZAs+kqNM4DCgyxEv3CFNIRmr9ufyVwdPYSU5uR5CkoJDE/bBvyXgORRe6tYCVsWBUmeBlsngceK04BRpBoWazHIa2ewPwoNjfoW90HGaqARVhGJdiTPFyqLIGeAplZlbXyPROWh5g0LWEMAxtwKewRNpGLYAVMTkjFiOk4d+RO3azjsMyFxnfhH8CnMPMBZ7kfHEJYhQGom927fr3EtslAB0e5rtIEYS33Es8GPHt38sQElWGOg2gDTiBq58YLgAbZa3D3NiZzXwix5t46H0cqoqMvQrHm6ECMjUH6GBCLnKRzjwfx0X/62nhU9fzflnRzB7cOGEu0qMEYaBQXGeVAECyREHZAcbI5JUko1m6QYR0mvuU573TgqyMPpg6BWo1g75eRneNOe/eNJzSU5wgmt9pKZCZFy5IQVZsVO1IapTS7jOmmOXOvyw0tuWKp2mJmI9khHOsr3Z+u5lTzXaR7RdxqFlbYgfbKlPa6W4lPrM5lAH1EkX3e8jkQl+/EILVg/nvYWYddswlzj6JSqaNpp0dNo3YkoFTHVYh7dye4FIx0D5dxcnAntYKfhvKSzy0p6C7ZOeB7r4F4Ku4LgKqHkBJQPAGF5ET3Hb/PAbJBR0RkoGI29thvNGRHnJqNc8hZRp2EoKtE302X59myfA/L51SBok5ZQOTBngwtnHZjcPsx8tdJYdbsgHG6fTLaE3/gzj7/szld1boZTCDr059Xt8CALKhq1NJOD6NR3ksQU34DcIDEwu2kc38hbBjH0Nj1wVjRxsh1amaitcxtwlvBworhtTQiIdNDG/QuE77bsDmMwkkkML1GViER4Rcmev2mIoYj9wiIBqFyym9kuWRZgG6B0yLR67pFkdNE1LFO7IP3ruJNQZOZTObkXEXZnxT7m0mstBmXvY8btHa4si+rftZONUN5LQ4OISU69YFLE8yA+RU1cF3dsag/LwntQJcEgxzMXHacbau6j0w+dxd/9E4BzKJaVKWTM1wqKoXgKZoLrJS2show1npI/H/YhNYzNmaC4LnDDVnwZkxsWSenfvCHQOPj9Re571yRsWTPrhtU8ypG18jz1gLjZoWdst72Tkr9pirjbyt+jIqC6Uz9AV59SSBzxT+9EKlG/eRzHQmKF1GMIJSXoD1Ustpzv7i85kn3mJTyIih1ZDo2E/XZsOqqoFzJlkjQDQOnt1lINhpqBkaLpO4k2Ny/SXkqZvwJkXzL1kxk7tJF5zPSC9+hX2j8FSk57LTJ7ZRsZc2V6g7MaEBn7BzBOWDVDkDeNhjU3aiLuyCBmNMVxmH9dVWKtKqZb2mNTU7f2hIIP1PMx+mwCMOVcJfl8mt7NS3FukK68L1/eFcIFneGfShkMWy86KMOsdRZo/tQSChnBTbV+O5Xhu1HbgbT2gpCrCJNJuOwcN8WniZPQxBdf++c/biuEgv1yTMtQNaEYhJ762XVMlezR7O3+r2IwlnJhOMGSoyUuyj0Geu7Qo3FYIQPg+ENMzeDvo2o1QNA/8xLGctSrPZO1JFl0FAkvlaWeyQsR1NubSU4FrtKAndrfJN5TvDiLpjk4zoSTBUQMZTyiTotgYDm2P9MGrzaBjUAmPOhmcTwNyF2WtDkrItBoBhKVfFeGF7htmoRDNQ0rktFBWy4qHblWXmvCuG7sUaOr5j3xQckY40AUjVFFNpRHhQqmBJBwlyVrVNTprQN3tYxTyPGiYfJRvVYSOfkAidNvHHj/SJE2VqxEUHwF/Sde/pE9PkB53+I8XRSXiFmvhFfJk6cu4aJThDclACA5ygdi9SMr/K0+ue7RruovGA9F9hbhIIkbx31Ri6DNTDCSQlw5nfoFW5BdISAnGtk1AbGfxU2WqB9sk1oqv8jHcms1EeX+E4xTXLYoDwncCdLqR+rknN8YMUB4u6usHifyJoZ0NCI+0mRaEs4WNze9gWBzU4sJDBuxSxfEwGIHxOVd8pAQ3ZJpkqPai0ECDjGiruTm0bQBr0uV/aFJUnBkyDuLX4uFoepBI/j65QivbW0qNa0wyUHoC0B7hY2mLBX7hN8mXgCwxrId+lzsNe2zn1iYfKFBdUbF+pnezx1A1CCM4JXG5GNKarzqGPw9G34bSOnYbM+3xOwYj8BgR74QEYGjAEUVGbLCJ47geJveyj+nj0kmqtT8pAsbZzjlapCzPFC3PQJEGXJBRnjQOEpNwyAObhZiyYPuz4NY2/B1QDPR3J/M46G+KOKYbC+H7nzxUkWvwtZymasHgBhbMmRHYx1PA1QTx7UTWXWCKMYd3k3ttZvRBtmqOQ7YvyR+XyPq/8yA7+HQneva/aNBICvTHwxuUcutguxFu4WAfyAHCiogb6e9QLQQcvba1MaMd6Yni+SVT8vaecWCHY5FlLK/QUwXf7WDDJCLzGsr0HYBxo8plSI8M4PL/01olkvGMD0MVBYgM47gn/WI3of0kPm3tpXX9QdjtU0hNj+vi2/y81vNNo4OtPGxWTusBNVeaOg4jD5Djn/53/1SYc7TTeyrDo/pNeAbxSflqmo+MDnoE0iFanEhBhtfgEoUtG9p/GWK3IP7T4Mxo7VUdzp8VUcSWBb8bYCZZhXgViduB7jOxfIb/y7F6eBrBC6E4mW5oKfK41oLwIY14UUvlCtR/FedPUp1I8cFdVHFeowhzpXiekrAnvfqqnNG/7ll2JQgZsONE03bxr8U+u5xz/1dQmExRker060frT8Nv6MzjkwWVPet8Zq8hEfLaudPxssDmEJFO9OUYBfaCikDzj1pH7WQF+r56ntzP08lKSXrIetXTV+2zF4rM3WaNO1fjtoXQnHOrWbKQ8tVMcP/D1yBVC5lQn8Gf0xJvJk5MfONhidyxEg0TsrawtRzJ3i4euvjI22BJF8xlLQXdL/Ne0uH0xQn9vEIepYl92WXC0Wbb+Tp9Uo0ZXvy8n+Jsa6+i8yKelWTimma8h0dNObq8tjdgrhpoZKVLCzJybHwMgwvrfu0UHkmL2riZosFAg4fh0GoAL8dI8H5NHb+GP+s+FP3N5Xq28/ev9Qf+KT+y3N00jZXlC17MEk0bdeD3KQAEIjdoHtS7PFaZYCpvVgpOQWVOGEGpbC7srAjGktIMUNOQe8VhzJSHbBg0E4i3bI0bzOpFQpBaqHDXSBc9oTwZo+Y5dtGgoiNq1+rxnlRVW+T2riAwelrRi8B4/rUcp3Ez8MCSKfFB6TW20yvJ6tXjJ0LCledsT9WsIid7vAZxs0hy0YMmAc3H8vb6uMffMCfPQvLthdrRTnN1iZGcPhdxJnlpt9kwWA1U+6RchD4ygxGg7eKCDgmmteLbYAGZ3l5fP5D7Ym2rWkiONP6ePyxI450+IF7GDdePLYRXhV8omvnrKNgR+8ABJlQn7hKWKY7p0F7VLnkoXao+iXZEaWHaZm9nDYoSej4Kby4VDYI0vr1E6O3i3BzLO81b5T9KskUIg9/DE770BqFuccDJQCvF93yjtyhCA/0TcvQCdUwPRHeEBOFpSW57jCfminreRQfnAebthmxCPo8gGy9FoTu2J7jqwgYc0IIWggnEsDDdruEmWdz0FctECPtbUj0qsP2lgdQpNUFHBiFnfi7CmUqmlgFSybjtp7rFtiOEcsSZORCCaRmAsunB8VFZnIw/uTjI7KuUaEQ8O6c27n43vaH3qshhq/JJZEy9vxkEukbk4YdB1pSZNMaCAG98U847qyKFG3cGlFjWhnb5pBhBp8crOSpBNVqN3rufCcCoTCQBA/ecT9PeuxoPeeRtcc0OXZPTeY4YIePBCM+QCxUEN6qoG977y3P2fpR9hPjjPZ+bWZizaDTc7B/h2g8/LaKdpg1Eq3pG74nITMnb/Ljgdqv9fGfpKTz5II44g9SuL3LYyg0D/+IMhpjCSO83KL/0YK0owdojwkiCQXuBd9MtF+vyBDjT83s/n2ywk74FStjaUEu/8JmDEn8eTox4QE9Tuz8wh1m+G/CzhTHTjydy25OWHxHWc/OQaHUHwlGfRRcz8l/gPj05gQcQC/kD2ruwfUq6STC/8eMscXOcnUDuzXe3Jao7UvHQSVTpc8whXwhXp4sxQLLC0ZJWtkkH15aG573kJ5CQm1wuaoIAU2VUTiODcGIdb93jve8J8D29XQ15VyS21u80Gm7Z5li2t3Tkgmp0gHZaTDiCt85UH3X+/hcCTc+N/pw7Udrmu2yyhJSd7GLR+SNLR1h0A/XgvLuiAGZQqsPzvUNkMJNnb2thcUdNGYDnMRpT7iz1gGI72G9QQ7T3emenOuc2CmVR5LTG4eiHFbAl/bPEI2SJAiTBPp4RaNml1F2y8W/tvpn3eJrI5QNCu11bZFxjWE5bpo/uRaGIj1WaQdrNMZWfHAVy49euuwfG6YqUePP/L6J0e34Hxv9+5P9BKRwcqJOxL8QVqZsrImtvQugjLFdZvgdCXDNpJ6H+tpI+1NiCAefiRjPlxNh/jYGfsJ6bLHgtxFuyPG3UncUKTL6Ge4zyP2AFiFNSE4r3ivuNR6i0rZHR5nPGkIA4O9EzlnFzV2fgr6HdOKm1SFefsMx9Q6/MOZ0pN8YHcwKlhVM4ADzSXWIbDW9DbFTtjmolshfAHn1J3Z5XNlpEKPppSp54JOKSpyZHDZO0r6nkPl5d9o4LOPpPIjkxaYlAOg0pxNcXNSlT03w7n+I7a2YZZZHuOKdUJslnVypY592LJXRMUHrdE8kn94QjfBQFe+yuPm0NCGFI1JkqNU5LZii+tLpwnnbC2fcvVLEFieg30m4F7sCVRwsD71ModjfsYVcRGuvC5OjzNSu/UdXryT1XYS2BkDCDQDlFiSUBVADLlCICwhxz9kqR4p8T7UUn9rej2Hay6CFT/MKOOdPwiyNE0eiMjyi0/SLebZ9Vc5/wSt95dfJFhVygoriEpfVbZvMqCZmCrC+k2qyVCTYxRCeVC9DOCKH1QzNisO/CUjJeOurBxYcFzMbibOg06fq40GNcvaNmdUqVQ9S4N3F/ZMWOjUAqvclM9YwgjpR5A0aSJUlUKW5qjJYi5xUM/qrdhOnVlUxgzRY+mggwFGept707ZHXaVx9LT5kqtFsFulrK3ek/RYQpxN7fErT7/cJirOtyOGEDhtSDs3fnFvkn0ZlDsS9qopgcHJ/ngvrRZ+VP5eh84TqzHYCvRBeA5CGrZNC/KjMKwrfJYvUlBu0UHTrA7hg7yZduYRXd9HhTRHN5gtuNjLHpsbkBy714+jeZqmZF6ihkCy63dqdRdfKJVJzu4MjSP/afc+YZQaNv08bkyZ7b2ndG3VS8tHkT27vyHYoaB01QT0eG1okG9Q2G36Tg84vVf4w82FpIg7oy3Lan/tyO+sji51p6iU7UKOWjulqrQn8qM79/lWOylu5WzGru5o9Ky4Q4pkosZ9mK5ZyTcgrP88QFOXg+mv0wn3bjsWpi02o0/u+oD3o7MEauOunMAFGJVy/41T/B93NTvOfPurKbAekwrf1dUMWhH1NOHKRbEKjwe/8EkLHMH3Yy0MzLaLjeBOPueOpbZdeaVdy53XusvTuwrf3XW/0f9zHF/cWdDgECNXbb7bal/GeLA7dXwfKl+mWOVYsvU5UVnmQO+ciUNbhZrbo+EO9JH5fhG8FS+WEHR/PVqj1MNd2zlu2J7+ppLWlrzOl4Mbk+XKWPhWLgh02wjZhBilstr7LzLzlbc1C7q6Bd312vM1Fn5fXFJg5Te+WZLuZl2omH0r/HraBecMUBjVI5yit12QoKWGFhzkex0CCBQ4glqxTtYHP2E0WJjWn89U2d/jdC68ldtIDDhPVRomJ+VBEEsSV1pcfHjTqKbG/HtoNofR8WaJvbadyfduJZBKBdXw9SKujzrGFuwn1RpZxSdMs/ZZbzOICr+86w3E2KnXlxL+ZkgqjH1vqUhB1ZfUKr7zVKu491G7imGyIln0ISHkbi2xSxqzN8trq/+78VxDlcs4NYkBPmQoiNAeGi0OR8/Rf9sJmhJYji9pF+2QxhXALFn4IEGP6YudV27SvOD8hIh3hLHUKfy5pYMSKRuVUFQlH+8bD5lErhNgNmlD/kZeSJ6iwJHnOTNSiZ4nwzW17Zq5n2DEGTMVvsvry0Qc0+zwZdJ4VoGh1VvQfDWjIukkikpeWrMayTDOlZNeIn6C03QTdT5C7dyJ5aOpu2Tm5QSDZ2QVvrtL57RAez4uU19Fm7vubUIY4RrTUzjCEzAiR1VsQHXQZ49RGX+9UVVAQqrJG99e43zwe80Xs0OK7WrHn4dJqKA+oiN//Wg1GPmhQuf447c26Ynp8vZ+Q8+vIogvhPzh2I8qK7Y9uNxSp83DzByGY0Lwf9Oq70kmTm1CTrS+efkrFSGflNZKexahXk3nX2bNnL4fQx7kSK7lp3D5m9umrMMxP0kKIQLiiMmp/FdyrPl3gs386n9ZW4eHnCcKKL8btw16Eas6x3dehWeR1rvyAe7qVAEsjsKctzV47nJXGwCY2f2oBA0b+9ei2CGyBCJUJHMgT6snXOPIGdsIEOY5wfoZgW0C8iq6HpngmunhZAJMLE/YBmrdNdyzNsM3qHJwpOP8GoWFKNDShCYTvWz+KQuM39sbk22ThlUnUoHDN46iiwcRI6qxPKnHCl7DmHRu2YVnaxT89zvFPOjmsMU9fIleIu0q4w2CQWnwx1vz5yeihHfVMjIcYHQnQkn95OCiPtusK/Nn4HtQsgE5jCRCXNEz6MYzxhTp0c/n/QU22aOG7wUZ+USyHJHPZIMdhI6d0Hwn/0pokD000239GAKcnohyBz/wgJ+XU/mYHjdt6X9mvGQG2AUY3qUpVc8cIEBs0FKn9qhbI+eyJE5vGxflonbHGxFe8fio4GM2aaul+g9s6neYl3DPzIG0pkXpCyZWX7KG6CKxvrdIuof8w2C5nT0vreGrC5ibyOuSTz7SUGb/PI1WjqJIFI/qjs6PMtu5e2PcPNcn0nFuAs3jmdY/Q+56QR8Ag8Ih04PzFFAaAjvXyTJ1H4ZVyZLj4fDVYRJItG+alEyeXtpiyjT45p14FhQFCzLF8CvkoMNUG1dK57ylpI+9zDRWmMiuEUzf4EiiN0bSJWHlqnhGHLNvo8FOqnPw7BBaFGsbJo0s257qMQgvxPmZAKLBIzFs9wAVSknoMOwr0LvGRBGR7z3Bj3BJwAfb8zkxNACkccAFQgbo1OZK4J9mJDBdBLnZlN7X9ebfhfTm66UhqY1cqUkKVypSiKXCl2Iei13KCIYzqIwAQOwJQfsFiLyo9KcFJMyq0zHAw2kyFD39BpDDRAFuCfCMv1nAifwX4T0AY4k07sCgEGaIvpZsVgHFpr083gKw9+rr7nv8/qJyfzhWFws/XPbpLkZpZ5op9Y63Qd62KzeHb4YiOp7wqR98IrAeh4d5MMwmymAqlEhE29XceKEBSLqu7+8u/3w60y6fafE/rNoVTQWm4tCPdAE2aMwHMDpWcDiP0OpfKOFJ9/qvUPjI4S0+/D8Ja0IWPiWsc8Uq/GUKYRMRMdUfMwoylHdRou7rwzUqpqjZRIN4V7fXuGcKYxMtUrqxGumYaklm6PTd403RiQv2q4lqQqry5/5CQMvsrzeqaytDa//Y+qB579GVo0sn7/TeGhi48teQuVvAq6wvMmaKxmM0TP+xCPhPQUGpSiPN68sR5gRPbjsd+THfOsLfv6y6FBm4148emIIYw3EMh4WjDUcdEVVEaERkESHBcDAorH+paURdprS5e/5XX4lQfyRyMYpm6Fnnc76aXVG+0/5LR/MP9yFP6tLBjdrBkjqETK73qIRj/0cKzD+3cAxGZPBBHPj9Vyc69l8++J9fw6BzfDFPs3HwXz7wD2uW/s+WqTVTFz7eSwnOuj60MTwm/F8+2n8Uqqkc6w4USbJWUNG2JrlFJn9kMxB8xSM3E6HIVMjL5+8e1v2Q1LE2fUGMFOfZt4e6TE3r//KBcb3qmFpNWOBf7qmLf4WwOkjolbHlCIgwlpr1WLO2NdmxCWici0d7nmCBnDmmlY6sJ53rttY8xu91s5osOK/h+C/Ow+L1ZlTHv8aB9KMiHsEsMvMNjbv+XiHqW+5Wg+Nb0g2avaoTOO2yomXJV7pwSsf9kPfWVb6DwNt3QWca3/gYs8Y5Sdlw3yyywQ27IzZ6ZyBPFDSODN0mRB0LwPhzadR3JZ7FqOvjSPcYLuUklPIWf00C3uZzfctdJTkSM31bu05CeMHuAZvEOZkIN2AAqW/j17QEJaV164uBJX5chqEXre65X7JNUCKDUq/77VOFxexdfqWii4pJnzzBn3++7Kgcs4zUkggzHI6O0jhWqNWGVoH2oxUWKy2K1OuTt6v/DWtLtgSqDKvbn3nEfAj6xwtpqJg7VBCjAPwgSxiQCvhlR9omY92xPL/ux0jNJc+gDGQW64z0Zf+TSIpg2Y831FAEhWsMhblenoiRMBcVROuEDk3F/isNnQCAp8F2j9oygQ9AdspwddIsCtBXw/mD8kGFDS27wpxvvhLOjN44ffGg8wZ8HoKPc1U0iOhZ+NqaNv6pJ/w1jSw6f1fAsb9pHrNSNz0eHpkW7jxKr/UnwY0b1a4wd3lmDybRuI4jj7Iovuqals4bhERHkah061nh9dEje6/R60UaVt/IWMurmdfYq3amdFdIp6R0W9rq9pSn8j/6+jKgoW74e2UWcsEQ9FAOipltqfJmL0m7JJhL1hkQm138olzstJzR1NRJTPXJnhp1aq/AtWxcGYsxcD/xlH7KQMlYYhnmgNiJZRWK4NKo3RFr/tylcodVR8IXEuQ1cdtKTzOPp8q0KnfN9RwgxEE/1FUVbtyOx/dlvReOmxsRPZoQzyLq08lTAkPeNSqLN/j+LAg7+FE1+KjUSEdtrpA6V7hpoAT6zhMlFw3004XWAxSmEV2CcO6j6kCdqBlfWLsAxUTObX27+8XxHhN9Vj/zocvvrIS3lXRTtZdH5vIQmpTM7enIGPtj8jDtUmgO64XuqGAgCR9/0LrESg9sYjDYVoaGrwWDD7rhk0Bd5BB6UukTon+/NXPxETEpinfsIXasmO9CB4soO8qiqpnZUwCmuOl1kCwLs1vTuMhudTo4WbiTgkVNo3pLRNS7fjoKyuVkRFIuNZ8p+Bzqy50NMLBYQqG3BMLb5hXUex3USosl0ggLAVVWSZwsSol4bZ2gy72iQKjKo4BdK6VGPDGxTYJyTzV6CEUdO1QEftEmRJ87Jym6E3VguhqlwcsJF0e/AC+lIJCDdOf7aDjiWF2cOGcOwUSbLKtKu3HINuzX34wD/crZ2teKcWEv2NU28Wh1GPK1WoH7H+r/Zf6U2MxhuKcTuH6WKuTbvOTJWpJrLG6ndD3MMksziwKtLwCRP71JO8Trjn6tCBu5C8SqQ+J+v8zykBOgQTYeO4ooUzZ/9M18zUB9NRy8Hqw7DgufGUHFAF7UcMxsyUOBVadpzRkBcsC7/QGmABy+x73rjmfxGxCfvdIOjw5NWiZ+ToY6hyvDHQWcrUOS0cEhwX8LXzElhCvX3grDHYv2kNCh5OgHc6G93DRMpKc3wNyM0I5YRFSWG/+RUKXIm7xJFJ6exrlfhQgpUtD6kqBnbhr2lwNlfpikWc67qiNT97vGqd4tpzMbLdf27PHWNlIIOpsejzAD/waRrwQDSdHgsFKpyoG3VTq8feZk/UQvT92nKmR5a6njBdzIu4QdepHRluefkjHd+TLCNAOMeiW8w/cNlRyMHVai8j+O/fvUjHE+M0gmTubu4pH/QsDMENCyd7Er4O95fnAz1m7Vmn6zZA/ZRATJW6U5PU6//ywhD0LbSCgvktkWWvSXNPSl1n/0uFnwwrs01sVegunEzfJIwUEsC6rPbF5HRNZecXi5XozgoVQ93c6J7nN7sYUjTxXg0xbM/i7Ix/HA3pBHETvB+k5RLDXTQJhxr69M/np3Wlt3wYzr95mE1PNReplduGH4XLqJZZkOSjHnN+qMX/uORlSHu9l8SkGQJ631SeoJVv/WsAVHu1ZXRzDubOmdbxMrvvJGJugqVLrsSp5aBDt3lUJPCshk0qhHKWKYqvUxQ+khMD8I1MpSohoyx8ClnMoFFvsd6YPknGuH1MM7Z/z2Q4VWD6hch2Q/b1PrqJADJ4boeNuDF+opP6aDSMf49lumQhX9YIzGQ1kexkd5vwFRhLb2251Ez2sg3z8QtchIWlIOJ3eFGVTNw48j/vGH87CXpG4QZiqUz26MvDVsEHstQsu0eENQpCPXBXV5RHb4yvWeK0o9G+yHR6o7osGxTI4PadDnQYWnyAallMCP9XXa6Vbnqul+ZoBUJIrI0zxnNPfgaVkBxJCoT/wdmZtIFePEfDSUoYGHTZ3wwASXxHzncpG86N/fTV8pr2dit2jkciFFG6Kzx+DA6uY8sLpppvrKmDDgz9FRADgLtnnkjYIoYC3O0b2+hRvVTJ80wLQkrqtMyU1jxuKYWPvHqnBvKE137AqfePLEWE8AeHeklXQf+iLu2ZyBxvkvvRwSY9+PVlA3H3sen5TSrKyVl2d1eYlJ9f31lIbi/ADADrL9+2WsVOVxp71TVkfJElwDA2P2VMmnrdBxGK5QM2uL/n0KmH3mR6U265a7oMVkQC4lgOCfsZDaFEzbmaGMIieKelhcMf+ZnO1zXNs0qDZsOwmPz2ZdKfVP1udRaBCm6VniteQ57vSpf28kNb0qpm2CpJ9a0fwPWg2VzbSSO9ijlFOG4mSiEWld66x2TYk6gQGXqtKZZJhZqiwyNO7QqpGqforWGZ/oX0+tm5L79EsiMhp+/hEhtfhwFbvxHl90hTop85U8zdNPDoHhOj9t6qib9bG+FBOs7tS/6pNZl1/Qft7OQx5eCdJJI3RY0o89aYhFv0T4MKRh1Rbukp7VnUYNKuQWKuXyd5B3TrebDL/hyvyn9GiH2bmE2WgyavxFJq03VsOjFjXcHF/ztEt4fJlNKof8oze+BYKUd/JZQn7SX0MNZG06b1n4he+t4h9BIfOY9XdE7dCVoeYYdgV7x5qvdqyMaee1Zno4AcFRGhvTle7C7Ptd9eySGqWWYNeq9aj7HHrnN4iTUIs/N8rNeOV0NC65+POCm2XaFrrzJvSdhEEos9j5aTsSl5UdHRrlNfAHVDpukFjGwPJAJvPUG2a7SbRqi2s1EQ7TOHsoyVOdwVQNodot3mysUroZLFh6nS9udz100+c6oTb+iWBqr8678NZIXK8uX8eE2cw4XwChoYMteJCktq9kjfbYoLyHKMzusjUrjquNdV4ItQCku9ogwJqMTn4E3AgdXtRHrP1lmsShUjWbrf+n7C5sjcbVLWW/2VjviEdyQii/ovOA82oyZUOUeMZn13f25GbD6QzuJXeFnXrYcphq7HQ63A5ucLpc+hYJ6XPFWeyakA9G62vwHDLffFXJnWcFP4KCmTgv8Fr2Th7RoiHpZ5tjmXeCTyjsFGuImcVq/z5iF/C2rs9mlWnLZpBKrNBzU6Mg5KEXo1fNvue4f0zf26q5GzHln1Up4cUv7Z10L4ZwsVGx3jB9VmDpREZbyB5tD+d6obSATFO+wYtGkO4rjpMi0VEFnPZvStUhCVg2BFPX1gjTvmsjms9Ga+HCma4L7eb05rpWD4H0jEVzlYunJtq3v/8n2ZLjjFoEDUWcQAJUWrNziHuHd+X8T+UL55MdSU/g4CSWePim0MVoiM/GCGqHFJulknQBlYHJlGco3Q6FWKOhc0herQRrx9zXYMW1hkejo4SeZoUxPuJRKF3b9AwSTVeN5lu2a7zzIoLRlTnXTRnnbtCKmqZ+r7C0aTVXQtIG9rm10RQKZxlmrSzadjSGN0e4MIjFxwic9QMxUXaEDlu+u9STG0gRtAfea+TA0vpH2Djalia0raMpndvVJO6Z0TE8vgrXwyd22G5K4Rg4HLYWHf478/He5XIi7BjtmgV+ikrZfhJU6bDpsLpio8CbgFvLQeYg6uKglxmSyUwrGUgOAM+ivRxvFyowjTLkcc3q4BbDL0Ah+q4asrDUElQsdPLiW7EAaapgCG5nZl303RRmgi2xqyJ89do3NJDUeYv/qiRJnqI/3jzK1n4WAG6e/rTG25ylk4SjOvkHJapn7FXLtPFGx19yu7Qj0tm6G8n6DA/rGKXDpCcF+9HTO0Mzm3ZEm9pwZZlRHS+IKTOS6TPCJqaWVn7EB31yUpkvlY4qcB3uoVxtlUIr5v4uhobOZL7iV19kIfnaEjr+MPcgNu1zF8+ayirObcaftmbhp6Dfm0dx2Gdznh4FM0IuRQIDVgEvIlqtw4MgobzrICJ6ADIm/dTIvvBFcDPWavHWplaZjqGPNQe2wB5L7ODXOfTgRk7MBWMI5PVWQRAg65fu2vqgak6inOTofMBusgbnvbcn01oheQjmCYyJ3VA+5TSCJyZdVE/mEFkaJ2JwdwzGecZpkmNzqvOptDYk+s+XEt0V0A0Kf+FTJTPMnTm2omCfMmuXKxmLPMV/twt9S+6gI2Oo0n+TtaJxAZsX5xTg5ATdn7W4RY2Sm5UoHu/oC2MfNWqVCsWRPc8PD1I+tMEN1jYXxg52A4hghTLhN8Yh/yhJ+hEPggvx9KjYbsWGVHpiGscNR+Jg9nOkHS3HmaNUROb4swtMI2F3qHvN2V0xa8MymT/CaY5i5rY8vK2x1EuGlFd5cD1SrsNHR8Mv+ilqBZc9B6MQ7X9V8ZYm/iCDDkMbCiiGsIHbwc1ogKThobH+EYuMp2dslk5mIt99OBUaZFtx9uNr2XrbTqtePQuFZMYyJSvlDh2UsvyBo2SWS7mYT+3JY3GJD6eWMh393C9j1MVZFoTdbOVJ6Gv3+P7IGT6+0KWl0F851k0hfU2cWhmnUeRSRIVk26HWy82sen8qxqD6HdE96jQYgJQDNzRS91e5gFuwBlWXx3uIqzGyq24q38RUoysqPZPWnsKBuZv9NJkuWuv3X0HaL/pu7qsGbWsfgIA03Kq3Jc2p1HRCCfZ+RU0Lu8l07WlSh0GH3eLICmb94PF3SN5hfLKGtdBbpa6PNtQWGYPgKZ1xMnV4+2m08Ett+Wca1CBq+5M2uM38Asu/MjFNdmP0icqeBz98tgYGWbzdpEQk0zaGJwkYiuIykv2y1OMC7yndieAXdrtdOloS6/uUacGlnDTMrq5Oxs1kEknyprcJBKSa1tK2ZXc0HgZ0tKZ+x936M+6bbiIUO4rlFDgVMiVNI4tUOAqM2LQy6oD58b4PQNufxbHWeLs31n8QKT0sTpQxexiB+3f0bPpzmqiN6eW7C61KFExu+nmlGHXt9Yh7nH9dyoZt7diuYE0EmW1tK+yOXFHnRrGVyjEnpqbNsQmisz1jR50K+WdReiNuBSCKhwYLvJVDFzTGO11AgJz1K3l4s+eqHXei4FzkEyRTOvUNTDbCwyuZZB6Y3/b3Y8jdzLmAZN1D2U5u3XSTNX2wzjRQI0ewhH4BO0//0p76I+MM8G96aj2yPFTeQ+nxm9H8w4bJ1Rh1EvLv5GmeuqdCwSYbaT8uD0dLyD8lQtNnfEJRDkEYR6d/bQp/JufkcdZwdKjlw+UCjW7JM4XjlTH6+aq8oZOXcqPYzRQoFd6t3E9Njy9pPEzgFUXkMJkPXHtJ53JVlOmNFtl7KUQ5nrgmL96w2W+tMwZMDFoGLRUd4RBZaEPGxlUuKDvpeGGrzOj38KtyouxD79nl/L3X1k27tO7aMyS3dwqhfD5rc4P1b2ubsApZhiv/GJAdoWIXn10fj/NaiuBIA1XXaWRKGVXFma1VMjnU3fE6eLKM+Ks57OeVUMsfMKLIr10IIVQleZYphy/ZQA8B0yFG8HUNw52rHiEcEs02gWbmI29AaCIiQgeMjjpwR2qAaqibFlsROBMhXcVNKuY80MjB47WZnqw8mndEV9dogO/sVjGMU6glsvfzFSBged5ZMkv/LYo3l8xUjXjvhF7TSku+xEtSsGMF5MXpvQCWo2uO3hWl/OXpwCWRc6WWmoAP7tmUNvyg0pL6z8LEiNm52ImQkSqjPEErMBpOcEMxIqGxUJG73MU9QbQQy0eo54NqjicJBRNh4kpd7jkFYzAZkrY46XQCfJWa4nApxLvgVzxJIH38DtvryIbX+ydieDaakJXJXHDGyQt3R4IeeS6kjDn6TifH6CrvTdp473clu/Z/7ZXJrrD51LnE4KMKLRwbxR1/BXyLNCGuJqlwzq0+k+G05ijCT2/jcIVPx9u0bMN6/3Osr7eN4n9L0EKwtfbfhRZafP6ZirffX8Fj3lfbx/uv8G33HmA7rbHXGiz07Gz1uH3y669J7Zsl+Fjt0ubUnw/olxYeVlPkNBXZHyOpBLbdrPetORc3s63ngDIbKuRQSffXNyGDMWN206ld+fPSLHn7ECR+9Ywr8xVFrpRwfcFIdogq9g0mrjfXMw7xQ3MxqzfsLRVCq76JZNQykgmFgTStBDxtJBhpdSOTJD/LyCQDOqfIzN0swzGPZR6ys8P4RBmYTBmJGsvgwoGnOxD8BkfGL+1B7/D0o10iPtyBLCDeyeqGIgWnhQ1jXVtSrwQMSol8Mc3Y2bX0g8rofFXAyJ2ybqoKTRZlKAm4b+dmrn5NYl7NAtEzcfyhNFp6x1GkrSaCySVPd2aUbZFVSSx7WdTszWYTbL3d2HCVaQC5Lwz6kU/JUcn5/FzrugllT6SEFqkiu4HGFNWZamDVSIbEOzWQgCIRiXOoD/hUHR3kri+R9v/UnApAaGWqGX2WQxTaHj1mRa8FlF7urQWvPuLEmEyuI24CNzEMqUZRLg1XBxA+6y8dBc+bcPj3Dscfj1TSUNAzXkRbQIhnq3VMoyq+0z+j53spISmueX48dyYYW8PQsf1TJE8Mp6KaRjQC/C/niUZNiJGjvxsN46JSRUxJoyIX9mgpqhbqlBeQCY03Mn0Est1NiBaeR0kIHBtYeDN1YbgVPRpTfKylWgl5c6ahOOJ2tuP+ZjxTVNghgNY2v9BvCko2Fcv8bu+xDiU2i7etrrkZXIEhVPTAUPXv49LzORRTuagUYIDWmovn0b6SFadd5x8FPplpjgiNuweVEper3Aru3lDcIL5MuWMUGbnkPNxPE3M/eGzLokKOO7vcstYYfXfs7qhnPNHI19xXpcrLLrjDp31AOGGPtyIu7k05tgHthXFwNhQ6y2483Zrl9EQl98PcOEKv70FbwCSaX368Xo+j2VyWTNw3UevhcTnT3nCw8ZSjiIgO2NIwRB0mDeCdHAA9Hfc28LCI6ibQYuEmtgdkmX2tvv6wr3Kl9zHceRBvuU35bPX5gRQWhQfj2PmnQZUdnKioxqMrFbu4Cdh1NKNXb4G8CchSk4jizhNAneEX5oHnLERcU00Rkc2mSmUsnW/x3AVXbH44JU6wTYP8hCSY2w0vtz0v+JQeY6HtQw8jLsLyKyJm8lfC+yM/GrLRGpjTc28S8QrOna3lGTZw1MK7HW0fp9Ho54d2kysZ4U41jLRRwicLOp0sJK14p8dj81uDaDszdoVKilqiyTYitBeGSGm96hDvEFI/RkVQV0qtPTBn6UFMtow+THv4K+hDuxL6oK2tEAgRLtCANFW7FitP5FZTRDEdYkBU8GDGPRIyurzaKIUHUp8/oNhgY0VXhcJpxy+qKyMzpfoVwihsNAk6mqsB/Ix4flSw/hOzdetDMGqb0GZw8N/C7fNseL+OCh6pVv/Fy4lS/xCqfSqZs+pfxe7Pm0BIJgp5io2sxUZC8zn95O4mqpIW1fxF32NNRFj3JggdmyFvoKp49mchzwnbEwaKExV+4hovScQ85f21mFyRYJ3uis0pfe7vbr8kmUl8O2Xx89uCF3c5LD1ofZY9ekoxfbum7KsBgzpFJMMNGsrCo40ONaaJ/cbEcEf2JPbrh2JZJvDVlqiVfZVQ1se+u2K0jip407S4bmn2qUmqKQwDAeYtwdRY6S1pLznrgWJCzqzCXVbYl8oKAcKHyarp06cpQUOiQ5REIXWOk0GJsrN9KIe+LvVDlT4z9U7jiXjy2Enb4wSoM1p9SbGT4laksfgZ0td+fDqIdk2cMGirG5CUw3NUeJiMijEHw+NPsRXXxVos06BXl2PtyZ0csZQMW7uUNixTkAYOjsPfMblZIX3HOpVslSVPNMH1pNurmXZaH0TSaXScnHAispfGeWWZYBzJ/lntnLxi5gKdBd6DlrjKMH91iJALUsq3yhn0WNNHZZ3UKjRMinc0tKofDnBZAyo7JfODNx2+K4mnFST5taM1808j5kCmSmFc+G33SCyCpnf0TMYZlW2BxmjfITBhISPMyg+o1+tLccPzmDA3dLZKZNfKlNVkY8Ds0sXA+PJRr1zaUtQ+YvNgFaUH4OSEu505p2MfnOOyOqqXn+qp76GYTvzkuTFyphqXTcl5RpdmBzys23+1r3JhK0qJVkm0F0XhdFWlZra94qzoDCC/PK3ISJMp2e9gzTTYVELScULUDF8kIscgnWh9R1CE7nEA1ooEzZ8UREDPALmHo2mS2kDnXj9lrhyJCHhmpzZWp6AiqXqOd7daEdKF/nh8ocCfRW8eJrhD35zonIZT7YOPPmQj2/eMYvIsXACZUmbu3qSPPAPjGbkKKCK2RzO6AF5wMJjF9uO74fIut0sJwyndxbGCtMvT2US2/n/IPbclT/6fTbw5K8+KF9VfrKuVO4mdF2tCA5+qFSO7TvMAlSoVBot680ljUrCBSCGNM8/hh9Igbrr2X1qsy5Ry1RtAMsv6KZREODcu3QDPukEHtUNsa5x5uWP6nHfe27W0zeywNn1m2KAPNHmU+nnsVRB7tIbcyFbCBAtNw9LoaEGrojFpHePnLfbdRmtj0Jkps2HseS4UNGvzZwCwh7C2TfffYSsNQ0NWPOgZjDgyZt3sWpV42pO1KVCCQ9gUOQgIu+h478CcvqUBHgl51Wwd5U2rFm9HOmxwJV51mowcmoIvFHBcyLOWHiDVhJ0usaGnAqA/i3uRncaNyJqeHXoXUCJG9UwPY8hIzeVc1zr7xCLtSpES5mrGrP+dv96h0PEvmDEwIZSJmJNW8eCy+HaMDaDD1GnTGTW9/ie2rSphH17jolvfcnaZ+8wUwBQlQwKxpEJF1eJMtATINl29XBWRCJYywHtEnsQEpYTSszknixECpYpG7sHHfLEnV594EtWGUvPBYbfarH+QCnsUA8FbR/ZPuk54V6lGRMoMVHe6bGeQsWWQbdT65Mz7BX/UI2uei43xawjUbSRGcI0GrzLbQQ8CPKeV0vUpQNCg0hdVG22jvO3Q7kNwh41e+9ExJKfbuW9rJLTvCx1gldUMw00IhamTJ7UOicTYZtrr7WywsKTJ+sgrU6SdaO64wMhFBVIMbo4LpK6gf4lUDyakwlc9R6jw5lCzkrHrxWZkboTNodT2lyWZG18eQUKNZzffrDvQ7nGeXE/xuAv18rPaexF5RtZHKu/AcNVxKTK0zPqwGZMH17oHjdOQ6qY+C4Fq4gmxm37mcrColTxzWrizkhJp0GKPTUmRqOGiJr5AtUNUkEcQ9reCp4BB/TuFESOvtFfPlwu+v1RFJLI+rnMCBVE3fL7I10JHMXEe+0QBpn+w+aOXK+XWen3HRL4McYSjFA07xtIlhkxSIfgy28mvadwVzEWUGvl2x7AcjpO1rZ7/ADK0GkCZrAh8Z77QArpqhHeDtXcPVbwRlVNVDbLsGZyyJZrqHFiNV1I+3xkiJhjTnPWf/v6Oa4eM7SKxPZCpZ+Ouxc6Hy3xilPdSmqKq9fk4HpSdBlKrNKSBAb9eFbafGqHMUfyai5YlQi74Ufj97DvCv/f5+SLfBKPplzzchmDuVRaEUzS8bel3JcKA45VlcM8lIcaPXw8KhPA+NJnwKBAoChMRHhmHwpRd7nGmXHDrhzK77U/G9FXk84fzLlWdOQwFH60jTZWOP5rdniz/tH9920XKVjQQ65x+FGBCv5hwvJEVP7ojzVM/omNR1CaHHadmGAZz1VII0DTx3YdJYVEYfLneXoopBvZUIs/Yx6Tg3HaC3p4nZofJsnBKH3TddtQS1E3gv2AnFAX17PqSYIeLOG/BlohdkZrj8iY3rWbrMQDGQJMOhf48H/H6sk/ENA7S68Fp5dJim9y9PVhFknuAOqX2VOvlqer39J4WDI6LfRM0hrhZT+ytmerKYF4wCG3eJb0WqY68owilztDdY+kjRosL8j8Aoz3Ui4Z2I7WYuLKzfKh1L6DpzRHH3aOhnS1qAK3nkETBNqXluXx0bhO0Wb4ND+l4x47cRg054R9TzUW3B9A3CEW1u4bQLUcRJC9Z8hAhoTq5dLToST38aaqevoUnc7xeNuQ+8G0+/NjdMLT9heoFWSWyUDshAG1lc8N3PdK2jO/ByXnB2nagxzzw89VSaKFXVfYbhiMpg+E0nXbuxO53DrSTq7xbx2k3Lc4v69oYR6pEiGbvEWkl8uR7ihgG2Td5JEKhdgNtHmwVU5nICE6lstZ+Ye/6kEUL8xQ9SbxNEDh2H+e9GuwhwAzwtEdlCpFhbnPAPgbarR6LFBniLUE8r+qKSe1PLh03VhZdA4OpndXU7b5kpUpIGf04EOR0nS3g7u6czr041+6lQBvOh/ZN3YZ/NN2KIpuxKfA34COL6b3oYPBIrho1sogiEpaReLvmH5J6Pl8Xq2MhSwyvsg0Oqaq73w/rWGg5NQbpih1xWJHizC9K9rr0I7M3v5vSu7Ec+6stdKVgBSWC3J65OLRnzpfVJhBqHveKOjjEqg6V3N0rD9wKlw1q6sr+GbXTdsBxrH4AxgQRgv12P316z5p5jtwuon12S3lSJpKgDE38BEP55v0zkXRsj+IPCMNBhPD9lUuUUCQD9qJftJUq49JMedwIs82xTtgt0A760FtKN0L7k9SHbgTtOS3OedE7qBSQmBjR7k4EgKQ8I4wE+qAE6a6UbbQDDeBsttsZFjzFpFq6jQM15YO25adUnaR1RGksD8byTZQ2sGstb6KQcsLPNG89SxSLi9HXpVp8NBtSqUlwJ2zHkBiqcG9RuT/48/C2zcIEXaKf7iCqlGc6tOBMKlw2YCPE2IuGRcUP1s24ruRdB6whHuexi/ZIhLLi1DeBD8Wf91k6p/+LmptN0ujQl/zbppiy963pcsDaZHlwzGwfdZNAGNGeLIpmFcJBj9VyG8c6IKmIhMXm8Z2nhd/8hCQJXjqrvKuL4DISR+ay94/Bh4ft3ou9rHxnCJliHFmG+cu+j96f8nZV1I6h18Fn2iXemezvcLnXaV9AZvNisoHO4RHTJMUItskYSkA2AqolIBkk20uMcU/FiIXIJrKYpJIvDPmRz47Ak+VP/PCkcIEiJcrIpL2iMGgYKoXhJtTOynjT3HHip6pIZxfxiHLBpgYsJ1n2G3oMC2qNq39wU0N8GfnOMsOj+KB1YhW9vm0QK3lKsAIcb0D89CSaTDugntp2ltrH1SbJqqDAaGw6EmyLsKLkw3u0INX8ykHGCww0o1SSyVuXP5jJKA4GiYnvVjNk4fHxYbbFpXJUSt1Kat1F1Ldtqq4FjQDx26Y2Qe42KVlq3ErAEbmzGC5UUwMYyrxp/MdfccUfFqvaD7l17KJvS5VvEmHyySK88d847xOReoY+wDLh6QPsyt74DhEvuB2Lz8Ft2PbehACZglMo+mMz/e2nyNHEwGQ5QWYP+vKpXF10XD0Q9RecCcL9dTJdZyxC94yDUgkDbduqwv4ieFfZqXtvhHwcW3xyju/XhWhvEuY+9yFSWv+x1ov5HhSi3PS2wIYA3SnfLdTEloD1ukxWFoUgQ9mjEQfd8OgNQDBpuUjJywDBOGIPaOGUyzbzG5rXS3VM6T+F65w0WguerjljNSfwBhsANMrySokQWhSHS9vikmE0p4hDCm35FaSizT3lVOU59QSlBWU9NFmf7AgE/WYsfkBk6hsFJcZ0rJFvYMbP83ovXkANiVZKbdKaZCcgO7eWLobFPCoX0qtMOUmO9uBsWQcg8+I59YXGLvnz5gJ5q8QRvE1G44vEdeV+CbXOAdiSWeSHH21RTPLwKLXIp7viDw6OZFqyFYOyTSSQP/hTQ/iPmrDpUny4UKzmf2bCZQ5HRvOq9bjcGH+S0detLeFq4eEcLx3NUjY5pVj/60xatkTLwfqfqONmoWZuB1PiMwM//53/9i9vmZffhqE9qRBHSpoG/rEdNNVogxxYgkE9sSk9E7Eaf5gFNW9jPKcIi7qO6OjGJbmWZldqKKkbhbmMXdieXOY9zpNuzo5vVc0JHFtOfJaYrGh9LIXPl18HKb2B0PnAoOhwPipL/a5+dQv6ERiQcLbDzJIU0wRWTdnIuiV9QI7rw6CFx7opyRRTdeLka0XW6IUBTSY4J8mUIU7Czg3XowYqOa75PrMb85aPJnDbSMgVqKe0LcrSpeQs5Uxfkrm+82cFVPIGX9LkWQsb9R2uSvR10+ay19+LsVz3MG4fqo0X/nweoDlSozaDFqk3EJ7mkuUAfyMLs93WV8M7fjjJkK+HC82gQkeR8lptvZdriqv17rne8CmWuRzA8Mxofx14Q1YlZxnQZRFKznCz9Md1H4gPAxnYqe277m4z3TAbkTI9XKmZFNXrlt4JadEX8IhHFGRmQy7j/GTe0BDKG+S23R5+21KMtxSyubqiUhC1SZ25pw7l5lKPsX6yeWci2mQcmfIEf4ToZmiDlCfwPPIXxrRO4o0U7YLEuRzwYHrl1OybRY1NmxdRWChvIucM+p5q718ukFzYBcvn5VomXi1h6VTaJL4s8ol4KkuLpoKf+2pP/ul6/Kid+MahMIQ/GVOG/Du3MqHQ98x92lPGPTnByRUeRTnZ5Qe7WxgtjFVx+LcxQFi8sW0eZ06VxMaQIEv30taEsaQtkrqN+wj2Xv4w+8e/zBQT/z5d4zhW3zntAuv4tS43syR/buL07C31+GlfWFdofPGIvz8tVVuTErzRGL3Cohj8Em4wVVFBsOK32LK2t3lk7S8km/soa30ci9qb5e7BF2+AY61KnKIFAWsfL0kdK2PvNYx4EDCFxfP1RMdjZx1EjV0Q14DmbcHSoaeorNSMNCBzgQn0wIaJ3wt3PqjJcW5ScFr0tdXAyUzX7tf8UxS5InjSX1ejzf4CASIpiTNQ2AeecWEcY012GnTrrEdCiad2LkZUVbjDqO3zbh0vBYaf82NOdF/GplM/RJrQdbNcZ7GCCC+J1VB++JGRcU6lfiiL6IzH9o2ST5bx7i4aiW6KWqybSH3w1/OjGKYvLYgTH6F70O/6DpnVrDt5MW25LzQ4GcHt/6eBfAOQFxM8Px+4FyKjzPKlob2LP2QPKJCSipojue03fT7PQDHqE9MQOHnMjfplRFX6tucrBLXKQ2IJkTXImXiroZoSLDi3/Dxx6TBb7+IpwRrMpyAlcVGz8eEed15GJjRimj1iDa7Kl78SeW761jPzzw0WjaNNlKhrwwRenQXbBLuR2FblPPVjER1FjY9TXCsHbVPrvAaGH/Xx3AvzHZsCXsdZyALxlHzV35+IfPL/H/XXozW3N3hOfdZvh2y9O05piTlW98SqGxxTazt0xAQR8JtHRPjOGsEnvHkSqeZZoLUBNHjwB2W43fX6+G9RJI90o++9Wcvwhz7hkpd1ZODHMo+0Juf1ycjyGVDT4tqrJlqB18/fC9UWZuMU1v08ekABI5RVGcdvYUYBPcJie1UjlJ6oVT3O6GIIydsVc1DbCW3r+YYdJkFuKABJI/M69/0DoCgiEePhk5tTZ4OJGHly9JSGP8K90wecZvLQltKqYn9+K/aCd3HGyc/i7lCFV3pukXvX0yWbJ/mrhR6qi1Vut9am9r37TbdjLOw3vQWo3dulS89DNp/4+iSC4H015sve93zXERddUgaOAcLJR/5MV0tt6Zdc3tEpc9FDT3ZwUhi2Om2fwlaxVlgyC+Bx+lkQhdmm0daafz+dFVTizcDQ3hRCUQiSL8jeCv1HIEF8Sl3ZIuyc+GkMh8YF8bAzFt6yJuvpc6Dj758ycR5D8FWCIsHcKZJqm+vBVWfzOV3LvQoh3vXCDPiJrvXD1xPUGNQu9rBGyEF/MO/ssFtUagnCUGsm5FiDRZxfQUoC2KexT3IKqbDEtoIywnjGg8cSsWnTlHdNBbNFiTAKiPoYbaVzvyduuXQ0f9y5Qgpbz+kHktEJ4dEX4Op96XtIidAoA+dfNyu4aXA95S37mJbGISKZgeoGYWspuiBM6fOSyZz3gHgBsq5ArITzNcVcUunw5fqvg+BQjNzQoHOiiV4EvmQ9AIzHJx63zVNBct9LDOpv9+AtV/nVWGa2d+74NqHZOzgOLt8M/c6FYPeKmLE3QrZfsGMpJeidlHXWpQ8eHx0Z+8cNvWCU58tmjB0hY5SXej30e6cID7vhlLl6/N8lFiOdHBWuJxWRBJsalnGYZ5beOlZRy6oapVoQY7kZ2cMvr2j549TliM/pMUnTrVC5ZrRUNwbX9bSRIsxj4a9rLIs5lhtPJuj5zIECOOFdrCHUTrvMpE74erDQLTNmkbtnSiC3f1IBTBaUCslMX81KIFAy+BgiNfymZgPgTfUwaUJTll1WS90Ajkkr4O4I93CcQ8zyMtgjAZVRTF93l0SWQKcYouXT+yEealmpz4ER4eusFn/qg4USkd+xFCX2Tir7VeXD/Uaxx4pS7S+jGfYVZGs9RENOkElNsNj1asmNslKBQj++xEFu4zJAGAe0djRTdcZtAzOhIfZHNXTXpUN5s5UmJMAUw7GralnZH5Zh0/REO+beMP+FLV72EpriYumPNNBgi4M6hVpHz8QFl1ZbLT4FW+cqe2jCRFlOh6t7SoxCTS/mPKeqjy7jEcsOlJpJJw/HKDk0Uv0gY+N9gVBPiDchyBbNkQGTiatPAhAiiRbSNS5e25lCg6SKNiairKJ0LeQb/f8kzs5QZ3UdDUPUPdabzunn/+B7fA8gDeWb0gnTmC2sPuvqnmjDQj52OGQl7qkuRoqzFRab8oqxl4xK9QvWtt2pfeaZpZ7puaAQuud9VhHD+rSVPbBfwa5Et9PZmahke2NIrGTikr2+3bxgOfTd5lzT+rQbDFuqNPZ3g43OH5jfSiY11kI71WWlpxLK55TbdFL7v6Zz7DX0wtKxe9yceGCY2Kuu7rs+H7TTA5rLz6e4k99Cp0ac4FgplwE8+YIPqq+552+xBmpK34k29SByGm9CSaoETWYp9lxuCPSHCT2WV5LTbl7ZXu6vZ5tgdlUfdPf0hXlMeUAiSEg0XdLiDCBGqDvpv0Sb/ZjdS/ZwhyMDNYMNG+hafgnd8BgNvEQdqnN/TLRb9MVhSlb+K3kDtNMb/q4baVjy4T/y41RbNeWAoChyBEFMNtdVsVxDUkbKtFuPoOTxgAiGnHm3IgtL27bh8EVBe56iKsKVbhbGqo5Jm9BPslQ1TPVIBXcolcurrNY+9qICRUjkfbOpJqXkzlQrL34T1/wVlTRZPncAjtQHzGMc7iA0JQDBRijqUdEn/W1+Qe/OgJOULwzvgMY/KkagcvhoXfuGlPMbjhnw005FOPka7Q9ida7H44YO91Lie4LnF1e245E6Uy8/fNZjCba+vtFmqbNINcFEH2p6uv1XtmC35utNzAVn2JOIYEn1fZfeEpFTYZKWNuYFgwv4bd34EY5zlTgr0rwqTn4lkudIo0rppjkxMpy1U21EQX0ghSwhrcYeTGzdro2S6XECRzNivIToA50vn/yPMWdgohcsBT4JvuIRE2Up1Fg66ajdEs54eNGALwDF1aZ7rTci3GIT7n2DlsMG17IYOwyGPpbajM/2JMwvasx55uxZflzr5eMsLkYJWBgp8Hv6tH0VXyA/gsxITWeX28Mu5QvJbvHL2Z7+GUBXyif2ToGXAz2qF13Jt9WlYL71TbmXFCF42Ybm1f2AzFvYHN+TEhZ2HhQMv1snXICjUxIIHV3KnB3s7kkB8RzirZYNC6H0aiMqGBnes8p2IbHYSZ7LuYlKcKlOE5it6ixsUlQ8wTFhCU8bf39PKk0uhbtj+h3GUwtW8ZGGlEiltTGsvFs1p0CWRH1MBFnFJAek+DTj7rXnCK8SXLXWLNrjGYmTvN/6GKgVqjLiT9TuSMauIHgRtxMs+TatELHtpk8F0VBrcJD3SYZyYvw/dqxMBfXUoghzvtUSrrudQIrh4//7q1Le+KTDXSH/kSWzatDk+KkWY9Me9dkRwYl5Sidc99nQvEl89XMUzJJPj0UOAgtFi2cS0f2ZDl+Xx+kO7gH9lmGj3cEgd/gisI5oCFP2zRTvoiIzybflptnyPb7UG4J1GNh2eYuOrGq0TzDXFz4d1+kEJXMhdDGXTn6saIXgUSjBYxXozdhoeholAkGBmNfjJn9VLFuW3TW/fMg/eMyRmhuZNFWLWz9p/uTSP5PYK0YvNEaVcGC5mcr178AMDnv3hNx56wqbdd9whLm9wzumoju78cI/Yp8QLwvPRse0HnzVx38bf2U97mx4I9amYWLuRwWrPbC/FmWbB1MylqPqXDovipowpy/w4JIQzE/+O7/GA+SQF/WCzWOtThbmxjdZKCxU6/aMjvfzEwRe9NRsNmxU0WspD9YodTUeO2Io/4ff2RVcDNBZvOhsM0w9JC7FPW5/8NkKC67fZtyeTT+zFEfJ4R1+fmUKbpnwpK10RjCOAum4T4iYFyULUl+urZKABvrniA88F9CwcMWQz3TWSfwlTpLVMazbJDAno0k1dMGDl4Tq7ypBxzjZ8muhmROsvlYahuZ7/8HifzDD9oFdrnamszkth4jL8a2aJLL3GGM9PYPcXvE5xXDjvrGPxxipb3hOcLmFutsTK6p5Mrwsy9IzGfzMoRgLoMKt/V00KXIXZ+uvEY36+RCXbXLpVcTz6GZUkSHeWDkWxYjyEct86UqW0LCsESNCFgyPka9yoDZJTLKrn2nLijzvnRxQO5TwTKHRZ4ItFS33G9swxGbpVnT9FxTa3EE+PlcDhZ9E8r21FclAuASvx8jmlm4m49KKSudi8g5ROq/JAI9ZhMn51uGfctSnYW1oD0zkdzfpxcvcXhZKQZ2BjWwRO//O+VX7zjtOU1StrOIZl6l/MpUaL9kXJzp4mKzapt0EeD0CWFLRX524Koi03IDQKl4eyIwC4k6fLYxyTvPj89CwyJY/6CpTJN69YxobUw0tGheyIeaSw8XTO+klFtOV0Xo6zITjugWZcvcGbpjt0Vm54Vsk7GdqxM/X99fj44yYiFgOBjEw41QKxYYaVKMwJwukNC9i7gG1BztUqIJdUuNgupUaqbfh3dBsBjSlVjvDu9Ba3VaQWrAoEJX+u6lo/91z7mtaxTc1iAO8xMZwRdFHstZS8N3OU12qis4mSB6h9FbUVKnz25de3n+85j44+Rv9q5O4eEsd7tdrh1Q8XHT0RO9bSwe1bYzGd5FlsKp/M8BM/OUkzZZC8NAQmyQ2i1LzK0+ecD8SQKIRRd672RWFmY3mC5lWK66WMH+kafL3w6T4pXJWqCBi13QqIcoXzd3ZHCo4Rb4eIizqEo1gtK0vUfCObhFsCuIL7FwVLxNqJuZiWfg5CKxh6bQW3cyZ1YyfxkYSQUF2YXPMio0PYZk9h6/N+eNtyCgfy0xAeFH3qmpwPGMJ5bGjU46J8vO849ysa9ogPNDIEg2yZaWUUkpFSimlFIKQlJRSSrkS5q6dUbM8z3PD8qYnkoZlmOhlRhIENONYJ0AdYGVuai8oUiyefNHES6SYM7y69Epm9uq4NYwgvHhQpr9s6laBOGDmIKvibQdobfPQLc7Bb/8777ogKL5zdg1NBc9ylXeNPtSKB26GhoBQz8NyzOsj6yB8a6xs+vdofItpgKn+MXB04zwSxDHXnxDFPgzYQ0HWsicmUSDU7GJzkcRy0vR2FfgNIz+lnIpZZsCglTZdSFc7DVwd29nFlwy8ANi4kNGOpEx3BmjZMy4fk//vpcjbljLUuAPYmHkaTRhcHsMyM0eTWzrFDkDnG4cmQvrfYWXfxtuNLscxiARkIJIctbO6KtVYtQCbLXIk/CoO7MzwYoO9r0kRGckPov+G8YCfIVz1EGAN0KSaJNoYHzDK0x5ugVQugDJ/LvG82r2VLH/Ska0/F+tuhTq+GI8UPK3Q+UIEkX7/rDBpKvXl1PB8AbrQBYtHxxEF1tdwBkR+Q2+hI+qjhHTrd4ZxrMfn9lF/Uxmkzz1yT4uza+H7HYTtHpQNIxYMGcBsXr8vLjY6NI92sDS2+8N2jPyRnq0fbGmMeNAE7+8BhxYJq1zzROYxkCb1eOYQGzDWI5gR+6Za4I2HwA4bUXtKGQQ7cwrehS+8l7B8x0zrom4JcYAOaGkyOVuu9sWBJRgQVpFZB0P2XxkcgALrcBsOZQxOpNQq8mfJAWnHKsGmIq+H76WVk6i9doRqwt/HSLwvlXIgpvNbVMkrCgJKdBzZd+D3KqZqH5+NBIL81MLyXJwGC81px7EmL+No2m5ji+BsQkRdKtN8czxkifBGmAVByDWOzN5hShyndUaXdD7wHgwlN7pWw0Bm1wcFg21O32oafYKSbcmPMCooaXRIujKbyUGzIiZFPqCvIGf4C6yNaxqXB/RqSRpjU+gKzAcG5Zr1uPBZ5IksmfWdhmXbpjGe8scruI70w+FMLNy7/tjYB1kEFgMjjZi2MOoRlpRe7e+k7DVb5CT2e30HomX/M17/JHvyf1ZojxpOgqjt9/+Ah3cY7FDWOx8TknK8x2Eumz64GdksMooTdJWCQy/bypWfeodNMbCNVJ9/gh6Uj2GLzKoWHjFw2xVEQgRQ7m2NKOCCkT3ND7eQ80cEkEa2iYuiBEpxGex2bIybJKjLu3Yw8hT1hvc54f/09QT798IweEddJv59jhm2FWlvplkpJ52gnNVGc0P1Mj/mDVJaNLpxDKWfU/DJ6GMVRM/yGqPatUKXG6cWBIvVAzU9EPuSOOSwYxWQxfTq1nonrl4vyoPQM8N2G1Kq1qvAT1MoybGdDNPtpTFV+CzbfxJIPw7tUgHbxwltQunSEax03iLBSjqsvTOmck4mPaDMvOkrlvVMeSdOcRUzytAZvq1+mWSjBMcxBDeMJYYdFd2RZwQuoEBWaesMVFFndkAgjmwcWjJICj/4A2Lu7QlHQf7KoCEAoaNIiHikkJTZyoITvGV9wsmjCl9sCMMbhvgmcW2dqxaM4qX7pJqU6dBleaPqGKRiW8w9+Ytal1tzOk0ZM2LVe82tjjcxNG7cBObkqele/V+ckRPlcjd1qMp8HcltrDl7iVnVulKhbF6834bB+vGw/n0OB2Y1So7xNkAf3E7mkWQoIHMPVhPJMw65z2dpCVcX4mq5xZ/01wfJmXLlaHGY86RSuTlHTpmK9feGQhGRr/ux+qySdXWH316zPqGaJaD+p8aQc6akkU1KAkdLfOyEU6+zvC+TsrxQaudS2OEyGQcMKQmnlGbymAUuXS8bG4EiWupCg2DjAn30HR8iQ4p+nf03oQ5FINCR7A9yX2rf9r3UIkPf7dMnVVBz8Xx8cuQijH/feOh6bDPIdLHmq5mXvwX74Y3+7ecfG6jxyQYTNR0Tp21ZYnU6cx3ElF+9wPufEFRq4de+vOant1Kio0VMr4tppEunUwgd+n6Z6yN9DzugwtSv8L4n0pPTfAvyNIDGXj8X362a1E1sHS9F/Zg/X5y0dmTJZ/yEPFZfE7/ErdIMUOairpe0pfssVw0DQ/ktl1D1h0/xGXqLgqPFDQiL1jctMb6OPfyWt3t+9OojIDTAx1sLVMGFR+YObJ1tN5usEENbs+zLCWlTOlBqhg9K80OGXQdX6up6S5dfci/9CnT5iFl3/6IKhrQm3XKtsdD0mDZljqCxrsHUws3IBgpoZnvptKmhcMG11qWg9xo8pvcEsfoYuDNsmD9XNiwjT/JFyA+RGsQFFXrQkRx22uPkab+BzZ+9TkzPkJ6/QOtda5wr3XBSeefdyZlod9WmDO4ADvWP4UkO+lR4VBj4rmrnuinIV8NRCBFf+9f1kM8bpexUtfnmJpaF44xjWmayGRTq0laZhEKBMDYC5a3AfnYC01yP9f+EiBSlbQm+NGRQEJKS/euMH+yiFqJ4YUzcKgJHhOZv9bR4mIi126dx7l09XDgm/dYIuQw8UuXE2/nAtMPiiazD2OgblTlTamkplnkXXTI9TlFTlENT9Jf3fTc39+Zvu7kJYx8IuN7rj/dtbj5r/xK/jk8hjXkoi/wKsQGAeSZ9YoYD6JRFog63GuNVm3mohTcYX7PQMI3W6owrwxdZN8cQO+JQC1nPmMndnHBQmUvF26XsYJ2TLc8+dWChkyqOEHNgJCcFmHQBm6h8d7zC/dOkXQEFFOHUBaKTQv0Yi5s5EqdOfJAYvbR8JsM8UMcwTxM1VEojFe57vWI9Dr7UYZMnCU2CELzFkRYyjTIKk4BUiebxooP+Wi6vcBpVUu8tw50gBzyZiDlDikXCo01NnfJirrdAbJWfV1UXC/WglgVa7+QBz6Hr3qp4qaymBGaOAdtSUN65nA8+d0939y0YyCOPDPD0U3+hLUKYEogjWoHsaYQU96N2wxRBR7GMitKlAXL8EJHPJgO8tGE/MPabwR3H5B5R+dX4t1IwL7vvb689kuIcLyctD9FWW5HpE4fVzfc+0K+VWJP45UUV91QCwN9rr+mSDCnfY3A2U0pxN+u6OMw6PATzULT8YaQEe13K/DgTn+aurDEs5+bodpb14Xo8QJE2LdJ6NEARpnIRuENRKslssaZS9vE9Bz2yGkkhn7FWdwRzEbKb4InEXRYWngfsTL2dzokVyNE6U8ZYltMkbdzD+DeJUaMAxFI/0AKQEkFQwIYVRHh6LSJeMFYVkZVu1TVyBeJe5CKrAsb18WIe/xqO6/dN6NTiOlJxjX7xlna1a17ebFM2HMN+uBQKrREcegwm/q3rjyQp8GiasCU1Do42Q096s1jbVHtJAIn5yD+aCvCzXJSDJqY8Q+Vrr9T0Z7SqjaPRBpw7EY+nhwkqSHIQQ7bp2VTCQyP05daD0o845ysESLAtf0zkJOB6Nm26PFypQ1MJKT74efKG1HQonJymG5SMTw+Y5EU+WoFR3We3S81dgH8GrzesPSl62Kdivo8035y/68RRfMCXToFSciJVcvjCi+zayRa3QlHFPSZ5+p5L9TqHcabZ0W2OalWFrXTU5R6oDTWWO48640XOzQ58m5XR8kY2ZdBg7EFLh6aR2Bn1u6Bk1jltZqnDjHG1ak26xURHMaRBh136eNXUBiM0aBbCgFH+uXRiKn6cCQCRHZ6mD60Wvo3vEvaCKZyJYVSZguAg3BaGsCMmLJyQqWGYq+jUGBYE3qqinw34bBD88gqaTGNZJUsoZow0iAhXfIGn1/TunGk+42DxWvp9ybaX2ZRMRZZPr9hRig/5GbvE8i4sn8HFwbSf/yHnrU3GUQcp+xoxsUZKg6G5vZz5WWvG8ikUK1pPXULMuH9T0XWsAOzidXiJgR0o6VzfGrobOH7qKljKiYNgC0/OCPz+gFC6weX5NBfmTdhvQlNRGi2NAUXWqNUmh60JUMIVXo1AqhQu1jvCadRZDnBxFMmY3buGiW3jmlU2inn2XFyLygnakVb3/VjDYDrcrOBH94ylMvwUQklIWJy5MfJACzEpw2Yb1+L+8ZEOz4G+jxL4warcy03u1YYlKLE56fTS62Ad+NUgnVdl1PpxTpdgNN3ick46jTKZrD6HApCKQKHkwx6//6DJ/tVJp/z+Jk11xHVBsbd2Las9BwP2QrZ+ym054bvchBWXD6CB7XpsDqHlm9IrQSytFIeekpM/ii7P+fxBTwfuHk9c7U0Kf+LNHoNCvE3nbU6LuZCxhLko1eAmkdftyuJCbT9b9G3LN86YXxpIzQPZMRucJK1AlSulCLkuaeNoamJZJ/8AFDiBcXECs88dHTPAKI+iiMklec3HQm8SgNI6/13J8OV3PePkIL0WllxqUOVGm/p7w+bTTDyBOk1Z8Vr4LrONZZpc/bH8NI++zHbNZ11fgYb9biTcv8yu/PkLQ1wDtriZbbNzj8OZ+TD4Pq5rGc0MpWf9ylA+qa6h9bXtqBaMGnfVnPcvZZWPADy4idwJ3aT2Hh4dt1z1+IOlYb8mYVsfpvLvG4GyY2/ACvNR7Nn6THJfrso6qVLu0bJNYC8nqzd/5KONaLq1b96Qp5P9pFN5jKR/Aj7gSznxOh0NUC0Lr9BzkYgHv87Llvw/p6UTOBxU+5WsMn06PGz6snmX1aWL0LEuLGpH7ur3yvVW+1/LZYyAC0n3IbrK37II9NjLoLK5gvlyewmr9hI13c9FR2jSVNeCrFXQwiHLYKBJ6TEgzUYT1VrHLyL1oQV2Ntgpnzo5FvZFu6IDvVMu23ysMB9F18BOXETxGXjLknvCkz7twKjGBXFcqP1GWTHA7VA3COh4x96fymIlXdTsH6AyiXdBcU7w3TrkpkJKbGniweny1dcjTXk2jXkdtf9bzxhyP++855AZB6qsDcWbvIVpDKSb6oQOFlyWTX2eYL4OvfKejC1wWd/u2wqfQqihrS5HlHQGGUsulHbgFzaRuZPWyboQpH+rQ1+l7y8kU7d7RXk4aNZ1EZdFkdyIDGixTh9UyO5P6jKHIlMJXR5MvCd5Fjqfyq+xEVCyriad9jWyuGnelLBzH8RXcSGP8/7m4bfvP/aw++YD0uAgjMs0OzcL+/WjZK5f1iO3dHvqhp8A1XFcqmZt0YAU38c520UlguiDSPkRbfaHVG6we/sDfdEMvLEjwMNd69Et8vVujrr8ugeWd0jOBDZhEyFTlZjO4NqV3LJdtVOLSwXXQAw/bD3AswCPHTMaB8BX4utGNXtyM7hL20AEIh2JYHe5/ZXDPBn5Efy4QeTo+1Xt3hXKYzD1NDYh8ZAojHqfKZxDme3Eg3YGroVHgdH/yVOFgYFnQG4FKueZS1XLzAKhele8stKBnMWC5OK1438ZifspS51vF4OVVJR6ExH8zj3Ra0Grp5Dtt14W4dnQqwVi/XeTH5jhQ1pUAlIKTOJj5KUEgxjDbufhDyTAsCc4Vzk/adgIuoJyVSIHLWT59mFqDjgpngwPdGe4CX6XdgeF4I8gb0JaJ2S/vQ223VK//fl8+ubt/UksobUfuDxzjHHYhxHULhtT5hH2dnht6kkvSR06jtjdN6O8e2C+gOqi6/KjdMY7rnQTWhjLsh7GJlgE5AhuLAZcjVXBB/WkWnR5mowL+uvUjlAPLLej9r10w8kSSNdVpDrzvVZSMrgKbElMF9FwEYudM26lpxW0x1Cmif0ANTKZHCe9iwwaB549AbRnUwaOtNAwIv3rYhC7P6BZhI0dUipvXtAvyAp+DK/gQPIwcc6CM7t5Q2D1ADyYQ0P1VYHXfQXeK+aEDaES0wZs6hY6+Hi45BW6F4eInaDJpdh/pNPl3xpLFGrPvPGFYLjAhxOMtFN6Lazg8w+bW4cM1tnjyS+TjP6myhjVRnYUHpTyjxkmnjFWDVB69hQuyFRCQNKKWAwAS0Qx9/v7nejNSVFr/jWoGESsI2cgcj/SgczmNF2auR0XC8i1bxy3xyhniKK7nPmFJqMgywdgPT+KO0AVy0M0OH3diQR2ye4doRmuR0zz3xeAs6pYU4rSad9Mhf1m0QtVCiQtAf7Br9l+feO4KzlAU4qxV3oTYkWXZ+6NTvCizoknsaDaPr8+mb7qOH8+NEr+BRWTN/ECOyhO5fh62JRLlGkrPGUMURrm/1+pYB6AQdG+ZJ3foCH3ptXIkUkYnzlWeXDzs24QRvKTeJsFNi6LXQXuBtlxjqiBdjI7mYppU152YYTsyo7FXOseigCvhy3XYLa+Hkd5+MWNCRl9YfeHMMutgSeGStgdEkEpsSVdvtDTIYuXceuhugr6WaEb0cphXdLw9dfkg3Jx1P/ToXhOirTlXwdpIUumMhtrdvYXi/3dbVp3Xz4+XvynGt1ivoDxTmQ2s7Nygoylbliw9DeokgLkWO3kXgM/XHsTFtjJRc5Jc2mk+w6og0wZWg0hqwpVgWMUEHISwYkZ7uRZ+t3zxZBNB7eRAmbgugl2pndCvfvuT0rfqyg/7qFoeaX/+Gl2CFGfHPXDEluaRwZ2hH3ki4qN24i4wkKaAXOl1JDnnJqPeTqBnI95OoE8GiNVoAQi09ZARE9qMPrmSA7N1McoLoXhpc3V4xOD1rXXgXQXeYkrtLNOHPXkT6Q+uCaYVnXB9nX0s7TDUlIf8y6u2Z81p0jBh1UrDRxUSFFK5b+ZxYf9hi9u0cRlG17l7Az3Nr/ZX/bckERglKNIEvrFgdcEjfHS1NHQCdp1sjIo2tD8qyFapwdElTP86PkctBJSBUghlSiCtVXYnGRxWFATeltf+RKpVCtorHUzeFZ6t6VF521x75YimMT919IAmKBpxYuBBOBXvgsB7NW7lh9GpoqxyJ54sLOqOz7V5yE8LiRasKEOvoZ38lx01SetQD4xJ9NxsqnNcPvuCusqwDBJZFIkvGfh/nYRJfCLrcVv6Z0qcmWCrQhUptMJMlkb1wcDjqslduAnN162JXa3F6+T4S03fFFklWTWDoWW0mxGNG+yf4i/8F3QcKUs2brYyaQITA/TAvQSMweIOaLrEvCz9cAuv4NgG+vVSAOM/0EfqrGeVuO9sXTgLJq1cPjhjOIU5KIfydg2PIPVxj04E77fg5bmUMyqh5vUZhWdqbML1AG0dZPFhhZH9exCreUavQuYbYFkCgxSaMBBdE3/kszGPK3zH5Pyp6280wAb3kHguqRuP05ripDeUDJuqjOG8H9aTl+3GFlORAasgWEwG1USjEe3Y2lHOvEYcJ7ytvhcf35l/vyTUKBNskETDVD5agbzJ7vGkEQClbrJd9NfoF6ZS8Sw5vMmsGlRPWGfTHNtvmMg3ugs2kSzrhL/WpgWHVxHPm/P83rTn79NIwpOcEgV/5ejpe99kiwDiRsEqSXI5JoIwAyao8nzNJE/rZQDXnUDmlBE9jXz8Wj9t4us3XAIzfutBQQIM4KTitGG1RjhRlT7pRAQSsEZDqpVrfMVVfyaV+FVzedNvhkJOWKz0Xd2hs84f5dmnTrV1TsdiU4DzL25KSf596l0OoHA3ARRqKhHkisn6Fx5I1yMU0CmyCjlkyuMdmMjk0e6Px3nLyVfEHnZMFGmRiqheUjXCieFbZ8e5ULKRprDjIRArUwtSmw8xc35LHkeAg03PUuIlsmkZzI0qwrYQj/hizoWeI3OcuM84BuRaTGKZxvzQM7sHepdFcBVOmRV1Mhm4MgZXv31ELH6q6EvuMkgGOf/OrBXrP4sJYd4gfW6ki0Yfy4weFYyC0w5AWcYIHJMh7KI8/tRuvxWII/zzzHWpwz4z0zMbkcJtCSvRumk9PSOIEweIIE2kavWQKxP9MZML9YZVNWmV/l0L4zJxZ4J6rsxKh3/R409DO62VWZjvf5p+NdjdbHVT6VRE+rjnQF5/HTYGizJeC+QW9XlvFszciomvO8Y7ljEGivVTO572ueKRoRc0VKYeBIxIStFzp3YByP/GjWAetRaeUXRTXDnczfQaDJe5oldu83TkuGcB2BU1ULr8L4gS1K84ESwfhTdEGzwPDTq4/ESUHRjHURNsLhs8GP82BbFe8ZQS747vU1gsUBL4MN6DdM3Tw1RO6EQ7CCRlgFC5vJ7y8bFu1nMkojTVLs67R8AURc8BMl0fm3JCY5oIXEHcL/usuMQQ/OLmAm4G8hA3sQnOJt98RqGk6OH1FwJkl8tSBGGhWgiJ607LiyVSlxIISuP36akUxlKYq1j+iq5H3R0KaAlRe+vxUwKKzERB31oPepBlk8lgU6qMWqAz1z7tv7yXaQKg2+156MZhjigx/8yDywrwLqVnzIYkmowUiJlMTJUJOiYHPUoQCkpaSXFS9WoRNIMxrRPMgrBcG2Uv6uxdeRExvzt/HZoyDk/Bt3VmaK7bOIFmNc0uJzIKO/spBZxMaNElNfMEXMoJt7JYZWJJpv1vHWe0XsCM8inFr6w307BA9fSMioOVWfnD5Ci3v1373X4v2zQl+qEBydw/b/qHOvQ//hA/lq2T1fv5Bvwn7VXq1P+S0n5Jf+Iv3Ls/SMwx+D/MjcmMO00zRun/S8l4etCgdpnVq9cBL+hI6sy/FM+HjJkk9qYnj1YHhwqyJyxW38NLv8lT9gA0AT/7XmUwST7tbSe7yKpHPTbsYpyRiEddxQXY/SSTmityg4waV6VK3/Tv/UH5z/Ofm8yrIbyH61gtK6SO6l1QcJDE1QiBhKNrWcHtFqs0nsqPYFYPd/k/dyGzc72+s0eWe1XSTMrtp9wLVhhvyb0EMA5ozpSDu8X3hJh2jSPSNX+DCUPZ/jrZK63oHrqr3jRGm6p6fbrron23ChgF/l/d4qAoilEdSCVHx3qhqmzXMlfcpX2Y/WBzheYssAdzz6tJoESlVFofaj88EQJVrlPzRR+ktMw8XJC5yj76T2xKa6v0+JKGxm0ro9jqiy/02DFls83tUUrjcZAfyGWbMEUpK88cLw9VJL8O1b+i937FUXoenJ3/F6Tbdjv7i5/Hcv9xVTZunYOrotWFcVVLDyE/X+yFGiYL5YjAz3/Ciqq8fratk9u+3yIXB//JCMAeht6wyNFKZeU+8Tm2C3ezT58p/8cnLr7Fr8NVLbfpMjRa/m7uX0//y9FqGQm4NON9O6OW2MLerae8LAwR79VCbbRbsVeAiY5Ff/ll2+aum+ab4n4W4K6XRQvc2rP/Z7Y2Zpssi8veIQWqMRPKXK+657ZHKjm2JUn26DnX+BpPWmr88p/1tlaGXgo55Kye2umpHHKZ91/KQDbRPEp18/X9/fN9T3e/unfYfxHkzW4v0oSYO8LmpZG+Mbzmrmz+MKB/P+hxDx6YleZ5zW5R1TiT2m87efojrffFCpqTVGCPyk8h4EeUzoBhZMlXv2qe3sN2+w4yFVYl2QDB1+zoiUH1qwi5gJqL0KtxicFT9svAcwxfD/jY03NglAd1gSk5r89PUwSag7NXNA1k2ERGts0KuLJgNxPhFcPttoheT6XsV6+VoEuuz77fCjzTCRHLeEEemky4xnMCyqqI4CEhMfkCd1lOMQzF48gKdS90yUPUjuQ9U0fem9xI63ZujibjNoSl10hft+FQ/3pPrPihs+BcNWaaiJXqDQCDx8s6HkAZOrfQT8yUrxD45nzfm5jcwx1lR5F/TKJtvdfNYra5D83nkIaE9VSsIGORRhxt+f0zIaTEu0oHeoN7aggoalQq4f+3Xgk5p68ffkhd36y9GWqyZOrTyCONmaXDY981d48hb82HOgvtweR1ZRbHQviOrYxgsWmrd3GweXFcE5/JCuuA15Sq+UHZLJcL0hmJUTaX/PFZJGi9VheHE8RBLtqKOdeYcrly9g7N7P8XRDcv58r+lj3gvzR12LF1L8uk0m99n5x/BSz/lmFaMAbUcwcUHIiLQJ89okSB6QTUbzaxDAkfJYZ70zx2tH9kYYzEytbEl8BoxlhHakTeGGPBQP8I9hYoasT3YE4nmzPakx0TwHvrbBMC6RbUfzggEAtdhP7mIAKejj2tCKnktdBQw/QPv9d6po/66wPNoXHRD9et/wzLrvpff17+231PDwPv7dt9Zjaj7hbrx7Hb/Vxq7xP7/df+8vV5/T2b9zephu3ny3OXPnbj1hs0qf8PD4ua9rWL2+x+Fp99m+ZI5HkmRPRK8aZMK6UH8TMEj+JBUtnpotWxh865Vr5i66w5j3dxHrmkq5iY7whUlUC/YotqaXfs3XJ+hM7kyX9zI3Kpf6SSdowJNMsk6H30eSOwbhVuWeYuSM9Miy4c2kfLgU8TSif/n9/xTuLwj3pg8XEvadXFhWfLf1ixEHTF2PmgXTEOPDg6YJx5IulD4zOV00HkJ/2c3fJ+sSFNSfWvNfmN+sX/t+bF9aXfLDmlZXyr3Yr1nv+te4tm4FLaz6wGXnj5ZZr58Xiiave96/Y8SX6oM03m4lLbTZcTfxj8QaBB6r9znA0oz/M4nA7ox/M4EWemhoj0wWDGglj0oWRGgZj8oWuGhZj7IWFGh6jwAWB6jujzgWF6jCjzYWVGlJj1IWBGg1j2oWNGjJjzoWzGjVjyoWjGg5jxIWeGhpj9oWb6jYjz0WKmjhjz0WOmjDj4dg1oxr8w1g9Qxn86fACQyT8xFgrQzq83OkSQwa85qmtsgtM6qmD0jG94tkoIzTdwTCpsheM1KmgoivMwkUNwzAMw3CRwZSoLgkWua8ulw7pK0FyD7pbwUdjAkz9GHmVsfQ5v3kYKg8VUcZNZ87e+J3G2Ux0rYsA+yEYjgvljbODoBcl1XFPNrTvVduVkxNCXfqZdN0DGsHuWfrQi8V+A2dJztrMJp1DdY8dWP1qmqx2zAgBEj1Sghg0D+4w73Tmx7GXBWNOFvyDE/FhMYvzcsoD878yzLg6mAQmNF0wt8XEpgdwrnafc+bqRZ8MkH8HhvyJMYcFCsU2X+ZF5KPuRjwP4iUEY+JuI8rxx6YtpAMwrTutQnl/uE7hdVD2miPYvDecxnQKGwIf4vySag36kZRU/lGuL7XJ9sLt40NnumeOU74IO8s5kz8NtDabYMZ3l0Rv4QLw2WQjrgO1QXsYoekqizYQ4DB2vzXq2HYJf0kkH62g7sMnp5ZHqgpsLNkTLYp7hqhtzv6JIUWi37AddSEhO73k6gj5UztKM9YCD8YSkrNjYE2ocG3YvZxUp88U+qJlMgwn0sZ/bVpGGvwBALftMaBWkAdEyXDUAijPRbvsWtIajMeJHaEClPkkbeZ+do2rA/5p3rtSJ1UnpLcNMhsnK/ij7Bh/DD3adowUX0JU4YTONgic+jIORxKSwvyqmodLSFpi/jEqLGX4DLjt35A4OhLJVw6rsvbOoXsLTBWxnZtp4yCQ3p/FnVdnru+MolgYmWf/jS8Gtif8dGpvyY8yXG13SWul6OU5qxgRKhseh9h9y5/DyONb7iBLNK0ER1EWrqIglxrz3jDakWJyHXg+D/Le8nRyZiusfJMcO41liOjoh5RjIwtIzs4zO51X2d4BeDE7hI1ZdS7OL+xlioD1Vc84SRKWQxKoSEfWIfHLQudRvdruUvgcwrceddI2FVUkFJXxreUluweg92efZy47X7aG9Gw3PSy8ObEEK8g8ifB1WNLzZgFW3ov4PY1Sr5vt9258un8NNFGjealLsIYobzy8+1zk5Sac0lETG0aARe6ixlz0sarZyR1CtpvFCoLm6WUb0iN9PodDzsgqInkuVY+Jmuxj1sytdDY/d7SVbabC/hOLwMKZRRU/fBixGTZwdF3isrRLI0XSYi+EVy8LWhXzPuPxBMCh5uQaee4AOi3JufSAqrsfjdqroZf6dzOgCY/pqvO2JNm7hCpUstKMU9ona0Aw9oeUjo/OuDI4T5GdZXgHmDaYIaL4I09UWYq2WKTHl2XQPK717AZvRcKUEjUqTrzjB+XqlSea97iWndKFinuERImOQvxj0Q0aEAS1FVF10Tj4k6pM1ABssP9354j27LtmqNYfEFl/co5onhwxPHn8e2OMjh6Y0kOvz+t0kK2WFA4nIW05cuet9RXAkV7bNz8v0ZQYLejNdBDDMAzj9uecJi/yH7vmZ9MdVffpt6DTdXc4e5YwEKmA5XqE4ChE5j9mb0wYol1e9Ppu+7m/O6l7TqUOsENbqDSlZreESZazJNGKOs1GAuntoy+jERhRQb9O8fmY6onZNFJcuzANBSkhsYcOkWVp6L73r/ljYN05wimH8STOmmc6M6cDsquZ4SfYfskHGUIZ5qF3vWIgKixilKSJ4kRC7z15JcncggB1LAWmrNEsqMvSLPb8jmkKN+TI2UNgvqVJkOQC/p3IDLacCc2keX44VzMsXz4+eWE/TJlM2xG4QxiQ8OfEojoTl4QTxOPew7TxjF58m2dtQHj3hel5LsPuiEgSNx4zQy6fYS6D+xxELdidBloX40MtZKV6fjQ/kkC6TW8oO2vBBlj4vYYhI/WysEUGU9TC92vaEvMlHuYwaXb2fEO3zxA2xOm5UfSRwVEa0XXDTCvXzQsCryySQ6nZ4wVqSnT0jHpqOsjcvovzcNbA6QbhmKziI7oPBV76WZVcsqGkGOeOqLP3Vkn6rji+M4Rx2XtNHKXpG1/JvWrvx5T5N2pCSX2V8z5WYMatpHAvWxT5fZ067DSc4o0E+YRq1NO3xJv7UbxZsw3SnUek2nRPJOnRMWHuoH4gi7z1iJtuO0Lr3dH79RQwn5yE8ZZ5dJ6GkByS1bAc0LEW+D2SvLM8vpehonOr8MRa+ARcqsSMDBfe3mc0cJZ07LmELgAke6TNa7LRZ3f6qeFhlkOF5sVHRUm/ZMe6G196z6EWDfTkbaESf6X7NOuQS1QCgcyvKzYEDJ+9bkLeGV+UrWNPA/xn+0GTbE6zy/mb0NGhsvi4+dzBjZisFjzZEdH8uLJMRI+qL2MWkbBnrbenh0WSITKgM0liPIU9SplRC3TRuYd4KRe+Z35AIPJ27vRIXFp3KM3/HEQuyxLFRslEYLiwE+fxjkZ+uCg02g/1ByRGVI8kPZ4HXF7L0cleZzERbOTKCf0cEuTwdhqVyEBJNClVHYcvwCSBgXbf6TKnNfN3nK2HFkRgzFjV5nlZZBa9uP/sGf8mzz0IXPA0aHzX3p5tQWreWINAh23xeTSxAlNwgUpWyO+iPmCOQJoQIrJTQZEPatLJ0G3f4/hs5uXbjgjBTjoJQdYoN8NMUBR+Z35Yy392MHDOrtMTRPq7nbwj1zhDOmLQco7nuWrOTYsxfDXb/ek8vfTQgYt2uNLeRUL2903H1rlEb6PpEwvmgHPCB9eJuzQ2SHIhRVh6+WMLFuN73iWX52Y+eFWcm/+F92HGLs9kfRNIvzUEHRs8aXuCEVmF66L7NV8Rza1fCci2LdO0JIy6WW4S/NzQC11o+zFRyMc4aQ6qTYheLtwJs+l8JARnxJ8wDMMwYsdgZ/2yuwttSRotgGJm1kT0yQIIz13MwaXbwybKmaCiKcyjs5OLMXRMYLWlL69iPOBofxWJMxL8a1Y7z0I6reldBC8AP4qkhEWLOr+Y3U4ceq7o7vDMC84e8pv2X95LZzUxBQwoYnmpGwdfEbR3oAFvyDDMHAS2lHeiIROUizP5djpRVfgYokZTpibS8338BEnybSPXYUfGIELkqrirHqgSVI0lEuJGf38W2PunAyppQHYLidoAuZ5h7DnKAyqZQW6qln57qMqe1OWM98vs5zc8wqPzQZJtYiwBMpAHUkE9NCcSyBpBUPPBvVRXIWTDnlySjqZE5NVC5pmWXX9wAvzk1pYh1UZZibjFF6lhETcMk8QV/z3DJtunfyLvtbS6dvh6uFnQL/Swcg3iEEg9GRTXnEnc9wojVUqMD9bB0FpVY7V0pe2C3aYH7k8/5tKdeJs9EvOias5n4QuJWq0RcA16zcSEx1srD27ctSu+mAXIQdlmuc+a1H44ZVDa6mZkiJPl+2/OfFOP7p99JhHjiiaJTxrquOjQc+EenYS3H9xhTm2fQcdObuIw8c1G2Cp2j6Gt8Lf1tgxSzeNrfNb+c3sp3ne/REnwKjVP5h3sWub23Cu4XbQJV0hrN/Md5HsX1UH1Wcpd5yFK/YJDo/SyeKMaVWgvevWTdoMG/ukgrJRxYv/7mVytFYnHQ4EfZ4gXwBpOhMtDFCRLsHFDZiweqmW6oSqohiHg6MvjPYN+ZkvkUEPsRW7lDFH5C5lGl+l3jtofIbHjVU1TSCBqe39ZCN/k54R6VWeLrLjkhV2Dt8a0KOaEH4m5t4tUmtPbtZVlUfhXOmnQHlaOcmx8g3eN+VPoc7mfWdN+FrQ8LzAtIByCnVE3YzV6nmCr2Y08uQGd6fDDk/KcCc9mfNiJnQXE4kvaO6FDe79oyoJxN22NZXWLbQBXOuAn9D0LmGDsage6t5PEqVjOzfGxLrnixaWUW+ZzqvtaC8lBk2IpTLC2Lm4XTkxNZsdv/cUwUH9UvJPCHwcBD6caG9JDuWqX6oIXPsldqb1mPyh6vQWqOEpreV+t2ZhxznPz2hrsAE7Ln++YUDUYF38pk8ufmyaNsmJHlLP15OA3z3wf5qXyUeUwvXF+iu4CkyC08IC3UmTRr078GeBJ7CKJAoHHq3fkbVAPnWvOKP/j7DAF+pe+Snk4K/qahgqqKyxoSSy+xun1AwhLZm6LFA16gXio1NRfwFjbdveiNHZL4qT0Ap9m46EHo+MGtIa89xpgUtTBjPal81xjPYnbfhTXyBX9IMCdxIXO5y5oMS7KWOHrD/2wrO9TmdwvwCtsVu2+ldawrlWYaIiYcV5pM35yQkU2i2YWh2EYhm/PUb8b5A7YSC/ba5FgotFxRCZwJaJqBh+4jmx5DXdFAEoYsLPfJPDy2Y5BZ8UB999/4v47VzmlqBtqMElizbiAan+f9EDL7yQaLxbk5dDVmqKjYisxk2pqMTP/1/+ofoZdjY9GfJhsOblL0/DUcPko3FDQVLT6vnwA808MvZXiUrBEXfshXE2CKWbOP73JMY+R/MNPxyEC2Psy/aHEttTQjBXXnKYfiK4+XGqsQwKd8kTJjMC36RQi9sG3rx/w2FaDvSo2jHrLYcETfLgMCMZ+LKhHAk6mGDbI4/JUYYNSI6bw5ZqViG3dtfj6TitlCeQ1iGCWOleygWWmJWwKBSGaIq/DysijnOJ253TSrRiPpHBLmBx/W4JYeesj5K9QDTEzBedIMlA2BuOjody42Js6kpq8auwWzVBgWzUq7rlGdcpq+SZdcHOlW1rqmSTbFaj90n3AlPWm9pkYOYSaGeBH3zlzu143LIlicFyLMY471e7bqH7txjIFpXWTkVc+oHrrdVAgwqixXgl9B45kxD5OYngZOoROYICeK5BiKcsoHXU+Fqz5gITt/SikcXuN+yJZhAmQcp/Avj1OVlRGqVc3TyHU4wZv49m8Cuv9wWaeDYSHDjU11pd1FZc0wSGskhh76XhfWD6RL5/v3+XIVA4X+OatQ5LckmkMtgCbKt33iXWsQOD6HNix/z5dpXgfIpxaXNRYcYkXKz7cADA9fsNzG1/CBuvJ/b/H/PU7HPCOaVkfEVJoIUOJQAkidSI+hcV4db2lUyja+pz9aavziNPr8/hS9pFOhaQPK21H10tH1Os+tIlqCPFoaqjr1OaN9P3KyPwFrR+nWqhONHvjDv0DqwVlXoGBOvcb4khPbBIBMQHht4CwUabh0OGFHX1qyy3cDtPt9VqwkjqBhiBV2r+jVZIYvjUYa0+BURE3R7PQoINQXtmycE8+mlJMAgzVM7US1MF1nfwgClIW/ht3E9RcdjNVL5c5CpSLcGgW9ESfQDdVD2sEzRaeLH81QIrw1mEU3SeTG/qExNQTm5ydAKvZuygoydmmdhNno4dJv0OZ57Pw6r0CxJB6IHiJ6r7lp9GiAJ0zxdf5ZPimSse/ISAk+YnheGsHH8hFynbAFz0Nl9hvGqfKfoDmgt0RMBxEDgqgIefKBmQ0tcKHo/4P8pmEJr6+mE8yznLzfjcgj2g8n0uoLfXc2DUO0JgWusY5QUF8eDtDVS9cMhj6rS8bW6xsPuuPkNzV8ALjuIIQuExDf285ck1sBXauZK9vavwYpFheUVK8do6T7brbBLXX7Dz01sYb6LdqZDorDpHe8vUKzt0YlZZOLIXXRw6mw9CB+ejurAscibnqTY5qVWAYhmEc6ppaqnJs0xMifPX/r1AK7D/221HO35s99PMUFbcFKy9bPW2jkjqMdgm6PXQztguFzQKENcdUQQ4NTJfqdHTFH/donCO4COWBQtddXQOiyH/LGuxLDx8PPh+fv+7hQX4XFp3LzpVqL5z78up0W1SbiSLIJ96TOIw2bfehevmWj8ABJ1rtTKuBGV+tGILF7CzLEzORWxNHbHr9XrBSGfk/rkLEAOjJhCowLlkn4swu8l4GF6JyY5Pzj2KVqpM3UMFfiQ3ugSH/C+Ipqd085Se85pRjA7FlI6t+s2wkdx6wk850yE3Q2a84HAEr5Y8eYDtGpzW0V/ThufUmmQdpKZTivLowc/npeFMLniz4/uT8Dse6qltBU/2AnUphGd60MSO1Sn5sDSGyCbyK4l9WB64+K5cAge7mSCmUMBcmbKZEaNdMUjb96dnnBpl7d5SQl8JZl8PvRdQVAOUaJdxE0pB30cUW73aU/8QGoCtBugt4GshjYkzkx/k5+LfH5LFCIPz99OVpY5aRrNJ4mWqemD8ZRSM9rJAwUw5c70QDnEnoNPYh2PBCrFcd1+VzKq1tEJ1k282TtLsfX89TqYILioBSnhGFy4LipXtoPLhM8l9vtgaVdnMqdGKev/vUwT+bzOP2YeFYb3EnMV2RnnSVLTuoSDy5OR/NlRnXG0KWq9d7fdsZbqF1+Hry6XPEa5hJxVdTruj8i6UuFunPl8jKxStiPrSt83pFjVOok5J4cupHDiQyXlvq3lqAH8X4+QuDEznhdSS1UeeweHC5oAaiOQ7RdgIKeCrxatDQDrd75yj/4FTg6TZ+BX1njJbCtxesI8BaUOzvx9qA6mWSkN6Fe7hHUfg61w4z12TGTYNfGq1UoKrERGykAcsNeBLv3DPOnv5+FEnp4JgYIlHILGgdXEAZh82GJBMY5w5fajuDiW7qxTg2uhE2m+VC4CBxk2tcNH8w7HdKpI69zhlk6+spj77SXB8+S0FuWHvL2IfMHlPSNqUfinOBtM2effVBISj2Y59jJDwS8wDo3krokIMgbOZGleVS1gikGmdCWk1eTG+RRma1+ZPcWJ5gJyMcUTXfU/34BoboZI3ILVfnoGkTv8opTqfsuJpWohjw6GEXAnMGzD6RPxCyhLvDb9W5kgcr5Yhu3TgHv19OSiWVVxQNEeDT2ArUSkd/EnhPxknNKyuyYhpDirYU5w3lSJcpfFkvRCKymZftCtvjiDgx+14r08T1/0hQogMdKCZBpe9rvYaK8Idsus4LyTU73rqJB8hZv68Qg6ii8AtZZqnjTTNDTnl2t17HbvOP5sUhedrAJtQ0vpWahACfcwlIRXCP6dZyj9W7LJN+BqVllbbMfUn0KGSgolQdvIaKo030rSV+SwUVXRoQtSiWnKhDI/h1HOoEkdG4QbZyAq9o/I1s4QTdjMaIrDhBKmj8F1nnBFGj8RXZxgkEGs1kfRZ0AY3cyK6SIL2gcWFkKQniGo2pkV0ngd9ovJpsTILuC40wsvxCkM7R+G2ymAjiDxr3Jlu/ELhH49lkw0TQ3aOxbmTLiSCdoPEfI7MniCUaWyNbDQSe0fhussVA0L2jMRhZGQjSLzTeGVk3EMQPNB5MthkIrGk8may/IOguaSyN7GpBkP6h8cHI0oIgntC4M7LrBYH/QOOXycYFQXcADZUs94IkaMwqiyiIZzT2SrbuBbZonFQ2REG3QWOlZMsoSHs0LpXMiSBWaOyUbDUS+I7GD5UtRoLuA42FkpWRIG3R+EvJupEgfqLxRWWbkcCAxlFl/SToWjSKkl31gvSGxnslS70gbtH4qGTXvcA7NH6qbOwF3REanZLltwTpAo0/KouKIP6i8Vll67cEHtA4q2yoCLpHNDZKtqwI0hkab5QsZUK5oY6cXKFkCSo3ODHNsXCdCW1uqCMrp9BlCRq+ceLV+8KYCZVv6silU9hkCcoSJ8JjIb8SGtbUkZ1T6F8ltFnjxG/vCzETyt/UkR+ucDVLqHzixL33hfUroc0ndWThFNIsoeEBJ569LwwzofJAHfnLKVzPEsoHnFjPsbCcCQ2n1JEvrjDOEtqc4sR/3AoOhDJSR46ukA8SKh1ObD0WVoXQpqOOFKcQRULDb5z47n1hUQiV39SR905hfZBQ7nBi8FgohdBwRx356BSGIqHNHU6881joCqH8lzry0xWWRULlGCcevC9sCqHNMXWkcwouJWi4wokn7wv9JaFyRR354wqrWoLyCyeWHgtXNaHhP3Xksyssagna/MeJDx4LqSaUr9SRsyuUWoLKDifuPBaua0KbHXVk4xS6WoKGQzjxy/vCWBMqh+jIG6ewqSUoOFAxEkguDQd6RgYkZ8aBA0Y0kkvmwBVGFkZy9jhwi5HOSC4XOJAw0leSc8KBTxhJSnKZOHCNkVFJTodGc1m/IugaNPJMdpUJ0isaF06GpFRMAgPJSErPZMCAmaQcMNEYSElSrjBZGAP2JOUWk84YSAuSkjDpKwNOJOUTJkkZSL2kXGMyKgNWJOUGk3AG0kxSRkwGZ6BfyJdbnrIXWu4T0yA2LMTKmLw8PiZ9cjV0+Nux6fznPy/Df3GsOuZfHG8vGv3fmC3Wa39m1ZvG1146iW08ppv4r06D6G276T+2z8Pt2ufctfuCNT8QfgHbxWb8ufE83f/ieFj8O2tv9T+Y4M+sx3FbrWU//VeNT9bW4cnInYuwXWpfV8VJ3B7UbzVYuqbKh6WLHKDLPKALYyhd6UGgPSwdu9s6f2j4wOGROxjKg6HVzREd9feAM+rIOPoy35mxMzmL+eTWnCunO+bCqc5wLJlzcLITGsD6TnW4ucY/f9WYwUVZeewXAlVVG0En6w5crlxwrIVTK77jZsk39x67pFD0VA2ToL/YQI7o6lfGBpncvJf0o1Uzy5s7e6pSFPVO25NLpTpiUNkHUg0N3WmmtKftRz3CcutSudiZMcuw36Id9xsL6hZHnRd9RRzf77Xgzlt8d/m3eWcs0+yBm6gkLzhuk+CwSja14bpirqKxuIn9qWNN938cvPO1icUPnoOdU8vNHj+flzUIyc+sytLSvoxRsXeddmcqyeBUo39o8CaBDFn1WzonOimoXuCUFqEemWS+OBEn/Q3zkqeZjDEPXOL8VfdKp2xIUT9zR5oZnSdiZuV8oF8xzfLEmGkeT6wyF05QGcVOP+C43jL6FaAH2UGYmLlxMu8qAdmbGFSy1vfSBavJ8nzmMS6J/bdm/vvJJyJaqQiLqGkn6JNpn2ixo6qIxay69Po9O1JmwC3wkDxTHv3Ljj358oHBuCMVFtiTRhbKPWli4XwmOSMeSBWVhIXv2PbXG9Z0cDvZ1zg68gqioHc4R95DBPBsQ4LEsV0WN1V82C/DYV6oqbY3/Vw+AHwZTvn/QDurFMdYEUuDNkGZIWjwmJB3EDv0DhH5I4Qog76+Srk7d0Sn0CqUL2zFKxxH5AJxb2gR+QgRK5wnEmOAaB1aQXnHlI4yHGvkDcSj6Vu5Q/4MERyeF8gdRJrhmFEOoIpnHK+R+8bHcJ7p5/KEfDCiSThHKY7BEcuE9gLlA4KMx4BcDfGkeocO+dYQMsFzL2mnjugmaCcoR9jJPuP4B/nKEA+Kdo78aER8gXMlMYoi2gHaL72MG/nOOP5AvjZEcX0tV8ifDBEGeJ6RkyHSHo5LlFNU8RHHJ8ijIbbOwMMr8lcjmgWci5TGpSOWC2j/oPyH4AIeL5FvDLFzew4gTxUh0aAvjZTGzhFdRNujuKniExyfkXNF3Cc0QW5KxB7nFxKjGKIdoW1RRnMj3zOOP5HXFfGY9LVskO+VCCM8fyGHItIJjiuU2qjiiuMt8qDUQE5xLn8jPyjR9DifS3FsFLHs0d5Q/hjBhMcWeauIp4neISHfKUIqeL4nadfPiK6Cdobyw9jJvuD4F3mpiIcJ2gXykxLxLZxPJEZmRJuh3Uh9nt2NfGUcv5FXjiiDvpY18t4RIcPzO7IZkVZwbFB+GlW84PiAvHDEdmDgoUH+4kQzw/mXlMY4I5YztE+Uv0bwCo9r5J0jdoPeoUX+6AgpVBpS7rIjugLtGOXbbMVrHH8jF0fcL9A65KMT8QDnfyTGoIi2hrZD+W2m9CPD8RDyxhGPC30rn5E/OxFqeD6A3DkiXcLxCuXQpMkMjorcM0WX6Vv5inyAaMBZJMZgiCVohjIpATyCXCGeot5hiXwLIQbPGyl3lzOiM2gLlErZyj7iOEG+gniIaAn5ESI2OO8lRoFoFVov9fnCuZGvGccK+RqijPpaLpA/QQSF5w/kBJEqHCPKiVLFDceCPEJsRwYebpC/QjQO562UxtYRS4c2o/xTghkeM/INxG7UOzTIU0NIMujLq5S7NCO6hPaFsldb8RnHF8i5Ie57tIDcjIgZ5zeJURzRTtDuobypKVUZjifI64Z47PWt3CDfGxEmeD5CDkOkFzieo5wpVbzH8RfyYCKgn8sf5AcjmgHOF1IcG0csB2jvKJ9KsIfHJfLWEE+V3mGFfGcIWcDzo6Td4IhuAe0AyrGyk/2M4z/IS0M8VGiXyE9GxAs4ny0BiNXmQJ+bezRllOgrlV5puVs0ZZQx3TD6gXNyhaaMHvc+CoEJ0HvUct9QZluUKX1S+dhyz9A0o1Seorz1ouXelDlnnJw6sq84Kxs8FZw53TF72nI/cYprnNd0TOl15zGeapzif5yDXcvd4anGqdOO2v84l17hf2ytNyVSadV4I5to4X2KKQ6ifBKN/aC3QqpaJlU0s2BKHHVIlYPU2GLrC2lqVfuVhqgykRho3MkQU5z7T6S5tbVN0sJC+yTP/TAoD1Jbi6ZeslbNfbqJRqaUJQ2Nci81rlq7S/QGqEv0e7QLAN+wJ4wBrySssKJTAheobOhHO2WpmyiMbdxGF/iG3LsTF+Dwa/SVTXiO21jzuTgJp3U4Qoc1LLHfgH4bt/SL/WllmepMs0j2MY0uNVk3SnCowz+RdHJQCY8r+vHYjK1Wne6cchyir+1I8vG00KPXLv0GONVn9Z2OmDCw8eMDqMfGz6SzWsM4BLG63mFpxttT2sXzk9O/OlzsNMJjOk4XeldEqoPabLGs7U5ntzgTVTVv1Ge97kwutjXf4JX/TrFq4u/8R99dvJaL9TQErTbtxiT9vGIS/5lY1xrL7pD4K/L3BXns/yXf7sfdtpnD5ms/Dk31nb08pNN2ubkpVzs9uRz8wniz/7j6M3y9fqwO7Ph2vou5k/42PS7qZbdYXzRxv+02R48vZync1T/j7qLJ43l5meYhhWFazdWP7unXSvYf+bRfT980yXyVxWK63H260NfW63EUNXs3J8EUIKeAbKEwBFLueaEO64zA/Uf91nqNg9bLoN4cP/QmMoLvlEaSrJ4NPvk37L8sCnUEqRrVCTvWJUIfL2+qSzZRI7hYpDe+1wn8SqYhlagFXd7ml4jhA2TQ8w0KrJzian4D3mMbNRgLGS65S1pLoygDbJfyFU/mKErmsIr+/2QgXDldCyAQbb/+npQhGRPgY2jQi/fTDo0VMlxhja/d3XpU4g+mVvDwIYF0TDYnEKBOkm+U9j4wpOMzTvgnl7ePfyPD/bxOXhq2q+YbanqipRtby0l5kKh2LVR9b6vIHxSCDIQSPKWzFwaPL7pIYxtNS3GcZnnb3+d58iCBQBkygh/ayE5oFT0toq7iUe8jpKvvTnSLKcDv73OfRD2FqyYUNO2HqozXApUI50Z1iBfriR2t7rhJ6gVUYbiiFCu/ImF/+z88w83yrZ9ifBf/xpO6k8SHFrSTt2sYXYtCxgCIfqQbc1XOcThPhKyjVrNfK4/jz7hu/Jrq+IavUI/xGRc8I8fD9VIeY2drDOo8393UwGRoBBS9VpxPfUU2JbZf02zDFF6YEhhUStBLHWHi9+ISkQbJKaQSKchwav3VP+c6B86nZv8DKD/ayDZ+jbrtxX4tGa4lsB9O6nLxywlEDMfQwxyz0S19vXSd3L0WGDGLtz0jjumKT9DFFcog3NWy3oEX5bKcDXcrzR88j0gauZCbt8E+YDi5EQ/Pjic3BIKi8FOTDsXD3OomrqXTRcc+y+dWzVOFaMroVaukJJAQId5cPKRWD/NM7kDxcFIhgUA9diiPnjEIAYq3FqMzRfIjUYNsKGl1rb2W1C3I12WAtCQT+0QXU5LhvZGjlsDnwcPNtnThJVKsgrRHcCfvNKFG3Vyj0CbOoJIGQ+oFZUgqvUunVKESqTNQsuyqSSVqqbsQzrMHzG8rB+jHJFBJm4A0c0mF+isRqLMi72rYO6lZEYouE/Xdt9H8eGHCmh/Lk32W5fx4I1BXiV2VJc5E6JSpWuFEVLoWSVP40ahGVyLIYF6HQgZP6GZCD7Z6p8A9RpEeQTZVQLqL4ti+07HSosdPmIHOAQr1+/BK9S9N0b07rSUVu/JoqqLFoCcnXbcaf3eTr9OSDA+JdCac5Wi5eDxJx6B/CR4gzdgn/qjq9q83Ep1M+Lu4ZwP5oVo4udDdZJL+g0Re0HhFY+zqu78iB7TgMt38rUeRC42SSdSViP5LEnpBKfUpIFPsid3o87exlmxjAE2qsepK3MLibhiFBiqOo3AWvIrA3MersfLehEjRbBdpjaIZMvWxKdrexzVZ0vptZ+52CumYlx05Vgqp2g0nN5OTsbp72yehELdxP+/p1XYgp2yeXsKpPSa0xxPwk9olRrMw0hsByAf98ZYN1R82dV3zeuP+wGFZhmOcnOTaoG3UtLNcf2jnaVMtbpUuwm+wcugUvAPXBl35v/RwXe13F4k/9TX0/oX/VKPuroM6h7tYqQ+ho8765rc2ctFNOBqT7a9pxHp2MSpB0NCyBDnZ9cbXPjh3K0Dv9mgFPyyBt1NBmjeibL5YEKBMfMCFPju7/LGstqRPBPjcFIxtMlu7JA/U9BLL9MMJ1pxTq39AgrP77kxuQ4P9q5i6yH4e8jzK70jiZXBTPerpgnyBa1oMRzcCBbWkjuleTn/y64R/9tXvHm+3j0eopqSmoCVquGMFi6BlGQEfoXWzCDB70nDc9O5dYvMWm5NTfz4R0/2PfWuXRdC6FbMQr//Tv+zMGW0lCXHvCyX8GF/auZNLyZGdXH6WZvkVor8Zi9i0mGC5DB/AOHBneetJcl5BdSW6HSw01Kk1tU4O+91QijXnSoz0t8MOiQamt1aN4eamLWV8TdkaCp0wLVjOX4jsGqH4DcbiLq311fUtpDvIIzDwokRLyW55RygeQUGOjkBMYBL8P62Eyccbp+lqsAr6s7+CMvPIB6DMCForJYS85p8lsPSNxjhe1iixkLp6e4SfttoAXu8E+i7uUf8QjnCpCe+g6GZSZICFXHDzi1+eCg5u/Pir/E5PH4Rp+hlJ+bGkzjZR7cb9if+LK2t6Zjk6mJ84LUqlWFyABH+U6yjECy1RrsUZqeLHdv3+ZCB7HyB35Ha3tx10K2lVrKU4e2a10EtnhY48ZvGEsDjhVVXX6DHc0SdI1zRlz1TKSOzj8fexT3p8keP9y2Liy3F91vaK052T7BpuXcLibpCpq3YqjRfQ4CsNBvnoRBq0p7H/hNLgeADUzUtfLh/8lIl/0wm8ooVhD7PnSfdTByfP5Humb+3zepcCtrsno3h0xh6YApdVhGGiE1Tk9eebKvYPkIEL/ZeXkTH8eWNaDnjXXRK2PIffU+fffc6POGDpn0q2/oob6qpZml5XE+SJm0MQv67o1tXa/FFZaUe1UMLcD5sFqHiRP2RmRaql56BYo5hN58IMoVvmbBAWQRhRu7f+hk969spX76rXy6U0pG7GbAPLwR6f4ScO3uJLjOKaOFIjXvMZyYoBiBB0BBLKNYs7Iy7QeFFSnSjHU0DKuXNECIThIhfaJrtHN3HhtW25Dv5MB8TPlg8vHWKw0MzpX18xJTZa8oYEFo5lAPeHSfzav2pjgOWVTrSHmusR46LxGS/FRCNUqL7KYXUf5gbTooWzTZK9yu6MJdaQYz3G4VT8LqbqaTqZ0gqd+683DI/j0+Ef1V2BH1+lt2F4LkqOSEjrEkZ29fhbYRDmnIO0THxF+i8z2pYr/WNAhd5QYPWzqYwBl906tTcBwwTyWc/OUdbOnfvI685qU7H6ske5f1oIed3auW8fAG140BzltoT+p/QkKEcjXRp8Grc1HL4p1O+ULIrFUn7hWbQhX7nfP1Ku/ck40Z+/A/uJQWLMsF0w8/uKpv79dqhtjV/78/diWhZX+teIbYT7AeLf1J5KshUhjuX0QblxLnG31fMLA8oKwmWBctEvZnDGLBL7X9a8ylnIpipMlZfGhqLv0C+WGXXjl0F+XBkbn8efW/Fc1D8atzuX8UfDb1Nj9NgfX2bOfAU78FnljoPD5TFAmK5LT+LOLIYYaohDexGQrfA8HcA2K5v99BMdGojWlLFfAUDYezbeX18/hUdpcZ30avoe134PPc2Dn0uTtv86FpBJU7vyhQTz9In3ZW/SKbuURmKqU34AgpRzHwkAvnFqPbThYZlFlD4mh8flGLhtAcTl4tXrnrMlBEcAypuUYvbSay1MIIxMyoXCY7Rp0KE+uYl7Y0I+p4B23shmy0yKAM0FcaHslTY9f51xvpKFtYNybuC67s230qVjCk2GgubH3pTbE6rKaSZEXzEXubncWmfrcy7T7HJTEDWyvjR43E2KeHlvWft/LQ2dhsGg91biXEQnMlJzfdWOubZks8PyWjWHW+ZN5XpKmQOtDf2t2pgqtZe+sFvYHOwmq39pa6Q6X1Pu8rZ6435IzZ82JFU7LeaC5naxkDi9kiG/+T1sBTxVUE6InduHhlMXbJaaCXnVQWV01IVq8qGWUBsL+VccpZDFVnUcwxNWdSL88k/ZNEucYidCWOrsl695v5+7wGUvfR5fzofBf/mDH/u0t74f5q0r+VMzvKVXOpkJ+an75vvU9EgL4UefNT8TAtbbMMhvwBfyo5dJ/ypsgraP2Zsmy2/apeslSg5KUfwNwnXrf5vTf9Uw7Hl9MK/iXL2zbv2VvmC+Z9y2Md3m79YWwxi9jCIUV5HOHPRExrFzoTviJyAffGgl3lQoadaxv99aK71i30/rc6nNh/M6n116Cc74V0f+lT5j953kj6ZtUk3Ne9DdeCgFCXBPAgkkkFsLpBRh2a/rX8f40OJTmN06SloyojQX29GHnxO2Dd2qjuSJ0iUBB1DgR1XiboeKGBYchHPcm9Y+6zSQjR9tQ5vdKxlTlMT3gef8q42wBLh6Ap9vHMwH9M5nB4WTSxD4ump85W5hI7z6JZMDlL1kuFBktXC3bPmbXTBUvZAUouG9wQvwvkrlz2X3kDXeXL4+UboNfsPN+LjfFkzTYWa8VtYOhd0j5uYT8fXnV3zMTpQGSuci138VvfZLKSVF9JBLEt+bDVYQTRPK1yVnKcRVgeN73/NLnLkMfi6WglP4zgQlgbzPTJ/D05CxlQJlXQU3ez7H8TGLVR1r7NHngCZtv94rcH63DfBQyLW1JB6J9AdFEkgkt/2jTNRk7hCW4U5hfY7AEA8PzAJmrdDGCl4V9IRYQBKTNpH5fOOXqPtVnXFL1i5LZK4Vw7axXhsLRiD98GakVo70TiKy6R1xkGwdrwSusTpcGp28o8SAjykDIlcR4vuQrpMgUi0ATT22nT2icpa3g8GlT1w6hEzt+F5XJDpasq3etU8UOhQOWL9TwU1c0ejkSPoZXbdJRaqTETGc9x2GWpQ6IRC0Y5ORW6Q60ajlLVinqN2/3ndLvFQzEqmO0FfnpqpbKXWYieq8Seup1Q6xXzJZyzTj9XLHOEbkcol1vUWlI2jf1k1RH1vuGvrw1XMQxa2dhqYfpxz9onElfp8vUlkdSqlDZOcZTahTubWT+AL9UqB1abVjIDbF68C9l1Yxjgb8ulAkXeuplNp5t5QNaz3ThRKNFpFDIU2aertjXCtUGrwwonMO/pVeqa6vLdcRoJLIrtPkiNS5spjo1RElsc1EHf7Y8HQ0yR1yiAld3juFN0GyjTU/3a4vWDwUxFpneRdBPvzn92ISVVgkpw/YsloX4v43+a6AfSQBeBqEtA0Jc2YIPoGNi0/RNE5DQIUGMRkZQ+KB9AwMlhGrTVzMv2jZ6rVaKBVC9e0x84oAP2z/y6fsbSTwleQ0yPO+UzaPuvB/CWyobLVB5vnl1fbPCgwyet6NvFgP0OHuzWgkfRrGf9lvm4YV8mf5TtJiBUTeq6d5Ix45VWrkvzT6omLK1QN68hURG8AjvBpJBTfm1YXKsrE+oKEEyryiu33l8whYYi5dyMxu+GzENbMJF5zI3JE0PhyvnXBcETPuz3yYbxgyvEPfooE4h9vSnGb0VO6MwBYtQQq6mYsfvFiaOVhJlqQPAkYT+VEzmGL0u0fSearp/ocYD/ihwUxC+eHJsWngD45RPkagFwvFqxF3DKWFm1LgA/yLOCh4JRwIDZUME2EQIseGqUNAezNF5C9HLl4ecHFJA5MFnoCImLfyTtPqyaXS+eEm27k/T97VejSXp44XRjLCbLcYLQjygkoQGJsuoBb5vaxKneFe9Qtbta1nFfhnqS9UgA+fZbgvGQGyaaW19o0pFiRb19oCrk3zhNOVk8qXxBZcEzylLSIKvxmX/7g+K2WTjfl6iwwF/lvwd/KHOe9t0UGxLMo8dGrjfM8WShdayhcPdQiMqWeyLeje/4r3J+iJ5Qu+oJ1pJig3Nw1I7V219lEiZrnXCkfTkfALne0aCQhyzzJW1M9cdC84VSXnUn0YOXdz8RRA4bULJg+8Ld1bbsiSZdaT0cJq7oP2MwUx4lxB+1msMRDnHht3oLTonu+R5cIGAVoOzv2j/SZRQN8RKlp3IThENY+1RZfXOTlTsydI21sQ8Beg3IH2yQSdUE4Zn55KQxXfzJAak+CD1n4Jmos1/YBzT031cdsbn05rHpdn1DwBl+25dxRZmuei8NpyDNHDC/6mRpSfqmtS3uctAVSoE1GAPlSnVzk1MVh4paLednMce+HCPBQE0pAFw06kjn/NNwGb+15aOz8+HAlmhDCf/b2xxAmzLD1hH3qHIlmAVXI3XgcJXFaszSGYJ7WQr+TBz2UWExyAvgFA4KDI+lYGfgQe0CvW8jOZy15RCJl3CVIHcJRxbnrEAQ0acM13scEshB+dEEVKy+VdVqS/t+mLdVZm+ykq7A8o7MEVF0xMkPGxQ7EBt9cv7yoWGpDE1PQnUNoAAlHFWUPZAhwFOQYTf6CiRYzXTuKlL7Qg4AAS7+7+LZqbEswEdZ9IF7SlcQmTyhMg0AHjkEeEPTwWCzMr+0mXYDA7c3853ARWVMAA79UgJrK6OusHXgA1jtCtMhDkTchGDyQm2mzHegGO/bXBZtIOyKLHjcO9HO892GQy2PlbbIZk03JnNiCY02GYntKqYhRuFdh3318y/plw/Tt8jr6edbH6jLvOsUBTZCMWvvXhWK6+pAqqZHoJ9ggLGTl26luSH1egvbG3QHYEWeKfxjVMcIKFa9Yktjo8vucEVDGwB9UxcgwBYxF0cgszar7izZgrSzuZVLsXxrdnCxgJ+zyoWoAJRmo3f41ywOAAixMEM8hMHSfQiqyXGM70p9VU5f4lZti5L+olVGalHaU+dgklCe96VEzoiLCpBcxcZKWwMeSRnPMCIbzmRrxv2V5+m8G0iok0FEUv6836f6YIPkxe6Z50bv5B1YEuH5ZsgvQ7OKmGrsQfqWA9/IVBO+nMh7M64llJbzI6spBEzkn/6TRYv3kzfE/JUlN7BrkEIUeFJaVLdLGvGLIfPgSUKOD4XsmcmaMI1dOFa5QIpd3FOeCs/QByGtWYS127EFGo350/MmQleE2e+Jk8yACshFi6tj7ClmY0jYZOXDQRabHtRRPKawQ6gihuHIqniS0GM1gmRlUN3b4lIbF+LNhc2hE6856JULb+PdV7Sd2Gf57bVtOJX5We0Ltkg3uG2iV9EtFFP+PHQ7Dv9UPIznHCrA2G48GqI0vBlFUfwK/CWAz+84MA2JlTJZGG8Y6n11lDbFOha67t9OkYt/1oKQFJOmAkNiYmoK06L7gog8QC/uKEuIO+kC2APKtR8dzQnPuuJap5ZYnBXCnkYzhMbyRDRLUE7DJxEl1QTOAsJP5XhDaIQybEymbHJ7NaMAhiJd15mYBkIYVVFOkfgS4tYJ8DSeKmEqXeXCcUNQC+EMNgkSWNZbEqmaIDsFbA8IS3lMtBmhCPZwtyOQJiFWfZNI0g9s8V/UMe3KUn1FMj9wQ6VAJ52kerxy9BfiHwWY/fRjIH0LBBXaJVzBk6TBlTFsBTLuhzkKLTAqdJ2LEAyxYkdB/0jDYTuQJE5kF8Y1RcWEJ3USTbO+mcCZGZPVNHszTuOU2mmZ1WHYWM1Sbx4T4nUrQPDYFIi4q0zcOl5aBAwWNe57yc0XwJEoMBL1HQglKgMPH/rY/MkFO+L41iGYdVTQGgBag+oiyNAAuk4A6laNB2xYnh5hul9SqJ7Hkp8votIiINBk2ieClQnN9rJlDSEle6PONmby4hcmHe/I1R02UtFvg/nHxa/zrWmqOKcbVGtRnJ6cULJ0c3/puL/jG0cSprp6Wg4G+S+5q4Zy9GqSWZf47TWUKs1ohwkOQyOh+nWIWhZu6yTNeWGYQ4ZEzXk1dvoGMhUbdMFPZONE0xY/QmAxWAsYnxxqtIP6PG4NlNMXBpx44JRY//GrrzfsIxIkSzEb7LYNokgCt0Hh4diSD2I4HTFWMxwgd5yc1sMFSsORkhyvIciUWaj3DbgrMIhxMhicOQzbCs5aHZIUJjh8qqbxI3/Dx72OPhJC5RFybyDokUiwYgvXs7MHJAnD18NwzZ0OHTixcddIoHs2+zK28FrWlmDe314w0Zyqmon2MmpDZaqWVuHpMMps3wLZcrS3jTFAjA5qiRtjKZCvxFrlZc5XU1mMZuGoAKS+PHaNyQvEbkbNtoC4qxtAAuB5/pOayIwNxgoIi7+VHRUCQCa4Y308KVwyOvSqZ9RDC86Mtji6GavZUxA6fJ9/OQkfnfwp+i/J2V1c8EO+WGwpMeVxvWeWX104XqQkQe1CDgi/etLaEfDKoMC+bA4tAeqERCaGu40RBW7ZC3AXkY5m+epTEDXr/fkEquCYg1+IrgoUrEGSw2SnAn62WaQJ9IvaHN7JzCwq4V4XmAEwLPMWo1W4j/UcWJlENYpQ/4A1O//2be2HgtXXMinNF5fHc1HsiRyezmN5wCIHHyALCl32Qg/x4GSPZ3WmzXA6d+x2g96EwzmtjMOFQ9jN3UEARxlrP5H4JpzC6UEDR6NO0tAA2FRtfzEJH5uzmfaNHDYycKYifxNtPqFEka8mLzg7OUnKBOktA9o1l8EX+W7hUq5Y3n951FRYti93tPjJ7T/85m0RmiBScUP2zkQn8IPIldzt37/vDDvwCzHHwl2dkU6+PyjyiqQfvrO5eci66Hp8sSHNn54O84X0XyR0Co5PkwJG6Q8lYXpb2IzJCIBgMzo3hCO90uuCN9gMiZsxDEGRLAd+nZqPlyyI5Xxrun9uX9wh8yqN3wDknK8ufSrSg/4W+z2w2hQQEEyik79bfLRiRUzgHBzZtCiWmLHg3sVVwYVi8wawTbFT+jtfTnb1lACexlOAgJJvOSZwtFQuIn5zF2jDHyswmsNMyEYTbU4pFxNaEUBzMSzS94GPFQOHDY0OBJzwATOwc3iTPOfiBnF1aJLmAIzI4ABUSeFpj/4oNGhqH/QNQZV0A+asyxF9mgf4oFN9OtMsML2fScoSBPGV6AgnyYBOU2xksS+MNODLV7E+Q8RlgLR4+Gb3x7GNWfh1aAm1pFjWIXtqPBT9Yh4/9OtGh3tlv1H5Pg4LBhwS1ndVb1WPWb5FvVUK/6I93I4W+WXnXmXrWsV8EJpJYNHAmbeuBHhMuk1XWOlYtvhVecYWzON6ceK/GEP2ng/2NObzlGv6CWQtyQag0PVxNM/9DtbzRN0wFZ21Mwp31Vl8s91Y+fgRn3LptE/sjGQNaiGByuyXKvrYXT3WUuTMy9UbA03AVrw3Uwn3jUAH+Y1uUxcjJRY3KBxczh5fULSXIEmM5ov8AEYozQ/+bfbVroT4Xxh/oWz/PgxMH6KADu9++T+IL5rRjaE235J3GeYAhI8fw9y3YuhTJ6KZSzlu9GVb6+7L4EGYFpaaQKkbNo/UQ8T9pR97zWp3cgWpRcu9udmZo+kFG86OHLL175Jphh4fCD/+D1nqvf5gEkXVCmg/PDINP2GXFu4N7ClGbkrLhLkSBwBWolCTGicsHxPFGyxbJl2bkwVb6gFhajIDesQSmfqPQHcK9NC6tm/ADnOzGui/ZAgqUXm3M5ucWt/hRWn3ML3c/aHVy3xVx23efSjHRVhAd763LNF1YjpYkEYX35dSymjdyC86qXvHlzPTitThS9R77iJU0A3Q6BGd7AlrLgsshP5zsdA0UKdFUN3z9wyFaE+BluzPuN7xWbbymR6Z8FxhsSZTix4tMKRYtlEN2Cg+yxETsBuu/3dS5S4qcXjT4DsATXIbz3+IzxUQux2yLPsDgmj5PmOUsMQkYaVZ3GCPvxMGIEb47oLmGmi42Txu2IWffGHIt4tv/R4b7ysWGZJOnJxykaKQ4/aWxag2ZJVSSov42hxwK5HiqXiLIlsO0GLIwta2scsUsttnv4zKCBYS6FVHmM6UuY72NvWkLnHXWXSc+nBTwOuDsYu7qW5JtPcUTFlS0FUrZ2ALY4gIYAJKApaQSmGj8BNIwFGZYO6KV79pwame2xONGZecJyTQweAnYfjfGlloYlfhHZWEc2QY6Scw6Y/E3Jawr6ubaTH7Ibpq30cxPirDX6ZjLLhCimaZGPsjjC8CYr97vz85jK9grgUi2bM2SZlehRBO42IlmDA+DDtlkXYi+sndYKkfxeptmGCuxs2mfw0sk/ApuLkTLqnnL+jL033KK2N970inDuikN1X3E2X4ptd0mvSVRk8JkNHU/VqyU7k60ZTbbNjstxgUcpzLNptUjDriSubCe/z0gB1LvVqY2wrqu/twi/DJVhFc66jhWaolCr2TRFVwyUXJSRfYLGT8yO0ojEzcz7xmaGO2m4TWSnuHZPr6iRgUUvYTAV+hyrXU+T9PeGiC1xm4jVPo6/g5udg6H3JkuMTimV6Jdi9gbDyDcFq903LYIuKvLa7NQHbiP8+W0KQrF8maYfoajtvek0F2mDvgSjarG40n/0gcLP5CXU47NwEz3zTNEJhJSSYntQIk2np70Ut4U/58pjhMt5BYqeVnOHuFyX9Etr172ircnErTqi1Dl38e4/aPtP8RIBxGsHyebQd7HSWKozKzLfUsVaWss7oWhrQf+2NZ8wMmy8/ZNW+7x7BGV0Nc859xyOTm5UpuWmroj6i89cCA48wG3V0SfAIeMPNXMYqRCmUg5k6F+1ShuNkTGbXPm/5zm4tAqHL0B8GgWZxhFX4SU/usm08c1Ao9oKy2EyTAPSM1ZHy4SGUQDAjAzZMnxAsM0OoRVCErO2SnNxzZu0WqnCHox2n8OC4hnGxRz4guIy4oLF9thU26tfDn5/hItBQacxg7d3BljGZi2a66Cz+6zz7Sn87ufoF2f9bU6b9s2vwrYp7//+lZotfjhkZt4W8WKEMNykFRMgmJGiW0YeWJPKCXslpjFsrfQrcONotN6+1xy4MXIo6AnM2oXUHP0tVF293fJAdyE7EI1obdVjZWwlk8LkF9796b02nytZ9fMcdQObG58Q1Sa6EePigvfw/ZwVmTdyZlf6vQ1nhsuKlytNaXJOK9FRRDhqxcwUPCrkSA82+UlMKLBQLPFaT0dwBxLArwDGHA4RBz0c4orpnKF6z0aJeWTAWHfQbVPM8sriQl+cdrfuvUM74j1q1/P2zAG7LN7MexHYpc+6ppTvH9tCIW2Dr+JxtbZV/jlqh8yKxW30jCEe5LWwVRMyIn+WlD1aFP+8mzmrTK9EDyKTsEfceeOchVdZrqJohCwVIaxWYJPB58tkuYEDXVLjdUNvty0eP3Y4knRr3Jt1+EjBVBcqp0Y5J8r3b7j7s9LI+qu/cvcWw7u/dBBBDpfc0E/uiX+H2eNt0KMrtJp1H7txv3jFN2sVUYbmMCz8DM01f8zp99dU8t4+qiC+oqGAUV3X/aOEP69le5rfn5s5G7D8kqVZTqxM+VqOR3cyD/3UCKbQ8vqjSNN0E5XgRFgYSiwVnMviy01ePEvHYh6xS1VJyAg1KTAXgRYkFc5WtFlUvmxqcwbj3kUKNUjOqBUDFvdhlt+b0LfS78BGIa0ea89AV8FyJKSYhDv7i9kCAPKioVYcOW1o3CoDxUeo2I2gg8LGhTfmdZSCsx1VS1j1pn6r+qT0KszHmxwZM6ETSS25FNjm/greq39XtJkzoHD0rADl7Izm23WaT8VlYx8m3xsR7vb1c03Qz7Zz8L3AITsx00xnIje1TshB6QBIlUaxKVLwnkuXo0zSp9GVVYS9LkAHD759iEt4U54axMqPuePg80pB876omzqrgKBGktC/5i5MYmBa2pRWdYkJQIeNSRjLxnBP1GJQg7/Qvmlc/ur9cLJaWR+cA17IoPeFnE0Edx2eUE6br4BWNk01TnNqmpdIc0qaxWhOXdNKk9HVfA3BDb60Z4bbnoI2+78puCExWW+2jGGrLMY3xWwMkCQHpobByHDsHEyWTa7cJBP+DBQx8shk3x5Fhq2qsRyTRqN5hW3q+VPQcHTcOPKcrg8E826b+KWam7ydIO4f9odUWDYnpN06wzql+0mdFtY9LCoViIxojBwZ+Txjn8JmGkwjiqjqN7xBGati8sm6fRi0kY0PRk4vjxkZpxStPD6tQobrphfNFzjVbD2BfHluXWE0p3eZjyfWvv5Gt3tY+AUyzyajvFKOe3tkuAEVeHYrMmx3HeQflhfZ7UVA8rQUIOLHGR3DTZtDXg09QNqY/tbeoW5fBCKh4EqJ4FKurTTz+2FgjlQB5qtb9L3yC3x1vXiRbkriNtCgWlR8l8dNK6FNdXudfQU91nD4fLJergct5M2oXbZvFpvUp8b4cCuuWpf4gGBTm+zokshHqDo6k+I+YnS5W5SUrxbP7thrZACjWfkSlvxvNl3kEl0q52mkvyFWbGieeB7mbO7SMOTVaKF3F3Rbej0ObCwo0jxETzo6vuVuByU6foHiFO96ALKLZ+zvc27SDe9JsXj+WXtOSL62+2yRCBRlQ0zewIXfhXTB7bd1+ITlvOI32c54DzhiN3X5GP+p3f3o03GATk4B6m98DmdCmv5FpLQBXje1Bz8cPt47yjeIqHZijtpBHI5z0pQctjAFWLvBS/tFFF+VZSxP98XTZqswkSV/1RkcvqbLdiLpee224HXFbojP3zOsaDx+O21oPCEPnFGD2oWUwWvWw0fxRgjPjEnEY0MWv3hJM8TfiIB0o9XVQ61QGgd2C/JXLjuHDLZEKKLlHrKLq4GCx0g+VIMA4WE5FaklP25a2+0BdnGekfb7NPFJ+ZvCRwWKhzdaThBRK74/sH1fNuKOYYMJo6utlbinMwvSBCvDgWYI+JcTOMHUcnCIiRLuf3tpeHj02bT4SRQTbpTiIRom9hD2uAlT23ABLiy/DPDMOS0nnSujA7m4LnGjfqeqwy8GDptik1cbt2MVfu2aIE8OFcVHE5LUFsBFP0Q/wtFtdrjmQEMeuv3yOoCBVslSjOYKdzLiXmwQpKQPnX+WxKwztC4vPUecNwO+0ySgNq6voBS8Y+mYIF2R6k/wjKPrRX100I0T6sdN237PPXVfpWd7tGCaZyK7dvkdNmghOFr40agJUuhZFFNuymqJYkK4RnaB0pq+/7qQUea7rraCA4T/sLtXI5Vz8V5wc7ZR+JgEjECxdeezrCqoMQ4yCG/Lzg84nggVPaNZnBgYd7vDEWFIvJmbfhBrqdeDxTMdH+1R9VX8ocvR9v2TvsouYjCSWdRm0SGUb1+hAsXRApI5/lE4sYl269HXmQPsif4lGeqvrT0Tw3NpyL+rpR4jqTiu0w1JdDmSuDt361V96q6aGhGT2aVCFMXvip8eErgLqiio5g5mycdEEJJZNAKamlRgsEuuLisAH3yy1yXNlCLWlXvV6g8UgZxZNIjqmohmZyQFpG5E/CIUyFhF6GraLLRtf7i6xyWYiIN0d5NWyyE3ktbh1L6PShIL0dgkqtsROTEUcAI70nmiZB/f9EivsTwUBKspsEOWfn2EjnMpSvt40ihVNYSyHIlF+2AyAmZpH4VJWwagwLsWVGHbPiw7aZRTSLlOh2I9YQTKBU7O4TjrxrhzxtXHAqRbBWIyobtxMsyTW7aEoz5B/o0BrxE9guxthPju+p4DSqiODnQK468Ht6LNygqAQ0ct7NboO3gnPbRvXfd95zQEIZBI50jE/xhYu3KfLG6E8iDp8Qd8/PGyFWRKoCaOtCvjWijBsIc1+6Q7d37iwUGcH4UcsiGOYtc8h8gm6oB5dA+itMxZy87UIPaHyrC6AKYXIqkh7jeNIj2yhXv3+5VNZi1OcI5USbcVlHEAek+zFS0lESQTQ+k8cTCJUtSxQPMglV5NOiumdjCKsqETiXMPHVbNsDD8zhAlfpgrqdINyH1sn0p6aB2BF1lhEBLVk2Omw/4+MgadjImZDixDY79q94cYOgtY5KtcFDxomzyz3XFkMU4HWulPjZkfgCX2mJ3xcJtuKQAuqzPsrXotiDm7diMSDssLuxvE3FEYCHso+R45Rkac890hNh35Qk44EnrLcvJdkBATlUWXKcKSvQwPpe0Kb7zxSpbuS8L4xEs6P8GVlDDB8T8z7BjIkOkBUmHox4WqMkflQOvwALSAemO/QmCIPdmC8E4iz9xhs6Dc754rSYNWIpAVZbPVFaIvIdEbx6SPW3JoOBZTEwo3IhsEWpmQ5kMlijpov4p/cqJu4xJaVVJQ7IERmo/6Z1CLre1+HYxnoI2wosUL2o0LZ7riR6RH5j+A/gsDHZ38xKTMLQHTHfyTrTDEi2xCPecRJXI1FdJ4JUb+VA7yqWos2IbqzHPmpFjyeyTEowLavBztmqC1MJBDLMdenOdQx0Sc6Lfe6UqVN9QlIKUWDwDiUkfrQDuHqMFq4+apw/7on3XmvHZ1Ycu9eq8C4Ve17b9NgCBAonSslY94AzckF+HNWYz4LtEh6W+1FR2QVjBtU3wPC+H7p2O2mPE9C8QsfjslSz/ZrV9AGbOsPYgFTTcNUe6n8kuhFczdhWt2wXScWFsOPKrYUkxgPcDojQT3LDPefDve1+Mra6Ai9Ptun8/hKthQbm2XSboGzht+p6vp++PZY4hlCbB4KrXIhRN2f2Jh7oRE43tY3OmuZse/yOi7aIOtS34+iaMIA9o5MkvS0d7beKrtM/sRE9u/iIF41BkGpYfmBn5RNWvLt3AMlnN7ej9DrUaPx1VaJzVHuZHfoQsCbOUgs4A3CJpm7th0OamslMim00/IemtTYZ9LaLTvZwMdzmUslKSKnm5f1rs4mRVa/JZEURzKwURjC6Rg4gUcctJmxlIxm4Ku2xH0WcAuNU+9DkGIjsMOCCHEIdPI4XWgS6rvZx380K1KL+NyGNJeFDQfJCZnOdsmYnOfWQX1Uon6Qi+vsFT5UJL+6Ka+wd2EhG84fZeNvul/REpU24U21Z4Dd3I1iZGH78HCPoOn5G8XpB4XW+NJXekMFToVjoAQm06jpeS9LTTCT+YVU4TYaXX//HDz44fzwvn+eWPMDiW8y+y3KmglJuBSJbwPnoNEvAyDpSh1ODGmF4uhppyvCercTVIYHgOujT8/L4mDpN6OWF0WW8YwQpV0EQ5V8kWdMR7zzu8iNefCybqM5mbZg4xm2/OLBraNRbL8olZacFIpqq6/N6Gj6vmhkBl5UDIajaaqFlY8VqljEREjOF+L1hsdG8AC15WE9+hR9jFAMX2RqGR8AsnZtCxFMv6k0DPPVLxtXMXlf0DQQ5xZcDQxTOoSd/ZL1sUQyXp4hmnQQ2kBxB1F36iGKYyw++JJozMEHzewgcZxavy4VJ/O2YC/s092CPAX4I5Gy3KrEwJqcB8DkixBZXSJiDAFc4sqdG9Tmzblcp5gT82p8uZEmnMGB648peTIncRa9JQmkzmS0cNNScpQt2HnOkMzdXnqRpt5o0Den6Dnq0Yt5aEtZ2Ti9Tng2FYiwZBHtAlBOGp/0Pg8AsK4i2dDvkzAuor37QIFtoremjpVpE/1Bb2s+K6W0rZj2qkNQ9myJZkK9MWtEnKLYBYxYxgmRbYgurr0beUUGPSBaddGoHRMtQ0FeBvqo6WuNM/AKO+WZjat2SR2grICebUe79u1HnFKOv2ZOMMJkexBJYtKDwghYSpkdgM8a9SfoUcftntY0gZrPPzoLIRhHpikYAJHpxel7GhnYpnaNuRkdtrZycl/qUs4uxJIuNSsUxBkisHRpZcmFH9KYY5J/EDM2s+BmULvX4dcXr7eP+urQJa8R0c7nUcALp7Cx7Q8TCwrhyInRdQJWy9UUvuzSxS1En/h1sxDJm8wme5X/FjIeINIMdmBJryg/JnbTa1kDavGjYoY5Nt4PmbDDQ1ZyHCCGT2SZlh8Dk8q7VsacCLZcN/byr3GXCNCyMqzSOsY5lPoYHNL0uFGNVODK8onowsWaTN5RIFu1bNcKWSVpLqt/EPVkgI5GLYCrlfYIJ5Oh+yADonlGvbO2otGHfr8hCxWji94Al8jPsBnaQQ7Z9DDEgU8SOx1UgYy6JGikeoquECXvcExuS1yLuyGWWIk1u8sdcR25rdbOZJ9zqDMozCKBFxDFE62M5PjIgvaHDVOp9wv7rMu7dxWusBcOrB4vksVgKVJmnbrw9Y/9vi4vNVg+nuZTW7SyrObXyo38H5q8EJ2IDG4P6X0DG6VwPNWAaJDHKeHfKvMBnw6XMuC3Ad4M7HUfipx2LgGYIx8WONm7MlJTdciC081I5h4r0FipxzJ8VmkIUk4bAu9dNuAfTuA8ewdKXDBLY1wm8saYeRmdDWtZ3KBofV7PAjSCBmyMQ0KTsp+OxCMUbQ83RsR0RsUZKLc1db3ZiEUT/oetOHjP+rQY8wo9o5uEOcNTZQhyeVN3MQ/AwzfmxDnfc92cL7kS1i+9rrxhoNXl8+Z3d1WPEN+JINuHWcf2+dDS0tsI7U+jNk7SPAkNjLLW7QBEn63YUx/P7xMI2Op7ZgALkNtQPl4MjmN93fHkjkiHCF5hHLC1zDpAo7lDUOfvbCYzb5o6kuVaOBI0wto+p7Zj9PNxRC2oOBYpzV2mFoZun84U8MKeAxyRGOlmf3k4khosCJs/JZIcEjAAW6CcA8Eh29Ouf5g31iLL8fLhYA/sbUt6qmVnwvM738ZLRJlGbqp5T2iimtABsnIAC6tXEPdXs5FGDaDVjjywZkjbcHRB9LaIythIR3MgPQfDFyR1ySuwzP7icPhMH+xxLJCXL5b5RvZgfyNDVIzSNM/UPYTAcLEXyzyBdpOfkFyTFPUCdTUfjZxlC6tEk70FxUHWRDqGWXC37BclLIY2dLU8YPSm2onRRk20YUd6r2ZzDEmhAiP45vmTxznZ5GS3GapbJm+ticlQU/tZyzn/97o0hdSlGbCy5KIbuQ+CqKF04DTmrQwBwRBceWi7+AcGSgQaMSvLNSKT5rfVzFTaeXZ8UkugMPoykvIkoeVt7SiEW72/aLTzK18qOUz0Bxcep95kjbYPzhCJXglHvpXDgtqxUO6Yqp2MBQrF/+i8UDyPn1YV9uvPA0Ui4e4fNlJapvIdxnUoMnIXH7PzS0OBuHizfAfAgMbvGaU4GHFAPQfjw0OxmF/pVTUE8JKU9Oi1ffqSanafqVNNQylSxriDyf4h6DodAH38QRb9fkwVxtDc+WGm+4FjOmaXD9xxyAFjNVrdcLSiyME12Dof0dqTB46kakd8x/j802xszefa4FWRgmumizF1IibLs0cyIHXxne+w+p4aw6poad4pi81la+3naSE8mtllzet6fJrTFX4fzH8/uGntqoBrXEnHFH1MUkTHikrPStRAl6C4CqJm/6cMrAstx0vFUAHSjCItyDXAl+5iC0RSG3tv0DX5LDKGllEBiTBiHxDB8G1J6xhTC6E+z08dQg76/qt7vu9Wq2gE2hBhBsxIcuDp1uCoVUz0t4wpmeVGIqWnwmCQzaiw4JhjdgrhnTECNVor4RhM19V6HW0cFCqZnAEofHCzQKt4JsBb+yr8BSPEG0QwLWpsqIGuWDWUZSkGGMuZiApgynd8boaDYolChAurClWoH1CzValJeZqoZTz6yuet21lnhRIRy40XtNb3CGTsw+jZcQ/3hZDjpJarsvEMZSPBuEP9vG7RBJ1SecD/nzMcjx8VhRFLq4hqf6WiDZjRSQ0EoOgTZR+lZqCMAfhVeAJ1duXmMzlHcKAOnBh2x7HVdGTMTEvDqaXYoC93fVU41DqUqpeGE+2c2yoRm3C56U+WnKaDaxiq6S2AWwOC9GPGF0qxQzNSHYLCWTASAEB33Ef5rY9wpqp6oWMsENCG5To+y6GHDwoWf3IRm6AgWfxB2l7nj/O5p1BKLe3kwG0i+8jiAHqU5keal+fcgkxs48r9X67NBjk58Ksj6STOnkaIYMwTkRK9w3eae3hTEIIsAZIi3KuH59A5PqlRnYO+a1cuSdUC7voshGfKl77RSqu7+kfX7mqWsvA/PX2z3JRGMbognUPzZPak9TtV2xjKMGwUcZIT/hY9tzWNpo+tE7IL3Qd2T6s9J9vQRmLHePR86PHqD0T2ox/hzUhMqUO3FubecRMe3F/poGeInpPRUQshEiQN61C++UNMmZxLRwL0V3+KDfAsJC9nE97LSLJMaX1Bm4AeZqN5REDmMmBinpcIEBrskexv9PRUxIyWaEDZMlrYFYvxV+XdvTssmd04yq10gSThU5k/ymfwKk7hESyLL7eR2dtqUf5KzEkTFF3LB4Qk9Tvy6NXMYCEGAFoboaC7gcv8tpH3t6gsfIYJDdzv7x8quwWwJdf3lRgKDpvElwyLoNTrl7uR611FOS88CwIlgmr/Mr6ZvNBZHpBowDvBv84LO/P2qU0RENrlyokaK535uVdqkPqiR+11TsxhzEGk4iApT2J4U36rhID96H/D0x77fblzNroqo22i2zOsOB5t8GNJ0F1y9NMotoiaVZrgWFYf+/sWXCMMAWPi0e0l8xwfC7CL9m8CVigNDbBgUmVvlrhmJWYHtjBKZcLVBCwUJ2y8tFsnwqcSxyIGuxEB5pAOIAU4ypsoEGsfyYOuw1ZuN18u2RPBSWGdF9MN3P6WxxWYhXRPhhMLnD3oCIe1dcC09cl018Ko/+M/Z6oXSRHMjhqP74Xl8U7nwOHQMupiE07qEbc6BASvVvq4RzyN53iVaLEjTkYG3drgXLWKBIi/ZaBaZjvKd9cd914JN9oL8e24QTSig6+B6xeu65qG5HL6ujPPZBm4LfYqIEQmhswvxAQ2KnPrW6FIKzlOoDrfgwxjYxLqZ94dsrjLTEU2xjvnxrlqghyLDiquwwExOFU3YgfBqS3VBLJC+/uxGU32iuUHMOEnOqtrOg2Qbpr1dW/flsY0b3c9NDc3Q2mEfY16hHH1RvjdpGqI1RrLERo58ifvz3WRxvy9/zzTQ//x6ZYBJufFQSbqPLKYq/ZdZJtdBgq3JaGE6ogJl03XcjRov/nghNwuVTbaA9+hUfI5mR3L5vndGjfWxQUXQAITgtLuLWbEYY6FBMH3/WUWzrUeuxr9VoA/6fVkU1ewaq+3uoUn9SZmt5BpiBfleTPOpnik5jehm1w22053B87Tims3gyO2oxTTW3c1dzwGZpX8ftGlHnX4Ip4GAJ9MGFranAFOI3HCXpz5TmOhO/1Fn8vPauOOnijqCLB1NE4dS84dnOcWiv3jja11phKxPz5F8zFNtPshwmua2QUCEBOyZAoxkvIsp7tyRKrKGjChDZUccO6X13hfl6LtSxmtlTFrGtFTmQOFP/3wKadEelg76dQb1e47Yy7/ZpQwQeiRaDt+qJlffCR9KAIfhC9WAQ/OvV4FPwkemNe+1n0qAt+IT0YBL+69GgTbP3tBjqovfj2aslrLGrO2tImy8k0OFM0DhS1y+uXt7qIKLjKxejkFmpuPdtns/h3quPEVvTBjd0Jio/aIl5INLw4r30BDGUl9Ou1Tyb5i4gzpaOzOMUk5WnvVEtFzXdsqyHGjmtw/zWoqGlfRbh+0Q4ZDvyhkJcYBlxgtYSsnZuy5h0QAULMcAvKNS3k7NyoaQMA5SRK69PKtyImMga/VzE2SZgbnGA1zwqo4EhiPuTSS0+dLZN3GZnSMOYnYKuIL68oDdPALz8ACpLAnoXHVcoUhCREKfBYupshyvl+6a3IGhYUWU2B+I9qIcVyCVcGthfFCdBOE8an8A5l+GwIYznse/vWGWyyGW9qt9DMsQYR+thYtBjlLhByAt8reut7tXSqMIik5i3FLiVHQNTsdGK/c9pcuE5LwZtLnPkh5R1V8tWWpQJj/CkqKsogOgeYYs56u+vhN+6LG+Gs3dtj2PS/pij2nFWQHMRTalOWz9bVut2uY6vMLng+BzXluXC3KU7Vx43/Qbk+0y5lcD/uheQovpAHJcatrnmxeLdDSHX7E/pqS80mCRAeVK8wuJ1+Qrkjdr2npzrdVVr6g/yoqEYWG5UTBaWqIpkpCtKHFAwCd6vmP6FFRbWDcchKguohPJkkhOoJ2xRgQeGBXySd26WBgW+FqhmSARmAXDGk/qGSTXEHkxnVYu5/2BgDPs67ubdYxtDOmoylPbiDGLbJPnSqRQyNYrJK7/6oftYP1VyQ0icbfWT2r/H56ZD9h179ZWU1CDHAXnb3kVnzZ5a/3c7DzTln1wM4fXEFsjNIDJ/sbEPokCfQuakXDB4Uh5lTMrojLPYcHxm0xeQctkzLpMMwpfDoJud3zeQwrw7Mo3JyIDWJFBvDGi5H37H2Tr0HftGZUYih9qFEzABRrORIXsCbdF8eshRySOLLYxUWcI/1w0R+jyBHFUi9BFKlP3pPkCoBDokp+Io09g1+UMntzJGrit1FL6J3hAhs/rzjzx3KGI0mKmp8NC3FtJ+O02KSn/aKY1QGmL3QBsfPczndCp5OPZnq7vwW90/wRAovdfRFrbjWEBXBI5VWwGgioaMvCoXa2h+KhYOVdAXgUIT4r9OYMKRESaWTEFLC+cCML2I1DuALA2ve5oFofIehpv0FVhIXk6qT99ajkUU34zTBJqkmMrIzHJyGOYVzQ9WM3FG99YqwU51ZDRFzPn/udd8YyiplGbAimlvzFOilUcucRvotnOoSlP+wzN3fGZ35OVyjHf06PU0pdFM+a52X5P9UI3AfUoKqvtqXTjjMDRWQoFkLCruwABrvuz70c/CqBSUMML6It86R8eDAuQp9xAzT0NTW3p0OHW17z9AVxfsI0QGDQbeKctg+m4479n6Apfp3J9NzsgsoB458dhDQxjgUXQjwe1OY4YqXYYD5maFAu7THbaPmd1vfcYfpOtS2e56ZOmbbZi9sI28KujfPmFdrBMCcY/1zqdbjFwVuTVWgxZZJt/WOQyju5eSa1tVr+/0q73AHfhdGJi+s5O1D95J1uZgZRd/NAtwejn5v4+YJnaIWBUykvd7kBg+f80QC26zYSF72Xx6JgeaomSQG8HzlKswfrZvbd4qmEKV+oUiotB3twIFEeBUKRY3z15Zex3BV8XBgLrD/gsQKuJL/9rVmWgSMfaDnJRB3rooEFFZ6I3vfxf8NmY6Ba+0NZwNvll0PzL08U9fs3KtCEXbi5MRJiFwTyw1fYwt6afg+y6Qs48nXerzfiNSIe2005Rr4NNr7jkuW46SKbYFRnAN/gIqC101SClkXLtgj3P3kqzADHgnDLoOCAmBB+dt7muGnbtCzZ70esX8DTjXKWhkyr9/uh2VqzGAf1f7LRZEr+A3IH6Xh/zTapxB+mMA//CT1qB+TNjdGrfHx3lekjN6Sxof+7dyn6uYb6VAg2uYQUqwDTz5E1c8JMUcXl0GTmQpotXFwSdhS8v9GenbbIP0y1dZCTO3EZd9xK2c6je44GFWwT7Y/1ESE2TwWb3XJCx3TXSSOWEZEr7W8pRGBMxR89HHgIy6D8Runr1y2Ty4/y5odVUk09K/64rDU/w//kIpbqx7x6WyWVZcvK1acFq9gK/cx8ncUrzr027B29g+XKpDhMPpA0nR43xv27T9DBelCGmQfMrcogz//Yp9An/616kJ9PKQcHAUhOYWkZsVTMuxAQ2A8MFUFqrUjSg4TFxA8BnS5aDZmEAr6zLU04GiOqWKHqiq4TumZg74+qQxd/8I0BWQr6NvE3DCXMTmnrXHqLlDmU73pBPCAmrqjQ6cepMJWMyeNJ+c5zqAibN9z0qrP6/Gdg56Htkcvpe7aqTLFoJwAtDsE7AOHjiUk5nOKY0ijnb3CR9/Lk1g0CUaRIaZ5q4NM+Y9Q2cE7ljFJUQ1m9Fz+cHju5aRR8UKK2TJQ6WgDH7ouOM8pU5TEd+A2hHtvtOkum/Rw/dFpN0BFQ7FM83wmgiQ0iDdoRzNqD2mrlA/P1+KqLYTaD15B2Q+jmv1Lue8Knv+RoG3urqKV4qFyqwaxSINNcHFLQFrwY2Ob30Fh9Q9U//ELy6qzpmw7dK7vbHMnvQg2EYcySJ52Njkj0XD5IszqHH+vka5wUJcDaiJuTyNj04tbtKLpkuEmJzA/2V321kV+svyty1vNFSE/VBKT2/Q4P3jrbSnucWHltlLiuX21w+MSDOYnqxwTcevY843YgD+trdB2g8vmL2ESEwHkNfR2Gch5aTTMZPpMucr/pvivs5gcOF3fPFGJNq6iyH7by5MAlUz1HUctmPZjoKjBaVIQl4xbw7BpO37+YK5bCjy+fdOBSYOM8PNUL2BCg7SIwx0NdSDkvWew+mZTKWLoHOYKB2923Jt/r00E6F6dGbs3S6OHoQPDR1ReXrElG2ZRqK3+H7k2LEBIGwFCBt5QDemKThycmHIPyBgJkD2Bjg/0b7hVxJFbIBJ+EtqiMtKUPl6QHzuIJj2N9Z09DWPfaYMFEkWk+U+oBqVjNBOt1ig7BCmDHxe8FgOqhXDU5se/UHN++VgZYt1wiRcqQIEICkD85YJoJ2heczgusNH+TcrX2yuHZh1KptbZ4HnQWVMb5p8bEYgf9ImOVsfRCQDf6bygGsR4qhxiIu/pstrK9z7BSKeNuSR9xJnkzgcUQWh+OKl8w9Ghsrvm6Mh+L9D6nxU2xOqTVzO/pbaa0VRWYTk23bWxOrDf50beiQum8Pi5BVPDKWi/KRzApwyG4ZFWHah7CNECalOkejPrKpxJWWSztuBtt2XuxhAQe/4xZ4Ft2RN0YC9IP+wBp2YTwun4IHGKvie2J3A+hSKiu5bbV/ZKpJCpBT+1NFuUTZ6ALRI7+9RZFH1YS+N7TX+YSmt+KxU8sjWD2HTctpFOeJMx4enp0Se4lXRZ4s36lWTNhxDietteEAI8eY/c/9I5jKHpVISfwAqk3tAHEeK6IeoLYNMoROJ6jF86N9yUUw6MGj37DyKmqTATgLDHUWBClYLzsfD2TWb06eoHp52Nxi2wmCxshIYIrpMqsh5GqdfgQEcO2rPCpdcYAe6OArAUV/Ns99RgLy/Pm/qJqZNXn1JzpyqAFpCNap2kAQm51Akwf4r+IwQ49jxnShOaQsS7lYiI3DR/NdQ70g56UuOCREN+/y7lA+ITsfnnkXgiRjcuiafqeMhk55bfBra/yoLefUgvMobOOHv7Am6P4AK3hDTFW3GxthSvQLHcoM0EZ14mmojI/IMHqxc9FVD+o14GEAAopZ1lmVW9ow5j6Khzc2eh8IPQCbIDxXrhjx9yKUXOjGsU7M3OjBH4bfEqUrYldKJhJ9/JBLatwLf0nuju8TX/JBHYH/kVE0L5sA3UoAJkZDX7RwgfmqiWpJD0sY2h+lt3asOGx5O/QOyL3VqSDxIQDkQvB5yoyF4V9Lt1Ul4YJw+zET35xp5RQK+PofRKsvLPUpzGxyj+F5ozcguKLCp+qHN1djd5Co0drD97fzArDuTXqwsaqUmc33hIJg7wgExq67khoIutB0k6yg7o5hIwm8ugDKi07DlaeIXrjBRwTmoNcRW3an4pdxaQzfLA/pw3Acw+kvmVh9AMd9E7aBRip1dSyf3t1UBs9+M7voTWC2Lm49UFoagIekLmfMx1a9qbH+gXuoBmq+LINcKeGq13rjR8F5HG8Ll+HUd14DM4canu8DVU+KcKy0k6Y4yLXO5MqLigc/wddaMeJiW/ic1rUu9gUsoXOdBH94pevjqu0b1UzlzM9HNfJ0rM3cPL6m4LE86Z33AdxBQrov1jY6yRiBN0jAU21vBqrna/qwTzu0Tup43i8dyUMqoqlgXNLhTcHZJyWuMVAieyOtcFZ+d8YkMGDYX17hPCMlD2y5dnXQXMCIwnT1A7AqyvgnWKDKOfHQg64cdoKnxFg9Vh570sbpdbauVjATYPIXIfS0WXAc1vng1M0pVG/At7MLEf2K4DrnLxI01ZbVFvUX+vGA194ikffttt38sVpBb6YCsL3RgYM6DKJi/mfNr0JZ1SoItG7+Nvhtnpizs9LkvxkwWLnvpVFSp6C7xO80HM6K3zPnegk5W1ERXmg+jPSavJeRquQ3cdyKdSw3Rort0ErI+6o60Lsu9dAGHUQgfQP6v8axFXy65QL5QwFcfKSuBZKOfcJYyzajAWyXW8Uq3N3oZyKpF3Cl4HwNGYJW9X1kdOlTV0jsp6rpOFA3DTe5VuXiEwPlT0eBRfU1FeC9V3oRj+8RwBn44TwldRFjWJQp4hnAjEofrmMzf6zEqhb5MAEDeDo6xcl7PMhb1E+yoeznNcMdJqBR/gSvoAQXKNdEhnIgBF9fpWpxtIUGmv0hXIugEW51lpGLzJRdsWTp8g0W6RTAWRcB1dzVGQWByi7YbBMNBzyrVjPuj3eVtE4ax6Bmr0vZmbDlSkgG8XbksQgoWtJbDYGhYTHLOtdb44X2J72VEVMKSRi+2M57SNanM0gWN2SN0dLfJ57PoZiLb6zzFUInZsAchApqtk1Dm0sHEUbuscm3Ay7mEpQpNhvLgzGbRDWIrh/g7nDRHrUpWaKhc1XhHcTtOOFqG14yrsFF4iVDSOt2n+SkCo+QT2ViNo4Y+wzSl3ssBsA+2j7IhKOTR4LEAm1qArHnXoDHEGW+RNRFMAYNVg4y2MYxMtiGBd0bjMokKIQtu0gLHErEL2ySm8IHeGmSJrvmsznngKXABkUYM+gqp3OLWPh8Z/HOCqNzdeLzoDZPkQA5bbJz7Dt3qijmakv9U4cPgDRRe+KZMHiJuwJQWX3jcvss8TrasOt6T6bA1S6ptgJQq9NpdVQLmk9KPulHFy+20NvvL1fSORPlJBr/tKI5geKushVnGxZnqYEcWZZjdmyItn4/NkA4WrXmeAI5b8lDw+EVQppej3Eb+ErAXN2viAjXYYtzUDtkYL617Nf40vg6RpFLHiHw72zv7HISTfyXeGJTnJ+5tAehnL1jEnNLcUo2yL1P7W81IqlR82o9c9NuDNW86FiJghZqJHIfDqih6V76/pNfgajmF8tsrWwOEG2tfJwXKtr83VTZGvW/eu/MwGeETrXAibRSSIzUuNDBEgClzSmTslCMRckNi7Qo3p7yBKPnfwL/fqISAf+U7rpfCod8BBGxhIi3SJR753hpMPfQL9XZCc3uAqQGvt0TJrFmxYqBLRo3qIzgJe2RHEOBMvYKHy+4FN1kpBTSWEBqk/Py4UXpkIMch5mJQhQcwhJtkrEzHuDoEDwlx7uiPkv/wFfE8CtPu6tuHOZ5tFIG4w0gsKIBKfhOxfzLd5bjD3x1P6mEaj5ve+Uft3RYGkb9CB4QXSUBvli8jBIrN+WarerU0Kr7Z1eb1yswLIyDJrmVJVMTbPaJ8+/J8EXcb4DwBHobgKQy8z+ArIzSL7GpagknzB6hdL+0Tz8VLoxkw+czDTTZy0RBZls3ZuicHX5mxpSjs6sSyLdiYt1KKdifO3qK7kpVN0m3uJF6VxfkWrvPiLHpY8J4zu1DNLzB793ZLU8zmXFD69C4s0bbo0juDVLN/wtb1xmZtT2lZcvJacOKRnblEVtZv1uKshUiwX/6CuQrMX06aJ23xSNqd8zdu2RrUFideczknC5rSVlbM9Bjavy7cLdgjEKiA2aXEsxFVh9jvJvOd99cQz6fnXCPOsC1vruNaJPxsEi9sH0ItOMgXvpM1E7eDiHq7oDJu1LqpIp9P2mmIqMae0Q00Z1U2atnPq93xDMnpIIsai/JI67nZ/pvYdxm7s3+8drFEXbmmpsf8E0aYdElcwQNwarUAXLNhk1EBO0pWfuWoExbUNNLClStDZiRwV45CebHjU8AUvE0UhR6nlBHsUmWD0QHOQQyBatg6fjIhsAROUTtT9aLrY5W/BxYXP9vA2fgGHnXoXK6bb18TWrdwN+yDp17WgtWIQso6oLEMdyqHmb/p9Wb7yz9SOTWMykZxfkaTv14X7+eAsiTNfb0KI9e4Hwevgi+mxz4mamxsq+8kSlO39a2ogVXmeBlZAk5FAaUERHPCvHPDm0PEfifYD+znGFpkbytZ+7t9mJ/AcUtg35+iqT5jLBpbYAJur88CFGaKVWGiA4as+7161ZG18dTFgC/zuCux3SJV8bBfPjVptO8B+kXle7jgbVo8tS2njSfpaV7DqYCc5vAwYSJT0hroLDRqJ9wSagvfGNqBRZnLtyOE6JXqQ+129WuwOCqEKiCuJfWiFeN1BgFLBZVd4BXHreSc8+VwazaV0H/XFOqzeIzdpYC1/pL71QcC4a2NaY4qC0ik4m5dmVjfGUfRNNYPavC+XTDJxrLQ5PmNsE5uTfLIFrwnXPRAIIIKQG+RYGE0Xog+tFoR95Ix0vptSAbG7KECieh47kM9he8QdNB5BCY17mKOC3K/1RzGcF5JopS6Bif25BcL3Yykx0OFD1PhwvfPNABuvrorSMbo4NaRt+qqKm744F7PX4z4HKJvjNNoYZxCR9jlppVMzFFXDU3t1nFITpAWWQloith6bj4UWmPrhulfZZKj3BB7ZkR2p6rOebtJAwiximrcqH7ouwC+7UBi4AjDlVseFL2NHnqkpGuan1IC0hNeYipcAy9il1v183BXs3DD4AcX0r2JcX38yBzYNZb7VzrmFg0fawMOwPSiwBpGPFT3VOuA/B/iR0HljMXeqOZJZ9CqfZA3OG36ZtuAyhc0Fvl1G+8vAtv0Rlaho6o4YncG4uJTD6lzs72c3hfUyJbxM2bsOs0RnOaPcVBs7sy6FeqUZQBWvsb1ht/gdIjkAB647uyakoV0dqd2nGedQ6HgiJ5EE1V6XR/165PPaX0hJl6R7fiSpRzH0lFPNVZPhvmGSh2D6gDS/UC7UdwT3Xo82Qdc3na0TbBUfwT+8NGJlJR6giCeJISgfmda+Z/4xTtESeL7cpy5mTbU2WzVbop3+IHzNLp+TyXWYYCUQIUJS77SMpQwgLi145LpHdH5GqoDrsVW3kvo9m0Ur2IobNS2Y+KvOgR2fZ32Bh2FFZc5OBmEFoSqYzdwVFuiO2Y4v6JxdBm0Gez2eBfVYrjRNrK9szto4xcabff5Ek+dqHWTqG3G42Bx3JIzgzFKvGqfTN5Z3rqaRQTarlyu4/02lDYFPXL8pFG0pj9ZV5MQLGQLsr7oxVALgGi4ihMg9Oa+FQQ7EgLUIF3oPV2pBFzsIVW7efF9ntngJBp1AJpflfNbnHls9iQ91SFbeGlHKErIQI3i1O0LOYQPJKm75YA0oLPOX/1DIk8Wjj+AQXBEky2+AMZkbymYr6o1bg8R7DJ9h2Fu84fzU3Kg07kDMQs41X4URlxx9LZuOxNzigXzvIHAcWimeSKjKfVEc1hpGJ2tYH29FVwuhoIbDOch05mHmz54n5yZe+aRuFL/D+7olLSRJGcQHIltoJDpo17Kl0JAwo0aXZduacWbkXbgzPR/Kajdh2QiPJHyFx4Ge36GgoyAAPU1L8HMHmlYGZpoiCZpvsoMRKUmRape81sn+j/IdTp7i9tiQ+qLpcYItLKSG7KsQb/BmCexn6OVirIBlTvHW/hO0TP05d8YKZ5ipfYfCwVOqkUxR9Z9aW+jvn75q1nQuVKgy5Cw2v0uUl8fR3J99xo0BOn8xDB4xe2YmMGV4TGkInlmDOhV9HE0z/DMmXFsuxHm85/69oohhbGaAwiKFzuPeWBvE1E6DiorgE5dsa3+KGNBdgyUsg5Sa4ZJCiZMidQ/ept1lQ00RZsW1WniJRYhDwy/yS6yQN+KC8vpuIzzhyru04KmEyFIqA6A7AnDYgFuEmeuNLCBlRvBYhGU6NfhIiHjcQA9AxAgI3FPA2VAxABeiqoRiKzhFWDi9g6+xhOz3RzNno3mRpwFqR1sgq/ZoJvNjlUNKORwaPjmKMEa0N1O4j5uVW7/Q6wliSieQt8A3fofe0OWykocWl1sk4fcfZzFc39cYdWd9YAkm5SQBJJUIxzGw4+XNXbxLLxdqeBobObRyPklP9RETYyI6JMr3lDVAZZGN7PX4d9rudCZCxXrnQsNiOXyi05yNnqScOsYLITbPdqpCK8uS7zg+fEya5sbHPLx0e+0poa+4a9Z+K+5idYqzFWL/lR5u8jz15HT7oVZmuO2Ci0crQKPESBqBBnX8QFXyCjUOkZkUrBJHKxS36KPpESyABg5Rg4ccA6imp7jGp24ih00NpmCgJ2/wy0lw+wL9N5223rYgk9i5bEz7Ye8MbrpjMmcfONCQK3HTbwU0BKa3iAkJT5esWJQWibyxFKpay6XO7VxR0BuuWTXrQix6xp17Pgx7gavz/CQKFMoGmAHSNn15/Ur4eHg8UXymxACP0KB/dAAG9wvoGOPB66Hp9b0H8UvqnQ81GuZRs9g4NSar0Hp4uudM7x/9pDp8BjKHxDr50AmhYlyqRciEZdGV8OSCX5lPXsKsGAUVlXg3fQuo6ih61AMK9cgi58CusI+khxN5IwC8qtjQQyssuTudN1Llhw0HRAnwhQHIITkbUo/gIopEIXSMM3xkOfEgWWdCQDAzUGK/BvXmqT51cmATnJMEmdUsx94aBnUgJgFntAd++St5MdCpSZkGEtifRwFn1DBKuKEW1h3lmRi8jDJ14Y4orAUMt73O/z0EYCfM4HMWyh99w9taGPvzO9LFN7SF2j+XKC6tNlDp2zrTHxDyqbA6Q7ERMzWxP2i2HcU4e5YWOFbXp4EbSZoMPr9kXe6etDw6xwySniAB0y35C/cA2IwwxSRpuZGe0+HPUtqDChSj1VI+bMdzeTA6eFkcI5aAf3/nSlIyHTGw+SqINS3teR0K8t3p+ZHi+cek4PNEaOYTVfOiucU/m0Oczee28lxit5CxqhqIn7orgm3hy5xS3CWq+e4tIguSKhkYFHzYnb5G3buPUvfAmtAJzwUS3PaRJUrc0P2jZgSs4liWtZCKE5L8ial0stcEVvm4UQ2F6iJBUwkKJ7jctLkQ4yFil3DhZPCIEeSEhzH3sCmRR+cepD5Scu5iC05SAKH6n8luJDmuP+It0I45Eo1v/Js93QAnPkdjY/a8Vh/8UrfOkfyIdom2pMXhYNZ9Iv5zCLEgNPh81bDw7EjMkuJeeiJDT9pXu2pWgTyr2p4KLMA43p7Bq76hVc4YYRaflGXJd/9RB9hJT7pkzLLy7ynWoGqTYNtVb7ScZjSRcBuRAX4KYccKgE5EUWumg8/LxRErFYIrzrFFxS7OMyD4GV1Tlk96t9pesToZqsbsns8h9FKiDO+G5fse12nGyLqqBMcDZf7ThSe7Tk9zGlCUQO6VbkCCdBR3+Fvtj3MVDrR/PZ/7xO6b3scZ5LF2j4YK8AvnHyJ0adSQIwC6f0Pg+EVwQhegHwbmH9vdlQ2CBAJVhEsZuCeRM3soCuBS4GLGEdF0I0qf+AAEBP3O7xXH0uaLyPCy4y3j3QeuYrLxYSBZLoI7brDIi8IA3vWHV/fWtS8/ryxq+5Mo/nXEYaQARhkCyAIsAIABUT1fgh589PqHMuGIX49j1zy24MYEccqcPZLpehyJj5lqPvaF9x7NUrSRxmNo/4nn/RsDR0l2P3qMZ5vMWBAXHxqM8LqEK2oJYYtg/OVU1jeIGJVzjUpUIYsPeV1SyoCENcxGDa8tR+Dlq9SGDQw/GkK2D42kVx6SbB79jMkfpNW1SuS5v5QH+fofC8atOTfsoq28X/iPdslR/0+fQViLGGqArZT+W7b8Efxr7RNBmT3tHshcwuHKBRIYnBMnDIG4ozFkfly4DkP8ws53F9wXmhJCu9kouO6svqe0w4PTRu58lQ87KRTc4JrwnlUSEEnK7ONWRc7lv/QMvORqgWfK/Zx1OWWaAQ0QpB6rIOmFhRf/PkEjrdrjBlyWYK7IX2cvXmFkzImo1WRv5ZUAAkh0j9Khv92Vm/Q8QdDIVgPS5LcUbTJ2l6Nh0QZxfWbN16WctRc1soxYSnmoKnmfUEH4EaeG8/cafTJ1I4Ct0JZgn113KgJomkrN8t+ugzhhl9K/3HCpPK2zinW8XE2TCPe5vTOGXo6amGb6bYsMrJNLM+fyIdtTX1HR4716E+OC31D1Vz2Yz+3kEGmOMRV64OpSCuiBnDqGQ8rNIcx+pDvIgpm3eabOYZgMI581fQAzDppv5GHMiJc61MOXcsxJaE8P9PYoI7eUtl4HIE3qZGyZ8S/TiEm6hxzJivU5gHHyosEDgQv3p2gN3IaEmoGty80kBziX5619mkqh1PrR6sA4/4Tz1mVApIknkxTjOoKAIiugAZ1GPSCx0mD8DXUPBp2khjBBv22QPF7A3J+2DqRod2DVPvT+AAOkJX6+wQldfRVqkRgji9B/LH66VsvTuzqyD4YBRbeGwKHzQGw/+iTOMG2yopqMqLA4uAa723hn9/5JbV5hKHmtco/b8QJXUQImudu9GiN/6LOYo5CBEcmUhc63hn8+sOgWcsA7FXmTFSj6Q3X4mLjRtlGclTYduj4XBv2T3rFyr6W0mlZBxaTXDQQEohaUkUYcUKk0M4saD8Fko9WBXA0fG6mMjt223CWKeagJjiEFSf6Kx+bPdbX3o7uK2jTIrsPsY8ZpjVjIoOX6ngosRb2oPeCAiD7+KpvWVjWhmrrrXCOKb2y0l4V2hpdvq5dv7/ACVd9BgsvHfNowkq6LvyEZ2Sa2Z8n9+Sw8ajAZzaNvZeyf62TaAqiwJ+pMSvjAbggTYjg+PexKY4eoySweZx9jc53bKlL8nTKj0Y4I3W+7Hnw1WgwnO+cJLRp0AQVf6RouXgxWCUHWkKZ1RjKuqBeRd/tusGEzepQmcIn6Ca05dqXzowN9FTd8S2sgf2rDm/nG1OrZsqLSNepdubsp/+NkQTLewXnKxz4IdOTAoIFDazI3OYwQjWzUMGa4Vy9y4uFCC34WMxRQfGNCinFjF3aH6lLabedml0BZAodhMRMsMyrLOpYtIMYxeS41LR5gRqAWRL19Dcv8g5OTyfgQVa6hkinyAb3dhbM0bJpEx0KRssFmS7qEaaSZS0YKuia3MW7R+eKDRkLPLM0BuKPswJQgTe6CZu/bVv2QSx1d/f4VB6tCy5RPW3NZfv6vdbhVv9iPqB9BWmefVq0zJtNgzrNjXYBOhCj5AnvuVi0OvWMKzLIt8E0GMZH1Lhf5IIQBNFdlyBsiTANBWYGrBsGm4F4l5UyRnPlk9E3F1AlWdwuyzF3C1jDGLIMuL9FwPb8WntoR4mzqyCO4ihAlum8qhWS/87LEYaLRYkhgHwbSjjfqZRUCWqUdjBxYXeHXRLqjbE/3G34qFW89gD6XLeeCFilfEGHzWejZXOtT2EgAhxx0Kw4F+xni7iXiUdzDVTaYxqtR2Q/5A7QWgkqp7DE8AlB6xsR8kAgSOVURL5dHSwNBc6g5VLBp/+5iPDvclzmsxIDZU8efSv2pe/QMZYTROES7lDOdjjIPz66TW2dvOVfxE5WE3lWsS3U6UypHrdpX89liJb+v41AI3fLt+ys4aP7dfcQvXtHTfZ/XCTVvB1arZdAdO3zV6+vvqnx/8230VFj5b4gQ/+dZUHD0/SehYeB1/doqdZ0sPCKhEvifVYX8VLVxOz5HAH6CAGhBtcqJhkeiFb0fSp2LgY46l0zDAD88EUihgGSiC84Yc8tDBADusLoFk7g0dpSxcFHAXl0pSMPn8afxD0TOdBo/JqbeD8Ne6fM44YbF2PS0wy1wOcSUXlC8Seqx1C1ykVhQEw0+FajP9nrxMXFhJwXz2IZG2XLGkTmf+Ll2WIO8hiY7pXJDlVji8bVINrsaQoqLgkv4RFmR3Dpn8seDmWzMeGonHfa1ocMm5GDfhROsxhK9CuqCU34UD6Fu5RKdj4wqLtUT+xEYj0mVw8vQGVChpTYHd13NCxoHFf6WaweIYTpNAgabIOL/lsYelUDC+yDbaty+3I58YYeGTj08yGx/sJ395mM5CQZ5IJNzZCvklYu6Uc4dwYrhbYjry1+4lhFRFCMAPQXIpymtx3DH6wtj5pebZ/Jt+5yMi9WWa/IrHbFVwMs/pLCPHrNn8g9cZo+OqHXF4n16D8OzhlAuBAUR00Gtgw7cznKQ7+qWu/R+7IUuCJ3ZdWQqIiIMb2u+Zd9nB/SDTW1Y4KyiPiFqqje/2JwoMD5ymnP8frnCf9UN71ZSdY63/s5C/4iohhSUsZ2Q78zdYlBtnS/rQ67ROeqVIOi8UgrCzb3eEMazMagDp2aEmfob45XtPny/UE0Zz8PrAuuZwE3tYqaiV2U7pCQ1wHc4pXjswhrH4ZZqQ5smVcdOtmk64IBsfblwGF2eapLkfGEL6qjkXxWMKP3I8AFO3T9Mf5hpHqyOvd/yrMv0gFOF1Zi7qoIVuwKg11JTPOiHZSsMCZ2rbV+x9lfDFrmm+GyauEM8DFIpDR3FYmeIxtxvLy+J3xaQ2LV4iO3RMv76bWRGEYJetQ+eAI8CacPz0BbOUaohqvJxsTUNKQvmfGJvGbffg8XyvEFuUPRJ+L1l16Y9F9XCtYCKpv2Jw7FbRNXXgMjRba9I1CqZxKupJ+x5UH4oD5qduewd1fQ6Urz7UtYryK+IvszAo5I59kQualULXKq3mp8VS+Ecj+nvRBsiU8EXrg34lAZEwwgXh7/V5xb18Z+JcTCbzzrbhADhxzuT3wklVvlLta4T/eCejyxWvrGydgdjArNGWAf3jDL1SawYieMqP5EJ/gJ+P26geYB+12PV+jdVYiP381BCO/ffbXLRiCJT+448PHSXfXiOKLtyvVbcr8IU7p1lzvXM2P0D87mtZ/olU8QzZU0deo6ZF086CeUSNFKYzpdXDGcxz2DXrZSTf1JBQjDHUddu3WW2AUVGvc/ROsYZzej14e1Z7zEftk7hL7XlgNNqNttTMLJbllA04coA+6izvfGf3TRPUWvTvmIE99gh1Icos4T7f5x2tZUxWeDb3EJ29DwXDChPJ4Zh+DuyBZdNq4T58wkVGp9hAbniA2NnZ+P6wck5ZRlu9SQQZQVb1mEeR6zY8hy3T0JOZXZ9ROj9szrCrW1UCjvbqBJFVjF/IEUkzsnuKJBKUPp9q6+z1Ch/rfcOgJGs/SU6FRvfa6H7heUn7GlUIRHRYu38luMVPXDt0LJsqqDbd418Di3Yun1Sbw/dv8LYkxfz4/Vo3ddb74bPddQGi29NtybRsl2AKpPFBz1C32cRI66U99+w+kJC0gANCe4AC3k5dmX4dtmotzTK/VzG5Bq42VE49kTqN22hpmXJsbtXw0bGdgdblMVZfkvYH20s99Q91PwBPuk6DSx3JNzjDjgpYuKYoxNz79bk7HdW+IMrrbRzEtMzVBg4CxCJVVUz2TqCwL3JzBWYDOs50seRCq2YXD5Q/1bvSb/F/tF0JSezmOM2czri1osaoD35fUQi3UtZfn49rmE/e7l57RsP2+PzBEnAoC81wToWBeZLjYajJl/P+pFmtbb3n53dIBMVPOteyXlXbmIaW+K2hkU8eE2duUiGoWldlO+VxbHSCkO02VNeknXSQZi5vGOoItmnZzhm6Lv6OCflAsyEJ1kLQmBGchg2WY7EKDkTDgGqLjRFZAqHs1ZzJsZBTIwEUJymGnHuPGJ1QqJg3aOhP0qRCEJcu+/W4/vrHz/kx6vAugF7ZsI6lK2gVDxk8tjqUVS4ZEjdpgDBnVPb0tbDdBWK2k/3fukhQAsW1mVuxNyF3XxoKtu+PmXBbesQidi0GE7Ajwy0w3902f1vsaOP2qtXjw29PD+M/sxQC+AZPVRuGaCRGA29qN7T75qA2VYjGNl54iEw6lKN5RrZdKEAcgpg9vasZaaO2xCJUwkF21wDz/QDdZgLeqeZoUDj2bF3I+mvE6eXF6IkmmcqQEl3SPsYsBUdbfsY4WLK9Y8J3XM5kmJ75tDZiodTj5/MwC/JcROn4Zd9UI25G2F9U3dOe7gULWNRT+cd5U1/JQPK9FUs8l4FZBlcZBu7cMwpsLtSPF7TtepEMNnRtCAmQKurOaIwOC3xIWXsi2BE7wndGL9ZCgPsLAcp//w4aM0kBHLf3uIOPEP3eFuxii4Ao8EKSOlzbY+WQpfeVRTOnVsRw8bgW4BXg1jsaP2WmFObwqxCgovePjQ4XF2IZGHA7g9CqkJouGSsARuSZuhNNAwV9eqqvWETQkaN3LS2Alwe72ZyU4XNIncx0lRHU+1OKOpNEBRhSX3eoZQCncSAikGx85co70QpskU6xPXu0/haX1nCqnDTqwQVAv4yiz4wYhaO1jDl490M0/beILUjN/pMIpHymqfsOQqI4Ujdu4wKPE1Ro6AHbech5PO5pyhxBTurIJajQdBFC1/h6pk2dG/H2H2EXkPMBKAAJAZUOMaB4NX42wQ1WJwlPgLojAtaVPSIFmNi3ny2sqcGsEEfS7SFhJ1EVP89YW1UbDm+S8wBaFbrJCqo9AVPfE1YJY93TkgYotJ3Cc6HScowibq+lLL8vh89LUIHqiV7U6oRgZNrJvliAITVEI4iMUj3IdRRjorsgmwUKlrcnqP8XUq/XDETUR8DtotmGY4VZhtxLhHnCcYDm2LNhgBZh0lhxz0cKbPR1iug4g10jme95j7JNhxf6jrUAmK15XuHOlsgGdsE/rHySriDpwPL5yLdF3zV/RVYVxmwI91VtBKAdUYLAFa7QAi9tggnhKYgGBoCNtt5kkLNNLnGmQ2d4O71e382OZSzOAMPPK9B2KHujr/Gj6TqaPExTi25XdTLuehRYEIPcCnP6JfTw+kWuojjCqbyW6Dsv/+UTt8Q/nrPbCql789dH3DP+yuPFc6wlTN7RyC7Oy9v6Eth6TBEOfVEPys2zL26hfJkCEzxrWEXbF1N1CiVtt9vXakggtXRjoCW9w45g8OI7tU6KTQzK/MrXOV4dYMqs96lixXrLG4as9hcpiE0/S/3OIQ8t8EUxE4whT2uMsUgFUN0OZW+LPED3rt6/wUt6i6s7dRjqpV184DhwZfiqSqYTWya0Hwoq7g8mHTdiIV3utlAd925FMWWvKC9It+JmK/e+Do5SepknyQP8DSgu1HHhnXOLb81zXL9wjvqpDHerlM/HITMJl5UXxbAGWxkxSY8Y+ttLM9UpVtiV4ec4fsGnsn1vuLHxqk+Ek1o97clkqHpyH6CtrV+iW0esqZqrQDNuPdPTbJ6Q+BDI6ddMp9pKlfwbp2/zkunZLnwnOS54x4VVc1PmjZw32jJZc294N3vzEczEk0ea+ktRCO5cOeqoHSg+cTp27kb8t2a6Jl4SgakcfWJMuLeO0hlRuodJcfDnWM723J+D7lkSx0IhuD24Cn8tyt40iSF/DT03F3yCQkXHHcOQBJAfDniRA2kuQhNNkwFjk7z8FcTCtk2XQXTpXokWp+k0OurHidStDO+JrFVyzcKVukrG2fWcs3uKTbVcJJBj3xvKBIL3aDvdnMixNDN2IAHpcD9+mUmmNXhTWYe5oAx6TOfmm2XAdMV3P/nqzz47Lp3an4uXPYd9J16C9i/Pv89BlT/IHEc/XcO6mED2rN9sVr25Z7X+ZIyvlXzszDjv0IJQgzTX2NVOxrdqHlEiqeTsagRoJCXrt8b0JyEadRNCN9OqHgZAuSAgIuDpgmkkwcSkN20Kw8WhhSG2oxqJtMoTXemo3l+8w3rNbM7MW1iXUNYv66LN9/akEAlAfRdyfSg/gQpg1pPqh+JhDWlJopFzyWc6H6UmFIrGlxcYGZMgGRXJuhmia3JMuH3xrK0Oj4hwaI3TyIyQ2V45ydqI+M6LQJG+zgaZMj145Y+idKoX8n33WE6bqFgqCx0YPRbmrzdmS6UTKt7/aWJUn+anO5wq7CzVdKEb4jxSUnFXL8i68GVWQs7uYSH3twUp4go3V8lXfcW3lOnVoKo1uCUQno1tV7jnsZFJllpauvUmkzKKiu1VhcalOe62ybZVVl1UaF0QTiJ2XVyk0B8K5OhUoSB9kvFmV1aNbsjzgjAC0LcCZ62c7favizvvZLop/ILhWeLM9Njs0wYHsnvUz4dTYdyKSR+lcle6SCumkp1fAlLQfR0DPZTnAVuUiwvlGAtF+82YklI0Y6c46Qs32IqCOyCG4yjaDD0ajI4HUhpf+RWDa9HPlFjczDDuROVaywiSt9uRHIYXkphybr89dt2vTaXVKQPoVrFTWeWdjyca7Wi/jE5BQuxSDP2iIZ1zufqMnk5r9WlfelxUWmYF6bllvaqPkiYXc1NAbO22Iaej6mrE1L6PMmppFJC+4umxqlhXWohUzYWRl2h6KP8ChxA9hifPvQpX1pqIar57qAiaVuop6zkNnWI8ScW0eRMW6mEKS1qzpwGb7dp4+GAkCStjMW14rE28na3uTKI65SEqcrjjfqSRNIicmWORapTMW8h2zXDl32hOMlt3OHiWneDj5NsfGo5Clv3Wb9U9qhPkH+O3A4aTjKhp9Q6ehZivOUTQOFQ0WundUlwWNsWlFsckmdXWMm1/V66mR5DqcWt0jU92ScCMSPsnW62X1n+gxvbli0wx2gVk94UnxLO6cw7pBYqaUWTsc36aczZB6KaFyZ1Rk3u/CzaC9EMc55iI2Rp5KiinLtcPLBKnftM9Nm5Nl589UtnFXdvxwtk/stO8HCtXt247hU2ergVW6twjGUEms+4/7J7ZCOkJuFsyVod3assY4lxjN6OZj3EPZTpxdlIwdPgx1lhOma6qVhlGvh19x4v9eqbJZLVJMx09aMAaAesnouGnCU/dqUKkuh1lDPNBfItH1X2W3l9IVqd2pUcBap4vc64zn/RiVXQryMhN/F1IEboDJstO+5QmKYv+wkNQCPP0dm+4tA4Y4TZH72uzIztzaguvNhFcItDSYF7Dj9bKO72arvaE9a5ylaNUw31AzFS7TxSn0KstnjI97jHSrwhzxWDWe4q8x1eHbv79teDVbZJg7JNqCjZTWKLbO7Sc9lJRTkwOSKgvHcDep2Psn1jYL/vyWlvm3iX+bJ3ZDONHBU9FJvdhlZxe5Wu3AE9DNanFArMMbrHSq4NTZ/Og1xI+jNaypqmc+w+dCZ1XoXDNrHlJIx0yRwEjHqd3GuNyjO6/rUlPOYTWqSovY9nYWEJatq3djs5ccXEElUyTb+7MSDntCDfWzXn3xNcnzPMTRUSw8ttYz9Wfos6nx/+5cK8ErZ5/KamXfzBWT8lwv7pyZBJmb/9j6KMm2Mre81Cmr9Dul3I38WULtxMU62MDGDVwoTFvs9WotQqzOOiRspnd7fM7m6r724qlG2HXwdg7dYF3IE9/9aiWltByKi483o8+jt+G1BeRHejnLxa7IzdQ542oyeSazI6vJDDG/YQhHPckXOwVHjbYU29C0BnUga6YF8GnD9OMtQ8/0E3J7HKch66NjVgcM+ufkSlcEMXIguITOkDZ8uUAfH1zarU5+MONa+RzUPNYgn4zF08ksWEVI85lMyaEVidg7QHkPeAdXVTMAVPTmUL+4LArutl8Rei2PoBlyJoLBgCxXirXmDso0RHg1c404Ot7BZcxcxBZf0eO1E4cJzwBS5ECAoyA+BcbfgF7jZ9rcAAfsQWZUZYIM/C4df7aflRlOzv8t6E9rrropsowfNPQcH8Ofz4sPGT8SL5Qh2YNHcPNcj60DMaZpeVoOh9ymAGTqXqdtGUKLIg9NlOxRqNO74n1kfhbfSfIKfDJ4OrVOZmP/kExX2VhjzFECGx7FUaqOQuu0abqMO5kntiO1tn8RaUdTMaaVoBEfNJPlW+6VcW2vOY8GfdsfXg1FJFa0H7oQsj9RYf6RjMtuUTV2G+yblcaatHeR7q0bPKVoeCB+F4MWVBQHfSN2MIn7thmbSOYqq1TxZyXlawNeUq+FPeShGXaq/e4GavG+cEf+JInzZC34h1zta1al7Qh0DucBlZVATZUwQyiwEMmmlAUwgQbwCsFGyaNXDNVtY72ZS049ualMOhMCq6+hxwLVsjotCCUQjzgdfgUItNUoJJUtyEp3MoyRRGGNLZxFzX3V3zd8we1uy+4hZ4m0PMeeSdy993YNwVCi3nl+2rudFFuZp+ogrlCT6jnrHcfDNhnlc5f81xnp1BCDa5NrvlzOigrSNUnia6opwpLYKQY686xiidTAyxSl8SeoEJFUQFMA21l4C0nu/8KgZ58urD2npcPhp8F238DtsdtrxtLfENt0JTbheifcFg/BUg2y9Te5o+B4qcitSHF9k0u3zSBvOm9lhmSWHPgJwlk2WX+to7WArs2S37ow1qnBTM4RGO1KDP9YUfmPTysT51aantlzxJhbJpiYv0TB8PK+M1S5EFocpO1a2L+Ox/k6HudjfvRu1JACB+8bhXYVyBmyTPzULu1PFAsoJPjxkFm4Qp38dsKjS3BFF8MPoCONt3dwVJWT6Lpaavlwfl0VN5KSNjpFmEdYLpko534TsNqO6/DLBt9PtVMhat2Fwiq9Q0hs/BqLDCXuoA8ENHzJsf6+NiGzZ0t+E+q00oZR4YLyKkTurGMpTS70VmU/+HQ1leUX7XD67xn8W1ZgwJVprRGsP74ScSRa1Rtg+J7/pH0GP+yMOCu+IRO+VTBOnEjauu/MzkeJCo+ZQE4gW5S3lHcJcwzVrc1C0k0DqNOJUm+RBUP6+CHROhtYxwlCIhjEwIeOYi4trOKRsXiuKCIkeZwpr0r+GKlm5tXJFfxUlJPTQppKzH/aR/OHLluoLfGKeuhzLhwk5HdtbczFoh51OpuWNpbJd3TEeUwBbFMtgm7F/ndMvH1f9+gQMk5DD0gmFSt920ZDehEw5VRAswvMgnL7ka+irncnFgDeBzOqQ2DFsKEnYndVlao48bEyKj9BGMkGLA57NZGtdYrLCc8LPuLTwH5wyT8ykgg98Yk3ttBtqTy8HurppNiMWTFOKYrAhOAEUlOTI9QTZA4rtymyFmiPWcLand9bYCOfB/ug1SIwwQnjDgnh5lKdtjgky5RIyKo0pCAvI7XWxcNCpilAIjnTiTlJ9EVs7labivqjg+xQq2qYdkZUgVVKjq7/9ag+MmIheVL6WYGlbUV6DHpj2zfOsN/NU1qk6Jpp1xdLGM2SUcZIT29pZB5x3MbfwF/fLd18EvpFZi7kLeVocM7/1c3OXLLdwJty6o1jJA5iPTiC4feTSlSDs85V0wudwYGE7zTDWF6bwQyhS15kTBLL90gx+mSl5YfBi6M6TIDEM+kXAtGBFjVlcTsEpdATLsUXCK+7VWMN0yPEd9G73keW0sS43n6iIVkAyBPRyMEE9cErbfj+u+uLNyEKCSOkSrEgJ1v8oK+9VEkIHvUR26yqtNWhuLTdMZIVHYqV5pBpt15AD8A5VHRUvOPN29FSO+8ew4SA/DNddt8oG7XgP7WYnGYUUAVeKm2i9Q6zFH5Bpyqmdfw6sFQV2OpihI8PPxx5jqiqkN15jWKO7gg8L363Sr9jQB/nZpZdNzzQWycxOVNwbbuNgwrkk8vqMt4/g3SjcT3Z1kO1bI+MILxFrfNmHu3JjEHwUPxVKFD3+Yhwi0HB8bHMgWcTg1DAjp79UVQWEBEVtYqxqPZJhnrSfdeyyRW9FYe/Sp269H4nIJ+85225Qo14yQNJfOl3W47f8AGtry4/D3OiujuxJMUWhx9teW7v5Qgyu/e+l+LiudLN0jnKkJnAAEpovL/3piwoah5ckoBEq/15r/RhbonG/sj0aFLFp1857pQjzEYrVErvCu3XVLFDoBzmZW0q6rF8oygI7D6+z39WCUe5yMgDtE+uZa3N0nxuUZOJoOkNNHProiBAw5QZoF3oaOF+Aj70L7vn8MiZQ5eTOsIN/OxCR8eJXezKkQ56qqLkVKe3CLu+AdboSWaXp/iCWdcYP0Y462m3hbVI1BzIevHzp55ul0/q7D8fzBiwOA3EgCP534E6H1gDzLC1vZbwE0Vl5qcPMtCmQyGEU9BDmlVRtdjrU9CaXJw9RiK1WMVnSqtR8BO1CJg0OhBvttBAVeUbYnwl09NkjokELchjbZZV7atY5KGJxYUfNGS64LNsvBX0nG6UBhHB7Rj6lgc0NIovm5PJYiZHaEAzSFa8LBwoTU+PvJcDnTk1hQRd0Cp62/mwzcNG94e++Om5EJvUKNMPmPsXf/FU58fsvIlDgvnjFaRkRPMfVIdUrweWB88nQFaTe67rzJ9+EK2oSv725Gv309dDz2Pks52Mmqu214fJBrtPcmBxfTwJepCtrA8XNwwnAOub8ZjeSDV4ltSHBzxlRKUfWZbl35KYNNDbmP99onATfE9686N6zidx1sed9Gczy+Q+ZhgTcULUc6K2H3JyDuVCloPac09RPltr6JLSD22UFkR0Aj5bYX6NevIgpD5FsdbGqBooN+nlRrms580rOlFl4Teh+6IF8sQES+UYQ1EfA5tH3TO8zM7rI8lEJ0IyaM1x4BYoLWguVtv9tHTLDcNCk3fNh3eKjgkHYNOfC7PXFZw+2TEhDWGt2gM6mmDSUEraUDmiQcqm0cKikZGWx448Du3GxgokXAcrlBa5mBxIbDFikCUOPjh7n5kUwsXWzTXuKZ24SfbFCF9iTYNy2oLHfbC+h2Anqe4UkutRfWXdD9C3V3cmopBjc5UqZd/UZBbL2kk45hcE6Axw+/wneWAZ+NYobI5SLIAulEo1ICQXlrCUcnKS8iIOqyOnNrqDNjKgbg9DuVo3eC/KQlGHYzXgQSxYagtAF+/hH8BggsoEd5pWFjuABVVrgAoa1oETGHQtHaukBUh4sETwF8WcAUFBDBlwg4ECRNcqp26A4nAmPGwzbcnWknjIWbJ/os7LxbdltSEhmgC5NwAvDSwQjkCp/yF8l6mUH4TQm1LKpUWVGCgAoZMBE+58lHrih//Zv1ML8rxYO4NkE/Fu8Z/31XwU+cyDn2sZJNAp/k4W12bz3O4Nv41HnyAiyNezA76pU/JS/73eBuEPXX18LqPLp1t9weEcW4VmdNkx6b32eZXlX6YsmjT8x3A+yBUb3PpEdL8AVcB5Q77kcHip+GhH7XI7OkccRp+pmPGLEO+rClBNSOQPKAmqk3EnybUKU6B1VM1LLAiRDVdCYIuyWo/PLZObqTL99ogi6f8w/Zt+JAFgZSFW387WeqEM8p9GYlrcIyd82D0RMLeqwesdS7U98qUCoouJPlQdsbny6XsU5z7U7JayX135INNTzZCpTbjWP0QNh0G/3skJvN+cYv34bpM58zg/SZQzI5gnoxf2C4WovXcFlo4byite4FpF0/bz7zESslMfq4NsJ1gEGbwG3/8ay+/Wc4yOtz9x9xwHyQSqsGZY4GPWJ6XBfz/sNdaZR1lcxpjc3Ll2oC3/WJ+Xz6rmHxcdxZHpClKgqiWbmZEYBPnjRhytlL4kos67A6SfIUz6COPvWOS4hrSF8Wl/u19O54W+AkK56NnWmW5pmqY5TbHTgdClLDAg92AslKZcu4X3qsiluFx62lA5XZqgqDRo5YYWsqdyk9Vn0Y+5BFggcC5MZ4D5FEs0V4sEK8EA/wPcpDFlWMyvg8WKeNgWb7EbHbqR1d92dlSn0E8nRsdOo+z3J7tbSAC3f9e3SzDJB5xVXbt+Zq3ayiGJzf4KV4Mfkf","base64")).toString()),z6)});var ds={};Vt(ds,{convertToZip:()=>cit,convertToZipWorker:()=>$6,extractArchiveTo:()=>Vhe,getDefaultTaskPool:()=>Whe,getTaskPoolForConfiguration:()=>Yhe,makeArchiveFromDirectory:()=>lit});function oit(e,t){switch(e){case"async":return new Mv($6,{poolSize:t});case"workers":return new Uv((0,Z6.getContent)(),{poolSize:t});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}}function Whe(){return typeof X6>"u"&&(X6=oit("workers",Ui.availableParallelism())),X6}function Yhe(e){return typeof e>"u"?Whe():Zl(ait,e,()=>{let t=e.get("taskPoolMode"),r=e.get("taskPoolConcurrency");switch(t){case"async":return new Mv($6,{poolSize:r});case"workers":return new Uv((0,Z6.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}})}async function $6(e){let{tmpFile:t,tgz:r,compressionLevel:s,extractBufferOpts:a}=e,n=new ps(t,{create:!0,level:s,stats:al.makeDefaultStats()}),c=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await Vhe(c,n,a),n.saveAndClose(),t}async function lit(e,{baseFs:t=new Vn,prefixPath:r=vt.root,compressionLevel:s,inMemory:a=!1}={}){let n;if(a)n=new ps(null,{level:s});else{let f=await le.mktempPromise(),p=J.join(f,"archive.zip");n=new ps(p,{create:!0,level:s})}let c=J.resolve(vt.root,r);return await n.copyPromise(c,e,{baseFs:t,stableTime:!0,stableSort:!0}),n}async function cit(e,t={}){let r=await le.mktempPromise(),s=J.join(r,"archive.zip"),a=t.compressionLevel??t.configuration?.get("compressionLevel")??"mixed",n={prefixPath:t.prefixPath,stripComponents:t.stripComponents};return await(t.taskPool??Yhe(t.configuration)).run({tmpFile:s,tgz:e,compressionLevel:a,extractBufferOpts:n}),new ps(s,{level:t.compressionLevel})}async function*uit(e){let t=new Bm,r=new qhe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});t.on("entry",s=>{r.write(s)}),t.on("error",s=>{r.destroy(s)}),t.on("close",()=>{r.destroyed||r.end()}),t.end(e);for await(let s of r){let a=s;yield a,a.resume()}}async function Vhe(e,t,{stripComponents:r=0,prefixPath:s=vt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let c=n.path.split(/\//g);return!!(c.some(f=>f==="..")||c.length<=r)}for await(let n of uit(e)){if(a(n))continue;let c=J.normalize(fe.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(c.length<=r)continue;let f=c.slice(r).join("/"),p=J.join(s,f),h=420;switch((n.type==="Directory"||(n.mode??0)&73)&&(h|=73),n.type){case"Directory":t.mkdirpSync(J.dirname(p),{chmod:493,utimes:[Ai.SAFE_TIME,Ai.SAFE_TIME]}),t.mkdirSync(p,{mode:h}),t.utimesSync(p,Ai.SAFE_TIME,Ai.SAFE_TIME);break;case"OldFile":case"File":t.mkdirpSync(J.dirname(p),{chmod:493,utimes:[Ai.SAFE_TIME,Ai.SAFE_TIME]}),t.writeFileSync(p,await JE(n),{mode:h}),t.utimesSync(p,Ai.SAFE_TIME,Ai.SAFE_TIME);break;case"SymbolicLink":t.mkdirpSync(J.dirname(p),{chmod:493,utimes:[Ai.SAFE_TIME,Ai.SAFE_TIME]}),t.symlinkSync(n.linkpath,p),t.lutimesSync(p,Ai.SAFE_TIME,Ai.SAFE_TIME);break}}return t}var qhe,Z6,X6,ait,Jhe=Xe(()=>{qe();Dt();nA();qhe=Ie("stream");Uhe();Hhe();kc();Z6=et(Ghe());ait=new WeakMap});var zhe=G((eG,Khe)=>{(function(e,t){typeof eG=="object"?Khe.exports=t():typeof define=="function"&&define.amd?define(t):e.treeify=t()})(eG,function(){function e(a,n){var c=n?"\u2514":"\u251C";return a?c+="\u2500 ":c+="\u2500\u2500\u2510",c}function t(a,n){var c=[];for(var f in a)a.hasOwnProperty(f)&&(n&&typeof a[f]=="function"||c.push(f));return c}function r(a,n,c,f,p,h,E){var C="",S=0,x,I,T=f.slice(0);if(T.push([n,c])&&f.length>0&&(f.forEach(function(U,V){V>0&&(C+=(U[1]?" ":"\u2502")+" "),!I&&U[0]===n&&(I=!0)}),C+=e(a,c)+a,p&&(typeof n!="object"||n instanceof Date)&&(C+=": "+n),I&&(C+=" (circular ref.)"),E(C)),!I&&typeof n=="object"){var O=t(n,h);O.forEach(function(U){x=++S===O.length,r(U,n[U],x,T,p,h,E)})}}var s={};return s.asLines=function(a,n,c,f){var p=typeof c!="function"?c:!1;r(".",a,!1,[],n,p,f||c)},s.asTree=function(a,n,c){var f="";return r(".",a,!1,[],n,c,function(p){f+=p+` +`}),f},s})});var Rs={};Vt(Rs,{emitList:()=>fit,emitTree:()=>e0e,treeNodeToJson:()=>$he,treeNodeToTreeify:()=>Zhe});function Zhe(e,{configuration:t}){let r={},s=0,a=(n,c)=>{let f=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of f){if(!h)continue;let{label:E,value:C,children:S}=h,x=[];typeof E<"u"&&x.push(Jd(t,E,2)),typeof C<"u"&&x.push(jt(t,C[0],C[1])),x.length===0&&x.push(Jd(t,`${p}`,2));let I=x.join(": ").trim(),T=`\0${s++}\0`,O=c[`${T}${I}`]={};typeof S<"u"&&a(S,O)}};if(typeof e.children>"u")throw new Error("The root node must only contain children");return a(e.children,r),r}function $he(e){let t=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Kd(r.value[0],r.value[1])}let s=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,c]of s)c&&(a[Ait(n)]=t(c));return typeof r.value>"u"?a:{value:Kd(r.value[0],r.value[1]),children:a}};return t(e)}function fit(e,{configuration:t,stdout:r,json:s}){let a=e.map(n=>({value:n}));e0e({children:a},{configuration:t,stdout:r,json:s})}function e0e(e,{configuration:t,stdout:r,json:s,separators:a=0}){if(s){let c=Array.isArray(e.children)?e.children.values():Object.values(e.children??{});for(let f of c)f&&r.write(`${JSON.stringify($he(f))} +`);return}let n=(0,Xhe.asTree)(Zhe(e,{configuration:t}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),a>=2)for(let c=0;c<2;++c)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function Ait(e){return typeof e=="string"?e.replace(/^\0[0-9]+\0/,""):e}var Xhe,t0e=Xe(()=>{Xhe=et(zhe());Qc()});var wT,r0e=Xe(()=>{wT=class{constructor(t){this.releaseFunction=t;this.map=new Map}addOrCreate(t,r){let s=this.map.get(t);if(typeof s<"u"){if(s.refCount<=0)throw new Error(`Race condition in RefCountedMap. While adding a new key the refCount is: ${s.refCount} for ${JSON.stringify(t)}`);return s.refCount++,{value:s.value,release:()=>this.release(t)}}else{let a=r();return this.map.set(t,{refCount:1,value:a}),{value:a,release:()=>this.release(t)}}}release(t){let r=this.map.get(t);if(!r)throw new Error(`Unbalanced calls to release. No known instances of: ${JSON.stringify(t)}`);let s=r.refCount;if(s<=0)throw new Error(`Unbalanced calls to release. Too many release vs alloc refcount would become: ${s-1} of ${JSON.stringify(t)}`);s==1?(this.map.delete(t),this.releaseFunction(r.value)):r.refCount--}}});function _v(e){let t=e.match(pit);if(!t?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=t.groups.cacheVersion?parseInt(t.groups.cacheVersion):null;return{cacheKey:t.groups.cacheKey??null,cacheVersion:r,cacheSpec:t.groups.cacheSpec??null,hash:t.groups.hash}}var n0e,tG,rG,BT,Kr,pit,nG=Xe(()=>{qe();Dt();Dt();nA();n0e=Ie("crypto"),tG=et(Ie("fs"));r0e();Fc();E0();kc();Zo();rG=KE(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),BT=KE(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Kr=class e{constructor(t,{configuration:r,immutable:s=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.refCountedZipFsCache=new wT(t=>{t.discardAndClose()});this.cacheId=`-${(0,n0e.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=t,this.immutable=s,this.check=a;let{cacheSpec:n,cacheKey:c}=e.getCacheKey(r);this.cacheSpec=n,this.cacheKey=c}static async find(t,{immutable:r,check:s}={}){let a=new e(t.get("cacheFolder"),{configuration:t,immutable:r,check:s});return await a.setup(),a}static getCacheKey(t){let r=t.get("compressionLevel"),s=r!=="mixed"?`c${r}`:"";return{cacheKey:[BT,s].join(""),cacheSpec:s}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let t=`${this.configuration.get("globalFolder")}/cache`;return t!==this.cwd?t:null}getVersionFilename(t){return`${oI(t)}-${this.cacheKey}.zip`}getChecksumFilename(t,r){let a=_v(r).hash.slice(0,10);return`${oI(t)}-${a}.zip`}isChecksumCompatible(t){if(t===null)return!1;let{cacheVersion:r,cacheSpec:s}=_v(t);if(r===null||r{let Ae=new ps,Ce=J.join(vt.root,d8(t));return Ae.mkdirSync(Ce,{recursive:!0}),Ae.writeJsonSync(J.join(Ce,Er.manifest),{name:fn(t),mocked:!0}),Ae},E=async(Ae,{isColdHit:Ce,controlPath:Ee=null})=>{if(Ee===null&&c.unstablePackages?.has(t.locatorHash))return{isValid:!0,hash:null};let g=r&&!Ce?_v(r).cacheKey:this.cacheKey,Se=!c.skipIntegrityCheck||!r?`${g}/${await vQ(Ae)}`:r;if(Ee!==null){let me=!c.skipIntegrityCheck||!r?`${this.cacheKey}/${await vQ(Ee)}`:r;if(Se!==me)throw new Lt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Be=null;switch(r!==null&&Se!==r&&(this.check?Be="throw":_v(r).cacheKey!==_v(Se).cacheKey?Be="update":Be=this.configuration.get("checksumBehavior")),Be){case null:case"update":return{isValid:!0,hash:Se};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Lt(18,"The remote archive doesn't match the expected checksum")}},C=async Ae=>{if(!n)throw new Error(`Cache check required but no loader configured for ${Yr(this.configuration,t)}`);let Ce=await n(),Ee=Ce.getRealPath();Ce.saveAndClose(),await le.chmodPromise(Ee,420);let g=await E(Ae,{controlPath:Ee,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},S=async()=>{if(f===null||!await le.existsPromise(f)){let Ae=await n(),Ce=Ae.getRealPath();return Ae.saveAndClose(),{source:"loader",path:Ce}}return{source:"mirror",path:f}},x=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${Yr(this.configuration,t)}`);if(this.immutable)throw new Lt(56,`Cache entry required but missing for ${Yr(this.configuration,t)}`);let{path:Ae,source:Ce}=await S(),{hash:Ee}=await E(Ae,{isColdHit:!0}),g=this.getLocatorPath(t,Ee),Se=[];Ce!=="mirror"&&f!==null&&Se.push(async()=>{let me=`${f}${this.cacheId}`;await le.copyFilePromise(Ae,me,tG.default.constants.COPYFILE_FICLONE),await le.chmodPromise(me,420),await le.renamePromise(me,f)}),(!c.mirrorWriteOnly||f===null)&&Se.push(async()=>{let me=`${g}${this.cacheId}`;await le.copyFilePromise(Ae,me,tG.default.constants.COPYFILE_FICLONE),await le.chmodPromise(me,420),await le.renamePromise(me,g)});let Be=c.mirrorWriteOnly?f??g:g;return await Promise.all(Se.map(me=>me())),[!1,Be,Ee]},I=async()=>{let Ce=(async()=>{let Ee=c.unstablePackages?.has(t.locatorHash),g=Ee||!r||this.isChecksumCompatible(r)?this.getLocatorPath(t,r):null,Se=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Be=!!c.mockedPackages?.has(t.locatorHash)&&(!this.check||!Se),me=Be||Se,ce=me?s:a;if(ce&&ce(),me){let Z=null,De=g;if(!Be)if(this.check)Z=await C(De);else{let Qe=await E(De,{isColdHit:!1});if(Qe.isValid)Z=Qe.hash;else return x()}return[Be,De,Z]}else{if(this.immutable&&Ee)throw new Lt(56,`Cache entry required but missing for ${Yr(this.configuration,t)}; consider defining ${pe.pretty(this.configuration,"supportedArchitectures",pe.Type.CODE)} to cache packages for multiple systems`);return x()}})();this.mutexes.set(t.locatorHash,Ce);try{return await Ce}finally{this.mutexes.delete(t.locatorHash)}};for(let Ae;Ae=this.mutexes.get(t.locatorHash);)await Ae;let[T,O,U]=await I();T||this.markedFiles.add(O);let V=()=>this.refCountedZipFsCache.addOrCreate(O,()=>T?h():new ps(O,{baseFs:p,readOnly:!0})),te,ie=new cE(()=>k4(()=>(te=V(),te.value),Ae=>`Failed to open the cache entry for ${Yr(this.configuration,t)}: ${Ae}`),J),ue=new Gf(O,{baseFs:ie,pathUtils:J}),ae=()=>{te?.release()},de=c.unstablePackages?.has(t.locatorHash)?null:U;return[ue,ae,de]}},pit=/^(?:(?(?[0-9]+)(?.*))\/)?(?.*)$/});var vT,i0e=Xe(()=>{vT=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(vT||{})});var hit,_I,iG=Xe(()=>{Dt();vc();Np();Zo();hit=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(e,t,r,s)=>`${r}#commit=${s}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(e,t,r="",s,a)=>`https://${r}github.com/${s}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(e,t,r="",s,a)=>`https://${r}github.com/${s}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,e=>`npm:${e}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,e=>`npm:${e}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,e=>`npm:${e}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(e,t)=>xQ({protocol:"npm:",source:null,selector:e,params:{__archiveUrl:t}})],[/^[^/]+\.tgz#[0-9a-f]+$/,e=>`npm:${e}`]],_I=class{constructor(t){this.resolver=t;this.resolutions=null}async setup(t,{report:r}){let s=J.join(t.cwd,Er.lockfile);if(!le.existsSync(s))return;let a=await le.readFilePromise(s,"utf8"),n=cs(a);if(Object.hasOwn(n,"__metadata"))return;let c=this.resolutions=new Map;for(let f of Object.keys(n)){let p=TB(f);if(!p){r.reportWarning(14,`Failed to parse the string "${f}" into a proper descriptor`);continue}let h=yl(p.range)?Mn(p,`npm:${p.range}`):p,{version:E,resolved:C}=n[f];if(!C)continue;let S;for(let[I,T]of hit){let O=C.match(I);if(O){S=T(E,...O);break}}if(!S){r.reportWarning(14,`${oi(t.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${C}")`);continue}let x=h;try{let I=Zd(h.range),T=TB(I.selector,!0);T&&(x=T)}catch{}c.set(h.descriptorHash,Js(x,S))}}supportsDescriptor(t,r){return this.resolutions?this.resolutions.has(t.descriptorHash):!1}supportsLocator(t,r){return!1}shouldPersistResolution(t,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(t.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=A8(a),c=s.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(c,r,s)}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var uA,s0e=Xe(()=>{Fc();fv();Qc();uA=class extends yo{constructor({configuration:r,stdout:s,suggestInstall:a=!0}){super();this.errorCount=0;SB(this,{configuration:r}),this.configuration=r,this.stdout=s,this.suggestInstall=a}static async start(r,s){let a=new this(r);try{await s(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,s){return s()}async startSectionPromise(r,s){return await s()}startTimerSync(r,s,a){return(typeof s=="function"?s:a)()}async startTimerPromise(r,s,a){return await(typeof s=="function"?s:a)()}reportSeparator(){}reportInfo(r,s){}reportWarning(r,s){}reportError(r,s){this.errorCount+=1,this.stdout.write(`${jt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${s} +`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,s){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${jt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${jt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(r){return Rj(r,{configuration:this.configuration,json:!1})}}});var HI,sG=Xe(()=>{Zo();HI=class{constructor(t){this.resolver=t}supportsDescriptor(t,r){return!!(r.project.storedResolutions.get(t.descriptorHash)||r.project.originalPackages.has(DQ(t).locatorHash))}supportsLocator(t,r){return!!(r.project.originalPackages.has(t.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(t,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return this.resolver.getResolutionDependencies(t,r)}async getCandidates(t,r,s){let a=s.project.storedResolutions.get(t.descriptorHash);if(a){let c=s.project.originalPackages.get(a);if(c)return[c]}let n=s.project.originalPackages.get(DQ(t).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){let s=r.project.originalPackages.get(t.locatorHash);if(!s)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return s}}});function Jp(){}function git(e,t,r,s,a){for(var n=0,c=t.length,f=0,p=0;nx.length?T:x}),h.value=e.join(E)}else h.value=e.join(r.slice(f,f+h.count));f+=h.count,h.added||(p+=h.count)}}var S=t[c-1];return c>1&&typeof S.value=="string"&&(S.added||S.removed)&&e.equals("",S.value)&&(t[c-2].value+=S.value,t.pop()),t}function dit(e){return{newPos:e.newPos,components:e.components.slice(0)}}function mit(e,t){if(typeof e=="function")t.callback=e;else if(e)for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function l0e(e,t,r){return r=mit(r,{ignoreWhitespace:!0}),uG.diff(e,t,r)}function yit(e,t,r){return fG.diff(e,t,r)}function ST(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ST=function(t){return typeof t}:ST=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ST(e)}function oG(e){return Cit(e)||wit(e)||Bit(e)||vit()}function Cit(e){if(Array.isArray(e))return aG(e)}function wit(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Bit(e,t){if(e){if(typeof e=="string")return aG(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return aG(e,t)}}function aG(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,s=new Array(t);r"u"&&(c.context=4);var f=yit(r,s,c);if(!f)return;f.push({value:"",lines:[]});function p(U){return U.map(function(V){return" "+V})}for(var h=[],E=0,C=0,S=[],x=1,I=1,T=function(V){var te=f[V],ie=te.lines||te.value.replace(/\n$/,"").split(` +`);if(te.lines=ie,te.added||te.removed){var ue;if(!E){var ae=f[V-1];E=x,C=I,ae&&(S=c.context>0?p(ae.lines.slice(-c.context)):[],E-=S.length,C-=S.length)}(ue=S).push.apply(ue,oG(ie.map(function(me){return(te.added?"+":"-")+me}))),te.added?I+=ie.length:x+=ie.length}else{if(E)if(ie.length<=c.context*2&&V=f.length-2&&ie.length<=c.context){var g=/\n$/.test(r),Se=/\n$/.test(s),Be=ie.length==0&&S.length>Ee.oldLines;!g&&Be&&r.length>0&&S.splice(Ee.oldLines,0,"\\ No newline at end of file"),(!g&&!Be||!Se)&&S.push("\\ No newline at end of file")}h.push(Ee),E=0,C=0,S=[]}x+=ie.length,I+=ie.length}},O=0;O{Jp.prototype={diff:function(t,r){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=s.callback;typeof s=="function"&&(a=s,s={}),this.options=s;var n=this;function c(T){return a?(setTimeout(function(){a(void 0,T)},0),!0):T}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var f=r.length,p=t.length,h=1,E=f+p;s.maxEditLength&&(E=Math.min(E,s.maxEditLength));var C=[{newPos:-1,components:[]}],S=this.extractCommon(C[0],r,t,0);if(C[0].newPos+1>=f&&S+1>=p)return c([{value:this.join(r),count:r.length}]);function x(){for(var T=-1*h;T<=h;T+=2){var O=void 0,U=C[T-1],V=C[T+1],te=(V?V.newPos:0)-T;U&&(C[T-1]=void 0);var ie=U&&U.newPos+1=f&&te+1>=p)return c(git(n,O.components,r,t,n.useLongestToken));C[T]=O}h++}if(a)(function T(){setTimeout(function(){if(h>E)return a();x()||T()},0)})();else for(;h<=E;){var I=x();if(I)return I}},pushComponent:function(t,r,s){var a=t[t.length-1];a&&a.added===r&&a.removed===s?t[t.length-1]={count:a.count+1,added:r,removed:s}:t.push({count:1,added:r,removed:s})},extractCommon:function(t,r,s,a){for(var n=r.length,c=s.length,f=t.newPos,p=f-a,h=0;f+1"u"?r:c}:s;return typeof e=="string"?e:JSON.stringify(lG(e,null,null,a),a," ")};Hv.equals=function(e,t){return Jp.prototype.equals.call(Hv,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};cG=new Jp;cG.tokenize=function(e){return e.slice()};cG.join=cG.removeEmpty=function(e){return e}});var DT,u0e=Xe(()=>{Fc();DT=class{constructor(t){this.resolver=t}supportsDescriptor(t,r){return this.resolver.supportsDescriptor(t,r)}supportsLocator(t,r){return this.resolver.supportsLocator(t,r)}shouldPersistResolution(t,r){return this.resolver.shouldPersistResolution(t,r)}bindDescriptor(t,r,s){return this.resolver.bindDescriptor(t,r,s)}getResolutionDependencies(t,r){return this.resolver.getResolutionDependencies(t,r)}async getCandidates(t,r,s){throw new Lt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(t,r,s,a){throw new Lt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(t,r){throw new Lt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Qi,pG=Xe(()=>{Fc();Qi=class extends yo{reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,r){return r()}async startSectionPromise(t,r){return await r()}startTimerSync(t,r,s){return(typeof r=="function"?r:s)()}async startTimerPromise(t,r,s){return await(typeof r=="function"?r:s)()}reportSeparator(){}reportInfo(t,r){}reportWarning(t,r){}reportError(t,r){}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}reportFold(t,r){}async finalize(){}}});var f0e,jI,hG=Xe(()=>{Dt();f0e=et(wQ());cI();$d();Qc();E0();Np();Zo();jI=class{constructor(t,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=t}async setup(){this.manifest=await _t.tryFind(this.cwd)??new _t,this.relativeCwd=J.relative(this.project.cwd,this.cwd)||vt.dot;let t=this.manifest.name?this.manifest.name:ka(null,`${this.computeCandidateName()}-${fs(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=Mn(t,`${Ii.protocol}${this.relativeCwd}`),this.anchoredLocator=Js(t,`${Ii.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let s=await(0,f0e.default)(r,{cwd:fe.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});s.sort(),await s.reduce(async(a,n)=>{let c=J.resolve(this.cwd,fe.toPortablePath(n)),f=await le.existsPromise(J.join(c,"package.json"));await a,f&&this.workspacesCwds.add(c)},Promise.resolve())}get anchoredPackage(){let t=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${NB(this.project.configuration,this)} (${jt(this.project.configuration,J.join(this.cwd,Er.manifest),gt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return t}accepts(t){let r=t.indexOf(":"),s=r!==-1?t.slice(0,r+1):null,a=r!==-1?t.slice(r+1):t;if(s===Ii.protocol&&J.normalize(a)===this.relativeCwd||s===Ii.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=yl(a);return n?s===Ii.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${J.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:t=_t.hardDependencies}={}){let r=new Set,s=a=>{for(let n of t)for(let c of a.manifest[n].values()){let f=this.project.tryWorkspaceByDescriptor(c);f===null||r.has(f)||(r.add(f),s(f))}};return s(this),r}getRecursiveWorkspaceDependents({dependencies:t=_t.hardDependencies}={}){let r=new Set,s=a=>{for(let n of this.project.workspaces)t.some(f=>[...n.manifest[f].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&RB(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),s(n))};return s(this),r}getRecursiveWorkspaceChildren(){let t=new Set([this]);for(let r of t)for(let s of r.workspacesCwds){let a=this.project.workspacesByCwd.get(s);a&&t.add(a)}return t.delete(this),Array.from(t)}async persistManifest(){let t={};this.manifest.exportTo(t);let r=J.join(this.cwd,_t.fileName),s=`${JSON.stringify(t,null,this.manifest.indent)} +`;await le.changeFilePromise(r,s,{automaticNewlines:!0}),this.manifest.raw=t}}});function Qit({project:e,allDescriptors:t,allResolutions:r,allPackages:s,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:c=new Map,peerWarnings:f=[],peerRequirementNodes:p=new Map,volatileDescriptors:h=new Set}){let E=new Map,C=[],S=new Map,x=new Map,I=new Map,T=new Map,O=new Map,U=new Map(e.workspaces.map(ae=>{let de=ae.anchoredLocator.locatorHash,Ae=s.get(de);if(typeof Ae>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[de,xB(Ae)]})),V=()=>{let ae=le.mktempSync(),de=J.join(ae,"stacktrace.log"),Ae=String(C.length+1).length,Ce=C.map((Ee,g)=>`${`${g+1}.`.padStart(Ae," ")} ${ml(Ee)} +`).join("");throw le.writeFileSync(de,Ce),le.detachTemp(ae),new Lt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${fe.fromPortablePath(de)}`)},te=ae=>{let de=r.get(ae.descriptorHash);if(typeof de>"u")throw new Error("Assertion failed: The resolution should have been registered");let Ae=s.get(de);if(!Ae)throw new Error("Assertion failed: The package could not be found");return Ae},ie=(ae,de,Ae,{top:Ce,optional:Ee})=>{C.length>1e3&&V(),C.push(de);let g=ue(ae,de,Ae,{top:Ce,optional:Ee});return C.pop(),g},ue=(ae,de,Ae,{top:Ce,optional:Ee})=>{if(Ee||n.delete(de.locatorHash),a.has(de.locatorHash))return;a.add(de.locatorHash);let g=s.get(de.locatorHash);if(!g)throw new Error(`Assertion failed: The package (${Yr(e.configuration,de)}) should have been registered`);let Se=new Set,Be=new Map,me=[],ce=[],Z=[],De=[];for(let Qe of Array.from(g.dependencies.values())){if(g.peerDependencies.has(Qe.identHash)&&g.locatorHash!==Ce)continue;if(Rp(Qe))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");h.delete(Qe.descriptorHash);let st=Ee;if(!st){let Re=g.dependenciesMeta.get(fn(Qe));if(typeof Re<"u"){let ct=Re.get(null);typeof ct<"u"&&ct.optional&&(st=!0)}}let _=r.get(Qe.descriptorHash);if(!_)throw new Error(`Assertion failed: The resolution (${oi(e.configuration,Qe)}) should have been registered`);let tt=U.get(_)||s.get(_);if(!tt)throw new Error(`Assertion failed: The package (${_}, resolved from ${oi(e.configuration,Qe)}) should have been registered`);if(tt.peerDependencies.size===0){ie(Qe,tt,new Map,{top:Ce,optional:st});continue}let Ne,ke,be=new Set,je=new Map;me.push(()=>{Ne=h8(Qe,de.locatorHash),ke=g8(tt,de.locatorHash),g.dependencies.set(Qe.identHash,Ne),r.set(Ne.descriptorHash,ke.locatorHash),t.set(Ne.descriptorHash,Ne),s.set(ke.locatorHash,ke),xp(T,ke.locatorHash).add(Ne.descriptorHash),Se.add(ke.locatorHash)}),ce.push(()=>{O.set(ke.locatorHash,je);for(let Re of ke.peerDependencies.values()){let Me=Zl(Be,Re.identHash,()=>{let P=Ae.get(Re.identHash)??null,w=g.dependencies.get(Re.identHash);return!w&&QB(de,Re)&&(ae.identHash===de.identHash?w=ae:(w=Mn(de,ae.range),t.set(w.descriptorHash,w),r.set(w.descriptorHash,de.locatorHash),h.delete(w.descriptorHash),P=null)),w||(w=Mn(Re,"missing:")),{subject:de,ident:Re,provided:w,root:!P,requests:new Map,hash:`p${fs(de.locatorHash,Re.identHash).slice(0,6)}`}}).provided;if(Me.range==="missing:"&&ke.dependencies.has(Re.identHash)){ke.peerDependencies.delete(Re.identHash);continue}if(je.set(Re.identHash,{requester:ke,descriptor:Re,meta:ke.peerDependenciesMeta.get(fn(Re)),children:new Map}),ke.dependencies.set(Re.identHash,Me),Rp(Me)){let P=r.get(Me.descriptorHash);xp(I,P).add(ke.locatorHash)}S.set(Me.identHash,Me),Me.range==="missing:"&&be.add(Me.identHash)}ke.dependencies=new Map(Vs(ke.dependencies,([Re,ct])=>fn(ct)))}),Z.push(()=>{if(!s.has(ke.locatorHash))return;let Re=E.get(tt.locatorHash);typeof Re=="number"&&Re>=2&&V();let ct=E.get(tt.locatorHash),Me=typeof ct<"u"?ct+1:1;E.set(tt.locatorHash,Me),ie(Ne,ke,je,{top:Ce,optional:st}),E.set(tt.locatorHash,Me-1)}),De.push(()=>{let Re=r.get(Ne.descriptorHash);if(typeof Re>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let ct=O.get(Re);if(typeof ct>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let Me of Be.values()){let P=ct.get(Me.ident.identHash);P&&(Me.requests.set(Ne.descriptorHash,P),p.set(Me.hash,Me),Me.root||Ae.get(Me.ident.identHash)?.children.set(Ne.descriptorHash,P))}if(s.has(ke.locatorHash))for(let Me of be)ke.dependencies.delete(Me)})}for(let Qe of[...me,...ce])Qe();for(let Qe of Se){Se.delete(Qe);let st=s.get(Qe),_=fs(sI(st).locatorHash,...Array.from(st.dependencies.values(),be=>{let je=be.range!=="missing:"?r.get(be.descriptorHash):"missing:";if(typeof je>"u")throw new Error(`Assertion failed: Expected the resolution for ${oi(e.configuration,be)} to have been registered`);return je===Ce?`${je} (top)`:je})),tt=x.get(_);if(typeof tt>"u"){x.set(_,st);continue}let Ne=xp(T,tt.locatorHash);for(let be of T.get(st.locatorHash)??[])r.set(be,tt.locatorHash),Ne.add(be);s.delete(st.locatorHash),a.delete(st.locatorHash),Se.delete(st.locatorHash);let ke=I.get(st.locatorHash);if(ke!==void 0){let be=xp(I,tt.locatorHash);for(let je of ke)be.add(je),Se.add(je)}}for(let Qe of[...Z,...De])Qe()};for(let ae of e.workspaces){let de=ae.anchoredLocator;h.delete(ae.anchoredDescriptor.descriptorHash),ie(ae.anchoredDescriptor,de,new Map,{top:de.locatorHash,optional:!1})}for(let ae of p.values()){if(!ae.root)continue;let de=s.get(ae.subject.locatorHash);if(typeof de>"u")continue;for(let Ce of ae.requests.values()){let Ee=`p${fs(ae.subject.locatorHash,fn(ae.ident),Ce.requester.locatorHash).slice(0,6)}`;c.set(Ee,{subject:ae.subject.locatorHash,requested:ae.ident,rootRequester:Ce.requester.locatorHash,allRequesters:Array.from(OB(Ce),g=>g.requester.locatorHash)})}let Ae=[...OB(ae)];if(ae.provided.range!=="missing:"){let Ce=te(ae.provided),Ee=Ce.version??"0.0.0",g=Be=>{if(Be.startsWith(Ii.protocol)){if(!e.tryWorkspaceByLocator(Ce))return null;Be=Be.slice(Ii.protocol.length),(Be==="^"||Be==="~")&&(Be="*")}return Be},Se=!0;for(let Be of Ae){let me=g(Be.descriptor.range);if(me===null){Se=!1;continue}if(!tA(Ee,me)){Se=!1;let ce=`p${fs(ae.subject.locatorHash,fn(ae.ident),Be.requester.locatorHash).slice(0,6)}`;f.push({type:1,subject:de,requested:ae.ident,requester:Be.requester,version:Ee,hash:ce,requirementCount:Ae.length})}}if(!Se){let Be=Ae.map(me=>g(me.descriptor.range));f.push({type:3,node:ae,range:Be.includes(null)?null:y8(Be),hash:ae.hash})}}else{let Ce=!0;for(let Ee of Ae)if(!Ee.meta?.optional){Ce=!1;let g=`p${fs(ae.subject.locatorHash,fn(ae.ident),Ee.requester.locatorHash).slice(0,6)}`;f.push({type:0,subject:de,requested:ae.ident,requester:Ee.requester,hash:g})}Ce||f.push({type:2,node:ae,hash:ae.hash})}}}function*Rit(e){let t=new Map;if("children"in e)t.set(e,e);else for(let r of e.requests.values())t.set(r,r);for(let[r,s]of t){yield{request:r,root:s};for(let a of r.children.values())t.has(a)||t.set(a,s)}}function Tit(e,t){let r=[],s=[],a=!1;for(let n of e.peerWarnings)if(!(n.type===1||n.type===0)){if(!e.tryWorkspaceByLocator(n.node.subject)){a=!0;continue}if(n.type===3){let c=e.storedResolutions.get(n.node.provided.descriptorHash);if(typeof c>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let f=e.storedPackages.get(c);if(typeof f>"u")throw new Error("Assertion failed: Expected the package to be registered");let p=A0(Rit(n.node),({request:C,root:S})=>tA(f.version??"0.0.0",C.descriptor.range)?A0.skip:C===S?$i(e.configuration,C.requester):`${$i(e.configuration,C.requester)} (via ${$i(e.configuration,S.requester)})`),h=[...OB(n.node)].length>1?"and other dependencies request":"requests",E=n.range?aI(e.configuration,n.range):jt(e.configuration,"but they have non-overlapping ranges!","redBright");r.push(`${$i(e.configuration,n.node.ident)} is listed by your project with version ${FB(e.configuration,f.version??"0.0.0")} (${jt(e.configuration,n.hash,gt.CODE)}), which doesn't satisfy what ${p} ${h} (${E}).`)}if(n.type===2){let c=n.node.requests.size>1?" and other dependencies":"";s.push(`${Yr(e.configuration,n.node.subject)} doesn't provide ${$i(e.configuration,n.node.ident)} (${jt(e.configuration,n.hash,gt.CODE)}), requested by ${$i(e.configuration,n.node.requests.values().next().value.requester)}${c}.`)}}t.startSectionSync({reportFooter:()=>{t.reportWarning(86,`Some peer dependencies are incorrectly met by your project; run ${jt(e.configuration,"yarn explain peer-requirements ",gt.CODE)} for details, where ${jt(e.configuration,"",gt.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of Vs(r,c=>XE.default(c)))t.reportWarning(60,n);for(let n of Vs(s,c=>XE.default(c)))t.reportWarning(2,n)}),a&&t.reportWarning(86,`Some peer dependencies are incorrectly met by dependencies; run ${jt(e.configuration,"yarn explain peer-requirements",gt.CODE)} for details.`)}var bT,PT,h0e,mG,dG,yG,xT,Dit,bit,A0e,Pit,xit,kit,Oa,gG,kT,p0e,Rt,g0e=Xe(()=>{Dt();Dt();vc();Yt();bT=Ie("crypto");AG();zl();PT=et(Nd()),h0e=et(pi()),mG=Ie("util"),dG=et(Ie("v8")),yG=et(Ie("zlib"));nG();$B();iG();sG();cI();C8();Fc();u0e();fv();pG();$d();hG();OQ();Qc();E0();kc();hR();Lj();Np();Zo();xT=KE(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??10),Dit=3,bit=/ *, */g,A0e=/\/$/,Pit=32,xit=(0,mG.promisify)(yG.default.gzip),kit=(0,mG.promisify)(yG.default.gunzip),Oa=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(Oa||{}),gG={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},kT=(a=>(a[a.NotProvided=0]="NotProvided",a[a.NotCompatible=1]="NotCompatible",a[a.NodeNotProvided=2]="NodeNotProvided",a[a.NodeNotCompatible=3]="NodeNotCompatible",a))(kT||{}),p0e=e=>fs(`${Dit}`,e),Rt=class e{constructor(t,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.peerRequirementNodes=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=t}static async find(t,r){if(!t.projectCwd)throw new it(`No project found in ${r}`);let s=t.projectCwd,a=r,n=null;for(;n!==t.projectCwd;){if(n=a,le.existsSync(J.join(n,Er.manifest))){s=n;break}a=J.dirname(n)}let c=new e(t.projectCwd,{configuration:t});ze.telemetry?.reportProject(c.cwd),await c.setupResolutions(),await c.setupWorkspaces(),ze.telemetry?.reportWorkspaceCount(c.workspaces.length),ze.telemetry?.reportDependencyCount(c.workspaces.reduce((I,T)=>I+T.manifest.dependencies.size+T.manifest.devDependencies.size,0));let f=c.tryWorkspaceByCwd(s);if(f)return{project:c,workspace:f,locator:f.anchoredLocator};let p=await c.findLocatorForLocation(`${s}/`,{strict:!0});if(p)return{project:c,locator:p,workspace:null};let h=jt(t,c.cwd,gt.PATH),E=jt(t,J.relative(c.cwd,s),gt.PATH),C=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,S=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,x=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new it(`The nearest package directory (${jt(t,s,gt.PATH)}) doesn't seem to be part of the project declared in ${jt(t,c.cwd,gt.PATH)}. + +${[C,S,x].join(` +`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let t=J.join(this.cwd,Er.lockfile),r=this.configuration.get("defaultLanguageName");if(le.existsSync(t)){let s=await le.readFilePromise(t,"utf8");this.lockFileChecksum=p0e(s);let a=cs(s);if(a.__metadata){let n=a.__metadata.version,c=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${f})`);let h=Tp(p.resolution,!0),E=new _t;E.load(p,{yamlCompatibilityMode:!0});let C=E.version,S=E.languageName||r,x=p.linkType.toUpperCase(),I=p.conditions??null,T=E.dependencies,O=E.peerDependencies,U=E.dependenciesMeta,V=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let ue=typeof c<"u"&&!p.checksum.includes("/")?`${c}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,ue)}let ie={...h,version:C,languageName:S,linkType:x,conditions:I,dependencies:T,peerDependencies:O,dependenciesMeta:U,peerDependenciesMeta:V,bin:te};this.originalPackages.set(ie.locatorHash,ie);for(let ue of f.split(bit)){let ae=I0(ue);n<=6&&(ae=this.configuration.normalizeDependency(ae),ae=Mn(ae,ae.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ae.descriptorHash,ae),this.storedResolutions.set(ae.descriptorHash,h.locatorHash)}}}else s.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let t=new Set,r=(0,PT.default)(4),s=async(a,n)=>{if(t.has(n))return a;t.add(n);let c=new jI(n,{project:this});await r(()=>c.setup());let f=a.then(()=>{this.addWorkspace(c)});return Array.from(c.workspacesCwds).reduce(s,f)};await s(Promise.resolve(),this.cwd)}addWorkspace(t){let r=this.workspacesByIdent.get(t.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${$i(this.configuration,t.anchoredLocator)}: ${fe.fromPortablePath(t.cwd)} conflicts with ${fe.fromPortablePath(r.cwd)}`);this.workspaces.push(t),this.workspacesByCwd.set(t.cwd,t),this.workspacesByIdent.set(t.anchoredLocator.identHash,t)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(t){J.isAbsolute(t)||(t=J.resolve(this.cwd,t)),t=J.normalize(t).replace(/\/+$/,"");let r=this.workspacesByCwd.get(t);return r||null}getWorkspaceByCwd(t){let r=this.tryWorkspaceByCwd(t);if(!r)throw new Error(`Workspace not found (${t})`);return r}tryWorkspaceByFilePath(t){let r=null;for(let s of this.workspaces)J.relative(s.cwd,t).startsWith("../")||r&&r.cwd.length>=s.cwd.length||(r=s);return r||null}getWorkspaceByFilePath(t){let r=this.tryWorkspaceByFilePath(t);if(!r)throw new Error(`Workspace not found (${t})`);return r}tryWorkspaceByIdent(t){let r=this.workspacesByIdent.get(t.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(t){let r=this.tryWorkspaceByIdent(t);if(!r)throw new Error(`Workspace not found (${$i(this.configuration,t)})`);return r}tryWorkspaceByDescriptor(t){if(t.range.startsWith(Ii.protocol)){let s=t.range.slice(Ii.protocol.length);if(s!=="^"&&s!=="~"&&s!=="*"&&!yl(s))return this.tryWorkspaceByCwd(s)}let r=this.tryWorkspaceByIdent(t);return r===null||(Rp(t)&&(t=kB(t)),!r.accepts(t.range))?null:r}getWorkspaceByDescriptor(t){let r=this.tryWorkspaceByDescriptor(t);if(r===null)throw new Error(`Workspace not found (${oi(this.configuration,t)})`);return r}tryWorkspaceByLocator(t){let r=this.tryWorkspaceByIdent(t);return r===null||(ju(t)&&(t=sI(t)),r.anchoredLocator.locatorHash!==t.locatorHash)?null:r}getWorkspaceByLocator(t){let r=this.tryWorkspaceByLocator(t);if(!r)throw new Error(`Workspace not found (${Yr(this.configuration,t)})`);return r}deleteDescriptor(t){this.storedResolutions.delete(t),this.storedDescriptors.delete(t)}deleteLocator(t){this.originalPackages.delete(t),this.storedPackages.delete(t),this.accessibleLocators.delete(t)}forgetResolution(t){if("descriptorHash"in t){let r=this.storedResolutions.get(t.descriptorHash);this.deleteDescriptor(t.descriptorHash);let s=new Set(this.storedResolutions.values());typeof r<"u"&&!s.has(r)&&this.deleteLocator(r)}if("locatorHash"in t){this.deleteLocator(t.locatorHash);for(let[r,s]of this.storedResolutions)s===t.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let t=this.configuration.makeResolver(),r=new Map;for(let[s,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(s)}for(let s of this.originalPackages.values()){let a;try{a=t.shouldPersistResolution(s,{project:this,resolver:t})}catch{a=!1}if(!a){this.deleteLocator(s.locatorHash);let n=r.get(s.locatorHash);if(n){r.delete(s.locatorHash);for(let c of n)this.deleteDescriptor(c)}}}}forgetVirtualResolutions(){for(let t of this.storedPackages.values())for(let[r,s]of t.dependencies)Rp(s)&&t.dependencies.set(r,kB(s))}getDependencyMeta(t,r){let s={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(fn(t));if(!n)return s;let c=n.get(null);if(c&&Object.assign(s,c),r===null||!h0e.default.valid(r))return s;for(let[f,p]of n)f!==null&&f===r&&Object.assign(s,p);return s}async findLocatorForLocation(t,{strict:r=!1}={}){let s=new Qi,a=this.configuration.getLinkers(),n={project:this,report:s};for(let c of a){let f=await c.findPackageLocator(t,n);if(f){if(r&&(await c.findPackageLocation(f,n)).replace(A0e,"")!==t.replace(A0e,""))continue;return f}}return null}async loadUserConfig(){let t=J.join(this.cwd,".pnp.cjs");await le.existsPromise(t)&&kp(t).setup();let r=J.join(this.cwd,"yarn.config.cjs");return await le.existsPromise(r)?kp(r):null}async preparePackage(t,{resolver:r,resolveOptions:s}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(t,{packageExtensions:a});for(let[c,f]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,f,this,n,f,{resolver:r,resolveOptions:s});if(!QB(f,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,s);n.dependencies.set(c,h)}return n}async resolveEverything(t){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),s=[];t.lockfileOnly||this.forgetTransientResolutions();let a=t.resolver||this.configuration.makeResolver(),n=new _I(a);await n.setup(this,{report:t.report});let c=t.lockfileOnly?[new DT(a)]:[n,a],f=new em([new HI(a),...c]),p=new em([...c]),h=this.configuration.makeFetcher(),E=t.lockfileOnly?{project:this,report:t.report,resolver:f}:{project:this,report:t.report,resolver:f,fetchOptions:{project:this,cache:t.cache,checksums:this.storedChecksums,report:t.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},C=new Map,S=new Map,x=new Map,I=new Map,T=new Map,O=new Map,U=this.topLevelWorkspace.anchoredLocator,V=new Set,te=[],ie=XH(),ue=this.configuration.getSupportedArchitectures();await t.report.startProgressPromise(yo.progressViaTitle(),async ce=>{let Z=async tt=>{let Ne=await VE(async()=>await f.resolve(tt,E),Re=>`${Yr(this.configuration,tt)}: ${Re}`);if(!RB(tt,Ne))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${Yr(this.configuration,tt)} to ${Yr(this.configuration,Ne)})`);I.set(Ne.locatorHash,Ne),!r.delete(Ne.locatorHash)&&!this.tryWorkspaceByLocator(Ne)&&s.push(Ne);let be=await this.preparePackage(Ne,{resolver:f,resolveOptions:E}),je=Mu([...be.dependencies.values()].map(Re=>_(Re)));return te.push(je),je.catch(()=>{}),S.set(be.locatorHash,be),be},De=async tt=>{let Ne=T.get(tt.locatorHash);if(typeof Ne<"u")return Ne;let ke=Promise.resolve().then(()=>Z(tt));return T.set(tt.locatorHash,ke),ke},Qe=async(tt,Ne)=>{let ke=await _(Ne);return C.set(tt.descriptorHash,tt),x.set(tt.descriptorHash,ke.locatorHash),ke},st=async tt=>{ce.setTitle(oi(this.configuration,tt));let Ne=this.resolutionAliases.get(tt.descriptorHash);if(typeof Ne<"u")return Qe(tt,this.storedDescriptors.get(Ne));let ke=f.getResolutionDependencies(tt,E),be=Object.fromEntries(await Mu(Object.entries(ke).map(async([ct,Me])=>{let P=f.bindDescriptor(Me,U,E),w=await _(P);return V.add(w.locatorHash),[ct,w]}))),Re=(await VE(async()=>await f.getCandidates(tt,be,E),ct=>`${oi(this.configuration,tt)}: ${ct}`))[0];if(typeof Re>"u")throw new Lt(82,`${oi(this.configuration,tt)}: No candidates found`);if(t.checkResolutions){let{locators:ct}=await p.getSatisfying(tt,be,[Re],{...E,resolver:p});if(!ct.find(Me=>Me.locatorHash===Re.locatorHash))throw new Lt(78,`Invalid resolution ${DB(this.configuration,tt,Re)}`)}return C.set(tt.descriptorHash,tt),x.set(tt.descriptorHash,Re.locatorHash),De(Re)},_=tt=>{let Ne=O.get(tt.descriptorHash);if(typeof Ne<"u")return Ne;C.set(tt.descriptorHash,tt);let ke=Promise.resolve().then(()=>st(tt));return O.set(tt.descriptorHash,ke),ke};for(let tt of this.workspaces){let Ne=tt.anchoredDescriptor;te.push(_(Ne))}for(;te.length>0;){let tt=[...te];te.length=0,await Mu(tt)}});let ae=Xl(r.values(),ce=>this.tryWorkspaceByLocator(ce)?Xl.skip:ce);if(s.length>0||ae.length>0){let ce=new Set(this.workspaces.flatMap(tt=>{let Ne=S.get(tt.anchoredLocator.locatorHash);if(!Ne)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(Ne.dependencies.values(),ke=>{let be=x.get(ke.descriptorHash);if(!be)throw new Error("Assertion failed: The resolution should have been registered");return be})})),Z=tt=>ce.has(tt.locatorHash)?"0":"1",De=tt=>ml(tt),Qe=Vs(s,[Z,De]),st=Vs(ae,[Z,De]),_=t.report.getRecommendedLength();Qe.length>0&&t.report.reportInfo(85,`${jt(this.configuration,"+",gt.ADDED)} ${Zk(this.configuration,Qe,_)}`),st.length>0&&t.report.reportInfo(85,`${jt(this.configuration,"-",gt.REMOVED)} ${Zk(this.configuration,st,_)}`)}let de=new Set(this.resolutionAliases.values()),Ae=new Set(S.keys()),Ce=new Set,Ee=new Map,g=[],Se=new Map;Qit({project:this,accessibleLocators:Ce,volatileDescriptors:de,optionalBuilds:Ae,peerRequirements:Ee,peerWarnings:g,peerRequirementNodes:Se,allDescriptors:C,allResolutions:x,allPackages:S});for(let ce of V)Ae.delete(ce);for(let ce of de)C.delete(ce),x.delete(ce);let Be=new Set,me=new Set;for(let ce of S.values())ce.conditions!=null&&Ae.has(ce.locatorHash)&&(QQ(ce,ue)||(QQ(ce,ie)&&t.report.reportWarningOnce(77,`${Yr(this.configuration,ce)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${jt(this.configuration,"supportedArchitectures",gt.SETTING)} setting`),me.add(ce.locatorHash)),Be.add(ce.locatorHash));this.storedResolutions=x,this.storedDescriptors=C,this.storedPackages=S,this.accessibleLocators=Ce,this.conditionalLocators=Be,this.disabledLocators=me,this.originalPackages=I,this.optionalBuilds=Ae,this.peerRequirements=Ee,this.peerWarnings=g,this.peerRequirementNodes=Se}async fetchEverything({cache:t,report:r,fetcher:s,mode:a,persistProject:n=!0}){let c={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},f=s||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:t,fetcher:f,report:r,cacheOptions:c},h=Array.from(new Set(Vs(this.storedResolutions.values(),[I=>{let T=this.storedPackages.get(I);if(!T)throw new Error("Assertion failed: The locator should have been registered");return ml(T)}])));a==="update-lockfile"&&(h=h.filter(I=>!this.storedChecksums.has(I)));let E=!1,C=yo.progressViaCounter(h.length);await r.reportProgress(C);let S=(0,PT.default)(Pit);if(await Mu(h.map(I=>S(async()=>{let T=this.storedPackages.get(I);if(!T)throw new Error("Assertion failed: The locator should have been registered");if(ju(T))return;let O;try{O=await f.fetch(T,p)}catch(U){U.message=`${Yr(this.configuration,T)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}O.checksum!=null?this.storedChecksums.set(T.locatorHash,O.checksum):this.storedChecksums.delete(T.locatorHash),O.releaseFs&&O.releaseFs()}).finally(()=>{C.tick()}))),E)throw E;let x=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:t,report:r}):null;if(r.cacheMisses.size>0||x){let T=(await Promise.all([...r.cacheMisses].map(async ae=>{let de=this.storedPackages.get(ae),Ae=this.storedChecksums.get(ae)??null,Ce=t.getLocatorPath(de,Ae);return(await le.statPromise(Ce)).size}))).reduce((ae,de)=>ae+de,0)-(x?.size??0),O=r.cacheMisses.size,U=x?.count??0,V=`${qk(O,{zero:"No new packages",one:"A package was",more:`${jt(this.configuration,O,gt.NUMBER)} packages were`})} added to the project`,te=`${qk(U,{zero:"none were",one:"one was",more:`${jt(this.configuration,U,gt.NUMBER)} were`})} removed`,ie=T!==0?` (${jt(this.configuration,T,gt.SIZE_DIFF)})`:"",ue=U>0?O>0?`${V}, and ${te}${ie}.`:`${V}, but ${te}${ie}.`:`${V}${ie}.`;r.reportInfo(13,ue)}}async linkEverything({cache:t,report:r,fetcher:s,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},c=s||this.configuration.makeFetcher(),f={checksums:this.storedChecksums,project:this,cache:t,fetcher:c,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(Be=>{let me=Be.makeInstaller(h),ce=Be.getCustomDataKey(),Z=this.linkersCustomData.get(ce);return typeof Z<"u"&&me.attachCustomData(Z),[Be,me]})),C=new Map,S=new Map,x=new Map,I=new Map(await Mu([...this.accessibleLocators].map(async Be=>{let me=this.storedPackages.get(Be);if(!me)throw new Error("Assertion failed: The locator should have been registered");return[Be,await c.fetch(me,f)]}))),T=[],O=new Set,U=[];for(let Be of this.accessibleLocators){let me=this.storedPackages.get(Be);if(typeof me>"u")throw new Error("Assertion failed: The locator should have been registered");let ce=I.get(me.locatorHash);if(typeof ce>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Z=[],De=st=>{Z.push(st)},Qe=this.tryWorkspaceByLocator(me);if(Qe!==null){let st=[],{scripts:_}=Qe.manifest;for(let Ne of["preinstall","install","postinstall"])_.has(Ne)&&st.push({type:0,script:Ne});try{for(let[Ne,ke]of E)if(Ne.supportsPackage(me,h)&&(await ke.installPackage(me,ce,{holdFetchResult:De})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Z.length===0?ce.releaseFs?.():T.push(Mu(Z).catch(()=>{}).then(()=>{ce.releaseFs?.()}))}let tt=J.join(ce.packageFs.getRealPath(),ce.prefixPath);S.set(me.locatorHash,tt),!ju(me)&&st.length>0&&x.set(me.locatorHash,{buildDirectives:st,buildLocations:[tt]})}else{let st=p.find(Ne=>Ne.supportsPackage(me,h));if(!st)throw new Lt(12,`${Yr(this.configuration,me)} isn't supported by any available linker`);let _=E.get(st);if(!_)throw new Error("Assertion failed: The installer should have been registered");let tt;try{tt=await _.installPackage(me,ce,{holdFetchResult:De})}finally{Z.length===0?ce.releaseFs?.():T.push(Mu(Z).then(()=>{}).then(()=>{ce.releaseFs?.()}))}C.set(me.locatorHash,st),S.set(me.locatorHash,tt.packageLocation),tt.buildRequest&&tt.packageLocation&&(tt.buildRequest.skipped?(O.add(me.locatorHash),this.skippedBuilds.has(me.locatorHash)||U.push([me,tt.buildRequest.explain])):x.set(me.locatorHash,{buildDirectives:tt.buildRequest.directives,buildLocations:[tt.packageLocation]}))}}let V=new Map;for(let Be of this.accessibleLocators){let me=this.storedPackages.get(Be);if(!me)throw new Error("Assertion failed: The locator should have been registered");let ce=this.tryWorkspaceByLocator(me)!==null,Z=async(De,Qe)=>{let st=S.get(me.locatorHash);if(typeof st>"u")throw new Error(`Assertion failed: The package (${Yr(this.configuration,me)}) should have been registered`);let _=[];for(let tt of me.dependencies.values()){let Ne=this.storedResolutions.get(tt.descriptorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The resolution (${oi(this.configuration,tt)}, from ${Yr(this.configuration,me)})should have been registered`);let ke=this.storedPackages.get(Ne);if(typeof ke>"u")throw new Error(`Assertion failed: The package (${Ne}, resolved from ${oi(this.configuration,tt)}) should have been registered`);let be=this.tryWorkspaceByLocator(ke)===null?C.get(Ne):null;if(typeof be>"u")throw new Error(`Assertion failed: The package (${Ne}, resolved from ${oi(this.configuration,tt)}) should have been registered`);be===De||be===null?S.get(ke.locatorHash)!==null&&_.push([tt,ke]):!ce&&st!==null&&CB(V,Ne).push(st)}st!==null&&await Qe.attachInternalDependencies(me,_)};if(ce)for(let[De,Qe]of E)De.supportsPackage(me,h)&&await Z(De,Qe);else{let De=C.get(me.locatorHash);if(!De)throw new Error("Assertion failed: The linker should have been found");let Qe=E.get(De);if(!Qe)throw new Error("Assertion failed: The installer should have been registered");await Z(De,Qe)}}for(let[Be,me]of V){let ce=this.storedPackages.get(Be);if(!ce)throw new Error("Assertion failed: The package should have been registered");let Z=C.get(ce.locatorHash);if(!Z)throw new Error("Assertion failed: The linker should have been found");let De=E.get(Z);if(!De)throw new Error("Assertion failed: The installer should have been registered");await De.attachExternalDependents(ce,me)}let te=new Map;for(let[Be,me]of E){let ce=await me.finalizeInstall();for(let Z of ce?.records??[])Z.buildRequest.skipped?(O.add(Z.locator.locatorHash),this.skippedBuilds.has(Z.locator.locatorHash)||U.push([Z.locator,Z.buildRequest.explain])):x.set(Z.locator.locatorHash,{buildDirectives:Z.buildRequest.directives,buildLocations:Z.buildLocations});typeof ce?.customData<"u"&&te.set(Be.getCustomDataKey(),ce.customData)}if(this.linkersCustomData=te,await Mu(T),a==="skip-build")return;for(let[,Be]of Vs(U,([me])=>ml(me)))Be(r);let ie=new Set(x.keys()),ue=(0,bT.createHash)("sha512");ue.update(process.versions.node),await this.configuration.triggerHook(Be=>Be.globalHashGeneration,this,Be=>{ue.update("\0"),ue.update(Be)});let ae=ue.digest("hex"),de=new Map,Ae=Be=>{let me=de.get(Be.locatorHash);if(typeof me<"u")return me;let ce=this.storedPackages.get(Be.locatorHash);if(typeof ce>"u")throw new Error("Assertion failed: The package should have been registered");let Z=(0,bT.createHash)("sha512");Z.update(Be.locatorHash),de.set(Be.locatorHash,"");for(let De of ce.dependencies.values()){let Qe=this.storedResolutions.get(De.descriptorHash);if(typeof Qe>"u")throw new Error(`Assertion failed: The resolution (${oi(this.configuration,De)}) should have been registered`);let st=this.storedPackages.get(Qe);if(typeof st>"u")throw new Error("Assertion failed: The package should have been registered");Z.update(Ae(st))}return me=Z.digest("hex"),de.set(Be.locatorHash,me),me},Ce=(Be,me)=>{let ce=(0,bT.createHash)("sha512");ce.update(ae),ce.update(Ae(Be));for(let Z of me)ce.update(Z);return ce.digest("hex")},Ee=new Map,g=!1,Se=Be=>{let me=new Set([Be.locatorHash]);for(let ce of me){let Z=this.storedPackages.get(ce);if(!Z)throw new Error("Assertion failed: The package should have been registered");for(let De of Z.dependencies.values()){let Qe=this.storedResolutions.get(De.descriptorHash);if(!Qe)throw new Error(`Assertion failed: The resolution (${oi(this.configuration,De)}) should have been registered`);if(Qe!==Be.locatorHash&&ie.has(Qe))return!1;let st=this.storedPackages.get(Qe);if(!st)throw new Error("Assertion failed: The package should have been registered");let _=this.tryWorkspaceByLocator(st);if(_){if(_.anchoredLocator.locatorHash!==Be.locatorHash&&ie.has(_.anchoredLocator.locatorHash))return!1;me.add(_.anchoredLocator.locatorHash)}me.add(Qe)}}return!0};for(;ie.size>0;){let Be=ie.size,me=[];for(let ce of ie){let Z=this.storedPackages.get(ce);if(!Z)throw new Error("Assertion failed: The package should have been registered");if(!Se(Z))continue;let De=x.get(Z.locatorHash);if(!De)throw new Error("Assertion failed: The build directive should have been registered");let Qe=Ce(Z,De.buildLocations);if(this.storedBuildState.get(Z.locatorHash)===Qe){Ee.set(Z.locatorHash,Qe),ie.delete(ce);continue}g||(await this.persistInstallStateFile(),g=!0),this.storedBuildState.has(Z.locatorHash)?r.reportInfo(8,`${Yr(this.configuration,Z)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${Yr(this.configuration,Z)} must be built because it never has been before or the last one failed`);let st=De.buildLocations.map(async _=>{if(!J.isAbsolute(_))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${_})`);for(let tt of De.buildDirectives){let Ne=`# This file contains the result of Yarn building a package (${ml(Z)}) +`;switch(tt.type){case 0:Ne+=`# Script name: ${tt.script} +`;break;case 1:Ne+=`# Script code: ${tt.script} +`;break}let ke=null;if(!await le.mktempPromise(async je=>{let Re=J.join(je,"build.log"),{stdout:ct,stderr:Me}=this.configuration.getSubprocessStreams(Re,{header:Ne,prefix:Yr(this.configuration,Z),report:r}),P;try{switch(tt.type){case 0:P=await OR(Z,tt.script,[],{cwd:_,project:this,stdin:ke,stdout:ct,stderr:Me});break;case 1:P=await Tj(Z,tt.script,[],{cwd:_,project:this,stdin:ke,stdout:ct,stderr:Me});break}}catch(y){Me.write(y.stack),P=1}if(ct.end(),Me.end(),P===0)return!0;le.detachTemp(je);let w=`${Yr(this.configuration,Z)} couldn't be built successfully (exit code ${jt(this.configuration,P,gt.NUMBER)}, logs can be found here: ${jt(this.configuration,Re,gt.PATH)})`,b=this.optionalBuilds.has(Z.locatorHash);return b?r.reportInfo(9,w):r.reportError(9,w),wpe&&r.reportFold(fe.fromPortablePath(Re),le.readFileSync(Re,"utf8")),b}))return!1}return!0});me.push(...st,Promise.allSettled(st).then(_=>{ie.delete(ce),_.every(tt=>tt.status==="fulfilled"&&tt.value===!0)&&Ee.set(Z.locatorHash,Qe)}))}if(await Mu(me),Be===ie.size){let ce=Array.from(ie).map(Z=>{let De=this.storedPackages.get(Z);if(!De)throw new Error("Assertion failed: The package should have been registered");return Yr(this.configuration,De)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ce})`);break}}this.storedBuildState=Ee,this.skippedBuilds=O}async installWithNewReport(t,r){return(await Ot.start({configuration:this.configuration,json:t.json,stdout:t.stdout,forceSectionAlignment:!0,includeLogs:!t.json&&!t.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(t){let r=this.configuration.get("nodeLinker");ze.telemetry?.reportInstall(r);let s=!1;if(await t.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&t.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,C)=>{t.report.reportWarning(E,C)},reportError:(E,C)=>{t.report.reportError(E,C),s=!0}})}),s)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,C]of E)for(let S of C)S.status="inactive";let n=J.join(this.cwd,Er.lockfile),c=null;if(t.immutable)try{c=await le.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new Lt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await t.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(t)}),await t.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{Tit(this,t.report);for(let[,E]of a)for(let[,C]of E)for(let S of C)if(S.userProvided){let x=jt(this.configuration,S,gt.PACKAGE_EXTENSION);switch(S.status){case"inactive":t.report.reportWarning(68,`${x}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":t.report.reportWarning(69,`${x}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(c!==null){let E=md(c,this.generateLockfile());if(E!==c){let C=c0e(n,n,c,E,void 0,void 0,{maxEditLength:100});if(C){t.report.reportSeparator();for(let S of C.hunks){t.report.reportInfo(null,`@@ -${S.oldStart},${S.oldLines} +${S.newStart},${S.newLines} @@`);for(let x of S.lines)x.startsWith("+")?t.report.reportError(28,jt(this.configuration,x,gt.ADDED)):x.startsWith("-")?t.report.reportError(28,jt(this.configuration,x,gt.REMOVED)):t.report.reportInfo(null,jt(this.configuration,x,"grey"))}t.report.reportSeparator()}throw new Lt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,C]of E)for(let S of C)S.userProvided&&S.status==="active"&&ze.telemetry?.reportPackageExtension(Kd(S,gt.PACKAGE_EXTENSION));await t.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(t)});let f=t.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(f.map(async E=>SQ(E,{cwd:this.cwd})));(typeof t.persistProject>"u"||t.persistProject)&&await this.persist(),await t.report.startTimerPromise("Link step",async()=>{if(t.mode==="update-lockfile"){t.report.reportWarning(73,`Skipped due to ${jt(this.configuration,"mode=update-lockfile",gt.CODE)}`);return}await this.linkEverything(t);let E=await Promise.all(f.map(async C=>SQ(C,{cwd:this.cwd})));for(let C=0;C{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,C)=>{t.report.reportWarning(E,C)},reportError:(E,C)=>{t.report.reportError(E,C),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,t)}generateLockfile(){let t=new Map;for(let[n,c]of this.storedResolutions.entries()){let f=t.get(c);f||t.set(c,f=new Set),f.add(n)}let r={},{cacheKey:s}=Kr.getCacheKey(this.configuration);r.__metadata={version:xT,cacheKey:s};for(let[n,c]of t.entries()){let f=this.originalPackages.get(n);if(!f)continue;let p=[];for(let C of c){let S=this.storedDescriptors.get(C);if(!S)throw new Error("Assertion failed: The descriptor should have been registered");p.push(S)}let h=p.map(C=>dl(C)).sort().join(", "),E=new _t;E.version=f.linkType==="HARD"?f.version:"0.0.0-use.local",E.languageName=f.languageName,E.dependencies=new Map(f.dependencies),E.peerDependencies=new Map(f.peerDependencies),E.dependenciesMeta=new Map(f.dependenciesMeta),E.peerDependenciesMeta=new Map(f.peerDependenciesMeta),E.bin=new Map(f.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:f.linkType.toLowerCase(),resolution:ml(f),checksum:this.storedChecksums.get(f.locatorHash),conditions:f.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+fl(r)}async persistLockfile(){let t=J.join(this.cwd,Er.lockfile),r="";try{r=await le.readFilePromise(t,"utf8")}catch{}let s=this.generateLockfile(),a=md(r,s);a!==r&&(await le.writeFilePromise(t,a),this.lockFileChecksum=p0e(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let t=[];for(let c of Object.values(gG))t.push(...c);let r=Vd(this,t),s=dG.default.serialize(r),a=fs(s);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await le.mkdirPromise(J.dirname(n),{recursive:!0}),await le.writeFilePromise(n,await xit(s)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:t=!0,restoreResolutions:r=!0,restoreBuildState:s=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let c=await kit(await le.readFilePromise(a));n=dG.default.deserialize(c),this.installStateChecksum=fs(c)}catch{r&&await this.applyLightResolution();return}t&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),s&&Object.assign(this,Vd(n,gG.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,Vd(n,gG.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Qi}),await this.persistInstallStateFile()}async persist(){let t=(0,PT.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>t(()=>r.persistManifest()))])}async cacheCleanup({cache:t,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let s=new Set([".gitignore"]);if(!Q8(t.cwd,this.cwd)||!await le.existsPromise(t.cwd))return null;let a=[];for(let c of await le.readdirPromise(t.cwd)){if(s.has(c))continue;let f=J.resolve(t.cwd,c);t.markedFiles.has(f)||(t.immutable?r.reportError(56,`${jt(this.configuration,J.basename(f),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(le.lstatPromise(f).then(async p=>(await le.removePromise(f),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((c,f)=>c+f,0)}}}});function Fit(e){let s=Math.floor(e.timeNow/864e5),a=e.updateInterval*864e5,n=e.state.lastUpdate??e.timeNow+a+Math.floor(a*e.randomInitialInterval),c=n+a,f=e.state.lastTips??s*864e5,p=f+864e5+8*36e5-e.timeZone,h=c<=e.timeNow,E=p<=e.timeNow,C=null;return(h||E||!e.state.lastUpdate||!e.state.lastTips)&&(C={},C.lastUpdate=h?e.timeNow:n,C.lastTips=f,C.blocks=h?{}:e.state.blocks,C.displayedTips=e.state.displayedTips),{nextState:C,triggerUpdate:h,triggerTips:E,nextTips:E?s*864e5:f}}var GI,d0e=Xe(()=>{Dt();uv();E0();AR();kc();Np();GI=class{constructor(t,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=t;let s=this.getRegistryPath();this.isNew=!le.existsSync(s),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(t){let r=new Set(this.displayedTips),s=f=>f&&An?tA(An,f):!1,a=t.map((f,p)=>p).filter(f=>t[f]&&s(t[f]?.selector));if(a.length===0)return null;let n=a.filter(f=>!r.has(f));if(n.length===0){let f=Math.floor(a.length*.2);this.displayedTips=f>0?this.displayedTips.slice(-f):[],n=a.filter(p=>!r.has(p))}let c=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(c),this.commitTips(),t[c]}reportVersion(t){this.reportValue("version",t.replace(/-git\..*/,"-git"))}reportCommandName(t){this.reportValue("commandName",t||"")}reportPluginName(t){this.reportValue("pluginName",t)}reportProject(t){this.reportEnumerator("projectCount",t)}reportInstall(t){this.reportHit("installCount",t)}reportPackageExtension(t){this.reportValue("packageExtension",t)}reportWorkspaceCount(t){this.reportValue("workspaceCount",String(t))}reportDependencyCount(t){this.reportValue("dependencyCount",String(t))}reportValue(t,r){xp(this.values,t).add(r)}reportEnumerator(t,r){xp(this.enumerators,t).add(fs(r))}reportHit(t,r="*"){let s=x4(this.hits,t),a=Zl(s,r,()=>0);s.set(r,a+1)}getRegistryPath(){let t=this.configuration.get("globalFolder");return J.join(t,"telemetry.json")}sendReport(t){let r=this.getRegistryPath(),s;try{s=le.readJsonSync(r)}catch{s={}}let{nextState:a,triggerUpdate:n,triggerTips:c,nextTips:f}=Fit({state:s,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=f,this.displayedTips=s.displayedTips??[],a!==null)try{le.mkdirSync(J.dirname(r),{recursive:!0}),le.writeJsonSync(r,a)}catch{return!1}if(c&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=s.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${t}?ddsource=yarn`,E=C=>zH(h,C,{configuration:this.configuration}).catch(()=>{});for(let[C,S]of Object.entries(s.blocks??{})){if(Object.keys(S).length===0)continue;let x=S;x.userId=C,x.reportType="primary";for(let O of Object.keys(x.enumerators??{}))x.enumerators[O]=x.enumerators[O].length;E(x);let I=new Map,T=20;for(let[O,U]of Object.entries(x.values))U.length>0&&I.set(O,U.slice(0,T));for(;I.size>0;){let O={};O.userId=C,O.reportType="secondary",O.metrics={};for(let[U,V]of I)O.metrics[U]=V.shift(),V.length===0&&I.delete(U);E(O)}}}}return!0}applyChanges(){let t=this.getRegistryPath(),r;try{r=le.readJsonSync(t)}catch{r={}}let s=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[s]=a[s]??{};for(let c of this.hits.keys()){let f=n.hits=n.hits??{},p=f[c]=f[c]??{};for(let[h,E]of this.hits.get(c))p[h]=(p[h]??0)+E}for(let c of["values","enumerators"])for(let f of this[c].keys()){let p=n[c]=n[c]??{};p[f]=[...new Set([...p[f]??[],...this[c].get(f)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),le.mkdirSync(J.dirname(t),{recursive:!0}),le.writeJsonSync(t,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var jv={};Vt(jv,{BuildDirectiveType:()=>vT,CACHE_CHECKPOINT:()=>rG,CACHE_VERSION:()=>BT,Cache:()=>Kr,Configuration:()=>ze,DEFAULT_RC_FILENAME:()=>nj,DurationUnit:()=>ij,FormatType:()=>RAe,InstallMode:()=>Oa,LEGACY_PLUGINS:()=>ZB,LOCKFILE_VERSION:()=>xT,LegacyMigrationResolver:()=>_I,LightReport:()=>uA,LinkType:()=>zE,LockfileResolver:()=>HI,Manifest:()=>_t,MessageName:()=>Ir,MultiFetcher:()=>uI,PackageExtensionStatus:()=>T4,PackageExtensionType:()=>R4,PeerWarningType:()=>kT,Project:()=>Rt,Report:()=>yo,ReportError:()=>Lt,SettingsType:()=>SI,StreamReport:()=>Ot,TAG_REGEXP:()=>_p,TelemetryManager:()=>GI,ThrowReport:()=>Qi,VirtualFetcher:()=>fI,WindowsLinkType:()=>ER,Workspace:()=>jI,WorkspaceFetcher:()=>AI,WorkspaceResolver:()=>Ii,YarnVersion:()=>An,execUtils:()=>qr,folderUtils:()=>NQ,formatUtils:()=>pe,hashUtils:()=>Ln,httpUtils:()=>nn,miscUtils:()=>Ge,nodeUtils:()=>Ui,parseMessageName:()=>jx,reportOptionDeprecations:()=>PI,scriptUtils:()=>Cn,semverUtils:()=>kr,stringifyMessageName:()=>Kf,structUtils:()=>j,tgzUtils:()=>ds,treeUtils:()=>Rs});var qe=Xe(()=>{gR();OQ();Qc();E0();AR();kc();hR();Lj();Np();Zo();Jhe();t0e();nG();$B();$B();i0e();iG();s0e();sG();cI();Gx();I8();g0e();Fc();fv();d0e();pG();w8();B8();$d();hG();uv();Lae()});var w0e=G((t3t,qv)=>{"use strict";var Oit=process.env.TERM_PROGRAM==="Hyper",Lit=process.platform==="win32",E0e=process.platform==="linux",EG={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},I0e=Object.assign({},EG,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),C0e=Object.assign({},EG,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:E0e?"\u25B8":"\u276F",pointerSmall:E0e?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});qv.exports=Lit&&!Oit?I0e:C0e;Reflect.defineProperty(qv.exports,"common",{enumerable:!1,value:EG});Reflect.defineProperty(qv.exports,"windows",{enumerable:!1,value:I0e});Reflect.defineProperty(qv.exports,"other",{enumerable:!1,value:C0e})});var Xu=G((r3t,IG)=>{"use strict";var Mit=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Uit=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,B0e=()=>{let e={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(e.enabled=process.env.FORCE_COLOR!=="0");let t=n=>{let c=n.open=`\x1B[${n.codes[0]}m`,f=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(f)&&(h=h.replace(p,f+c));let C=c+h+f;return E?C.replace(/\r*\n/g,`${f}$&${c}`):C},n},r=(n,c,f)=>typeof n=="function"?n(c):n.wrap(c,f),s=(n,c)=>{if(n===""||n==null)return"";if(e.enabled===!1)return n;if(e.visible===!1)return"";let f=""+n,p=f.includes(` +`),h=c.length;for(h>0&&c.includes("unstyle")&&(c=[...new Set(["unstyle",...c])].reverse());h-- >0;)f=r(e.styles[c[h]],f,p);return f},a=(n,c,f)=>{e.styles[n]=t({name:n,codes:c}),(e.keys[f]||(e.keys[f]=[])).push(n),Reflect.defineProperty(e,n,{configurable:!0,enumerable:!0,set(h){e.alias(n,h)},get(){let h=E=>s(E,h.stack);return Reflect.setPrototypeOf(h,e),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),e.ansiRegex=Uit,e.hasColor=e.hasAnsi=n=>(e.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&e.ansiRegex.test(n)),e.alias=(n,c)=>{let f=typeof c=="string"?e[c]:c;if(typeof f!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");f.stack||(Reflect.defineProperty(f,"name",{value:n}),e.styles[n]=f,f.stack=[n]),Reflect.defineProperty(e,n,{configurable:!0,enumerable:!0,set(p){e.alias(n,p)},get(){let p=h=>s(h,p.stack);return Reflect.setPrototypeOf(p,e),p.stack=this.stack?this.stack.concat(f.stack):f.stack,p}})},e.theme=n=>{if(!Mit(n))throw new TypeError("Expected theme to be an object");for(let c of Object.keys(n))e.alias(c,n[c]);return e},e.alias("unstyle",n=>typeof n=="string"&&n!==""?(e.ansiRegex.lastIndex=0,n.replace(e.ansiRegex,"")):""),e.alias("noop",n=>n),e.none=e.clear=e.noop,e.stripColor=e.unstyle,e.symbols=w0e(),e.define=a,e};IG.exports=B0e();IG.exports.create=B0e});var na=G(hn=>{"use strict";var _it=Object.prototype.toString,Hc=Xu(),v0e=!1,CG=[],S0e={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};hn.longest=(e,t)=>e.reduce((r,s)=>Math.max(r,t?s[t].length:s.length),0);hn.hasColor=e=>!!e&&Hc.hasColor(e);var RT=hn.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);hn.nativeType=e=>_it.call(e).slice(8,-1).toLowerCase().replace(/\s/g,"");hn.isAsyncFn=e=>hn.nativeType(e)==="asyncfunction";hn.isPrimitive=e=>e!=null&&typeof e!="object"&&typeof e!="function";hn.resolve=(e,t,...r)=>typeof t=="function"?t.call(e,...r):t;hn.scrollDown=(e=[])=>[...e.slice(1),e[0]];hn.scrollUp=(e=[])=>[e.pop(),...e];hn.reorder=(e=[])=>{let t=e.slice();return t.sort((r,s)=>r.index>s.index?1:r.index{let s=e.length,a=r===s?0:r<0?s-1:r,n=e[t];e[t]=e[a],e[a]=n};hn.width=(e,t=80)=>{let r=e&&e.columns?e.columns:t;return e&&typeof e.getWindowSize=="function"&&(r=e.getWindowSize()[0]),process.platform==="win32"?r-1:r};hn.height=(e,t=20)=>{let r=e&&e.rows?e.rows:t;return e&&typeof e.getWindowSize=="function"&&(r=e.getWindowSize()[1]),r};hn.wordWrap=(e,t={})=>{if(!e)return e;typeof t=="number"&&(t={width:t});let{indent:r="",newline:s=` +`+r,width:a=80}=t,n=(s+r).match(/[^\S\n]/g)||[];a-=n.length;let c=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,f=e.trim(),p=new RegExp(c,"g"),h=f.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),t.padEnd&&(h=h.map(E=>E.padEnd(a," "))),t.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(s)};hn.unmute=e=>{let t=e.stack.find(s=>Hc.keys.color.includes(s));return t?Hc[t]:e.stack.find(s=>s.slice(2)==="bg")?Hc[t.slice(2)]:s=>s};hn.pascal=e=>e?e[0].toUpperCase()+e.slice(1):"";hn.inverse=e=>{if(!e||!e.stack)return e;let t=e.stack.find(s=>Hc.keys.color.includes(s));if(t){let s=Hc["bg"+hn.pascal(t)];return s?s.black:e}let r=e.stack.find(s=>s.slice(0,2)==="bg");return r?Hc[r.slice(2).toLowerCase()]||e:Hc.none};hn.complement=e=>{if(!e||!e.stack)return e;let t=e.stack.find(s=>Hc.keys.color.includes(s)),r=e.stack.find(s=>s.slice(0,2)==="bg");if(t&&!r)return Hc[S0e[t]||t];if(r){let s=r.slice(2).toLowerCase(),a=S0e[s];return a&&Hc["bg"+hn.pascal(a)]||e}return Hc.none};hn.meridiem=e=>{let t=e.getHours(),r=e.getMinutes(),s=t>=12?"pm":"am";t=t%12;let a=t===0?12:t,n=r<10?"0"+r:r;return a+":"+n+" "+s};hn.set=(e={},t="",r)=>t.split(".").reduce((s,a,n,c)=>{let f=c.length-1>n?s[a]||{}:r;return!hn.isObject(f)&&n{let s=e[t]==null?t.split(".").reduce((a,n)=>a&&a[n],e):e[t];return s??r};hn.mixin=(e,t)=>{if(!RT(e))return t;if(!RT(t))return e;for(let r of Object.keys(t)){let s=Object.getOwnPropertyDescriptor(t,r);if(s.hasOwnProperty("value"))if(e.hasOwnProperty(r)&&RT(s.value)){let a=Object.getOwnPropertyDescriptor(e,r);RT(a.value)?e[r]=hn.merge({},e[r],t[r]):Reflect.defineProperty(e,r,s)}else Reflect.defineProperty(e,r,s);else Reflect.defineProperty(e,r,s)}return e};hn.merge=(...e)=>{let t={};for(let r of e)hn.mixin(t,r);return t};hn.mixinEmitter=(e,t)=>{let r=t.constructor.prototype;for(let s of Object.keys(r)){let a=r[s];typeof a=="function"?hn.define(e,s,a.bind(t)):hn.define(e,s,a)}};hn.onExit=e=>{let t=(r,s)=>{v0e||(v0e=!0,CG.forEach(a=>a()),r===!0&&process.exit(128+s))};CG.length===0&&(process.once("SIGTERM",t.bind(null,!0,15)),process.once("SIGINT",t.bind(null,!0,2)),process.once("exit",t)),CG.push(e)};hn.define=(e,t,r)=>{Reflect.defineProperty(e,t,{value:r})};hn.defineExport=(e,t,r)=>{let s;Reflect.defineProperty(e,t,{enumerable:!0,configurable:!0,set(a){s=a},get(){return s?s():r()}})}});var D0e=G(VI=>{"use strict";VI.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};VI.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};VI.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};VI.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};VI.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var x0e=G((s3t,P0e)=>{"use strict";var b0e=Ie("readline"),Hit=D0e(),jit=/^(?:\x1b)([a-zA-Z0-9])$/,Git=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,qit={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Wit(e){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e)}function Yit(e){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e)}var TT=(e="",t={})=>{let r,s={name:t.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:e,raw:e,...t};if(Buffer.isBuffer(e)?e[0]>127&&e[1]===void 0?(e[0]-=128,e="\x1B"+String(e)):e=String(e):e!==void 0&&typeof e!="string"?e=String(e):e||(e=s.sequence||""),s.sequence=s.sequence||e||s.name,e==="\r")s.raw=void 0,s.name="return";else if(e===` +`)s.name="enter";else if(e===" ")s.name="tab";else if(e==="\b"||e==="\x7F"||e==="\x1B\x7F"||e==="\x1B\b")s.name="backspace",s.meta=e.charAt(0)==="\x1B";else if(e==="\x1B"||e==="\x1B\x1B")s.name="escape",s.meta=e.length===2;else if(e===" "||e==="\x1B ")s.name="space",s.meta=e.length===2;else if(e<="")s.name=String.fromCharCode(e.charCodeAt(0)+97-1),s.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")s.name="number";else if(e.length===1&&e>="a"&&e<="z")s.name=e;else if(e.length===1&&e>="A"&&e<="Z")s.name=e.toLowerCase(),s.shift=!0;else if(r=jit.exec(e))s.meta=!0,s.shift=/^[A-Z]$/.test(r[1]);else if(r=Git.exec(e)){let a=[...e];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),c=(r[3]||r[5]||1)-1;s.ctrl=!!(c&4),s.meta=!!(c&10),s.shift=!!(c&1),s.code=n,s.name=qit[n],s.shift=Wit(n)||s.shift,s.ctrl=Yit(n)||s.ctrl}return s};TT.listen=(e={},t)=>{let{stdin:r}=e;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let s=b0e.createInterface({terminal:!0,input:r});b0e.emitKeypressEvents(r,s);let a=(f,p)=>t(f,TT(f,p),s),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),s.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),s.pause(),s.close()}};TT.action=(e,t,r)=>{let s={...Hit,...r};return t.ctrl?(t.action=s.ctrl[t.name],t):t.option&&s.option?(t.action=s.option[t.name],t):t.shift?(t.action=s.shift[t.name],t):(t.action=s.keys[t.name],t)};P0e.exports=TT});var Q0e=G((o3t,k0e)=>{"use strict";k0e.exports=e=>{e.timers=e.timers||{};let t=e.options.timers;if(t)for(let r of Object.keys(t)){let s=t[r];typeof s=="number"&&(s={interval:s}),Vit(e,r,s)}};function Vit(e,t,r={}){let s=e.timers[t]={name:t,start:Date.now(),ms:0,tick:0},a=r.interval||120;s.frames=r.frames||[],s.loading=!0;let n=setInterval(()=>{s.ms=Date.now()-s.start,s.tick++,e.render()},a);return s.stop=()=>{s.loading=!1,clearInterval(n)},Reflect.defineProperty(s,"interval",{value:n}),e.once("close",()=>s.stop()),s.stop}});var T0e=G((a3t,R0e)=>{"use strict";var{define:Jit,width:Kit}=na(),wG=class{constructor(t){let r=t.options;Jit(this,"_prompt",t),this.type=t.type,this.name=t.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=Kit(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=t.symbols,this.styles=t.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let t={...this};return t.status=this.status,t.buffer=Buffer.from(t.buffer),delete t.clone,t}set color(t){this._color=t}get color(){let t=this.prompt.styles;if(this.cancelled)return t.cancelled;if(this.submitted)return t.submitted;let r=this._color||t[this.status];return typeof r=="function"?r:t.pending}set loading(t){this._loading=t}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};R0e.exports=wG});var N0e=G((l3t,F0e)=>{"use strict";var BG=na(),Io=Xu(),vG={default:Io.noop,noop:Io.noop,set inverse(e){this._inverse=e},get inverse(){return this._inverse||BG.inverse(this.primary)},set complement(e){this._complement=e},get complement(){return this._complement||BG.complement(this.primary)},primary:Io.cyan,success:Io.green,danger:Io.magenta,strong:Io.bold,warning:Io.yellow,muted:Io.dim,disabled:Io.gray,dark:Io.dim.gray,underline:Io.underline,set info(e){this._info=e},get info(){return this._info||this.primary},set em(e){this._em=e},get em(){return this._em||this.primary.underline},set heading(e){this._heading=e},get heading(){return this._heading||this.muted.underline},set pending(e){this._pending=e},get pending(){return this._pending||this.primary},set submitted(e){this._submitted=e},get submitted(){return this._submitted||this.success},set cancelled(e){this._cancelled=e},get cancelled(){return this._cancelled||this.danger},set typing(e){this._typing=e},get typing(){return this._typing||this.dim},set placeholder(e){this._placeholder=e},get placeholder(){return this._placeholder||this.primary.dim},set highlight(e){this._highlight=e},get highlight(){return this._highlight||this.inverse}};vG.merge=(e={})=>{e.styles&&typeof e.styles.enabled=="boolean"&&(Io.enabled=e.styles.enabled),e.styles&&typeof e.styles.visible=="boolean"&&(Io.visible=e.styles.visible);let t=BG.merge({},vG,e.styles);delete t.merge;for(let r of Object.keys(Io))t.hasOwnProperty(r)||Reflect.defineProperty(t,r,{get:()=>Io[r]});for(let r of Object.keys(Io.styles))t.hasOwnProperty(r)||Reflect.defineProperty(t,r,{get:()=>Io[r]});return t};F0e.exports=vG});var L0e=G((c3t,O0e)=>{"use strict";var SG=process.platform==="win32",Kp=Xu(),zit=na(),DG={...Kp.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Kp.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Kp.symbols.question,submitted:Kp.symbols.check,cancelled:Kp.symbols.cross},separator:{pending:Kp.symbols.pointerSmall,submitted:Kp.symbols.middot,cancelled:Kp.symbols.middot},radio:{off:SG?"( )":"\u25EF",on:SG?"(*)":"\u25C9",disabled:SG?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};DG.merge=e=>{let t=zit.merge({},Kp.symbols,DG,e.symbols);return delete t.merge,t};O0e.exports=DG});var U0e=G((u3t,M0e)=>{"use strict";var Xit=N0e(),Zit=L0e(),$it=na();M0e.exports=e=>{e.options=$it.merge({},e.options.theme,e.options),e.symbols=Zit.merge(e.options),e.styles=Xit.merge(e.options)}});var q0e=G((j0e,G0e)=>{"use strict";var _0e=process.env.TERM_PROGRAM==="Apple_Terminal",est=Xu(),bG=na(),Zu=G0e.exports=j0e,_i="\x1B[",H0e="\x07",PG=!1,H0=Zu.code={bell:H0e,beep:H0e,beginning:`${_i}G`,down:`${_i}J`,esc:_i,getPosition:`${_i}6n`,hide:`${_i}?25l`,line:`${_i}2K`,lineEnd:`${_i}K`,lineStart:`${_i}1K`,restorePosition:_i+(_0e?"8":"u"),savePosition:_i+(_0e?"7":"s"),screen:`${_i}2J`,show:`${_i}?25h`,up:`${_i}1J`},Sm=Zu.cursor={get hidden(){return PG},hide(){return PG=!0,H0.hide},show(){return PG=!1,H0.show},forward:(e=1)=>`${_i}${e}C`,backward:(e=1)=>`${_i}${e}D`,nextLine:(e=1)=>`${_i}E`.repeat(e),prevLine:(e=1)=>`${_i}F`.repeat(e),up:(e=1)=>e?`${_i}${e}A`:"",down:(e=1)=>e?`${_i}${e}B`:"",right:(e=1)=>e?`${_i}${e}C`:"",left:(e=1)=>e?`${_i}${e}D`:"",to(e,t){return t?`${_i}${t+1};${e+1}H`:`${_i}${e+1}G`},move(e=0,t=0){let r="";return r+=e<0?Sm.left(-e):e>0?Sm.right(e):"",r+=t<0?Sm.up(-t):t>0?Sm.down(t):"",r},restore(e={}){let{after:t,cursor:r,initial:s,input:a,prompt:n,size:c,value:f}=e;if(s=bG.isPrimitive(s)?String(s):"",a=bG.isPrimitive(a)?String(a):"",f=bG.isPrimitive(f)?String(f):"",c){let p=Zu.cursor.up(c)+Zu.cursor.to(n.length),h=a.length-r;return h>0&&(p+=Zu.cursor.left(h)),p}if(f||t){let p=!a&&s?-s.length:-a.length+r;return t&&(p-=t.length),a===""&&s&&!n.includes(s)&&(p+=s.length),Zu.cursor.move(p)}}},xG=Zu.erase={screen:H0.screen,up:H0.up,down:H0.down,line:H0.line,lineEnd:H0.lineEnd,lineStart:H0.lineStart,lines(e){let t="";for(let r=0;r{if(!t)return xG.line+Sm.to(0);let r=n=>[...est.unstyle(n)].length,s=e.split(/\r?\n/),a=0;for(let n of s)a+=1+Math.floor(Math.max(r(n)-1,0)/t);return(xG.line+Sm.prevLine()).repeat(a-1)+xG.line+Sm.to(0)}});var JI=G((f3t,Y0e)=>{"use strict";var tst=Ie("events"),W0e=Xu(),kG=x0e(),rst=Q0e(),nst=T0e(),ist=U0e(),Cl=na(),Dm=q0e(),QG=class e extends tst{constructor(t={}){super(),this.name=t.name,this.type=t.type,this.options=t,ist(this),rst(this),this.state=new nst(this),this.initial=[t.initial,t.default].find(r=>r!=null),this.stdout=t.stdout||process.stdout,this.stdin=t.stdin||process.stdin,this.scale=t.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=ost(this.options.margin),this.setMaxListeners(0),sst(this)}async keypress(t,r={}){this.keypressed=!0;let s=kG.action(t,kG(t,r),this.options.actions);this.state.keypress=s,this.emit("keypress",t,s),this.emit("state",this.state.clone());let a=this.options[s.action]||this[s.action]||this.dispatch;if(typeof a=="function")return await a.call(this,t,s);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Dm.code.beep)}cursorHide(){this.stdout.write(Dm.cursor.hide()),Cl.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Dm.cursor.show())}write(t){t&&(this.stdout&&this.state.show!==!1&&this.stdout.write(t),this.state.buffer+=t)}clear(t=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!t||this.options.show===!1)&&this.stdout.write(Dm.cursor.down(t)+Dm.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:t,after:r,rest:s}=this.sections(),{cursor:a,initial:n="",input:c="",value:f=""}=this,p=this.state.size=s.length,h={after:r,cursor:a,initial:n,input:c,prompt:t,size:p,value:f},E=Dm.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:t,input:r,prompt:s}=this.state;s=W0e.unstyle(s);let a=W0e.unstyle(t),n=a.indexOf(s),c=a.slice(0,n),p=a.slice(n).split(` +`),h=p[0],E=p[p.length-1],S=(s+(r?" "+r:"")).length,x=St.call(this,this.value),this.result=()=>s.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(t,r)=>{if(this.once("submit",t),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(t,r,s){let{options:a,state:n,symbols:c,timers:f}=this,p=f&&f[t];n.timer=p;let h=a[t]||n[t]||c[t],E=r&&r[t]!=null?r[t]:await h;if(E==="")return E;let C=await this.resolve(E,n,r,s);return!C&&r&&r[t]?this.resolve(h,n,r,s):C}async prefix(){let t=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,s=this.state;return s.timer=r,Cl.isObject(t)&&(t=t[s.status]||t.pending),Cl.hasColor(t)?t:(this.styles[s.status]||this.styles.pending)(t)}async message(){let t=await this.element("message");return Cl.hasColor(t)?t:this.styles.strong(t)}async separator(){let t=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,s=this.state;s.timer=r;let a=t[s.status]||t.pending||s.separator,n=await this.resolve(a,s);return Cl.isObject(n)&&(n=n[s.status]||n.pending),Cl.hasColor(n)?n:this.styles.muted(n)}async pointer(t,r){let s=await this.element("pointer",t,r);if(typeof s=="string"&&Cl.hasColor(s))return s;if(s){let a=this.styles,n=this.index===r,c=n?a.primary:h=>h,f=await this.resolve(s[n?"on":"off"]||s,this.state),p=Cl.hasColor(f)?f:c(f);return n?p:" ".repeat(f.length)}}async indicator(t,r){let s=await this.element("indicator",t,r);if(typeof s=="string"&&Cl.hasColor(s))return s;if(s){let a=this.styles,n=t.enabled===!0,c=n?a.success:a.dark,f=s[n?"on":"off"]||s;return Cl.hasColor(f)?f:c(f)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let t=await this.element("hint");return Cl.hasColor(t)?t:this.styles.muted(t)}}error(t){return this.state.submitted?"":t||this.state.error}format(t){return t}result(t){return t}validate(t){return this.options.required===!0?this.isValue(t):!0}isValue(t){return t!=null&&t!==""}resolve(t,...r){return Cl.resolve(this,t,...r)}get base(){return e.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Cl.height(this.stdout,25)}get width(){return this.options.columns||Cl.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(t){this.state.cursor=t}get cursor(){return this.state.cursor}set input(t){this.state.input=t}get input(){return this.state.input}set value(t){this.state.value=t}get value(){let{input:t,value:r}=this.state,s=[r,t].find(this.isValue.bind(this));return this.isValue(s)?s:this.initial}static get prompt(){return t=>new this(t).run()}};function sst(e){let t=a=>e[a]===void 0||typeof e[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],s=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(e.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=e.options[a];typeof n=="function"&&t(a)?s.includes(a)||(e[a]=n.bind(e)):typeof e[a]!="function"&&(e[a]=n)}}function ost(e){typeof e=="number"&&(e=[e,e,e,e]);let t=[].concat(e||[]),r=a=>a%2===0?` +`:" ",s=[];for(let a=0;a<4;a++){let n=r(a);t[a]?s.push(n.repeat(t[a])):s.push("")}return s}Y0e.exports=QG});var K0e=G((A3t,J0e)=>{"use strict";var ast=na(),V0e={default(e,t){return t},checkbox(e,t){throw new Error("checkbox role is not implemented yet")},editable(e,t){throw new Error("editable role is not implemented yet")},expandable(e,t){throw new Error("expandable role is not implemented yet")},heading(e,t){return t.disabled="",t.indicator=[t.indicator," "].find(r=>r!=null),t.message=t.message||"",t},input(e,t){throw new Error("input role is not implemented yet")},option(e,t){return V0e.default(e,t)},radio(e,t){throw new Error("radio role is not implemented yet")},separator(e,t){return t.disabled="",t.indicator=[t.indicator," "].find(r=>r!=null),t.message=t.message||e.symbols.line.repeat(5),t},spacer(e,t){return t}};J0e.exports=(e,t={})=>{let r=ast.merge({},V0e,t.roles);return r[e]||r.default}});var Wv=G((p3t,Z0e)=>{"use strict";var lst=Xu(),cst=JI(),ust=K0e(),FT=na(),{reorder:RG,scrollUp:fst,scrollDown:Ast,isObject:z0e,swap:pst}=FT,TG=class extends cst{constructor(t){super(t),this.cursorHide(),this.maxSelected=t.maxSelected||1/0,this.multiple=t.multiple||!1,this.initial=t.initial||0,this.delay=t.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:t,initial:r,autofocus:s,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(t)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");z0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(s!=null&&(this.index=this.findIndex(s)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(s!=null&&(r=s),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(t,r){this.state.loadingChoices=!0;let s=[],a=0,n=async(c,f)=>{typeof c=="function"&&(c=await c.call(this)),c instanceof Promise&&(c=await c);for(let p=0;p(this.state.loadingChoices=!1,c))}async toChoice(t,r,s){if(typeof t=="function"&&(t=await t.call(this,this)),t instanceof Promise&&(t=await t),typeof t=="string"&&(t={name:t}),t.normalized)return t;t.normalized=!0;let a=t.value;if(t=ust(t.role,this.options)(this,t),typeof t.disabled=="string"&&!t.hint&&(t.hint=t.disabled,t.disabled=!0),t.disabled===!0&&t.hint==null&&(t.hint="(disabled)"),t.index!=null)return t;t.name=t.name||t.key||t.title||t.value||t.message,t.message=t.message||t.name||"",t.value=[t.value,t.name].find(this.isValue.bind(this)),t.input="",t.index=r,t.cursor=0,FT.define(t,"parent",s),t.level=s?s.level+1:1,t.indent==null&&(t.indent=s?s.indent+" ":t.indent||""),t.path=s?s.path+"."+t.name:t.name,t.enabled=!!(this.multiple&&!this.isDisabled(t)&&(t.enabled||this.isSelected(t))),this.isDisabled(t)||(this.longest=Math.max(this.longest,lst.unstyle(t.message).length));let c={...t};return t.reset=(f=c.input,p=c.value)=>{for(let h of Object.keys(c))t[h]=c[h];t.input=f,t.value=p},a==null&&typeof t.initial=="function"&&(t.input=await t.initial.call(this,this.state,t,r)),t}async onChoice(t,r){this.emit("choice",t,r,this),typeof t.onChoice=="function"&&await t.onChoice.call(this,this.state,t,r)}async addChoice(t,r,s){let a=await this.toChoice(t,r,s);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(t,r,s){let a={name:"New choice name?",editable:!0,newChoice:!0,...t},n=await this.addChoice(a,r,s);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(t){return t.indent==null?t.level>1?" ".repeat(t.level-1):"":t.indent}dispatch(t,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(t,r){return typeof r!="boolean"&&(r=t.enabled),r&&!t.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=t.index,t.enabled=r&&!this.isDisabled(t),t)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!t),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(t=>t.enabled=!t.enabled),this.render())}g(t=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(t.parent&&!t.choices?t.parent:t),this.render()):this.a()}toggle(t,r){if(!t.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!t.enabled),t.enabled=r,t.choices&&t.choices.forEach(a=>this.toggle(a,r));let s=t.parent;for(;s;){let a=s.choices.filter(n=>this.isDisabled(n));s.enabled=a.every(n=>n.enabled===!0),s=s.parent}return X0e(this,this.choices),this.emit("toggle",t,this),t}enable(t){return this.selected.length>=this.maxSelected?this.alert():(t.enabled=!this.isDisabled(t),t.choices&&t.choices.forEach(this.enable.bind(this)),t)}disable(t){return t.enabled=!1,t.choices&&t.choices.forEach(this.disable.bind(this)),t}number(t){this.num+=t;let r=s=>{let a=Number(s);if(a>this.choices.length-1)return this.alert();let n=this.focused,c=this.choices.find(f=>a===f.index);if(!c.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(c)===-1){let f=RG(this.choices),p=f.indexOf(c);if(n.index>p){let h=f.slice(p,p+this.limit),E=f.filter(C=>!h.includes(C));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=f.slice(h).concat(f.slice(0,h))}}return this.index=this.choices.indexOf(c),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(s=>{let a=this.choices.length,n=this.num,c=(f=!1,p)=>{clearTimeout(this.numberTimeout),f&&(p=r(n)),this.num="",s(p)};if(n==="0"||n.length===1&&+(n+"0")>a)return c(!0);if(Number(n)>a)return c(!1,this.alert());this.numberTimeout=setTimeout(()=>c(!0),this.delay)})}home(){return this.choices=RG(this.choices),this.index=0,this.render()}end(){let t=this.choices.length-this.limit,r=RG(this.choices);return this.choices=r.slice(t).concat(r.slice(0,t)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let t=this.choices.length,r=this.visible.length,s=this.index;return this.options.scroll===!1&&s===0?this.alert():t>r&&s===0?this.scrollUp():(this.index=(s-1%t+t)%t,this.isDisabled()?this.up():this.render())}down(){let t=this.choices.length,r=this.visible.length,s=this.index;return this.options.scroll===!1&&s===r-1?this.alert():t>r&&s===r-1?this.scrollDown():(this.index=(s+1)%t,this.isDisabled()?this.down():this.render())}scrollUp(t=0){return this.choices=fst(this.choices),this.index=t,this.isDisabled()?this.up():this.render()}scrollDown(t=this.visible.length-1){return this.choices=Ast(this.choices),this.index=t,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(t){pst(this.choices,this.index,t)}isDisabled(t=this.focused){return t&&["disabled","collapsed","hidden","completing","readonly"].some(s=>t[s]===!0)?!0:t&&t.role==="heading"}isEnabled(t=this.focused){if(Array.isArray(t))return t.every(r=>this.isEnabled(r));if(t.choices){let r=t.choices.filter(s=>!this.isDisabled(s));return t.enabled&&r.every(s=>this.isEnabled(s))}return t.enabled&&!this.isDisabled(t)}isChoice(t,r){return t.name===r||t.index===Number(r)}isSelected(t){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(t,r)):this.isChoice(t,this.initial)}map(t=[],r="value"){return[].concat(t||[]).reduce((s,a)=>(s[a]=this.find(a,r),s),{})}filter(t,r){let a=typeof t=="function"?t:(f,p)=>[f.name,p].includes(t),c=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?c.map(f=>f[r]):c}find(t,r){if(z0e(t))return r?t[r]:t;let a=typeof t=="function"?t:(c,f)=>[c.name,f].includes(t),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(t){return this.choices.indexOf(this.find(t))}async submit(){let t=this.focused;if(!t)return this.alert();if(t.newChoice)return t.input?(t.updateChoice(),this.render()):this.alert();if(this.choices.some(c=>c.newChoice))return this.alert();let{reorder:r,sort:s}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&s!==!0&&(n=FT.reorder(n)),this.value=a?n.map(c=>c.name):n.name,super.submit())}set choices(t=[]){this.state._choices=this.state._choices||[],this.state.choices=t;for(let r of t)this.state._choices.some(s=>s.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let s=this.find(r);s&&(this.initial=s.index,this.focus(s,!0))}}}get choices(){return X0e(this,this.state.choices||[])}set visible(t){this.state.visible=t}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(t){this.state.limit=t}get limit(){let{state:t,options:r,choices:s}=this,a=t.limit||this._limit||r.limit||s.length;return Math.min(a,this.height)}set value(t){super.value=t}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(t){this.state.index=t}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let t=this.choices[this.index];return t&&this.state.submitted&&this.multiple!==!0&&(t.enabled=!0),t}get selectable(){return this.choices.filter(t=>!this.isDisabled(t))}get selected(){return this.multiple?this.enabled:this.focused}};function X0e(e,t){if(t instanceof Promise)return t;if(typeof t=="function"){if(FT.isAsyncFn(t))return t;t=t.call(e,e)}for(let r of t){if(Array.isArray(r.choices)){let s=r.choices.filter(a=>!e.isDisabled(a));r.enabled=s.every(a=>a.enabled===!0)}e.isDisabled(r)===!0&&delete r.enabled}return t}Z0e.exports=TG});var j0=G((h3t,$0e)=>{"use strict";var hst=Wv(),FG=na(),NG=class extends hst{constructor(t){super(t),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(t,r){if(this.multiple)return this[r.name]?await this[r.name](t,r):await super.dispatch(t,r);this.alert()}separator(){if(this.options.separator)return super.separator();let t=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():t}pointer(t,r){return!this.multiple||this.options.pointer?super.pointer(t,r):""}indicator(t,r){return this.multiple?super.indicator(t,r):""}choiceMessage(t,r){let s=this.resolve(t.message,this.state,t,r);return t.role==="heading"&&!FG.hasColor(s)&&(s=this.styles.strong(s)),this.resolve(s,this.state,t,r)}choiceSeparator(){return":"}async renderChoice(t,r){await this.onChoice(t,r);let s=this.index===r,a=await this.pointer(t,r),n=await this.indicator(t,r)+(t.pad||""),c=await this.resolve(t.hint,this.state,t,r);c&&!FG.hasColor(c)&&(c=this.styles.muted(c));let f=this.indent(t),p=await this.choiceMessage(t,r),h=()=>[this.margin[3],f+a+n,p,this.margin[1],c].filter(Boolean).join(" ");return t.role==="heading"?h():t.disabled?(FG.hasColor(p)||(p=this.styles.disabled(p)),h()):(s&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let t=this.visible.map(async(n,c)=>await this.renderChoice(n,c)),r=await Promise.all(t);r.length||r.push(this.styles.danger("No matching choices"));let s=this.margin[0]+r.join(` +`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,s].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(t=>this.styles.primary(t.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:t,size:r}=this.state,s="",a=await this.header(),n=await this.prefix(),c=await this.separator(),f=await this.message();this.options.promptLine!==!1&&(s=[n,f,c,""].join(" "),this.state.prompt=s);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),C=await this.footer();p&&(s+=p),h&&!s.includes(h)&&(s+=" "+h),t&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(s+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,s,E,C].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};$0e.exports=NG});var tge=G((g3t,ege)=>{"use strict";var gst=j0(),dst=(e,t)=>{let r=e.toLowerCase();return s=>{let n=s.toLowerCase().indexOf(r),c=t(s.slice(n,n+r.length));return n>=0?s.slice(0,n)+c+s.slice(n+r.length):s}},OG=class extends gst{constructor(t){super(t),this.cursorShow()}moveCursor(t){this.state.cursor+=t}dispatch(t){return this.append(t)}space(t){return this.options.multiple?super.space(t):this.append(t)}append(t){let{cursor:r,input:s}=this.state;return this.input=s.slice(0,r)+t+s.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:t,input:r}=this.state;return r?(this.input=r.slice(0,t-1)+r.slice(t),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:t,input:r}=this.state;return r[t]===void 0?this.alert():(this.input=`${r}`.slice(0,t)+`${r}`.slice(t+1),this.complete())}number(t){return this.append(t)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(t=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,t,r);let s=t.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(s))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(t=>this.styles.primary(t.message)).join(", ");if(this.state.submitted){let t=this.value=this.input=this.focused.value;return this.styles.primary(t)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let t=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=dst(this.input,t),s=this.choices;this.choices=s.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=s}submit(){return this.options.multiple&&(this.value=this.selected.map(t=>t.name)),super.submit()}};ege.exports=OG});var MG=G((d3t,rge)=>{"use strict";var LG=na();rge.exports=(e,t={})=>{e.cursorHide();let{input:r="",initial:s="",pos:a,showCursor:n=!0,color:c}=t,f=c||e.styles.placeholder,p=LG.inverse(e.styles.primary),h=T=>p(e.styles.black(T)),E=r,C=" ",S=h(C);if(e.blink&&e.blink.off===!0&&(h=T=>T,S=""),n&&a===0&&s===""&&r==="")return h(C);if(n&&a===0&&(r===s||r===""))return h(s[0])+f(s.slice(1));s=LG.isPrimitive(s)?`${s}`:"",r=LG.isPrimitive(r)?`${r}`:"";let x=s&&s.startsWith(r)&&s!==r,I=x?h(s[r.length]):S;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),I=""),n===!1&&(I=""),x){let T=e.styles.unstyle(E+I);return E+I+f(s.slice(T.length))}return E+I}});var NT=G((m3t,nge)=>{"use strict";var mst=Xu(),yst=j0(),Est=MG(),UG=class extends yst{constructor(t){super({...t,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(t){return await super.reset(),t===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(t){return!!t&&this.append(t)}append(t){let r=this.focused;if(!r)return this.alert();let{cursor:s,input:a}=r;return r.value=r.input=a.slice(0,s)+t+a.slice(s),r.cursor++,this.render()}delete(){let t=this.focused;if(!t||t.cursor<=0)return this.alert();let{cursor:r,input:s}=t;return t.value=t.input=s.slice(0,r-1)+s.slice(r),t.cursor--,this.render()}deleteForward(){let t=this.focused;if(!t)return this.alert();let{cursor:r,input:s}=t;if(s[r]===void 0)return this.alert();let a=`${s}`.slice(0,r)+`${s}`.slice(r+1);return t.value=t.input=a,this.render()}right(){let t=this.focused;return t?t.cursor>=t.input.length?this.alert():(t.cursor++,this.render()):this.alert()}left(){let t=this.focused;return t?t.cursor<=0?this.alert():(t.cursor--,this.render()):this.alert()}space(t,r){return this.dispatch(t,r)}number(t,r){return this.dispatch(t,r)}next(){let t=this.focused;if(!t)return this.alert();let{initial:r,input:s}=t;return r&&r.startsWith(s)&&s!==r?(t.value=t.input=r,t.cursor=t.value.length,this.render()):super.next()}prev(){let t=this.focused;return t?t.cursor===0?super.prev():(t.value=t.input="",t.cursor=0,this.render()):this.alert()}separator(){return""}format(t){return this.state.submitted?"":super.format(t)}pointer(){return""}indicator(t){return t.input?"\u29BF":"\u2299"}async choiceSeparator(t,r){let s=await this.resolve(t.separator,this.state,t,r)||":";return s?" "+this.styles.disabled(s):""}async renderChoice(t,r){await this.onChoice(t,r);let{state:s,styles:a}=this,{cursor:n,initial:c="",name:f,hint:p,input:h=""}=t,{muted:E,submitted:C,primary:S,danger:x}=a,I=p,T=this.index===r,O=t.validate||(()=>!0),U=await this.choiceSeparator(t,r),V=t.message;this.align==="right"&&(V=V.padStart(this.longest+1," ")),this.align==="left"&&(V=V.padEnd(this.longest+1," "));let te=this.values[f]=h||c,ie=h?"success":"dark";await O.call(t,te,this.state)!==!0&&(ie="danger");let ue=a[ie],ae=ue(await this.indicator(t,r))+(t.pad||""),de=this.indent(t),Ae=()=>[de,ae,V+U,h,I].filter(Boolean).join(" ");if(s.submitted)return V=mst.unstyle(V),h=C(h),I="",Ae();if(t.format)h=await t.format.call(this,h,t,r);else{let Ce=this.styles.muted;h=Est(this,{input:h,initial:c,pos:n,showCursor:T,color:Ce})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),t.result&&(this.values[f]=await t.result.call(this,te,t,r)),T&&(V=S(V)),t.error?h+=(h?" ":"")+x(t.error.trim()):t.hint&&(h+=(h?" ":"")+E(t.hint.trim())),Ae()}async submit(){return this.value=this.values,super.base.submit.call(this)}};nge.exports=UG});var _G=G((y3t,sge)=>{"use strict";var Ist=NT(),Cst=()=>{throw new Error("expected prompt to have a custom authenticate method")},ige=(e=Cst)=>{class t extends Ist{constructor(s){super(s)}async submit(){this.value=await e.call(this,this.values,this.state),super.base.submit.call(this)}static create(s){return ige(s)}}return t};sge.exports=ige()});var lge=G((E3t,age)=>{"use strict";var wst=_G();function Bst(e,t){return e.username===this.options.username&&e.password===this.options.password}var oge=(e=Bst)=>{let t=[{name:"username",message:"username"},{name:"password",message:"password",format(s){return this.options.showPassword?s:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(s.length))}}];class r extends wst.create(e){constructor(a){super({...a,choices:t})}static create(a){return oge(a)}}return r};age.exports=oge()});var OT=G((I3t,cge)=>{"use strict";var vst=JI(),{isPrimitive:Sst,hasColor:Dst}=na(),HG=class extends vst{constructor(t){super(t),this.cursorHide()}async initialize(){let t=await this.resolve(this.initial,this.state);this.input=await this.cast(t),await super.initialize()}dispatch(t){return this.isValue(t)?(this.input=t,this.submit()):this.alert()}format(t){let{styles:r,state:s}=this;return s.submitted?r.success(t):r.primary(t)}cast(t){return this.isTrue(t)}isTrue(t){return/^[ty1]/i.test(t)}isFalse(t){return/^[fn0]/i.test(t)}isValue(t){return Sst(t)&&(this.isTrue(t)||this.isFalse(t))}async hint(){if(this.state.status==="pending"){let t=await this.element("hint");return Dst(t)?t:this.styles.muted(t)}}async render(){let{input:t,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),c=this.styles.muted(this.default),f=[s,n,c,a].filter(Boolean).join(" ");this.state.prompt=f;let p=await this.header(),h=this.value=this.cast(t),E=await this.format(h),C=await this.error()||await this.hint(),S=await this.footer();C&&!f.includes(C)&&(E+=" "+C),f+=" "+E,this.clear(r),this.write([p,f,S].filter(Boolean).join(` +`)),this.restore()}set value(t){super.value=t}get value(){return this.cast(super.value)}};cge.exports=HG});var fge=G((C3t,uge)=>{"use strict";var bst=OT(),jG=class extends bst{constructor(t){super(t),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};uge.exports=jG});var pge=G((w3t,Age)=>{"use strict";var Pst=j0(),xst=NT(),KI=xst.prototype,GG=class extends Pst{constructor(t){super({...t,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(t,r){let s=this.focused,a=s.parent||{};return!s.editable&&!a.editable&&(t==="a"||t==="i")?super[t]():KI.dispatch.call(this,t,r)}append(t,r){return KI.append.call(this,t,r)}delete(t,r){return KI.delete.call(this,t,r)}space(t){return this.focused.editable?this.append(t):super.space()}number(t){return this.focused.editable?this.append(t):super.number(t)}next(){return this.focused.editable?KI.next.call(this):super.next()}prev(){return this.focused.editable?KI.prev.call(this):super.prev()}async indicator(t,r){let s=t.indicator||"",a=t.editable?s:super.indicator(t,r);return await this.resolve(a,this.state,t,r)||""}indent(t){return t.role==="heading"?"":t.editable?" ":" "}async renderChoice(t,r){return t.indent="",t.editable?KI.renderChoice.call(this,t,r):super.renderChoice(t,r)}error(){return""}footer(){return this.state.error}async validate(){let t=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let s=r.parent?this.value[r.parent.name]:this.value;if(r.editable?s=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(s=r.enabled===!0),t=await r.validate(s,this.state),t!==!0)break}return t!==!0&&(this.state.error=typeof t=="string"?t:"Invalid Input"),t}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(t=>t.newChoice))return this.alert();this.value={};for(let t of this.choices){let r=t.parent?this.value[t.parent.name]:this.value;if(t.role==="heading"){this.value[t.name]={};continue}t.editable?r[t.name]=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(r[t.name]=t.enabled===!0)}return this.base.submit.call(this)}};Age.exports=GG});var bm=G((B3t,hge)=>{"use strict";var kst=JI(),Qst=MG(),{isPrimitive:Rst}=na(),qG=class extends kst{constructor(t){super(t),this.initial=Rst(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(t,r={}){let s=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!s||s.name!=="return")?this.append(` +`,r):super.keypress(t,r)}moveCursor(t){this.cursor+=t}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(t,r){if(!t||r.ctrl||r.code)return this.alert();this.append(t)}append(t){let{cursor:r,input:s}=this.state;this.input=`${s}`.slice(0,r)+t+`${s}`.slice(r),this.moveCursor(String(t).length),this.render()}insert(t){this.append(t)}delete(){let{cursor:t,input:r}=this.state;if(t<=0)return this.alert();this.input=`${r}`.slice(0,t-1)+`${r}`.slice(t),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:t,input:r}=this.state;if(r[t]===void 0)return this.alert();this.input=`${r}`.slice(0,t)+`${r}`.slice(t+1),this.render()}cutForward(){let t=this.cursor;if(this.input.length<=t)return this.alert();this.state.clipboard.push(this.input.slice(t)),this.input=this.input.slice(0,t),this.render()}cutLeft(){let t=this.cursor;if(t===0)return this.alert();let r=this.input.slice(0,t),s=this.input.slice(t),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=s,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let t=this.initial!=null?String(this.initial):"";if(!t||!t.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(t){return!!t}async format(t=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(t||r):Qst(this,{input:t,initial:r,pos:this.cursor})}async render(){let t=this.state.size,r=await this.prefix(),s=await this.separator(),a=await this.message(),n=[r,a,s].filter(Boolean).join(" ");this.state.prompt=n;let c=await this.header(),f=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!f.includes(p)&&(f+=" "+p),n+=" "+f,this.clear(t),this.write([c,n,h].filter(Boolean).join(` +`)),this.restore()}};hge.exports=qG});var dge=G((v3t,gge)=>{"use strict";var Tst=e=>e.filter((t,r)=>e.lastIndexOf(t)===r),LT=e=>Tst(e).filter(Boolean);gge.exports=(e,t={},r="")=>{let{past:s=[],present:a=""}=t,n,c;switch(e){case"prev":case"undo":return n=s.slice(0,s.length-1),c=s[s.length-1]||"",{past:LT([r,...n]),present:c};case"next":case"redo":return n=s.slice(1),c=s[0]||"",{past:LT([...n,r]),present:c};case"save":return{past:LT([...s,r]),present:""};case"remove":return c=LT(s.filter(f=>f!==r)),a="",c.length&&(a=c.pop()),{past:c,present:a};default:throw new Error(`Invalid action: "${e}"`)}}});var YG=G((S3t,yge)=>{"use strict";var Fst=bm(),mge=dge(),WG=class extends Fst{constructor(t){super(t);let r=this.options.history;if(r&&r.store){let s=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:s},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(t){return this.store?(this.data=mge(t,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=mge("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};yge.exports=WG});var Ige=G((D3t,Ege)=>{"use strict";var Nst=bm(),VG=class extends Nst{format(){return""}};Ege.exports=VG});var wge=G((b3t,Cge)=>{"use strict";var Ost=bm(),JG=class extends Ost{constructor(t={}){super(t),this.sep=this.options.separator||/, */,this.initial=t.initial||""}split(t=this.value){return t?String(t).split(this.sep):[]}format(){let t=this.state.submitted?this.styles.primary:r=>r;return this.list.map(t).join(", ")}async submit(t){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Cge.exports=JG});var vge=G((P3t,Bge)=>{"use strict";var Lst=j0(),KG=class extends Lst{constructor(t){super({...t,multiple:!0})}};Bge.exports=KG});var XG=G((x3t,Sge)=>{"use strict";var Mst=bm(),zG=class extends Mst{constructor(t={}){super({style:"number",...t}),this.min=this.isValue(t.min)?this.toNumber(t.min):-1/0,this.max=this.isValue(t.max)?this.toNumber(t.max):1/0,this.delay=t.delay!=null?t.delay:1e3,this.float=t.float!==!1,this.round=t.round===!0||t.float===!1,this.major=t.major||10,this.minor=t.minor||1,this.initial=t.initial!=null?t.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(t){return!/[-+.]/.test(t)||t==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(t)}number(t){return super.append(t)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(t){let r=t||this.minor,s=this.toNumber(this.input);return s>this.max+r?this.alert():(this.input=`${s+r}`,this.render())}down(t){let r=t||this.minor,s=this.toNumber(this.input);return sthis.isValue(r));return this.value=this.toNumber(t||0),super.submit()}};Sge.exports=zG});var bge=G((k3t,Dge)=>{Dge.exports=XG()});var xge=G((Q3t,Pge)=>{"use strict";var Ust=bm(),ZG=class extends Ust{constructor(t){super(t),this.cursorShow()}format(t=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(t.length)):""}};Pge.exports=ZG});var Rge=G((R3t,Qge)=>{"use strict";var _st=Xu(),Hst=Wv(),kge=na(),$G=class extends Hst{constructor(t={}){super(t),this.widths=[].concat(t.messageWidth||50),this.align=[].concat(t.align||"left"),this.linebreak=t.linebreak||!1,this.edgeLength=t.edgeLength||3,this.newline=t.newline||` + `;let r=t.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((s,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let t=0;for(let r of this.choices){t=Math.max(t,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let s=0;s=this.scale.length-1?this.alert():(t.scaleIndex++,this.render())}left(){let t=this.focused;return t.scaleIndex<=0?this.alert():(t.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(s=>` ${s.name} - ${s.message}`)].map(s=>this.styles.muted(s)).join(` +`)}renderScaleHeading(t){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,t));let s=this.scaleLength-r.join("").length,a=Math.round(s/(r.length-1)),c=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),f=" ".repeat(this.widths[0]);return this.margin[3]+f+this.margin[1]+c}scaleIndicator(t,r,s){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,t,r,s);let a=t.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(t,r){let s=t.scale.map(n=>this.scaleIndicator(t,n,r)),a=this.term==="Hyper"?"":" ";return s.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(t,r){await this.onChoice(t,r);let s=this.index===r,a=await this.pointer(t,r),n=await t.hint;n&&!kge.hasColor(n)&&(n=this.styles.muted(n));let c=I=>this.margin[3]+I.replace(/\s+$/,"").padEnd(this.widths[0]," "),f=this.newline,p=this.indent(t),h=await this.resolve(t.message,this.state,t,r),E=await this.renderScale(t,r),C=this.margin[1]+this.margin[3];this.scaleLength=_st.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-C.length);let x=kge.wordWrap(h,{width:this.widths[0],newline:f}).split(` +`).map(I=>c(I)+this.margin[1]);return s&&(E=this.styles.info(E),x=x.map(I=>this.styles.info(I))),x[0]+=E,this.linebreak&&x.push(""),[p+a,x.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let t=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(t),s=await this.renderScaleHeading();return this.margin[0]+[s,...r.map(a=>a.join(" "))].join(` +`)}async render(){let{submitted:t,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),c="";this.options.promptLine!==!1&&(c=[s,n,a,""].join(" "),this.state.prompt=c);let f=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),C=await this.renderChoices(),S=await this.footer(),x=this.emptyError;p&&(c+=p),E&&!c.includes(E)&&(c+=" "+E),t&&!p&&!C.trim()&&this.multiple&&x!=null&&(c+=this.styles.danger(x)),this.clear(r),this.write([f,c,h,C,S].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let t of this.choices)this.value[t.name]=t.scaleIndex;return this.base.submit.call(this)}};Qge.exports=$G});var Nge=G((T3t,Fge)=>{"use strict";var Tge=Xu(),jst=(e="")=>typeof e=="string"?e.replace(/^['"]|['"]$/g,""):"",t5=class{constructor(t){this.name=t.key,this.field=t.field||{},this.value=jst(t.initial||this.field.initial||""),this.message=t.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Gst=async(e={},t={},r=s=>s)=>{let s=new Set,a=e.fields||[],n=e.template,c=[],f=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,C=()=>n[++E],S=()=>n[E+1],x=I=>{I.line=h,c.push(I)};for(x({type:"bos",value:""});Eie.name===U.key);U.field=a.find(ie=>ie.name===U.key),te||(te=new t5(U),f.push(te)),te.lines.push(U.line-1);continue}let T=c[c.length-1];T.type==="text"&&T.line===h?T.value+=I:x({type:"text",value:I})}return x({type:"eos",value:""}),{input:n,tabstops:c,unique:s,keys:p,items:f}};Fge.exports=async e=>{let t=e.options,r=new Set(t.required===!0?[]:t.required||[]),s={...t.values,...t.initial},{tabstops:a,items:n,keys:c}=await Gst(t,s),f=e5("result",e,t),p=e5("format",e,t),h=e5("validate",e,t,!0),E=e.isValue.bind(e);return async(C={},S=!1)=>{let x=0;C.required=r,C.items=n,C.keys=c,C.output="";let I=async(V,te,ie,ue)=>{let ae=await h(V,te,ie,ue);return ae===!1?"Invalid field "+ie.name:ae};for(let V of a){let te=V.value,ie=V.key;if(V.type!=="template"){te&&(C.output+=te);continue}if(V.type==="template"){let ue=n.find(Ee=>Ee.name===ie);t.required===!0&&C.required.add(ue.name);let ae=[ue.input,C.values[ue.value],ue.value,te].find(E),Ae=(ue.field||{}).message||V.inner;if(S){let Ee=await I(C.values[ie],C,ue,x);if(Ee&&typeof Ee=="string"||Ee===!1){C.invalid.set(ie,Ee);continue}C.invalid.delete(ie);let g=await f(C.values[ie],C,ue,x);C.output+=Tge.unstyle(g);continue}ue.placeholder=!1;let Ce=te;te=await p(te,C,ue,x),ae!==te?(C.values[ie]=ae,te=e.styles.typing(ae),C.missing.delete(Ae)):(C.values[ie]=void 0,ae=`<${Ae}>`,te=e.styles.primary(ae),ue.placeholder=!0,C.required.has(ie)&&C.missing.add(Ae)),C.missing.has(Ae)&&C.validating&&(te=e.styles.warning(ae)),C.invalid.has(ie)&&C.validating&&(te=e.styles.danger(ae)),x===C.index&&(Ce!==te?te=e.styles.underline(te):te=e.styles.heading(Tge.unstyle(te))),x++}te&&(C.output+=te)}let T=C.output.split(` +`).map(V=>" "+V),O=n.length,U=0;for(let V of n)C.invalid.has(V.name)&&V.lines.forEach(te=>{T[te][0]===" "&&(T[te]=C.styles.danger(C.symbols.bullet)+T[te].slice(1))}),e.isValue(C.values[V.name])&&U++;return C.completed=(U/O*100).toFixed(0),C.output=T.join(` +`),C.output}};function e5(e,t,r,s){return(a,n,c,f)=>typeof c.field[e]=="function"?c.field[e].call(t,a,n,c,f):[s,a].find(p=>t.isValue(p))}});var Lge=G((F3t,Oge)=>{"use strict";var qst=Xu(),Wst=Nge(),Yst=JI(),r5=class extends Yst{constructor(t){super(t),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Wst(this),await super.initialize()}async reset(t){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},t!==!0&&(await this.initialize(),await this.render())}moveCursor(t){let r=this.getItem();this.cursor+=t,r.cursor+=t}dispatch(t,r){if(!r.code&&!r.ctrl&&t!=null&&this.getItem()){this.append(t,r);return}this.alert()}append(t,r){let s=this.getItem(),a=s.input.slice(0,this.cursor),n=s.input.slice(this.cursor);this.input=s.input=`${a}${t}${n}`,this.moveCursor(1),this.render()}delete(){let t=this.getItem();if(this.cursor<=0||!t.input)return this.alert();let r=t.input.slice(this.cursor),s=t.input.slice(0,this.cursor-1);this.input=t.input=`${s}${r}`,this.moveCursor(-1),this.render()}increment(t){return t>=this.state.keys.length-1?0:t+1}decrement(t){return t<=0?this.state.keys.length-1:t-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(t){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:t,keys:r=[],submitted:s,size:a}=this.state,n=[this.options.newline,` +`].find(V=>V!=null),c=await this.prefix(),f=await this.separator(),p=await this.message(),h=[c,p,f].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),C=await this.error()||"",S=await this.hint()||"",x=s?"":await this.interpolate(this.state),I=this.state.key=r[t]||"",T=await this.format(I),O=await this.footer();T&&(h+=" "+T),S&&!T&&this.state.completed===0&&(h+=" "+S),this.clear(a);let U=[E,h,x,O,C.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(t){let{items:r,keys:s,index:a}=this.state,n=r.find(c=>c.name===s[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:t,missing:r,output:s,values:a}=this.state;if(t.size){let f="";for(let[p,h]of t)f+=`Invalid ${p}: ${h} +`;return this.state.error=f,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let c=qst.unstyle(s).split(` +`).map(f=>f.slice(1)).join(` +`);return this.value={values:a,result:c},super.submit()}};Oge.exports=r5});var Uge=G((N3t,Mge)=>{"use strict";var Vst="(Use + to sort)",Jst=j0(),n5=class extends Jst{constructor(t){super({...t,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,Vst].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(t,r){let s=await super.renderChoice(t,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+s:n+s}get selected(){return this.choices}submit(){return this.value=this.choices.map(t=>t.value),super.submit()}};Mge.exports=n5});var Hge=G((O3t,_ge)=>{"use strict";var Kst=Wv(),i5=class extends Kst{constructor(t={}){if(super(t),this.emptyError=t.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(s=>this.styles.muted(s)),this.state.header=r.join(` + `)}}async toChoices(...t){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...t);for(let s of r)s.scale=zst(5,this.options),s.scaleIdx=2;return r}dispatch(){this.alert()}space(){let t=this.focused,r=t.scale[t.scaleIdx],s=r.selected;return t.scale.forEach(a=>a.selected=!1),r.selected=!s,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let t=this.focused;return t.scaleIdx>=t.scale.length-1?this.alert():(t.scaleIdx++,this.render())}left(){let t=this.focused;return t.scaleIdx<=0?this.alert():(t.scaleIdx--,this.render())}indent(){return" "}async renderChoice(t,r){await this.onChoice(t,r);let s=this.index===r,a=this.term==="Hyper",n=a?9:8,c=a?"":" ",f=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+c,E=r+1+".",C=s?this.styles.heading:this.styles.noop,S=await this.resolve(t.message,this.state,t,r),x=this.indent(t),I=x+t.scale.map((te,ie)=>h(ie===t.scaleIdx)).join(f),T=te=>te===t.scaleIdx?C(te):te,O=x+t.scale.map((te,ie)=>T(ie)).join(p),U=()=>[E,S].filter(Boolean).join(" "),V=()=>[U(),I,O," "].filter(Boolean).join(` +`);return s&&(I=this.styles.cyan(I),O=this.styles.cyan(O)),V()}async renderChoices(){if(this.state.submitted)return"";let t=this.visible.map(async(s,a)=>await this.renderChoice(s,a)),r=await Promise.all(t);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:t,size:r}=this.state,s=await this.prefix(),a=await this.separator(),n=await this.message(),c=[s,n,a].filter(Boolean).join(" ");this.state.prompt=c;let f=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),C=await this.footer();(p||!h)&&(c+=" "+p),h&&!c.includes(h)&&(c+=" "+h),t&&!p&&!E&&this.multiple&&this.type!=="form"&&(c+=this.styles.danger(this.emptyError)),this.clear(r),this.write([c,f,E,C].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let t of this.choices)this.value[t.name]=t.scaleIdx;return this.base.submit.call(this)}};function zst(e,t={}){if(Array.isArray(t.scale))return t.scale.map(s=>({...s}));let r=[];for(let s=1;s{jge.exports=YG()});var Wge=G((M3t,qge)=>{"use strict";var Xst=OT(),s5=class extends Xst{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(t="",r){switch(t.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let t=s=>this.styles.primary.underline(s);return[this.value?this.disabled:t(this.disabled),this.value?t(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:t}=this.state,r=await this.header(),s=await this.prefix(),a=await this.separator(),n=await this.message(),c=await this.format(),f=await this.error()||await this.hint(),p=await this.footer(),h=[s,n,a,c].join(" ");this.state.prompt=h,f&&!h.includes(f)&&(h+=" "+f),this.clear(t),this.write([r,h,p].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};qge.exports=s5});var Vge=G((U3t,Yge)=>{"use strict";var Zst=j0(),o5=class extends Zst{constructor(t){if(super(t),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(t,r){let s=await super.toChoices(t,r);if(s.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>s.length)throw new Error("Please specify the index of the correct answer from the list of choices");return s}check(t){return t.index===this.options.correctChoice}async result(t){return{selectedAnswer:t,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Yge.exports=o5});var Kge=G(a5=>{"use strict";var Jge=na(),Ts=(e,t)=>{Jge.defineExport(a5,e,t),Jge.defineExport(a5,e.toLowerCase(),t)};Ts("AutoComplete",()=>tge());Ts("BasicAuth",()=>lge());Ts("Confirm",()=>fge());Ts("Editable",()=>pge());Ts("Form",()=>NT());Ts("Input",()=>YG());Ts("Invisible",()=>Ige());Ts("List",()=>wge());Ts("MultiSelect",()=>vge());Ts("Numeral",()=>bge());Ts("Password",()=>xge());Ts("Scale",()=>Rge());Ts("Select",()=>j0());Ts("Snippet",()=>Lge());Ts("Sort",()=>Uge());Ts("Survey",()=>Hge());Ts("Text",()=>Gge());Ts("Toggle",()=>Wge());Ts("Quiz",()=>Vge())});var Xge=G((H3t,zge)=>{zge.exports={ArrayPrompt:Wv(),AuthPrompt:_G(),BooleanPrompt:OT(),NumberPrompt:XG(),StringPrompt:bm()}});var Vv=G((j3t,$ge)=>{"use strict";var Zge=Ie("assert"),c5=Ie("events"),G0=na(),$u=class extends c5{constructor(t,r){super(),this.options=G0.merge({},t),this.answers={...r}}register(t,r){if(G0.isObject(t)){for(let a of Object.keys(t))this.register(a,t[a]);return this}Zge.equal(typeof r,"function","expected a function");let s=t.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[s]=r:this.prompts[s]=r(this.Prompt,this),this}async prompt(t=[]){for(let r of[].concat(t))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(G0.merge({},this.options,r))}catch(s){return Promise.reject(s)}return this.answers}async ask(t){typeof t=="function"&&(t=await t.call(this));let r=G0.merge({},this.options,t),{type:s,name:a}=t,{set:n,get:c}=G0;if(typeof s=="function"&&(s=await s.call(this,t,this.answers)),!s)return this.answers[a];Zge(this.prompts[s],`Prompt "${s}" is not registered`);let f=new this.prompts[s](r),p=c(this.answers,a);f.state.answers=this.answers,f.enquirer=this,a&&f.on("submit",E=>{this.emit("answer",a,E,f),n(this.answers,a,E)});let h=f.emit.bind(f);return f.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",f,this),r.autofill&&p!=null?(f.value=f.input=p,r.autofill==="show"&&await f.submit()):p=f.value=await f.run(),p}use(t){return t.call(this,this),this}set Prompt(t){this._Prompt=t}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(t){this._Prompt=t}static get Prompt(){return this._Prompt||JI()}static get prompts(){return Kge()}static get types(){return Xge()}static get prompt(){let t=(r,...s)=>{let a=new this(...s),n=a.emit.bind(a);return a.emit=(...c)=>(t.emit(...c),n(...c)),a.prompt(r)};return G0.mixinEmitter(t,new c5),t}};G0.mixinEmitter($u,new c5);var l5=$u.prompts;for(let e of Object.keys(l5)){let t=e.toLowerCase(),r=s=>new l5[e](s).run();$u.prompt[t]=r,$u[t]=r,$u[e]||Reflect.defineProperty($u,e,{get:()=>l5[e]})}var Yv=e=>{G0.defineExport($u,e,()=>$u.types[e])};Yv("ArrayPrompt");Yv("AuthPrompt");Yv("BooleanPrompt");Yv("NumberPrompt");Yv("StringPrompt");$ge.exports=$u});var ade=G((fHt,aot)=>{aot.exports={name:"@yarnpkg/cli",version:"4.15.0",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-catalog":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-jsr":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^4.0.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-catalog","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-jsr","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"git+https://github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var v5=G((HGt,Ede)=>{"use strict";Ede.exports=function(t,r){r===!0&&(r=0);var s="";if(typeof t=="string")try{s=new URL(t).protocol}catch{}else t&&t.constructor===URL&&(s=t.protocol);var a=s.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var Cde=G((jGt,Ide)=>{"use strict";var bot=v5();function Pot(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var r=new URL(e);t.protocols=bot(r),t.protocol=t.protocols[0],t.port=r.port,t.resource=r.hostname,t.host=r.host,t.user=r.username||"",t.password=r.password||"",t.pathname=r.pathname,t.hash=r.hash.slice(1),t.search=r.search.slice(1),t.href=r.href,t.query=Object.fromEntries(r.searchParams)}catch{t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}Ide.exports=Pot});var vde=G((GGt,Bde)=>{"use strict";var xot=Cde();function kot(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var Qot=kot(xot),Rot="text/plain",Tot="us-ascii",wde=(e,t)=>t.some(r=>r instanceof RegExp?r.test(e):r===e),Fot=(e,{stripHash:t})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(e);if(!r)throw new Error(`Invalid URL: ${e}`);let{type:s,data:a,hash:n}=r.groups,c=s.split(";");n=t?"":n;let f=!1;c[c.length-1]==="base64"&&(c.pop(),f=!0);let p=(c.shift()||"").toLowerCase(),E=[...c.map(C=>{let[S,x=""]=C.split("=").map(I=>I.trim());return S==="charset"&&(x=x.toLowerCase(),x===Tot)?"":`${S}${x?`=${x}`:""}`}).filter(Boolean)];return f&&E.push("base64"),(E.length>0||p&&p!==Rot)&&E.unshift(p),`data:${E.join(";")},${f?a.trim():a}${n?`#${n}`:""}`};function Not(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return Fot(e,t);if(/^view-source:/i.test(e))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let a=new URL(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),t.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),t.stripAuthentication&&(a.username="",a.password=""),t.stripHash?a.hash="":t.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let c=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,f=0,p="";for(;;){let E=c.exec(a.pathname);if(!E)break;let C=E[0],S=E.index,x=a.pathname.slice(f,S);p+=x.replace(/\/{2,}/g,"/"),p+=C,f=S+C.length}let h=a.pathname.slice(f,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let c=a.pathname.split("/"),f=c[c.length-1];wde(f,t.removeDirectoryIndex)&&(c=c.slice(0,-1),a.pathname=c.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let c of[...a.searchParams.keys()])wde(c,t.removeQueryParameters)&&a.searchParams.delete(c);if(t.removeQueryParameters===!0&&(a.search=""),t.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}t.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=e;return e=a.toString(),!t.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}var S5=(e,t=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,s=n=>{let c=new Error(n);throw c.subject_url=e,c};(typeof e!="string"||!e.trim())&&s("Invalid url."),e.length>S5.MAX_INPUT_LENGTH&&s("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&(typeof t!="object"&&(t={stripHash:!1}),e=Not(e,t));let a=Qot.default(e);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):s("URL parsing failed.")}return a};S5.MAX_INPUT_LENGTH=2048;Bde.exports=S5});var bde=G((qGt,Dde)=>{"use strict";var Oot=v5();function Sde(e){if(Array.isArray(e))return e.indexOf("ssh")!==-1||e.indexOf("rsync")!==-1;if(typeof e!="string")return!1;var t=Oot(e);if(e=e.substring(e.indexOf("://")+3),Sde(t))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!e.match(r)&&e.indexOf("@"){"use strict";var Lot=vde(),Pde=bde();function Mot(e){var t=Lot(e);return t.token="",t.password==="x-oauth-basic"?t.token=t.user:t.user==="x-token-auth"&&(t.token=t.password),Pde(t.protocols)||t.protocols.length===0&&Pde(e)?t.protocol="ssh":t.protocols.length?t.protocol=t.protocols[0]:(t.protocol="file",t.protocols=["file"]),t.href=t.href.replace(/\/$/,""),t}xde.exports=Mot});var Rde=G((YGt,Qde)=>{"use strict";var Uot=kde();function D5(e){if(typeof e!="string")throw new Error("The url must be a string.");var t=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;t.test(e)&&(e="https://github.com/"+e);var r=Uot(e),s=r.resource.split("."),a=null;switch(r.toString=function(O){return D5.stringify(this,O)},r.source=s.length>2?s.slice(1-s.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=s[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var c=a.indexOf("-",2),f=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),C=a.indexOf("raw",2),S=a.indexOf("edit",2);n=c>0?c-1:f>0?f-1:p>0?p-1:h>0?h-1:E>0?E-1:C>0?C-1:S>0?S-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var x=a.length>n&&a[n+1]==="-"?n+1:n;a.length>x+2&&["raw","src","blob","tree","edit"].indexOf(a[x+1])>=0&&(r.filepathtype=a[x+1],r.ref=a[x+2],a.length>x+3&&(r.filepath=a.slice(x+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var I=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,T=I.exec(r.pathname);return T!=null&&(r.source="bitbucket-server",T[1]==="users"?r.owner="~"+T[2]:r.owner=T[2],r.organization=r.owner,r.name=T[3],a=T[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}D5.stringify=function(e,t){t=t||(e.protocols&&e.protocols.length?e.protocols.join("+"):e.protocol);var r=e.port?":"+e.port:"",s=e.user||"git",a=e.git_suffix?".git":"";switch(t){case"ssh":return r?"ssh://"+s+"@"+e.resource+r+"/"+e.full_name+a:s+"@"+e.resource+":"+e.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return t+"://"+s+"@"+e.resource+r+"/"+e.full_name+a;case"http":case"https":var n=e.token?_ot(e):e.user&&(e.protocols.includes("http")||e.protocols.includes("https"))?e.user+"@":"";return t+"://"+n+e.resource+r+"/"+Hot(e)+a;default:return e.href}};function _ot(e){switch(e.source){case"bitbucket.org":return"x-token-auth:"+e.token+"@";default:return e.token+"@"}}function Hot(e){switch(e.source){case"bitbucket-server":return"scm/"+e.full_name;default:return""+e.full_name}}Qde.exports=D5});function sat(e,t){return t===1&&iat.has(e[0])}function nS(e){let t=Array.isArray(e)?e:Lu(e);return t.map((s,a)=>rat.test(s)?`[${s}]`:nat.test(s)&&!sat(t,a)?`.${s}`:`[${JSON.stringify(s)}]`).join("").replace(/^\./,"")}function oat(e,t){let r=[];if(t.methodName!==null&&r.push(pe.pretty(e,t.methodName,pe.Type.CODE)),t.file!==null){let s=[];s.push(pe.pretty(e,t.file,pe.Type.PATH)),t.line!==null&&(s.push(pe.pretty(e,t.line,pe.Type.NUMBER)),t.column!==null&&s.push(pe.pretty(e,t.column,pe.Type.NUMBER))),r.push(`(${s.join(pe.pretty(e,":","grey"))})`)}return r.join(" ")}function jT(e,{manifestUpdates:t,reportedErrors:r},{fix:s}={}){let a=new Map,n=new Map,c=[...r.keys()].map(f=>[f,new Map]);for(let[f,p]of[...c,...t]){let h=r.get(f)?.map(x=>({text:x,fixable:!1}))??[],E=!1,C=e.getWorkspaceByCwd(f),S=C.manifest.exportTo({});for(let[x,I]of p){if(I.size>1){let T=[...I].map(([O,U])=>{let V=pe.pretty(e.configuration,O,pe.Type.INSPECT),te=U.size>0?oat(e.configuration,U.values().next().value):null;return te!==null?` +${V} at ${te}`:` +${V}`}).join("");h.push({text:`Conflict detected in constraint targeting ${pe.pretty(e.configuration,x,pe.Type.CODE)}; conflicting values are:${T}`,fixable:!1})}else{let[[T]]=I,O=Pa(S,x);if(JSON.stringify(O)===JSON.stringify(T))continue;if(!s){let U=typeof O>"u"?`Missing field ${pe.pretty(e.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(e.configuration,T,pe.Type.INSPECT)}`:typeof T>"u"?`Extraneous field ${pe.pretty(e.configuration,x,pe.Type.CODE)} currently set to ${pe.pretty(e.configuration,O,pe.Type.INSPECT)}`:`Invalid field ${pe.pretty(e.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(e.configuration,T,pe.Type.INSPECT)}, found ${pe.pretty(e.configuration,O,pe.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof T>"u"?f0(S,x):Yd(S,x,T),E=!0}E&&a.set(C,S)}h.length>0&&n.set(C,h)}return{changedWorkspaces:a,remainingErrors:n}}function Vde(e,{configuration:t}){let r={children:[]};for(let[s,a]of e){let n=[];for(let f of a){let p=f.text.split(/\n/);f.fixable&&(p[0]=`${pe.pretty(t,"\u2699","gray")} ${p[0]}`),n.push({value:pe.tuple(pe.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:pe.tuple(pe.Type.NO_HINT,h)}))})}let c={value:pe.tuple(pe.Type.LOCATOR,s.anchoredLocator),children:Ge.sortMap(n,f=>f.value[1])};r.children.push(c)}return r.children=Ge.sortMap(r.children,s=>s.value[1]),r}var OC,rat,nat,iat,iS=Xe(()=>{qe();zl();OC=class{constructor(t){this.indexedFields=t;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let t of this.indexedFields)this.indexes[t]=new Map}insert(t){this.items.push(t);for(let r of this.indexedFields){let s=Object.hasOwn(t,r)?t[r]:void 0;if(typeof s>"u")continue;Ge.getArrayWithDefault(this.indexes[r],s).push(t)}return t}find(t){if(typeof t>"u")return this.items;let r=Object.entries(t);if(r.length===0)return this.items;let s=[],a;for(let[c,f]of r){let p=c,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){s.push([p,f]);continue}let E=new Set(h.get(f)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let C of a)E.has(C)||a.delete(C);if(a.size===0)break}let n=[...a??[]];return s.length>0&&(n=n.filter(c=>{for(let[f,p]of s)if(!(typeof p<"u"?Object.hasOwn(c,f)&&c[f]===p:Object.hasOwn(c,f)===!1))return!1;return!0})),n}},rat=/^[0-9]+$/,nat=/^[a-zA-Z0-9_]+$/,iat=new Set(["scripts",..._t.allDependencies])});var Jde=G((J9t,q5)=>{var aat;(function(e){var t=function(){return{"append/2":[new e.type.Rule(new e.type.Term("append",[new e.type.Var("X"),new e.type.Var("L")]),new e.type.Term("foldl",[new e.type.Term("append",[]),new e.type.Var("X"),new e.type.Term("[]",[]),new e.type.Var("L")]))],"append/3":[new e.type.Rule(new e.type.Term("append",[new e.type.Term("[]",[]),new e.type.Var("X"),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("append",[new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("S")])]),new e.type.Term("append",[new e.type.Var("T"),new e.type.Var("X"),new e.type.Var("S")]))],"member/2":[new e.type.Rule(new e.type.Term("member",[new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("_")])]),null),new e.type.Rule(new e.type.Term("member",[new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("_"),new e.type.Var("Xs")])]),new e.type.Term("member",[new e.type.Var("X"),new e.type.Var("Xs")]))],"permutation/2":[new e.type.Rule(new e.type.Term("permutation",[new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("permutation",[new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("permutation",[new e.type.Var("T"),new e.type.Var("P")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("P")]),new e.type.Term("append",[new e.type.Var("X"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("Y")]),new e.type.Var("S")])])]))],"maplist/2":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("X")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("Xs")])]))],"maplist/3":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs")])]))],"maplist/4":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs")])]))],"maplist/5":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds")])]))],"maplist/6":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")]),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Es")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D"),new e.type.Var("E")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds"),new e.type.Var("Es")])]))],"maplist/7":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")]),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Es")]),new e.type.Term(".",[new e.type.Var("F"),new e.type.Var("Fs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D"),new e.type.Var("E"),new e.type.Var("F")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds"),new e.type.Var("Es"),new e.type.Var("Fs")])]))],"maplist/8":[new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("A"),new e.type.Var("As")]),new e.type.Term(".",[new e.type.Var("B"),new e.type.Var("Bs")]),new e.type.Term(".",[new e.type.Var("C"),new e.type.Var("Cs")]),new e.type.Term(".",[new e.type.Var("D"),new e.type.Var("Ds")]),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Es")]),new e.type.Term(".",[new e.type.Var("F"),new e.type.Var("Fs")]),new e.type.Term(".",[new e.type.Var("G"),new e.type.Var("Gs")])]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P"),new e.type.Var("A"),new e.type.Var("B"),new e.type.Var("C"),new e.type.Var("D"),new e.type.Var("E"),new e.type.Var("F"),new e.type.Var("G")]),new e.type.Term("maplist",[new e.type.Var("P"),new e.type.Var("As"),new e.type.Var("Bs"),new e.type.Var("Cs"),new e.type.Var("Ds"),new e.type.Var("Es"),new e.type.Var("Fs"),new e.type.Var("Gs")])]))],"include/3":[new e.type.Rule(new e.type.Term("include",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("include",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("L")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P"),new e.type.Var("A")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("A"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Term("[]",[])]),new e.type.Var("B")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("F"),new e.type.Var("B")]),new e.type.Term(",",[new e.type.Term(";",[new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("F")]),new e.type.Term(",",[new e.type.Term("=",[new e.type.Var("L"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("S")])]),new e.type.Term("!",[])])]),new e.type.Term("=",[new e.type.Var("L"),new e.type.Var("S")])]),new e.type.Term("include",[new e.type.Var("P"),new e.type.Var("T"),new e.type.Var("S")])])])])]))],"exclude/3":[new e.type.Rule(new e.type.Term("exclude",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Term("[]",[])]),null),new e.type.Rule(new e.type.Term("exclude",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("exclude",[new e.type.Var("P"),new e.type.Var("T"),new e.type.Var("E")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P"),new e.type.Var("L")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("L"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Term("[]",[])]),new e.type.Var("Q")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("R"),new e.type.Var("Q")]),new e.type.Term(";",[new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("R")]),new e.type.Term(",",[new e.type.Term("!",[]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("E")])])]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("E")])])])])])])]))],"foldl/4":[new e.type.Rule(new e.type.Term("foldl",[new e.type.Var("_"),new e.type.Term("[]",[]),new e.type.Var("I"),new e.type.Var("I")]),null),new e.type.Rule(new e.type.Term("foldl",[new e.type.Var("P"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Var("T")]),new e.type.Var("I"),new e.type.Var("R")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P"),new e.type.Var("L")]),new e.type.Term(",",[new e.type.Term("append",[new e.type.Var("L"),new e.type.Term(".",[new e.type.Var("I"),new e.type.Term(".",[new e.type.Var("H"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])])])]),new e.type.Var("L2")]),new e.type.Term(",",[new e.type.Term("=..",[new e.type.Var("P2"),new e.type.Var("L2")]),new e.type.Term(",",[new e.type.Term("call",[new e.type.Var("P2")]),new e.type.Term("foldl",[new e.type.Var("P"),new e.type.Var("T"),new e.type.Var("X"),new e.type.Var("R")])])])])]))],"select/3":[new e.type.Rule(new e.type.Term("select",[new e.type.Var("E"),new e.type.Term(".",[new e.type.Var("E"),new e.type.Var("Xs")]),new e.type.Var("Xs")]),null),new e.type.Rule(new e.type.Term("select",[new e.type.Var("E"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Ys")])]),new e.type.Term("select",[new e.type.Var("E"),new e.type.Var("Xs"),new e.type.Var("Ys")]))],"sum_list/2":[new e.type.Rule(new e.type.Term("sum_list",[new e.type.Term("[]",[]),new e.type.Num(0,!1)]),null),new e.type.Rule(new e.type.Term("sum_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("sum_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term("is",[new e.type.Var("S"),new e.type.Term("+",[new e.type.Var("X"),new e.type.Var("Y")])])]))],"max_list/2":[new e.type.Rule(new e.type.Term("max_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])]),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("max_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("max_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term(";",[new e.type.Term(",",[new e.type.Term(">=",[new e.type.Var("X"),new e.type.Var("Y")]),new e.type.Term(",",[new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("X")]),new e.type.Term("!",[])])]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("Y")])])]))],"min_list/2":[new e.type.Rule(new e.type.Term("min_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])]),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("min_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("min_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term(";",[new e.type.Term(",",[new e.type.Term("=<",[new e.type.Var("X"),new e.type.Var("Y")]),new e.type.Term(",",[new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("X")]),new e.type.Term("!",[])])]),new e.type.Term("=",[new e.type.Var("S"),new e.type.Var("Y")])])]))],"prod_list/2":[new e.type.Rule(new e.type.Term("prod_list",[new e.type.Term("[]",[]),new e.type.Num(1,!1)]),null),new e.type.Rule(new e.type.Term("prod_list",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("S")]),new e.type.Term(",",[new e.type.Term("prod_list",[new e.type.Var("Xs"),new e.type.Var("Y")]),new e.type.Term("is",[new e.type.Var("S"),new e.type.Term("*",[new e.type.Var("X"),new e.type.Var("Y")])])]))],"last/2":[new e.type.Rule(new e.type.Term("last",[new e.type.Term(".",[new e.type.Var("X"),new e.type.Term("[]",[])]),new e.type.Var("X")]),null),new e.type.Rule(new e.type.Term("last",[new e.type.Term(".",[new e.type.Var("_"),new e.type.Var("Xs")]),new e.type.Var("X")]),new e.type.Term("last",[new e.type.Var("Xs"),new e.type.Var("X")]))],"prefix/2":[new e.type.Rule(new e.type.Term("prefix",[new e.type.Var("Part"),new e.type.Var("Whole")]),new e.type.Term("append",[new e.type.Var("Part"),new e.type.Var("_"),new e.type.Var("Whole")]))],"nth0/3":[new e.type.Rule(new e.type.Term("nth0",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")])]),new e.type.Term(",",[new e.type.Term(">=",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")]),new e.type.Term("!",[])])])]))],"nth1/3":[new e.type.Rule(new e.type.Term("nth1",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")])]),new e.type.Term(",",[new e.type.Term(">",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("_")]),new e.type.Term("!",[])])])]))],"nth0/4":[new e.type.Rule(new e.type.Term("nth0",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")])]),new e.type.Term(",",[new e.type.Term(">=",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(0,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term("!",[])])])]))],"nth1/4":[new e.type.Rule(new e.type.Term("nth1",[new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term(";",[new e.type.Term("->",[new e.type.Term("var",[new e.type.Var("X")]),new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")])]),new e.type.Term(",",[new e.type.Term(">",[new e.type.Var("X"),new e.type.Num(0,!1)]),new e.type.Term(",",[new e.type.Term("nth",[new e.type.Num(1,!1),new e.type.Var("X"),new e.type.Var("Y"),new e.type.Var("Z"),new e.type.Var("W")]),new e.type.Term("!",[])])])]))],"nth/5":[new e.type.Rule(new e.type.Term("nth",[new e.type.Var("N"),new e.type.Var("N"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("X"),new e.type.Var("Xs")]),null),new e.type.Rule(new e.type.Term("nth",[new e.type.Var("N"),new e.type.Var("O"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Xs")]),new e.type.Var("Y"),new e.type.Term(".",[new e.type.Var("X"),new e.type.Var("Ys")])]),new e.type.Term(",",[new e.type.Term("is",[new e.type.Var("M"),new e.type.Term("+",[new e.type.Var("N"),new e.type.Num(1,!1)])]),new e.type.Term("nth",[new e.type.Var("M"),new e.type.Var("O"),new e.type.Var("Xs"),new e.type.Var("Y"),new e.type.Var("Ys")])]))],"length/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(!e.type.is_variable(f)&&!e.type.is_integer(f))s.throw_error(e.error.type("integer",f,n.indicator));else if(e.type.is_integer(f)&&f.value<0)s.throw_error(e.error.domain("not_less_than_zero",f,n.indicator));else{var p=new e.type.Term("length",[c,new e.type.Num(0,!1),f]);e.type.is_integer(f)&&(p=new e.type.Term(",",[p,new e.type.Term("!",[])])),s.prepend([new e.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new e.type.Rule(new e.type.Term("length",[new e.type.Term("[]",[]),new e.type.Var("N"),new e.type.Var("N")]),null),new e.type.Rule(new e.type.Term("length",[new e.type.Term(".",[new e.type.Var("_"),new e.type.Var("X")]),new e.type.Var("A"),new e.type.Var("N")]),new e.type.Term(",",[new e.type.Term("succ",[new e.type.Var("A"),new e.type.Var("B")]),new e.type.Term("length",[new e.type.Var("X"),new e.type.Var("B"),new e.type.Var("N")])]))],"replicate/3":function(s,a,n){var c=n.args[0],f=n.args[1],p=n.args[2];if(e.type.is_variable(f))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_integer(f))s.throw_error(e.error.type("integer",f,n.indicator));else if(f.value<0)s.throw_error(e.error.domain("not_less_than_zero",f,n.indicator));else if(!e.type.is_variable(p)&&!e.type.is_list(p))s.throw_error(e.error.type("list",p,n.indicator));else{for(var h=new e.type.Term("[]"),E=0;E0;C--)E[C].equals(E[C-1])&&E.splice(C,1);for(var S=new e.type.Term("[]"),C=E.length-1;C>=0;C--)S=new e.type.Term(".",[E[C],S]);s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[S,f])),a.substitution,a)])}}},"msort/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(e.type.is_variable(c))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(f)&&!e.type.is_fully_list(f))s.throw_error(e.error.type("list",f,n.indicator));else{for(var p=[],h=c;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(e.type.is_variable(h))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_empty_list(h))s.throw_error(e.error.type("list",c,n.indicator));else{for(var E=p.sort(e.compare),C=new e.type.Term("[]"),S=E.length-1;S>=0;S--)C=new e.type.Term(".",[E[S],C]);s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[C,f])),a.substitution,a)])}}},"keysort/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(e.type.is_variable(c))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(f)&&!e.type.is_fully_list(f))s.throw_error(e.error.type("list",f,n.indicator));else{for(var p=[],h,E=c;E.indicator==="./2";){if(h=E.args[0],e.type.is_variable(h)){s.throw_error(e.error.instantiation(n.indicator));return}else if(!e.type.is_term(h)||h.indicator!=="-/2"){s.throw_error(e.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(e.type.is_variable(E))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_empty_list(E))s.throw_error(e.error.type("list",c,n.indicator));else{for(var C=p.sort(e.compare),S=new e.type.Term("[]"),x=C.length-1;x>=0;x--)S=new e.type.Term(".",[new e.type.Term("-",[C[x],C[x].pair]),S]),delete C[x].pair;s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[S,f])),a.substitution,a)])}}},"take/3":function(s,a,n){var c=n.args[0],f=n.args[1],p=n.args[2];if(e.type.is_variable(f)||e.type.is_variable(c))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_list(f))s.throw_error(e.error.type("list",f,n.indicator));else if(!e.type.is_integer(c))s.throw_error(e.error.type("integer",c,n.indicator));else if(!e.type.is_variable(p)&&!e.type.is_list(p))s.throw_error(e.error.type("list",p,n.indicator));else{for(var h=c.value,E=[],C=f;h>0&&C.indicator==="./2";)E.push(C.args[0]),C=C.args[1],h--;if(h===0){for(var S=new e.type.Term("[]"),h=E.length-1;h>=0;h--)S=new e.type.Term(".",[E[h],S]);s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[S,p])),a.substitution,a)])}}},"drop/3":function(s,a,n){var c=n.args[0],f=n.args[1],p=n.args[2];if(e.type.is_variable(f)||e.type.is_variable(c))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_list(f))s.throw_error(e.error.type("list",f,n.indicator));else if(!e.type.is_integer(c))s.throw_error(e.error.type("integer",c,n.indicator));else if(!e.type.is_variable(p)&&!e.type.is_list(p))s.throw_error(e.error.type("list",p,n.indicator));else{for(var h=c.value,E=[],C=f;h>0&&C.indicator==="./2";)E.push(C.args[0]),C=C.args[1],h--;h===0&&s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[C,p])),a.substitution,a)])}},"reverse/2":function(s,a,n){var c=n.args[0],f=n.args[1],p=e.type.is_instantiated_list(c),h=e.type.is_instantiated_list(f);if(e.type.is_variable(c)&&e.type.is_variable(f))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_variable(c)&&!e.type.is_fully_list(c))s.throw_error(e.error.type("list",c,n.indicator));else if(!e.type.is_variable(f)&&!e.type.is_fully_list(f))s.throw_error(e.error.type("list",f,n.indicator));else if(!p&&!h)s.throw_error(e.error.instantiation(n.indicator));else{for(var E=p?c:f,C=new e.type.Term("[]",[]);E.indicator==="./2";)C=new e.type.Term(".",[E.args[0],C]),E=E.args[1];s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[C,p?f:c])),a.substitution,a)])}},"list_to_set/2":function(s,a,n){var c=n.args[0],f=n.args[1];if(e.type.is_variable(c))s.throw_error(e.error.instantiation(n.indicator));else{for(var p=c,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(e.type.is_variable(p))s.throw_error(e.error.instantiation(n.indicator));else if(!e.type.is_term(p)||p.indicator!=="[]/0")s.throw_error(e.error.type("list",c,n.indicator));else{for(var E=[],C=new e.type.Term("[]",[]),S,x=0;x=0;x--)C=new e.type.Term(".",[E[x],C]);s.prepend([new e.type.State(a.goal.replace(new e.type.Term("=",[f,C])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof q5<"u"?q5.exports=function(s){e=s,new e.type.Module("lists",t(),r)}:new e.type.Module("lists",t(),r)})(aat)});var cme=G($r=>{"use strict";var km=process.platform==="win32",W5="aes-256-cbc",lat="sha256",Xde="The current environment doesn't support interactive reading from TTY.",ai=Ie("fs"),Kde=process.binding("tty_wrap").TTY,V5=Ie("child_process"),W0=Ie("path"),J5={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Xp="none",tf,MC,zde=!1,q0,qT,Y5,cat=0,$5="",xm=[],WT,Zde=!1,K5=!1,sS=!1;function $de(e){function t(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(s){return"#"+s.charCodeAt(0)+";"})}return qT.concat(function(r){var s=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?e[a]&&s.push("--"+a):r[a]==="string"&&e[a]&&s.push("--"+a,t(e[a]))}),s}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function uat(e,t){function r(U){var V,te="",ie;for(Y5=Y5||Ie("os").tmpdir();;){V=W0.join(Y5,U+te);try{ie=ai.openSync(V,"wx")}catch(ue){if(ue.code==="EEXIST"){te++;continue}else throw ue}ai.closeSync(ie);break}return V}var s,a,n,c={},f,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),C=r("readline-sync.exit"),S=r("readline-sync.done"),x=Ie("crypto"),I,T,O;I=x.createHash(lat),I.update(""+process.pid+cat+++Math.random()),O=I.digest("hex"),T=x.createDecipher(W5,O),s=$de(e),km?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+q0+"%Q%"+s.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+C+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+W5+"%Q% %Q%"+O+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+S+"%Q%"]):(a="/bin/sh",n=["-c",'("'+q0+'"'+s.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+C+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+W5+'" "'+O+'" >"'+h+'"; echo 1 >"'+S+'"']),sS&&sS("_execFileSync",s);try{V5.spawn(a,n,t)}catch(U){c.error=new Error(U.message),c.error.method="_execFileSync - spawn",c.error.program=a,c.error.args=n}for(;ai.readFileSync(S,{encoding:e.encoding}).trim()!=="1";);return(f=ai.readFileSync(C,{encoding:e.encoding}).trim())==="0"?c.input=T.update(ai.readFileSync(h,{encoding:"binary"}),"hex",e.encoding)+T.final(e.encoding):(p=ai.readFileSync(E,{encoding:e.encoding}).trim(),c.error=new Error(Xde+(p?` +`+p:"")),c.error.method="_execFileSync",c.error.program=a,c.error.args=n,c.error.extMessage=p,c.error.exitCode=+f),ai.unlinkSync(h),ai.unlinkSync(E),ai.unlinkSync(C),ai.unlinkSync(S),c}function fat(e){var t,r={},s,a={env:process.env,encoding:e.encoding};if(q0||(km?process.env.PSModulePath?(q0="powershell.exe",qT=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(q0="cscript.exe",qT=["//nologo",__dirname+"\\read.cs.js"]):(q0="/bin/sh",qT=[__dirname+"/read.sh"])),km&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),V5.execFileSync){t=$de(e),sS&&sS("execFileSync",t);try{r.input=V5.execFileSync(q0,t,a)}catch(n){s=n.stderr?(n.stderr+"").trim():"",r.error=new Error(Xde+(s?` +`+s:"")),r.error.method="execFileSync",r.error.program=q0,r.error.args=t,r.error.extMessage=s,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=uat(e,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),e.display=""),r}function z5(e){var t="",r=e.display,s=!e.display&&e.keyIn&&e.hideEchoBack&&!e.mask;function a(){var n=fat(e);if(n.error)throw n.error;return n.input}return K5&&K5(e),function(){var n,c,f;function p(){return n||(n=process.binding("fs"),c=process.binding("constants")),n}if(typeof Xp=="string")if(Xp=null,km){if(f=function(h){var E=h.replace(/^\D+/,"").split("."),C=0;return(E[0]=+E[0])&&(C+=E[0]*1e4),(E[1]=+E[1])&&(C+=E[1]*100),(E[2]=+E[2])&&(C+=E[2]),C}(process.version),!(f>=20302&&f<40204||f>=5e4&&f<50100||f>=50600&&f<60200)&&process.stdin.isTTY)process.stdin.pause(),Xp=process.stdin.fd,MC=process.stdin._handle;else try{Xp=p().open("CONIN$",c.O_RDWR,parseInt("0666",8)),MC=new Kde(Xp,!0)}catch{}if(process.stdout.isTTY)tf=process.stdout.fd;else{try{tf=ai.openSync("\\\\.\\CON","w")}catch{}if(typeof tf!="number")try{tf=p().open("CONOUT$",c.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Xp=ai.openSync("/dev/tty","r"),MC=process.stdin._handle}catch{}}else try{Xp=ai.openSync("/dev/tty","r"),MC=new Kde(Xp,!1)}catch{}if(process.stdout.isTTY)tf=process.stdout.fd;else try{tf=ai.openSync("/dev/tty","w")}catch{}}}(),function(){var n,c,f=!e.hideEchoBack&&!e.keyIn,p,h,E,C,S;WT="";function x(I){return I===zde?!0:MC.setRawMode(I)!==0?!1:(zde=I,!0)}if(Zde||!MC||typeof tf!="number"&&(e.display||!f)){t=a();return}if(e.display&&(ai.writeSync(tf,e.display),e.display=""),!e.displayOnly){if(!x(!f)){t=a();return}for(h=e.keyIn?1:e.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),e.keyIn&&e.limit&&(c=new RegExp("[^"+e.limit+"]","g"+(e.caseSensitive?"":"i")));;){E=0;try{E=ai.readSync(Xp,p,0,h)}catch(I){if(I.code!=="EOF"){x(!1),t+=a();return}}if(E>0?(C=p.toString(e.encoding,0,E),WT+=C):(C=` +`,WT+="\0"),C&&typeof(S=(C.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(C=S,n=!0),C&&(C=C.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),C&&c&&(C=C.replace(c,"")),C&&(f||(e.hideEchoBack?e.mask&&ai.writeSync(tf,new Array(C.length+1).join(e.mask)):ai.writeSync(tf,C)),t+=C),!e.keyIn&&n||e.keyIn&&t.length>=h)break}!f&&!s&&ai.writeSync(tf,` +`),x(!1)}}(),e.print&&!s&&e.print(r+(e.displayOnly?"":(e.hideEchoBack?new Array(t.length+1).join(e.mask):t)+` +`),e.encoding),e.displayOnly?"":$5=e.keepWhitespace||e.keyIn?t:t.trim()}function Aat(e,t){var r=[];function s(a){a!=null&&(Array.isArray(a)?a.forEach(s):(!t||t(a))&&r.push(a))}return s(e),r}function e9(e){return e.replace(/[\x00-\x7f]/g,function(t){return"\\x"+("00"+t.charCodeAt().toString(16)).substr(-2)})}function $s(){var e=Array.prototype.slice.call(arguments),t,r;return e.length&&typeof e[0]=="boolean"&&(r=e.shift(),r&&(t=Object.keys(J5),e.unshift(J5))),e.reduce(function(s,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(t=Object.keys(a)),t.forEach(function(n){var c;if(a.hasOwnProperty(n))switch(c=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":c=c!=null?c+"":"",c&&n!=="limitMessage"&&(c=c.replace(/[\r\n]/g,"")),s[n]=c;break;case"bufferSize":!isNaN(c=parseInt(c,10))&&typeof c=="number"&&(s[n]=c);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":s[n]=!!c;break;case"limit":case"trueValue":case"falseValue":s[n]=Aat(c,function(f){var p=typeof f;return p==="string"||p==="number"||p==="function"||f instanceof RegExp}).map(function(f){return typeof f=="string"?f.replace(/[\r\n]/g,""):f});break;case"print":case"phContent":case"preCheck":s[n]=typeof c=="function"?c:void 0;break;case"prompt":case"display":s[n]=c??"";break}})),s},{})}function X5(e,t,r){return t.some(function(s){var a=typeof s;return a==="string"?r?e===s:e.toLowerCase()===s.toLowerCase():a==="number"?parseFloat(e)===s:a==="function"?s(e):s instanceof RegExp?s.test(e):!1})}function t9(e,t){var r=W0.normalize(km?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return e=W0.normalize(e),t?e.replace(/^~(?=\/|\\|$)/,r):e.replace(new RegExp("^"+e9(r)+"(?=\\/|\\\\|$)",km?"i":""),"~")}function UC(e,t){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",s=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(c,f,p,h,E,C){var S;return f||typeof(S=t(E))!="string"?p:S?(h||"")+S+(C||""):""}return e.replace(s,n).replace(a,n)}function eme(e,t,r){var s,a=[],n=-1,c=0,f="",p;function h(E,C){return C.length>3?(E.push(C[0]+"..."+C[C.length-1]),p=!0):C.length&&(E=E.concat(C)),E}return s=e.reduce(function(E,C){return E.concat((C+"").split(""))},[]).reduce(function(E,C){var S,x;return t||(C=C.toLowerCase()),S=/^\d$/.test(C)?1:/^[A-Z]$/.test(C)?2:/^[a-z]$/.test(C)?3:0,r&&S===0?f+=C:(x=C.charCodeAt(0),S&&S===n&&x===c+1?a.push(C):(E=h(E,a),a=[C],n=S),c=x),E},[]),s=h(s,a),f&&(s.push(f),p=!0),{values:s,suppressed:p}}function tme(e,t){return e.join(e.length>2?", ":t?" / ":"/")}function rme(e,t){var r,s,a={},n;if(t.phContent&&(r=t.phContent(e,t)),typeof r!="string")switch(e){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=t.hasOwnProperty(e)?typeof t[e]=="boolean"?t[e]?"on":"off":t[e]+"":"";break;case"limit":case"trueValue":case"falseValue":s=t[t.hasOwnProperty(e+"Src")?e+"Src":e],t.keyIn?(a=eme(s,t.caseSensitive),s=a.values):s=s.filter(function(c){var f=typeof c;return f==="string"||f==="number"}),r=tme(s,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=t[t.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||e!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=$5;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),e==="CWD"?r=W0.basename(r):e==="cwdHome"&&(r=t9(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+e.replace(/^./,function(c){return c.toUpperCase()})+"String"]();break;default:typeof(n=(e.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=xm[xm.length-n]||"")}return r}function nme(e){var t=/^(.)-(.)$/.exec(e),r="",s,a,n,c;if(!t)return null;for(s=t[1].charCodeAt(0),a=t[2].charCodeAt(0),c=s +And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},t,{history:!1,cd:!1,phContent:function(x){return x==="charlist"?r.text:x==="length"?s+"..."+a:null}}),c,f,p,h,E,C,S;for(t=t||{},c=UC(t.charlist?t.charlist+"":"$",nme),(isNaN(s=parseInt(t.min,10))||typeof s!="number")&&(s=12),(isNaN(a=parseInt(t.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+e9(c)+"]{"+s+","+a+"}$"),r=eme([c],n.caseSensitive,!0),r.text=tme(r.values,r.suppressed),f=t.confirmMessage!=null?t.confirmMessage:"Reinput a same one to confirm it: ",p=t.unmatchMessage!=null?t.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",e==null&&(e="Input new password: "),E=n.limitMessage;!S;)n.limit=h,n.limitMessage=E,C=$r.question(e,n),n.limit=[C,""],n.limitMessage=p,S=$r.question(f,n);return C};function ome(e,t,r){var s;function a(n){return s=r(n),!isNaN(s)&&typeof s=="number"}return $r.question(e,$s({limitMessage:"Input valid number, please."},t,{limit:a,cd:!1})),s}$r.questionInt=function(e,t){return ome(e,t,function(r){return parseInt(r,10)})};$r.questionFloat=function(e,t){return ome(e,t,parseFloat)};$r.questionPath=function(e,t){var r,s="",a=$s({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},t,{keepWhitespace:!1,limit:function(n){var c,f,p;n=t9(n,!0),s="";function h(E){E.split(/\/|\\/).reduce(function(C,S){var x=W0.resolve(C+=S+W0.sep);if(!ai.existsSync(x))ai.mkdirSync(x);else if(!ai.statSync(x).isDirectory())throw new Error("Non directory already exists: "+x);return C},"")}try{if(c=ai.existsSync(n),r=c?ai.realpathSync(n):W0.resolve(n),!t.hasOwnProperty("exists")&&!c||typeof t.exists=="boolean"&&t.exists!==c)return s=(c?"Already exists":"No such file or directory")+": "+r,!1;if(!c&&t.create&&(t.isDirectory?h(r):(h(W0.dirname(r)),ai.closeSync(ai.openSync(r,"w"))),r=ai.realpathSync(r)),c&&(t.min||t.max||t.isFile||t.isDirectory)){if(f=ai.statSync(r),t.isFile&&!f.isFile())return s="Not file: "+r,!1;if(t.isDirectory&&!f.isDirectory())return s="Not directory: "+r,!1;if(t.min&&f.size<+t.min||t.max&&f.size>+t.max)return s="Size "+f.size+" is out of range: "+r,!1}if(typeof t.validate=="function"&&(p=t.validate(r))!==!0)return typeof p=="string"&&(s=p),!1}catch(E){return s=E+"",!1}return!0},phContent:function(n){return n==="error"?s:n!=="min"&&n!=="max"?null:t.hasOwnProperty(n)?t[n]+"":""}});return t=t||{},e==null&&(e='Input path (you can "cd" and "pwd"): '),$r.question(e,a),r};function ame(e,t){var r={},s={};return typeof e=="object"?(Object.keys(e).forEach(function(a){typeof e[a]=="function"&&(s[t.caseSensitive?a:a.toLowerCase()]=e[a])}),r.preCheck=function(a){var n;return r.args=Z5(a),n=r.args[0]||"",t.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&s.hasOwnProperty(n)?s[n].apply(a,r.args.slice(1)):s.hasOwnProperty("_")?s._.apply(a,r.args):null,{res:a,forceNext:!1}},s.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return t.caseSensitive||(a=a.toLowerCase()),s.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=Z5(a),r.hRes=typeof e=="function"?e.apply(a,r.args):!0,{res:a,forceNext:!1}},r}$r.promptCL=function(e,t){var r=$s({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},t),s=ame(e,r);return r.limit=s.limit,r.preCheck=s.preCheck,$r.prompt(r),s.args};$r.promptLoop=function(e,t){for(var r=$s({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},t);!e($r.prompt(r)););};$r.promptCLLoop=function(e,t){var r=$s({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},t),s=ame(e,r);for(r.limit=s.limit,r.preCheck=s.preCheck;$r.prompt(r),!s.hRes;);};$r.promptSimShell=function(e){return $r.prompt($s({hideEchoBack:!1,history:!0},e,{prompt:function(){return km?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function lme(e,t,r){var s;return e==null&&(e="Are you sure? "),(!t||t.guide!==!1)&&(e+="")&&(e=e.replace(/\s*:?\s*$/,"")+" [y/n]: "),s=$r.keyIn(e,$s(t,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof s=="boolean"?s:""}$r.keyInYN=function(e,t){return lme(e,t)};$r.keyInYNStrict=function(e,t){return lme(e,t,"yn")};$r.keyInPause=function(e,t){e==null&&(e="Continue..."),(!t||t.guide!==!1)&&(e+="")&&(e=e.replace(/\s+$/,"")+" (Hit any key)"),$r.keyIn(e,$s({limit:null},t,{hideEchoBack:!0,mask:""}))};$r.keyInSelect=function(e,t,r){var s=$s({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?e.length+"":p==="firstItem"?(e[0]+"").trim():p==="lastItem"?(e[e.length-1]+"").trim():null}}),a="",n={},c=49,f=` +`;if(!Array.isArray(e)||!e.length||e.length>35)throw"`items` must be Array (max length: 35).";return e.forEach(function(p,h){var E=String.fromCharCode(c);a+=E,n[E]=h,f+="["+E+"] "+(p+"").trim()+` +`,c=c===57?97:c+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,f+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` +`),s.limit=a,f+=` +`,t==null&&(t="Choose one from list: "),(t+="")&&((!r||r.guide!==!1)&&(t=t.replace(/\s*:?\s*$/,"")+" [$]: "),f+=t),n[$r.keyIn(f,s).toLowerCase()]};$r.getRawInput=function(){return WT};function oS(e,t){var r;return t.length&&(r={},r[e]=t[0]),$r.setDefaultOptions(r)[e]}$r.setPrint=function(){return oS("print",arguments)};$r.setPrompt=function(){return oS("prompt",arguments)};$r.setEncoding=function(){return oS("encoding",arguments)};$r.setMask=function(){return oS("mask",arguments)};$r.setBufferSize=function(){return oS("bufferSize",arguments)}});var r9=G((z9t,rc)=>{(function(){var e={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(w,b,y){var F=tau_file_system.files[w];if(!F){if(y==="read")return null;F={path:w,text:"",type:b,get:function(z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+z)},put:function(z,X){return X==="end_of_file"?(this.text+=z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+z+this.text.substring(X+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var X=Math.floor(z/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(z/2)],0);return z%2===0?$&255:$/256>>>0},put_byte:function(z,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var se=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(se=se/256>>>0,se=(se&255)<<8|z&255):(se=se&255,se=(z&255)<<8|se&255),this.text.length===$?this.text+=c(se):this.text=this.text.substring(0,$)+c(se)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[w]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(w,b){for(var y;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function O(w,b){return w.get_flag("char_conversion").id==="on"?b.replace(/./g,function(y){return w.get_char_conversion(y)}):b}function U(w){this.thread=w,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(w){return this.tokens=w},U.prototype.new_text=function(w){this.text=w,this.tokens=[]},U.prototype.get_tokens=function(w){var b,y=0,F=0,z=0,X=[],$=!1;if(w){var se=this.tokens[w-1];y=se.len,b=O(this.thread,this.text.substr(se.len)),F=se.line,z=se.start}else b=this.text;if(/^\s*$/.test(b))return null;for(;b!=="";){var xe=[],Fe=!1;if(/^\n/.exec(b)!==null){F++,z=0,y++,b=b.replace(/\n/,""),$=!0;continue}for(var ut in T)if(T.hasOwnProperty(ut)){var Ct=T[ut].exec(b);Ct&&xe.push({value:Ct[0],name:ut,matches:Ct})}if(!xe.length)return this.set_last_tokens([{value:b,matches:[],name:"lexical",line:F,start:z}]);var se=r(xe,function(Pr,Cr){return Pr.value.length>=Cr.value.length?Pr:Cr});switch(se.start=z,se.line=F,b=b.replace(se.value,""),z+=se.value.length,y+=se.value.length,se.name){case"atom":se.raw=se.value,se.value.charAt(0)==="'"&&(se.value=S(se.value.substr(1,se.value.length-2),"'"),se.value===null&&(se.name="lexical",se.value="unknown escape sequence"));break;case"number":se.float=se.value.substring(0,2)!=="0x"&&se.value.match(/[.eE]/)!==null&&se.value!=="0'.",se.value=I(se.value),se.blank=Fe;break;case"string":var qt=se.value.charAt(0);se.value=S(se.value.substr(1,se.value.length-2),qt),se.value===null&&(se.name="lexical",se.value="unknown escape sequence");break;case"whitespace":var ir=X[X.length-1];ir&&(ir.space=!0),Fe=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(se=X.pop(),se.name="atom",se.value="{}",se.raw="{}",se.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(se=X.pop(),se.name="atom",se.value="[]",se.raw="[]",se.space=!1);break}se.len=y,X.push(se),Fe=!1}var Pt=this.set_last_tokens(X);return Pt.length===0?null:Pt};function V(w,b,y,F,z){if(!b[y])return{type:f,value:P.error.syntax(b[y-1],"expression expected",!0)};var X;if(F==="0"){var $=b[y];switch($.name){case"number":return{type:p,len:y+1,value:new P.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new P.type.Var($.value)};case"string":var se;switch(w.get_flag("double_quotes").id){case"atom":se=new _($.value,[]);break;case"codes":se=new _("[]",[]);for(var xe=$.value.length-1;xe>=0;xe--)se=new _(".",[new P.type.Num(n($.value,xe),!1),se]);break;case"chars":se=new _("[]",[]);for(var xe=$.value.length-1;xe>=0;xe--)se=new _(".",[new P.type.Term($.value.charAt(xe),[]),se]);break}return{type:p,len:y+1,value:se};case"l_paren":var Pt=V(w,b,y+1,w.__get_max_priority(),!0);return Pt.type!==p?Pt:b[Pt.len]&&b[Pt.len].name==="r_paren"?(Pt.len++,Pt):{type:f,derived:!0,value:P.error.syntax(b[Pt.len]?b[Pt.len]:b[Pt.len-1],") or operator expected",!b[Pt.len])};case"l_bracket":var Pt=V(w,b,y+1,w.__get_max_priority(),!0);return Pt.type!==p?Pt:b[Pt.len]&&b[Pt.len].name==="r_bracket"?(Pt.len++,Pt.value=new _("{}",[Pt.value]),Pt):{type:f,derived:!0,value:P.error.syntax(b[Pt.len]?b[Pt.len]:b[Pt.len-1],"} or operator expected",!b[Pt.len])}}var Fe=te(w,b,y,z);return Fe.type===p||Fe.derived||(Fe=ie(w,b,y),Fe.type===p||Fe.derived)?Fe:{type:f,derived:!1,value:P.error.syntax(b[y],"unexpected token")}}var ut=w.__get_max_priority(),Ct=w.__get_next_priority(F),qt=y;if(b[y].name==="atom"&&b[y+1]&&(b[y].space||b[y+1].name!=="l_paren")){var $=b[y++],ir=w.__lookup_operator_classes(F,$.value);if(ir&&ir.indexOf("fy")>-1){var Pt=V(w,b,y,F,z);if(Pt.type!==f)return $.value==="-"&&!$.space&&P.type.is_number(Pt.value)?{value:new P.type.Num(-Pt.value.value,Pt.value.is_float),len:Pt.len,type:p}:{value:new P.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}else if(ir&&ir.indexOf("fx")>-1){var Pt=V(w,b,y,Ct,z);if(Pt.type!==f)return{value:new P.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}}y=qt;var Pt=V(w,b,y,Ct,z);if(Pt.type===p){y=Pt.len;var $=b[y];if(b[y]&&(b[y].name==="atom"&&w.__lookup_operator_classes(F,$.value)||b[y].name==="bar"&&w.__lookup_operator_classes(F,"|"))){var dn=Ct,Pr=F,ir=w.__lookup_operator_classes(F,$.value);if(ir.indexOf("xf")>-1)return{value:new P.type.Term($.value,[Pt.value]),len:++Pt.len,type:p};if(ir.indexOf("xfx")>-1){var Cr=V(w,b,y+1,dn,z);return Cr.type===p?{value:new P.type.Term($.value,[Pt.value,Cr.value]),len:Cr.len,type:p}:(Cr.derived=!0,Cr)}else if(ir.indexOf("xfy")>-1){var Cr=V(w,b,y+1,Pr,z);return Cr.type===p?{value:new P.type.Term($.value,[Pt.value,Cr.value]),len:Cr.len,type:p}:(Cr.derived=!0,Cr)}else if(Pt.type!==f)for(;;){y=Pt.len;var $=b[y];if($&&$.name==="atom"&&w.__lookup_operator_classes(F,$.value)){var ir=w.__lookup_operator_classes(F,$.value);if(ir.indexOf("yf")>-1)Pt={value:new P.type.Term($.value,[Pt.value]),len:++y,type:p};else if(ir.indexOf("yfx")>-1){var Cr=V(w,b,++y,dn,z);if(Cr.type===f)return Cr.derived=!0,Cr;y=Cr.len,Pt={value:new P.type.Term($.value,[Pt.value,Cr.value]),len:y,type:p}}else break}else break}}else X={type:f,value:P.error.syntax(b[Pt.len-1],"operator expected")};return Pt}return Pt}function te(w,b,y,F){if(!b[y]||b[y].name==="atom"&&b[y].raw==="."&&!F&&(b[y].space||!b[y+1]||b[y+1].name!=="l_paren"))return{type:f,derived:!1,value:P.error.syntax(b[y-1],"unfounded token")};var z=b[y],X=[];if(b[y].name==="atom"&&b[y].raw!==","){if(y++,b[y-1].space)return{type:p,len:y,value:new P.type.Term(z.value,X)};if(b[y]&&b[y].name==="l_paren"){if(b[y+1]&&b[y+1].name==="r_paren")return{type:f,derived:!0,value:P.error.syntax(b[y+1],"argument expected")};var $=V(w,b,++y,"999",!0);if($.type===f)return $.derived?$:{type:f,derived:!0,value:P.error.syntax(b[y]?b[y]:b[y-1],"argument expected",!b[y])};for(X.push($.value),y=$.len;b[y]&&b[y].name==="atom"&&b[y].value===",";){if($=V(w,b,y+1,"999",!0),$.type===f)return $.derived?$:{type:f,derived:!0,value:P.error.syntax(b[y+1]?b[y+1]:b[y],"argument expected",!b[y+1])};X.push($.value),y=$.len}if(b[y]&&b[y].name==="r_paren")y++;else return{type:f,derived:!0,value:P.error.syntax(b[y]?b[y]:b[y-1],", or ) expected",!b[y])}}return{type:p,len:y,value:new P.type.Term(z.value,X)}}return{type:f,derived:!1,value:P.error.syntax(b[y],"term expected")}}function ie(w,b,y){if(!b[y])return{type:f,derived:!1,value:P.error.syntax(b[y-1],"[ expected")};if(b[y]&&b[y].name==="l_brace"){var F=V(w,b,++y,"999",!0),z=[F.value],X=void 0;if(F.type===f)return b[y]&&b[y].name==="r_brace"?{type:p,len:y+1,value:new P.type.Term("[]",[])}:{type:f,derived:!0,value:P.error.syntax(b[y],"] expected")};for(y=F.len;b[y]&&b[y].name==="atom"&&b[y].value===",";){if(F=V(w,b,y+1,"999",!0),F.type===f)return F.derived?F:{type:f,derived:!0,value:P.error.syntax(b[y+1]?b[y+1]:b[y],"argument expected",!b[y+1])};z.push(F.value),y=F.len}var $=!1;if(b[y]&&b[y].name==="bar"){if($=!0,F=V(w,b,y+1,"999",!0),F.type===f)return F.derived?F:{type:f,derived:!0,value:P.error.syntax(b[y+1]?b[y+1]:b[y],"argument expected",!b[y+1])};X=F.value,y=F.len}return b[y]&&b[y].name==="r_brace"?{type:p,len:y+1,value:g(z,X)}:{type:f,derived:!0,value:P.error.syntax(b[y]?b[y]:b[y-1],$?"] expected":", or | or ] expected",!b[y])}}return{type:f,derived:!1,value:P.error.syntax(b[y],"list expected")}}function ue(w,b,y){var F=b[y].line,z=V(w,b,y,w.__get_max_priority(),!1),X=null,$;if(z.type!==f)if(y=z.len,b[y]&&b[y].name==="atom"&&b[y].raw===".")if(y++,P.type.is_term(z.value)){if(z.value.indicator===":-/2"?(X=new P.type.Rule(z.value.args[0],Ee(z.value.args[1])),$={value:X,len:y,type:p}):z.value.indicator==="-->/2"?(X=Ae(new P.type.Rule(z.value.args[0],z.value.args[1]),w),X.body=Ee(X.body),$={value:X,len:y,type:P.type.is_rule(X)?p:f}):(X=new P.type.Rule(z.value,null),$={value:X,len:y,type:p}),X){var se=X.singleton_variables();se.length>0&&w.throw_warning(P.warning.singleton(se,X.head.indicator,F))}return $}else return{type:f,value:P.error.syntax(b[y],"callable expected")};else return{type:f,value:P.error.syntax(b[y]?b[y]:b[y-1],". or operator expected")};return z}function ae(w,b,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new U(w),z={},X;F.new_text(b);var $=0,se=F.get_tokens($);do{if(se===null||!se[$])break;var xe=ue(w,se,$);if(xe.type===f)return new _("throw",[xe.value]);if(xe.value.body===null&&xe.value.head.indicator==="?-/1"){var Fe=new ct(w.session);Fe.add_goal(xe.value.head.args[0]),Fe.answer(function(Ct){P.type.is_error(Ct)?w.throw_warning(Ct.args[0]):(Ct===!1||Ct===null)&&w.throw_warning(P.warning.failed_goal(xe.value.head.args[0],xe.len))}),$=xe.len;var ut=!0}else if(xe.value.body===null&&xe.value.head.indicator===":-/1"){var ut=w.run_directive(xe.value.head.args[0]);$=xe.len,xe.value.head.args[0].indicator==="char_conversion/2"&&(se=F.get_tokens($),$=0)}else{X=xe.value.head.indicator,y.reconsult!==!1&&z[X]!==!0&&!w.is_multifile_predicate(X)&&(w.session.rules[X]=a(w.session.rules[X]||[],function(qt){return qt.dynamic}),z[X]=!0);var ut=w.add_rule(xe.value,y);$=xe.len}if(!ut)return ut}while(!0);return!0}function de(w,b){var y=new U(w);y.new_text(b);var F=0;do{var z=y.get_tokens(F);if(z===null)break;var X=V(w,z,0,w.__get_max_priority(),!1);if(X.type!==f){var $=X.len,se=$;if(z[$]&&z[$].name==="atom"&&z[$].raw===".")w.add_goal(Ee(X.value));else{var xe=z[$];return new _("throw",[P.error.syntax(xe||z[$-1],". or operator expected",!xe)])}F=X.len+1}else return new _("throw",[X.value])}while(!0);return!0}function Ae(w,b){w=w.rename(b);var y=b.next_free_variable(),F=Ce(w.body,y,b);return F.error?F.value:(w.body=F.value,w.head.args=w.head.args.concat([y,F.variable]),w.head=new _(w.head.id,w.head.args),w)}function Ce(w,b,y){var F;if(P.type.is_term(w)&&w.indicator==="!/0")return{value:w,variable:b,error:!1};if(P.type.is_term(w)&&w.indicator===",/2"){var z=Ce(w.args[0],b,y);if(z.error)return z;var X=Ce(w.args[1],z.variable,y);return X.error?X:{value:new _(",",[z.value,X.value]),variable:X.variable,error:!1}}else{if(P.type.is_term(w)&&w.indicator==="{}/1")return{value:w.args[0],variable:b,error:!1};if(P.type.is_empty_list(w))return{value:new _("true",[]),variable:b,error:!1};if(P.type.is_list(w)){F=y.next_free_variable();for(var $=w,se;$.indicator==="./2";)se=$,$=$.args[1];return P.type.is_variable($)?{value:P.error.instantiation("DCG"),variable:b,error:!0}:P.type.is_empty_list($)?(se.args[1]=F,{value:new _("=",[b,w]),variable:F,error:!1}):{value:P.error.type("list",w,"DCG"),variable:b,error:!0}}else return P.type.is_callable(w)?(F=y.next_free_variable(),w.args=w.args.concat([b,F]),w=new _(w.id,w.args),{value:w,variable:F,error:!1}):{value:P.error.type("callable",w,"DCG"),variable:b,error:!0}}}function Ee(w){return P.type.is_variable(w)?new _("call",[w]):P.type.is_term(w)&&[",/2",";/2","->/2"].indexOf(w.indicator)!==-1?new _(w.id,[Ee(w.args[0]),Ee(w.args[1])]):w}function g(w,b){for(var y=b||new P.type.Term("[]",[]),F=w.length-1;F>=0;F--)y=new P.type.Term(".",[w[F],y]);return y}function Se(w,b){for(var y=w.length-1;y>=0;y--)w[y]===b&&w.splice(y,1)}function Be(w){for(var b={},y=[],F=0;F=0;b--)if(w.charAt(b)==="/")return new _("/",[new _(w.substring(0,b)),new Qe(parseInt(w.substring(b+1)),!1)])}function De(w){this.id=w}function Qe(w,b){this.is_float=b!==void 0?b:parseInt(w)!==w,this.value=this.is_float?w:parseInt(w)}var st=0;function _(w,b,y){this.ref=y||++st,this.id=w,this.args=b||[],this.indicator=w+"/"+this.args.length}var tt=0;function Ne(w,b,y,F,z,X){this.id=tt++,this.stream=w,this.mode=b,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=z!==void 0?z:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function ke(w){w=w||{},this.links=w}function be(w,b,y){b=b||new ke,y=y||null,this.goal=w,this.substitution=b,this.parent=y}function je(w,b,y){this.head=w,this.body=b,this.dynamic=y||!1}function Re(w){w=w===void 0||w<=0?1e3:w,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new ct(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=w,this.streams={user_input:new Ne(typeof rc<"u"&&rc.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Ne(typeof rc<"u"&&rc.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof rc<"u"&&rc.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(b){return b.substitution},this.format_error=function(b){return b.goal},this.flag={bounded:P.flag.bounded.value,max_integer:P.flag.max_integer.value,min_integer:P.flag.min_integer.value,integer_rounding_function:P.flag.integer_rounding_function.value,char_conversion:P.flag.char_conversion.value,debug:P.flag.debug.value,max_arity:P.flag.max_arity.value,unknown:P.flag.unknown.value,double_quotes:P.flag.double_quotes.value,occurs_check:P.flag.occurs_check.value,dialect:P.flag.dialect.value,version_data:P.flag.version_data.value,nodejs:P.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function ct(w){this.epoch=Date.now(),this.session=w,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Me(w,b,y){this.id=w,this.rules=b,this.exports=y,P.module[w]=this}Me.prototype.exports_predicate=function(w){return this.exports.indexOf(w)!==-1},De.prototype.unify=function(w,b){if(b&&t(w.variables(),this.id)!==-1&&!P.type.is_variable(w))return null;var y={};return y[this.id]=w,new ke(y)},Qe.prototype.unify=function(w,b){return P.type.is_number(w)&&this.value===w.value&&this.is_float===w.is_float?new ke:null},_.prototype.unify=function(w,b){if(P.type.is_term(w)&&this.indicator===w.indicator){for(var y=new ke,F=0;F=0){var F=this.args[0].value,z=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(w)+"}";case"./2":for(var $="["+this.args[0].toString(w),se=this.args[1];se.indicator==="./2";)$+=", "+se.args[0].toString(w),se=se.args[1];return se.indicator!=="[]/0"&&($+="|"+se.toString(w)),$+="]",$;case",/2":return"("+this.args[0].toString(w)+", "+this.args[1].toString(w)+")";default:var xe=this.id,Fe=w.session?w.session.lookup_operator(this.id,this.args.length):null;if(w.session===void 0||w.ignore_ops||Fe===null)return w.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(xe)&&xe!=="{}"&&xe!=="[]"&&(xe="'"+x(xe)+"'"),xe+(this.args.length?"("+s(this.args,function(ir){return ir.toString(w)}).join(", ")+")":"");var ut=Fe.priority>b.priority||Fe.priority===b.priority&&(Fe.class==="xfy"&&this.indicator!==b.indicator||Fe.class==="yfx"&&this.indicator!==b.indicator||this.indicator===b.indicator&&Fe.class==="yfx"&&y==="right"||this.indicator===b.indicator&&Fe.class==="xfy"&&y==="left");Fe.indicator=this.indicator;var Ct=ut?"(":"",qt=ut?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Fe.class)!==-1?Ct+xe+" "+this.args[0].toString(w,Fe)+qt:["yf","xf"].indexOf(Fe.class)!==-1?Ct+this.args[0].toString(w,Fe)+" "+xe+qt:Ct+this.args[0].toString(w,Fe,"left")+" "+this.id+" "+this.args[1].toString(w,Fe,"right")+qt}},Ne.prototype.toString=function(w){return"("+this.id+")"},ke.prototype.toString=function(w){var b="{";for(var y in this.links)this.links.hasOwnProperty(y)&&(b!=="{"&&(b+=", "),b+=y+"/"+this.links[y].toString(w));return b+="}",b},be.prototype.toString=function(w){return this.goal===null?"<"+this.substitution.toString(w)+">":"<"+this.goal.toString(w)+", "+this.substitution.toString(w)+">"},je.prototype.toString=function(w){return this.body?this.head.toString(w)+" :- "+this.body.toString(w)+".":this.head.toString(w)+"."},Re.prototype.toString=function(w){for(var b="",y=0;y=0;z--)F=new _(".",[b[z],F]);return F}return new _(this.id,s(this.args,function(X){return X.apply(w)}),this.ref)},Ne.prototype.apply=function(w){return this},je.prototype.apply=function(w){return new je(this.head.apply(w),this.body!==null?this.body.apply(w):null)},ke.prototype.apply=function(w){var b,y={};for(b in this.links)this.links.hasOwnProperty(b)&&(y[b]=this.links[b].apply(w));return new ke(y)},_.prototype.select=function(){for(var w=this;w.indicator===",/2";)w=w.args[0];return w},_.prototype.replace=function(w){return this.indicator===",/2"?this.args[0].indicator===",/2"?new _(",",[this.args[0].replace(w),this.args[1]]):w===null?this.args[1]:new _(",",[w,this.args[1]]):w},_.prototype.search=function(w){if(P.type.is_term(w)&&w.ref!==void 0&&this.ref===w.ref)return!0;for(var b=0;bb&&F0&&(b=this.head_point().substitution.domain());t(b,P.format_variable(this.session.rename))!==-1;)this.session.rename++;if(w.id==="_")return new De(P.format_variable(this.session.rename));this.session.renamed_variables[w.id]=P.format_variable(this.session.rename)}return new De(this.session.renamed_variables[w.id])},Re.prototype.next_free_variable=function(){return this.thread.next_free_variable()},ct.prototype.next_free_variable=function(){this.session.rename++;var w=[];for(this.points.length>0&&(w=this.head_point().substitution.domain());t(w,P.format_variable(this.session.rename))!==-1;)this.session.rename++;return new De(P.format_variable(this.session.rename))},Re.prototype.is_public_predicate=function(w){return!this.public_predicates.hasOwnProperty(w)||this.public_predicates[w]===!0},ct.prototype.is_public_predicate=function(w){return this.session.is_public_predicate(w)},Re.prototype.is_multifile_predicate=function(w){return this.multifile_predicates.hasOwnProperty(w)&&this.multifile_predicates[w]===!0},ct.prototype.is_multifile_predicate=function(w){return this.session.is_multifile_predicate(w)},Re.prototype.prepend=function(w){return this.thread.prepend(w)},ct.prototype.prepend=function(w){for(var b=w.length-1;b>=0;b--)this.points.push(w[b])},Re.prototype.success=function(w,b){return this.thread.success(w,b)},ct.prototype.success=function(w,y){var y=typeof y>"u"?w:y;this.prepend([new be(w.goal.replace(null),w.substitution,y)])},Re.prototype.throw_error=function(w){return this.thread.throw_error(w)},ct.prototype.throw_error=function(w){this.prepend([new be(new _("throw",[w]),new ke,null,null)])},Re.prototype.step_rule=function(w,b){return this.thread.step_rule(w,b)},ct.prototype.step_rule=function(w,b){var y=b.indicator;if(w==="user"&&(w=null),w===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=w===null?this.session.modules:t(this.session.modules,w)===-1?[]:[w],z=0;z1)&&this.again()},Re.prototype.answers=function(w,b,y){return this.thread.answers(w,b,y)},ct.prototype.answers=function(w,b,y){var F=b||1e3,z=this;if(b<=0){y&&y();return}this.answer(function(X){w(X),X!==!1?setTimeout(function(){z.answers(w,b-1,y)},1):y&&y()})},Re.prototype.again=function(w){return this.thread.again(w)},ct.prototype.again=function(w){for(var b,y=Date.now();this.__calls.length>0;){for(this.warnings=[],w!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!P.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):P.type.is_error(this.head_point().goal)?(b=this.session.format_error(this.points.pop()),this.points=[],z(b)):(this.debugger&&this.debugger_states.push(this.head_point()),b=this.session.format_success(this.points.pop()),z(b))}},Re.prototype.unfold=function(w){if(w.body===null)return!1;var b=w.head,y=w.body,F=y.select(),z=new ct(this),X=[];z.add_goal(F),z.step();for(var $=z.points.length-1;$>=0;$--){var se=z.points[$],xe=b.apply(se.substitution),Fe=y.replace(se.goal);Fe!==null&&(Fe=Fe.apply(se.substitution)),X.push(new je(xe,Fe))}var ut=this.rules[b.indicator],Ct=t(ut,w);return X.length>0&&Ct!==-1?(ut.splice.apply(ut,[Ct,1].concat(X)),!0):!1},ct.prototype.unfold=function(w){return this.session.unfold(w)},De.prototype.interpret=function(w){return P.error.instantiation(w.level)},Qe.prototype.interpret=function(w){return this},_.prototype.interpret=function(w){return P.type.is_unitary_list(this)?this.args[0].interpret(w):P.operate(w,this)},De.prototype.compare=function(w){return this.idw.id?1:0},Qe.prototype.compare=function(w){if(this.value===w.value&&this.is_float===w.is_float)return 0;if(this.valuew.value)return 1},_.prototype.compare=function(w){if(this.args.lengthw.args.length||this.args.length===w.args.length&&this.id>w.id)return 1;for(var b=0;bF)return 1;if(w.constructor===Qe){if(w.is_float&&b.is_float)return 0;if(w.is_float)return-1;if(b.is_float)return 1}return 0},is_substitution:function(w){return w instanceof ke},is_state:function(w){return w instanceof be},is_rule:function(w){return w instanceof je},is_variable:function(w){return w instanceof De},is_stream:function(w){return w instanceof Ne},is_anonymous_var:function(w){return w instanceof De&&w.id==="_"},is_callable:function(w){return w instanceof _},is_number:function(w){return w instanceof Qe},is_integer:function(w){return w instanceof Qe&&!w.is_float},is_float:function(w){return w instanceof Qe&&w.is_float},is_term:function(w){return w instanceof _},is_atom:function(w){return w instanceof _&&w.args.length===0},is_ground:function(w){if(w instanceof De)return!1;if(w instanceof _){for(var b=0;b0},is_list:function(w){return w instanceof _&&(w.indicator==="[]/0"||w.indicator==="./2")},is_empty_list:function(w){return w instanceof _&&w.indicator==="[]/0"},is_non_empty_list:function(w){return w instanceof _&&w.indicator==="./2"},is_fully_list:function(w){for(;w instanceof _&&w.indicator==="./2";)w=w.args[1];return w instanceof De||w instanceof _&&w.indicator==="[]/0"},is_instantiated_list:function(w){for(;w instanceof _&&w.indicator==="./2";)w=w.args[1];return w instanceof _&&w.indicator==="[]/0"},is_unitary_list:function(w){return w instanceof _&&w.indicator==="./2"&&w.args[1]instanceof _&&w.args[1].indicator==="[]/0"},is_character:function(w){return w instanceof _&&(w.id.length===1||w.id.length>0&&w.id.length<=2&&n(w.id,0)>=65536)},is_character_code:function(w){return w instanceof Qe&&!w.is_float&&w.value>=0&&w.value<=1114111},is_byte:function(w){return w instanceof Qe&&!w.is_float&&w.value>=0&&w.value<=255},is_operator:function(w){return w instanceof _&&P.arithmetic.evaluation[w.indicator]},is_directive:function(w){return w instanceof _&&P.directive[w.indicator]!==void 0},is_builtin:function(w){return w instanceof _&&P.predicate[w.indicator]!==void 0},is_error:function(w){return w instanceof _&&w.indicator==="throw/1"},is_predicate_indicator:function(w){return w instanceof _&&w.indicator==="//2"&&w.args[0]instanceof _&&w.args[0].args.length===0&&w.args[1]instanceof Qe&&w.args[1].is_float===!1},is_flag:function(w){return w instanceof _&&w.args.length===0&&P.flag[w.id]!==void 0},is_value_flag:function(w,b){if(!P.type.is_flag(w))return!1;for(var y in P.flag[w.id].allowed)if(P.flag[w.id].allowed.hasOwnProperty(y)&&P.flag[w.id].allowed[y].equals(b))return!0;return!1},is_io_mode:function(w){return P.type.is_atom(w)&&["read","write","append"].indexOf(w.id)!==-1},is_stream_option:function(w){return P.type.is_term(w)&&(w.indicator==="alias/1"&&P.type.is_atom(w.args[0])||w.indicator==="reposition/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="type/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary")||w.indicator==="eof_action/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))},is_stream_position:function(w){return P.type.is_integer(w)&&w.value>=0||P.type.is_atom(w)&&(w.id==="end_of_stream"||w.id==="past_end_of_stream")},is_stream_property:function(w){return P.type.is_term(w)&&(w.indicator==="input/0"||w.indicator==="output/0"||w.indicator==="alias/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0]))||w.indicator==="file_name/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0]))||w.indicator==="position/1"&&(P.type.is_variable(w.args[0])||P.type.is_stream_position(w.args[0]))||w.indicator==="reposition/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))||w.indicator==="type/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary"))||w.indicator==="mode/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0])&&(w.args[0].id==="read"||w.args[0].id==="write"||w.args[0].id==="append"))||w.indicator==="eof_action/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))||w.indicator==="end_of_stream/1"&&(P.type.is_variable(w.args[0])||P.type.is_atom(w.args[0])&&(w.args[0].id==="at"||w.args[0].id==="past"||w.args[0].id==="not")))},is_streamable:function(w){return w.__proto__.stream!==void 0},is_read_option:function(w){return P.type.is_term(w)&&["variables/1","variable_names/1","singletons/1"].indexOf(w.indicator)!==-1},is_write_option:function(w){return P.type.is_term(w)&&(w.indicator==="quoted/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="ignore_ops/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="numbervars/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))},is_close_option:function(w){return P.type.is_term(w)&&w.indicator==="force/1"&&P.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")},is_modifiable_flag:function(w){return P.type.is_flag(w)&&P.flag[w.id].changeable},is_module:function(w){return w instanceof _&&w.indicator==="library/1"&&w.args[0]instanceof _&&w.args[0].args.length===0&&P.module[w.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(w){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(w){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(w){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(w){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(w,b){return w}},"-/1":{type_args:null,type_result:null,fn:function(w,b){return-w}},"\\/1":{type_args:!1,type_result:!1,fn:function(w,b){return~w}},"abs/1":{type_args:null,type_result:null,fn:function(w,b){return Math.abs(w)}},"sign/1":{type_args:null,type_result:null,fn:function(w,b){return Math.sign(w)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(w,b){return parseInt(w)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(w,b){return w-parseInt(w)}},"float/1":{type_args:null,type_result:!0,fn:function(w,b){return parseFloat(w)}},"floor/1":{type_args:!0,type_result:!1,fn:function(w,b){return Math.floor(w)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(w,b){return parseInt(w)}},"round/1":{type_args:!0,type_result:!1,fn:function(w,b){return Math.round(w)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(w,b){return Math.ceil(w)}},"sin/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.sin(w)}},"cos/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.cos(w)}},"tan/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.tan(w)}},"asin/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.asin(w)}},"acos/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.acos(w)}},"atan/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.atan(w)}},"atan2/2":{type_args:null,type_result:!0,fn:function(w,b,y){return Math.atan2(w,b)}},"exp/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.exp(w)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(w,b){return Math.sqrt(w)}},"log/1":{type_args:null,type_result:!0,fn:function(w,b){return w>0?Math.log(w):P.error.evaluation("undefined",b.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(w,b,y){return w+b}},"-/2":{type_args:null,type_result:null,fn:function(w,b,y){return w-b}},"*/2":{type_args:null,type_result:null,fn:function(w,b,y){return w*b}},"//2":{type_args:null,type_result:!0,fn:function(w,b,y){return b?w/b:P.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(w,b,y){return b?parseInt(w/b):P.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(w,b,y){return Math.pow(w,b)}},"^/2":{type_args:null,type_result:null,fn:function(w,b,y){return Math.pow(w,b)}},"<>/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w>>b}},"/\\/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w&b}},"\\//2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w|b}},"xor/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return w^b}},"rem/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return b?w%b:P.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(w,b,y){return b?w-parseInt(w/b)*b:P.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(w,b,y){return Math.max(w,b)}},"min/2":{type_args:null,type_result:null,fn:function(w,b,y){return Math.min(w,b)}}}},directive:{"dynamic/1":function(w,b){var y=b.args[0];if(P.type.is_variable(y))w.throw_error(P.error.instantiation(b.indicator));else if(!P.type.is_compound(y)||y.indicator!=="//2")w.throw_error(P.error.type("predicate_indicator",y,b.indicator));else if(P.type.is_variable(y.args[0])||P.type.is_variable(y.args[1]))w.throw_error(P.error.instantiation(b.indicator));else if(!P.type.is_atom(y.args[0]))w.throw_error(P.error.type("atom",y.args[0],b.indicator));else if(!P.type.is_integer(y.args[1]))w.throw_error(P.error.type("integer",y.args[1],b.indicator));else{var F=b.args[0].args[0].id+"/"+b.args[0].args[1].value;w.session.public_predicates[F]=!0,w.session.rules[F]||(w.session.rules[F]=[])}},"multifile/1":function(w,b){var y=b.args[0];P.type.is_variable(y)?w.throw_error(P.error.instantiation(b.indicator)):!P.type.is_compound(y)||y.indicator!=="//2"?w.throw_error(P.error.type("predicate_indicator",y,b.indicator)):P.type.is_variable(y.args[0])||P.type.is_variable(y.args[1])?w.throw_error(P.error.instantiation(b.indicator)):P.type.is_atom(y.args[0])?P.type.is_integer(y.args[1])?w.session.multifile_predicates[b.args[0].args[0].id+"/"+b.args[0].args[1].value]=!0:w.throw_error(P.error.type("integer",y.args[1],b.indicator)):w.throw_error(P.error.type("atom",y.args[0],b.indicator))},"set_prolog_flag/2":function(w,b){var y=b.args[0],F=b.args[1];P.type.is_variable(y)||P.type.is_variable(F)?w.throw_error(P.error.instantiation(b.indicator)):P.type.is_atom(y)?P.type.is_flag(y)?P.type.is_value_flag(y,F)?P.type.is_modifiable_flag(y)?w.session.flag[y.id]=F:w.throw_error(P.error.permission("modify","flag",y)):w.throw_error(P.error.domain("flag_value",new _("+",[y,F]),b.indicator)):w.throw_error(P.error.domain("prolog_flag",y,b.indicator)):w.throw_error(P.error.type("atom",y,b.indicator))},"use_module/1":function(w,b){var y=b.args[0];if(P.type.is_variable(y))w.throw_error(P.error.instantiation(b.indicator));else if(!P.type.is_term(y))w.throw_error(P.error.type("term",y,b.indicator));else if(P.type.is_module(y)){var F=y.args[0].id;t(w.session.modules,F)===-1&&w.session.modules.push(F)}},"char_conversion/2":function(w,b){var y=b.args[0],F=b.args[1];P.type.is_variable(y)||P.type.is_variable(F)?w.throw_error(P.error.instantiation(b.indicator)):P.type.is_character(y)?P.type.is_character(F)?y.id===F.id?delete w.session.__char_conversion[y.id]:w.session.__char_conversion[y.id]=F.id:w.throw_error(P.error.type("character",F,b.indicator)):w.throw_error(P.error.type("character",y,b.indicator))},"op/3":function(w,b){var y=b.args[0],F=b.args[1],z=b.args[2];if(P.type.is_variable(y)||P.type.is_variable(F)||P.type.is_variable(z))w.throw_error(P.error.instantiation(b.indicator));else if(!P.type.is_integer(y))w.throw_error(P.error.type("integer",y,b.indicator));else if(!P.type.is_atom(F))w.throw_error(P.error.type("atom",F,b.indicator));else if(!P.type.is_atom(z))w.throw_error(P.error.type("atom",z,b.indicator));else if(y.value<0||y.value>1200)w.throw_error(P.error.domain("operator_priority",y,b.indicator));else if(z.id===",")w.throw_error(P.error.permission("modify","operator",z,b.indicator));else if(z.id==="|"&&(y.value<1001||F.id.length!==3))w.throw_error(P.error.permission("modify","operator",z,b.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)w.throw_error(P.error.domain("operator_specifier",F,b.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in w.session.__operators)if(w.session.__operators.hasOwnProperty($)){var se=w.session.__operators[$][z.id];se&&(t(se,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),t(se,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),t(se,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),t(se,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),t(se,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),t(se,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),t(se,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var xe;switch(F.id){case"fy":case"fx":xe="prefix";break;case"yf":case"xf":xe="postfix";break;default:xe="infix";break}if(((X.prefix&&xe==="prefix"||X.postfix&&xe==="postfix"||X.infix&&xe==="infix")&&X[xe].type!==F.id||X.infix&&xe==="postfix"||X.postfix&&xe==="infix")&&y.value!==0)w.throw_error(P.error.permission("create","operator",z,b.indicator));else return X[xe]&&(Se(w.session.__operators[X[xe].priority][z.id],F.id),w.session.__operators[X[xe].priority][z.id].length===0&&delete w.session.__operators[X[xe].priority][z.id]),y.value>0&&(w.session.__operators[y.value]||(w.session.__operators[y.value.toString()]={}),w.session.__operators[y.value][z.id]||(w.session.__operators[y.value][z.id]=[]),w.session.__operators[y.value][z.id].push(F.id)),!0}}},predicate:{"op/3":function(w,b,y){P.directive["op/3"](w,y)&&w.success(b)},"current_op/3":function(w,b,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=[];for(var se in w.session.__operators)for(var xe in w.session.__operators[se])for(var Fe=0;Fe/2"){var F=w.points,z=w.session.format_success,X=w.session.format_error;w.session.format_success=function(Fe){return Fe.substitution},w.session.format_error=function(Fe){return Fe.goal},w.points=[new be(y.args[0].args[0],b.substitution,b)];var $=function(Fe){w.points=F,w.session.format_success=z,w.session.format_error=X,Fe===!1?w.prepend([new be(b.goal.replace(y.args[1]),b.substitution,b)]):P.type.is_error(Fe)?w.throw_error(Fe.args[0]):Fe===null?(w.prepend([b]),w.__calls.shift()(null)):w.prepend([new be(b.goal.replace(y.args[0].args[1]).apply(Fe),b.substitution.apply(Fe),b)])};w.__calls.unshift($)}else{var se=new be(b.goal.replace(y.args[0]),b.substitution,b),xe=new be(b.goal.replace(y.args[1]),b.substitution,b);w.prepend([se,xe])}},"!/0":function(w,b,y){var F,z,X=[];for(F=b,z=null;F.parent!==null&&F.parent.goal.search(y);)if(z=F,F=F.parent,F.goal!==null){var $=F.goal.select();if($&&$.id==="call"&&$.search(y)){F=z;break}}for(var se=w.points.length-1;se>=0;se--){for(var xe=w.points[se],Fe=xe.parent;Fe!==null&&Fe!==F.parent;)Fe=Fe.parent;Fe===null&&Fe!==F.parent&&X.push(xe)}w.points=X.reverse(),w.success(b)},"\\+/1":function(w,b,y){var F=y.args[0];P.type.is_variable(F)?w.throw_error(P.error.instantiation(w.level)):P.type.is_callable(F)?w.prepend([new be(b.goal.replace(new _(",",[new _(",",[new _("call",[F]),new _("!",[])]),new _("fail",[])])),b.substitution,b),new be(b.goal.replace(null),b.substitution,b)]):w.throw_error(P.error.type("callable",F,w.level))},"->/2":function(w,b,y){var F=b.goal.replace(new _(",",[y.args[0],new _(",",[new _("!"),y.args[1]])]));w.prepend([new be(F,b.substitution,b)])},"fail/0":function(w,b,y){},"false/0":function(w,b,y){},"true/0":function(w,b,y){w.success(b)},"call/1":ce(1),"call/2":ce(2),"call/3":ce(3),"call/4":ce(4),"call/5":ce(5),"call/6":ce(6),"call/7":ce(7),"call/8":ce(8),"once/1":function(w,b,y){var F=y.args[0];w.prepend([new be(b.goal.replace(new _(",",[new _("call",[F]),new _("!",[])])),b.substitution,b)])},"forall/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new be(b.goal.replace(new _("\\+",[new _(",",[new _("call",[F]),new _("\\+",[new _("call",[z])])])])),b.substitution,b)])},"repeat/0":function(w,b,y){w.prepend([new be(b.goal.replace(null),b.substitution,b),b])},"throw/1":function(w,b,y){P.type.is_variable(y.args[0])?w.throw_error(P.error.instantiation(w.level)):w.throw_error(y.args[0])},"catch/3":function(w,b,y){var F=w.points;w.points=[],w.prepend([new be(y.args[0],b.substitution,b)]);var z=w.session.format_success,X=w.session.format_error;w.session.format_success=function(se){return se.substitution},w.session.format_error=function(se){return se.goal};var $=function(se){var xe=w.points;if(w.points=F,w.session.format_success=z,w.session.format_error=X,P.type.is_error(se)){for(var Fe=[],ut=w.points.length-1;ut>=0;ut--){for(var ir=w.points[ut],Ct=ir.parent;Ct!==null&&Ct!==b.parent;)Ct=Ct.parent;Ct===null&&Ct!==b.parent&&Fe.push(ir)}w.points=Fe;var qt=w.get_flag("occurs_check").indicator==="true/0",ir=new be,Pt=P.unify(se.args[0],y.args[1],qt);Pt!==null?(ir.substitution=b.substitution.apply(Pt),ir.goal=b.goal.replace(y.args[2]).apply(Pt),ir.parent=b,w.prepend([ir])):w.throw_error(se.args[0])}else if(se!==!1){for(var dn=se===null?[]:[new be(b.goal.apply(se).replace(null),b.substitution.apply(se),b)],Pr=[],ut=xe.length-1;ut>=0;ut--){Pr.push(xe[ut]);var Cr=xe[ut].goal!==null?xe[ut].goal.select():null;if(P.type.is_term(Cr)&&Cr.indicator==="!/0")break}var Or=s(Pr,function(on){return on.goal===null&&(on.goal=new _("true",[])),on=new be(b.goal.replace(new _("catch",[on.goal,y.args[1],y.args[2]])),b.substitution.apply(on.substitution),on.parent),on.exclude=y.args[0].variables(),on}).reverse();w.prepend(Or),w.prepend(dn),se===null&&(this.current_limit=0,w.__calls.shift()(null))}};w.__calls.unshift($)},"=/2":function(w,b,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=new be,X=P.unify(y.args[0],y.args[1],F);X!==null&&(z.goal=b.goal.apply(X).replace(null),z.substitution=b.substitution.apply(X),z.parent=b,w.prepend([z]))},"unify_with_occurs_check/2":function(w,b,y){var F=new be,z=P.unify(y.args[0],y.args[1],!0);z!==null&&(F.goal=b.goal.apply(z).replace(null),F.substitution=b.substitution.apply(z),F.parent=b,w.prepend([F]))},"\\=/2":function(w,b,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=P.unify(y.args[0],y.args[1],F);z===null&&w.success(b)},"subsumes_term/2":function(w,b,y){var F=w.get_flag("occurs_check").indicator==="true/0",z=P.unify(y.args[1],y.args[0],F);z!==null&&y.args[1].apply(z).equals(y.args[1])&&w.success(b)},"findall/3":function(w,b,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(P.type.is_variable(z))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(z))w.throw_error(P.error.type("callable",z,y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_list(X))w.throw_error(P.error.type("list",X,y.indicator));else{var $=w.next_free_variable(),se=new _(",",[z,new _("=",[$,F])]),xe=w.points,Fe=w.session.limit,ut=w.session.format_success;w.session.format_success=function(ir){return ir.substitution},w.add_goal(se,!0,b);var Ct=[],qt=function(ir){if(ir!==!1&&ir!==null&&!P.type.is_error(ir))w.__calls.unshift(qt),Ct.push(ir.links[$.id]),w.session.limit=w.current_limit;else if(w.points=xe,w.session.limit=Fe,w.session.format_success=ut,P.type.is_error(ir))w.throw_error(ir.args[0]);else if(w.current_limit>0){for(var Pt=new _("[]"),dn=Ct.length-1;dn>=0;dn--)Pt=new _(".",[Ct[dn],Pt]);w.prepend([new be(b.goal.replace(new _("=",[X,Pt])),b.substitution,b)])}};w.__calls.unshift(qt)}},"bagof/3":function(w,b,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(P.type.is_variable(X))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(X))w.throw_error(P.error.type("callable",X,y.indicator));else if(!P.type.is_variable($)&&!P.type.is_list($))w.throw_error(P.error.type("list",$,y.indicator));else{var se=w.next_free_variable(),xe;X.indicator==="^/2"?(xe=X.args[0].variables(),X=X.args[1]):xe=[],xe=xe.concat(z.variables());for(var Fe=X.variables().filter(function(Or){return t(xe,Or)===-1}),ut=new _("[]"),Ct=Fe.length-1;Ct>=0;Ct--)ut=new _(".",[new De(Fe[Ct]),ut]);var qt=new _(",",[X,new _("=",[se,new _(",",[ut,z])])]),ir=w.points,Pt=w.session.limit,dn=w.session.format_success;w.session.format_success=function(Or){return Or.substitution},w.add_goal(qt,!0,b);var Pr=[],Cr=function(Or){if(Or!==!1&&Or!==null&&!P.type.is_error(Or)){w.__calls.unshift(Cr);var on=!1,li=Or.links[se.id].args[0],Do=Or.links[se.id].args[1];for(var ns in Pr)if(Pr.hasOwnProperty(ns)){var so=Pr[ns];if(so.variables.equals(li)){so.answers.push(Do),on=!0;break}}on||Pr.push({variables:li,answers:[Do]}),w.session.limit=w.current_limit}else if(w.points=ir,w.session.limit=Pt,w.session.format_success=dn,P.type.is_error(Or))w.throw_error(Or.args[0]);else if(w.current_limit>0){for(var bo=[],ji=0;ji=0;Po--)oo=new _(".",[Or[Po],oo]);bo.push(new be(b.goal.replace(new _(",",[new _("=",[ut,Pr[ji].variables]),new _("=",[$,oo])])),b.substitution,b))}w.prepend(bo)}};w.__calls.unshift(Cr)}},"setof/3":function(w,b,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(P.type.is_variable(X))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(X))w.throw_error(P.error.type("callable",X,y.indicator));else if(!P.type.is_variable($)&&!P.type.is_list($))w.throw_error(P.error.type("list",$,y.indicator));else{var se=w.next_free_variable(),xe;X.indicator==="^/2"?(xe=X.args[0].variables(),X=X.args[1]):xe=[],xe=xe.concat(z.variables());for(var Fe=X.variables().filter(function(Or){return t(xe,Or)===-1}),ut=new _("[]"),Ct=Fe.length-1;Ct>=0;Ct--)ut=new _(".",[new De(Fe[Ct]),ut]);var qt=new _(",",[X,new _("=",[se,new _(",",[ut,z])])]),ir=w.points,Pt=w.session.limit,dn=w.session.format_success;w.session.format_success=function(Or){return Or.substitution},w.add_goal(qt,!0,b);var Pr=[],Cr=function(Or){if(Or!==!1&&Or!==null&&!P.type.is_error(Or)){w.__calls.unshift(Cr);var on=!1,li=Or.links[se.id].args[0],Do=Or.links[se.id].args[1];for(var ns in Pr)if(Pr.hasOwnProperty(ns)){var so=Pr[ns];if(so.variables.equals(li)){so.answers.push(Do),on=!0;break}}on||Pr.push({variables:li,answers:[Do]}),w.session.limit=w.current_limit}else if(w.points=ir,w.session.limit=Pt,w.session.format_success=dn,P.type.is_error(Or))w.throw_error(Or.args[0]);else if(w.current_limit>0){for(var bo=[],ji=0;ji=0;Po--)oo=new _(".",[Or[Po],oo]);bo.push(new be(b.goal.replace(new _(",",[new _("=",[ut,Pr[ji].variables]),new _("=",[$,oo])])),b.substitution,b))}w.prepend(bo)}};w.__calls.unshift(Cr)}},"functor/3":function(w,b,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(P.type.is_variable(z)&&(P.type.is_variable(X)||P.type.is_variable($)))w.throw_error(P.error.instantiation("functor/3"));else if(!P.type.is_variable($)&&!P.type.is_integer($))w.throw_error(P.error.type("integer",y.args[2],"functor/3"));else if(!P.type.is_variable(X)&&!P.type.is_atomic(X))w.throw_error(P.error.type("atomic",y.args[1],"functor/3"));else if(P.type.is_integer(X)&&P.type.is_integer($)&&$.value!==0)w.throw_error(P.error.type("atom",y.args[1],"functor/3"));else if(P.type.is_variable(z)){if(y.args[2].value>=0){for(var se=[],xe=0;xe<$.value;xe++)se.push(w.next_free_variable());var Fe=P.type.is_integer(X)?X:new _(X.id,se);w.prepend([new be(b.goal.replace(new _("=",[z,Fe])),b.substitution,b)])}}else{var ut=P.type.is_integer(z)?z:new _(z.id,[]),Ct=P.type.is_integer(z)?new Qe(0,!1):new Qe(z.args.length,!1),qt=new _(",",[new _("=",[ut,X]),new _("=",[Ct,$])]);w.prepend([new be(b.goal.replace(qt),b.substitution,b)])}},"arg/3":function(w,b,y){if(P.type.is_variable(y.args[0])||P.type.is_variable(y.args[1]))w.throw_error(P.error.instantiation(y.indicator));else if(y.args[0].value<0)w.throw_error(P.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!P.type.is_compound(y.args[1]))w.throw_error(P.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var z=new _("=",[y.args[1].args[F-1],y.args[2]]);w.prepend([new be(b.goal.replace(z),b.substitution,b)])}}},"=../2":function(w,b,y){var F;if(P.type.is_variable(y.args[0])&&(P.type.is_variable(y.args[1])||P.type.is_non_empty_list(y.args[1])&&P.type.is_variable(y.args[1].args[0])))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_fully_list(y.args[1]))w.throw_error(P.error.type("list",y.args[1],y.indicator));else if(P.type.is_variable(y.args[0])){if(!P.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];P.type.is_variable(y.args[0])&&P.type.is_variable(F)?w.throw_error(P.error.instantiation(y.indicator)):X.length===0&&P.type.is_compound(y.args[1].args[0])?w.throw_error(P.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(P.type.is_compound(y.args[1].args[0])||P.type.is_number(y.args[1].args[0]))?w.throw_error(P.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?w.prepend([new be(b.goal.replace(new _("=",[y.args[1].args[0],y.args[0]],b)),b.substitution,b)]):w.prepend([new be(b.goal.replace(new _("=",[new _(y.args[1].args[0].id,X),y.args[0]])),b.substitution,b)])}}else{if(P.type.is_atomic(y.args[0]))F=new _(".",[y.args[0],new _("[]")]);else{F=new _("[]");for(var z=y.args[0].args.length-1;z>=0;z--)F=new _(".",[y.args[0].args[z],F]);F=new _(".",[new _(y.args[0].id),F])}w.prepend([new be(b.goal.replace(new _("=",[F,y.args[1]])),b.substitution,b)])}},"copy_term/2":function(w,b,y){var F=y.args[0].rename(w);w.prepend([new be(b.goal.replace(new _("=",[F,y.args[1]])),b.substitution,b.parent)])},"term_variables/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(!P.type.is_fully_list(z))w.throw_error(P.error.type("list",z,y.indicator));else{var X=g(s(Be(F.variables()),function($){return new De($)}));w.prepend([new be(b.goal.replace(new _("=",[z,X])),b.substitution,b)])}},"clause/2":function(w,b,y){if(P.type.is_variable(y.args[0]))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(y.args[0]))w.throw_error(P.error.type("callable",y.args[0],y.indicator));else if(!P.type.is_variable(y.args[1])&&!P.type.is_callable(y.args[1]))w.throw_error(P.error.type("callable",y.args[1],y.indicator));else if(w.session.rules[y.args[0].indicator]!==void 0)if(w.is_public_predicate(y.args[0].indicator)){var F=[];for(var z in w.session.rules[y.args[0].indicator])if(w.session.rules[y.args[0].indicator].hasOwnProperty(z)){var X=w.session.rules[y.args[0].indicator][z];w.session.renamed_variables={},X=X.rename(w),X.body===null&&(X.body=new _("true"));var $=new _(",",[new _("=",[X.head,y.args[0]]),new _("=",[X.body,y.args[1]])]);F.push(new be(b.goal.replace($),b.substitution,b))}w.prepend(F)}else w.throw_error(P.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(w,b,y){var F=y.args[0];if(!P.type.is_variable(F)&&(!P.type.is_compound(F)||F.indicator!=="//2"))w.throw_error(P.error.type("predicate_indicator",F,y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_variable(F.args[0])&&!P.type.is_atom(F.args[0]))w.throw_error(P.error.type("atom",F.args[0],y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_variable(F.args[1])&&!P.type.is_integer(F.args[1]))w.throw_error(P.error.type("integer",F.args[1],y.indicator));else{var z=[];for(var X in w.session.rules)if(w.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),se=X.substr(0,$),xe=parseInt(X.substr($+1,X.length-($+1))),Fe=new _("/",[new _(se),new Qe(xe,!1)]),ut=new _("=",[Fe,F]);z.push(new be(b.goal.replace(ut),b.substitution,b))}w.prepend(z)}},"asserta/1":function(w,b,y){if(P.type.is_variable(y.args[0]))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(y.args[0]))w.throw_error(P.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Ee(y.args[0].args[1])):(F=y.args[0],z=null),P.type.is_callable(F)?z!==null&&!P.type.is_callable(z)?w.throw_error(P.error.type("callable",z,y.indicator)):w.is_public_predicate(F.indicator)?(w.session.rules[F.indicator]===void 0&&(w.session.rules[F.indicator]=[]),w.session.public_predicates[F.indicator]=!0,w.session.rules[F.indicator]=[new je(F,z,!0)].concat(w.session.rules[F.indicator]),w.success(b)):w.throw_error(P.error.permission("modify","static_procedure",F.indicator,y.indicator)):w.throw_error(P.error.type("callable",F,y.indicator))}},"assertz/1":function(w,b,y){if(P.type.is_variable(y.args[0]))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(y.args[0]))w.throw_error(P.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Ee(y.args[0].args[1])):(F=y.args[0],z=null),P.type.is_callable(F)?z!==null&&!P.type.is_callable(z)?w.throw_error(P.error.type("callable",z,y.indicator)):w.is_public_predicate(F.indicator)?(w.session.rules[F.indicator]===void 0&&(w.session.rules[F.indicator]=[]),w.session.public_predicates[F.indicator]=!0,w.session.rules[F.indicator].push(new je(F,z,!0)),w.success(b)):w.throw_error(P.error.permission("modify","static_procedure",F.indicator,y.indicator)):w.throw_error(P.error.type("callable",F,y.indicator))}},"retract/1":function(w,b,y){if(P.type.is_variable(y.args[0]))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_callable(y.args[0]))w.throw_error(P.error.type("callable",y.args[0],y.indicator));else{var F,z;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=y.args[0].args[1]):(F=y.args[0],z=new _("true")),typeof b.retract>"u")if(w.is_public_predicate(F.indicator)){if(w.session.rules[F.indicator]!==void 0){for(var X=[],$=0;$w.get_flag("max_arity").value)w.throw_error(P.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;w.is_public_predicate(F)?(delete w.session.rules[F],w.success(b)):w.throw_error(P.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(w,b,y){if(P.type.is_variable(y.args[0]))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_atom(y.args[0]))w.throw_error(P.error.type("atom",y.args[0],y.indicator));else if(!P.type.is_variable(y.args[1])&&!P.type.is_integer(y.args[1]))w.throw_error(P.error.type("integer",y.args[1],y.indicator));else if(P.type.is_integer(y.args[1])&&y.args[1].value<0)w.throw_error(P.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new Qe(y.args[0].id.length,!1);w.prepend([new be(b.goal.replace(new _("=",[F,y.args[1]])),b.substitution,b)])}},"atom_concat/3":function(w,b,y){var F,z,X=y.args[0],$=y.args[1],se=y.args[2];if(P.type.is_variable(se)&&(P.type.is_variable(X)||P.type.is_variable($)))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_atom(X))w.throw_error(P.error.type("atom",X,y.indicator));else if(!P.type.is_variable($)&&!P.type.is_atom($))w.throw_error(P.error.type("atom",$,y.indicator));else if(!P.type.is_variable(se)&&!P.type.is_atom(se))w.throw_error(P.error.type("atom",se,y.indicator));else{var xe=P.type.is_variable(X),Fe=P.type.is_variable($);if(!xe&&!Fe)z=new _("=",[se,new _(X.id+$.id)]),w.prepend([new be(b.goal.replace(z),b.substitution,b)]);else if(xe&&!Fe)F=se.id.substr(0,se.id.length-$.id.length),F+$.id===se.id&&(z=new _("=",[X,new _(F)]),w.prepend([new be(b.goal.replace(z),b.substitution,b)]));else if(Fe&&!xe)F=se.id.substr(X.id.length),X.id+F===se.id&&(z=new _("=",[$,new _(F)]),w.prepend([new be(b.goal.replace(z),b.substitution,b)]));else{for(var ut=[],Ct=0;Ct<=se.id.length;Ct++){var qt=new _(se.id.substr(0,Ct)),ir=new _(se.id.substr(Ct));z=new _(",",[new _("=",[qt,X]),new _("=",[ir,$])]),ut.push(new be(b.goal.replace(z),b.substitution,b))}w.prepend(ut)}}},"sub_atom/5":function(w,b,y){var F,z=y.args[0],X=y.args[1],$=y.args[2],se=y.args[3],xe=y.args[4];if(P.type.is_variable(z))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_integer(X))w.throw_error(P.error.type("integer",X,y.indicator));else if(!P.type.is_variable($)&&!P.type.is_integer($))w.throw_error(P.error.type("integer",$,y.indicator));else if(!P.type.is_variable(se)&&!P.type.is_integer(se))w.throw_error(P.error.type("integer",se,y.indicator));else if(P.type.is_integer(X)&&X.value<0)w.throw_error(P.error.domain("not_less_than_zero",X,y.indicator));else if(P.type.is_integer($)&&$.value<0)w.throw_error(P.error.domain("not_less_than_zero",$,y.indicator));else if(P.type.is_integer(se)&&se.value<0)w.throw_error(P.error.domain("not_less_than_zero",se,y.indicator));else{var Fe=[],ut=[],Ct=[];if(P.type.is_variable(X))for(F=0;F<=z.id.length;F++)Fe.push(F);else Fe.push(X.value);if(P.type.is_variable($))for(F=0;F<=z.id.length;F++)ut.push(F);else ut.push($.value);if(P.type.is_variable(se))for(F=0;F<=z.id.length;F++)Ct.push(F);else Ct.push(se.value);var qt=[];for(var ir in Fe)if(Fe.hasOwnProperty(ir)){F=Fe[ir];for(var Pt in ut)if(ut.hasOwnProperty(Pt)){var dn=ut[Pt],Pr=z.id.length-F-dn;if(t(Ct,Pr)!==-1&&F+dn+Pr===z.id.length){var Cr=z.id.substr(F,dn);if(z.id===z.id.substr(0,F)+Cr+z.id.substr(F+dn,Pr)){var Or=new _("=",[new _(Cr),xe]),on=new _("=",[X,new Qe(F)]),li=new _("=",[$,new Qe(dn)]),Do=new _("=",[se,new Qe(Pr)]),ns=new _(",",[new _(",",[new _(",",[on,li]),Do]),Or]);qt.push(new be(b.goal.replace(ns),b.substitution,b))}}}}w.prepend(qt)}},"atom_chars/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(P.type.is_variable(F)&&P.type.is_variable(z))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_atom(F))w.throw_error(P.error.type("atom",F,y.indicator));else if(P.type.is_variable(F)){for(var se=z,xe=P.type.is_variable(F),Fe="";se.indicator==="./2";){if(P.type.is_character(se.args[0]))Fe+=se.args[0].id;else if(P.type.is_variable(se.args[0])&&xe){w.throw_error(P.error.instantiation(y.indicator));return}else if(!P.type.is_variable(se.args[0])){w.throw_error(P.error.type("character",se.args[0],y.indicator));return}se=se.args[1]}P.type.is_variable(se)&&xe?w.throw_error(P.error.instantiation(y.indicator)):!P.type.is_empty_list(se)&&!P.type.is_variable(se)?w.throw_error(P.error.type("list",z,y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[new _(Fe),F])),b.substitution,b)])}else{for(var X=new _("[]"),$=F.id.length-1;$>=0;$--)X=new _(".",[new _(F.id.charAt($)),X]);w.prepend([new be(b.goal.replace(new _("=",[z,X])),b.substitution,b)])}},"atom_codes/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(P.type.is_variable(F)&&P.type.is_variable(z))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_atom(F))w.throw_error(P.error.type("atom",F,y.indicator));else if(P.type.is_variable(F)){for(var se=z,xe=P.type.is_variable(F),Fe="";se.indicator==="./2";){if(P.type.is_character_code(se.args[0]))Fe+=c(se.args[0].value);else if(P.type.is_variable(se.args[0])&&xe){w.throw_error(P.error.instantiation(y.indicator));return}else if(!P.type.is_variable(se.args[0])){w.throw_error(P.error.representation("character_code",y.indicator));return}se=se.args[1]}P.type.is_variable(se)&&xe?w.throw_error(P.error.instantiation(y.indicator)):!P.type.is_empty_list(se)&&!P.type.is_variable(se)?w.throw_error(P.error.type("list",z,y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[new _(Fe),F])),b.substitution,b)])}else{for(var X=new _("[]"),$=F.id.length-1;$>=0;$--)X=new _(".",[new Qe(n(F.id,$),!1),X]);w.prepend([new be(b.goal.replace(new _("=",[z,X])),b.substitution,b)])}},"char_code/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(P.type.is_variable(F)&&P.type.is_variable(z))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_character(F))w.throw_error(P.error.type("character",F,y.indicator));else if(!P.type.is_variable(z)&&!P.type.is_integer(z))w.throw_error(P.error.type("integer",z,y.indicator));else if(!P.type.is_variable(z)&&!P.type.is_character_code(z))w.throw_error(P.error.representation("character_code",y.indicator));else if(P.type.is_variable(z)){var X=new Qe(n(F.id,0),!1);w.prepend([new be(b.goal.replace(new _("=",[X,z])),b.substitution,b)])}else{var $=new _(c(z.value));w.prepend([new be(b.goal.replace(new _("=",[$,F])),b.substitution,b)])}},"number_chars/2":function(w,b,y){var F,z=y.args[0],X=y.args[1];if(P.type.is_variable(z)&&P.type.is_variable(X))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(z)&&!P.type.is_number(z))w.throw_error(P.error.type("number",z,y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_list(X))w.throw_error(P.error.type("list",X,y.indicator));else{var $=P.type.is_variable(z);if(!P.type.is_variable(X)){var se=X,xe=!0;for(F="";se.indicator==="./2";){if(P.type.is_character(se.args[0]))F+=se.args[0].id;else if(P.type.is_variable(se.args[0]))xe=!1;else if(!P.type.is_variable(se.args[0])){w.throw_error(P.error.type("character",se.args[0],y.indicator));return}se=se.args[1]}if(xe=xe&&P.type.is_empty_list(se),!P.type.is_empty_list(se)&&!P.type.is_variable(se)){w.throw_error(P.error.type("list",X,y.indicator));return}if(!xe&&$){w.throw_error(P.error.instantiation(y.indicator));return}else if(xe)if(P.type.is_variable(se)&&$){w.throw_error(P.error.instantiation(y.indicator));return}else{var Fe=w.parse(F),ut=Fe.value;!P.type.is_number(ut)||Fe.tokens[Fe.tokens.length-1].space?w.throw_error(P.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[z,ut])),b.substitution,b)]);return}}if(!$){F=z.toString();for(var Ct=new _("[]"),qt=F.length-1;qt>=0;qt--)Ct=new _(".",[new _(F.charAt(qt)),Ct]);w.prepend([new be(b.goal.replace(new _("=",[X,Ct])),b.substitution,b)])}}},"number_codes/2":function(w,b,y){var F,z=y.args[0],X=y.args[1];if(P.type.is_variable(z)&&P.type.is_variable(X))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(z)&&!P.type.is_number(z))w.throw_error(P.error.type("number",z,y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_list(X))w.throw_error(P.error.type("list",X,y.indicator));else{var $=P.type.is_variable(z);if(!P.type.is_variable(X)){var se=X,xe=!0;for(F="";se.indicator==="./2";){if(P.type.is_character_code(se.args[0]))F+=c(se.args[0].value);else if(P.type.is_variable(se.args[0]))xe=!1;else if(!P.type.is_variable(se.args[0])){w.throw_error(P.error.type("character_code",se.args[0],y.indicator));return}se=se.args[1]}if(xe=xe&&P.type.is_empty_list(se),!P.type.is_empty_list(se)&&!P.type.is_variable(se)){w.throw_error(P.error.type("list",X,y.indicator));return}if(!xe&&$){w.throw_error(P.error.instantiation(y.indicator));return}else if(xe)if(P.type.is_variable(se)&&$){w.throw_error(P.error.instantiation(y.indicator));return}else{var Fe=w.parse(F),ut=Fe.value;!P.type.is_number(ut)||Fe.tokens[Fe.tokens.length-1].space?w.throw_error(P.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[z,ut])),b.substitution,b)]);return}}if(!$){F=z.toString();for(var Ct=new _("[]"),qt=F.length-1;qt>=0;qt--)Ct=new _(".",[new Qe(n(F,qt),!1),Ct]);w.prepend([new be(b.goal.replace(new _("=",[X,Ct])),b.substitution,b)])}}},"upcase_atom/2":function(w,b,y){var F=y.args[0],z=y.args[1];P.type.is_variable(F)?w.throw_error(P.error.instantiation(y.indicator)):P.type.is_atom(F)?!P.type.is_variable(z)&&!P.type.is_atom(z)?w.throw_error(P.error.type("atom",z,y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[z,new _(F.id.toUpperCase(),[])])),b.substitution,b)]):w.throw_error(P.error.type("atom",F,y.indicator))},"downcase_atom/2":function(w,b,y){var F=y.args[0],z=y.args[1];P.type.is_variable(F)?w.throw_error(P.error.instantiation(y.indicator)):P.type.is_atom(F)?!P.type.is_variable(z)&&!P.type.is_atom(z)?w.throw_error(P.error.type("atom",z,y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[z,new _(F.id.toLowerCase(),[])])),b.substitution,b)]):w.throw_error(P.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new be(b.goal.replace(new _("atomic_list_concat",[F,new _("",[]),z])),b.substitution,b)])},"atomic_list_concat/3":function(w,b,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(P.type.is_variable(z)||P.type.is_variable(F)&&P.type.is_variable(X))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_list(F))w.throw_error(P.error.type("list",F,y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_atom(X))w.throw_error(P.error.type("atom",X,y.indicator));else if(P.type.is_variable(X)){for(var se="",xe=F;P.type.is_term(xe)&&xe.indicator==="./2";){if(!P.type.is_atom(xe.args[0])&&!P.type.is_number(xe.args[0])){w.throw_error(P.error.type("atomic",xe.args[0],y.indicator));return}se!==""&&(se+=z.id),P.type.is_atom(xe.args[0])?se+=xe.args[0].id:se+=""+xe.args[0].value,xe=xe.args[1]}se=new _(se,[]),P.type.is_variable(xe)?w.throw_error(P.error.instantiation(y.indicator)):!P.type.is_term(xe)||xe.indicator!=="[]/0"?w.throw_error(P.error.type("list",F,y.indicator)):w.prepend([new be(b.goal.replace(new _("=",[se,X])),b.substitution,b)])}else{var $=g(s(X.id.split(z.id),function(Fe){return new _(Fe,[])}));w.prepend([new be(b.goal.replace(new _("=",[$,F])),b.substitution,b)])}},"@=/2":function(w,b,y){P.compare(y.args[0],y.args[1])>0&&w.success(b)},"@>=/2":function(w,b,y){P.compare(y.args[0],y.args[1])>=0&&w.success(b)},"compare/3":function(w,b,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(!P.type.is_variable(F)&&!P.type.is_atom(F))w.throw_error(P.error.type("atom",F,y.indicator));else if(P.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)w.throw_error(P.type.domain("order",F,y.indicator));else{var $=P.compare(z,X);$=$===0?"=":$===-1?"<":">",w.prepend([new be(b.goal.replace(new _("=",[F,new _($,[])])),b.substitution,b)])}},"is/2":function(w,b,y){var F=y.args[1].interpret(w);P.type.is_number(F)?w.prepend([new be(b.goal.replace(new _("=",[y.args[0],F],w.level)),b.substitution,b)]):w.throw_error(F)},"between/3":function(w,b,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(P.type.is_variable(F)||P.type.is_variable(z))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_integer(F))w.throw_error(P.error.type("integer",F,y.indicator));else if(!P.type.is_integer(z))w.throw_error(P.error.type("integer",z,y.indicator));else if(!P.type.is_variable(X)&&!P.type.is_integer(X))w.throw_error(P.error.type("integer",X,y.indicator));else if(P.type.is_variable(X)){var $=[new be(b.goal.replace(new _("=",[X,F])),b.substitution,b)];F.value=X.value&&w.success(b)},"succ/2":function(w,b,y){var F=y.args[0],z=y.args[1];P.type.is_variable(F)&&P.type.is_variable(z)?w.throw_error(P.error.instantiation(y.indicator)):!P.type.is_variable(F)&&!P.type.is_integer(F)?w.throw_error(P.error.type("integer",F,y.indicator)):!P.type.is_variable(z)&&!P.type.is_integer(z)?w.throw_error(P.error.type("integer",z,y.indicator)):!P.type.is_variable(F)&&F.value<0?w.throw_error(P.error.domain("not_less_than_zero",F,y.indicator)):!P.type.is_variable(z)&&z.value<0?w.throw_error(P.error.domain("not_less_than_zero",z,y.indicator)):(P.type.is_variable(z)||z.value>0)&&(P.type.is_variable(F)?w.prepend([new be(b.goal.replace(new _("=",[F,new Qe(z.value-1,!1)])),b.substitution,b)]):w.prepend([new be(b.goal.replace(new _("=",[z,new Qe(F.value+1,!1)])),b.substitution,b)]))},"=:=/2":function(w,b,y){var F=P.arithmetic_compare(w,y.args[0],y.args[1]);P.type.is_term(F)?w.throw_error(F):F===0&&w.success(b)},"=\\=/2":function(w,b,y){var F=P.arithmetic_compare(w,y.args[0],y.args[1]);P.type.is_term(F)?w.throw_error(F):F!==0&&w.success(b)},"/2":function(w,b,y){var F=P.arithmetic_compare(w,y.args[0],y.args[1]);P.type.is_term(F)?w.throw_error(F):F>0&&w.success(b)},">=/2":function(w,b,y){var F=P.arithmetic_compare(w,y.args[0],y.args[1]);P.type.is_term(F)?w.throw_error(F):F>=0&&w.success(b)},"var/1":function(w,b,y){P.type.is_variable(y.args[0])&&w.success(b)},"atom/1":function(w,b,y){P.type.is_atom(y.args[0])&&w.success(b)},"atomic/1":function(w,b,y){P.type.is_atomic(y.args[0])&&w.success(b)},"compound/1":function(w,b,y){P.type.is_compound(y.args[0])&&w.success(b)},"integer/1":function(w,b,y){P.type.is_integer(y.args[0])&&w.success(b)},"float/1":function(w,b,y){P.type.is_float(y.args[0])&&w.success(b)},"number/1":function(w,b,y){P.type.is_number(y.args[0])&&w.success(b)},"nonvar/1":function(w,b,y){P.type.is_variable(y.args[0])||w.success(b)},"ground/1":function(w,b,y){y.variables().length===0&&w.success(b)},"acyclic_term/1":function(w,b,y){for(var F=b.substitution.apply(b.substitution),z=y.args[0].variables(),X=0;X0?Pt[Pt.length-1]:null,Pt!==null&&(qt=V(w,Pt,0,w.__get_max_priority(),!1))}if(qt.type===p&&qt.len===Pt.length-1&&dn.value==="."){qt=qt.value.rename(w);var Pr=new _("=",[z,qt]);if(se.variables){var Cr=g(s(Be(qt.variables()),function(Or){return new De(Or)}));Pr=new _(",",[Pr,new _("=",[se.variables,Cr])])}if(se.variable_names){var Cr=g(s(Be(qt.variables()),function(on){var li;for(li in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(li)&&w.session.renamed_variables[li]===on)break;return new _("=",[new _(li,[]),new De(on)])}));Pr=new _(",",[Pr,new _("=",[se.variable_names,Cr])])}if(se.singletons){var Cr=g(s(new je(qt,null).singleton_variables(),function(on){var li;for(li in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(li)&&w.session.renamed_variables[li]===on)break;return new _("=",[new _(li,[]),new De(on)])}));Pr=new _(",",[Pr,new _("=",[se.singletons,Cr])])}w.prepend([new be(b.goal.replace(Pr),b.substitution,b)])}else qt.type===p?w.throw_error(P.error.syntax(Pt[qt.len],"unexpected token",!1)):w.throw_error(qt.value)}}},"write/1":function(w,b,y){var F=y.args[0];w.prepend([new be(b.goal.replace(new _(",",[new _("current_output",[new De("S")]),new _("write",[new De("S"),F])])),b.substitution,b)])},"write/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new be(b.goal.replace(new _("write_term",[F,z,new _(".",[new _("quoted",[new _("false",[])]),new _(".",[new _("ignore_ops",[new _("false")]),new _(".",[new _("numbervars",[new _("true")]),new _("[]",[])])])])])),b.substitution,b)])},"writeq/1":function(w,b,y){var F=y.args[0];w.prepend([new be(b.goal.replace(new _(",",[new _("current_output",[new De("S")]),new _("writeq",[new De("S"),F])])),b.substitution,b)])},"writeq/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new be(b.goal.replace(new _("write_term",[F,z,new _(".",[new _("quoted",[new _("true",[])]),new _(".",[new _("ignore_ops",[new _("false")]),new _(".",[new _("numbervars",[new _("true")]),new _("[]",[])])])])])),b.substitution,b)])},"write_canonical/1":function(w,b,y){var F=y.args[0];w.prepend([new be(b.goal.replace(new _(",",[new _("current_output",[new De("S")]),new _("write_canonical",[new De("S"),F])])),b.substitution,b)])},"write_canonical/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new be(b.goal.replace(new _("write_term",[F,z,new _(".",[new _("quoted",[new _("true",[])]),new _(".",[new _("ignore_ops",[new _("true")]),new _(".",[new _("numbervars",[new _("false")]),new _("[]",[])])])])])),b.substitution,b)])},"write_term/2":function(w,b,y){var F=y.args[0],z=y.args[1];w.prepend([new be(b.goal.replace(new _(",",[new _("current_output",[new De("S")]),new _("write_term",[new De("S"),F,z])])),b.substitution,b)])},"write_term/3":function(w,b,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=P.type.is_stream(F)?F:w.get_stream_by_alias(F.id);if(P.type.is_variable(F)||P.type.is_variable(X))w.throw_error(P.error.instantiation(y.indicator));else if(!P.type.is_list(X))w.throw_error(P.error.type("list",X,y.indicator));else if(!P.type.is_stream(F)&&!P.type.is_atom(F))w.throw_error(P.error.domain("stream_or_alias",F,y.indicator));else if(!P.type.is_stream($)||$.stream===null)w.throw_error(P.error.existence("stream",F,y.indicator));else if($.input)w.throw_error(P.error.permission("output","stream",F,y.indicator));else if($.type==="binary")w.throw_error(P.error.permission("output","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")w.throw_error(P.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var se={},xe=X,Fe;P.type.is_term(xe)&&xe.indicator==="./2";){if(Fe=xe.args[0],P.type.is_variable(Fe)){w.throw_error(P.error.instantiation(y.indicator));return}else if(!P.type.is_write_option(Fe)){w.throw_error(P.error.domain("write_option",Fe,y.indicator));return}se[Fe.id]=Fe.args[0].id==="true",xe=xe.args[1]}if(xe.indicator!=="[]/0"){P.type.is_variable(xe)?w.throw_error(P.error.instantiation(y.indicator)):w.throw_error(P.error.type("list",X,y.indicator));return}else{se.session=w.session;var ut=z.toString(se);$.stream.put(ut,$.position),typeof $.position=="number"&&($.position+=ut.length),w.success(b)}}},"halt/0":function(w,b,y){w.points=[]},"halt/1":function(w,b,y){var F=y.args[0];P.type.is_variable(F)?w.throw_error(P.error.instantiation(y.indicator)):P.type.is_integer(F)?w.points=[]:w.throw_error(P.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(w,b,y){var F=y.args[0],z=y.args[1];if(!P.type.is_variable(F)&&!P.type.is_atom(F))w.throw_error(P.error.type("atom",F,y.indicator));else if(!P.type.is_variable(F)&&!P.type.is_flag(F))w.throw_error(P.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var $ in P.flag)if(P.flag.hasOwnProperty($)){var se=new _(",",[new _("=",[new _($),F]),new _("=",[w.get_flag($),z])]);X.push(new be(b.goal.replace(se),b.substitution,b))}w.prepend(X)}},"set_prolog_flag/2":function(w,b,y){var F=y.args[0],z=y.args[1];P.type.is_variable(F)||P.type.is_variable(z)?w.throw_error(P.error.instantiation(y.indicator)):P.type.is_atom(F)?P.type.is_flag(F)?P.type.is_value_flag(F,z)?P.type.is_modifiable_flag(F)?(w.session.flag[F.id]=z,w.success(b)):w.throw_error(P.error.permission("modify","flag",F)):w.throw_error(P.error.domain("flag_value",new _("+",[F,z]),y.indicator)):w.throw_error(P.error.domain("prolog_flag",F,y.indicator)):w.throw_error(P.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new _("true"),new _("false")],value:new _("true"),changeable:!1},max_integer:{allowed:[new Qe(Number.MAX_SAFE_INTEGER)],value:new Qe(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Qe(Number.MIN_SAFE_INTEGER)],value:new Qe(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new _("down"),new _("toward_zero")],value:new _("toward_zero"),changeable:!1},char_conversion:{allowed:[new _("on"),new _("off")],value:new _("on"),changeable:!0},debug:{allowed:[new _("on"),new _("off")],value:new _("off"),changeable:!0},max_arity:{allowed:[new _("unbounded")],value:new _("unbounded"),changeable:!1},unknown:{allowed:[new _("error"),new _("fail"),new _("warning")],value:new _("error"),changeable:!0},double_quotes:{allowed:[new _("chars"),new _("codes"),new _("atom")],value:new _("codes"),changeable:!0},occurs_check:{allowed:[new _("false"),new _("true")],value:new _("false"),changeable:!0},dialect:{allowed:[new _("tau")],value:new _("tau"),changeable:!1},version_data:{allowed:[new _("tau",[new Qe(e.major,!1),new Qe(e.minor,!1),new Qe(e.patch,!1),new _(e.status)])],value:new _("tau",[new Qe(e.major,!1),new Qe(e.minor,!1),new Qe(e.patch,!1),new _(e.status)]),changeable:!1},nodejs:{allowed:[new _("yes"),new _("no")],value:new _(typeof rc<"u"&&rc.exports?"yes":"no"),changeable:!1}},unify:function(w,b,y){y=y===void 0?!1:y;for(var F=[{left:w,right:b}],z={};F.length!==0;){var X=F.pop();if(w=X.left,b=X.right,P.type.is_term(w)&&P.type.is_term(b)){if(w.indicator!==b.indicator)return null;for(var $=0;$z.value?1:0:z}else return F},operate:function(w,b){if(P.type.is_operator(b)){for(var y=P.type.is_operator(b),F=[],z,X=!1,$=0;$w.get_flag("max_integer").value||z0?w.start+w.matches[0].length:w.start,z=y?new _("token_not_found"):new _("found",[new _(w.value.toString())]),X=new _(".",[new _("line",[new Qe(w.line+1)]),new _(".",[new _("column",[new Qe(F+1)]),new _(".",[z,new _("[]",[])])])]);return new _("error",[new _("syntax_error",[new _(b)]),X])},syntax_by_predicate:function(w,b){return new _("error",[new _("syntax_error",[new _(w)]),Z(b)])}},warning:{singleton:function(w,b,y){for(var F=new _("[]"),z=w.length-1;z>=0;z--)F=new _(".",[new De(w[z]),F]);return new _("warning",[new _("singleton_variables",[F,Z(b)]),new _(".",[new _("line",[new Qe(y,!1)]),new _("[]")])])},failed_goal:function(w,b){return new _("warning",[new _("failed_goal",[w]),new _(".",[new _("line",[new Qe(b,!1)]),new _("[]")])])}},format_variable:function(w){return"_"+w},format_answer:function(w,b,F){b instanceof Re&&(b=b.thread);var F=F||{};if(F.session=b?b.session:void 0,P.type.is_error(w))return"uncaught exception: "+w.args[0].toString();if(w===!1)return"false.";if(w===null)return"limit exceeded ;";var z=0,X="";if(P.type.is_substitution(w)){var $=w.domain(!0);w=w.filter(function(Fe,ut){return!P.type.is_variable(ut)||$.indexOf(ut.id)!==-1&&Fe!==ut.id})}for(var se in w.links)w.links.hasOwnProperty(se)&&(z++,X!==""&&(X+=", "),X+=se.toString(F)+" = "+w.links[se].toString(F));var xe=typeof b>"u"||b.points.length>0?" ;":".";return z===0?"true"+xe:X+xe},flatten_error:function(w){if(!P.type.is_error(w))return null;w=w.args[0];var b={};return b.type=w.args[0].id,b.thrown=b.type==="syntax_error"?null:w.args[1].id,b.expected=null,b.found=null,b.representation=null,b.existence=null,b.existence_type=null,b.line=null,b.column=null,b.permission_operation=null,b.permission_type=null,b.evaluation_type=null,b.type==="type_error"||b.type==="domain_error"?(b.expected=w.args[0].args[0].id,b.found=w.args[0].args[1].toString()):b.type==="syntax_error"?w.args[1].indicator==="./2"?(b.expected=w.args[0].args[0].id,b.found=w.args[1].args[1].args[1].args[0],b.found=b.found.id==="token_not_found"?b.found.id:b.found.args[0].id,b.line=w.args[1].args[0].args[0].value,b.column=w.args[1].args[1].args[0].args[0].value):b.thrown=w.args[1].id:b.type==="permission_error"?(b.found=w.args[0].args[2].toString(),b.permission_operation=w.args[0].args[0].id,b.permission_type=w.args[0].args[1].id):b.type==="evaluation_error"?b.evaluation_type=w.args[0].args[0].id:b.type==="representation_error"?b.representation=w.args[0].args[0].id:b.type==="existence_error"&&(b.existence=w.args[0].args[1].toString(),b.existence_type=w.args[0].args[0].id),b},create:function(w){return new P.type.Session(w)}};typeof rc<"u"?rc.exports=P:window.pl=P})()});function ume(e,t,r){e.prepend(r.map(s=>new wl.default.type.State(t.goal.replace(s),t.substitution,t)))}function n9(e){let t=Ame.get(e.session);if(t==null)throw new Error("Assertion failed: A project should have been registered for the active session");return t}function pme(e,t){Ame.set(e,t),e.consult(`:- use_module(library(${gat.id})).`)}var wl,fme,Y0,pat,hat,Ame,gat,hme=Xe(()=>{qe();zl();wl=et(r9()),fme=et(Ie("vm")),{is_atom:Y0,is_variable:pat,is_instantiated_list:hat}=wl.default.type;Ame=new WeakMap;gat=new wl.default.type.Module("constraints",{"project_workspaces_by_descriptor/3":(e,t,r)=>{let[s,a,n]=r.args;if(!Y0(s)||!Y0(a)){e.throw_error(wl.default.error.instantiation(r.indicator));return}let c=j.parseIdent(s.id),f=j.makeDescriptor(c,a.id),h=n9(e).tryWorkspaceByDescriptor(f);pat(n)&&h!==null&&ume(e,t,[new wl.default.type.Term("=",[n,new wl.default.type.Term(String(h.relativeCwd))])]),Y0(n)&&h!==null&&h.relativeCwd===n.id&&e.success(t)},"workspace_field/3":(e,t,r)=>{let[s,a,n]=r.args;if(!Y0(s)||!Y0(a)){e.throw_error(wl.default.error.instantiation(r.indicator));return}let f=n9(e).tryWorkspaceByCwd(s.id);if(f==null)return;let p=Pa(f.manifest.raw,a.id);typeof p>"u"||ume(e,t,[new wl.default.type.Term("=",[n,new wl.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},"workspace_field_test/3":(e,t,r)=>{let[s,a,n]=r.args;e.prepend([new wl.default.type.State(t.goal.replace(new wl.default.type.Term("workspace_field_test",[s,a,n,new wl.default.type.Term("[]",[])])),t.substitution,t)])},"workspace_field_test/4":(e,t,r)=>{let[s,a,n,c]=r.args;if(!Y0(s)||!Y0(a)||!Y0(n)||!hat(c)){e.throw_error(wl.default.error.instantiation(r.indicator));return}let p=n9(e).tryWorkspaceByCwd(s.id);if(p==null)return;let h=Pa(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[S,x]of c.toJavaScript().entries())E[`$${S}`]=x;fme.default.runInNewContext(n.id,E)&&e.success(t)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var aS={};Vt(aS,{Constraints:()=>s9,DependencyType:()=>yme});function Co(e){if(e instanceof _C.default.type.Num)return e.value;if(e instanceof _C.default.type.Term)switch(e.indicator){case"throw/1":return Co(e.args[0]);case"error/1":return Co(e.args[0]);case"error/2":if(e.args[0]instanceof _C.default.type.Term&&e.args[0].indicator==="syntax_error/1")return Object.assign(Co(e.args[0]),...Co(e.args[1]));{let t=Co(e.args[0]);return t.message+=` (in ${Co(e.args[1])})`,t}case"syntax_error/1":return new Lt(43,`Syntax error: ${Co(e.args[0])}`);case"existence_error/2":return new Lt(44,`Existence error: ${Co(e.args[0])} ${Co(e.args[1])} not found`);case"instantiation_error/0":return new Lt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Co(e.args[0])};case"column/1":return{column:Co(e.args[0])};case"found/1":return{found:Co(e.args[0])};case"./2":return[Co(e.args[0])].concat(Co(e.args[1]));case"//2":return`${Co(e.args[0])}/${Co(e.args[1])}`;default:return e.id}throw`couldn't pretty print because of unsupported node ${e}`}function dme(e){let t;try{t=Co(e)}catch(r){throw typeof r=="string"?new Lt(42,`Unknown error: ${e} (note: ${r})`):r}return typeof t.line<"u"&&typeof t.column<"u"&&(t.message+=` at line ${t.line}, column ${t.column}`),t}function Qm(e){return e.id==="null"?null:`${e.toJavaScript()}`}function dat(e){if(e.id==="null")return null;{let t=e.toJavaScript();if(typeof t!="string")return JSON.stringify(t);try{return JSON.stringify(JSON.parse(t))}catch{return JSON.stringify(t)}}}function V0(e){return typeof e=="string"?`'${e}'`:"[]"}var mme,_C,yme,gme,i9,s9,lS=Xe(()=>{qe();qe();Dt();mme=et(Jde()),_C=et(r9());iS();hme();(0,mme.default)(_C.default);yme=(s=>(s.Dependencies="dependencies",s.DevDependencies="devDependencies",s.PeerDependencies="peerDependencies",s))(yme||{}),gme=["dependencies","devDependencies","peerDependencies"];i9=class{constructor(t,r){let s=1e3*t.workspaces.length;this.session=_C.default.create(s),pme(this.session,t),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(t=>{this.session.answer(r=>{t(r)})})}async*makeQuery(t){let r=this.session.query(t);if(r!==!0)throw dme(r);for(;;){let s=await this.fetchNextAnswer();if(s===null)throw new Lt(79,"Resolution limit exceeded");if(!s)break;if(s.id==="throw")throw dme(s);yield s}}};s9=class e{constructor(t){this.source="";this.project=t;let r=t.configuration.get("constraintsPath");le.existsSync(r)&&(this.source=le.readFileSync(r,"utf8"))}static async find(t){return new e(t)}getProjectDatabase(){let t="";for(let r of gme)t+=`dependency_type(${r}). +`;for(let r of this.project.workspacesByCwd.values()){let s=r.relativeCwd;t+=`workspace(${V0(s)}). +`,t+=`workspace_ident(${V0(s)}, ${V0(j.stringifyIdent(r.anchoredLocator))}). +`,t+=`workspace_version(${V0(s)}, ${V0(r.manifest.version)}). +`;for(let a of gme)for(let n of r.manifest[a].values())t+=`workspace_has_dependency(${V0(s)}, ${V0(j.stringifyIdent(n))}, ${V0(n.range)}, ${a}). +`}return t+=`workspace(_) :- false. +`,t+=`workspace_ident(_, _) :- false. +`,t+=`workspace_version(_, _) :- false. +`,t+=`workspace_has_dependency(_, _, _, _) :- false. +`,t}getDeclarations(){let t="";return t+=`gen_enforced_dependency(_, _, _, _) :- false. +`,t+=`gen_enforced_field(_, _, _) :- false. +`,t}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new i9(this.project,this.fullSource)}async processClassic(){let t=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(t),enforcedFields:await this.genEnforcedFields(t)}}async process(){let{enforcedDependencies:t,enforcedFields:r}=await this.processClassic(),s=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:c,dependencyType:f}of t){let p=nS([f,j.stringifyIdent(n)]),h=Ge.getMapWithDefault(s,a.cwd);Ge.getMapWithDefault(h,p).set(c??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:c}of r){let f=nS(n),p=Ge.getMapWithDefault(s,a.cwd);Ge.getMapWithDefault(p,f).set(JSON.parse(c)??void 0,new Set)}return{manifestUpdates:s,reportedErrors:new Map}}async genEnforcedDependencies(t){let r=[];for await(let s of t.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=J.resolve(this.project.cwd,Qm(s.links.WorkspaceCwd)),n=Qm(s.links.DependencyIdent),c=Qm(s.links.DependencyRange),f=Qm(s.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=j.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:c,dependencyType:f})}return Ge.sortMap(r,[({dependencyRange:s})=>s!==null?"0":"1",({workspace:s})=>j.stringifyIdent(s.anchoredLocator),({dependencyIdent:s})=>j.stringifyIdent(s)])}async genEnforcedFields(t){let r=[];for await(let s of t.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=J.resolve(this.project.cwd,Qm(s.links.WorkspaceCwd)),n=Qm(s.links.FieldPath),c=dat(s.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let f=this.project.getWorkspaceByCwd(a);r.push({workspace:f,fieldPath:n,fieldValue:c})}return Ge.sortMap(r,[({workspace:s})=>j.stringifyIdent(s.anchoredLocator),({fieldPath:s})=>s])}async*query(t){let r=this.createSession();for await(let s of r.makeQuery(t)){let a={};for(let[n,c]of Object.entries(s.links))n!=="_"&&(a[n]=Qm(c));yield a}}}});var bme=G(KT=>{"use strict";Object.defineProperty(KT,"__esModule",{value:!0});function BS(e){let t=[...e.caches],r=t.shift();return r===void 0?Dme():{get(s,a,n={miss:()=>Promise.resolve()}){return r.get(s,a,n).catch(()=>BS({caches:t}).get(s,a,n))},set(s,a){return r.set(s,a).catch(()=>BS({caches:t}).set(s,a))},delete(s){return r.delete(s).catch(()=>BS({caches:t}).delete(s))},clear(){return r.clear().catch(()=>BS({caches:t}).clear())}}}function Dme(){return{get(e,t,r={miss:()=>Promise.resolve()}){return t().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(e,t){return Promise.resolve(t)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}}KT.createFallbackableCache=BS;KT.createNullCache=Dme});var xme=G((TYt,Pme)=>{Pme.exports=bme()});var kme=G(E9=>{"use strict";Object.defineProperty(E9,"__esModule",{value:!0});function Nat(e={serializable:!0}){let t={};return{get(r,s,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in t)return Promise.resolve(e.serializable?JSON.parse(t[n]):t[n]);let c=s(),f=a&&a.miss||(()=>Promise.resolve());return c.then(p=>f(p)).then(()=>c)},set(r,s){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(s):s,Promise.resolve(s)},delete(r){return delete t[JSON.stringify(r)],Promise.resolve()},clear(){return t={},Promise.resolve()}}}E9.createInMemoryCache=Nat});var Rme=G((NYt,Qme)=>{Qme.exports=kme()});var Fme=G(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});function Oat(e,t,r){let s={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers(){return e===I9.WithinHeaders?s:{}},queryParameters(){return e===I9.WithinQueryParameters?s:{}}}}function Lat(e){let t=0,r=()=>(t++,new Promise(s=>{setTimeout(()=>{s(e(r))},Math.min(100*t,1e3))}));return e(r)}function Tme(e,t=(r,s)=>Promise.resolve()){return Object.assign(e,{wait(r){return Tme(e.then(s=>Promise.all([t(s,r),s])).then(s=>s[1]))}})}function Mat(e){let t=e.length-1;for(t;t>0;t--){let r=Math.floor(Math.random()*(t+1)),s=e[t];e[t]=e[r],e[r]=s}return e}function Uat(e,t){return t&&Object.keys(t).forEach(r=>{e[r]=t[r](e)}),e}function _at(e,...t){let r=0;return e.replace(/%s/g,()=>encodeURIComponent(t[r++]))}var Hat="4.22.1",jat=e=>()=>e.transporter.requester.destroy(),I9={WithinQueryParameters:0,WithinHeaders:1};rf.AuthMode=I9;rf.addMethods=Uat;rf.createAuth=Oat;rf.createRetryablePromise=Lat;rf.createWaitablePromise=Tme;rf.destroy=jat;rf.encode=_at;rf.shuffle=Mat;rf.version=Hat});var vS=G((LYt,Nme)=>{Nme.exports=Fme()});var Ome=G(C9=>{"use strict";Object.defineProperty(C9,"__esModule",{value:!0});var Gat={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};C9.MethodEnum=Gat});var SS=G((UYt,Lme)=>{Lme.exports=Ome()});var Zme=G(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});var Ume=SS();function w9(e,t){let r=e||{},s=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(s[a]=r[a])}),{data:Object.entries(s).length>0?s:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var DS={Read:1,Write:2,Any:3},zC={Up:1,Down:2,Timeouted:3},_me=2*60*1e3;function v9(e,t=zC.Up){return{...e,status:t,lastUpdate:Date.now()}}function Hme(e){return e.status===zC.Up||Date.now()-e.lastUpdate>_me}function jme(e){return e.status===zC.Timeouted&&Date.now()-e.lastUpdate<=_me}function S9(e){return typeof e=="string"?{protocol:"https",url:e,accept:DS.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||DS.Any}}function qat(e,t){return Promise.all(t.map(r=>e.get(r,()=>Promise.resolve(v9(r))))).then(r=>{let s=r.filter(f=>Hme(f)),a=r.filter(f=>jme(f)),n=[...s,...a],c=n.length>0?n.map(f=>S9(f)):t;return{getTimeout(f,p){return(a.length===0&&f===0?1:a.length+3+f)*p},statelessHosts:c}})}var Wat=({isTimedOut:e,status:t})=>!e&&~~t===0,Yat=e=>{let t=e.status;return e.isTimedOut||Wat(e)||~~(t/100)!==2&&~~(t/100)!==4},Vat=({status:e})=>~~(e/100)===2,Jat=(e,t)=>Yat(e)?t.onRetry(e):Vat(e)?t.onSuccess(e):t.onFail(e);function Mme(e,t,r,s){let a=[],n=Vme(r,s),c=Jme(e,s),f=r.method,p=r.method!==Ume.MethodEnum.Get?{}:{...r.data,...s.data},h={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...p,...s.queryParameters},E=0,C=(S,x)=>{let I=S.pop();if(I===void 0)throw Xme(B9(a));let T={data:n,headers:c,method:f,url:Wme(I,r.path,h),connectTimeout:x(E,e.timeouts.connect),responseTimeout:x(E,s.timeout)},O=V=>{let te={request:T,response:V,host:I,triesLeft:S.length};return a.push(te),te},U={onSuccess:V=>Gme(V),onRetry(V){let te=O(V);return V.isTimedOut&&E++,Promise.all([e.logger.info("Retryable failure",D9(te)),e.hostsCache.set(I,v9(I,V.isTimedOut?zC.Timeouted:zC.Down))]).then(()=>C(S,x))},onFail(V){throw O(V),qme(V,B9(a))}};return e.requester.send(T).then(V=>Jat(V,U))};return qat(e.hostsCache,t).then(S=>C([...S.statelessHosts].reverse(),S.getTimeout))}function Kat(e){let{hostsCache:t,logger:r,requester:s,requestsCache:a,responsesCache:n,timeouts:c,userAgent:f,hosts:p,queryParameters:h,headers:E}=e,C={hostsCache:t,logger:r,requester:s,requestsCache:a,responsesCache:n,timeouts:c,userAgent:f,headers:E,queryParameters:h,hosts:p.map(S=>S9(S)),read(S,x){let I=w9(x,C.timeouts.read),T=()=>Mme(C,C.hosts.filter(V=>(V.accept&DS.Read)!==0),S,I);if((I.cacheable!==void 0?I.cacheable:S.cacheable)!==!0)return T();let U={request:S,mappedRequestOptions:I,transporter:{queryParameters:C.queryParameters,headers:C.headers}};return C.responsesCache.get(U,()=>C.requestsCache.get(U,()=>C.requestsCache.set(U,T()).then(V=>Promise.all([C.requestsCache.delete(U),V]),V=>Promise.all([C.requestsCache.delete(U),Promise.reject(V)])).then(([V,te])=>te)),{miss:V=>C.responsesCache.set(U,V)})},write(S,x){return Mme(C,C.hosts.filter(I=>(I.accept&DS.Write)!==0),S,w9(x,C.timeouts.write))}};return C}function zat(e){let t={value:`Algolia for JavaScript (${e})`,add(r){let s=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return t.value.indexOf(s)===-1&&(t.value=`${t.value}${s}`),t}};return t}function Gme(e){try{return JSON.parse(e.content)}catch(t){throw zme(t.message,e)}}function qme({content:e,status:t},r){let s=e;try{s=JSON.parse(e).message}catch{}return Kme(s,t,r)}function Xat(e,...t){let r=0;return e.replace(/%s/g,()=>encodeURIComponent(t[r++]))}function Wme(e,t,r){let s=Yme(r),a=`${e.protocol}://${e.url}/${t.charAt(0)==="/"?t.substr(1):t}`;return s.length&&(a+=`?${s}`),a}function Yme(e){let t=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(e).map(r=>Xat("%s=%s",r,t(e[r])?JSON.stringify(e[r]):e[r])).join("&")}function Vme(e,t){if(e.method===Ume.MethodEnum.Get||e.data===void 0&&t.data===void 0)return;let r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}function Jme(e,t){let r={...e.headers,...t.headers},s={};return Object.keys(r).forEach(a=>{let n=r[a];s[a.toLowerCase()]=n}),s}function B9(e){return e.map(t=>D9(t))}function D9(e){let t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function Kme(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}function zme(e,t){return{name:"DeserializationError",message:e,response:t}}function Xme(e){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:e}}Yi.CallEnum=DS;Yi.HostStatusEnum=zC;Yi.createApiError=Kme;Yi.createDeserializationError=zme;Yi.createMappedRequestOptions=w9;Yi.createRetryError=Xme;Yi.createStatefulHost=v9;Yi.createStatelessHost=S9;Yi.createTransporter=Kat;Yi.createUserAgent=zat;Yi.deserializeFailure=qme;Yi.deserializeSuccess=Gme;Yi.isStatefulHostTimeouted=jme;Yi.isStatefulHostUp=Hme;Yi.serializeData=Vme;Yi.serializeHeaders=Jme;Yi.serializeQueryParameters=Yme;Yi.serializeUrl=Wme;Yi.stackFrameWithoutCredentials=D9;Yi.stackTraceWithoutCredentials=B9});var bS=G((HYt,$me)=>{$me.exports=Zme()});var eye=G(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var XC=vS(),Zat=bS(),PS=SS(),$at=e=>{let t=e.region||"us",r=XC.createAuth(XC.AuthMode.WithinHeaders,e.appId,e.apiKey),s=Zat.createTransporter({hosts:[{url:`analytics.${t}.algolia.com`}],...e,headers:{...r.headers(),"content-type":"application/json",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),a=e.appId;return XC.addMethods({appId:a,transporter:s},e.methods)},elt=e=>(t,r)=>e.transporter.write({method:PS.MethodEnum.Post,path:"2/abtests",data:t},r),tlt=e=>(t,r)=>e.transporter.write({method:PS.MethodEnum.Delete,path:XC.encode("2/abtests/%s",t)},r),rlt=e=>(t,r)=>e.transporter.read({method:PS.MethodEnum.Get,path:XC.encode("2/abtests/%s",t)},r),nlt=e=>t=>e.transporter.read({method:PS.MethodEnum.Get,path:"2/abtests"},t),ilt=e=>(t,r)=>e.transporter.write({method:PS.MethodEnum.Post,path:XC.encode("2/abtests/%s/stop",t)},r);K0.addABTest=elt;K0.createAnalyticsClient=$at;K0.deleteABTest=tlt;K0.getABTest=rlt;K0.getABTests=nlt;K0.stopABTest=ilt});var rye=G((GYt,tye)=>{tye.exports=eye()});var iye=G(xS=>{"use strict";Object.defineProperty(xS,"__esModule",{value:!0});var b9=vS(),slt=bS(),nye=SS(),olt=e=>{let t=e.region||"us",r=b9.createAuth(b9.AuthMode.WithinHeaders,e.appId,e.apiKey),s=slt.createTransporter({hosts:[{url:`personalization.${t}.algolia.com`}],...e,headers:{...r.headers(),"content-type":"application/json",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}});return b9.addMethods({appId:e.appId,transporter:s},e.methods)},alt=e=>t=>e.transporter.read({method:nye.MethodEnum.Get,path:"1/strategies/personalization"},t),llt=e=>(t,r)=>e.transporter.write({method:nye.MethodEnum.Post,path:"1/strategies/personalization",data:t},r);xS.createPersonalizationClient=olt;xS.getPersonalizationStrategy=alt;xS.setPersonalizationStrategy=llt});var oye=G((WYt,sye)=>{sye.exports=iye()});var Iye=G(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Jt=vS(),Bl=bS(),br=SS(),clt=Ie("crypto");function zT(e){let t=r=>e.request(r).then(s=>{if(e.batch!==void 0&&e.batch(s.hits),!e.shouldStop(s))return s.cursor?t({cursor:s.cursor}):t({page:(r.page||0)+1})});return t({})}var ult=e=>{let t=e.appId,r=Jt.createAuth(e.authMode!==void 0?e.authMode:Jt.AuthMode.WithinHeaders,t,e.apiKey),s=Bl.createTransporter({hosts:[{url:`${t}-dsn.algolia.net`,accept:Bl.CallEnum.Read},{url:`${t}.algolia.net`,accept:Bl.CallEnum.Write}].concat(Jt.shuffle([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),a={transporter:s,appId:t,addAlgoliaAgent(n,c){s.userAgent.add({segment:n,version:c})},clearCache(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then(()=>{})}};return Jt.addMethods(a,e.methods)};function aye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function lye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function cye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var flt=e=>(t,r)=>{let{queryParameters:s,...a}=r||{},n={acl:t,...s!==void 0?{queryParameters:s}:{}},c=(f,p)=>Jt.createRetryablePromise(h=>kS(e)(f.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:"1/keys",data:n},a),c)},Alt=e=>(t,r,s)=>{let a=Bl.createMappedRequestOptions(s);return a.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:br.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},plt=e=>(t,r,s)=>e.transporter.write({method:br.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:t,cluster:r}},s),hlt=e=>(t,r)=>Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(s,a)=>ZC(e)(s.taskID,a)),XT=e=>(t,r,s)=>{let a=(n,c)=>QS(e)(t,{methods:{waitTask:ms}}).waitTask(n.taskID,c);return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/operation",t),data:{operation:"copy",destination:r}},s),a)},glt=e=>(t,r,s)=>XT(e)(t,r,{...s,scope:[$T.Rules]}),dlt=e=>(t,r,s)=>XT(e)(t,r,{...s,scope:[$T.Settings]}),mlt=e=>(t,r,s)=>XT(e)(t,r,{...s,scope:[$T.Synonyms]}),ylt=e=>(t,r)=>t.method===br.MethodEnum.Get?e.transporter.read(t,r):e.transporter.write(t,r),Elt=e=>(t,r)=>{let s=(a,n)=>Jt.createRetryablePromise(c=>kS(e)(t,n).then(c).catch(f=>{if(f.status!==404)throw f}));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Delete,path:Jt.encode("1/keys/%s",t)},r),s)},Ilt=e=>(t,r,s)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},s),(n,c)=>ZC(e)(n.taskID,c))},Clt=()=>(e,t)=>{let r=Bl.serializeQueryParameters(t),s=clt.createHmac("sha256",e).update(r).digest("hex");return Buffer.from(s+r).toString("base64")},kS=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/keys/%s",t)},r),uye=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/task/%s",t.toString())},r),wlt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"/1/dictionaries/*/settings"},t),Blt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"1/logs"},t),vlt=()=>e=>{let t=Buffer.from(e,"base64").toString("ascii"),r=/validUntil=(\d+)/,s=t.match(r);if(s===null)throw cye();return parseInt(s[1],10)-Math.round(new Date().getTime()/1e3)},Slt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"1/clusters/mapping/top"},t),Dlt=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/clusters/mapping/%s",t)},r),blt=e=>t=>{let{retrieveMappings:r,...s}=t||{};return r===!0&&(s.getClusters=!0),e.transporter.read({method:br.MethodEnum.Get,path:"1/clusters/mapping/pending"},s)},QS=e=>(t,r={})=>{let s={transporter:e.transporter,appId:e.appId,indexName:t};return Jt.addMethods(s,r.methods)},Plt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"1/keys"},t),xlt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"1/clusters"},t),klt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"1/indexes"},t),Qlt=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:"1/clusters/mapping"},t),Rlt=e=>(t,r,s)=>{let a=(n,c)=>QS(e)(t,{methods:{waitTask:ms}}).waitTask(n.taskID,c);return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/operation",t),data:{operation:"move",destination:r}},s),a)},Tlt=e=>(t,r)=>{let s=(a,n)=>Promise.all(Object.keys(a.taskID).map(c=>QS(e)(c,{methods:{waitTask:ms}}).waitTask(a.taskID[c],n)));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:t}},r),s)},Flt=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},r),Nlt=e=>(t,r)=>{let s=t.map(a=>({...a,params:Bl.serializeQueryParameters(a.params||{})}));return e.transporter.read({method:br.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:s},cacheable:!0},r)},Olt=e=>(t,r)=>Promise.all(t.map(s=>{let{facetName:a,facetQuery:n,...c}=s.params;return QS(e)(s.indexName,{methods:{searchForFacetValues:mye}}).searchForFacetValues(a,n,{...r,...c})})),Llt=e=>(t,r)=>{let s=Bl.createMappedRequestOptions(r);return s.queryParameters["X-Algolia-User-ID"]=t,e.transporter.write({method:br.MethodEnum.Delete,path:"1/clusters/mapping"},s)},Mlt=e=>(t,r,s)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!0,requests:a}},s),(n,c)=>ZC(e)(n.taskID,c))},Ult=e=>(t,r)=>{let s=(a,n)=>Jt.createRetryablePromise(c=>kS(e)(t,n).catch(f=>{if(f.status!==404)throw f;return c()}));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/keys/%s/restore",t)},r),s)},_lt=e=>(t,r,s)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("/1/dictionaries/%s/batch",t),data:{clearExistingDictionaryEntries:!1,requests:a}},s),(n,c)=>ZC(e)(n.taskID,c))},Hlt=e=>(t,r,s)=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("/1/dictionaries/%s/search",t),data:{query:r},cacheable:!0},s),jlt=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:t}},r),Glt=e=>(t,r)=>Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:t},r),(s,a)=>ZC(e)(s.taskID,a)),qlt=e=>(t,r)=>{let s=Object.assign({},r),{queryParameters:a,...n}=r||{},c=a?{queryParameters:a}:{},f=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(s).filter(C=>f.indexOf(C)!==-1).every(C=>{if(Array.isArray(E[C])&&Array.isArray(s[C])){let S=E[C];return S.length===s[C].length&&S.every((x,I)=>x===s[C][I])}else return E[C]===s[C]}),h=(E,C)=>Jt.createRetryablePromise(S=>kS(e)(t,C).then(x=>p(x)?Promise.resolve():S()));return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Put,path:Jt.encode("1/keys/%s",t),data:c},n),h)},ZC=e=>(t,r)=>Jt.createRetryablePromise(s=>uye(e)(t,r).then(a=>a.status!=="published"?s():void 0)),fye=e=>(t,r)=>{let s=(a,n)=>ms(e)(a.taskID,n);return Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/batch",e.indexName),data:{requests:t}},r),s)},Wlt=e=>t=>zT({shouldStop:r=>r.cursor===void 0,...t,request:r=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/browse",e.indexName),data:r},t)}),Ylt=e=>t=>{let r={hitsPerPage:1e3,...t};return zT({shouldStop:s=>s.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Vlt=e=>t=>{let r={hitsPerPage:1e3,...t};return zT({shouldStop:s=>s.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},ZT=e=>(t,r,s)=>{let{batchSize:a,...n}=s||{},c={taskIDs:[],objectIDs:[]},f=(p=0)=>{let h=[],E;for(E=p;E({action:r,body:C})),n).then(C=>(c.objectIDs=c.objectIDs.concat(C.objectIDs),c.taskIDs.push(C.taskID),E++,f(E)))};return Jt.createWaitablePromise(f(),(p,h)=>Promise.all(p.taskIDs.map(E=>ms(e)(E,h))))},Jlt=e=>t=>Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/clear",e.indexName)},t),(r,s)=>ms(e)(r.taskID,s)),Klt=e=>t=>{let{forwardToReplicas:r,...s}=t||{},a=Bl.createMappedRequestOptions(s);return r&&(a.queryParameters.forwardToReplicas=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/rules/clear",e.indexName)},a),(n,c)=>ms(e)(n.taskID,c))},zlt=e=>t=>{let{forwardToReplicas:r,...s}=t||{},a=Bl.createMappedRequestOptions(s);return r&&(a.queryParameters.forwardToReplicas=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/synonyms/clear",e.indexName)},a),(n,c)=>ms(e)(n.taskID,c))},Xlt=e=>(t,r)=>Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/deleteByQuery",e.indexName),data:t},r),(s,a)=>ms(e)(s.taskID,a)),Zlt=e=>t=>Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Delete,path:Jt.encode("1/indexes/%s",e.indexName)},t),(r,s)=>ms(e)(r.taskID,s)),$lt=e=>(t,r)=>Jt.createWaitablePromise(Aye(e)([t],r).then(s=>({taskID:s.taskIDs[0]})),(s,a)=>ms(e)(s.taskID,a)),Aye=e=>(t,r)=>{let s=t.map(a=>({objectID:a}));return ZT(e)(s,Tm.DeleteObject,r)},ect=e=>(t,r)=>{let{forwardToReplicas:s,...a}=r||{},n=Bl.createMappedRequestOptions(a);return s&&(n.queryParameters.forwardToReplicas=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Delete,path:Jt.encode("1/indexes/%s/rules/%s",e.indexName,t)},n),(c,f)=>ms(e)(c.taskID,f))},tct=e=>(t,r)=>{let{forwardToReplicas:s,...a}=r||{},n=Bl.createMappedRequestOptions(a);return s&&(n.queryParameters.forwardToReplicas=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Delete,path:Jt.encode("1/indexes/%s/synonyms/%s",e.indexName,t)},n),(c,f)=>ms(e)(c.taskID,f))},rct=e=>t=>pye(e)(t).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),nct=e=>(t,r,s)=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},s),ict=e=>(t,r)=>{let{query:s,paginate:a,...n}=r||{},c=0,f=()=>dye(e)(s||"",{...n,page:c}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(t(E))return{object:E,position:parseInt(h,10),page:c};if(c++,a===!1||c>=p.nbPages)throw lye();return f()});return f()},sct=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/indexes/%s/%s",e.indexName,t)},r),oct=()=>(e,t)=>{for(let[r,s]of Object.entries(e.hits))if(s.objectID===t)return parseInt(r,10);return-1},act=e=>(t,r)=>{let{attributesToRetrieve:s,...a}=r||{},n=t.map(c=>({indexName:e.indexName,objectID:c,...s?{attributesToRetrieve:s}:{}}));return e.transporter.read({method:br.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},lct=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/indexes/%s/rules/%s",e.indexName,t)},r),pye=e=>t=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/indexes/%s/settings",e.indexName),data:{getVersion:2}},t),cct=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/indexes/%s/synonyms/%s",e.indexName,t)},r),hye=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Get,path:Jt.encode("1/indexes/%s/task/%s",e.indexName,t.toString())},r),uct=e=>(t,r)=>Jt.createWaitablePromise(gye(e)([t],r).then(s=>({objectID:s.objectIDs[0],taskID:s.taskIDs[0]})),(s,a)=>ms(e)(s.taskID,a)),gye=e=>(t,r)=>{let{createIfNotExists:s,...a}=r||{},n=s?Tm.PartialUpdateObject:Tm.PartialUpdateObjectNoCreate;return ZT(e)(t,n,a)},fct=e=>(t,r)=>{let{safe:s,autoGenerateObjectIDIfNotExist:a,batchSize:n,...c}=r||{},f=(I,T,O,U)=>Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/operation",I),data:{operation:O,destination:T}},U),(V,te)=>ms(e)(V.taskID,te)),p=Math.random().toString(36).substring(7),h=`${e.indexName}_tmp_${p}`,E=P9({appId:e.appId,transporter:e.transporter,indexName:h}),C=[],S=f(e.indexName,h,"copy",{...c,scope:["settings","synonyms","rules"]});C.push(S);let x=(s?S.wait(c):S).then(()=>{let I=E(t,{...c,autoGenerateObjectIDIfNotExist:a,batchSize:n});return C.push(I),s?I.wait(c):I}).then(()=>{let I=f(h,e.indexName,"move",c);return C.push(I),s?I.wait(c):I}).then(()=>Promise.all(C)).then(([I,T,O])=>({objectIDs:T.objectIDs,taskIDs:[I.taskID,...T.taskIDs,O.taskID]}));return Jt.createWaitablePromise(x,(I,T)=>Promise.all(C.map(O=>O.wait(T))))},Act=e=>(t,r)=>x9(e)(t,{...r,clearExistingRules:!0}),pct=e=>(t,r)=>k9(e)(t,{...r,clearExistingSynonyms:!0}),hct=e=>(t,r)=>Jt.createWaitablePromise(P9(e)([t],r).then(s=>({objectID:s.objectIDs[0],taskID:s.taskIDs[0]})),(s,a)=>ms(e)(s.taskID,a)),P9=e=>(t,r)=>{let{autoGenerateObjectIDIfNotExist:s,...a}=r||{},n=s?Tm.AddObject:Tm.UpdateObject;if(n===Tm.UpdateObject){for(let c of t)if(c.objectID===void 0)return Jt.createWaitablePromise(Promise.reject(aye()))}return ZT(e)(t,n,a)},gct=e=>(t,r)=>x9(e)([t],r),x9=e=>(t,r)=>{let{forwardToReplicas:s,clearExistingRules:a,...n}=r||{},c=Bl.createMappedRequestOptions(n);return s&&(c.queryParameters.forwardToReplicas=1),a&&(c.queryParameters.clearExistingRules=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/rules/batch",e.indexName),data:t},c),(f,p)=>ms(e)(f.taskID,p))},dct=e=>(t,r)=>k9(e)([t],r),k9=e=>(t,r)=>{let{forwardToReplicas:s,clearExistingSynonyms:a,replaceExistingSynonyms:n,...c}=r||{},f=Bl.createMappedRequestOptions(c);return s&&(f.queryParameters.forwardToReplicas=1),(n||a)&&(f.queryParameters.replaceExistingSynonyms=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/synonyms/batch",e.indexName),data:t},f),(p,h)=>ms(e)(p.taskID,h))},dye=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),mye=e=>(t,r,s)=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},s),yye=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/rules/search",e.indexName),data:{query:t}},r),Eye=e=>(t,r)=>e.transporter.read({method:br.MethodEnum.Post,path:Jt.encode("1/indexes/%s/synonyms/search",e.indexName),data:{query:t}},r),mct=e=>(t,r)=>{let{forwardToReplicas:s,...a}=r||{},n=Bl.createMappedRequestOptions(a);return s&&(n.queryParameters.forwardToReplicas=1),Jt.createWaitablePromise(e.transporter.write({method:br.MethodEnum.Put,path:Jt.encode("1/indexes/%s/settings",e.indexName),data:t},n),(c,f)=>ms(e)(c.taskID,f))},ms=e=>(t,r)=>Jt.createRetryablePromise(s=>hye(e)(t,r).then(a=>a.status!=="published"?s():void 0)),yct={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",Inference:"inference",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},Tm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},$T={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Ect={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Ict={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=yct;Ft.BatchActionEnum=Tm;Ft.ScopeEnum=$T;Ft.StrategyEnum=Ect;Ft.SynonymEnum=Ict;Ft.addApiKey=flt;Ft.assignUserID=Alt;Ft.assignUserIDs=plt;Ft.batch=fye;Ft.browseObjects=Wlt;Ft.browseRules=Ylt;Ft.browseSynonyms=Vlt;Ft.chunkedBatch=ZT;Ft.clearDictionaryEntries=hlt;Ft.clearObjects=Jlt;Ft.clearRules=Klt;Ft.clearSynonyms=zlt;Ft.copyIndex=XT;Ft.copyRules=glt;Ft.copySettings=dlt;Ft.copySynonyms=mlt;Ft.createBrowsablePromise=zT;Ft.createMissingObjectIDError=aye;Ft.createObjectNotFoundError=lye;Ft.createSearchClient=ult;Ft.createValidUntilNotFoundError=cye;Ft.customRequest=ylt;Ft.deleteApiKey=Elt;Ft.deleteBy=Xlt;Ft.deleteDictionaryEntries=Ilt;Ft.deleteIndex=Zlt;Ft.deleteObject=$lt;Ft.deleteObjects=Aye;Ft.deleteRule=ect;Ft.deleteSynonym=tct;Ft.exists=rct;Ft.findAnswers=nct;Ft.findObject=ict;Ft.generateSecuredApiKey=Clt;Ft.getApiKey=kS;Ft.getAppTask=uye;Ft.getDictionarySettings=wlt;Ft.getLogs=Blt;Ft.getObject=sct;Ft.getObjectPosition=oct;Ft.getObjects=act;Ft.getRule=lct;Ft.getSecuredApiKeyRemainingValidity=vlt;Ft.getSettings=pye;Ft.getSynonym=cct;Ft.getTask=hye;Ft.getTopUserIDs=Slt;Ft.getUserID=Dlt;Ft.hasPendingMappings=blt;Ft.initIndex=QS;Ft.listApiKeys=Plt;Ft.listClusters=xlt;Ft.listIndices=klt;Ft.listUserIDs=Qlt;Ft.moveIndex=Rlt;Ft.multipleBatch=Tlt;Ft.multipleGetObjects=Flt;Ft.multipleQueries=Nlt;Ft.multipleSearchForFacetValues=Olt;Ft.partialUpdateObject=uct;Ft.partialUpdateObjects=gye;Ft.removeUserID=Llt;Ft.replaceAllObjects=fct;Ft.replaceAllRules=Act;Ft.replaceAllSynonyms=pct;Ft.replaceDictionaryEntries=Mlt;Ft.restoreApiKey=Ult;Ft.saveDictionaryEntries=_lt;Ft.saveObject=hct;Ft.saveObjects=P9;Ft.saveRule=gct;Ft.saveRules=x9;Ft.saveSynonym=dct;Ft.saveSynonyms=k9;Ft.search=dye;Ft.searchDictionaryEntries=Hlt;Ft.searchForFacetValues=mye;Ft.searchRules=yye;Ft.searchSynonyms=Eye;Ft.searchUserIDs=jlt;Ft.setDictionarySettings=Glt;Ft.setSettings=mct;Ft.updateApiKey=qlt;Ft.waitAppTask=ZC;Ft.waitTask=ms});var wye=G((VYt,Cye)=>{Cye.exports=Iye()});var Bye=G(eF=>{"use strict";Object.defineProperty(eF,"__esModule",{value:!0});function Cct(){return{debug(e,t){return Promise.resolve()},info(e,t){return Promise.resolve()},error(e,t){return Promise.resolve()}}}var wct={Debug:1,Info:2,Error:3};eF.LogLevelEnum=wct;eF.createNullLogger=Cct});var Sye=G((KYt,vye)=>{vye.exports=Bye()});var xye=G(Q9=>{"use strict";Object.defineProperty(Q9,"__esModule",{value:!0});var Dye=Ie("http"),bye=Ie("https"),Bct=Ie("url"),Pye={keepAlive:!0},vct=new Dye.Agent(Pye),Sct=new bye.Agent(Pye);function Dct({agent:e,httpAgent:t,httpsAgent:r,requesterOptions:s={}}={}){let a=t||e||vct,n=r||e||Sct;return{send(c){return new Promise(f=>{let p=Bct.parse(c.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...s,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:c.method,headers:{...s&&s.headers?s.headers:{},...c.headers},...p.port!==void 0?{port:p.port||""}:{}},C=(p.protocol==="https:"?bye:Dye).request(E,T=>{let O=[];T.on("data",U=>{O=O.concat(U)}),T.on("end",()=>{clearTimeout(x),clearTimeout(I),f({status:T.statusCode||0,content:Buffer.concat(O).toString(),isTimedOut:!1})})}),S=(T,O)=>setTimeout(()=>{C.abort(),f({status:0,content:O,isTimedOut:!0})},T*1e3),x=S(c.connectTimeout,"Connection timeout"),I;C.on("error",T=>{clearTimeout(x),clearTimeout(I),f({status:0,content:T.message,isTimedOut:!1})}),C.once("response",()=>{clearTimeout(x),I=S(c.responseTimeout,"Socket timeout")}),c.data!==void 0&&C.write(c.data),C.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}Q9.createNodeHttpRequester=Dct});var Qye=G((XYt,kye)=>{kye.exports=xye()});var Nye=G((ZYt,Fye)=>{"use strict";var Rye=xme(),bct=Rme(),$C=rye(),T9=vS(),R9=oye(),Gt=wye(),Pct=Sye(),xct=Qye(),kct=bS();function Tye(e,t,r){let s={appId:e,apiKey:t,timeouts:{connect:2,read:5,write:30},requester:xct.createNodeHttpRequester(),logger:Pct.createNullLogger(),responsesCache:Rye.createNullCache(),requestsCache:Rye.createNullCache(),hostsCache:bct.createInMemoryCache(),userAgent:kct.createUserAgent(T9.version).add({segment:"Node.js",version:process.versions.node})},a={...s,...r},n=()=>c=>R9.createPersonalizationClient({...s,...c,methods:{getPersonalizationStrategy:R9.getPersonalizationStrategy,setPersonalizationStrategy:R9.setPersonalizationStrategy}});return Gt.createSearchClient({...a,methods:{search:Gt.multipleQueries,searchForFacetValues:Gt.multipleSearchForFacetValues,multipleBatch:Gt.multipleBatch,multipleGetObjects:Gt.multipleGetObjects,multipleQueries:Gt.multipleQueries,copyIndex:Gt.copyIndex,copySettings:Gt.copySettings,copyRules:Gt.copyRules,copySynonyms:Gt.copySynonyms,moveIndex:Gt.moveIndex,listIndices:Gt.listIndices,getLogs:Gt.getLogs,listClusters:Gt.listClusters,multipleSearchForFacetValues:Gt.multipleSearchForFacetValues,getApiKey:Gt.getApiKey,addApiKey:Gt.addApiKey,listApiKeys:Gt.listApiKeys,updateApiKey:Gt.updateApiKey,deleteApiKey:Gt.deleteApiKey,restoreApiKey:Gt.restoreApiKey,assignUserID:Gt.assignUserID,assignUserIDs:Gt.assignUserIDs,getUserID:Gt.getUserID,searchUserIDs:Gt.searchUserIDs,listUserIDs:Gt.listUserIDs,getTopUserIDs:Gt.getTopUserIDs,removeUserID:Gt.removeUserID,hasPendingMappings:Gt.hasPendingMappings,generateSecuredApiKey:Gt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Gt.getSecuredApiKeyRemainingValidity,destroy:T9.destroy,clearDictionaryEntries:Gt.clearDictionaryEntries,deleteDictionaryEntries:Gt.deleteDictionaryEntries,getDictionarySettings:Gt.getDictionarySettings,getAppTask:Gt.getAppTask,replaceDictionaryEntries:Gt.replaceDictionaryEntries,saveDictionaryEntries:Gt.saveDictionaryEntries,searchDictionaryEntries:Gt.searchDictionaryEntries,setDictionarySettings:Gt.setDictionarySettings,waitAppTask:Gt.waitAppTask,customRequest:Gt.customRequest,initIndex:c=>f=>Gt.initIndex(c)(f,{methods:{batch:Gt.batch,delete:Gt.deleteIndex,findAnswers:Gt.findAnswers,getObject:Gt.getObject,getObjects:Gt.getObjects,saveObject:Gt.saveObject,saveObjects:Gt.saveObjects,search:Gt.search,searchForFacetValues:Gt.searchForFacetValues,waitTask:Gt.waitTask,setSettings:Gt.setSettings,getSettings:Gt.getSettings,partialUpdateObject:Gt.partialUpdateObject,partialUpdateObjects:Gt.partialUpdateObjects,deleteObject:Gt.deleteObject,deleteObjects:Gt.deleteObjects,deleteBy:Gt.deleteBy,clearObjects:Gt.clearObjects,browseObjects:Gt.browseObjects,getObjectPosition:Gt.getObjectPosition,findObject:Gt.findObject,exists:Gt.exists,saveSynonym:Gt.saveSynonym,saveSynonyms:Gt.saveSynonyms,getSynonym:Gt.getSynonym,searchSynonyms:Gt.searchSynonyms,browseSynonyms:Gt.browseSynonyms,deleteSynonym:Gt.deleteSynonym,clearSynonyms:Gt.clearSynonyms,replaceAllObjects:Gt.replaceAllObjects,replaceAllSynonyms:Gt.replaceAllSynonyms,searchRules:Gt.searchRules,getRule:Gt.getRule,deleteRule:Gt.deleteRule,saveRule:Gt.saveRule,saveRules:Gt.saveRules,replaceAllRules:Gt.replaceAllRules,browseRules:Gt.browseRules,clearRules:Gt.clearRules}}),initAnalytics:()=>c=>$C.createAnalyticsClient({...s,...c,methods:{addABTest:$C.addABTest,getABTest:$C.getABTest,getABTests:$C.getABTests,stopABTest:$C.stopABTest,deleteABTest:$C.deleteABTest}}),initPersonalization:n,initRecommendation:()=>c=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(c))}})}Tye.version=T9.version;Fye.exports=Tye});var N9=G(($Yt,F9)=>{var Oye=Nye();F9.exports=Oye;F9.exports.default=Oye});var M9=G((tVt,Uye)=>{"use strict";var Mye=Object.getOwnPropertySymbols,Rct=Object.prototype.hasOwnProperty,Tct=Object.prototype.propertyIsEnumerable;function Fct(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Nct(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var s=Object.getOwnPropertyNames(t).map(function(n){return t[n]});if(s.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Uye.exports=Nct()?Object.assign:function(e,t){for(var r,s=Fct(e),a,n=1;n{"use strict";var _9=M9(),ew=60103,jye=60106;Pn.Fragment=60107;Pn.StrictMode=60108;Pn.Profiler=60114;var Gye=60109,qye=60110,Wye=60112;Pn.Suspense=60113;var Yye=60115,Vye=60116;typeof Symbol=="function"&&Symbol.for&&(jc=Symbol.for,ew=jc("react.element"),jye=jc("react.portal"),Pn.Fragment=jc("react.fragment"),Pn.StrictMode=jc("react.strict_mode"),Pn.Profiler=jc("react.profiler"),Gye=jc("react.provider"),qye=jc("react.context"),Wye=jc("react.forward_ref"),Pn.Suspense=jc("react.suspense"),Yye=jc("react.memo"),Vye=jc("react.lazy"));var jc,_ye=typeof Symbol=="function"&&Symbol.iterator;function Oct(e){return e===null||typeof e!="object"?null:(e=_ye&&e[_ye]||e["@@iterator"],typeof e=="function"?e:null)}function RS(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r{"use strict";rEe.exports=tEe()});var nF=G((iVt,nEe)=>{function Hct(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}nEe.exports=Hct});var sEe=G((sVt,iEe)=>{var jct=typeof global=="object"&&global&&global.Object===Object&&global;iEe.exports=jct});var W9=G((oVt,oEe)=>{var Gct=sEe(),qct=typeof self=="object"&&self&&self.Object===Object&&self,Wct=Gct||qct||Function("return this")();oEe.exports=Wct});var lEe=G((aVt,aEe)=>{var Yct=W9(),Vct=function(){return Yct.Date.now()};aEe.exports=Vct});var uEe=G((lVt,cEe)=>{var Jct=/\s/;function Kct(e){for(var t=e.length;t--&&Jct.test(e.charAt(t)););return t}cEe.exports=Kct});var AEe=G((cVt,fEe)=>{var zct=uEe(),Xct=/^\s+/;function Zct(e){return e&&e.slice(0,zct(e)+1).replace(Xct,"")}fEe.exports=Zct});var Y9=G((uVt,pEe)=>{var $ct=W9(),eut=$ct.Symbol;pEe.exports=eut});var mEe=G((fVt,dEe)=>{var hEe=Y9(),gEe=Object.prototype,tut=gEe.hasOwnProperty,rut=gEe.toString,TS=hEe?hEe.toStringTag:void 0;function nut(e){var t=tut.call(e,TS),r=e[TS];try{e[TS]=void 0;var s=!0}catch{}var a=rut.call(e);return s&&(t?e[TS]=r:delete e[TS]),a}dEe.exports=nut});var EEe=G((AVt,yEe)=>{var iut=Object.prototype,sut=iut.toString;function out(e){return sut.call(e)}yEe.exports=out});var BEe=G((pVt,wEe)=>{var IEe=Y9(),aut=mEe(),lut=EEe(),cut="[object Null]",uut="[object Undefined]",CEe=IEe?IEe.toStringTag:void 0;function fut(e){return e==null?e===void 0?uut:cut:CEe&&CEe in Object(e)?aut(e):lut(e)}wEe.exports=fut});var SEe=G((hVt,vEe)=>{function Aut(e){return e!=null&&typeof e=="object"}vEe.exports=Aut});var bEe=G((gVt,DEe)=>{var put=BEe(),hut=SEe(),gut="[object Symbol]";function dut(e){return typeof e=="symbol"||hut(e)&&put(e)==gut}DEe.exports=dut});var QEe=G((dVt,kEe)=>{var mut=AEe(),PEe=nF(),yut=bEe(),xEe=NaN,Eut=/^[-+]0x[0-9a-f]+$/i,Iut=/^0b[01]+$/i,Cut=/^0o[0-7]+$/i,wut=parseInt;function But(e){if(typeof e=="number")return e;if(yut(e))return xEe;if(PEe(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=PEe(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=mut(e);var r=Iut.test(e);return r||Cut.test(e)?wut(e.slice(2),r?2:8):Eut.test(e)?xEe:+e}kEe.exports=But});var FEe=G((mVt,TEe)=>{var vut=nF(),V9=lEe(),REe=QEe(),Sut="Expected a function",Dut=Math.max,but=Math.min;function Put(e,t,r){var s,a,n,c,f,p,h=0,E=!1,C=!1,S=!0;if(typeof e!="function")throw new TypeError(Sut);t=REe(t)||0,vut(r)&&(E=!!r.leading,C="maxWait"in r,n=C?Dut(REe(r.maxWait)||0,t):n,S="trailing"in r?!!r.trailing:S);function x(ae){var de=s,Ae=a;return s=a=void 0,h=ae,c=e.apply(Ae,de),c}function I(ae){return h=ae,f=setTimeout(U,t),E?x(ae):c}function T(ae){var de=ae-p,Ae=ae-h,Ce=t-de;return C?but(Ce,n-Ae):Ce}function O(ae){var de=ae-p,Ae=ae-h;return p===void 0||de>=t||de<0||C&&Ae>=n}function U(){var ae=V9();if(O(ae))return V(ae);f=setTimeout(U,T(ae))}function V(ae){return f=void 0,S&&s?x(ae):(s=a=void 0,c)}function te(){f!==void 0&&clearTimeout(f),h=0,s=p=a=f=void 0}function ie(){return f===void 0?c:V(V9())}function ue(){var ae=V9(),de=O(ae);if(s=arguments,a=this,p=ae,de){if(f===void 0)return I(p);if(C)return clearTimeout(f),f=setTimeout(U,t),x(p)}return f===void 0&&(f=setTimeout(U,t)),c}return ue.cancel=te,ue.flush=ie,ue}TEe.exports=Put});var OEe=G((yVt,NEe)=>{var xut=FEe(),kut=nF(),Qut="Expected a function";function Rut(e,t,r){var s=!0,a=!0;if(typeof e!="function")throw new TypeError(Qut);return kut(r)&&(s="leading"in r?!!r.leading:s,a="trailing"in r?!!r.trailing:a),xut(e,t,{leading:s,maxWait:t,trailing:a})}NEe.exports=Rut});var K9=G((EVt,J9)=>{"use strict";var Bn=J9.exports;J9.exports.default=Bn;var $n="\x1B[",NS="\x1B]",rw="\x07",iF=";",LEe=process.env.TERM_PROGRAM==="Apple_Terminal";Bn.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?$n+(e+1)+"G":$n+(t+1)+";"+(e+1)+"H"};Bn.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=$n+-e+"D":e>0&&(r+=$n+e+"C"),t<0?r+=$n+-t+"A":t>0&&(r+=$n+t+"B"),r};Bn.cursorUp=(e=1)=>$n+e+"A";Bn.cursorDown=(e=1)=>$n+e+"B";Bn.cursorForward=(e=1)=>$n+e+"C";Bn.cursorBackward=(e=1)=>$n+e+"D";Bn.cursorLeft=$n+"G";Bn.cursorSavePosition=LEe?"\x1B7":$n+"s";Bn.cursorRestorePosition=LEe?"\x1B8":$n+"u";Bn.cursorGetPosition=$n+"6n";Bn.cursorNextLine=$n+"E";Bn.cursorPrevLine=$n+"F";Bn.cursorHide=$n+"?25l";Bn.cursorShow=$n+"?25h";Bn.eraseLines=e=>{let t="";for(let r=0;r[NS,"8",iF,iF,t,rw,e,NS,"8",iF,iF,rw].join("");Bn.image=(e,t={})=>{let r=`${NS}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+rw};Bn.iTerm={setCwd:(e=process.cwd())=>`${NS}50;CurrentDir=${e}${rw}`,annotation:(e,t={})=>{let r=`${NS}1337;`,s=typeof t.x<"u",a=typeof t.y<"u";if((s||a)&&!(s&&a&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(s?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+rw}}});var UEe=G((IVt,z9)=>{"use strict";var MEe=(e,t)=>{for(let r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};z9.exports=MEe;z9.exports.default=MEe});var HEe=G((CVt,oF)=>{"use strict";var Tut=UEe(),sF=new WeakMap,_Ee=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let r,s=0,a=e.displayName||e.name||"",n=function(...c){if(sF.set(n,++s),s===1)r=e.apply(this,c),e=null;else if(t.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Tut(n,e),sF.set(n,s),n};oF.exports=_Ee;oF.exports.default=_Ee;oF.exports.callCount=e=>{if(!sF.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return sF.get(e)}});var jEe=G((wVt,aF)=>{aF.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&aF.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&aF.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var $9=G((BVt,sw)=>{var Ri=global.process,Fm=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};Fm(Ri)?(GEe=Ie("assert"),nw=jEe(),qEe=/^win/i.test(Ri.platform),OS=Ie("events"),typeof OS!="function"&&(OS=OS.EventEmitter),Ri.__signal_exit_emitter__?eo=Ri.__signal_exit_emitter__:(eo=Ri.__signal_exit_emitter__=new OS,eo.count=0,eo.emitted={}),eo.infinite||(eo.setMaxListeners(1/0),eo.infinite=!0),sw.exports=function(e,t){if(!Fm(global.process))return function(){};GEe.equal(typeof e,"function","a callback must be provided for exit handler"),iw===!1&&X9();var r="exit";t&&t.alwaysLast&&(r="afterexit");var s=function(){eo.removeListener(r,e),eo.listeners("exit").length===0&&eo.listeners("afterexit").length===0&&lF()};return eo.on(r,e),s},lF=function(){!iw||!Fm(global.process)||(iw=!1,nw.forEach(function(t){try{Ri.removeListener(t,cF[t])}catch{}}),Ri.emit=uF,Ri.reallyExit=Z9,eo.count-=1)},sw.exports.unload=lF,Nm=function(t,r,s){eo.emitted[t]||(eo.emitted[t]=!0,eo.emit(t,r,s))},cF={},nw.forEach(function(e){cF[e]=function(){if(Fm(global.process)){var r=Ri.listeners(e);r.length===eo.count&&(lF(),Nm("exit",null,e),Nm("afterexit",null,e),qEe&&e==="SIGHUP"&&(e="SIGINT"),Ri.kill(Ri.pid,e))}}}),sw.exports.signals=function(){return nw},iw=!1,X9=function(){iw||!Fm(global.process)||(iw=!0,eo.count+=1,nw=nw.filter(function(t){try{return Ri.on(t,cF[t]),!0}catch{return!1}}),Ri.emit=YEe,Ri.reallyExit=WEe)},sw.exports.load=X9,Z9=Ri.reallyExit,WEe=function(t){Fm(global.process)&&(Ri.exitCode=t||0,Nm("exit",Ri.exitCode,null),Nm("afterexit",Ri.exitCode,null),Z9.call(Ri,Ri.exitCode))},uF=Ri.emit,YEe=function(t,r){if(t==="exit"&&Fm(global.process)){r!==void 0&&(Ri.exitCode=r);var s=uF.apply(this,arguments);return Nm("exit",Ri.exitCode,null),Nm("afterexit",Ri.exitCode,null),s}else return uF.apply(this,arguments)}):sw.exports=function(){return function(){}};var GEe,nw,qEe,OS,eo,lF,Nm,cF,iw,X9,Z9,WEe,uF,YEe});var JEe=G((vVt,VEe)=>{"use strict";var Fut=HEe(),Nut=$9();VEe.exports=Fut(()=>{Nut(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var eq=G(ow=>{"use strict";var Out=JEe(),fF=!1;ow.show=(e=process.stderr)=>{e.isTTY&&(fF=!1,e.write("\x1B[?25h"))};ow.hide=(e=process.stderr)=>{e.isTTY&&(Out(),fF=!0,e.write("\x1B[?25l"))};ow.toggle=(e,t)=>{e!==void 0&&(fF=e),fF?ow.show(t):ow.hide(t)}});var ZEe=G(LS=>{"use strict";var XEe=LS&&LS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(LS,"__esModule",{value:!0});var KEe=XEe(K9()),zEe=XEe(eq()),Lut=(e,{showCursor:t=!1}={})=>{let r=0,s="",a=!1,n=c=>{!t&&!a&&(zEe.default.hide(),a=!0);let f=c+` +`;f!==s&&(s=f,e.write(KEe.default.eraseLines(r)+f),r=f.split(` +`).length)};return n.clear=()=>{e.write(KEe.default.eraseLines(r)),s="",r=0},n.done=()=>{s="",r=0,t||(zEe.default.show(),a=!1)},n};LS.default={create:Lut}});var $Ee=G((bVt,Mut)=>{Mut.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var rIe=G(nc=>{"use strict";var tIe=$Ee(),AA=process.env;Object.defineProperty(nc,"_vendors",{value:tIe.map(function(e){return e.constant})});nc.name=null;nc.isPR=null;tIe.forEach(function(e){var t=Array.isArray(e.env)?e.env:[e.env],r=t.every(function(s){return eIe(s)});if(nc[e.constant]=r,r)switch(nc.name=e.name,typeof e.pr){case"string":nc.isPR=!!AA[e.pr];break;case"object":"env"in e.pr?nc.isPR=e.pr.env in AA&&AA[e.pr.env]!==e.pr.ne:"any"in e.pr?nc.isPR=e.pr.any.some(function(s){return!!AA[s]}):nc.isPR=eIe(e.pr);break;default:nc.isPR=null}});nc.isCI=!!(AA.CI||AA.CONTINUOUS_INTEGRATION||AA.BUILD_NUMBER||AA.RUN_ID||nc.name);function eIe(e){return typeof e=="string"?!!AA[e]:Object.keys(e).every(function(t){return AA[t]===e[t]})}});var iIe=G((xVt,nIe)=>{"use strict";nIe.exports=rIe().isCI});var oIe=G((kVt,sIe)=>{"use strict";var Uut=e=>{let t=new Set;do for(let r of Reflect.ownKeys(e))t.add([e,r]);while((e=Reflect.getPrototypeOf(e))&&e!==Object.prototype);return t};sIe.exports=(e,{include:t,exclude:r}={})=>{let s=a=>{let n=c=>typeof c=="string"?a===c:c.test(a);return t?t.some(n):r?!r.some(n):!0};for(let[a,n]of Uut(e.constructor.prototype)){if(n==="constructor"||!s(n))continue;let c=Reflect.getOwnPropertyDescriptor(a,n);c&&typeof c.value=="function"&&(e[n]=e[n].bind(e))}return e}});var AIe=G(Kn=>{"use strict";var lw,_S,gF,aq;typeof performance=="object"&&typeof performance.now=="function"?(aIe=performance,Kn.unstable_now=function(){return aIe.now()}):(tq=Date,lIe=tq.now(),Kn.unstable_now=function(){return tq.now()-lIe});var aIe,tq,lIe;typeof window>"u"||typeof MessageChannel!="function"?(aw=null,rq=null,nq=function(){if(aw!==null)try{var e=Kn.unstable_now();aw(!0,e),aw=null}catch(t){throw setTimeout(nq,0),t}},lw=function(e){aw!==null?setTimeout(lw,0,e):(aw=e,setTimeout(nq,0))},_S=function(e,t){rq=setTimeout(e,t)},gF=function(){clearTimeout(rq)},Kn.unstable_shouldYield=function(){return!1},aq=Kn.unstable_forceFrameRate=function(){}):(cIe=window.setTimeout,uIe=window.clearTimeout,typeof console<"u"&&(fIe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof fIe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),MS=!1,US=null,AF=-1,iq=5,sq=0,Kn.unstable_shouldYield=function(){return Kn.unstable_now()>=sq},aq=function(){},Kn.unstable_forceFrameRate=function(e){0>e||125>>1,a=e[s];if(a!==void 0&&0hF(c,r))p!==void 0&&0>hF(p,c)?(e[s]=p,e[f]=r,s=f):(e[s]=c,e[n]=r,s=n);else if(p!==void 0&&0>hF(p,r))e[s]=p,e[f]=r,s=f;else break e}}return t}return null}function hF(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}var pA=[],z0=[],_ut=1,Gc=null,ia=3,mF=!1,Om=!1,HS=!1;function cq(e){for(var t=nf(z0);t!==null;){if(t.callback===null)dF(z0);else if(t.startTime<=e)dF(z0),t.sortIndex=t.expirationTime,lq(pA,t);else break;t=nf(z0)}}function uq(e){if(HS=!1,cq(e),!Om)if(nf(pA)!==null)Om=!0,lw(fq);else{var t=nf(z0);t!==null&&_S(uq,t.startTime-e)}}function fq(e,t){Om=!1,HS&&(HS=!1,gF()),mF=!0;var r=ia;try{for(cq(t),Gc=nf(pA);Gc!==null&&(!(Gc.expirationTime>t)||e&&!Kn.unstable_shouldYield());){var s=Gc.callback;if(typeof s=="function"){Gc.callback=null,ia=Gc.priorityLevel;var a=s(Gc.expirationTime<=t);t=Kn.unstable_now(),typeof a=="function"?Gc.callback=a:Gc===nf(pA)&&dF(pA),cq(t)}else dF(pA);Gc=nf(pA)}if(Gc!==null)var n=!0;else{var c=nf(z0);c!==null&&_S(uq,c.startTime-t),n=!1}return n}finally{Gc=null,ia=r,mF=!1}}var Hut=aq;Kn.unstable_IdlePriority=5;Kn.unstable_ImmediatePriority=1;Kn.unstable_LowPriority=4;Kn.unstable_NormalPriority=3;Kn.unstable_Profiling=null;Kn.unstable_UserBlockingPriority=2;Kn.unstable_cancelCallback=function(e){e.callback=null};Kn.unstable_continueExecution=function(){Om||mF||(Om=!0,lw(fq))};Kn.unstable_getCurrentPriorityLevel=function(){return ia};Kn.unstable_getFirstCallbackNode=function(){return nf(pA)};Kn.unstable_next=function(e){switch(ia){case 1:case 2:case 3:var t=3;break;default:t=ia}var r=ia;ia=t;try{return e()}finally{ia=r}};Kn.unstable_pauseExecution=function(){};Kn.unstable_requestPaint=Hut;Kn.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=ia;ia=e;try{return t()}finally{ia=r}};Kn.unstable_scheduleCallback=function(e,t,r){var s=Kn.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0s?(e.sortIndex=r,lq(z0,e),nf(pA)===null&&e===nf(z0)&&(HS?gF():HS=!0,_S(uq,r-s))):(e.sortIndex=a,lq(pA,e),Om||mF||(Om=!0,lw(fq))),e};Kn.unstable_wrapCallback=function(e){var t=ia;return function(){var r=ia;ia=t;try{return e.apply(this,arguments)}finally{ia=r}}}});var Aq=G((RVt,pIe)=>{"use strict";pIe.exports=AIe()});var hIe=G((TVt,jS)=>{jS.exports=function(t){var r={},s=M9(),a=gn(),n=Aq();function c(v){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+v,Q=1;Q_e||Y[ve]!==ne[_e])return` +`+Y[ve].replace(" at new "," at ");while(1<=ve&&0<=_e);break}}}finally{we=!1,Error.prepareStackTrace=Q}return(v=v?v.displayName||v.name:"")?lc(v):""}var cc=[],Oi=-1;function co(v){return{current:v}}function Tt(v){0>Oi||(v.current=cc[Oi],cc[Oi]=null,Oi--)}function Qn(v,D){Oi++,cc[Oi]=v.current,v.current=D}var pa={},Gi=co(pa),Li=co(!1),qa=pa;function mn(v,D){var Q=v.type.contextTypes;if(!Q)return pa;var H=v.stateNode;if(H&&H.__reactInternalMemoizedUnmaskedChildContext===D)return H.__reactInternalMemoizedMaskedChildContext;var Y={},ne;for(ne in Q)Y[ne]=D[ne];return H&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=D,v.__reactInternalMemoizedMaskedChildContext=Y),Y}function Xn(v){return v=v.childContextTypes,v!=null}function fu(){Tt(Li),Tt(Gi)}function mh(v,D,Q){if(Gi.current!==pa)throw Error(c(168));Qn(Gi,D),Qn(Li,Q)}function Wa(v,D,Q){var H=v.stateNode;if(v=D.childContextTypes,typeof H.getChildContext!="function")return Q;H=H.getChildContext();for(var Y in H)if(!(Y in v))throw Error(c(108,g(D)||"Unknown",Y));return s({},Q,H)}function Ya(v){return v=(v=v.stateNode)&&v.__reactInternalMemoizedMergedChildContext||pa,qa=Gi.current,Qn(Gi,v),Qn(Li,Li.current),!0}function Va(v,D,Q){var H=v.stateNode;if(!H)throw Error(c(169));Q?(v=Wa(v,D,qa),H.__reactInternalMemoizedMergedChildContext=v,Tt(Li),Tt(Gi),Qn(Gi,v)):Tt(Li),Qn(Li,Q)}var $e=null,Ja=null,mf=n.unstable_now;mf();var uc=0,vn=8;function ha(v){if(1&v)return vn=15,1;if(2&v)return vn=14,2;if(4&v)return vn=13,4;var D=24&v;return D!==0?(vn=12,D):v&32?(vn=11,32):(D=192&v,D!==0?(vn=10,D):v&256?(vn=9,256):(D=3584&v,D!==0?(vn=8,D):v&4096?(vn=7,4096):(D=4186112&v,D!==0?(vn=6,D):(D=62914560&v,D!==0?(vn=5,D):v&67108864?(vn=4,67108864):v&134217728?(vn=3,134217728):(D=805306368&v,D!==0?(vn=2,D):1073741824&v?(vn=1,1073741824):(vn=8,v))))))}function UA(v){switch(v){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function _A(v){switch(v){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(c(358,v))}}function ga(v,D){var Q=v.pendingLanes;if(Q===0)return vn=0;var H=0,Y=0,ne=v.expiredLanes,ve=v.suspendedLanes,_e=v.pingedLanes;if(ne!==0)H=ne,Y=vn=15;else if(ne=Q&134217727,ne!==0){var ht=ne&~ve;ht!==0?(H=ha(ht),Y=vn):(_e&=ne,_e!==0&&(H=ha(_e),Y=vn))}else ne=Q&~ve,ne!==0?(H=ha(ne),Y=vn):_e!==0&&(H=ha(_e),Y=vn);if(H===0)return 0;if(H=31-is(H),H=Q&((0>H?0:1<Q;Q++)D.push(v);return D}function Ka(v,D,Q){v.pendingLanes|=D;var H=D-1;v.suspendedLanes&=H,v.pingedLanes&=H,v=v.eventTimes,D=31-is(D),v[D]=Q}var is=Math.clz32?Math.clz32:Ac,fc=Math.log,Au=Math.LN2;function Ac(v){return v===0?32:31-(fc(v)/Au|0)|0}var za=n.unstable_runWithPriority,Mi=n.unstable_scheduleCallback,Bs=n.unstable_cancelCallback,Ql=n.unstable_shouldYield,yf=n.unstable_requestPaint,pc=n.unstable_now,Bi=n.unstable_getCurrentPriorityLevel,Tn=n.unstable_ImmediatePriority,hc=n.unstable_UserBlockingPriority,Ke=n.unstable_NormalPriority,ot=n.unstable_LowPriority,St=n.unstable_IdlePriority,lr={},ee=yf!==void 0?yf:function(){},ye=null,Oe=null,mt=!1,Et=pc(),bt=1e4>Et?pc:function(){return pc()-Et};function tr(){switch(Bi()){case Tn:return 99;case hc:return 98;case Ke:return 97;case ot:return 96;case St:return 95;default:throw Error(c(332))}}function pn(v){switch(v){case 99:return Tn;case 98:return hc;case 97:return Ke;case 96:return ot;case 95:return St;default:throw Error(c(332))}}function ci(v,D){return v=pn(v),za(v,D)}function qi(v,D,Q){return v=pn(v),Mi(v,D,Q)}function Fn(){if(Oe!==null){var v=Oe;Oe=null,Bs(v)}Xa()}function Xa(){if(!mt&&ye!==null){mt=!0;var v=0;try{var D=ye;ci(99,function(){for(;vNn?(Hn=Qr,Qr=null):Hn=Qr.sibling;var zr=Zt(rt,Qr,dt[Nn],Xt);if(zr===null){Qr===null&&(Qr=Hn);break}v&&Qr&&zr.alternate===null&&D(rt,Qr),We=ne(zr,We,Nn),ti===null?Dr=zr:ti.sibling=zr,ti=zr,Qr=Hn}if(Nn===dt.length)return Q(rt,Qr),Dr;if(Qr===null){for(;NnNn?(Hn=Qr,Qr=null):Hn=Qr.sibling;var ui=Zt(rt,Qr,zr.value,Xt);if(ui===null){Qr===null&&(Qr=Hn);break}v&&Qr&&ui.alternate===null&&D(rt,Qr),We=ne(ui,We,Nn),ti===null?Dr=ui:ti.sibling=ui,ti=ui,Qr=Hn}if(zr.done)return Q(rt,Qr),Dr;if(Qr===null){for(;!zr.done;Nn++,zr=dt.next())zr=Lr(rt,zr.value,Xt),zr!==null&&(We=ne(zr,We,Nn),ti===null?Dr=zr:ti.sibling=zr,ti=zr);return Dr}for(Qr=H(rt,Qr);!zr.done;Nn++,zr=dt.next())zr=Zn(Qr,rt,Nn,zr.value,Xt),zr!==null&&(v&&zr.alternate!==null&&Qr.delete(zr.key===null?Nn:zr.key),We=ne(zr,We,Nn),ti===null?Dr=zr:ti.sibling=zr,ti=zr);return v&&Qr.forEach(function(Su){return D(rt,Su)}),Dr}return function(rt,We,dt,Xt){var Dr=typeof dt=="object"&&dt!==null&&dt.type===E&&dt.key===null;Dr&&(dt=dt.props.children);var ti=typeof dt=="object"&&dt!==null;if(ti)switch(dt.$$typeof){case p:e:{for(ti=dt.key,Dr=We;Dr!==null;){if(Dr.key===ti){switch(Dr.tag){case 7:if(dt.type===E){Q(rt,Dr.sibling),We=Y(Dr,dt.props.children),We.return=rt,rt=We;break e}break;default:if(Dr.elementType===dt.type){Q(rt,Dr.sibling),We=Y(Dr,dt.props),We.ref=yt(rt,Dr,dt),We.return=rt,rt=We;break e}}Q(rt,Dr);break}else D(rt,Dr);Dr=Dr.sibling}dt.type===E?(We=Tf(dt.props.children,rt.mode,Xt,dt.key),We.return=rt,rt=We):(Xt=nd(dt.type,dt.key,dt.props,null,rt.mode,Xt),Xt.ref=yt(rt,We,dt),Xt.return=rt,rt=Xt)}return ve(rt);case h:e:{for(Dr=dt.key;We!==null;){if(We.key===Dr)if(We.tag===4&&We.stateNode.containerInfo===dt.containerInfo&&We.stateNode.implementation===dt.implementation){Q(rt,We.sibling),We=Y(We,dt.children||[]),We.return=rt,rt=We;break e}else{Q(rt,We);break}else D(rt,We);We=We.sibling}We=Lo(dt,rt.mode,Xt),We.return=rt,rt=We}return ve(rt)}if(typeof dt=="string"||typeof dt=="number")return dt=""+dt,We!==null&&We.tag===6?(Q(rt,We.sibling),We=Y(We,dt),We.return=rt,rt=We):(Q(rt,We),We=E2(dt,rt.mode,Xt),We.return=rt,rt=We),ve(rt);if(If(dt))return Ei(rt,We,dt,Xt);if(Ee(dt))return il(rt,We,dt,Xt);if(ti&&hu(rt,dt),typeof dt>"u"&&!Dr)switch(rt.tag){case 1:case 22:case 0:case 11:case 15:throw Error(c(152,g(rt.type)||"Component"))}return Q(rt,We)}}var Og=Dy(!0),Y1=Dy(!1),Bh={},ur=co(Bh),zi=co(Bh),Cf=co(Bh);function Za(v){if(v===Bh)throw Error(c(174));return v}function Lg(v,D){Qn(Cf,D),Qn(zi,v),Qn(ur,Bh),v=st(D),Tt(ur),Qn(ur,v)}function gu(){Tt(ur),Tt(zi),Tt(Cf)}function wf(v){var D=Za(Cf.current),Q=Za(ur.current);D=_(Q,v.type,D),Q!==D&&(Qn(zi,v),Qn(ur,D))}function wt(v){zi.current===v&&(Tt(ur),Tt(zi))}var mi=co(0);function WA(v){for(var D=v;D!==null;){if(D.tag===13){var Q=D.memoizedState;if(Q!==null&&(Q=Q.dehydrated,Q===null||gr(Q)||xo(Q)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if(D.flags&64)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===v)break;for(;D.sibling===null;){if(D.return===null||D.return===v)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}var $a=null,ma=null,el=!1;function Mg(v,D){var Q=nl(5,null,null,0);Q.elementType="DELETED",Q.type="DELETED",Q.stateNode=D,Q.return=v,Q.flags=8,v.lastEffect!==null?(v.lastEffect.nextEffect=Q,v.lastEffect=Q):v.firstEffect=v.lastEffect=Q}function vh(v,D){switch(v.tag){case 5:return D=Aa(D,v.type,v.pendingProps),D!==null?(v.stateNode=D,!0):!1;case 6:return D=OA(D,v.pendingProps),D!==null?(v.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function Ug(v){if(el){var D=ma;if(D){var Q=D;if(!vh(v,D)){if(D=Ga(Q),!D||!vh(v,D)){v.flags=v.flags&-1025|2,el=!1,$a=v;return}Mg($a,Q)}$a=v,ma=Ue(D)}else v.flags=v.flags&-1025|2,el=!1,$a=v}}function by(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;$a=v}function YA(v){if(!X||v!==$a)return!1;if(!el)return by(v),el=!0,!1;var D=v.type;if(v.tag!==5||D!=="head"&&D!=="body"&&!ct(D,v.memoizedProps))for(D=ma;D;)Mg(v,D),D=Ga(D);if(by(v),v.tag===13){if(!X)throw Error(c(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(c(317));ma=LA(v)}else ma=$a?Ga(v.stateNode):null;return!0}function _g(){X&&(ma=$a=null,el=!1)}var du=[];function mu(){for(var v=0;vne))throw Error(c(301));ne+=1,xi=ss=null,D.updateQueue=null,Bf.current=re,v=Q(H,Y)}while(vf)}if(Bf.current=kt,D=ss!==null&&ss.next!==null,yu=0,xi=ss=qn=null,VA=!1,D)throw Error(c(300));return v}function os(){var v={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xi===null?qn.memoizedState=xi=v:xi=xi.next=v,xi}function Nl(){if(ss===null){var v=qn.alternate;v=v!==null?v.memoizedState:null}else v=ss.next;var D=xi===null?qn.memoizedState:xi.next;if(D!==null)xi=D,ss=v;else{if(v===null)throw Error(c(310));ss=v,v={memoizedState:ss.memoizedState,baseState:ss.baseState,baseQueue:ss.baseQueue,queue:ss.queue,next:null},xi===null?qn.memoizedState=xi=v:xi=xi.next=v}return xi}function Fo(v,D){return typeof D=="function"?D(v):D}function Sf(v){var D=Nl(),Q=D.queue;if(Q===null)throw Error(c(311));Q.lastRenderedReducer=v;var H=ss,Y=H.baseQueue,ne=Q.pending;if(ne!==null){if(Y!==null){var ve=Y.next;Y.next=ne.next,ne.next=ve}H.baseQueue=Y=ne,Q.pending=null}if(Y!==null){Y=Y.next,H=H.baseState;var _e=ve=ne=null,ht=Y;do{var Wt=ht.lane;if((yu&Wt)===Wt)_e!==null&&(_e=_e.next={lane:0,action:ht.action,eagerReducer:ht.eagerReducer,eagerState:ht.eagerState,next:null}),H=ht.eagerReducer===v?ht.eagerState:v(H,ht.action);else{var Sr={lane:Wt,action:ht.action,eagerReducer:ht.eagerReducer,eagerState:ht.eagerState,next:null};_e===null?(ve=_e=Sr,ne=H):_e=_e.next=Sr,qn.lanes|=Wt,zg|=Wt}ht=ht.next}while(ht!==null&&ht!==Y);_e===null?ne=H:_e.next=ve,ko(H,D.memoizedState)||(Je=!0),D.memoizedState=H,D.baseState=ne,D.baseQueue=_e,Q.lastRenderedState=H}return[D.memoizedState,Q.dispatch]}function Df(v){var D=Nl(),Q=D.queue;if(Q===null)throw Error(c(311));Q.lastRenderedReducer=v;var H=Q.dispatch,Y=Q.pending,ne=D.memoizedState;if(Y!==null){Q.pending=null;var ve=Y=Y.next;do ne=v(ne,ve.action),ve=ve.next;while(ve!==Y);ko(ne,D.memoizedState)||(Je=!0),D.memoizedState=ne,D.baseQueue===null&&(D.baseState=ne),Q.lastRenderedState=ne}return[ne,H]}function Ol(v,D,Q){var H=D._getVersion;H=H(D._source);var Y=y?D._workInProgressVersionPrimary:D._workInProgressVersionSecondary;if(Y!==null?v=Y===H:(v=v.mutableReadLanes,(v=(yu&v)===v)&&(y?D._workInProgressVersionPrimary=H:D._workInProgressVersionSecondary=H,du.push(D))),v)return Q(D._source);throw du.push(D),Error(c(350))}function En(v,D,Q,H){var Y=fo;if(Y===null)throw Error(c(349));var ne=D._getVersion,ve=ne(D._source),_e=Bf.current,ht=_e.useState(function(){return Ol(Y,D,Q)}),Wt=ht[1],Sr=ht[0];ht=xi;var Lr=v.memoizedState,Zt=Lr.refs,Zn=Zt.getSnapshot,Ei=Lr.source;Lr=Lr.subscribe;var il=qn;return v.memoizedState={refs:Zt,source:D,subscribe:H},_e.useEffect(function(){Zt.getSnapshot=Q,Zt.setSnapshot=Wt;var rt=ne(D._source);if(!ko(ve,rt)){rt=Q(D._source),ko(Sr,rt)||(Wt(rt),rt=Ds(il),Y.mutableReadLanes|=rt&Y.pendingLanes),rt=Y.mutableReadLanes,Y.entangledLanes|=rt;for(var We=Y.entanglements,dt=rt;0Q?98:Q,function(){v(!0)}),ci(97c2&&(D.flags|=64,Y=!0,$A(H,!1),D.lanes=33554432)}else{if(!Y)if(v=WA(ne),v!==null){if(D.flags|=64,Y=!0,v=v.updateQueue,v!==null&&(D.updateQueue=v,D.flags|=4),$A(H,!0),H.tail===null&&H.tailMode==="hidden"&&!ne.alternate&&!el)return D=D.lastEffect=H.lastEffect,D!==null&&(D.nextEffect=null),null}else 2*bt()-H.renderingStartTime>c2&&Q!==1073741824&&(D.flags|=64,Y=!0,$A(H,!1),D.lanes=33554432);H.isBackwards?(ne.sibling=D.child,D.child=ne):(v=H.last,v!==null?v.sibling=ne:D.child=ne,H.last=ne)}return H.tail!==null?(v=H.tail,H.rendering=v,H.tail=v.sibling,H.lastEffect=D.lastEffect,H.renderingStartTime=bt(),v.sibling=null,D=mi.current,Qn(mi,Y?D&1|2:D&1),v):null;case 23:case 24:return g2(),v!==null&&v.memoizedState!==null!=(D.memoizedState!==null)&&H.mode!=="unstable-defer-without-hiding"&&(D.flags|=4),null}throw Error(c(156,D.tag))}function PL(v){switch(v.tag){case 1:Xn(v.type)&&fu();var D=v.flags;return D&4096?(v.flags=D&-4097|64,v):null;case 3:if(gu(),Tt(Li),Tt(Gi),mu(),D=v.flags,D&64)throw Error(c(285));return v.flags=D&-4097|64,v;case 5:return wt(v),null;case 13:return Tt(mi),D=v.flags,D&4096?(v.flags=D&-4097|64,v):null;case 19:return Tt(mi),null;case 4:return gu(),null;case 10:return Fg(v),null;case 23:case 24:return g2(),null;default:return null}}function qg(v,D){try{var Q="",H=D;do Q+=W1(H),H=H.return;while(H);var Y=Q}catch(ne){Y=` +Error generating stack: `+ne.message+` +`+ne.stack}return{value:v,source:D,stack:Y}}function Wg(v,D){try{console.error(D.value)}catch(Q){setTimeout(function(){throw Q})}}var xL=typeof WeakMap=="function"?WeakMap:Map;function z1(v,D,Q){Q=Tl(-1,Q),Q.tag=3,Q.payload={element:null};var H=D.value;return Q.callback=function(){Gy||(Gy=!0,u2=H),Wg(v,D)},Q}function Yg(v,D,Q){Q=Tl(-1,Q),Q.tag=3;var H=v.type.getDerivedStateFromError;if(typeof H=="function"){var Y=D.value;Q.payload=function(){return Wg(v,D),H(Y)}}var ne=v.stateNode;return ne!==null&&typeof ne.componentDidCatch=="function"&&(Q.callback=function(){typeof H!="function"&&(dc===null?dc=new Set([this]):dc.add(this),Wg(v,D));var ve=D.stack;this.componentDidCatch(D.value,{componentStack:ve!==null?ve:""})}),Q}var kL=typeof WeakSet=="function"?WeakSet:Set;function X1(v){var D=v.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(Q){Rf(v,Q)}else D.current=null}function Ry(v,D){switch(D.tag){case 0:case 11:case 15:case 22:return;case 1:if(D.flags&256&&v!==null){var Q=v.memoizedProps,H=v.memoizedState;v=D.stateNode,D=v.getSnapshotBeforeUpdate(D.elementType===D.type?Q:Qo(D.type,Q),H),v.__reactInternalSnapshotBeforeUpdate=D}return;case 3:F&&D.flags&256&&Ns(D.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(c(163))}function Qh(v,D){if(D=D.updateQueue,D=D!==null?D.lastEffect:null,D!==null){var Q=D=D.next;do{if((Q.tag&v)===v){var H=Q.destroy;Q.destroy=void 0,H!==void 0&&H()}Q=Q.next}while(Q!==D)}}function uP(v,D,Q){switch(Q.tag){case 0:case 11:case 15:case 22:if(D=Q.updateQueue,D=D!==null?D.lastEffect:null,D!==null){v=D=D.next;do{if((v.tag&3)===3){var H=v.create;v.destroy=H()}v=v.next}while(v!==D)}if(D=Q.updateQueue,D=D!==null?D.lastEffect:null,D!==null){v=D=D.next;do{var Y=v;H=Y.next,Y=Y.tag,Y&4&&Y&1&&(vP(Q,v),UL(Q,v)),v=H}while(v!==D)}return;case 1:v=Q.stateNode,Q.flags&4&&(D===null?v.componentDidMount():(H=Q.elementType===Q.type?D.memoizedProps:Qo(Q.type,D.memoizedProps),v.componentDidUpdate(H,D.memoizedState,v.__reactInternalSnapshotBeforeUpdate))),D=Q.updateQueue,D!==null&&vy(Q,D,v);return;case 3:if(D=Q.updateQueue,D!==null){if(v=null,Q.child!==null)switch(Q.child.tag){case 5:v=Qe(Q.child.stateNode);break;case 1:v=Q.child.stateNode}vy(Q,D,v)}return;case 5:v=Q.stateNode,D===null&&Q.flags&4&&so(v,Q.type,Q.memoizedProps,Q);return;case 6:return;case 4:return;case 12:return;case 13:X&&Q.memoizedState===null&&(Q=Q.alternate,Q!==null&&(Q=Q.memoizedState,Q!==null&&(Q=Q.dehydrated,Q!==null&&cu(Q))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(c(163))}function fP(v,D){if(F)for(var Q=v;;){if(Q.tag===5){var H=Q.stateNode;D?gh(H):ao(Q.stateNode,Q.memoizedProps)}else if(Q.tag===6)H=Q.stateNode,D?dh(H):Gn(H,Q.memoizedProps);else if((Q.tag!==23&&Q.tag!==24||Q.memoizedState===null||Q===v)&&Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===v)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===v)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}}function Ty(v,D){if(Ja&&typeof Ja.onCommitFiberUnmount=="function")try{Ja.onCommitFiberUnmount($e,D)}catch{}switch(D.tag){case 0:case 11:case 14:case 15:case 22:if(v=D.updateQueue,v!==null&&(v=v.lastEffect,v!==null)){var Q=v=v.next;do{var H=Q,Y=H.destroy;if(H=H.tag,Y!==void 0)if(H&4)vP(D,Q);else{H=D;try{Y()}catch(ne){Rf(H,ne)}}Q=Q.next}while(Q!==v)}break;case 1:if(X1(D),v=D.stateNode,typeof v.componentWillUnmount=="function")try{v.props=D.memoizedProps,v.state=D.memoizedState,v.componentWillUnmount()}catch(ne){Rf(D,ne)}break;case 5:X1(D);break;case 4:F?gP(v,D):z&&z&&(D=D.stateNode.containerInfo,v=ou(D),FA(D,v))}}function AP(v,D){for(var Q=D;;)if(Ty(v,Q),Q.child===null||F&&Q.tag===4){if(Q===D)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===D)return;Q=Q.return}Q.sibling.return=Q.return,Q=Q.sibling}else Q.child.return=Q,Q=Q.child}function Fy(v){v.alternate=null,v.child=null,v.dependencies=null,v.firstEffect=null,v.lastEffect=null,v.memoizedProps=null,v.memoizedState=null,v.pendingProps=null,v.return=null,v.updateQueue=null}function pP(v){return v.tag===5||v.tag===3||v.tag===4}function hP(v){if(F){e:{for(var D=v.return;D!==null;){if(pP(D))break e;D=D.return}throw Error(c(160))}var Q=D;switch(D=Q.stateNode,Q.tag){case 5:var H=!1;break;case 3:D=D.containerInfo,H=!0;break;case 4:D=D.containerInfo,H=!0;break;default:throw Error(c(161))}Q.flags&16&&(gf(D),Q.flags&=-17);e:t:for(Q=v;;){for(;Q.sibling===null;){if(Q.return===null||pP(Q.return)){Q=null;break e}Q=Q.return}for(Q.sibling.return=Q.return,Q=Q.sibling;Q.tag!==5&&Q.tag!==6&&Q.tag!==18;){if(Q.flags&2||Q.child===null||Q.tag===4)continue t;Q.child.return=Q,Q=Q.child}if(!(Q.flags&2)){Q=Q.stateNode;break e}}H?Z1(v,Q,D):$1(v,Q,D)}}function Z1(v,D,Q){var H=v.tag,Y=H===5||H===6;if(Y)v=Y?v.stateNode:v.stateNode.instance,D?oo(Q,v,D):Do(Q,v);else if(H!==4&&(v=v.child,v!==null))for(Z1(v,D,Q),v=v.sibling;v!==null;)Z1(v,D,Q),v=v.sibling}function $1(v,D,Q){var H=v.tag,Y=H===5||H===6;if(Y)v=Y?v.stateNode:v.stateNode.instance,D?ji(Q,v,D):li(Q,v);else if(H!==4&&(v=v.child,v!==null))for($1(v,D,Q),v=v.sibling;v!==null;)$1(v,D,Q),v=v.sibling}function gP(v,D){for(var Q=D,H=!1,Y,ne;;){if(!H){H=Q.return;e:for(;;){if(H===null)throw Error(c(160));switch(Y=H.stateNode,H.tag){case 5:ne=!1;break e;case 3:Y=Y.containerInfo,ne=!0;break e;case 4:Y=Y.containerInfo,ne=!0;break e}H=H.return}H=!0}if(Q.tag===5||Q.tag===6)AP(v,Q),ne?TA(Y,Q.stateNode):Po(Y,Q.stateNode);else if(Q.tag===4){if(Q.child!==null){Y=Q.stateNode.containerInfo,ne=!0,Q.child.return=Q,Q=Q.child;continue}}else if(Ty(v,Q),Q.child!==null){Q.child.return=Q,Q=Q.child;continue}if(Q===D)break;for(;Q.sibling===null;){if(Q.return===null||Q.return===D)return;Q=Q.return,Q.tag===4&&(H=!1)}Q.sibling.return=Q.return,Q=Q.sibling}}function e2(v,D){if(F){switch(D.tag){case 0:case 11:case 14:case 15:case 22:Qh(3,D);return;case 1:return;case 5:var Q=D.stateNode;if(Q!=null){var H=D.memoizedProps;v=v!==null?v.memoizedProps:H;var Y=D.type,ne=D.updateQueue;D.updateQueue=null,ne!==null&&bo(Q,ne,Y,v,H,D)}return;case 6:if(D.stateNode===null)throw Error(c(162));Q=D.memoizedProps,ns(D.stateNode,v!==null?v.memoizedProps:Q,Q);return;case 3:X&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,MA(D.containerInfo)));return;case 12:return;case 13:dP(D),Vg(D);return;case 19:Vg(D);return;case 17:return;case 23:case 24:fP(D,D.memoizedState!==null);return}throw Error(c(163))}switch(D.tag){case 0:case 11:case 14:case 15:case 22:Qh(3,D);return;case 12:return;case 13:dP(D),Vg(D);return;case 19:Vg(D);return;case 3:X&&(Q=D.stateNode,Q.hydrate&&(Q.hydrate=!1,MA(Q.containerInfo)));break;case 23:case 24:return}e:if(z){switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,FA(D.containerInfo,D.pendingChildren);break e}throw Error(c(163))}}function dP(v){v.memoizedState!==null&&(l2=bt(),F&&fP(v.child,!0))}function Vg(v){var D=v.updateQueue;if(D!==null){v.updateQueue=null;var Q=v.stateNode;Q===null&&(Q=v.stateNode=new kL),D.forEach(function(H){var Y=HL.bind(null,v,H);Q.has(H)||(Q.add(H),H.then(Y,Y))})}}function QL(v,D){return v!==null&&(v=v.memoizedState,v===null||v.dehydrated!==null)?(D=D.memoizedState,D!==null&&D.dehydrated===null):!1}var Ny=0,Oy=1,Ly=2,Jg=3,My=4;if(typeof Symbol=="function"&&Symbol.for){var Kg=Symbol.for;Ny=Kg("selector.component"),Oy=Kg("selector.has_pseudo_class"),Ly=Kg("selector.role"),Jg=Kg("selector.test_id"),My=Kg("selector.text")}function Uy(v){var D=$(v);if(D!=null){if(typeof D.memoizedProps["data-testname"]!="string")throw Error(c(364));return D}if(v=ir(v),v===null)throw Error(c(362));return v.stateNode.current}function Pf(v,D){switch(D.$$typeof){case Ny:if(v.type===D.value)return!0;break;case Oy:e:{D=D.value,v=[v,0];for(var Q=0;Q";case Oy:return":has("+(xf(v)||"")+")";case Ly:return'[role="'+v.value+'"]';case My:return'"'+v.value+'"';case Jg:return'[data-testname="'+v.value+'"]';default:throw Error(c(365,v))}}function t2(v,D){var Q=[];v=[v,0];for(var H=0;HY&&(Y=ve),Q&=~ne}if(Q=Y,Q=bt()-Q,Q=(120>Q?120:480>Q?480:1080>Q?1080:1920>Q?1920:3e3>Q?3e3:4320>Q?4320:1960*TL(Q/1960))-Q,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}Ss!==5&&(Ss=2),ht=qg(ht,_e),Zt=ve;do{switch(Zt.tag){case 3:ne=ht,Zt.flags|=4096,D&=-D,Zt.lanes|=D;var ti=z1(Zt,ne,D);By(Zt,ti);break e;case 1:ne=ht;var Qr=Zt.type,Nn=Zt.stateNode;if(!(Zt.flags&64)&&(typeof Qr.getDerivedStateFromError=="function"||Nn!==null&&typeof Nn.componentDidCatch=="function"&&(dc===null||!dc.has(Nn)))){Zt.flags|=4096,D&=-D,Zt.lanes|=D;var Hn=Yg(Zt,ne,D);By(Zt,Hn);break e}}Zt=Zt.return}while(Zt!==null)}BP(Q)}catch(zr){D=zr,Xi===Q&&Q!==null&&(Xi=Q=Q.return);continue}break}while(!0)}function CP(){var v=Hy.current;return Hy.current=kt,v===null?kt:v}function rd(v,D){var Q=xr;xr|=16;var H=CP();fo===v&&Ms===D||Nh(v,D);do try{NL();break}catch(Y){IP(v,Y)}while(!0);if(Rg(),xr=Q,Hy.current=H,Xi!==null)throw Error(c(261));return fo=null,Ms=0,Ss}function NL(){for(;Xi!==null;)wP(Xi)}function OL(){for(;Xi!==null&&!Ql();)wP(Xi)}function wP(v){var D=bP(v.alternate,v,ep);v.memoizedProps=v.pendingProps,D===null?BP(v):Xi=D,n2.current=null}function BP(v){var D=v;do{var Q=D.alternate;if(v=D.return,D.flags&2048){if(Q=PL(D),Q!==null){Q.flags&=2047,Xi=Q;return}v!==null&&(v.firstEffect=v.lastEffect=null,v.flags|=2048)}else{if(Q=bL(Q,D,ep),Q!==null){Xi=Q;return}if(Q=D,Q.tag!==24&&Q.tag!==23||Q.memoizedState===null||ep&1073741824||!(Q.mode&4)){for(var H=0,Y=Q.child;Y!==null;)H|=Y.lanes|Y.childLanes,Y=Y.sibling;Q.childLanes=H}v!==null&&!(v.flags&2048)&&(v.firstEffect===null&&(v.firstEffect=D.firstEffect),D.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=D.firstEffect),v.lastEffect=D.lastEffect),1bt()-l2?Nh(v,0):o2|=Q),Ia(v,D)}function HL(v,D){var Q=v.stateNode;Q!==null&&Q.delete(D),D=0,D===0&&(D=v.mode,D&2?D&4?(wu===0&&(wu=Rh),D=Rn(62914560&~wu),D===0&&(D=4194304)):D=tr()===99?1:2:D=1),Q=Oo(),v=Yy(v,D),v!==null&&(Ka(v,D,Q),Ia(v,Q))}var bP;bP=function(v,D,Q){var H=D.lanes;if(v!==null)if(v.memoizedProps!==D.pendingProps||Li.current)Je=!0;else if(Q&H)Je=!!(v.flags&16384);else{switch(Je=!1,D.tag){case 3:ky(D),_g();break;case 5:wf(D);break;case 1:Xn(D.type)&&Ya(D);break;case 4:Lg(D,D.stateNode.containerInfo);break;case 10:Tg(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return Q&D.child.childLanes?J1(v,D,Q):(Qn(mi,mi.current&1),D=Wn(v,D,Q),D!==null?D.sibling:null);Qn(mi,mi.current&1);break;case 19:if(H=(Q&D.childLanes)!==0,v.flags&64){if(H)return cP(v,D,Q);D.flags|=64}var Y=D.memoizedState;if(Y!==null&&(Y.rendering=null,Y.tail=null,Y.lastEffect=null),Qn(mi,mi.current),H)break;return null;case 23:case 24:return D.lanes=0,yi(v,D,Q)}return Wn(v,D,Q)}else Je=!1;switch(D.lanes=0,D.tag){case 2:if(H=D.type,v!==null&&(v.alternate=null,D.alternate=null,D.flags|=2),v=D.pendingProps,Y=mn(D,Gi.current),Ef(D,Q),Y=jg(null,D,H,v,Y,Q),D.flags|=1,typeof Y=="object"&&Y!==null&&typeof Y.render=="function"&&Y.$$typeof===void 0){if(D.tag=1,D.memoizedState=null,D.updateQueue=null,Xn(H)){var ne=!0;Ya(D)}else ne=!1;D.memoizedState=Y.state!==null&&Y.state!==void 0?Y.state:null,wh(D);var ve=H.getDerivedStateFromProps;typeof ve=="function"&&jA(D,H,ve,v),Y.updater=GA,D.stateNode=Y,Y._reactInternals=D,To(D,H,v,Q),D=V1(null,D,H,!0,ne,Q)}else D.tag=0,pt(null,D,Y,Q),D=D.child;return D;case 16:Y=D.elementType;e:{switch(v!==null&&(v.alternate=null,D.alternate=null,D.flags|=2),v=D.pendingProps,ne=Y._init,Y=ne(Y._payload),D.type=Y,ne=D.tag=qL(Y),v=Qo(Y,v),ne){case 0:D=zA(null,D,Y,v,Q);break e;case 1:D=lP(null,D,Y,v,Q);break e;case 11:D=dr(null,D,Y,v,Q);break e;case 14:D=vr(null,D,Y,Qo(Y.type,v),H,Q);break e}throw Error(c(306,Y,""))}return D;case 0:return H=D.type,Y=D.pendingProps,Y=D.elementType===H?Y:Qo(H,Y),zA(v,D,H,Y,Q);case 1:return H=D.type,Y=D.pendingProps,Y=D.elementType===H?Y:Qo(H,Y),lP(v,D,H,Y,Q);case 3:if(ky(D),H=D.updateQueue,v===null||H===null)throw Error(c(282));if(H=D.pendingProps,Y=D.memoizedState,Y=Y!==null?Y.element:null,Ng(v,D),HA(D,H,null,Q),H=D.memoizedState.element,H===Y)_g(),D=Wn(v,D,Q);else{if(Y=D.stateNode,(ne=Y.hydrate)&&(X?(ma=Ue(D.stateNode.containerInfo),$a=D,ne=el=!0):ne=!1),ne){if(X&&(v=Y.mutableSourceEagerHydrationData,v!=null))for(Y=0;Y=Wt&&ne>=Lr&&Y<=Sr&&ve<=Zt){v.splice(D,1);break}else if(H!==Wt||Q.width!==ht.width||Ztve){if(!(ne!==Lr||Q.height!==ht.height||SrY)){Wt>H&&(ht.width+=Wt-H,ht.x=H),Srne&&(ht.height+=Lr-ne,ht.y=ne),ZtQ&&(Q=ve)),ve ")+` + +No matching component was found for: + `)+v.join(" > ")}return null},r.getPublicRootInstance=function(v){if(v=v.current,!v.child)return null;switch(v.child.tag){case 5:return Qe(v.child.stateNode);default:return v.child.stateNode}},r.injectIntoDevTools=function(v){if(v={bundleType:v.bundleType,version:v.version,rendererPackageName:v.rendererPackageName,rendererConfig:v.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:f.ReactCurrentDispatcher,findHostInstanceByFiber:YL,findFiberByHostInstance:v.findFiberByHostInstance||VL,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")v=!1;else{var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!D.isDisabled&&D.supportsFiber)try{$e=D.inject(v),Ja=D}catch{}v=!0}return v},r.observeVisibleRects=function(v,D,Q,H){if(!qt)throw Error(c(363));v=r2(v,D);var Y=on(v,Q,H).disconnect;return{disconnect:function(){Y()}}},r.registerMutableSourceForHydration=function(v,D){var Q=D._getVersion;Q=Q(D._source),v.mutableSourceEagerHydrationData==null?v.mutableSourceEagerHydrationData=[D,Q]:v.mutableSourceEagerHydrationData.push(D,Q)},r.runWithPriority=function(v,D){var Q=uc;try{return uc=v,D()}finally{uc=Q}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(v,D){var Q=xr;xr&=-2,xr|=8;try{return v(D)}finally{xr=Q,xr===0&&(kf(),Fn())}},r.updateContainer=function(v,D,Q,H){var Y=D.current,ne=Oo(),ve=Ds(Y);e:if(Q){Q=Q._reactInternals;t:{if(Se(Q)!==Q||Q.tag!==1)throw Error(c(170));var _e=Q;do{switch(_e.tag){case 3:_e=_e.stateNode.context;break t;case 1:if(Xn(_e.type)){_e=_e.stateNode.__reactInternalMemoizedMergedChildContext;break t}}_e=_e.return}while(_e!==null);throw Error(c(171))}if(Q.tag===1){var ht=Q.type;if(Xn(ht)){Q=Wa(Q,ht,_e);break e}}Q=_e}else Q=pa;return D.context===null?D.context=Q:D.pendingContext=Q,D=Tl(ne,ve),D.payload={element:v},H=H===void 0?null:H,H!==null&&(D.callback=H),Fl(Y,D),Ul(Y,ve,ne),ve},r}});var dIe=G((FVt,gIe)=>{"use strict";gIe.exports=hIe()});var yIe=G((NVt,mIe)=>{"use strict";var jut={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};mIe.exports=jut});var wIe=G((OVt,CIe)=>{"use strict";var Gut=Object.assign||function(e){for(var t=1;t"}}]),e}(),EIe=function(){yF(e,null,[{key:"fromJS",value:function(r){var s=r.width,a=r.height;return new e(s,a)}}]);function e(t,r){hq(this,e),this.width=t,this.height=r}return yF(e,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return""}}]),e}(),IIe=function(){function e(t,r){hq(this,e),this.unit=t,this.value=r}return yF(e,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case sf.UNIT_POINT:return String(this.value);case sf.UNIT_PERCENT:return this.value+"%";case sf.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),e}();CIe.exports=function(e,t){function r(c,f,p){var h=c[f];c[f]=function(){for(var E=arguments.length,C=Array(E),S=0;S1?C-1:0),x=1;x1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:sf.DIRECTION_LTR;return c.call(this,f,p,h)}),Gut({Config:t.Config,Node:t.Node,Layout:e("Layout",qut),Size:e("Size",EIe),Value:e("Value",IIe),getInstanceCount:function(){return t.getInstanceCount.apply(t,arguments)}},sf)}});var BIe=G((exports,module)=>{(function(e,t){typeof define=="function"&&define.amd?define([],function(){return t}):typeof module=="object"&&module.exports?module.exports=t:(e.nbind=e.nbind||{}).init=t})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(e,t){return function(){e&&e.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){t(r);return}t(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof Ie=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(t,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),t=nodePath.normalize(t);var s=nodeFS.readFileSync(t);return r?s:s.toString()},Module.readBinary=function(t){var r=Module.read(t,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(t){globalEval(read(t))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(t){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(t));var r=read(t,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(e,t){quit(e)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(t){var r=new XMLHttpRequest;return r.open("GET",t,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(t){var r=new XMLHttpRequest;return r.open("GET",t,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(t,r,s){var a=new XMLHttpRequest;a.open("GET",t,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):s()},a.onerror=s,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(t){console.log(t)}),Module.printErr||(Module.printErr=function(t){console.warn(t)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(e){document.title=e})}else throw"Unknown runtime environment. Where are we?";function globalEval(e){eval.call(null,e)}!Module.load&&Module.read&&(Module.load=function(t){globalEval(Module.read(t))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,t){throw t}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e,e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*")return Runtime.QUANTUM_SIZE;if(e[0]==="i"){var t=parseInt(e.substr(1));return assert(t%8===0),t/8}else return 0}}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,t){return t==="double"||t==="i64"?e&7&&(assert((e&7)===4),e+=4):assert((e&3)===0),e},getAlignSize:function(e,t,r){return!r&&(e=="i64"||e=="double")?8:e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8)},dynCall:function(e,t,r){return r&&r.length?Module["dynCall_"+e].apply(null,[t].concat(r)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t>2],r=(t+e+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var s=enlargeMemory();if(!s)return HEAP32[DYNAMICTOP_PTR>>2]=t,0}return t},alignMemory:function(e,t){var r=e=Math.ceil(e/(t||16))*(t||16);return r},makeBigInt:function(e,t,r){var s=r?+(e>>>0)+ +(t>>>0)*4294967296:+(e>>>0)+ +(t|0)*4294967296;return s},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(e,t){e||abort("Assertion failed: "+t)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;if(e!=null&&e!==0){var r=(e.length<<2)+1;t=Runtime.stackAlloc(r),stringToUTF8(e,t,r)}return t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(t,r,s,a,n){var c=getCFunc(t),f=[],p=0;if(a)for(var h=0;h>0]=t;break;case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(e,t,r){switch(t=t||"i8",t.charAt(t.length-1)==="*"&&(t="i32"),t){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(e,t,r,s){var a,n;typeof e=="number"?(a=!0,n=e):(a=!1,n=e.length);var c=typeof t=="string"?t:null,f;if(r==ALLOC_NONE?f=s:f=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,c?1:t.length)),a){var s=f,p;for(assert((f&3)==0),p=f+(n&-4);s>2]=0;for(p=f+n;s>0]=0;return f}if(c==="i8")return e.subarray||e.slice?HEAPU8.set(e,f):HEAPU8.set(new Uint8Array(e),f),f;for(var h=0,E,C,S;h>0],r|=s,!(s==0&&!t||(a++,t&&a==t)););t||(t=a);var n="";if(r<128){for(var c=1024,f;t>0;)f=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,c))),n=n?n+f:f,e+=c,t-=c;return n}return Module.UTF8ToString(e)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(e){for(var t="";;){var r=HEAP8[e++>>0];if(!r)return t;t+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(e,t){return writeAsciiToMemory(e,t,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,t){for(var r=t;e[r];)++r;if(r-t>16&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,r));for(var s,a,n,c,f,p,h="";;){if(s=e[t++],!s)return h;if(!(s&128)){h+=String.fromCharCode(s);continue}if(a=e[t++]&63,(s&224)==192){h+=String.fromCharCode((s&31)<<6|a);continue}if(n=e[t++]&63,(s&240)==224?s=(s&15)<<12|a<<6|n:(c=e[t++]&63,(s&248)==240?s=(s&7)<<18|a<<12|n<<6|c:(f=e[t++]&63,(s&252)==248?s=(s&3)<<24|a<<18|n<<12|c<<6|f:(p=e[t++]&63,s=(s&1)<<30|a<<24|n<<18|c<<12|f<<6|p))),s<65536)h+=String.fromCharCode(s);else{var E=s-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(e,t,r,s){if(!(s>0))return 0;for(var a=r,n=r+s-1,c=0;c=55296&&f<=57343&&(f=65536+((f&1023)<<10)|e.charCodeAt(++c)&1023),f<=127){if(r>=n)break;t[r++]=f}else if(f<=2047){if(r+1>=n)break;t[r++]=192|f>>6,t[r++]=128|f&63}else if(f<=65535){if(r+2>=n)break;t[r++]=224|f>>12,t[r++]=128|f>>6&63,t[r++]=128|f&63}else if(f<=2097151){if(r+3>=n)break;t[r++]=240|f>>18,t[r++]=128|f>>12&63,t[r++]=128|f>>6&63,t[r++]=128|f&63}else if(f<=67108863){if(r+4>=n)break;t[r++]=248|f>>24,t[r++]=128|f>>18&63,t[r++]=128|f>>12&63,t[r++]=128|f>>6&63,t[r++]=128|f&63}else{if(r+5>=n)break;t[r++]=252|f>>30,t[r++]=128|f>>24&63,t[r++]=128|f>>18&63,t[r++]=128|f>>12&63,t[r++]=128|f>>6&63,t[r++]=128|f&63}}return t[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(e,t,r){return stringToUTF8Array(e,HEAPU8,t,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(e){for(var t=0,r=0;r=55296&&s<=57343&&(s=65536+((s&1023)<<10)|e.charCodeAt(++r)&1023),s<=127?++t:s<=2047?t+=2:s<=65535?t+=3:s<=2097151?t+=4:s<=67108863?t+=5:t+=6}return t}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(e){var t=Module.___cxa_demangle||Module.__cxa_demangle;if(t){try{var r=e.substr(1),s=lengthBytesUTF8(r)+1,a=_malloc(s);stringToUTF8(r,a,s);var n=_malloc(4),c=t(a,0,0,n);if(getValue(n,"i32")===0&&c)return Pointer_stringify(c)}catch{}finally{a&&_free(a),n&&_free(n),c&&_free(c)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){var t=/__Z[\w\d_]+/g;return e.replace(t,function(r){var s=demangle(r);return r===s?r:r+" ["+s+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+=` +`+Module.extraStackTrace()),demangleAll(e)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var t=e.shift();if(typeof t=="function"){t();continue}var r=t.func;typeof r=="number"?t.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,t.arg):r(t.arg===void 0?null:t.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}Module.addOnPreRun=addOnPreRun;function addOnInit(e){__ATINIT__.unshift(e)}Module.addOnInit=addOnInit;function addOnPreMain(e){__ATMAIN__.unshift(e)}Module.addOnPreMain=addOnPreMain;function addOnExit(e){__ATEXIT__.unshift(e)}Module.addOnExit=addOnExit;function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(e,t,r){var s=r>0?r:lengthBytesUTF8(e)+1,a=new Array(s),n=stringToUTF8Array(e,a,0,a.length);return t&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(e){for(var t=[],r=0;r255&&(s&=255),t.push(String.fromCharCode(s))}return t.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(e,t,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var s,a;r&&(a=t+lengthBytesUTF8(e),s=HEAP8[a]),stringToUTF8(e,t,1/0),r&&(HEAP8[a]=s)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(e,t){HEAP8.set(e,t)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(e,t,r){for(var s=0;s>0]=e.charCodeAt(s);r||(HEAP8[t>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function e(t,r){var s=t>>>16,a=t&65535,n=r>>>16,c=r&65535;return a*c+(s*c+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(e){return froundBuffer[0]=e,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(e){e=e>>>0;for(var t=0;t<32;t++)if(e&1<<31-t)return t;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(e,t,r,s,a,n,c,f){return _nbind.callbackSignatureList[e].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(e,t,r,s,a,n,c,f){return ASM_CONSTS[e](t,r,s,a,n,c,f)}function _emscripten_asm_const_iiiii(e,t,r,s,a){return ASM_CONSTS[e](t,r,s,a)}function _emscripten_asm_const_iiidddddd(e,t,r,s,a,n,c,f,p){return ASM_CONSTS[e](t,r,s,a,n,c,f,p)}function _emscripten_asm_const_iiididi(e,t,r,s,a,n,c){return ASM_CONSTS[e](t,r,s,a,n,c)}function _emscripten_asm_const_iiii(e,t,r,s){return ASM_CONSTS[e](t,r,s)}function _emscripten_asm_const_iiiid(e,t,r,s,a){return ASM_CONSTS[e](t,r,s,a)}function _emscripten_asm_const_iiiiii(e,t,r,s,a,n){return ASM_CONSTS[e](t,r,s,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(e,t){__ATEXIT__.unshift({func:e,arg:t})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(e,t,r,s){var a=arguments.length,n=a<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,r):s,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(e,t,r,s);else for(var f=e.length-1;f>=0;f--)(c=e[f])&&(n=(a<3?c(n):a>3?c(t,r,n):c(t,r))||n);return a>3&&n&&Object.defineProperty(t,r,n),n}function _defineHidden(e){return function(t,r){Object.defineProperty(t,r,{configurable:!1,enumerable:!1,value:e,writable:!0})}}var _nbind={};function __nbind_free_external(e){_nbind.externalList[e].dereference(e)}function __nbind_reference_external(e){_nbind.externalList[e].reference()}function _llvm_stackrestore(e){var t=_llvm_stacksave,r=t.LLVM_SAVEDSTACKS[e];t.LLVM_SAVEDSTACKS.splice(e,1),Runtime.stackRestore(r)}function __nbind_register_pool(e,t,r,s){_nbind.Pool.pageSize=e,_nbind.Pool.usedPtr=t/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=s/4,HEAP32[t/4]=16909060,HEAP8[t]==1&&(_nbind.bigEndian=!0),HEAP32[t/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(e,t){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=t,!Browser.mainLoop.func)return 1;if(e==0)Browser.mainLoop.scheduler=function(){var c=Math.max(0,Browser.mainLoop.tickStartTime+t-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,c)},Browser.mainLoop.method="timeout";else if(e==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(e==2){if(!window.setImmediate){let n=function(c){c.source===window&&c.data===s&&(c.stopPropagation(),r.shift()())};var a=n,r=[],s="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(f){r.push(f),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(f),window.postMessage({target:s})):window.postMessage(s,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(e,t,r,s,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=s;var n;typeof s<"u"?n=function(){Module.dynCall_vi(e,s)}:n=function(){Module.dynCall_v(e)};var c=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,C=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=C:(C=C+.5,Browser.mainLoop.remainingBlockers=(8*E+C)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),c1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(c0?_emscripten_set_main_loop_timing(0,1e3/t):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,t=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,t),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",t=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;t?t"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var e={};e.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},e.handle=function(n,c,f,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(c)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(c)}))}catch(x){Runtime.warnOnce("Blob constructor present but fails: "+x+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var C=Browser.URLObject.createObjectURL(h),S=new Image;S.onload=function(){assert(S.complete,"Image "+c+" could not be decoded");var I=document.createElement("canvas");I.width=S.width,I.height=S.height;var T=I.getContext("2d");T.drawImage(S,0,0),Module.preloadedImages[c]=I,Browser.URLObject.revokeObjectURL(C),f&&f(n)},S.onerror=function(I){console.log("Image "+C+" could not be decoded"),p&&p()},S.src=C},Module.preloadPlugins.push(e);var t={};t.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},t.handle=function(n,c,f,p){var h=!1;function E(T){h||(h=!0,Module.preloadedAudios[c]=T,f&&f(n))}function C(){h||(h=!0,Module.preloadedAudios[c]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var S=new Blob([n],{type:Browser.getMimetype(c)})}catch{return C()}var x=Browser.URLObject.createObjectURL(S),I=new Audio;I.addEventListener("canplaythrough",function(){E(I)},!1),I.onerror=function(O){if(h)return;console.log("warning: browser could not fully decode audio "+c+", trying slower base64 approach");function U(V){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ie="=",ue="",ae=0,de=0,Ae=0;Ae=6;){var Ce=ae>>de-6&63;de-=6,ue+=te[Ce]}return de==2?(ue+=te[(ae&3)<<4],ue+=ie+ie):de==4&&(ue+=te[(ae&15)<<2],ue+=ie),ue}I.src="data:audio/x-"+c.substr(-3)+";base64,"+U(n),E(I)},I.src=x,Browser.safeSetTimeout(function(){E(I)},1e4)}else return C()},Module.preloadPlugins.push(t);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var s=Module.canvas;s&&(s.requestPointerLock=s.requestPointerLock||s.mozRequestPointerLock||s.webkitRequestPointerLock||s.msRequestPointerLock||function(){},s.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},s.exitPointerLock=s.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&s.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(e,t,r,s){if(t&&Module.ctx&&e==Module.canvas)return Module.ctx;var a,n;if(t){var c={antialias:!1,alpha:!1};if(s)for(var f in s)c[f]=s[f];n=GL.createContext(e,c),n&&(a=GL.getContext(n).GLctx)}else a=e.getContext("2d");return a?(r&&(t||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,t&&GL.makeContextCurrent(n),Module.useWebGL=t,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t,r){Browser.lockPointer=e,Browser.resizeCanvas=t,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var s=Module.canvas;function a(){Browser.isFullscreen=!1;var c=s.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===c?(s.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},s.exitFullscreen=s.exitFullscreen.bind(document),Browser.lockPointer&&s.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(c.parentNode.insertBefore(s,c),c.parentNode.removeChild(c),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(s)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");s.parentNode.insertBefore(n,s),n.appendChild(s),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(e,t,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(s,a,n){return Browser.requestFullscreen(s,a,n)},Browser.requestFullscreen(e,t,r)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=t+1e3/60;else for(;t+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function e(t){typeof window>"u"?Browser.fakeRequestAnimationFrame(t):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(t))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach(function(t){t()})}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))})},safeSetTimeout:function(e,t){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))},t)},safeSetInterval:function(e,t){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&e()},t)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail;break;case"mousewheel":t=e.wheelDelta;break;case"wheel":t=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var t=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,s=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var c=e.touch;if(c===void 0)return;var f=c.pageX-(a+t.left),p=c.pageY-(n+t.top);f=f*(r/t.width),p=p*(s/t.height);var h={x:f,y:p};if(e.type==="touchstart")Browser.lastTouches[c.identifier]=h,Browser.touches[c.identifier]=h;else if(e.type==="touchend"||e.type==="touchmove"){var E=Browser.touches[c.identifier];E||(E=h),Browser.lastTouches[c.identifier]=E,Browser.touches[c.identifier]=h}return}var C=e.pageX-(a+t.left),S=e.pageY-(n+t.top);C=C*(r/t.width),S=S*(s/t.height),Browser.mouseMovementX=C-Browser.mouseX,Browser.mouseMovementY=S-Browser.mouseY,Browser.mouseX=C,Browser.mouseY=S}},asyncLoad:function(e,t,r,s){var a=s?"":"al "+e;Module.readAsync(e,function(n){assert(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+e+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach(function(t){t(e.width,e.height)})},setCanvasSize:function(e,t,r){var s=Module.canvas;Browser.updateCanvasDimensions(s,e,t),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];e=e|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];e=e&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var s=t,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(s/a>2];return t},getStr:function(){var e=Pointer_stringify(SYSCALLS.get());return e},get64:function(){var e=SYSCALLS.get(),t=SYSCALLS.get();return e>=0?assert(t===0):assert(t===-1),e},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(s){return(typeof FS>"u"||!(s instanceof FS.ErrnoError))&&abort(s),-s.errno}}function ___syscall54(e,t){SYSCALLS.varargs=t;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(e){var t=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function r(p,h,E,C,S,x){if(h==1){var I=C&896;(I==128||I==256||I==384)&&(p="X const")}var T;return x?T=E.replace("X",p).replace("Y",S):T=p.replace("X",E).replace("Y",S),T.replace(/([*&]) (?=[*&])/g,"$1")}function s(p,h,E,C,S){throw new Error(p+" type "+E.replace("X",h+"?")+(C?" with flag "+C:"")+" in "+S)}function a(p,h,E,C,S,x,I,T){x===void 0&&(x="X"),T===void 0&&(T=1);var O=E(p);if(O)return O;var U=C(p),V=U.placeholderFlag,te=t[V];I&&te&&(x=r(I[2],I[0],x,te[0],"?",!0));var ie;V==0&&(ie="Unbound"),V>=10&&(ie="Corrupt"),T>20&&(ie="Deeply nested"),ie&&s(ie,p,x,V,S||"?");var ue=U.paramList[0],ae=a(ue,h,E,C,S,x,te,T+1),de,Ae={flags:te[0],id:p,name:"",paramList:[ae]},Ce=[],Ee="?";switch(U.placeholderFlag){case 1:de=ae.spec;break;case 2:if((ae.flags&15360)==1024&&ae.spec.ptrSize==1){Ae.flags=7168;break}case 3:case 6:case 5:de=ae.spec,ae.flags&15360;break;case 8:Ee=""+U.paramList[1],Ae.paramList.push(U.paramList[1]);break;case 9:for(var g=0,Se=U.paramList[1];g>2]=e),e}function _llvm_stacksave(){var e=_llvm_stacksave;return e.LLVM_SAVEDSTACKS||(e.LLVM_SAVEDSTACKS=[]),e.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),e.LLVM_SAVEDSTACKS.length-1}function ___syscall140(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.getStreamFromFD(),s=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),c=SYSCALLS.get(),f=a;return FS.llseek(r,f,c),HEAP32[n>>2]=r.position,r.getdents&&f===0&&c===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(e,t){SYSCALLS.varargs=t;try{var r=SYSCALLS.get(),s=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,C){var S=___syscall146.buffers[E];assert(S),C===0||C===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(S,0)),S.length=0):S.push(C)});for(var c=0;c>2],p=HEAP32[s+(c*8+4)>>2],h=0;h"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var e=0,t=_nbind.BindClass.list;ee.pageSize/2||t>e.pageSize-r){var s=_nbind.typeNameTbl.NBind.proto;return s.lalloc(t)}else return HEAPU32[e.usedPtr]=r+t,e.rootPtr+r},e.lreset=function(t,r){var s=HEAPU32[e.pagePtr];if(s){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(t,r)}else HEAPU32[e.usedPtr]=t},e}();_nbind.Pool=Pool;function constructType(e,t){var r=e==10240?_nbind.makeTypeNameTbl[t.name]||_nbind.BindType:_nbind.makeTypeKindTbl[e],s=new r(t);return typeIdTbl[t.id]=s,_nbind.typeNameTbl[t.name]=s,s}_nbind.constructType=constructType;function getType(e){return typeIdTbl[e]}_nbind.getType=getType;function queryType(e){var t=HEAPU8[e],r=_nbind.structureList[t][1];e/=4,r<0&&(++e,r=HEAPU32[e]+1);var s=Array.prototype.slice.call(HEAPU32.subarray(e+1,e+1+r));return t==9&&(s=[s[0],s.slice(1)]),{paramList:s,placeholderFlag:t}}_nbind.queryType=queryType;function getTypes(e,t){return e.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,t):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(e,t){return Array.prototype.slice.call(HEAPU32,e/4,e/4+t)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(e){for(var t=e;HEAPU8[t++];);return String.fromCharCode.apply("",HEAPU8.subarray(e,t-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(e){var t={};if(e)for(;;){var r=HEAPU32[e/4];if(!r)break;t[readAsciiString(r)]=!0,e+=4}return t}_nbind.readPolicyList=readPolicyList;function getDynCall(e,t){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},s=e.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+s];if(!a)throw new Error("dynCall_"+s+" not found for "+t+"("+e.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(e,t,r,s){var a=e[t];e.hasOwnProperty(t)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),e[t]=a),a.addMethod(r,s)):(r.arity=s,e[t]=r)}_nbind.addMethod=addMethod;function throwError(e){throw new Error(e)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return t.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},t.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},t}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(e){__extends(t,e);function t(r){var s=e.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return s.heap=a[r.ptrSize*8],s.ptrSize=r.ptrSize,s}return t.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},t.prototype.makeWireWrite=function(r,s){return s&&s.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},t}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(e,t){if(e==null){if(t&&t.Nullable)return 0;throw new Error("Type mismatch")}if(t&&t.Strict){if(typeof e!="string")throw new Error("Type mismatch")}else e=e.toString();var r=Module.lengthBytesUTF8(e)+1,s=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(e,HEAPU8,s,r),s}_nbind.pushCString=pushCString;function popCString(e){return e===0?null:Module.Pointer_stringify(e)}_nbind.popCString=popCString;var CStringType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return t.prototype.makeWireWrite=function(r,s){return function(a){return pushCString(a,s)}},t}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(e){__extends(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r.wireRead=function(s){return!!s},r}return t.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},t.prototype.makeWireRead=function(r){return"!!("+r+")"},t.prototype.makeWireWrite=function(r,s){return s&&s.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},t}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function e(){}return e.prototype.persist=function(){this.__nbindState|=1},e}();_nbind.Wrapper=Wrapper;function makeBound(e,t){var r=function(s){__extends(a,s);function a(n,c,f,p){var h=s.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=c,C=f,S=p;if(n!==_nbind.ptrMarker){var x=h.__nbindConstructor.apply(h,arguments);E=4608,S=HEAPU32[x/4],C=HEAPU32[x/4+1]}var I={configurable:!0,enumerable:!1,value:null,writable:!1},T={__nbindFlags:E,__nbindPtr:C};S&&(T.__nbindShared=S,_nbind.mark(h));for(var O=0,U=Object.keys(T);O>=1;var r=_nbind.valueList[e];return _nbind.valueList[e]=firstFreeValue,firstFreeValue=e,r}else{if(t)return _nbind.popShared(e,t);throw new Error("Invalid value slot "+e)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(e){return typeof e=="number"?e:pushValue(e)*4096+valueBase}function pop64(e){return e=3?c=Buffer.from(n):c=new Buffer(n),c.copy(s)}else getBuffer(s).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var e=0,t=dirtyList;e>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(e,t,r,s,a,n){try{Module.dynCall_viiiii(e,t,r,s,a,n)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_vif(e,t,r){try{Module.dynCall_vif(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_vid(e,t,r){try{Module.dynCall_vid(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_fiff(e,t,r,s){try{return Module.dynCall_fiff(e,t,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(e,t){try{Module.dynCall_vi(e,t)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(e,t,r){try{Module.dynCall_vii(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_ii(e,t){try{return Module.dynCall_ii(e,t)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(e,t,r,s,a){try{Module.dynCall_viddi(e,t,r,s,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(e,t,r,s){try{Module.dynCall_vidd(e,t,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(e,t,r,s){try{return Module.dynCall_iiii(e,t,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(e,t,r,s){try{return Module.dynCall_diii(e,t,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(e,t){try{return Module.dynCall_di(e,t)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(e,t,r){try{return Module.dynCall_iid(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_iii(e,t,r){try{return Module.dynCall_iii(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_viiddi(e,t,r,s,a,n){try{Module.dynCall_viiddi(e,t,r,s,a,n)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiiiii(e,t,r,s,a,n,c){try{Module.dynCall_viiiiii(e,t,r,s,a,n,c)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_dii(e,t,r){try{return Module.dynCall_dii(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_i(e){try{return Module.dynCall_i(e)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_iiiiii(e,t,r,s,a,n){try{return Module.dynCall_iiiiii(e,t,r,s,a,n)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiid(e,t,r,s,a){try{Module.dynCall_viiid(e,t,r,s,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(e,t,r,s,a,n,c){try{Module.dynCall_viififi(e,t,r,s,a,n,c)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viii(e,t,r,s){try{Module.dynCall_viii(e,t,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viid(e,t,r,s){try{Module.dynCall_viid(e,t,r,s)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(e,t,r){try{return Module.dynCall_idd(e,t,r)}catch(s){if(typeof s!="number"&&s!=="longjmp")throw s;Module.setThrew(1,0)}}function invoke_viiii(e,t,r,s,a){try{Module.dynCall_viiii(e,t,r,s,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(e,t,r){var s=new e.Int8Array(r),a=new e.Int16Array(r),n=new e.Int32Array(r),c=new e.Uint8Array(r),f=new e.Uint16Array(r),p=new e.Uint32Array(r),h=new e.Float32Array(r),E=new e.Float64Array(r),C=t.DYNAMICTOP_PTR|0,S=t.tempDoublePtr|0,x=t.ABORT|0,I=t.STACKTOP|0,T=t.STACK_MAX|0,O=t.cttz_i8|0,U=t.___dso_handle|0,V=0,te=0,ie=0,ue=0,ae=e.NaN,de=e.Infinity,Ae=0,Ce=0,Ee=0,g=0,Se=0,Be=0,me=e.Math.floor,ce=e.Math.abs,Z=e.Math.sqrt,De=e.Math.pow,Qe=e.Math.cos,st=e.Math.sin,_=e.Math.tan,tt=e.Math.acos,Ne=e.Math.asin,ke=e.Math.atan,be=e.Math.atan2,je=e.Math.exp,Re=e.Math.log,ct=e.Math.ceil,Me=e.Math.imul,P=e.Math.min,w=e.Math.max,b=e.Math.clz32,y=e.Math.fround,F=t.abort,z=t.assert,X=t.enlargeMemory,$=t.getTotalMemory,se=t.abortOnCannotGrowMemory,xe=t.invoke_viiiii,Fe=t.invoke_vif,ut=t.invoke_vid,Ct=t.invoke_fiff,qt=t.invoke_vi,ir=t.invoke_vii,Pt=t.invoke_ii,dn=t.invoke_viddi,Pr=t.invoke_vidd,Cr=t.invoke_iiii,Or=t.invoke_diii,on=t.invoke_di,li=t.invoke_iid,Do=t.invoke_iii,ns=t.invoke_viiddi,so=t.invoke_viiiiii,bo=t.invoke_dii,ji=t.invoke_i,oo=t.invoke_iiiiii,Po=t.invoke_viiid,TA=t.invoke_viififi,gf=t.invoke_viii,gh=t.invoke_v,dh=t.invoke_viid,ao=t.invoke_idd,Gn=t.invoke_viiii,Ns=t._emscripten_asm_const_iiiii,lo=t._emscripten_asm_const_iiidddddd,ou=t._emscripten_asm_const_iiiid,au=t.__nbind_reference_external,lu=t._emscripten_asm_const_iiiiiiii,FA=t._removeAccessorPrefix,NA=t._typeModule,fa=t.__nbind_register_pool,Aa=t.__decorate,OA=t._llvm_stackrestore,gr=t.___cxa_atexit,xo=t.__extends,Ga=t.__nbind_get_value_object,Ue=t.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,wr=t._emscripten_set_main_loop_timing,df=t.__nbind_register_primitive,LA=t.__nbind_register_type,MA=t._emscripten_memcpy_big,cu=t.__nbind_register_function,uu=t.___setErrNo,lc=t.__nbind_register_class,we=t.__nbind_finish,Nt=t._abort,cc=t._nbind_value,Oi=t._llvm_stacksave,co=t.___syscall54,Tt=t._defineHidden,Qn=t._emscripten_set_main_loop,pa=t._emscripten_get_now,Gi=t.__nbind_register_callback_signature,Li=t._emscripten_asm_const_iiiiii,qa=t.__nbind_free_external,mn=t._emscripten_asm_const_iiii,Xn=t._emscripten_asm_const_iiididi,fu=t.___syscall6,mh=t._atexit,Wa=t.___syscall140,Ya=t.___syscall146,Va=y(0);let $e=y(0);function Ja(o){o=o|0;var l=0;return l=I,I=I+o|0,I=I+15&-16,l|0}function mf(){return I|0}function uc(o){o=o|0,I=o}function vn(o,l){o=o|0,l=l|0,I=o,T=l}function ha(o,l){o=o|0,l=l|0,V||(V=o,te=l)}function UA(o){o=o|0,Be=o}function _A(){return Be|0}function ga(){var o=0,l=0;Rr(8104,8,400)|0,Rr(8504,408,540)|0,o=9044,l=o+44|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));s[9088]=0,s[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,gr(17,8104,U|0)|0}function kl(o){o=o|0,mt(o+948|0)}function Ut(o){return o=y(o),((fP(o)|0)&2147483647)>>>0>2139095040|0}function Rn(o,l,u){o=o|0,l=l|0,u=u|0;e:do if(n[o+(l<<3)+4>>2]|0)o=o+(l<<3)|0;else{if((l|2|0)==3&&n[o+60>>2]|0){o=o+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[o+52>>2]|0){o=o+48|0;break e}break}default:}if(n[o+68>>2]|0){o=o+64|0;break}else{o=(l|1|0)==5?948:u;break}}while(!1);return o|0}function da(o){o=o|0;var l=0;return l=_P(1e3)|0,Ka(o,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Rr(l|0,8104,1e3)|0,s[o+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=o,l|0}function Ka(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;d=I,I=I+16|0,A=d,l||(n[A>>2]=u,Gg(o,5,3197,A)),I=d}function is(){return da(956)|0}function fc(o){o=o|0;var l=0;return l=Kt(1e3)|0,Au(l,o),Ka(n[o+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function Au(o,l){o=o|0,l=l|0;var u=0;Rr(o|0,l|0,948)|0,xy(o+948|0,l+948|0),u=o+960|0,o=l+960|0,l=u+40|0;do n[u>>2]=n[o>>2],u=u+4|0,o=o+4|0;while((u|0)<(l|0))}function Ac(o){o=o|0;var l=0,u=0,A=0,d=0;if(l=o+944|0,u=n[l>>2]|0,u|0&&(za(u+948|0,o)|0,n[l>>2]=0),u=Mi(o)|0,u|0){l=0;do n[(Bs(o,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(u|0))}u=o+948|0,A=n[u>>2]|0,d=o+952|0,l=n[d>>2]|0,(l|0)!=(A|0)&&(n[d>>2]=l+(~((l+-4-A|0)>>>2)<<2)),Ql(u),HP(o),n[2276]=(n[2276]|0)+-1}function za(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0;A=n[o>>2]|0,k=o+4|0,u=n[k>>2]|0,m=u;e:do if((A|0)==(u|0))d=A,B=4;else for(o=A;;){if((n[o>>2]|0)==(l|0)){d=o,B=4;break e}if(o=o+4|0,(o|0)==(u|0)){o=0;break}}while(!1);return(B|0)==4&&((d|0)!=(u|0)?(A=d+4|0,o=m-A|0,l=o>>2,l&&(B2(d|0,A|0,o|0)|0,u=n[k>>2]|0),o=d+(l<<2)|0,(u|0)==(o|0)||(n[k>>2]=u+(~((u+-4-o|0)>>>2)<<2)),o=1):o=0),o|0}function Mi(o){return o=o|0,(n[o+952>>2]|0)-(n[o+948>>2]|0)>>2|0}function Bs(o,l){o=o|0,l=l|0;var u=0;return u=n[o+948>>2]|0,(n[o+952>>2]|0)-u>>2>>>0>l>>>0?o=n[u+(l<<2)>>2]|0:o=0,o|0}function Ql(o){o=o|0;var l=0,u=0,A=0,d=0;A=I,I=I+32|0,l=A,d=n[o>>2]|0,u=(n[o+4>>2]|0)-d|0,((n[o+8>>2]|0)-d|0)>>>0>u>>>0&&(d=u>>2,Ty(l,d,d,o+8|0),AP(o,l),Fy(l)),I=A}function yf(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0;M=Mi(o)|0;do if(M|0){if((n[(Bs(o,0)|0)+944>>2]|0)==(o|0)){if(!(za(o+948|0,l)|0))break;Rr(l+400|0,8504,540)|0,n[l+944>>2]=0,Oe(o);break}B=n[(n[o+976>>2]|0)+12>>2]|0,k=o+948|0,R=(B|0)==0,u=0,m=0;do A=n[(n[k>>2]|0)+(m<<2)>>2]|0,(A|0)==(l|0)?Oe(o):(d=fc(A)|0,n[(n[k>>2]|0)+(u<<2)>>2]=d,n[d+944>>2]=o,R||tU[B&15](A,d,o,u),u=u+1|0),m=m+1|0;while((m|0)!=(M|0));if(u>>>0>>0){R=o+948|0,k=o+952|0,B=u,u=n[k>>2]|0;do m=(n[R>>2]|0)+(B<<2)|0,A=m+4|0,d=u-A|0,l=d>>2,l&&(B2(m|0,A|0,d|0)|0,u=n[k>>2]|0),d=u,A=m+(l<<2)|0,(d|0)!=(A|0)&&(u=d+(~((d+-4-A|0)>>>2)<<2)|0,n[k>>2]=u),B=B+1|0;while((B|0)!=(M|0))}}while(!1)}function pc(o){o=o|0;var l=0,u=0,A=0,d=0;Bi(o,(Mi(o)|0)==0,2491),Bi(o,(n[o+944>>2]|0)==0,2545),l=o+948|0,u=n[l>>2]|0,A=o+952|0,d=n[A>>2]|0,(d|0)!=(u|0)&&(n[A>>2]=d+(~((d+-4-u|0)>>>2)<<2)),Ql(l),l=o+976|0,u=n[l>>2]|0,Rr(o|0,8104,1e3)|0,s[u+2>>0]|0&&(n[o+4>>2]=2,n[o+12>>2]=4),n[l>>2]=u}function Bi(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;d=I,I=I+16|0,A=d,l||(n[A>>2]=u,No(o,5,3197,A)),I=d}function Tn(){return n[2276]|0}function hc(){var o=0;return o=_P(20)|0,Ke((o|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[o>>2]=n[239],n[o+4>>2]=n[240],n[o+8>>2]=n[241],n[o+12>>2]=n[242],n[o+16>>2]=n[243],o|0}function Ke(o,l){o=o|0,l=l|0;var u=0,A=0;A=I,I=I+16|0,u=A,o||(n[u>>2]=l,No(0,5,3197,u)),I=A}function ot(o){o=o|0,HP(o),n[2277]=(n[2277]|0)+-1}function St(o,l){o=o|0,l=l|0;var u=0;l?(Bi(o,(Mi(o)|0)==0,2629),u=1):(u=0,l=0),n[o+964>>2]=l,n[o+988>>2]=u}function lr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,m=A+8|0,d=A+4|0,B=A,n[d>>2]=l,Bi(o,(n[l+944>>2]|0)==0,2709),Bi(o,(n[o+964>>2]|0)==0,2763),ee(o),l=o+948|0,n[B>>2]=(n[l>>2]|0)+(u<<2),n[m>>2]=n[B>>2],ye(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=o,Oe(o),I=A}function ee(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;if(u=Mi(o)|0,u|0&&(n[(Bs(o,0)|0)+944>>2]|0)!=(o|0)){A=n[(n[o+976>>2]|0)+12>>2]|0,d=o+948|0,m=(A|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,k=fc(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=k,n[k+944>>2]=o,m||tU[A&15](B,k,o,l),l=l+1|0;while((l|0)!=(u|0))}}function ye(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0,nt=0,Ze=0;nt=I,I=I+64|0,q=nt+52|0,k=nt+48|0,oe=nt+28|0,Ve=nt+24|0,Le=nt+20|0,Te=nt,A=n[o>>2]|0,m=A,l=A+((n[l>>2]|0)-m>>2<<2)|0,A=o+4|0,d=n[A>>2]|0,B=o+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[u>>2],n[A>>2]=(n[A>>2]|0)+4;break}pP(o,l,d,l+4|0),l>>>0<=u>>>0&&(u=(n[A>>2]|0)>>>0>u>>>0?u+4|0:u),n[l>>2]=n[u>>2]}else{A=(d-m>>2)+1|0,d=N(o)|0,d>>>0>>0&&an(o),L=n[o>>2]|0,M=(n[B>>2]|0)-L|0,m=M>>1,Ty(Te,M>>2>>>0>>1>>>0?m>>>0>>0?A:m:d,l-L>>2,o+8|0),L=Te+8|0,A=n[L>>2]|0,m=Te+12|0,M=n[m>>2]|0,B=M,R=A;do if((A|0)==(M|0)){if(M=Te+4|0,A=n[M>>2]|0,Ze=n[Te>>2]|0,d=Ze,A>>>0<=Ze>>>0){A=B-d>>1,A=A|0?A:1,Ty(oe,A,A>>>2,n[Te+16>>2]|0),n[Ve>>2]=n[M>>2],n[Le>>2]=n[L>>2],n[k>>2]=n[Ve>>2],n[q>>2]=n[Le>>2],Z1(oe,k,q),A=n[Te>>2]|0,n[Te>>2]=n[oe>>2],n[oe>>2]=A,A=oe+4|0,Ze=n[M>>2]|0,n[M>>2]=n[A>>2],n[A>>2]=Ze,A=oe+8|0,Ze=n[L>>2]|0,n[L>>2]=n[A>>2],n[A>>2]=Ze,A=oe+12|0,Ze=n[m>>2]|0,n[m>>2]=n[A>>2],n[A>>2]=Ze,Fy(oe),A=n[L>>2]|0;break}m=A,B=((m-d>>2)+1|0)/-2|0,k=A+(B<<2)|0,d=R-m|0,m=d>>2,m&&(B2(k|0,A|0,d|0)|0,A=n[M>>2]|0),Ze=k+(m<<2)|0,n[L>>2]=Ze,n[M>>2]=A+(B<<2),A=Ze}while(!1);n[A>>2]=n[u>>2],n[L>>2]=(n[L>>2]|0)+4,l=hP(o,Te,l)|0,Fy(Te)}while(!1);return I=nt,l|0}function Oe(o){o=o|0;var l=0;do{if(l=o+984|0,s[l>>0]|0)break;s[l>>0]=1,h[o+504>>2]=y(ae),o=n[o+944>>2]|0}while(o|0)}function mt(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-4-A|0)>>>2)<<2)),It(u))}function Et(o){return o=o|0,n[o+944>>2]|0}function bt(o){o=o|0,Bi(o,(n[o+964>>2]|0)!=0,2832),Oe(o)}function tr(o){return o=o|0,(s[o+984>>0]|0)!=0|0}function pn(o,l){o=o|0,l=l|0,X8e(o,l,400)|0&&(Rr(o|0,l|0,400)|0,Oe(o))}function ci(o){o=o|0;var l=$e;return l=y(h[o+44>>2]),o=Ut(l)|0,y(o?y(0):l)}function qi(o){o=o|0;var l=$e;return l=y(h[o+48>>2]),Ut(l)|0&&(l=s[(n[o+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function Fn(o,l){o=o|0,l=l|0,n[o+980>>2]=l}function Xa(o){return o=o|0,n[o+980>>2]|0}function Iy(o,l){o=o|0,l=l|0;var u=0;u=o+4|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function q1(o){return o=o|0,n[o+4>>2]|0}function ko(o,l){o=o|0,l=l|0;var u=0;u=o+8|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Cy(o){return o=o|0,n[o+8>>2]|0}function yh(o,l){o=o|0,l=l|0;var u=0;u=o+12|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function W1(o){return o=o|0,n[o+12>>2]|0}function Qo(o,l){o=o|0,l=l|0;var u=0;u=o+16|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Eh(o){return o=o|0,n[o+16>>2]|0}function Ih(o,l){o=o|0,l=l|0;var u=0;u=o+20|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function pu(o){return o=o|0,n[o+20>>2]|0}function Ch(o,l){o=o|0,l=l|0;var u=0;u=o+24|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Rg(o){return o=o|0,n[o+24>>2]|0}function Tg(o,l){o=o|0,l=l|0;var u=0;u=o+28|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Fg(o){return o=o|0,n[o+28>>2]|0}function wy(o,l){o=o|0,l=l|0;var u=0;u=o+32|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Ef(o){return o=o|0,n[o+32>>2]|0}function Ro(o,l){o=o|0,l=l|0;var u=0;u=o+36|0,(n[u>>2]|0)!=(l|0)&&(n[u>>2]=l,Oe(o))}function Rl(o){return o=o|0,n[o+36>>2]|0}function wh(o,l){o=o|0,l=y(l);var u=0;u=o+40|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function Ng(o,l){o=o|0,l=y(l);var u=0;u=o+44|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function Tl(o,l){o=o|0,l=y(l);var u=0;u=o+48|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function Fl(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+52|0,d=o+56|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function By(o,l){o=o|0,l=y(l);var u=0,A=0;A=o+52|0,u=o+56|0,y(h[A>>2])==l&&(n[u>>2]|0)==2||(h[A>>2]=l,A=Ut(l)|0,n[u>>2]=A?3:2,Oe(o))}function HA(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+52|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function vy(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=(m^1)&1,d=o+132+(l<<3)|0,l=o+132+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function Sy(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=m?0:2,d=o+132+(l<<3)|0,l=o+132+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function jA(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=l+132+(u<<3)|0,l=n[A+4>>2]|0,u=o,n[u>>2]=n[A>>2],n[u+4>>2]=l}function GA(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=(m^1)&1,d=o+60+(l<<3)|0,l=o+60+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function W(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=m?0:2,d=o+60+(l<<3)|0,l=o+60+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function xt(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=l+60+(u<<3)|0,l=n[A+4>>2]|0,u=o,n[u>>2]=n[A>>2],n[u+4>>2]=l}function qA(o,l){o=o|0,l=l|0;var u=0;u=o+60+(l<<3)+4|0,(n[u>>2]|0)!=3&&(h[o+60+(l<<3)>>2]=y(ae),n[u>>2]=3,Oe(o))}function To(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=(m^1)&1,d=o+204+(l<<3)|0,l=o+204+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function If(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=m?0:2,d=o+204+(l<<3)|0,l=o+204+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function yt(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=l+204+(u<<3)|0,l=n[A+4>>2]|0,u=o,n[u>>2]=n[A>>2],n[u+4>>2]=l}function hu(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0,m=0;m=Ut(u)|0,A=(m^1)&1,d=o+276+(l<<3)|0,l=o+276+(l<<3)+4|0,m|y(h[d>>2])==u&&(n[l>>2]|0)==(A|0)||(h[d>>2]=u,n[l>>2]=A,Oe(o))}function Dy(o,l){return o=o|0,l=l|0,y(h[o+276+(l<<3)>>2])}function Og(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+348|0,d=o+352|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Y1(o,l){o=o|0,l=y(l);var u=0,A=0;A=o+348|0,u=o+352|0,y(h[A>>2])==l&&(n[u>>2]|0)==2||(h[A>>2]=l,A=Ut(l)|0,n[u>>2]=A?3:2,Oe(o))}function Bh(o){o=o|0;var l=0;l=o+352|0,(n[l>>2]|0)!=3&&(h[o+348>>2]=y(ae),n[l>>2]=3,Oe(o))}function ur(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+348|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function zi(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+356|0,d=o+360|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Cf(o,l){o=o|0,l=y(l);var u=0,A=0;A=o+356|0,u=o+360|0,y(h[A>>2])==l&&(n[u>>2]|0)==2||(h[A>>2]=l,A=Ut(l)|0,n[u>>2]=A?3:2,Oe(o))}function Za(o){o=o|0;var l=0;l=o+360|0,(n[l>>2]|0)!=3&&(h[o+356>>2]=y(ae),n[l>>2]=3,Oe(o))}function Lg(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+356|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function gu(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+364|0,d=o+368|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function wf(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=m?0:2,A=o+364|0,d=o+368|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function wt(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+364|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function mi(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+372|0,d=o+376|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function WA(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=m?0:2,A=o+372|0,d=o+376|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function $a(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+372|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function ma(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+380|0,d=o+384|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function el(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=m?0:2,A=o+380|0,d=o+384|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Mg(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+380|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function vh(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=(m^1)&1,A=o+388|0,d=o+392|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function Ug(o,l){o=o|0,l=y(l);var u=0,A=0,d=0,m=0;m=Ut(l)|0,u=m?0:2,A=o+388|0,d=o+392|0,m|y(h[A>>2])==l&&(n[d>>2]|0)==(u|0)||(h[A>>2]=l,n[d>>2]=u,Oe(o))}function by(o,l){o=o|0,l=l|0;var u=0,A=0;A=l+388|0,u=n[A+4>>2]|0,l=o,n[l>>2]=n[A>>2],n[l+4>>2]=u}function YA(o,l){o=o|0,l=y(l);var u=0;u=o+396|0,y(h[u>>2])!=l&&(h[u>>2]=l,Oe(o))}function _g(o){return o=o|0,y(h[o+396>>2])}function du(o){return o=o|0,y(h[o+400>>2])}function mu(o){return o=o|0,y(h[o+404>>2])}function Bf(o){return o=o|0,y(h[o+408>>2])}function Os(o){return o=o|0,y(h[o+412>>2])}function yu(o){return o=o|0,y(h[o+416>>2])}function qn(o){return o=o|0,y(h[o+420>>2])}function ss(o,l){switch(o=o|0,l=l|0,Bi(o,(l|0)<6,2918),l|0){case 0:{l=(n[o+496>>2]|0)==2?5:4;break}case 2:{l=(n[o+496>>2]|0)==2?4:5;break}default:}return y(h[o+424+(l<<2)>>2])}function xi(o,l){switch(o=o|0,l=l|0,Bi(o,(l|0)<6,2918),l|0){case 0:{l=(n[o+496>>2]|0)==2?5:4;break}case 2:{l=(n[o+496>>2]|0)==2?4:5;break}default:}return y(h[o+448+(l<<2)>>2])}function VA(o,l){switch(o=o|0,l=l|0,Bi(o,(l|0)<6,2918),l|0){case 0:{l=(n[o+496>>2]|0)==2?5:4;break}case 2:{l=(n[o+496>>2]|0)==2?4:5;break}default:}return y(h[o+472+(l<<2)>>2])}function vf(o,l){o=o|0,l=l|0;var u=0,A=$e;return u=n[o+4>>2]|0,(u|0)==(n[l+4>>2]|0)?u?(A=y(h[o>>2]),o=y(ce(y(A-y(h[l>>2]))))>2]=0,n[A+4>>2]=0,n[A+8>>2]=0,Ue(A|0,o|0,l|0,0),No(o,3,(s[A+11>>0]|0)<0?n[A>>2]|0:A,u),IHe(A),I=u}function os(o,l,u,A){o=y(o),l=y(l),u=u|0,A=A|0;var d=$e;o=y(o*l),d=y(KM(o,y(1)));do if(yn(d,y(0))|0)o=y(o-d);else{if(o=y(o-d),yn(d,y(1))|0){o=y(o+y(1));break}if(u){o=y(o+y(1));break}A||(d>y(.5)?d=y(1):(A=yn(d,y(.5))|0,d=y(A?1:0)),o=y(o+d))}while(!1);return y(o/l)}function Nl(o,l,u,A,d,m,B,k,R,M,L,q,oe){o=o|0,l=y(l),u=u|0,A=y(A),d=d|0,m=y(m),B=B|0,k=y(k),R=y(R),M=y(M),L=y(L),q=y(q),oe=oe|0;var Ve=0,Le=$e,Te=$e,nt=$e,Ze=$e,ft=$e,He=$e;return R>2]),Le!=y(0))?(nt=y(os(l,Le,0,0)),Ze=y(os(A,Le,0,0)),Te=y(os(m,Le,0,0)),Le=y(os(k,Le,0,0))):(Te=m,nt=l,Le=k,Ze=A),(d|0)==(o|0)?Ve=yn(Te,nt)|0:Ve=0,(B|0)==(u|0)?oe=yn(Le,Ze)|0:oe=0,!Ve&&(ft=y(l-L),!(Fo(o,ft,R)|0))&&!(Sf(o,ft,d,R)|0)?Ve=Df(o,ft,d,m,R)|0:Ve=1,!oe&&(He=y(A-q),!(Fo(u,He,M)|0))&&!(Sf(u,He,B,M)|0)?oe=Df(u,He,B,k,M)|0:oe=1,oe=Ve&oe),oe|0}function Fo(o,l,u){return o=o|0,l=y(l),u=y(u),(o|0)==1?o=yn(l,u)|0:o=0,o|0}function Sf(o,l,u,A){return o=o|0,l=y(l),u=u|0,A=y(A),(o|0)==2&(u|0)==0?l>=A?o=1:o=yn(l,A)|0:o=0,o|0}function Df(o,l,u,A,d){return o=o|0,l=y(l),u=u|0,A=y(A),d=y(d),(o|0)==2&(u|0)==2&A>l?d<=l?o=1:o=yn(l,d)|0:o=0,o|0}function Ol(o,l,u,A,d,m,B,k,R,M,L){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=m|0,B=y(B),k=y(k),R=R|0,M=M|0,L=L|0;var q=0,oe=0,Ve=0,Le=0,Te=$e,nt=$e,Ze=0,ft=0,He=0,Ye=0,Mt=0,Gr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,jn=$e,Mo=$e,Uo=$e,_o=0,ol=0;cr=I,I=I+160|0,$t=cr+152|0,fr=cr+120|0,Gr=cr+104|0,He=cr+72|0,Le=cr+56|0,Mt=cr+8|0,ft=cr,Ye=(n[2279]|0)+1|0,n[2279]=Ye,Tr=o+984|0,s[Tr>>0]|0&&(n[o+512>>2]|0)!=(n[2278]|0)?Ze=4:(n[o+516>>2]|0)==(A|0)?Hr=0:Ze=4,(Ze|0)==4&&(n[o+520>>2]=0,n[o+924>>2]=-1,n[o+928>>2]=-1,h[o+932>>2]=y(-1),h[o+936>>2]=y(-1),Hr=1);e:do if(n[o+964>>2]|0)if(Te=y(En(o,2,B)),nt=y(En(o,0,B)),q=o+916|0,Uo=y(h[q>>2]),Mo=y(h[o+920>>2]),jn=y(h[o+932>>2]),Nl(d,l,m,u,n[o+924>>2]|0,Uo,n[o+928>>2]|0,Mo,jn,y(h[o+936>>2]),Te,nt,L)|0)Ze=22;else if(Ve=n[o+520>>2]|0,!Ve)Ze=21;else for(oe=0;;){if(q=o+524+(oe*24|0)|0,jn=y(h[q>>2]),Mo=y(h[o+524+(oe*24|0)+4>>2]),Uo=y(h[o+524+(oe*24|0)+16>>2]),Nl(d,l,m,u,n[o+524+(oe*24|0)+8>>2]|0,jn,n[o+524+(oe*24|0)+12>>2]|0,Mo,Uo,y(h[o+524+(oe*24|0)+20>>2]),Te,nt,L)|0){Ze=22;break e}if(oe=oe+1|0,oe>>>0>=Ve>>>0){Ze=21;break}}else{if(R){if(q=o+916|0,!(yn(y(h[q>>2]),l)|0)){Ze=21;break}if(!(yn(y(h[o+920>>2]),u)|0)){Ze=21;break}if((n[o+924>>2]|0)!=(d|0)){Ze=21;break}q=(n[o+928>>2]|0)==(m|0)?q:0,Ze=22;break}if(Ve=n[o+520>>2]|0,!Ve)Ze=21;else for(oe=0;;){if(q=o+524+(oe*24|0)|0,yn(y(h[q>>2]),l)|0&&yn(y(h[o+524+(oe*24|0)+4>>2]),u)|0&&(n[o+524+(oe*24|0)+8>>2]|0)==(d|0)&&(n[o+524+(oe*24|0)+12>>2]|0)==(m|0)){Ze=22;break e}if(oe=oe+1|0,oe>>>0>=Ve>>>0){Ze=21;break}}}while(!1);do if((Ze|0)==21)s[11697]|0?(q=0,Ze=28):(q=0,Ze=31);else if((Ze|0)==22){if(oe=(s[11697]|0)!=0,!((q|0)!=0&(Hr^1)))if(oe){Ze=28;break}else{Ze=31;break}Le=q+16|0,n[o+908>>2]=n[Le>>2],Ve=q+20|0,n[o+912>>2]=n[Ve>>2],(s[11698]|0)==0|oe^1||(n[ft>>2]=Eu(Ye)|0,n[ft+4>>2]=Ye,No(o,4,2972,ft),oe=n[o+972>>2]|0,oe|0&&op[oe&127](o),d=ya(d,R)|0,m=ya(m,R)|0,ol=+y(h[Le>>2]),_o=+y(h[Ve>>2]),n[Mt>>2]=d,n[Mt+4>>2]=m,E[Mt+8>>3]=+l,E[Mt+16>>3]=+u,E[Mt+24>>3]=ol,E[Mt+32>>3]=_o,n[Mt+40>>2]=M,No(o,4,2989,Mt))}while(!1);return(Ze|0)==28&&(oe=Eu(Ye)|0,n[Le>>2]=oe,n[Le+4>>2]=Ye,n[Le+8>>2]=Hr?3047:11699,No(o,4,3038,Le),oe=n[o+972>>2]|0,oe|0&&op[oe&127](o),Mt=ya(d,R)|0,Ze=ya(m,R)|0,n[He>>2]=Mt,n[He+4>>2]=Ze,E[He+8>>3]=+l,E[He+16>>3]=+u,n[He+24>>2]=M,No(o,4,3049,He),Ze=31),(Ze|0)==31&&(Ls(o,l,u,A,d,m,B,k,R,L),s[11697]|0&&(oe=n[2279]|0,Mt=Eu(oe)|0,n[Gr>>2]=Mt,n[Gr+4>>2]=oe,n[Gr+8>>2]=Hr?3047:11699,No(o,4,3083,Gr),oe=n[o+972>>2]|0,oe|0&&op[oe&127](o),Mt=ya(d,R)|0,Gr=ya(m,R)|0,_o=+y(h[o+908>>2]),ol=+y(h[o+912>>2]),n[fr>>2]=Mt,n[fr+4>>2]=Gr,E[fr+8>>3]=_o,E[fr+16>>3]=ol,n[fr+24>>2]=M,No(o,4,3092,fr)),n[o+516>>2]=A,q||(oe=o+520|0,q=n[oe>>2]|0,(q|0)==16&&(s[11697]|0&&No(o,4,3124,$t),n[oe>>2]=0,q=0),R?q=o+916|0:(n[oe>>2]=q+1,q=o+524+(q*24|0)|0),h[q>>2]=l,h[q+4>>2]=u,n[q+8>>2]=d,n[q+12>>2]=m,n[q+16>>2]=n[o+908>>2],n[q+20>>2]=n[o+912>>2],q=0)),R&&(n[o+416>>2]=n[o+908>>2],n[o+420>>2]=n[o+912>>2],s[o+985>>0]=1,s[Tr>>0]=0),n[2279]=(n[2279]|0)+-1,n[o+512>>2]=n[2278],I=cr,Hr|(q|0)==0|0}function En(o,l,u){o=o|0,l=l|0,u=y(u);var A=$e;return A=y(K(o,l,u)),y(A+y(re(o,l,u)))}function No(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=I,I=I+16|0,d=m,n[d>>2]=A,o?A=n[o+976>>2]|0:A=0,bh(A,o,l,u,d),I=m}function Eu(o){return o=o|0,(o>>>0>60?3201:3201+(60-o)|0)|0}function ya(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;return d=I,I=I+32|0,u=d+12|0,A=d,n[u>>2]=n[254],n[u+4>>2]=n[255],n[u+8>>2]=n[256],n[A>>2]=n[257],n[A+4>>2]=n[258],n[A+8>>2]=n[259],(o|0)>2?o=11699:o=n[(l?A:u)+(o<<2)>>2]|0,I=d,o|0}function Ls(o,l,u,A,d,m,B,k,R,M){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=m|0,B=y(B),k=y(k),R=R|0,M=M|0;var L=0,q=0,oe=0,Ve=0,Le=$e,Te=$e,nt=$e,Ze=$e,ft=$e,He=$e,Ye=$e,Mt=0,Gr=0,fr=0,$t=$e,Tr=$e,Hr=0,cr=$e,jn=0,Mo=0,Uo=0,_o=0,ol=0,qh=0,Wh=0,mc=0,Yh=0,Of=0,Lf=0,Vh=0,Jh=0,Kh=0,ln=0,yc=0,zh=0,bu=0,Xh=$e,Zh=$e,Mf=$e,Uf=$e,Pu=$e,Ao=0,ql=0,wa=0,Ec=0,lp=0,cp=$e,_f=$e,up=$e,fp=$e,po=$e,Hs=$e,Ic=0,Yn=$e,Ap=$e,Ho=$e,xu=$e,jo=$e,ku=$e,pp=0,hp=0,Qu=$e,ho=$e,Cc=0,gp=0,dp=0,mp=0,Nr=$e,fi=0,js=0,Go=0,go=0,Mr=0,Ar=0,wc=0,zt=$e,yp=0,vi=0;wc=I,I=I+16|0,Ao=wc+12|0,ql=wc+8|0,wa=wc+4|0,Ec=wc,Bi(o,(d|0)==0|(Ut(l)|0)^1,3326),Bi(o,(m|0)==0|(Ut(u)|0)^1,3406),js=pt(o,A)|0,n[o+496>>2]=js,Mr=dr(2,js)|0,Ar=dr(0,js)|0,h[o+440>>2]=y(K(o,Mr,B)),h[o+444>>2]=y(re(o,Mr,B)),h[o+428>>2]=y(K(o,Ar,B)),h[o+436>>2]=y(re(o,Ar,B)),h[o+464>>2]=y(vr(o,Mr)),h[o+468>>2]=y(_n(o,Mr)),h[o+452>>2]=y(vr(o,Ar)),h[o+460>>2]=y(_n(o,Ar)),h[o+488>>2]=y(yi(o,Mr,B)),h[o+492>>2]=y(vs(o,Mr,B)),h[o+476>>2]=y(yi(o,Ar,B)),h[o+484>>2]=y(vs(o,Ar,B));do if(n[o+964>>2]|0)zA(o,l,u,d,m,B,k);else{if(Go=o+948|0,go=(n[o+952>>2]|0)-(n[Go>>2]|0)>>2,!go){lP(o,l,u,d,m,B,k);break}if(!R&&V1(o,l,u,d,m,B,k)|0)break;ee(o),yc=o+508|0,s[yc>>0]=0,Mr=dr(n[o+4>>2]|0,js)|0,Ar=ky(Mr,js)|0,fi=ge(Mr)|0,zh=n[o+8>>2]|0,gp=o+28|0,bu=(n[gp>>2]|0)!=0,jo=fi?B:k,Qu=fi?k:B,Xh=y(xh(o,Mr,B)),Zh=y(J1(o,Mr,B)),Le=y(xh(o,Ar,B)),ku=y(tl(o,Mr,B)),ho=y(tl(o,Ar,B)),fr=fi?d:m,Cc=fi?m:d,Nr=fi?ku:ho,ft=fi?ho:ku,xu=y(En(o,2,B)),Ze=y(En(o,0,B)),Te=y(y(Zr(o+364|0,B))-Nr),nt=y(y(Zr(o+380|0,B))-Nr),He=y(y(Zr(o+372|0,k))-ft),Ye=y(y(Zr(o+388|0,k))-ft),Mf=fi?Te:He,Uf=fi?nt:Ye,xu=y(l-xu),l=y(xu-Nr),Ut(l)|0?Nr=l:Nr=y(ri(y(fd(l,nt)),Te)),Ap=y(u-Ze),l=y(Ap-ft),Ut(l)|0?Ho=l:Ho=y(ri(y(fd(l,Ye)),He)),Te=fi?Nr:Ho,Yn=fi?Ho:Nr;e:do if((fr|0)==1)for(A=0,q=0;;){if(L=Bs(o,q)|0,!A)y(XA(L))>y(0)&&y(kh(L))>y(0)?A=L:A=0;else if(K1(L)|0){Ve=0;break e}if(q=q+1|0,q>>>0>=go>>>0){Ve=A;break}}else Ve=0;while(!1);Mt=Ve+500|0,Gr=Ve+504|0,A=0,L=0,l=y(0),oe=0;do{if(q=n[(n[Go>>2]|0)+(oe<<2)>>2]|0,(n[q+36>>2]|0)==1)Qy(q),s[q+985>>0]=1,s[q+984>>0]=0;else{bf(q),R&&Dh(q,pt(q,js)|0,Te,Yn,Nr);do if((n[q+24>>2]|0)!=1)if((q|0)==(Ve|0)){n[Mt>>2]=n[2278],h[Gr>>2]=y(0);break}else{cP(o,q,Nr,d,Ho,Nr,Ho,m,js,M);break}else L|0&&(n[L+960>>2]=q),n[q+960>>2]=0,L=q,A=A|0?A:q;while(!1);Hs=y(h[q+504>>2]),l=y(l+y(Hs+y(En(q,Mr,Nr))))}oe=oe+1|0}while((oe|0)!=(go|0));for(Uo=l>Te,Ic=bu&((fr|0)==2&Uo)?1:fr,jn=(Cc|0)==1,ol=jn&(R^1),qh=(Ic|0)==1,Wh=(Ic|0)==2,mc=976+(Mr<<2)|0,Yh=(Cc|2|0)==2,Kh=jn&(bu^1),Of=1040+(Ar<<2)|0,Lf=1040+(Mr<<2)|0,Vh=976+(Ar<<2)|0,Jh=(Cc|0)!=1,Uo=bu&((fr|0)!=0&Uo),Mo=o+976|0,jn=jn^1,l=Te,Hr=0,_o=0,Hs=y(0),Pu=y(0);;){e:do if(Hr>>>0>>0)for(Gr=n[Go>>2]|0,oe=0,Ye=y(0),He=y(0),nt=y(0),Te=y(0),q=0,L=0,Ve=Hr;;){if(Mt=n[Gr+(Ve<<2)>>2]|0,(n[Mt+36>>2]|0)!=1&&(n[Mt+940>>2]=_o,(n[Mt+24>>2]|0)!=1)){if(Ze=y(En(Mt,Mr,Nr)),ln=n[mc>>2]|0,u=y(Zr(Mt+380+(ln<<3)|0,jo)),ft=y(h[Mt+504>>2]),u=y(fd(u,ft)),u=y(ri(y(Zr(Mt+364+(ln<<3)|0,jo)),u)),bu&(oe|0)!=0&y(Ze+y(He+u))>l){m=oe,Ze=Ye,fr=Ve;break e}Ze=y(Ze+u),u=y(He+Ze),Ze=y(Ye+Ze),K1(Mt)|0&&(nt=y(nt+y(XA(Mt))),Te=y(Te-y(ft*y(kh(Mt))))),L|0&&(n[L+960>>2]=Mt),n[Mt+960>>2]=0,oe=oe+1|0,L=Mt,q=q|0?q:Mt}else Ze=Ye,u=He;if(Ve=Ve+1|0,Ve>>>0>>0)Ye=Ze,He=u;else{m=oe,fr=Ve;break}}else m=0,Ze=y(0),nt=y(0),Te=y(0),q=0,fr=Hr;while(!1);ln=nt>y(0)&nty(0)&TeUf&((Ut(Uf)|0)^1))l=Uf,ln=51;else if(s[(n[Mo>>2]|0)+3>>0]|0)ln=51;else{if($t!=y(0)&&y(XA(o))!=y(0)){ln=53;break}l=Ze,ln=53}while(!1);if((ln|0)==51&&(ln=0,Ut(l)|0?ln=53:(Tr=y(l-Ze),cr=l)),(ln|0)==53&&(ln=0,Ze>2]|0,Ve=Try(0),He=y(Tr/$t),nt=y(0),Ze=y(0),l=y(0),L=q;do u=y(Zr(L+380+(oe<<3)|0,jo)),Te=y(Zr(L+364+(oe<<3)|0,jo)),Te=y(fd(u,y(ri(Te,y(h[L+504>>2]))))),Ve?(u=y(Te*y(kh(L))),u!=y(-0)&&(zt=y(Te-y(ft*u)),cp=y(Wn(L,Mr,zt,cr,Nr)),zt!=cp)&&(nt=y(nt-y(cp-Te)),l=y(l+u))):Mt&&(_f=y(XA(L)),_f!=y(0))&&(zt=y(Te+y(He*_f)),up=y(Wn(L,Mr,zt,cr,Nr)),zt!=up)&&(nt=y(nt-y(up-Te)),Ze=y(Ze-_f)),L=n[L+960>>2]|0;while(L|0);if(l=y(Ye+l),Te=y(Tr+nt),lp)l=y(0);else{ft=y($t+Ze),Ve=n[mc>>2]|0,Mt=Tey(0),ft=y(Te/ft),l=y(0);do{zt=y(Zr(q+380+(Ve<<3)|0,jo)),nt=y(Zr(q+364+(Ve<<3)|0,jo)),nt=y(fd(zt,y(ri(nt,y(h[q+504>>2]))))),Mt?(zt=y(nt*y(kh(q))),Te=y(-zt),zt!=y(-0)?(zt=y(He*Te),Te=y(Wn(q,Mr,y(nt+(Gr?Te:zt)),cr,Nr))):Te=nt):oe&&(fp=y(XA(q)),fp!=y(0))?Te=y(Wn(q,Mr,y(nt+y(ft*fp)),cr,Nr)):Te=nt,l=y(l-y(Te-nt)),Ze=y(En(q,Mr,Nr)),u=y(En(q,Ar,Nr)),Te=y(Te+Ze),h[ql>>2]=Te,n[Ec>>2]=1,nt=y(h[q+396>>2]);e:do if(Ut(nt)|0){L=Ut(Yn)|0;do if(!L){if(Uo|(uo(q,Ar,Yn)|0|jn)||(as(o,q)|0)!=4||(n[(Ll(q,Ar)|0)+4>>2]|0)==3||(n[(Ml(q,Ar)|0)+4>>2]|0)==3)break;h[Ao>>2]=Yn,n[wa>>2]=1;break e}while(!1);if(uo(q,Ar,Yn)|0){L=n[q+992+(n[Vh>>2]<<2)>>2]|0,zt=y(u+y(Zr(L,Yn))),h[Ao>>2]=zt,L=Jh&(n[L+4>>2]|0)==2,n[wa>>2]=((Ut(zt)|0|L)^1)&1;break}else{h[Ao>>2]=Yn,n[wa>>2]=L?0:2;break}}else zt=y(Te-Ze),$t=y(zt/nt),zt=y(nt*zt),n[wa>>2]=1,h[Ao>>2]=y(u+(fi?$t:zt));while(!1);Iu(q,Mr,cr,Nr,Ec,ql),Iu(q,Ar,Yn,Nr,wa,Ao);do if(!(uo(q,Ar,Yn)|0)&&(as(o,q)|0)==4){if((n[(Ll(q,Ar)|0)+4>>2]|0)==3){L=0;break}L=(n[(Ml(q,Ar)|0)+4>>2]|0)!=3}else L=0;while(!1);zt=y(h[ql>>2]),$t=y(h[Ao>>2]),yp=n[Ec>>2]|0,vi=n[wa>>2]|0,Ol(q,fi?zt:$t,fi?$t:zt,js,fi?yp:vi,fi?vi:yp,Nr,Ho,R&(L^1),3488,M)|0,s[yc>>0]=s[yc>>0]|s[q+508>>0],q=n[q+960>>2]|0}while(q|0)}}else l=y(0);if(l=y(Tr+l),vi=l>0]=vi|c[yc>>0],Wh&l>y(0)?(L=n[mc>>2]|0,n[o+364+(L<<3)+4>>2]|0&&(po=y(Zr(o+364+(L<<3)|0,jo)),po>=y(0))?Te=y(ri(y(0),y(po-y(cr-l)))):Te=y(0)):Te=l,Mt=Hr>>>0>>0,Mt){Ve=n[Go>>2]|0,oe=Hr,L=0;do q=n[Ve+(oe<<2)>>2]|0,n[q+24>>2]|0||(L=((n[(Ll(q,Mr)|0)+4>>2]|0)==3&1)+L|0,L=L+((n[(Ml(q,Mr)|0)+4>>2]|0)==3&1)|0),oe=oe+1|0;while((oe|0)!=(fr|0));L?(Ze=y(0),u=y(0)):ln=101}else ln=101;e:do if((ln|0)==101)switch(ln=0,zh|0){case 1:{L=0,Ze=y(Te*y(.5)),u=y(0);break e}case 2:{L=0,Ze=Te,u=y(0);break e}case 3:{if(m>>>0<=1){L=0,Ze=y(0),u=y(0);break e}u=y((m+-1|0)>>>0),L=0,Ze=y(0),u=y(y(ri(Te,y(0)))/u);break e}case 5:{u=y(Te/y((m+1|0)>>>0)),L=0,Ze=u;break e}case 4:{u=y(Te/y(m>>>0)),L=0,Ze=y(u*y(.5));break e}default:{L=0,Ze=y(0),u=y(0);break e}}while(!1);if(l=y(Xh+Ze),Mt){nt=y(Te/y(L|0)),oe=n[Go>>2]|0,q=Hr,Te=y(0);do{L=n[oe+(q<<2)>>2]|0;e:do if((n[L+36>>2]|0)!=1){switch(n[L+24>>2]|0){case 1:{if(Ea(L,Mr)|0){if(!R)break e;zt=y(ZA(L,Mr,cr)),zt=y(zt+y(vr(o,Mr))),zt=y(zt+y(K(L,Mr,Nr))),h[L+400+(n[Lf>>2]<<2)>>2]=zt;break e}break}case 0:if(vi=(n[(Ll(L,Mr)|0)+4>>2]|0)==3,zt=y(nt+l),l=vi?zt:l,R&&(vi=L+400+(n[Lf>>2]<<2)|0,h[vi>>2]=y(l+y(h[vi>>2]))),vi=(n[(Ml(L,Mr)|0)+4>>2]|0)==3,zt=y(nt+l),l=vi?zt:l,ol){zt=y(u+y(En(L,Mr,Nr))),Te=Yn,l=y(l+y(zt+y(h[L+504>>2])));break e}else{l=y(l+y(u+y($A(L,Mr,Nr)))),Te=y(ri(Te,y($A(L,Ar,Nr))));break e}default:}R&&(zt=y(Ze+y(vr(o,Mr))),vi=L+400+(n[Lf>>2]<<2)|0,h[vi>>2]=y(zt+y(h[vi>>2])))}while(!1);q=q+1|0}while((q|0)!=(fr|0))}else Te=y(0);if(u=y(Zh+l),Yh?Ze=y(y(Wn(o,Ar,y(ho+Te),Qu,B))-ho):Ze=Yn,nt=y(y(Wn(o,Ar,y(ho+(Kh?Yn:Te)),Qu,B))-ho),Mt&R){q=Hr;do{oe=n[(n[Go>>2]|0)+(q<<2)>>2]|0;do if((n[oe+36>>2]|0)!=1){if((n[oe+24>>2]|0)==1){if(Ea(oe,Ar)|0){if(zt=y(ZA(oe,Ar,Yn)),zt=y(zt+y(vr(o,Ar))),zt=y(zt+y(K(oe,Ar,Nr))),L=n[Of>>2]|0,h[oe+400+(L<<2)>>2]=zt,!(Ut(zt)|0))break}else L=n[Of>>2]|0;zt=y(vr(o,Ar)),h[oe+400+(L<<2)>>2]=y(zt+y(K(oe,Ar,Nr)));break}L=as(o,oe)|0;do if((L|0)==4){if((n[(Ll(oe,Ar)|0)+4>>2]|0)==3){ln=139;break}if((n[(Ml(oe,Ar)|0)+4>>2]|0)==3){ln=139;break}if(uo(oe,Ar,Yn)|0){l=Le;break}yp=n[oe+908+(n[mc>>2]<<2)>>2]|0,n[Ao>>2]=yp,l=y(h[oe+396>>2]),vi=Ut(l)|0,Te=(n[S>>2]=yp,y(h[S>>2])),vi?l=nt:(Tr=y(En(oe,Ar,Nr)),zt=y(Te/l),l=y(l*Te),l=y(Tr+(fi?zt:l))),h[ql>>2]=l,h[Ao>>2]=y(y(En(oe,Mr,Nr))+Te),n[wa>>2]=1,n[Ec>>2]=1,Iu(oe,Mr,cr,Nr,wa,Ao),Iu(oe,Ar,Yn,Nr,Ec,ql),l=y(h[Ao>>2]),Tr=y(h[ql>>2]),zt=fi?l:Tr,l=fi?Tr:l,vi=((Ut(zt)|0)^1)&1,Ol(oe,zt,l,js,vi,((Ut(l)|0)^1)&1,Nr,Ho,1,3493,M)|0,l=Le}else ln=139;while(!1);e:do if((ln|0)==139){ln=0,l=y(Ze-y($A(oe,Ar,Nr)));do if((n[(Ll(oe,Ar)|0)+4>>2]|0)==3){if((n[(Ml(oe,Ar)|0)+4>>2]|0)!=3)break;l=y(Le+y(ri(y(0),y(l*y(.5)))));break e}while(!1);if((n[(Ml(oe,Ar)|0)+4>>2]|0)==3){l=Le;break}if((n[(Ll(oe,Ar)|0)+4>>2]|0)==3){l=y(Le+y(ri(y(0),l)));break}switch(L|0){case 1:{l=Le;break e}case 2:{l=y(Le+y(l*y(.5)));break e}default:{l=y(Le+l);break e}}}while(!1);zt=y(Hs+l),vi=oe+400+(n[Of>>2]<<2)|0,h[vi>>2]=y(zt+y(h[vi>>2]))}while(!1);q=q+1|0}while((q|0)!=(fr|0))}if(Hs=y(Hs+nt),Pu=y(ri(Pu,u)),m=_o+1|0,fr>>>0>=go>>>0)break;l=cr,Hr=fr,_o=m}do if(R){if(L=m>>>0>1,!L&&!(bL(o)|0))break;if(!(Ut(Yn)|0)){l=y(Yn-Hs);e:do switch(n[o+12>>2]|0){case 3:{Le=y(Le+l),He=y(0);break}case 2:{Le=y(Le+y(l*y(.5))),He=y(0);break}case 4:{Yn>Hs?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Yn>Hs){Le=y(Le+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=L?He:y(0);break e}else{Le=y(Le+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(_o>>>0)),He=Yn>Hs&L?He:y(0);break}default:He=y(0)}while(!1);if(m|0)for(Mt=1040+(Ar<<2)|0,Gr=976+(Ar<<2)|0,Ve=0,q=0;;){e:do if(q>>>0>>0)for(Te=y(0),nt=y(0),l=y(0),oe=q;;){L=n[(n[Go>>2]|0)+(oe<<2)>>2]|0;do if((n[L+36>>2]|0)!=1&&!(n[L+24>>2]|0)){if((n[L+940>>2]|0)!=(Ve|0))break e;if(PL(L,Ar)|0&&(zt=y(h[L+908+(n[Gr>>2]<<2)>>2]),l=y(ri(l,y(zt+y(En(L,Ar,Nr)))))),(as(o,L)|0)!=5)break;po=y(qg(L)),po=y(po+y(K(L,0,Nr))),zt=y(h[L+912>>2]),zt=y(y(zt+y(En(L,0,Nr)))-po),po=y(ri(nt,po)),zt=y(ri(Te,zt)),Te=zt,nt=po,l=y(ri(l,y(po+zt)))}while(!1);if(L=oe+1|0,L>>>0>>0)oe=L;else{oe=L;break}}else nt=y(0),l=y(0),oe=q;while(!1);if(ft=y(He+l),u=Le,Le=y(Le+ft),q>>>0>>0){Ze=y(u+nt),L=q;do{q=n[(n[Go>>2]|0)+(L<<2)>>2]|0;e:do if((n[q+36>>2]|0)!=1&&!(n[q+24>>2]|0))switch(as(o,q)|0){case 1:{zt=y(u+y(K(q,Ar,Nr))),h[q+400+(n[Mt>>2]<<2)>>2]=zt;break e}case 3:{zt=y(y(Le-y(re(q,Ar,Nr)))-y(h[q+908+(n[Gr>>2]<<2)>>2])),h[q+400+(n[Mt>>2]<<2)>>2]=zt;break e}case 2:{zt=y(u+y(y(ft-y(h[q+908+(n[Gr>>2]<<2)>>2]))*y(.5))),h[q+400+(n[Mt>>2]<<2)>>2]=zt;break e}case 4:{if(zt=y(u+y(K(q,Ar,Nr))),h[q+400+(n[Mt>>2]<<2)>>2]=zt,uo(q,Ar,Yn)|0||(fi?(Te=y(h[q+908>>2]),l=y(Te+y(En(q,Mr,Nr))),nt=ft):(nt=y(h[q+912>>2]),nt=y(nt+y(En(q,Ar,Nr))),l=ft,Te=y(h[q+908>>2])),yn(l,Te)|0&&yn(nt,y(h[q+912>>2]))|0))break e;Ol(q,l,nt,js,1,1,Nr,Ho,1,3501,M)|0;break e}case 5:{h[q+404>>2]=y(y(Ze-y(qg(q)))+y(ZA(q,0,Yn)));break e}default:break e}while(!1);L=L+1|0}while((L|0)!=(oe|0))}if(Ve=Ve+1|0,(Ve|0)==(m|0))break;q=oe}}}while(!1);if(h[o+908>>2]=y(Wn(o,2,xu,B,B)),h[o+912>>2]=y(Wn(o,0,Ap,k,B)),Ic|0&&(pp=n[o+32>>2]|0,hp=(Ic|0)==2,!(hp&(pp|0)!=2))?hp&(pp|0)==2&&(l=y(ku+cr),l=y(ri(y(fd(l,y(Wg(o,Mr,Pu,jo)))),ku)),ln=198):(l=y(Wn(o,Mr,Pu,jo,B)),ln=198),(ln|0)==198&&(h[o+908+(n[976+(Mr<<2)>>2]<<2)>>2]=l),Cc|0&&(dp=n[o+32>>2]|0,mp=(Cc|0)==2,!(mp&(dp|0)!=2))?mp&(dp|0)==2&&(l=y(ho+Yn),l=y(ri(y(fd(l,y(Wg(o,Ar,y(ho+Hs),Qu)))),ho)),ln=204):(l=y(Wn(o,Ar,y(ho+Hs),Qu,B)),ln=204),(ln|0)==204&&(h[o+908+(n[976+(Ar<<2)>>2]<<2)>>2]=l),R){if((n[gp>>2]|0)==2){q=976+(Ar<<2)|0,oe=1040+(Ar<<2)|0,L=0;do Ve=Bs(o,L)|0,n[Ve+24>>2]|0||(yp=n[q>>2]|0,zt=y(h[o+908+(yp<<2)>>2]),vi=Ve+400+(n[oe>>2]<<2)|0,zt=y(zt-y(h[vi>>2])),h[vi>>2]=y(zt-y(h[Ve+908+(yp<<2)>>2]))),L=L+1|0;while((L|0)!=(go|0))}if(A|0){L=fi?Ic:d;do xL(o,A,Nr,L,Ho,js,M),A=n[A+960>>2]|0;while(A|0)}if(L=(Mr|2|0)==3,q=(Ar|2|0)==3,L|q){A=0;do oe=n[(n[Go>>2]|0)+(A<<2)>>2]|0,(n[oe+36>>2]|0)!=1&&(L&&z1(o,oe,Mr),q&&z1(o,oe,Ar)),A=A+1|0;while((A|0)!=(go|0))}}}while(!1);I=wc}function Sh(o,l){o=o|0,l=y(l);var u=0;Ka(o,l>=y(0),3147),u=l==y(0),h[o+4>>2]=u?y(0):l}function JA(o,l,u,A){o=o|0,l=y(l),u=y(u),A=A|0;var d=$e,m=$e,B=0,k=0,R=0;n[2278]=(n[2278]|0)+1,bf(o),uo(o,2,l)|0?(d=y(Zr(n[o+992>>2]|0,l)),R=1,d=y(d+y(En(o,2,l)))):(d=y(Zr(o+380|0,l)),d>=y(0)?R=2:(R=((Ut(l)|0)^1)&1,d=l)),uo(o,0,u)|0?(m=y(Zr(n[o+996>>2]|0,u)),k=1,m=y(m+y(En(o,0,l)))):(m=y(Zr(o+388|0,u)),m>=y(0)?k=2:(k=((Ut(u)|0)^1)&1,m=u)),B=o+976|0,Ol(o,d,m,A,R,k,l,u,1,3189,n[B>>2]|0)|0&&(Dh(o,n[o+496>>2]|0,l,u,l),KA(o,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),s[11696]|0)&&Hg(o,7)}function bf(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;k=I,I=I+32|0,B=k+24|0,m=k+16|0,A=k+8|0,d=k,u=0;do l=o+380+(u<<3)|0,n[o+380+(u<<3)+4>>2]|0&&(R=l,M=n[R+4>>2]|0,L=A,n[L>>2]=n[R>>2],n[L+4>>2]=M,L=o+364+(u<<3)|0,M=n[L+4>>2]|0,R=d,n[R>>2]=n[L>>2],n[R+4>>2]=M,n[m>>2]=n[A>>2],n[m+4>>2]=n[A+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],vf(m,B)|0)||(l=o+348+(u<<3)|0),n[o+992+(u<<2)>>2]=l,u=u+1|0;while((u|0)!=2);I=k}function uo(o,l,u){o=o|0,l=l|0,u=y(u);var A=0;switch(o=n[o+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[o+4>>2]|0){case 0:case 3:{o=0;break}case 1:{y(h[o>>2])>2])>2]|0){case 2:{l=y(y(y(h[o>>2])*l)/y(100));break}case 1:{l=y(h[o>>2]);break}default:l=y(ae)}return y(l)}function Dh(o,l,u,A,d){o=o|0,l=l|0,u=y(u),A=y(A),d=y(d);var m=0,B=$e;l=n[o+944>>2]|0?l:1,m=dr(n[o+4>>2]|0,l)|0,l=ky(m,l)|0,u=y(uP(o,m,u)),A=y(uP(o,l,A)),B=y(u+y(K(o,m,d))),h[o+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,u=y(u+y(re(o,m,d))),h[o+400+(n[1e3+(m<<2)>>2]<<2)>>2]=u,u=y(A+y(K(o,l,d))),h[o+400+(n[1040+(l<<2)>>2]<<2)>>2]=u,d=y(A+y(re(o,l,d))),h[o+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function KA(o,l,u,A){o=o|0,l=y(l),u=y(u),A=y(A);var d=0,m=0,B=$e,k=$e,R=0,M=0,L=$e,q=0,oe=$e,Ve=$e,Le=$e,Te=$e;if(l!=y(0)&&(d=o+400|0,Te=y(h[d>>2]),m=o+404|0,Le=y(h[m>>2]),q=o+416|0,Ve=y(h[q>>2]),M=o+420|0,B=y(h[M>>2]),oe=y(Te+u),L=y(Le+A),A=y(oe+Ve),k=y(L+B),R=(n[o+988>>2]|0)==1,h[d>>2]=y(os(Te,l,0,R)),h[m>>2]=y(os(Le,l,0,R)),u=y(KM(y(Ve*l),y(1))),yn(u,y(0))|0?m=0:m=(yn(u,y(1))|0)^1,u=y(KM(y(B*l),y(1))),yn(u,y(0))|0?d=0:d=(yn(u,y(1))|0)^1,Te=y(os(A,l,R&m,R&(m^1))),h[q>>2]=y(Te-y(os(oe,l,0,R))),Te=y(os(k,l,R&d,R&(d^1))),h[M>>2]=y(Te-y(os(L,l,0,R))),m=(n[o+952>>2]|0)-(n[o+948>>2]|0)>>2,m|0)){d=0;do KA(Bs(o,d)|0,l,oe,L),d=d+1|0;while((d|0)!=(m|0))}}function Py(o,l,u,A,d){switch(o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,u|0){case 5:case 0:{o=jX(n[489]|0,A,d)|0;break}default:o=dHe(A,d)|0}return o|0}function Gg(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;d=I,I=I+16|0,m=d,n[m>>2]=A,bh(o,0,l,u,m),I=d}function bh(o,l,u,A,d){if(o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,o=o|0?o:956,cZ[n[o+8>>2]&1](o,l,u,A,d)|0,(u|0)==5)Nt();else return}function gc(o,l,u){o=o|0,l=l|0,u=u|0,s[o+l>>0]=u&1}function xy(o,l){o=o|0,l=l|0;var u=0,A=0;n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,u=l+4|0,A=(n[u>>2]|0)-(n[l>>2]|0)>>2,A|0&&(Ph(o,A),kt(o,n[l>>2]|0,n[u>>2]|0,A))}function Ph(o,l){o=o|0,l=l|0;var u=0;if((N(o)|0)>>>0>>0&&an(o),l>>>0>1073741823)Nt();else{u=Kt(l<<2)|0,n[o+4>>2]=u,n[o>>2]=u,n[o+8>>2]=u+(l<<2);return}}function kt(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,A=o+4|0,o=u-l|0,(o|0)>0&&(Rr(n[A>>2]|0,l|0,o|0)|0,n[A>>2]=(n[A>>2]|0)+(o>>>2<<2))}function N(o){return o=o|0,1073741823}function K(o,l,u){return o=o|0,l=l|0,u=y(u),ge(l)|0&&n[o+96>>2]|0?o=o+92|0:o=Rn(o+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(Je(o,u))}function re(o,l,u){return o=o|0,l=l|0,u=y(u),ge(l)|0&&n[o+104>>2]|0?o=o+100|0:o=Rn(o+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(Je(o,u))}function ge(o){return o=o|0,(o|1|0)==3|0}function Je(o,l){return o=o|0,l=y(l),(n[o+4>>2]|0)==3?l=y(0):l=y(Zr(o,l)),y(l)}function pt(o,l){return o=o|0,l=l|0,o=n[o>>2]|0,(o|0?o:(l|0)>1?l:1)|0}function dr(o,l){o=o|0,l=l|0;var u=0;e:do if((l|0)==2){switch(o|0){case 2:{o=3;break e}case 3:break;default:{u=4;break e}}o=2}else u=4;while(!1);return o|0}function vr(o,l){o=o|0,l=l|0;var u=$e;return ge(l)|0&&n[o+312>>2]|0&&(u=y(h[o+308>>2]),u>=y(0))||(u=y(ri(y(h[(Rn(o+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(u)}function _n(o,l){o=o|0,l=l|0;var u=$e;return ge(l)|0&&n[o+320>>2]|0&&(u=y(h[o+316>>2]),u>=y(0))||(u=y(ri(y(h[(Rn(o+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(u)}function yi(o,l,u){o=o|0,l=l|0,u=y(u);var A=$e;return ge(l)|0&&n[o+240>>2]|0&&(A=y(Zr(o+236|0,u)),A>=y(0))||(A=y(ri(y(Zr(Rn(o+204|0,n[1040+(l<<2)>>2]|0,992)|0,u)),y(0)))),y(A)}function vs(o,l,u){o=o|0,l=l|0,u=y(u);var A=$e;return ge(l)|0&&n[o+248>>2]|0&&(A=y(Zr(o+244|0,u)),A>=y(0))||(A=y(ri(y(Zr(Rn(o+204|0,n[1e3+(l<<2)>>2]|0,992)|0,u)),y(0)))),y(A)}function zA(o,l,u,A,d,m,B){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=y(m),B=y(B);var k=$e,R=$e,M=$e,L=$e,q=$e,oe=$e,Ve=0,Le=0,Te=0;Te=I,I=I+16|0,Ve=Te,Le=o+964|0,Bi(o,(n[Le>>2]|0)!=0,3519),k=y(tl(o,2,l)),R=y(tl(o,0,l)),M=y(En(o,2,l)),L=y(En(o,0,l)),Ut(l)|0?q=l:q=y(ri(y(0),y(y(l-M)-k))),Ut(u)|0?oe=u:oe=y(ri(y(0),y(y(u-L)-R))),(A|0)==1&(d|0)==1?(h[o+908>>2]=y(Wn(o,2,y(l-M),m,m)),l=y(Wn(o,0,y(u-L),B,m))):(uZ[n[Le>>2]&1](Ve,o,q,A,oe,d),q=y(k+y(h[Ve>>2])),oe=y(l-M),h[o+908>>2]=y(Wn(o,2,(A|2|0)==2?q:oe,m,m)),oe=y(R+y(h[Ve+4>>2])),l=y(u-L),l=y(Wn(o,0,(d|2|0)==2?oe:l,B,m))),h[o+912>>2]=l,I=Te}function lP(o,l,u,A,d,m,B){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=y(m),B=y(B);var k=$e,R=$e,M=$e,L=$e;M=y(tl(o,2,m)),k=y(tl(o,0,m)),L=y(En(o,2,m)),R=y(En(o,0,m)),l=y(l-L),h[o+908>>2]=y(Wn(o,2,(A|2|0)==2?M:l,m,m)),u=y(u-R),h[o+912>>2]=y(Wn(o,0,(d|2|0)==2?k:u,B,m))}function V1(o,l,u,A,d,m,B){o=o|0,l=y(l),u=y(u),A=A|0,d=d|0,m=y(m),B=y(B);var k=0,R=$e,M=$e;return k=(A|0)==2,!(l<=y(0)&k)&&!(u<=y(0)&(d|0)==2)&&!((A|0)==1&(d|0)==1)?o=0:(R=y(En(o,0,m)),M=y(En(o,2,m)),k=l>2]=y(Wn(o,2,k?y(0):l,m,m)),l=y(u-R),k=u>2]=y(Wn(o,0,k?y(0):l,B,m)),o=1),o|0}function ky(o,l){return o=o|0,l=l|0,Yg(o)|0?o=dr(2,l)|0:o=0,o|0}function xh(o,l,u){return o=o|0,l=l|0,u=y(u),u=y(yi(o,l,u)),y(u+y(vr(o,l)))}function J1(o,l,u){return o=o|0,l=l|0,u=y(u),u=y(vs(o,l,u)),y(u+y(_n(o,l)))}function tl(o,l,u){o=o|0,l=l|0,u=y(u);var A=$e;return A=y(xh(o,l,u)),y(A+y(J1(o,l,u)))}function K1(o){return o=o|0,n[o+24>>2]|0?o=0:y(XA(o))!=y(0)?o=1:o=y(kh(o))!=y(0),o|0}function XA(o){o=o|0;var l=$e;if(n[o+944>>2]|0){if(l=y(h[o+44>>2]),Ut(l)|0)return l=y(h[o+40>>2]),o=l>y(0)&((Ut(l)|0)^1),y(o?l:y(0))}else l=y(0);return y(l)}function kh(o){o=o|0;var l=$e,u=0,A=$e;do if(n[o+944>>2]|0){if(l=y(h[o+48>>2]),Ut(l)|0){if(u=s[(n[o+976>>2]|0)+2>>0]|0,!(u<<24>>24)&&(A=y(h[o+40>>2]),A>24?y(1):y(0)}}else l=y(0);while(!1);return y(l)}function Qy(o){o=o|0;var l=0,u=0;if(nE(o+400|0,0,540)|0,s[o+985>>0]=1,ee(o),u=Mi(o)|0,u|0){l=o+948|0,o=0;do Qy(n[(n[l>>2]|0)+(o<<2)>>2]|0),o=o+1|0;while((o|0)!=(u|0))}}function cP(o,l,u,A,d,m,B,k,R,M){o=o|0,l=l|0,u=y(u),A=A|0,d=y(d),m=y(m),B=y(B),k=k|0,R=R|0,M=M|0;var L=0,q=$e,oe=0,Ve=0,Le=$e,Te=$e,nt=0,Ze=$e,ft=0,He=$e,Ye=0,Mt=0,Gr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,jn=0,Mo=0;jn=I,I=I+16|0,Gr=jn+12|0,fr=jn+8|0,$t=jn+4|0,Tr=jn,cr=dr(n[o+4>>2]|0,R)|0,Ye=ge(cr)|0,q=y(Zr(kL(l)|0,Ye?m:B)),Mt=uo(l,2,m)|0,Hr=uo(l,0,B)|0;do if(!(Ut(q)|0)&&!(Ut(Ye?u:d)|0)){if(L=l+504|0,!(Ut(y(h[L>>2]))|0)&&(!(X1(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[L>>2]=y(ri(q,y(tl(l,cr,m))))}else oe=7;while(!1);do if((oe|0)==7){if(ft=Ye^1,!(ft|Mt^1)){B=y(Zr(n[l+992>>2]|0,m)),h[l+504>>2]=y(ri(B,y(tl(l,2,m))));break}if(!(Ye|Hr^1)){B=y(Zr(n[l+996>>2]|0,B)),h[l+504>>2]=y(ri(B,y(tl(l,0,m))));break}h[Gr>>2]=y(ae),h[fr>>2]=y(ae),n[$t>>2]=0,n[Tr>>2]=0,Ze=y(En(l,2,m)),He=y(En(l,0,m)),Mt?(Le=y(Ze+y(Zr(n[l+992>>2]|0,m))),h[Gr>>2]=Le,n[$t>>2]=1,Ve=1):(Ve=0,Le=y(ae)),Hr?(q=y(He+y(Zr(n[l+996>>2]|0,B))),h[fr>>2]=q,n[Tr>>2]=1,L=1):(L=0,q=y(ae)),oe=n[o+32>>2]|0,Ye&(oe|0)==2?oe=2:Ut(Le)|0&&!(Ut(u)|0)&&(h[Gr>>2]=u,n[$t>>2]=2,Ve=2,Le=u),!((oe|0)==2&ft)&&Ut(q)|0&&!(Ut(d)|0)&&(h[fr>>2]=d,n[Tr>>2]=2,L=2,q=d),Te=y(h[l+396>>2]),nt=Ut(Te)|0;do if(nt)oe=Ve;else{if((Ve|0)==1&ft){h[fr>>2]=y(y(Le-Ze)/Te),n[Tr>>2]=1,L=1,oe=1;break}Ye&(L|0)==1?(h[Gr>>2]=y(Te*y(q-He)),n[$t>>2]=1,L=1,oe=1):oe=Ve}while(!1);Mo=Ut(u)|0,Ve=(as(o,l)|0)!=4,!(Ye|Mt|((A|0)!=1|Mo)|(Ve|(oe|0)==1))&&(h[Gr>>2]=u,n[$t>>2]=1,!nt)&&(h[fr>>2]=y(y(u-Ze)/Te),n[Tr>>2]=1,L=1),!(Hr|ft|((k|0)!=1|(Ut(d)|0))|(Ve|(L|0)==1))&&(h[fr>>2]=d,n[Tr>>2]=1,!nt)&&(h[Gr>>2]=y(Te*y(d-He)),n[$t>>2]=1),Iu(l,2,m,m,$t,Gr),Iu(l,0,B,m,Tr,fr),u=y(h[Gr>>2]),d=y(h[fr>>2]),Ol(l,u,d,R,n[$t>>2]|0,n[Tr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(cr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(ri(B,y(tl(l,cr,m))))}while(!1);n[l+500>>2]=n[2278],I=jn}function Wn(o,l,u,A,d){return o=o|0,l=l|0,u=y(u),A=y(A),d=y(d),A=y(Wg(o,l,u,A)),y(ri(A,y(tl(o,l,d))))}function as(o,l){return o=o|0,l=l|0,l=l+20|0,l=n[(n[l>>2]|0?l:o+16|0)>>2]|0,(l|0)==5&&Yg(n[o+4>>2]|0)|0&&(l=1),l|0}function Ll(o,l){return o=o|0,l=l|0,ge(l)|0&&n[o+96>>2]|0?l=4:l=n[1040+(l<<2)>>2]|0,o+60+(l<<3)|0}function Ml(o,l){return o=o|0,l=l|0,ge(l)|0&&n[o+104>>2]|0?l=5:l=n[1e3+(l<<2)>>2]|0,o+60+(l<<3)|0}function Iu(o,l,u,A,d,m){switch(o=o|0,l=l|0,u=y(u),A=y(A),d=d|0,m=m|0,u=y(Zr(o+380+(n[976+(l<<2)>>2]<<3)|0,u)),u=y(u+y(En(o,l,A))),n[d>>2]|0){case 2:case 1:{d=Ut(u)|0,A=y(h[m>>2]),h[m>>2]=d|A>2]=2,h[m>>2]=u);break}default:}}function Ea(o,l){return o=o|0,l=l|0,o=o+132|0,ge(l)|0&&n[(Rn(o,4,948)|0)+4>>2]|0?o=1:o=(n[(Rn(o,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,o|0}function ZA(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0;return o=o+132|0,ge(l)|0&&(A=Rn(o,4,948)|0,(n[A+4>>2]|0)!=0)?d=4:(A=Rn(o,n[1040+(l<<2)>>2]|0,948)|0,n[A+4>>2]|0?d=4:u=y(0)),(d|0)==4&&(u=y(Zr(A,u))),y(u)}function $A(o,l,u){o=o|0,l=l|0,u=y(u);var A=$e;return A=y(h[o+908+(n[976+(l<<2)>>2]<<2)>>2]),A=y(A+y(K(o,l,u))),y(A+y(re(o,l,u)))}function bL(o){o=o|0;var l=0,u=0,A=0;e:do if(Yg(n[o+4>>2]|0)|0)l=0;else if((n[o+16>>2]|0)!=5)if(u=Mi(o)|0,!u)l=0;else for(l=0;;){if(A=Bs(o,l)|0,!(n[A+24>>2]|0)&&(n[A+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=u>>>0){l=0;break}}else l=1;while(!1);return l|0}function PL(o,l){o=o|0,l=l|0;var u=$e;return u=y(h[o+908+(n[976+(l<<2)>>2]<<2)>>2]),u>=y(0)&((Ut(u)|0)^1)|0}function qg(o){o=o|0;var l=$e,u=0,A=0,d=0,m=0,B=0,k=0,R=$e;if(u=n[o+968>>2]|0,u)R=y(h[o+908>>2]),l=y(h[o+912>>2]),l=y(sZ[u&0](o,R,l)),Bi(o,(Ut(l)|0)^1,3573);else{m=Mi(o)|0;do if(m|0){for(u=0,d=0;;){if(A=Bs(o,d)|0,n[A+940>>2]|0){B=8;break}if((n[A+24>>2]|0)!=1)if(k=(as(o,A)|0)==5,k){u=A;break}else u=u|0?u:A;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!u)break;return l=y(qg(u)),y(l+y(h[u+404>>2]))}while(!1);l=y(h[o+912>>2])}return y(l)}function Wg(o,l,u,A){o=o|0,l=l|0,u=y(u),A=y(A);var d=$e,m=0;return Yg(l)|0?(l=1,m=3):ge(l)|0?(l=0,m=3):(A=y(ae),d=y(ae)),(m|0)==3&&(d=y(Zr(o+364+(l<<3)|0,A)),A=y(Zr(o+380+(l<<3)|0,A))),m=A=y(0)&((Ut(A)|0)^1)),u=m?A:u,m=d>=y(0)&((Ut(d)|0)^1)&u>2]|0,m)|0,Le=ky(nt,m)|0,Te=ge(nt)|0,q=y(En(l,2,u)),oe=y(En(l,0,u)),uo(l,2,u)|0?k=y(q+y(Zr(n[l+992>>2]|0,u))):Ea(l,2)|0&&Ry(l,2)|0?(k=y(h[o+908>>2]),R=y(vr(o,2)),R=y(k-y(R+y(_n(o,2)))),k=y(ZA(l,2,u)),k=y(Wn(l,2,y(R-y(k+y(Qh(l,2,u)))),u,u))):k=y(ae),uo(l,0,d)|0?R=y(oe+y(Zr(n[l+996>>2]|0,d))):Ea(l,0)|0&&Ry(l,0)|0?(R=y(h[o+912>>2]),ft=y(vr(o,0)),ft=y(R-y(ft+y(_n(o,0)))),R=y(ZA(l,0,d)),R=y(Wn(l,0,y(ft-y(R+y(Qh(l,0,d)))),d,u))):R=y(ae),M=Ut(k)|0,L=Ut(R)|0;do if(M^L&&(Ve=y(h[l+396>>2]),!(Ut(Ve)|0)))if(M){k=y(q+y(y(R-oe)*Ve));break}else{ft=y(oe+y(y(k-q)/Ve)),R=L?ft:R;break}while(!1);L=Ut(k)|0,M=Ut(R)|0,L|M&&(He=(L^1)&1,A=u>y(0)&((A|0)!=0&L),k=Te?k:A?u:k,Ol(l,k,R,m,Te?He:A?2:He,L&(M^1)&1,k,R,0,3623,B)|0,k=y(h[l+908>>2]),k=y(k+y(En(l,2,u))),R=y(h[l+912>>2]),R=y(R+y(En(l,0,u)))),Ol(l,k,R,m,1,1,k,R,1,3635,B)|0,Ry(l,nt)|0&&!(Ea(l,nt)|0)?(He=n[976+(nt<<2)>>2]|0,ft=y(h[o+908+(He<<2)>>2]),ft=y(ft-y(h[l+908+(He<<2)>>2])),ft=y(ft-y(_n(o,nt))),ft=y(ft-y(re(l,nt,u))),ft=y(ft-y(Qh(l,nt,Te?u:d))),h[l+400+(n[1040+(nt<<2)>>2]<<2)>>2]=ft):Ze=21;do if((Ze|0)==21){if(!(Ea(l,nt)|0)&&(n[o+8>>2]|0)==1){He=n[976+(nt<<2)>>2]|0,ft=y(h[o+908+(He<<2)>>2]),ft=y(y(ft-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(nt<<2)>>2]<<2)>>2]=ft;break}!(Ea(l,nt)|0)&&(n[o+8>>2]|0)==2&&(He=n[976+(nt<<2)>>2]|0,ft=y(h[o+908+(He<<2)>>2]),ft=y(ft-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(nt<<2)>>2]<<2)>>2]=ft)}while(!1);Ry(l,Le)|0&&!(Ea(l,Le)|0)?(He=n[976+(Le<<2)>>2]|0,ft=y(h[o+908+(He<<2)>>2]),ft=y(ft-y(h[l+908+(He<<2)>>2])),ft=y(ft-y(_n(o,Le))),ft=y(ft-y(re(l,Le,u))),ft=y(ft-y(Qh(l,Le,Te?d:u))),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=ft):Ze=30;do if((Ze|0)==30&&!(Ea(l,Le)|0)){if((as(o,l)|0)==2){He=n[976+(Le<<2)>>2]|0,ft=y(h[o+908+(He<<2)>>2]),ft=y(y(ft-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=ft;break}He=(as(o,l)|0)==3,He^(n[o+28>>2]|0)==2&&(He=n[976+(Le<<2)>>2]|0,ft=y(h[o+908+(He<<2)>>2]),ft=y(ft-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=ft)}while(!1)}function z1(o,l,u){o=o|0,l=l|0,u=u|0;var A=$e,d=0;d=n[976+(u<<2)>>2]|0,A=y(h[l+908+(d<<2)>>2]),A=y(y(h[o+908+(d<<2)>>2])-A),A=y(A-y(h[l+400+(n[1040+(u<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(u<<2)>>2]<<2)>>2]=A}function Yg(o){return o=o|0,(o|1|0)==1|0}function kL(o){o=o|0;var l=$e;switch(n[o+56>>2]|0){case 0:case 3:{l=y(h[o+40>>2]),l>y(0)&((Ut(l)|0)^1)?o=s[(n[o+976>>2]|0)+2>>0]|0?1056:992:o=1056;break}default:o=o+52|0}return o|0}function X1(o,l){return o=o|0,l=l|0,(s[o+l>>0]|0)!=0|0}function Ry(o,l){return o=o|0,l=l|0,o=o+132|0,ge(l)|0&&n[(Rn(o,5,948)|0)+4>>2]|0?o=1:o=(n[(Rn(o,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,o|0}function Qh(o,l,u){o=o|0,l=l|0,u=y(u);var A=0,d=0;return o=o+132|0,ge(l)|0&&(A=Rn(o,5,948)|0,(n[A+4>>2]|0)!=0)?d=4:(A=Rn(o,n[1e3+(l<<2)>>2]|0,948)|0,n[A+4>>2]|0?d=4:u=y(0)),(d|0)==4&&(u=y(Zr(A,u))),y(u)}function uP(o,l,u){return o=o|0,l=l|0,u=y(u),Ea(o,l)|0?u=y(ZA(o,l,u)):u=y(-y(Qh(o,l,u))),y(u)}function fP(o){return o=y(o),h[S>>2]=o,n[S>>2]|0|0}function Ty(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>1073741823)Nt();else{d=Kt(l<<2)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<2)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<2)}function AP(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Fy(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-4-l|0)>>>2)<<2)),o=n[o>>2]|0,o|0&&It(o)}function pP(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;if(B=o+4|0,k=n[B>>2]|0,d=k-A|0,m=d>>2,o=l+(m<<2)|0,o>>>0>>0){A=k;do n[A>>2]=n[o>>2],o=o+4|0,A=(n[B>>2]|0)+4|0,n[B>>2]=A;while(o>>>0>>0)}m|0&&B2(k+(0-m<<2)|0,l|0,d|0)|0}function hP(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0;return k=l+4|0,R=n[k>>2]|0,d=n[o>>2]|0,B=u,m=B-d|0,A=R+(0-(m>>2)<<2)|0,n[k>>2]=A,(m|0)>0&&Rr(A|0,d|0,m|0)|0,d=o+4|0,m=l+8|0,A=(n[d>>2]|0)-B|0,(A|0)>0&&(Rr(n[m>>2]|0,u|0,A|0)|0,n[m>>2]=(n[m>>2]|0)+(A>>>2<<2)),B=n[o>>2]|0,n[o>>2]=n[k>>2],n[k>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=o+8|0,u=l+12|0,o=n[B>>2]|0,n[B>>2]=n[u>>2],n[u>>2]=o,n[l>>2]=n[k>>2],R|0}function Z1(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[u>>2]|0,(B|0)!=(m|0)){d=o+8|0,u=((m+-4-B|0)>>>2)+1|0,o=B,A=n[d>>2]|0;do n[A>>2]=n[o>>2],A=(n[d>>2]|0)+4|0,n[d>>2]=A,o=o+4|0;while((o|0)!=(m|0));n[l>>2]=B+(u<<2)}}function $1(){ga()}function gP(){var o=0;return o=Kt(4)|0,e2(o),o|0}function e2(o){o=o|0,n[o>>2]=hc()|0}function dP(o){o=o|0,o|0&&(Vg(o),It(o))}function Vg(o){o=o|0,ot(n[o>>2]|0)}function QL(o,l,u){o=o|0,l=l|0,u=u|0,gc(n[o>>2]|0,l,u)}function Ny(o,l){o=o|0,l=y(l),Sh(n[o>>2]|0,l)}function Oy(o,l){return o=o|0,l=l|0,X1(n[o>>2]|0,l)|0}function Ly(){var o=0;return o=Kt(8)|0,Jg(o,0),o|0}function Jg(o,l){o=o|0,l=l|0,l?l=da(n[l>>2]|0)|0:l=is()|0,n[o>>2]=l,n[o+4>>2]=0,Fn(l,o)}function My(o){o=o|0;var l=0;return l=Kt(8)|0,Jg(l,o),l|0}function Kg(o){o=o|0,o|0&&(Uy(o),It(o))}function Uy(o){o=o|0;var l=0;Ac(n[o>>2]|0),l=o+4|0,o=n[l>>2]|0,n[l>>2]=0,o|0&&(Pf(o),It(o))}function Pf(o){o=o|0,xf(o)}function xf(o){o=o|0,o=n[o>>2]|0,o|0&&qa(o|0)}function t2(o){return o=o|0,Xa(o)|0}function r2(o){o=o|0;var l=0,u=0;u=o+4|0,l=n[u>>2]|0,n[u>>2]=0,l|0&&(Pf(l),It(l)),pc(n[o>>2]|0)}function _y(o,l){o=o|0,l=l|0,pn(n[o>>2]|0,n[l>>2]|0)}function RL(o,l){o=o|0,l=l|0,Ch(n[o>>2]|0,l)}function TL(o,l,u){o=o|0,l=l|0,u=+u,vy(n[o>>2]|0,l,y(u))}function Hy(o,l,u){o=o|0,l=l|0,u=+u,Sy(n[o>>2]|0,l,y(u))}function n2(o,l){o=o|0,l=l|0,yh(n[o>>2]|0,l)}function i2(o,l){o=o|0,l=l|0,Qo(n[o>>2]|0,l)}function xr(o,l){o=o|0,l=l|0,Ih(n[o>>2]|0,l)}function fo(o,l){o=o|0,l=l|0,Iy(n[o>>2]|0,l)}function Xi(o,l){o=o|0,l=l|0,Tg(n[o>>2]|0,l)}function Ms(o,l){o=o|0,l=l|0,ko(n[o>>2]|0,l)}function ep(o,l,u){o=o|0,l=l|0,u=+u,GA(n[o>>2]|0,l,y(u))}function s2(o,l,u){o=o|0,l=l|0,u=+u,W(n[o>>2]|0,l,y(u))}function Ss(o,l){o=o|0,l=l|0,qA(n[o>>2]|0,l)}function jy(o,l){o=o|0,l=l|0,wy(n[o>>2]|0,l)}function Rh(o,l){o=o|0,l=l|0,Ro(n[o>>2]|0,l)}function zg(o,l){o=o|0,l=+l,wh(n[o>>2]|0,y(l))}function Th(o,l){o=o|0,l=+l,Fl(n[o>>2]|0,y(l))}function o2(o,l){o=o|0,l=+l,By(n[o>>2]|0,y(l))}function a2(o,l){o=o|0,l=+l,Ng(n[o>>2]|0,y(l))}function l2(o,l){o=o|0,l=+l,Tl(n[o>>2]|0,y(l))}function c2(o,l){o=o|0,l=+l,Og(n[o>>2]|0,y(l))}function kf(o,l){o=o|0,l=+l,Y1(n[o>>2]|0,y(l))}function sr(o){o=o|0,Bh(n[o>>2]|0)}function Gy(o,l){o=o|0,l=+l,zi(n[o>>2]|0,y(l))}function u2(o,l){o=o|0,l=+l,Cf(n[o>>2]|0,y(l))}function dc(o){o=o|0,Za(n[o>>2]|0)}function Qf(o,l){o=o|0,l=+l,gu(n[o>>2]|0,y(l))}function Xg(o,l){o=o|0,l=+l,wf(n[o>>2]|0,y(l))}function Zg(o,l){o=o|0,l=+l,mi(n[o>>2]|0,y(l))}function f2(o,l){o=o|0,l=+l,WA(n[o>>2]|0,y(l))}function A2(o,l){o=o|0,l=+l,ma(n[o>>2]|0,y(l))}function Cu(o,l){o=o|0,l=+l,el(n[o>>2]|0,y(l))}function $g(o,l){o=o|0,l=+l,vh(n[o>>2]|0,y(l))}function p2(o,l){o=o|0,l=+l,Ug(n[o>>2]|0,y(l))}function qy(o,l){o=o|0,l=+l,YA(n[o>>2]|0,y(l))}function wu(o,l,u){o=o|0,l=l|0,u=+u,hu(n[o>>2]|0,l,y(u))}function Wy(o,l,u){o=o|0,l=l|0,u=+u,To(n[o>>2]|0,l,y(u))}function ed(o,l,u){o=o|0,l=l|0,u=+u,If(n[o>>2]|0,l,y(u))}function td(o){return o=o|0,Rg(n[o>>2]|0)|0}function Oo(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,jA(d,n[l>>2]|0,u),Ds(o,d),I=A}function Ds(o,l){o=o|0,l=l|0,Ul(o,n[l+4>>2]|0,+y(h[l>>2]))}function Ul(o,l,u){o=o|0,l=l|0,u=+u,n[o>>2]=l,E[o+8>>3]=u}function Yy(o){return o=o|0,W1(n[o>>2]|0)|0}function Ia(o){return o=o|0,Eh(n[o>>2]|0)|0}function mP(o){return o=o|0,pu(n[o>>2]|0)|0}function Fh(o){return o=o|0,q1(n[o>>2]|0)|0}function h2(o){return o=o|0,Fg(n[o>>2]|0)|0}function FL(o){return o=o|0,Cy(n[o>>2]|0)|0}function yP(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,xt(d,n[l>>2]|0,u),Ds(o,d),I=A}function EP(o){return o=o|0,Ef(n[o>>2]|0)|0}function Vy(o){return o=o|0,Rl(n[o>>2]|0)|0}function g2(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,HA(A,n[l>>2]|0),Ds(o,A),I=u}function Nh(o){return o=o|0,+ +y(ci(n[o>>2]|0))}function IP(o){return o=o|0,+ +y(qi(n[o>>2]|0))}function CP(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,ur(A,n[l>>2]|0),Ds(o,A),I=u}function rd(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,Lg(A,n[l>>2]|0),Ds(o,A),I=u}function NL(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,wt(A,n[l>>2]|0),Ds(o,A),I=u}function OL(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,$a(A,n[l>>2]|0),Ds(o,A),I=u}function wP(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,Mg(A,n[l>>2]|0),Ds(o,A),I=u}function BP(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,by(A,n[l>>2]|0),Ds(o,A),I=u}function tp(o){return o=o|0,+ +y(_g(n[o>>2]|0))}function LL(o,l){return o=o|0,l=l|0,+ +y(Dy(n[o>>2]|0,l))}function ML(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,yt(d,n[l>>2]|0,u),Ds(o,d),I=A}function Bu(o,l,u){o=o|0,l=l|0,u=u|0,lr(n[o>>2]|0,n[l>>2]|0,u)}function UL(o,l){o=o|0,l=l|0,yf(n[o>>2]|0,n[l>>2]|0)}function vP(o){return o=o|0,Mi(n[o>>2]|0)|0}function _L(o){return o=o|0,o=Et(n[o>>2]|0)|0,o?o=t2(o)|0:o=0,o|0}function SP(o,l){return o=o|0,l=l|0,o=Bs(n[o>>2]|0,l)|0,o?o=t2(o)|0:o=0,o|0}function Rf(o,l){o=o|0,l=l|0;var u=0,A=0;A=Kt(4)|0,DP(A,l),u=o+4|0,l=n[u>>2]|0,n[u>>2]=A,l|0&&(Pf(l),It(l)),St(n[o>>2]|0,1)}function DP(o,l){o=o|0,l=l|0,WL(o,l)}function HL(o,l,u,A,d,m){o=o|0,l=l|0,u=y(u),A=A|0,d=y(d),m=m|0;var B=0,k=0;B=I,I=I+16|0,k=B,bP(k,Xa(l)|0,+u,A,+d,m),h[o>>2]=y(+E[k>>3]),h[o+4>>2]=y(+E[k+8>>3]),I=B}function bP(o,l,u,A,d,m){o=o|0,l=l|0,u=+u,A=A|0,d=+d,m=m|0;var B=0,k=0,R=0,M=0,L=0;B=I,I=I+32|0,L=B+8|0,M=B+20|0,R=B,k=B+16|0,E[L>>3]=u,n[M>>2]=A,E[R>>3]=d,n[k>>2]=m,Jy(o,n[l+4>>2]|0,L,M,R,k),I=B}function Jy(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0;B=I,I=I+16|0,k=B,Hl(k),l=Us(l)|0,PP(o,l,+E[u>>3],n[A>>2]|0,+E[d>>3],n[m>>2]|0),jl(k),I=B}function Us(o){return o=o|0,n[o>>2]|0}function PP(o,l,u,A,d,m){o=o|0,l=l|0,u=+u,A=A|0,d=+d,m=m|0;var B=0;B=Ca(d2()|0)|0,u=+rl(u),A=Ky(A)|0,d=+rl(d),jL(o,Xn(0,B|0,l|0,+u,A|0,+d,Ky(m)|0)|0)}function d2(){var o=0;return s[7608]|0||(y2(9120),o=7608,n[o>>2]=1,n[o+4>>2]=0),9120}function Ca(o){return o=o|0,n[o+8>>2]|0}function rl(o){return o=+o,+ +Tf(o)}function Ky(o){return o=o|0,nd(o)|0}function jL(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;d=I,I=I+32|0,u=d,A=l,A&1?(nl(u,0),Ga(A|0,u|0)|0,m2(o,u),qL(u)):(n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=n[l+8>>2],n[o+12>>2]=n[l+12>>2]),I=d}function nl(o,l){o=o|0,l=l|0,vu(o,l),n[o+8>>2]=0,s[o+24>>0]=0}function m2(o,l){o=o|0,l=l|0,l=l+8|0,n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=n[l+8>>2],n[o+12>>2]=n[l+12>>2]}function qL(o){o=o|0,s[o+24>>0]=0}function vu(o,l){o=o|0,l=l|0,n[o>>2]=l}function nd(o){return o=o|0,o|0}function Tf(o){return o=+o,+o}function y2(o){o=o|0,Lo(o,E2()|0,4)}function E2(){return 1064}function Lo(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u,n[o+8>>2]=Gi(l|0,u+1|0)|0}function WL(o,l){o=o|0,l=l|0,l=n[l>>2]|0,n[o>>2]=l,au(l|0)}function xP(o){o=o|0;var l=0,u=0;u=o+4|0,l=n[u>>2]|0,n[u>>2]=0,l|0&&(Pf(l),It(l)),St(n[o>>2]|0,0)}function kP(o){o=o|0,bt(n[o>>2]|0)}function zy(o){return o=o|0,tr(n[o>>2]|0)|0}function YL(o,l,u,A){o=o|0,l=+l,u=+u,A=A|0,JA(n[o>>2]|0,y(l),y(u),A)}function VL(o){return o=o|0,+ +y(du(n[o>>2]|0))}function v(o){return o=o|0,+ +y(Bf(n[o>>2]|0))}function D(o){return o=o|0,+ +y(mu(n[o>>2]|0))}function Q(o){return o=o|0,+ +y(Os(n[o>>2]|0))}function H(o){return o=o|0,+ +y(yu(n[o>>2]|0))}function Y(o){return o=o|0,+ +y(qn(n[o>>2]|0))}function ne(o,l){o=o|0,l=l|0,E[o>>3]=+y(du(n[l>>2]|0)),E[o+8>>3]=+y(Bf(n[l>>2]|0)),E[o+16>>3]=+y(mu(n[l>>2]|0)),E[o+24>>3]=+y(Os(n[l>>2]|0)),E[o+32>>3]=+y(yu(n[l>>2]|0)),E[o+40>>3]=+y(qn(n[l>>2]|0))}function ve(o,l){return o=o|0,l=l|0,+ +y(ss(n[o>>2]|0,l))}function _e(o,l){return o=o|0,l=l|0,+ +y(xi(n[o>>2]|0,l))}function ht(o,l){return o=o|0,l=l|0,+ +y(VA(n[o>>2]|0,l))}function Wt(){return Tn()|0}function Sr(){Lr(),Zt(),Zn(),Ei(),il(),rt()}function Lr(){rUe(11713,4938,1)}function Zt(){CMe(10448)}function Zn(){rMe(10408)}function Ei(){SLe(10324)}function il(){TNe(10096)}function rt(){We(9132)}function We(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0,nt=0,Ze=0,ft=0,He=0,Ye=0,Mt=0,Gr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,jn=0,Mo=0,Uo=0,_o=0,ol=0,qh=0,Wh=0,mc=0,Yh=0,Of=0,Lf=0,Vh=0,Jh=0,Kh=0,ln=0,yc=0,zh=0,bu=0,Xh=0,Zh=0,Mf=0,Uf=0,Pu=0,Ao=0,ql=0,wa=0,Ec=0,lp=0,cp=0,_f=0,up=0,fp=0,po=0,Hs=0,Ic=0,Yn=0,Ap=0,Ho=0,xu=0,jo=0,ku=0,pp=0,hp=0,Qu=0,ho=0,Cc=0,gp=0,dp=0,mp=0,Nr=0,fi=0,js=0,Go=0,go=0,Mr=0,Ar=0,wc=0;l=I,I=I+672|0,u=l+656|0,wc=l+648|0,Ar=l+640|0,Mr=l+632|0,go=l+624|0,Go=l+616|0,js=l+608|0,fi=l+600|0,Nr=l+592|0,mp=l+584|0,dp=l+576|0,gp=l+568|0,Cc=l+560|0,ho=l+552|0,Qu=l+544|0,hp=l+536|0,pp=l+528|0,ku=l+520|0,jo=l+512|0,xu=l+504|0,Ho=l+496|0,Ap=l+488|0,Yn=l+480|0,Ic=l+472|0,Hs=l+464|0,po=l+456|0,fp=l+448|0,up=l+440|0,_f=l+432|0,cp=l+424|0,lp=l+416|0,Ec=l+408|0,wa=l+400|0,ql=l+392|0,Ao=l+384|0,Pu=l+376|0,Uf=l+368|0,Mf=l+360|0,Zh=l+352|0,Xh=l+344|0,bu=l+336|0,zh=l+328|0,yc=l+320|0,ln=l+312|0,Kh=l+304|0,Jh=l+296|0,Vh=l+288|0,Lf=l+280|0,Of=l+272|0,Yh=l+264|0,mc=l+256|0,Wh=l+248|0,qh=l+240|0,ol=l+232|0,_o=l+224|0,Uo=l+216|0,Mo=l+208|0,jn=l+200|0,cr=l+192|0,Hr=l+184|0,Tr=l+176|0,$t=l+168|0,fr=l+160|0,Gr=l+152|0,Mt=l+144|0,Ye=l+136|0,He=l+128|0,ft=l+120|0,Ze=l+112|0,nt=l+104|0,Te=l+96|0,Le=l+88|0,Ve=l+80|0,oe=l+72|0,q=l+64|0,L=l+56|0,M=l+48|0,R=l+40|0,k=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,A=l,dt(o,3646),Xt(o,3651,2)|0,Dr(o,3665,2)|0,ti(o,3682,18)|0,n[wc>>2]=19,n[wc+4>>2]=0,n[u>>2]=n[wc>>2],n[u+4>>2]=n[wc+4>>2],Qr(o,3690,u)|0,n[Ar>>2]=1,n[Ar+4>>2]=0,n[u>>2]=n[Ar>>2],n[u+4>>2]=n[Ar+4>>2],Nn(o,3696,u)|0,n[Mr>>2]=2,n[Mr+4>>2]=0,n[u>>2]=n[Mr>>2],n[u+4>>2]=n[Mr+4>>2],Hn(o,3706,u)|0,n[go>>2]=1,n[go+4>>2]=0,n[u>>2]=n[go>>2],n[u+4>>2]=n[go+4>>2],zr(o,3722,u)|0,n[Go>>2]=2,n[Go+4>>2]=0,n[u>>2]=n[Go>>2],n[u+4>>2]=n[Go+4>>2],zr(o,3734,u)|0,n[js>>2]=3,n[js+4>>2]=0,n[u>>2]=n[js>>2],n[u+4>>2]=n[js+4>>2],Hn(o,3753,u)|0,n[fi>>2]=4,n[fi+4>>2]=0,n[u>>2]=n[fi>>2],n[u+4>>2]=n[fi+4>>2],Hn(o,3769,u)|0,n[Nr>>2]=5,n[Nr+4>>2]=0,n[u>>2]=n[Nr>>2],n[u+4>>2]=n[Nr+4>>2],Hn(o,3783,u)|0,n[mp>>2]=6,n[mp+4>>2]=0,n[u>>2]=n[mp>>2],n[u+4>>2]=n[mp+4>>2],Hn(o,3796,u)|0,n[dp>>2]=7,n[dp+4>>2]=0,n[u>>2]=n[dp>>2],n[u+4>>2]=n[dp+4>>2],Hn(o,3813,u)|0,n[gp>>2]=8,n[gp+4>>2]=0,n[u>>2]=n[gp>>2],n[u+4>>2]=n[gp+4>>2],Hn(o,3825,u)|0,n[Cc>>2]=3,n[Cc+4>>2]=0,n[u>>2]=n[Cc>>2],n[u+4>>2]=n[Cc+4>>2],zr(o,3843,u)|0,n[ho>>2]=4,n[ho+4>>2]=0,n[u>>2]=n[ho>>2],n[u+4>>2]=n[ho+4>>2],zr(o,3853,u)|0,n[Qu>>2]=9,n[Qu+4>>2]=0,n[u>>2]=n[Qu>>2],n[u+4>>2]=n[Qu+4>>2],Hn(o,3870,u)|0,n[hp>>2]=10,n[hp+4>>2]=0,n[u>>2]=n[hp>>2],n[u+4>>2]=n[hp+4>>2],Hn(o,3884,u)|0,n[pp>>2]=11,n[pp+4>>2]=0,n[u>>2]=n[pp>>2],n[u+4>>2]=n[pp+4>>2],Hn(o,3896,u)|0,n[ku>>2]=1,n[ku+4>>2]=0,n[u>>2]=n[ku>>2],n[u+4>>2]=n[ku+4>>2],ui(o,3907,u)|0,n[jo>>2]=2,n[jo+4>>2]=0,n[u>>2]=n[jo>>2],n[u+4>>2]=n[jo+4>>2],ui(o,3915,u)|0,n[xu>>2]=3,n[xu+4>>2]=0,n[u>>2]=n[xu>>2],n[u+4>>2]=n[xu+4>>2],ui(o,3928,u)|0,n[Ho>>2]=4,n[Ho+4>>2]=0,n[u>>2]=n[Ho>>2],n[u+4>>2]=n[Ho+4>>2],ui(o,3948,u)|0,n[Ap>>2]=5,n[Ap+4>>2]=0,n[u>>2]=n[Ap>>2],n[u+4>>2]=n[Ap+4>>2],ui(o,3960,u)|0,n[Yn>>2]=6,n[Yn+4>>2]=0,n[u>>2]=n[Yn>>2],n[u+4>>2]=n[Yn+4>>2],ui(o,3974,u)|0,n[Ic>>2]=7,n[Ic+4>>2]=0,n[u>>2]=n[Ic>>2],n[u+4>>2]=n[Ic+4>>2],ui(o,3983,u)|0,n[Hs>>2]=20,n[Hs+4>>2]=0,n[u>>2]=n[Hs>>2],n[u+4>>2]=n[Hs+4>>2],Qr(o,3999,u)|0,n[po>>2]=8,n[po+4>>2]=0,n[u>>2]=n[po>>2],n[u+4>>2]=n[po+4>>2],ui(o,4012,u)|0,n[fp>>2]=9,n[fp+4>>2]=0,n[u>>2]=n[fp>>2],n[u+4>>2]=n[fp+4>>2],ui(o,4022,u)|0,n[up>>2]=21,n[up+4>>2]=0,n[u>>2]=n[up>>2],n[u+4>>2]=n[up+4>>2],Qr(o,4039,u)|0,n[_f>>2]=10,n[_f+4>>2]=0,n[u>>2]=n[_f>>2],n[u+4>>2]=n[_f+4>>2],ui(o,4053,u)|0,n[cp>>2]=11,n[cp+4>>2]=0,n[u>>2]=n[cp>>2],n[u+4>>2]=n[cp+4>>2],ui(o,4065,u)|0,n[lp>>2]=12,n[lp+4>>2]=0,n[u>>2]=n[lp>>2],n[u+4>>2]=n[lp+4>>2],ui(o,4084,u)|0,n[Ec>>2]=13,n[Ec+4>>2]=0,n[u>>2]=n[Ec>>2],n[u+4>>2]=n[Ec+4>>2],ui(o,4097,u)|0,n[wa>>2]=14,n[wa+4>>2]=0,n[u>>2]=n[wa>>2],n[u+4>>2]=n[wa+4>>2],ui(o,4117,u)|0,n[ql>>2]=15,n[ql+4>>2]=0,n[u>>2]=n[ql>>2],n[u+4>>2]=n[ql+4>>2],ui(o,4129,u)|0,n[Ao>>2]=16,n[Ao+4>>2]=0,n[u>>2]=n[Ao>>2],n[u+4>>2]=n[Ao+4>>2],ui(o,4148,u)|0,n[Pu>>2]=17,n[Pu+4>>2]=0,n[u>>2]=n[Pu>>2],n[u+4>>2]=n[Pu+4>>2],ui(o,4161,u)|0,n[Uf>>2]=18,n[Uf+4>>2]=0,n[u>>2]=n[Uf>>2],n[u+4>>2]=n[Uf+4>>2],ui(o,4181,u)|0,n[Mf>>2]=5,n[Mf+4>>2]=0,n[u>>2]=n[Mf>>2],n[u+4>>2]=n[Mf+4>>2],zr(o,4196,u)|0,n[Zh>>2]=6,n[Zh+4>>2]=0,n[u>>2]=n[Zh>>2],n[u+4>>2]=n[Zh+4>>2],zr(o,4206,u)|0,n[Xh>>2]=7,n[Xh+4>>2]=0,n[u>>2]=n[Xh>>2],n[u+4>>2]=n[Xh+4>>2],zr(o,4217,u)|0,n[bu>>2]=3,n[bu+4>>2]=0,n[u>>2]=n[bu>>2],n[u+4>>2]=n[bu+4>>2],Su(o,4235,u)|0,n[zh>>2]=1,n[zh+4>>2]=0,n[u>>2]=n[zh>>2],n[u+4>>2]=n[zh+4>>2],JL(o,4251,u)|0,n[yc>>2]=4,n[yc+4>>2]=0,n[u>>2]=n[yc>>2],n[u+4>>2]=n[yc+4>>2],Su(o,4263,u)|0,n[ln>>2]=5,n[ln+4>>2]=0,n[u>>2]=n[ln>>2],n[u+4>>2]=n[ln+4>>2],Su(o,4279,u)|0,n[Kh>>2]=6,n[Kh+4>>2]=0,n[u>>2]=n[Kh>>2],n[u+4>>2]=n[Kh+4>>2],Su(o,4293,u)|0,n[Jh>>2]=7,n[Jh+4>>2]=0,n[u>>2]=n[Jh>>2],n[u+4>>2]=n[Jh+4>>2],Su(o,4306,u)|0,n[Vh>>2]=8,n[Vh+4>>2]=0,n[u>>2]=n[Vh>>2],n[u+4>>2]=n[Vh+4>>2],Su(o,4323,u)|0,n[Lf>>2]=9,n[Lf+4>>2]=0,n[u>>2]=n[Lf>>2],n[u+4>>2]=n[Lf+4>>2],Su(o,4335,u)|0,n[Of>>2]=2,n[Of+4>>2]=0,n[u>>2]=n[Of>>2],n[u+4>>2]=n[Of+4>>2],JL(o,4353,u)|0,n[Yh>>2]=12,n[Yh+4>>2]=0,n[u>>2]=n[Yh>>2],n[u+4>>2]=n[Yh+4>>2],id(o,4363,u)|0,n[mc>>2]=1,n[mc+4>>2]=0,n[u>>2]=n[mc>>2],n[u+4>>2]=n[mc+4>>2],rp(o,4376,u)|0,n[Wh>>2]=2,n[Wh+4>>2]=0,n[u>>2]=n[Wh>>2],n[u+4>>2]=n[Wh+4>>2],rp(o,4388,u)|0,n[qh>>2]=13,n[qh+4>>2]=0,n[u>>2]=n[qh>>2],n[u+4>>2]=n[qh+4>>2],id(o,4402,u)|0,n[ol>>2]=14,n[ol+4>>2]=0,n[u>>2]=n[ol>>2],n[u+4>>2]=n[ol+4>>2],id(o,4411,u)|0,n[_o>>2]=15,n[_o+4>>2]=0,n[u>>2]=n[_o>>2],n[u+4>>2]=n[_o+4>>2],id(o,4421,u)|0,n[Uo>>2]=16,n[Uo+4>>2]=0,n[u>>2]=n[Uo>>2],n[u+4>>2]=n[Uo+4>>2],id(o,4433,u)|0,n[Mo>>2]=17,n[Mo+4>>2]=0,n[u>>2]=n[Mo>>2],n[u+4>>2]=n[Mo+4>>2],id(o,4446,u)|0,n[jn>>2]=18,n[jn+4>>2]=0,n[u>>2]=n[jn>>2],n[u+4>>2]=n[jn+4>>2],id(o,4458,u)|0,n[cr>>2]=3,n[cr+4>>2]=0,n[u>>2]=n[cr>>2],n[u+4>>2]=n[cr+4>>2],rp(o,4471,u)|0,n[Hr>>2]=1,n[Hr+4>>2]=0,n[u>>2]=n[Hr>>2],n[u+4>>2]=n[Hr+4>>2],QP(o,4486,u)|0,n[Tr>>2]=10,n[Tr+4>>2]=0,n[u>>2]=n[Tr>>2],n[u+4>>2]=n[Tr+4>>2],Su(o,4496,u)|0,n[$t>>2]=11,n[$t+4>>2]=0,n[u>>2]=n[$t>>2],n[u+4>>2]=n[$t+4>>2],Su(o,4508,u)|0,n[fr>>2]=3,n[fr+4>>2]=0,n[u>>2]=n[fr>>2],n[u+4>>2]=n[fr+4>>2],JL(o,4519,u)|0,n[Gr>>2]=4,n[Gr+4>>2]=0,n[u>>2]=n[Gr>>2],n[u+4>>2]=n[Gr+4>>2],uPe(o,4530,u)|0,n[Mt>>2]=19,n[Mt+4>>2]=0,n[u>>2]=n[Mt>>2],n[u+4>>2]=n[Mt+4>>2],fPe(o,4542,u)|0,n[Ye>>2]=12,n[Ye+4>>2]=0,n[u>>2]=n[Ye>>2],n[u+4>>2]=n[Ye+4>>2],APe(o,4554,u)|0,n[He>>2]=13,n[He+4>>2]=0,n[u>>2]=n[He>>2],n[u+4>>2]=n[He+4>>2],pPe(o,4568,u)|0,n[ft>>2]=2,n[ft+4>>2]=0,n[u>>2]=n[ft>>2],n[u+4>>2]=n[ft+4>>2],hPe(o,4578,u)|0,n[Ze>>2]=20,n[Ze+4>>2]=0,n[u>>2]=n[Ze>>2],n[u+4>>2]=n[Ze+4>>2],gPe(o,4587,u)|0,n[nt>>2]=22,n[nt+4>>2]=0,n[u>>2]=n[nt>>2],n[u+4>>2]=n[nt+4>>2],Qr(o,4602,u)|0,n[Te>>2]=23,n[Te+4>>2]=0,n[u>>2]=n[Te>>2],n[u+4>>2]=n[Te+4>>2],Qr(o,4619,u)|0,n[Le>>2]=14,n[Le+4>>2]=0,n[u>>2]=n[Le>>2],n[u+4>>2]=n[Le+4>>2],dPe(o,4629,u)|0,n[Ve>>2]=1,n[Ve+4>>2]=0,n[u>>2]=n[Ve>>2],n[u+4>>2]=n[Ve+4>>2],mPe(o,4637,u)|0,n[oe>>2]=4,n[oe+4>>2]=0,n[u>>2]=n[oe>>2],n[u+4>>2]=n[oe+4>>2],rp(o,4653,u)|0,n[q>>2]=5,n[q+4>>2]=0,n[u>>2]=n[q>>2],n[u+4>>2]=n[q+4>>2],rp(o,4669,u)|0,n[L>>2]=6,n[L+4>>2]=0,n[u>>2]=n[L>>2],n[u+4>>2]=n[L+4>>2],rp(o,4686,u)|0,n[M>>2]=7,n[M+4>>2]=0,n[u>>2]=n[M>>2],n[u+4>>2]=n[M+4>>2],rp(o,4701,u)|0,n[R>>2]=8,n[R+4>>2]=0,n[u>>2]=n[R>>2],n[u+4>>2]=n[R+4>>2],rp(o,4719,u)|0,n[k>>2]=9,n[k+4>>2]=0,n[u>>2]=n[k>>2],n[u+4>>2]=n[k+4>>2],rp(o,4736,u)|0,n[B>>2]=21,n[B+4>>2]=0,n[u>>2]=n[B>>2],n[u+4>>2]=n[B+4>>2],yPe(o,4754,u)|0,n[m>>2]=2,n[m+4>>2]=0,n[u>>2]=n[m>>2],n[u+4>>2]=n[m+4>>2],QP(o,4772,u)|0,n[d>>2]=3,n[d+4>>2]=0,n[u>>2]=n[d>>2],n[u+4>>2]=n[d+4>>2],QP(o,4790,u)|0,n[A>>2]=4,n[A+4>>2]=0,n[u>>2]=n[A>>2],n[u+4>>2]=n[A+4>>2],QP(o,4808,u)|0,I=l}function dt(o,l){o=o|0,l=l|0;var u=0;u=vNe()|0,n[o>>2]=u,SNe(u,l),Hh(n[o>>2]|0)}function Xt(o,l,u){return o=o|0,l=l|0,u=u|0,uNe(o,Sn(l)|0,u,0),o|0}function Dr(o,l,u){return o=o|0,l=l|0,u=u|0,JFe(o,Sn(l)|0,u,0),o|0}function ti(o,l,u){return o=o|0,l=l|0,u=u|0,FFe(o,Sn(l)|0,u,0),o|0}function Qr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yFe(o,l,d),I=A,o|0}function Nn(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Te(o,l,d),I=A,o|0}function Hn(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LTe(o,l,d),I=A,o|0}function zr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],CTe(o,l,d),I=A,o|0}function ui(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],sTe(o,l,d),I=A,o|0}function Su(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GRe(o,l,d),I=A,o|0}function JL(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bRe(o,l,d),I=A,o|0}function id(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Qe(o,l,d),I=A,o|0}function rp(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LQe(o,l,d),I=A,o|0}function QP(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],CQe(o,l,d),I=A,o|0}function uPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],sQe(o,l,d),I=A,o|0}function fPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gke(o,l,d),I=A,o|0}function APe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Pke(o,l,d),I=A,o|0}function pPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],pke(o,l,d),I=A,o|0}function hPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zxe(o,l,d),I=A,o|0}function gPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Txe(o,l,d),I=A,o|0}function dPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mxe(o,l,d),I=A,o|0}function mPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Pe(o,l,d),I=A,o|0}function yPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EPe(o,l,d),I=A,o|0}function EPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IPe(o,u,d,1),I=A}function Sn(o){return o=o|0,o|0}function IPe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=KL()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=CPe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,wPe(m,A)|0,A),I=d}function KL(){var o=0,l=0;if(s[7616]|0||(UK(9136),gr(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(_r(9136)|0)){o=9136,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));UK(9136)}return 9136}function CPe(o){return o=o|0,0}function wPe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=KL()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],MK(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(SPe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function Dn(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0;B=I,I=I+32|0,oe=B+24|0,q=B+20|0,R=B+16|0,L=B+12|0,M=B+8|0,k=B+4|0,Ve=B,n[q>>2]=l,n[R>>2]=u,n[L>>2]=A,n[M>>2]=d,n[k>>2]=m,m=o+28|0,n[Ve>>2]=n[m>>2],n[oe>>2]=n[Ve>>2],BPe(o+24|0,oe,q,L,M,R,k)|0,n[m>>2]=n[n[m>>2]>>2],I=B}function BPe(o,l,u,A,d,m,B){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0,o=vPe(l)|0,l=Kt(24)|0,LK(l+4|0,n[u>>2]|0,n[A>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[o>>2],n[o>>2]=l,l|0}function vPe(o){return o=o|0,n[o>>2]|0}function LK(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,n[o>>2]=l,n[o+4>>2]=u,n[o+8>>2]=A,n[o+12>>2]=d,n[o+16>>2]=m}function yr(o,l){return o=o|0,l=l|0,l|o|0}function MK(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function SPe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=DPe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,bPe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],MK(m,A,u),n[R>>2]=(n[R>>2]|0)+12,PPe(o,k),xPe(k),I=M;return}}function DPe(o){return o=o|0,357913941}function bPe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function PPe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function xPe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function UK(o){o=o|0,RPe(o)}function kPe(o){o=o|0,QPe(o+24|0)}function _r(o){return o=o|0,n[o>>2]|0}function QPe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function RPe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,3,l,TPe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function tn(){return 9228}function TPe(){return 1140}function FPe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=NPe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=OPe(l,A)|0,I=u,l|0}function rn(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,n[o>>2]=l,n[o+4>>2]=u,n[o+8>>2]=A,n[o+12>>2]=d,n[o+16>>2]=m}function NPe(o){return o=o|0,(n[(KL()|0)+24>>2]|0)+(o*12|0)|0}function OPe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;return d=I,I=I+48|0,A=d,u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),ap[u&31](A,o),A=LPe(A)|0,I=d,A|0}function LPe(o){o=o|0;var l=0,u=0,A=0,d=0;return d=I,I=I+32|0,l=d+12|0,u=d,A=zL(_K()|0)|0,A?(XL(l,A),ZL(u,l),MPe(o,u),o=$L(l)|0):o=UPe(o)|0,I=d,o|0}function _K(){var o=0;return s[7632]|0||(KPe(9184),gr(25,9184,U|0)|0,o=7632,n[o>>2]=1,n[o+4>>2]=0),9184}function zL(o){return o=o|0,n[o+36>>2]|0}function XL(o,l){o=o|0,l=l|0,n[o>>2]=l,n[o+4>>2]=o,n[o+8>>2]=0}function ZL(o,l){o=o|0,l=l|0,n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=0}function MPe(o,l){o=o|0,l=l|0,GPe(l,o,o+8|0,o+16|0,o+24|0,o+32|0,o+40|0)|0}function $L(o){return o=o|0,n[(n[o+4>>2]|0)+8>>2]|0}function UPe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,R=0;R=I,I=I+16|0,u=R+4|0,A=R,d=_l(8)|0,m=d,B=Kt(48)|0,k=B,l=k+48|0;do n[k>>2]=n[o>>2],k=k+4|0,o=o+4|0;while((k|0)<(l|0));return l=m+4|0,n[l>>2]=B,k=Kt(8)|0,B=n[l>>2]|0,n[A>>2]=0,n[u>>2]=n[A>>2],HK(k,B,u),n[d>>2]=k,I=R,m|0}function HK(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Kt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1092,n[u+12>>2]=l,n[o+4>>2]=u}function _Pe(o){o=o|0,rE(o),It(o)}function HPe(o){o=o|0,o=n[o+12>>2]|0,o|0&&It(o)}function jPe(o){o=o|0,It(o)}function GPe(o,l,u,A,d,m,B){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0,m=qPe(n[o>>2]|0,l,u,A,d,m,B)|0,B=o+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function qPe(o,l,u,A,d,m,B){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0;var k=0,R=0;return k=I,I=I+16|0,R=k,Hl(R),o=Us(o)|0,B=WPe(o,+E[l>>3],+E[u>>3],+E[A>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,jl(R),I=k,B|0}function WPe(o,l,u,A,d,m,B){o=o|0,l=+l,u=+u,A=+A,d=+d,m=+m,B=+B;var k=0;return k=Ca(YPe()|0)|0,l=+rl(l),u=+rl(u),A=+rl(A),d=+rl(d),m=+rl(m),lo(0,k|0,o|0,+l,+u,+A,+d,+m,+ +rl(B))|0}function YPe(){var o=0;return s[7624]|0||(VPe(9172),o=7624,n[o>>2]=1,n[o+4>>2]=0),9172}function VPe(o){o=o|0,Lo(o,JPe()|0,6)}function JPe(){return 1112}function KPe(o){o=o|0,Oh(o)}function zPe(o){o=o|0,jK(o+24|0),GK(o+16|0)}function jK(o){o=o|0,ZPe(o)}function GK(o){o=o|0,XPe(o)}function XPe(o){o=o|0;var l=0,u=0;if(l=n[o>>2]|0,l|0)do u=l,l=n[l>>2]|0,It(u);while(l|0);n[o>>2]=0}function ZPe(o){o=o|0;var l=0,u=0;if(l=n[o>>2]|0,l|0)do u=l,l=n[l>>2]|0,It(u);while(l|0);n[o>>2]=0}function Oh(o){o=o|0;var l=0;n[o+16>>2]=0,n[o+20>>2]=0,l=o+24|0,n[l>>2]=0,n[o+28>>2]=l,n[o+36>>2]=0,s[o+40>>0]=0,s[o+41>>0]=0}function $Pe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],exe(o,u,d,0),I=A}function exe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=eM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=txe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,rxe(m,A)|0,A),I=d}function eM(){var o=0,l=0;if(s[7640]|0||(WK(9232),gr(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(_r(9232)|0)){o=9232,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));WK(9232)}return 9232}function txe(o){return o=o|0,0}function rxe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=eM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],qK(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(nxe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function qK(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function nxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=ixe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,sxe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],qK(m,A,u),n[R>>2]=(n[R>>2]|0)+12,oxe(o,k),axe(k),I=M;return}}function ixe(o){return o=o|0,357913941}function sxe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function oxe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function axe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function WK(o){o=o|0,uxe(o)}function lxe(o){o=o|0,cxe(o+24|0)}function cxe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function uxe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,1,l,fxe()|0,3),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function fxe(){return 1144}function Axe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0;var m=0,B=0,k=0,R=0;m=I,I=I+16|0,B=m+8|0,k=m,R=pxe(o)|0,o=n[R+4>>2]|0,n[k>>2]=n[R>>2],n[k+4>>2]=o,n[B>>2]=n[k>>2],n[B+4>>2]=n[k+4>>2],hxe(l,B,u,A,d),I=m}function pxe(o){return o=o|0,(n[(eM()|0)+24>>2]|0)+(o*12|0)|0}function hxe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0;var m=0,B=0,k=0,R=0,M=0;M=I,I=I+16|0,B=M+2|0,k=M+1|0,R=M,m=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(m=n[(n[o>>2]|0)+m>>2]|0),Ff(B,u),u=+Nf(B,u),Ff(k,A),A=+Nf(k,A),np(R,d),R=ip(R,d)|0,oZ[m&1](o,u,A,R),I=M}function Ff(o,l){o=o|0,l=+l}function Nf(o,l){return o=o|0,l=+l,+ +dxe(l)}function np(o,l){o=o|0,l=l|0}function ip(o,l){return o=o|0,l=l|0,gxe(l)|0}function gxe(o){return o=o|0,o|0}function dxe(o){return o=+o,+o}function mxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yxe(o,u,d,1),I=A}function yxe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=tM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=Exe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,Ixe(m,A)|0,A),I=d}function tM(){var o=0,l=0;if(s[7648]|0||(VK(9268),gr(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(_r(9268)|0)){o=9268,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));VK(9268)}return 9268}function Exe(o){return o=o|0,0}function Ixe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=tM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],YK(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(Cxe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function YK(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function Cxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=wxe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,Bxe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],YK(m,A,u),n[R>>2]=(n[R>>2]|0)+12,vxe(o,k),Sxe(k),I=M;return}}function wxe(o){return o=o|0,357913941}function Bxe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function vxe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Sxe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function VK(o){o=o|0,Pxe(o)}function Dxe(o){o=o|0,bxe(o+24|0)}function bxe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function Pxe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,4,l,xxe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function xxe(){return 1160}function kxe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=Qxe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=Rxe(l,A)|0,I=u,l|0}function Qxe(o){return o=o|0,(n[(tM()|0)+24>>2]|0)+(o*12|0)|0}function Rxe(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),JK(pd[u&31](o)|0)|0}function JK(o){return o=o|0,o&1|0}function Txe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Fxe(o,u,d,0),I=A}function Fxe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=rM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=Nxe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,Oxe(m,A)|0,A),I=d}function rM(){var o=0,l=0;if(s[7656]|0||(zK(9304),gr(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(_r(9304)|0)){o=9304,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));zK(9304)}return 9304}function Nxe(o){return o=o|0,0}function Oxe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=rM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],KK(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(Lxe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function KK(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function Lxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=Mxe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,Uxe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],KK(m,A,u),n[R>>2]=(n[R>>2]|0)+12,_xe(o,k),Hxe(k),I=M;return}}function Mxe(o){return o=o|0,357913941}function Uxe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function _xe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Hxe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function zK(o){o=o|0,qxe(o)}function jxe(o){o=o|0,Gxe(o+24|0)}function Gxe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function qxe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,5,l,Wxe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function Wxe(){return 1164}function Yxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=Vxe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Jxe(l,d,u),I=A}function Vxe(o){return o=o|0,(n[(rM()|0)+24>>2]|0)+(o*12|0)|0}function Jxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),Lh(d,u),u=Mh(d,u)|0,ap[A&31](o,u),Uh(d),I=m}function Lh(o,l){o=o|0,l=l|0,Kxe(o,l)}function Mh(o,l){return o=o|0,l=l|0,o|0}function Uh(o){o=o|0,Pf(o)}function Kxe(o,l){o=o|0,l=l|0,nM(o,l)}function nM(o,l){o=o|0,l=l|0,n[o>>2]=l}function zxe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Xxe(o,u,d,0),I=A}function Xxe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=iM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=Zxe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,$xe(m,A)|0,A),I=d}function iM(){var o=0,l=0;if(s[7664]|0||(ZK(9340),gr(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(_r(9340)|0)){o=9340,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));ZK(9340)}return 9340}function Zxe(o){return o=o|0,0}function $xe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=iM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],XK(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(eke(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function XK(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function eke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=tke(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,rke(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],XK(m,A,u),n[R>>2]=(n[R>>2]|0)+12,nke(o,k),ike(k),I=M;return}}function tke(o){return o=o|0,357913941}function rke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function nke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function ike(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function ZK(o){o=o|0,ake(o)}function ske(o){o=o|0,oke(o+24|0)}function oke(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function ake(o){o=o|0;var l=0;l=tn()|0,rn(o,2,4,l,lke()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function lke(){return 1180}function cke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=uke(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=fke(l,d,u)|0,I=A,u|0}function uke(o){return o=o|0,(n[(iM()|0)+24>>2]|0)+(o*12|0)|0}function fke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;return m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),sd(d,u),d=od(d,u)|0,d=RP(eU[A&15](o,d)|0)|0,I=m,d|0}function sd(o,l){o=o|0,l=l|0}function od(o,l){return o=o|0,l=l|0,Ake(l)|0}function RP(o){return o=o|0,o|0}function Ake(o){return o=o|0,o|0}function pke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hke(o,u,d,0),I=A}function hke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=sM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=gke(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,dke(m,A)|0,A),I=d}function sM(){var o=0,l=0;if(s[7672]|0||(ez(9376),gr(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(_r(9376)|0)){o=9376,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));ez(9376)}return 9376}function gke(o){return o=o|0,0}function dke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=sM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],$K(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(mke(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function $K(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function mke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=yke(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,Eke(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],$K(m,A,u),n[R>>2]=(n[R>>2]|0)+12,Ike(o,k),Cke(k),I=M;return}}function yke(o){return o=o|0,357913941}function Eke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function Ike(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Cke(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function ez(o){o=o|0,vke(o)}function wke(o){o=o|0,Bke(o+24|0)}function Bke(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function vke(o){o=o|0;var l=0;l=tn()|0,rn(o,2,5,l,tz()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function tz(){return 1196}function Ske(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=Dke(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=bke(l,A)|0,I=u,l|0}function Dke(o){return o=o|0,(n[(sM()|0)+24>>2]|0)+(o*12|0)|0}function bke(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),RP(pd[u&31](o)|0)|0}function Pke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xke(o,u,d,1),I=A}function xke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=oM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=kke(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,Qke(m,A)|0,A),I=d}function oM(){var o=0,l=0;if(s[7680]|0||(nz(9412),gr(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(_r(9412)|0)){o=9412,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));nz(9412)}return 9412}function kke(o){return o=o|0,0}function Qke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=oM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],rz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(Rke(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function rz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function Rke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=Tke(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,Fke(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],rz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,Nke(o,k),Oke(k),I=M;return}}function Tke(o){return o=o|0,357913941}function Fke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function Nke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Oke(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function nz(o){o=o|0,Uke(o)}function Lke(o){o=o|0,Mke(o+24|0)}function Mke(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function Uke(o){o=o|0;var l=0;l=tn()|0,rn(o,2,6,l,iz()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function iz(){return 1200}function _ke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=Hke(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=jke(l,A)|0,I=u,l|0}function Hke(o){return o=o|0,(n[(oM()|0)+24>>2]|0)+(o*12|0)|0}function jke(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),TP(pd[u&31](o)|0)|0}function TP(o){return o=o|0,o|0}function Gke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qke(o,u,d,0),I=A}function qke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=aM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=Wke(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,Yke(m,A)|0,A),I=d}function aM(){var o=0,l=0;if(s[7688]|0||(oz(9448),gr(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(_r(9448)|0)){o=9448,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));oz(9448)}return 9448}function Wke(o){return o=o|0,0}function Yke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=aM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],sz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(Vke(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function sz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function Vke(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=Jke(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,Kke(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],sz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,zke(o,k),Xke(k),I=M;return}}function Jke(o){return o=o|0,357913941}function Kke(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function zke(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function Xke(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function oz(o){o=o|0,eQe(o)}function Zke(o){o=o|0,$ke(o+24|0)}function $ke(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function eQe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,6,l,az()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function az(){return 1204}function tQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=rQe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nQe(l,d,u),I=A}function rQe(o){return o=o|0,(n[(aM()|0)+24>>2]|0)+(o*12|0)|0}function nQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),lM(d,u),d=cM(d,u)|0,ap[A&31](o,d),I=m}function lM(o,l){o=o|0,l=l|0}function cM(o,l){return o=o|0,l=l|0,iQe(l)|0}function iQe(o){return o=o|0,o|0}function sQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oQe(o,u,d,0),I=A}function oQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=uM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=aQe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,lQe(m,A)|0,A),I=d}function uM(){var o=0,l=0;if(s[7696]|0||(cz(9484),gr(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(_r(9484)|0)){o=9484,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));cz(9484)}return 9484}function aQe(o){return o=o|0,0}function lQe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=uM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],lz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(cQe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function lz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function cQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=uQe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,fQe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],lz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,AQe(o,k),pQe(k),I=M;return}}function uQe(o){return o=o|0,357913941}function fQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function AQe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function pQe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function cz(o){o=o|0,dQe(o)}function hQe(o){o=o|0,gQe(o+24|0)}function gQe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function dQe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,1,l,mQe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function mQe(){return 1212}function yQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+8|0,B=d,k=EQe(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],IQe(l,m,u,A),I=d}function EQe(o){return o=o|0,(n[(uM()|0)+24>>2]|0)+(o*12|0)|0}function IQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;k=I,I=I+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(d=n[(n[o>>2]|0)+d>>2]|0),lM(m,u),m=cM(m,u)|0,sd(B,A),B=od(B,A)|0,D2[d&15](o,m,B),I=k}function CQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wQe(o,u,d,1),I=A}function wQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=fM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=BQe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,vQe(m,A)|0,A),I=d}function fM(){var o=0,l=0;if(s[7704]|0||(fz(9520),gr(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(_r(9520)|0)){o=9520,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));fz(9520)}return 9520}function BQe(o){return o=o|0,0}function vQe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=fM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],uz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(SQe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function uz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function SQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=DQe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,bQe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],uz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,PQe(o,k),xQe(k),I=M;return}}function DQe(o){return o=o|0,357913941}function bQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function PQe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function xQe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function fz(o){o=o|0,RQe(o)}function kQe(o){o=o|0,QQe(o+24|0)}function QQe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function RQe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,1,l,TQe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function TQe(){return 1224}function FQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;return d=I,I=I+16|0,m=d+8|0,B=d,k=NQe(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],A=+OQe(l,m,u),I=d,+A}function NQe(o){return o=o|0,(n[(fM()|0)+24>>2]|0)+(o*12|0)|0}function OQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(d,u),d=ip(d,u)|0,B=+Tf(+lZ[A&7](o,d)),I=m,+B}function LQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MQe(o,u,d,1),I=A}function MQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=AM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=UQe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,_Qe(m,A)|0,A),I=d}function AM(){var o=0,l=0;if(s[7712]|0||(pz(9556),gr(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(_r(9556)|0)){o=9556,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));pz(9556)}return 9556}function UQe(o){return o=o|0,0}function _Qe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=AM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Az(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(HQe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function Az(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function HQe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=jQe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,GQe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],Az(m,A,u),n[R>>2]=(n[R>>2]|0)+12,qQe(o,k),WQe(k),I=M;return}}function jQe(o){return o=o|0,357913941}function GQe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function qQe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function WQe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function pz(o){o=o|0,JQe(o)}function YQe(o){o=o|0,VQe(o+24|0)}function VQe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function JQe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,5,l,KQe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function KQe(){return 1232}function zQe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=XQe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=+ZQe(l,d),I=A,+u}function XQe(o){return o=o|0,(n[(AM()|0)+24>>2]|0)+(o*12|0)|0}function ZQe(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),+ +Tf(+aZ[u&15](o))}function $Qe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eRe(o,u,d,1),I=A}function eRe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=pM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=tRe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,rRe(m,A)|0,A),I=d}function pM(){var o=0,l=0;if(s[7720]|0||(gz(9592),gr(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(_r(9592)|0)){o=9592,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));gz(9592)}return 9592}function tRe(o){return o=o|0,0}function rRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=pM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],hz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(nRe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function hz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function nRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=iRe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,sRe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],hz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,oRe(o,k),aRe(k),I=M;return}}function iRe(o){return o=o|0,357913941}function sRe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function oRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function aRe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function gz(o){o=o|0,uRe(o)}function lRe(o){o=o|0,cRe(o+24|0)}function cRe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function uRe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,7,l,fRe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function fRe(){return 1276}function ARe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=pRe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=hRe(l,A)|0,I=u,l|0}function pRe(o){return o=o|0,(n[(pM()|0)+24>>2]|0)+(o*12|0)|0}function hRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;return d=I,I=I+16|0,A=d,u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),ap[u&31](A,o),A=dz(A)|0,I=d,A|0}function dz(o){o=o|0;var l=0,u=0,A=0,d=0;return d=I,I=I+32|0,l=d+12|0,u=d,A=zL(mz()|0)|0,A?(XL(l,A),ZL(u,l),gRe(o,u),o=$L(l)|0):o=dRe(o)|0,I=d,o|0}function mz(){var o=0;return s[7736]|0||(DRe(9640),gr(25,9640,U|0)|0,o=7736,n[o>>2]=1,n[o+4>>2]=0),9640}function gRe(o,l){o=o|0,l=l|0,IRe(l,o,o+8|0)|0}function dRe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;return u=I,I=I+16|0,d=u+4|0,B=u,A=_l(8)|0,l=A,k=Kt(16)|0,n[k>>2]=n[o>>2],n[k+4>>2]=n[o+4>>2],n[k+8>>2]=n[o+8>>2],n[k+12>>2]=n[o+12>>2],m=l+4|0,n[m>>2]=k,o=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],hM(o,m,d),n[A>>2]=o,I=u,l|0}function hM(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Kt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1244,n[u+12>>2]=l,n[o+4>>2]=u}function mRe(o){o=o|0,rE(o),It(o)}function yRe(o){o=o|0,o=n[o+12>>2]|0,o|0&&It(o)}function ERe(o){o=o|0,It(o)}function IRe(o,l,u){return o=o|0,l=l|0,u=u|0,l=CRe(n[o>>2]|0,l,u)|0,u=o+4|0,n[(n[u>>2]|0)+8>>2]=l,n[(n[u>>2]|0)+8>>2]|0}function CRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;return A=I,I=I+16|0,d=A,Hl(d),o=Us(o)|0,u=wRe(o,n[l>>2]|0,+E[u>>3])|0,jl(d),I=A,u|0}function wRe(o,l,u){o=o|0,l=l|0,u=+u;var A=0;return A=Ca(BRe()|0)|0,l=Ky(l)|0,ou(0,A|0,o|0,l|0,+ +rl(u))|0}function BRe(){var o=0;return s[7728]|0||(vRe(9628),o=7728,n[o>>2]=1,n[o+4>>2]=0),9628}function vRe(o){o=o|0,Lo(o,SRe()|0,2)}function SRe(){return 1264}function DRe(o){o=o|0,Oh(o)}function bRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PRe(o,u,d,1),I=A}function PRe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=gM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=xRe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,kRe(m,A)|0,A),I=d}function gM(){var o=0,l=0;if(s[7744]|0||(Ez(9684),gr(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(_r(9684)|0)){o=9684,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Ez(9684)}return 9684}function xRe(o){return o=o|0,0}function kRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=gM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],yz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(QRe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function yz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function QRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=RRe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,TRe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],yz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,FRe(o,k),NRe(k),I=M;return}}function RRe(o){return o=o|0,357913941}function TRe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function FRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function NRe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Ez(o){o=o|0,MRe(o)}function ORe(o){o=o|0,LRe(o+24|0)}function LRe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function MRe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,5,l,URe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function URe(){return 1280}function _Re(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=HRe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=jRe(l,d,u)|0,I=A,u|0}function HRe(o){return o=o|0,(n[(gM()|0)+24>>2]|0)+(o*12|0)|0}function jRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return B=I,I=I+32|0,d=B,m=B+16|0,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(m,u),m=ip(m,u)|0,D2[A&15](d,o,m),m=dz(d)|0,I=B,m|0}function GRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qRe(o,u,d,1),I=A}function qRe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=dM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=WRe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,YRe(m,A)|0,A),I=d}function dM(){var o=0,l=0;if(s[7752]|0||(Cz(9720),gr(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(_r(9720)|0)){o=9720,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Cz(9720)}return 9720}function WRe(o){return o=o|0,0}function YRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=dM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Iz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(VRe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function Iz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function VRe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=JRe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,KRe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],Iz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,zRe(o,k),XRe(k),I=M;return}}function JRe(o){return o=o|0,357913941}function KRe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function zRe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function XRe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Cz(o){o=o|0,eTe(o)}function ZRe(o){o=o|0,$Re(o+24|0)}function $Re(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function eTe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,8,l,tTe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function tTe(){return 1288}function rTe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;return u=I,I=I+16|0,A=u+8|0,d=u,m=nTe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],l=iTe(l,A)|0,I=u,l|0}function nTe(o){return o=o|0,(n[(dM()|0)+24>>2]|0)+(o*12|0)|0}function iTe(o,l){o=o|0,l=l|0;var u=0;return u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),nd(pd[u&31](o)|0)|0}function sTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oTe(o,u,d,0),I=A}function oTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=mM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=aTe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,lTe(m,A)|0,A),I=d}function mM(){var o=0,l=0;if(s[7760]|0||(Bz(9756),gr(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(_r(9756)|0)){o=9756,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Bz(9756)}return 9756}function aTe(o){return o=o|0,0}function lTe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=mM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],wz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(cTe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function wz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function cTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=uTe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,fTe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],wz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,ATe(o,k),pTe(k),I=M;return}}function uTe(o){return o=o|0,357913941}function fTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function ATe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function pTe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Bz(o){o=o|0,dTe(o)}function hTe(o){o=o|0,gTe(o+24|0)}function gTe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function dTe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,8,l,mTe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function mTe(){return 1292}function yTe(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=ETe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ITe(l,d,u),I=A}function ETe(o){return o=o|0,(n[(mM()|0)+24>>2]|0)+(o*12|0)|0}function ITe(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),Ff(d,u),u=+Nf(d,u),iZ[A&31](o,u),I=m}function CTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wTe(o,u,d,0),I=A}function wTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=yM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=BTe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,vTe(m,A)|0,A),I=d}function yM(){var o=0,l=0;if(s[7768]|0||(Sz(9792),gr(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(_r(9792)|0)){o=9792,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Sz(9792)}return 9792}function BTe(o){return o=o|0,0}function vTe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=yM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],vz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(STe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function vz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function STe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=DTe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,bTe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],vz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,PTe(o,k),xTe(k),I=M;return}}function DTe(o){return o=o|0,357913941}function bTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function PTe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function xTe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Sz(o){o=o|0,RTe(o)}function kTe(o){o=o|0,QTe(o+24|0)}function QTe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function RTe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,1,l,TTe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function TTe(){return 1300}function FTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+8|0,B=d,k=NTe(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],OTe(l,m,u,A),I=d}function NTe(o){return o=o|0,(n[(yM()|0)+24>>2]|0)+(o*12|0)|0}function OTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A;var d=0,m=0,B=0,k=0;k=I,I=I+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(d=n[(n[o>>2]|0)+d>>2]|0),np(m,u),m=ip(m,u)|0,Ff(B,A),A=+Nf(B,A),AZ[d&15](o,m,A),I=k}function LTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MTe(o,u,d,0),I=A}function MTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=EM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=UTe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,_Te(m,A)|0,A),I=d}function EM(){var o=0,l=0;if(s[7776]|0||(bz(9828),gr(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(_r(9828)|0)){o=9828,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));bz(9828)}return 9828}function UTe(o){return o=o|0,0}function _Te(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=EM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Dz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(HTe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function Dz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function HTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=jTe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,GTe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],Dz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,qTe(o,k),WTe(k),I=M;return}}function jTe(o){return o=o|0,357913941}function GTe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function qTe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function WTe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function bz(o){o=o|0,JTe(o)}function YTe(o){o=o|0,VTe(o+24|0)}function VTe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function JTe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,7,l,KTe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function KTe(){return 1312}function zTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=XTe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZTe(l,d,u),I=A}function XTe(o){return o=o|0,(n[(EM()|0)+24>>2]|0)+(o*12|0)|0}function ZTe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(d,u),d=ip(d,u)|0,ap[A&31](o,d),I=m}function $Te(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eFe(o,u,d,0),I=A}function eFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=IM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=tFe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,rFe(m,A)|0,A),I=d}function IM(){var o=0,l=0;if(s[7784]|0||(xz(9864),gr(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(_r(9864)|0)){o=9864,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));xz(9864)}return 9864}function tFe(o){return o=o|0,0}function rFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=IM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Pz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(nFe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function Pz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function nFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=iFe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,sFe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],Pz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,oFe(o,k),aFe(k),I=M;return}}function iFe(o){return o=o|0,357913941}function sFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function oFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function aFe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function xz(o){o=o|0,uFe(o)}function lFe(o){o=o|0,cFe(o+24|0)}function cFe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function uFe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,8,l,fFe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function fFe(){return 1320}function AFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=pFe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hFe(l,d,u),I=A}function pFe(o){return o=o|0,(n[(IM()|0)+24>>2]|0)+(o*12|0)|0}function hFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),gFe(d,u),d=dFe(d,u)|0,ap[A&31](o,d),I=m}function gFe(o,l){o=o|0,l=l|0}function dFe(o,l){return o=o|0,l=l|0,mFe(l)|0}function mFe(o){return o=o|0,o|0}function yFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EFe(o,u,d,0),I=A}function EFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=CM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=IFe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,CFe(m,A)|0,A),I=d}function CM(){var o=0,l=0;if(s[7792]|0||(Qz(9900),gr(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(_r(9900)|0)){o=9900,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Qz(9900)}return 9900}function IFe(o){return o=o|0,0}function CFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=CM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],kz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(wFe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function kz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function wFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=BFe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,vFe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],kz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,SFe(o,k),DFe(k),I=M;return}}function BFe(o){return o=o|0,357913941}function vFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function SFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function DFe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Qz(o){o=o|0,xFe(o)}function bFe(o){o=o|0,PFe(o+24|0)}function PFe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function xFe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,22,l,kFe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function kFe(){return 1344}function QFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0;u=I,I=I+16|0,A=u+8|0,d=u,m=RFe(o)|0,o=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=o,n[A>>2]=n[d>>2],n[A+4>>2]=n[d+4>>2],TFe(l,A),I=u}function RFe(o){return o=o|0,(n[(CM()|0)+24>>2]|0)+(o*12|0)|0}function TFe(o,l){o=o|0,l=l|0;var u=0;u=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(u=n[(n[o>>2]|0)+u>>2]|0),op[u&127](o)}function FFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=wM()|0,o=NFe(u)|0,Dn(m,l,d,o,OFe(u,A)|0,A)}function wM(){var o=0,l=0;if(s[7800]|0||(Tz(9936),gr(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(_r(9936)|0)){o=9936,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Tz(9936)}return 9936}function NFe(o){return o=o|0,o|0}function OFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=wM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(Rz(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(LFe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function Rz(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function LFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=MFe(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,UFe(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,Rz(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,_Fe(o,d),HFe(d),I=k;return}}function MFe(o){return o=o|0,536870911}function UFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function _Fe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function HFe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function Tz(o){o=o|0,qFe(o)}function jFe(o){o=o|0,GFe(o+24|0)}function GFe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function qFe(o){o=o|0;var l=0;l=tn()|0,rn(o,1,23,l,az()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function WFe(o,l){o=o|0,l=l|0,VFe(n[(YFe(o)|0)>>2]|0,l)}function YFe(o){return o=o|0,(n[(wM()|0)+24>>2]|0)+(o<<3)|0}function VFe(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,lM(A,l),l=cM(A,l)|0,op[o&127](l),I=u}function JFe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=BM()|0,o=KFe(u)|0,Dn(m,l,d,o,zFe(u,A)|0,A)}function BM(){var o=0,l=0;if(s[7808]|0||(Nz(9972),gr(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(_r(9972)|0)){o=9972,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Nz(9972)}return 9972}function KFe(o){return o=o|0,o|0}function zFe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=BM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(Fz(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(XFe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function Fz(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function XFe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=ZFe(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,$Fe(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,Fz(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,eNe(o,d),tNe(d),I=k;return}}function ZFe(o){return o=o|0,536870911}function $Fe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function eNe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function tNe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function Nz(o){o=o|0,iNe(o)}function rNe(o){o=o|0,nNe(o+24|0)}function nNe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function iNe(o){o=o|0;var l=0;l=tn()|0,rn(o,1,9,l,sNe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function sNe(){return 1348}function oNe(o,l){return o=o|0,l=l|0,lNe(n[(aNe(o)|0)>>2]|0,l)|0}function aNe(o){return o=o|0,(n[(BM()|0)+24>>2]|0)+(o<<3)|0}function lNe(o,l){o=o|0,l=l|0;var u=0,A=0;return u=I,I=I+16|0,A=u,Oz(A,l),l=Lz(A,l)|0,l=RP(pd[o&31](l)|0)|0,I=u,l|0}function Oz(o,l){o=o|0,l=l|0}function Lz(o,l){return o=o|0,l=l|0,cNe(l)|0}function cNe(o){return o=o|0,o|0}function uNe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=vM()|0,o=fNe(u)|0,Dn(m,l,d,o,ANe(u,A)|0,A)}function vM(){var o=0,l=0;if(s[7816]|0||(Uz(10008),gr(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(_r(10008)|0)){o=10008,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Uz(10008)}return 10008}function fNe(o){return o=o|0,o|0}function ANe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=vM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(Mz(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(pNe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function Mz(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function pNe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=hNe(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,gNe(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,Mz(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,dNe(o,d),mNe(d),I=k;return}}function hNe(o){return o=o|0,536870911}function gNe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function dNe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function mNe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function Uz(o){o=o|0,INe(o)}function yNe(o){o=o|0,ENe(o+24|0)}function ENe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function INe(o){o=o|0;var l=0;l=tn()|0,rn(o,1,15,l,tz()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function CNe(o){return o=o|0,BNe(n[(wNe(o)|0)>>2]|0)|0}function wNe(o){return o=o|0,(n[(vM()|0)+24>>2]|0)+(o<<3)|0}function BNe(o){return o=o|0,RP(VP[o&7]()|0)|0}function vNe(){var o=0;return s[7832]|0||(RNe(10052),gr(25,10052,U|0)|0,o=7832,n[o>>2]=1,n[o+4>>2]=0),10052}function SNe(o,l){o=o|0,l=l|0,n[o>>2]=DNe()|0,n[o+4>>2]=bNe()|0,n[o+12>>2]=l,n[o+8>>2]=PNe()|0,n[o+32>>2]=2}function DNe(){return 11709}function bNe(){return 1188}function PNe(){return FP()|0}function xNe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(kNe(u),It(u)):l|0&&(Uy(l),It(l))}function _h(o,l){return o=o|0,l=l|0,l&o|0}function kNe(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function FP(){var o=0;return s[7824]|0||(n[2511]=QNe()|0,n[2512]=0,o=7824,n[o>>2]=1,n[o+4>>2]=0),10044}function QNe(){return 0}function RNe(o){o=o|0,Oh(o)}function TNe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0;l=I,I=I+32|0,u=l+24|0,m=l+16|0,d=l+8|0,A=l,FNe(o,4827),NNe(o,4834,3)|0,ONe(o,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[u>>2]=n[m>>2],n[u+4>>2]=n[m+4>>2],LNe(o,4841,u)|0,n[d>>2]=1,n[d+4>>2]=0,n[u>>2]=n[d>>2],n[u+4>>2]=n[d+4>>2],MNe(o,4871,u)|0,n[A>>2]=10,n[A+4>>2]=0,n[u>>2]=n[A>>2],n[u+4>>2]=n[A+4>>2],UNe(o,4891,u)|0,I=l}function FNe(o,l){o=o|0,l=l|0;var u=0;u=mLe()|0,n[o>>2]=u,yLe(u,l),Hh(n[o>>2]|0)}function NNe(o,l,u){return o=o|0,l=l|0,u=u|0,tLe(o,Sn(l)|0,u,0),o|0}function ONe(o,l,u){return o=o|0,l=l|0,u=u|0,_Oe(o,Sn(l)|0,u,0),o|0}function LNe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],COe(o,l,d),I=A,o|0}function MNe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rOe(o,l,d),I=A,o|0}function UNe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=n[u+4>>2]|0,n[m>>2]=n[u>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Ne(o,l,d),I=A,o|0}function _Ne(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HNe(o,u,d,1),I=A}function HNe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=SM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=jNe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,GNe(m,A)|0,A),I=d}function SM(){var o=0,l=0;if(s[7840]|0||(Hz(10100),gr(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(_r(10100)|0)){o=10100,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Hz(10100)}return 10100}function jNe(o){return o=o|0,0}function GNe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=SM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_z(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(qNe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function _z(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function qNe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=WNe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,YNe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],_z(m,A,u),n[R>>2]=(n[R>>2]|0)+12,VNe(o,k),JNe(k),I=M;return}}function WNe(o){return o=o|0,357913941}function YNe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function VNe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function JNe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Hz(o){o=o|0,XNe(o)}function KNe(o){o=o|0,zNe(o+24|0)}function zNe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function XNe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,6,l,ZNe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function ZNe(){return 1364}function $Ne(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;return A=I,I=I+16|0,d=A+8|0,m=A,B=eOe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],u=tOe(l,d,u)|0,I=A,u|0}function eOe(o){return o=o|0,(n[(SM()|0)+24>>2]|0)+(o*12|0)|0}function tOe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;return m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),np(d,u),d=ip(d,u)|0,d=JK(eU[A&15](o,d)|0)|0,I=m,d|0}function rOe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nOe(o,u,d,0),I=A}function nOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=DM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=iOe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,sOe(m,A)|0,A),I=d}function DM(){var o=0,l=0;if(s[7848]|0||(Gz(10136),gr(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(_r(10136)|0)){o=10136,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Gz(10136)}return 10136}function iOe(o){return o=o|0,0}function sOe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=DM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],jz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(oOe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function jz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function oOe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=aOe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,lOe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],jz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,cOe(o,k),uOe(k),I=M;return}}function aOe(o){return o=o|0,357913941}function lOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function cOe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function uOe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Gz(o){o=o|0,pOe(o)}function fOe(o){o=o|0,AOe(o+24|0)}function AOe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function pOe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,9,l,hOe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function hOe(){return 1372}function gOe(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,d=A+8|0,m=A,B=dOe(o)|0,o=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=o,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mOe(l,d,u),I=A}function dOe(o){return o=o|0,(n[(DM()|0)+24>>2]|0)+(o*12|0)|0}function mOe(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=$e;m=I,I=I+16|0,d=m,A=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(A=n[(n[o>>2]|0)+A>>2]|0),yOe(d,u),B=y(EOe(d,u)),nZ[A&1](o,B),I=m}function yOe(o,l){o=o|0,l=+l}function EOe(o,l){return o=o|0,l=+l,y(IOe(l))}function IOe(o){return o=+o,y(o)}function COe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,d=A+8|0,m=A,k=n[u>>2]|0,B=n[u+4>>2]|0,u=Sn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wOe(o,u,d,0),I=A}function wOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0,R=0,M=0,L=0;d=I,I=I+32|0,m=d+16|0,L=d+8|0,k=d,M=n[u>>2]|0,R=n[u+4>>2]|0,B=n[o>>2]|0,o=bM()|0,n[L>>2]=M,n[L+4>>2]=R,n[m>>2]=n[L>>2],n[m+4>>2]=n[L+4>>2],u=BOe(m)|0,n[k>>2]=M,n[k+4>>2]=R,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],Dn(B,l,o,u,vOe(m,A)|0,A),I=d}function bM(){var o=0,l=0;if(s[7856]|0||(Wz(10172),gr(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(_r(10172)|0)){o=10172,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Wz(10172)}return 10172}function BOe(o){return o=o|0,0}function vOe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0;return L=I,I=I+32|0,d=L+24|0,B=L+16|0,k=L,R=L+8|0,m=n[o>>2]|0,A=n[o+4>>2]|0,n[k>>2]=m,n[k+4>>2]=A,q=bM()|0,M=q+24|0,o=yr(l,4)|0,n[R>>2]=o,l=q+28|0,u=n[l>>2]|0,u>>>0<(n[q+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=A,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],qz(u,d,o),o=(n[l>>2]|0)+12|0,n[l>>2]=o):(SOe(M,k,R),o=n[l>>2]|0),I=L,((o-(n[M>>2]|0)|0)/12|0)+-1|0}function qz(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=n[l+4>>2]|0,n[o>>2]=n[l>>2],n[o+4>>2]=A,n[o+8>>2]=u}function SOe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;if(M=I,I=I+48|0,A=M+32|0,B=M+24|0,k=M,R=o+4|0,d=(((n[R>>2]|0)-(n[o>>2]|0)|0)/12|0)+1|0,m=DOe(o)|0,m>>>0>>0)an(o);else{L=n[o>>2]|0,oe=((n[o+8>>2]|0)-L|0)/12|0,q=oe<<1,bOe(k,oe>>>0>>1>>>0?q>>>0>>0?d:q:m,((n[R>>2]|0)-L|0)/12|0,o+8|0),R=k+8|0,m=n[R>>2]|0,d=n[l+4>>2]|0,u=n[u>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[A>>2]=n[B>>2],n[A+4>>2]=n[B+4>>2],qz(m,A,u),n[R>>2]=(n[R>>2]|0)+12,POe(o,k),xOe(k),I=M;return}}function DOe(o){return o=o|0,357913941}function bOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>357913941)Nt();else{d=Kt(l*12|0)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u*12|0)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l*12|0)}function POe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function xOe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~(((A+-12-l|0)>>>0)/12|0)*12|0)),o=n[o>>2]|0,o|0&&It(o)}function Wz(o){o=o|0,ROe(o)}function kOe(o){o=o|0,QOe(o+24|0)}function QOe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~(((l+-12-A|0)>>>0)/12|0)*12|0)),It(u))}function ROe(o){o=o|0;var l=0;l=tn()|0,rn(o,2,3,l,TOe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function TOe(){return 1380}function FOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+8|0,B=d,k=NOe(o)|0,o=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=o,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],OOe(l,m,u,A),I=d}function NOe(o){return o=o|0,(n[(bM()|0)+24>>2]|0)+(o*12|0)|0}function OOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;k=I,I=I+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,o=o+(l>>1)|0,l&1&&(d=n[(n[o>>2]|0)+d>>2]|0),np(m,u),m=ip(m,u)|0,LOe(B,A),B=MOe(B,A)|0,D2[d&15](o,m,B),I=k}function LOe(o,l){o=o|0,l=l|0}function MOe(o,l){return o=o|0,l=l|0,UOe(l)|0}function UOe(o){return o=o|0,(o|0)!=0|0}function _Oe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=PM()|0,o=HOe(u)|0,Dn(m,l,d,o,jOe(u,A)|0,A)}function PM(){var o=0,l=0;if(s[7864]|0||(Vz(10208),gr(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(_r(10208)|0)){o=10208,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Vz(10208)}return 10208}function HOe(o){return o=o|0,o|0}function jOe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=PM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(Yz(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(GOe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function Yz(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function GOe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=qOe(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,WOe(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,Yz(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,YOe(o,d),VOe(d),I=k;return}}function qOe(o){return o=o|0,536870911}function WOe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function YOe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function VOe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function Vz(o){o=o|0,zOe(o)}function JOe(o){o=o|0,KOe(o+24|0)}function KOe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function zOe(o){o=o|0;var l=0;l=tn()|0,rn(o,1,24,l,XOe()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function XOe(){return 1392}function ZOe(o,l){o=o|0,l=l|0,eLe(n[($Oe(o)|0)>>2]|0,l)}function $Oe(o){return o=o|0,(n[(PM()|0)+24>>2]|0)+(o<<3)|0}function eLe(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,Oz(A,l),l=Lz(A,l)|0,op[o&127](l),I=u}function tLe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=xM()|0,o=rLe(u)|0,Dn(m,l,d,o,nLe(u,A)|0,A)}function xM(){var o=0,l=0;if(s[7872]|0||(Kz(10244),gr(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(_r(10244)|0)){o=10244,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));Kz(10244)}return 10244}function rLe(o){return o=o|0,o|0}function nLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=xM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(Jz(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(iLe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function Jz(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function iLe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=sLe(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,oLe(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,Jz(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,aLe(o,d),lLe(d),I=k;return}}function sLe(o){return o=o|0,536870911}function oLe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function aLe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function lLe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function Kz(o){o=o|0,fLe(o)}function cLe(o){o=o|0,uLe(o+24|0)}function uLe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function fLe(o){o=o|0;var l=0;l=tn()|0,rn(o,1,16,l,ALe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function ALe(){return 1400}function pLe(o){return o=o|0,gLe(n[(hLe(o)|0)>>2]|0)|0}function hLe(o){return o=o|0,(n[(xM()|0)+24>>2]|0)+(o<<3)|0}function gLe(o){return o=o|0,dLe(VP[o&7]()|0)|0}function dLe(o){return o=o|0,o|0}function mLe(){var o=0;return s[7880]|0||(vLe(10280),gr(25,10280,U|0)|0,o=7880,n[o>>2]=1,n[o+4>>2]=0),10280}function yLe(o,l){o=o|0,l=l|0,n[o>>2]=ELe()|0,n[o+4>>2]=ILe()|0,n[o+12>>2]=l,n[o+8>>2]=CLe()|0,n[o+32>>2]=4}function ELe(){return 11711}function ILe(){return 1356}function CLe(){return FP()|0}function wLe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(BLe(u),It(u)):l|0&&(Vg(l),It(l))}function BLe(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function vLe(o){o=o|0,Oh(o)}function SLe(o){o=o|0,DLe(o,4920),bLe(o)|0,PLe(o)|0}function DLe(o,l){o=o|0,l=l|0;var u=0;u=mz()|0,n[o>>2]=u,KLe(u,l),Hh(n[o>>2]|0)}function bLe(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,ULe()|0),o|0}function PLe(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,xLe()|0),o|0}function xLe(){var o=0;return s[7888]|0||(zz(10328),gr(53,10328,U|0)|0,o=7888,n[o>>2]=1,n[o+4>>2]=0),_r(10328)|0||zz(10328),10328}function ad(o,l){o=o|0,l=l|0,Dn(o,0,l,0,0,0)}function zz(o){o=o|0,RLe(o),ld(o,10)}function kLe(o){o=o|0,QLe(o+24|0)}function QLe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function RLe(o){o=o|0;var l=0;l=tn()|0,rn(o,5,1,l,OLe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function TLe(o,l,u){o=o|0,l=l|0,u=+u,FLe(o,l,u)}function ld(o,l){o=o|0,l=l|0,n[o+20>>2]=l}function FLe(o,l,u){o=o|0,l=l|0,u=+u;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+16|0,m=A+8|0,k=A+13|0,d=A,B=A+12|0,np(k,l),n[m>>2]=ip(k,l)|0,Ff(B,u),E[d>>3]=+Nf(B,u),NLe(o,m,d),I=A}function NLe(o,l,u){o=o|0,l=l|0,u=u|0,Ul(o+8|0,n[l>>2]|0,+E[u>>3]),s[o+24>>0]=1}function OLe(){return 1404}function LLe(o,l){return o=o|0,l=+l,MLe(o,l)|0}function MLe(o,l){o=o|0,l=+l;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return A=I,I=I+16|0,m=A+4|0,B=A+8|0,k=A,d=_l(8)|0,u=d,R=Kt(16)|0,np(m,o),o=ip(m,o)|0,Ff(B,l),Ul(R,o,+Nf(B,l)),B=u+4|0,n[B>>2]=R,o=Kt(8)|0,B=n[B>>2]|0,n[k>>2]=0,n[m>>2]=n[k>>2],hM(o,B,m),n[d>>2]=o,I=A,u|0}function ULe(){var o=0;return s[7896]|0||(Xz(10364),gr(54,10364,U|0)|0,o=7896,n[o>>2]=1,n[o+4>>2]=0),_r(10364)|0||Xz(10364),10364}function Xz(o){o=o|0,jLe(o),ld(o,55)}function _Le(o){o=o|0,HLe(o+24|0)}function HLe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function jLe(o){o=o|0;var l=0;l=tn()|0,rn(o,5,4,l,YLe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function GLe(o){o=o|0,qLe(o)}function qLe(o){o=o|0,WLe(o)}function WLe(o){o=o|0,Zz(o+8|0),s[o+24>>0]=1}function Zz(o){o=o|0,n[o>>2]=0,E[o+8>>3]=0}function YLe(){return 1424}function VLe(){return JLe()|0}function JLe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0;return l=I,I=I+16|0,d=l+4|0,B=l,u=_l(8)|0,o=u,A=Kt(16)|0,Zz(A),m=o+4|0,n[m>>2]=A,A=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],hM(A,m,d),n[u>>2]=A,I=l,o|0}function KLe(o,l){o=o|0,l=l|0,n[o>>2]=zLe()|0,n[o+4>>2]=XLe()|0,n[o+12>>2]=l,n[o+8>>2]=ZLe()|0,n[o+32>>2]=5}function zLe(){return 11710}function XLe(){return 1416}function ZLe(){return NP()|0}function $Le(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(eMe(u),It(u)):l|0&&It(l)}function eMe(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function NP(){var o=0;return s[7904]|0||(n[2600]=tMe()|0,n[2601]=0,o=7904,n[o>>2]=1,n[o+4>>2]=0),10400}function tMe(){return n[357]|0}function rMe(o){o=o|0,nMe(o,4926),iMe(o)|0}function nMe(o,l){o=o|0,l=l|0;var u=0;u=_K()|0,n[o>>2]=u,gMe(u,l),Hh(n[o>>2]|0)}function iMe(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,sMe()|0),o|0}function sMe(){var o=0;return s[7912]|0||($z(10412),gr(56,10412,U|0)|0,o=7912,n[o>>2]=1,n[o+4>>2]=0),_r(10412)|0||$z(10412),10412}function $z(o){o=o|0,lMe(o),ld(o,57)}function oMe(o){o=o|0,aMe(o+24|0)}function aMe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function lMe(o){o=o|0;var l=0;l=tn()|0,rn(o,5,5,l,AMe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function cMe(o){o=o|0,uMe(o)}function uMe(o){o=o|0,fMe(o)}function fMe(o){o=o|0;var l=0,u=0;l=o+8|0,u=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(u|0));s[o+56>>0]=1}function AMe(){return 1432}function pMe(){return hMe()|0}function hMe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0,k=0;B=I,I=I+16|0,o=B+4|0,l=B,u=_l(8)|0,A=u,d=Kt(48)|0,m=d,k=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(k|0));return m=A+4|0,n[m>>2]=d,k=Kt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[o>>2]=n[l>>2],HK(k,m,o),n[u>>2]=k,I=B,A|0}function gMe(o,l){o=o|0,l=l|0,n[o>>2]=dMe()|0,n[o+4>>2]=mMe()|0,n[o+12>>2]=l,n[o+8>>2]=yMe()|0,n[o+32>>2]=6}function dMe(){return 11704}function mMe(){return 1436}function yMe(){return NP()|0}function EMe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(IMe(u),It(u)):l|0&&It(l)}function IMe(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function CMe(o){o=o|0,wMe(o,4933),BMe(o)|0,vMe(o)|0}function wMe(o,l){o=o|0,l=l|0;var u=0;u=JMe()|0,n[o>>2]=u,KMe(u,l),Hh(n[o>>2]|0)}function BMe(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,MMe()|0),o|0}function vMe(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,SMe()|0),o|0}function SMe(){var o=0;return s[7920]|0||(eX(10452),gr(58,10452,U|0)|0,o=7920,n[o>>2]=1,n[o+4>>2]=0),_r(10452)|0||eX(10452),10452}function eX(o){o=o|0,PMe(o),ld(o,1)}function DMe(o){o=o|0,bMe(o+24|0)}function bMe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function PMe(o){o=o|0;var l=0;l=tn()|0,rn(o,5,1,l,RMe()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function xMe(o,l,u){o=o|0,l=+l,u=+u,kMe(o,l,u)}function kMe(o,l,u){o=o|0,l=+l,u=+u;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+32|0,m=A+8|0,k=A+17|0,d=A,B=A+16|0,Ff(k,l),E[m>>3]=+Nf(k,l),Ff(B,u),E[d>>3]=+Nf(B,u),QMe(o,m,d),I=A}function QMe(o,l,u){o=o|0,l=l|0,u=u|0,tX(o+8|0,+E[l>>3],+E[u>>3]),s[o+24>>0]=1}function tX(o,l,u){o=o|0,l=+l,u=+u,E[o>>3]=l,E[o+8>>3]=u}function RMe(){return 1472}function TMe(o,l){return o=+o,l=+l,FMe(o,l)|0}function FMe(o,l){o=+o,l=+l;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return A=I,I=I+16|0,B=A+4|0,k=A+8|0,R=A,d=_l(8)|0,u=d,m=Kt(16)|0,Ff(B,o),o=+Nf(B,o),Ff(k,l),tX(m,o,+Nf(k,l)),k=u+4|0,n[k>>2]=m,m=Kt(8)|0,k=n[k>>2]|0,n[R>>2]=0,n[B>>2]=n[R>>2],rX(m,k,B),n[d>>2]=m,I=A,u|0}function rX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Kt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1452,n[u+12>>2]=l,n[o+4>>2]=u}function NMe(o){o=o|0,rE(o),It(o)}function OMe(o){o=o|0,o=n[o+12>>2]|0,o|0&&It(o)}function LMe(o){o=o|0,It(o)}function MMe(){var o=0;return s[7928]|0||(nX(10488),gr(59,10488,U|0)|0,o=7928,n[o>>2]=1,n[o+4>>2]=0),_r(10488)|0||nX(10488),10488}function nX(o){o=o|0,HMe(o),ld(o,60)}function UMe(o){o=o|0,_Me(o+24|0)}function _Me(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function HMe(o){o=o|0;var l=0;l=tn()|0,rn(o,5,6,l,WMe()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function jMe(o){o=o|0,GMe(o)}function GMe(o){o=o|0,qMe(o)}function qMe(o){o=o|0,iX(o+8|0),s[o+24>>0]=1}function iX(o){o=o|0,n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,n[o+12>>2]=0}function WMe(){return 1492}function YMe(){return VMe()|0}function VMe(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0;return l=I,I=I+16|0,d=l+4|0,B=l,u=_l(8)|0,o=u,A=Kt(16)|0,iX(A),m=o+4|0,n[m>>2]=A,A=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],rX(A,m,d),n[u>>2]=A,I=l,o|0}function JMe(){var o=0;return s[7936]|0||(tUe(10524),gr(25,10524,U|0)|0,o=7936,n[o>>2]=1,n[o+4>>2]=0),10524}function KMe(o,l){o=o|0,l=l|0,n[o>>2]=zMe()|0,n[o+4>>2]=XMe()|0,n[o+12>>2]=l,n[o+8>>2]=ZMe()|0,n[o+32>>2]=7}function zMe(){return 11700}function XMe(){return 1484}function ZMe(){return NP()|0}function $Me(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(eUe(u),It(u)):l|0&&It(l)}function eUe(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function tUe(o){o=o|0,Oh(o)}function rUe(o,l,u){o=o|0,l=l|0,u=u|0,o=Sn(l)|0,l=nUe(u)|0,u=iUe(u,0)|0,FUe(o,l,u,kM()|0,0)}function nUe(o){return o=o|0,o|0}function iUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=kM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(oX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(fUe(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function kM(){var o=0,l=0;if(s[7944]|0||(sX(10568),gr(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(_r(10568)|0)){o=10568,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));sX(10568)}return 10568}function sX(o){o=o|0,aUe(o)}function sUe(o){o=o|0,oUe(o+24|0)}function oUe(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function aUe(o){o=o|0;var l=0;l=tn()|0,rn(o,1,17,l,iz()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function lUe(o){return o=o|0,uUe(n[(cUe(o)|0)>>2]|0)|0}function cUe(o){return o=o|0,(n[(kM()|0)+24>>2]|0)+(o<<3)|0}function uUe(o){return o=o|0,TP(VP[o&7]()|0)|0}function oX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function fUe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=AUe(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,pUe(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,oX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,hUe(o,d),gUe(d),I=k;return}}function AUe(o){return o=o|0,536870911}function pUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function hUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function gUe(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function dUe(){mUe()}function mUe(){yUe(10604)}function yUe(o){o=o|0,EUe(o,4955)}function EUe(o,l){o=o|0,l=l|0;var u=0;u=IUe()|0,n[o>>2]=u,CUe(u,l),Hh(n[o>>2]|0)}function IUe(){var o=0;return s[7952]|0||(kUe(10612),gr(25,10612,U|0)|0,o=7952,n[o>>2]=1,n[o+4>>2]=0),10612}function CUe(o,l){o=o|0,l=l|0,n[o>>2]=SUe()|0,n[o+4>>2]=DUe()|0,n[o+12>>2]=l,n[o+8>>2]=bUe()|0,n[o+32>>2]=8}function Hh(o){o=o|0;var l=0,u=0;l=I,I=I+16|0,u=l,Xy()|0,n[u>>2]=o,wUe(10608,u),I=l}function Xy(){return s[11714]|0||(n[2652]=0,gr(62,10608,U|0)|0,s[11714]=1),10608}function wUe(o,l){o=o|0,l=l|0;var u=0;u=Kt(8)|0,n[u+4>>2]=n[l>>2],n[u>>2]=n[o>>2],n[o>>2]=u}function BUe(o){o=o|0,vUe(o)}function vUe(o){o=o|0;var l=0,u=0;if(l=n[o>>2]|0,l|0)do u=l,l=n[l>>2]|0,It(u);while(l|0);n[o>>2]=0}function SUe(){return 11715}function DUe(){return 1496}function bUe(){return FP()|0}function PUe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(xUe(u),It(u)):l|0&&It(l)}function xUe(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function kUe(o){o=o|0,Oh(o)}function QUe(o,l){o=o|0,l=l|0;var u=0,A=0;Xy()|0,u=n[2652]|0;e:do if(u|0){for(;A=n[u+4>>2]|0,!(A|0&&!(HX(QM(A)|0,o)|0));)if(u=n[u>>2]|0,!u)break e;RUe(A,l)}while(!1)}function QM(o){return o=o|0,n[o+12>>2]|0}function RUe(o,l){o=o|0,l=l|0;var u=0;o=o+36|0,u=n[o>>2]|0,u|0&&(Pf(u),It(u)),u=Kt(4)|0,DP(u,l),n[o>>2]=u}function RM(){return s[11716]|0||(n[2664]=0,gr(63,10656,U|0)|0,s[11716]=1),10656}function aX(){var o=0;return s[11717]|0?o=n[2665]|0:(TUe(),n[2665]=1504,s[11717]=1,o=1504),o|0}function TUe(){s[11740]|0||(s[11718]=yr(yr(8,0)|0,0)|0,s[11719]=yr(yr(0,0)|0,0)|0,s[11720]=yr(yr(0,16)|0,0)|0,s[11721]=yr(yr(8,0)|0,0)|0,s[11722]=yr(yr(0,0)|0,0)|0,s[11723]=yr(yr(8,0)|0,0)|0,s[11724]=yr(yr(0,0)|0,0)|0,s[11725]=yr(yr(8,0)|0,0)|0,s[11726]=yr(yr(0,0)|0,0)|0,s[11727]=yr(yr(8,0)|0,0)|0,s[11728]=yr(yr(0,0)|0,0)|0,s[11729]=yr(yr(0,0)|0,32)|0,s[11730]=yr(yr(0,0)|0,32)|0,s[11740]=1)}function lX(){return 1572}function FUe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0,M=0,L=0;m=I,I=I+32|0,L=m+16|0,M=m+12|0,R=m+8|0,k=m+4|0,B=m,n[L>>2]=o,n[M>>2]=l,n[R>>2]=u,n[k>>2]=A,n[B>>2]=d,RM()|0,NUe(10656,L,M,R,k,B),I=m}function NUe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0;B=Kt(24)|0,LK(B+4|0,n[l>>2]|0,n[u>>2]|0,n[A>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[o>>2],n[o>>2]=B}function cX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0,nt=0,Ze=0,ft=0;if(ft=I,I=I+32|0,Le=ft+20|0,Te=ft+8|0,nt=ft+4|0,Ze=ft,l=n[l>>2]|0,l|0){Ve=Le+4|0,R=Le+8|0,M=Te+4|0,L=Te+8|0,q=Te+8|0,oe=Le+8|0;do{if(B=l+4|0,k=TM(B)|0,k|0){if(d=I2(k)|0,n[Le>>2]=0,n[Ve>>2]=0,n[R>>2]=0,A=(C2(k)|0)+1|0,OUe(Le,A),A|0)for(;A=A+-1|0,Du(Te,n[d>>2]|0),m=n[Ve>>2]|0,m>>>0<(n[oe>>2]|0)>>>0?(n[m>>2]=n[Te>>2],n[Ve>>2]=(n[Ve>>2]|0)+4):FM(Le,Te),A;)d=d+4|0;A=w2(k)|0,n[Te>>2]=0,n[M>>2]=0,n[L>>2]=0;e:do if(n[A>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?LUe(Te,A):(n[d>>2]=n[A>>2],n[M>>2]=(n[M>>2]|0)+4),A=A+4|0,!(n[A>>2]|0))break e;d=n[M>>2]|0,m=n[q>>2]|0}while(!1);n[nt>>2]=OP(B)|0,n[Ze>>2]=_r(k)|0,MUe(u,o,nt,Ze,Le,Te),NM(Te),sp(Le)}l=n[l>>2]|0}while(l|0)}I=ft}function TM(o){return o=o|0,n[o+12>>2]|0}function I2(o){return o=o|0,n[o+12>>2]|0}function C2(o){return o=o|0,n[o+16>>2]|0}function OUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;d=I,I=I+32|0,u=d,A=n[o>>2]|0,(n[o+8>>2]|0)-A>>2>>>0>>0&&(mX(u,l,(n[o+4>>2]|0)-A>>2,o+8|0),yX(o,u),EX(u)),I=d}function FM(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0;if(B=I,I=I+32|0,u=B,A=o+4|0,d=((n[A>>2]|0)-(n[o>>2]|0)>>2)+1|0,m=dX(o)|0,m>>>0>>0)an(o);else{k=n[o>>2]|0,M=(n[o+8>>2]|0)-k|0,R=M>>1,mX(u,M>>2>>>0>>1>>>0?R>>>0>>0?d:R:m,(n[A>>2]|0)-k>>2,o+8|0),m=u+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,yX(o,u),EX(u),I=B;return}}function w2(o){return o=o|0,n[o+8>>2]|0}function LUe(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0;if(B=I,I=I+32|0,u=B,A=o+4|0,d=((n[A>>2]|0)-(n[o>>2]|0)>>2)+1|0,m=gX(o)|0,m>>>0>>0)an(o);else{k=n[o>>2]|0,M=(n[o+8>>2]|0)-k|0,R=M>>1,n_e(u,M>>2>>>0>>1>>>0?R>>>0>>0?d:R:m,(n[A>>2]|0)-k>>2,o+8|0),m=u+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,i_e(o,u),s_e(u),I=B;return}}function OP(o){return o=o|0,n[o>>2]|0}function MUe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,UUe(o,l,u,A,d,m)}function NM(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-4-A|0)>>>2)<<2)),It(u))}function sp(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-4-A|0)>>>2)<<2)),It(u))}function UUe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,R=0,M=0,L=0,q=0;B=I,I=I+48|0,L=B+40|0,k=B+32|0,q=B+24|0,R=B+12|0,M=B,Hl(k),o=Us(o)|0,n[q>>2]=n[l>>2],u=n[u>>2]|0,A=n[A>>2]|0,OM(R,d),_Ue(M,m),n[L>>2]=n[q>>2],HUe(o,L,u,A,R,M),NM(M),sp(R),jl(k),I=B}function OM(o,l){o=o|0,l=l|0;var u=0,A=0;n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,u=l+4|0,A=(n[u>>2]|0)-(n[l>>2]|0)>>2,A|0&&(t_e(o,A),r_e(o,n[l>>2]|0,n[u>>2]|0,A))}function _Ue(o,l){o=o|0,l=l|0;var u=0,A=0;n[o>>2]=0,n[o+4>>2]=0,n[o+8>>2]=0,u=l+4|0,A=(n[u>>2]|0)-(n[l>>2]|0)>>2,A|0&&($Ue(o,A),e_e(o,n[l>>2]|0,n[u>>2]|0,A))}function HUe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,R=0,M=0,L=0,q=0;B=I,I=I+32|0,L=B+28|0,q=B+24|0,k=B+12|0,R=B,M=Ca(jUe()|0)|0,n[q>>2]=n[l>>2],n[L>>2]=n[q>>2],l=cd(L)|0,u=uX(u)|0,A=LM(A)|0,n[k>>2]=n[d>>2],L=d+4|0,n[k+4>>2]=n[L>>2],q=d+8|0,n[k+8>>2]=n[q>>2],n[q>>2]=0,n[L>>2]=0,n[d>>2]=0,d=MM(k)|0,n[R>>2]=n[m>>2],L=m+4|0,n[R+4>>2]=n[L>>2],q=m+8|0,n[R+8>>2]=n[q>>2],n[q>>2]=0,n[L>>2]=0,n[m>>2]=0,lu(0,M|0,o|0,l|0,u|0,A|0,d|0,GUe(R)|0)|0,NM(R),sp(k),I=B}function jUe(){var o=0;return s[7968]|0||(XUe(10708),o=7968,n[o>>2]=1,n[o+4>>2]=0),10708}function cd(o){return o=o|0,AX(o)|0}function uX(o){return o=o|0,fX(o)|0}function LM(o){return o=o|0,TP(o)|0}function MM(o){return o=o|0,WUe(o)|0}function GUe(o){return o=o|0,qUe(o)|0}function qUe(o){o=o|0;var l=0,u=0,A=0;if(A=(n[o+4>>2]|0)-(n[o>>2]|0)|0,u=A>>2,A=_l(A+4|0)|0,n[A>>2]=u,u|0){l=0;do n[A+4+(l<<2)>>2]=fX(n[(n[o>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(u|0))}return A|0}function fX(o){return o=o|0,o|0}function WUe(o){o=o|0;var l=0,u=0,A=0;if(A=(n[o+4>>2]|0)-(n[o>>2]|0)|0,u=A>>2,A=_l(A+4|0)|0,n[A>>2]=u,u|0){l=0;do n[A+4+(l<<2)>>2]=AX((n[o>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(u|0))}return A|0}function AX(o){o=o|0;var l=0,u=0,A=0,d=0;return d=I,I=I+32|0,l=d+12|0,u=d,A=zL(pX()|0)|0,A?(XL(l,A),ZL(u,l),b8e(o,u),o=$L(l)|0):o=YUe(o)|0,I=d,o|0}function pX(){var o=0;return s[7960]|0||(zUe(10664),gr(25,10664,U|0)|0,o=7960,n[o>>2]=1,n[o+4>>2]=0),10664}function YUe(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;return u=I,I=I+16|0,d=u+4|0,B=u,A=_l(8)|0,l=A,k=Kt(4)|0,n[k>>2]=n[o>>2],m=l+4|0,n[m>>2]=k,o=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],hX(o,m,d),n[A>>2]=o,I=u,l|0}function hX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Kt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1656,n[u+12>>2]=l,n[o+4>>2]=u}function VUe(o){o=o|0,rE(o),It(o)}function JUe(o){o=o|0,o=n[o+12>>2]|0,o|0&&It(o)}function KUe(o){o=o|0,It(o)}function zUe(o){o=o|0,Oh(o)}function XUe(o){o=o|0,Lo(o,ZUe()|0,5)}function ZUe(){return 1676}function $Ue(o,l){o=o|0,l=l|0;var u=0;if((gX(o)|0)>>>0>>0&&an(o),l>>>0>1073741823)Nt();else{u=Kt(l<<2)|0,n[o+4>>2]=u,n[o>>2]=u,n[o+8>>2]=u+(l<<2);return}}function e_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,A=o+4|0,o=u-l|0,(o|0)>0&&(Rr(n[A>>2]|0,l|0,o|0)|0,n[A>>2]=(n[A>>2]|0)+(o>>>2<<2))}function gX(o){return o=o|0,1073741823}function t_e(o,l){o=o|0,l=l|0;var u=0;if((dX(o)|0)>>>0>>0&&an(o),l>>>0>1073741823)Nt();else{u=Kt(l<<2)|0,n[o+4>>2]=u,n[o>>2]=u,n[o+8>>2]=u+(l<<2);return}}function r_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,A=o+4|0,o=u-l|0,(o|0)>0&&(Rr(n[A>>2]|0,l|0,o|0)|0,n[A>>2]=(n[A>>2]|0)+(o>>>2<<2))}function dX(o){return o=o|0,1073741823}function n_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>1073741823)Nt();else{d=Kt(l<<2)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<2)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<2)}function i_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function s_e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-4-l|0)>>>2)<<2)),o=n[o>>2]|0,o|0&&It(o)}function mX(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>1073741823)Nt();else{d=Kt(l<<2)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<2)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<2)}function yX(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function EX(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-4-l|0)>>>2)<<2)),o=n[o>>2]|0,o|0&&It(o)}function o_e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0;if(Te=I,I=I+32|0,L=Te+20|0,q=Te+12|0,M=Te+16|0,oe=Te+4|0,Ve=Te,Le=Te+8|0,k=aX()|0,m=n[k>>2]|0,B=n[m>>2]|0,B|0)for(R=n[k+8>>2]|0,k=n[k+4>>2]|0;Du(L,B),a_e(o,L,k,R),m=m+4|0,B=n[m>>2]|0,B;)R=R+1|0,k=k+1|0;if(m=lX()|0,B=n[m>>2]|0,B|0)do Du(L,B),n[q>>2]=n[m+4>>2],l_e(l,L,q),m=m+8|0,B=n[m>>2]|0;while(B|0);if(m=n[(Xy()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,Du(L,n[(Zy(l)|0)>>2]|0),n[q>>2]=QM(l)|0,c_e(u,L,q),m=n[m>>2]|0;while(m|0);if(Du(M,0),m=RM()|0,n[L>>2]=n[M>>2],cX(L,m,d),m=n[(Xy()|0)>>2]|0,m|0){o=L+4|0,l=L+8|0,u=L+8|0;do{if(R=n[m+4>>2]|0,Du(q,n[(Zy(R)|0)>>2]|0),u_e(oe,IX(R)|0),B=n[oe>>2]|0,B|0){n[L>>2]=0,n[o>>2]=0,n[l>>2]=0;do Du(Ve,n[(Zy(n[B+4>>2]|0)|0)>>2]|0),k=n[o>>2]|0,k>>>0<(n[u>>2]|0)>>>0?(n[k>>2]=n[Ve>>2],n[o>>2]=(n[o>>2]|0)+4):FM(L,Ve),B=n[B>>2]|0;while(B|0);f_e(A,q,L),sp(L)}n[Le>>2]=n[q>>2],M=CX(R)|0,n[L>>2]=n[Le>>2],cX(L,M,d),GK(oe),m=n[m>>2]|0}while(m|0)}I=Te}function a_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,B_e(o,l,u,A)}function l_e(o,l,u){o=o|0,l=l|0,u=u|0,w_e(o,l,u)}function Zy(o){return o=o|0,o|0}function c_e(o,l,u){o=o|0,l=l|0,u=u|0,y_e(o,l,u)}function IX(o){return o=o|0,o+16|0}function u_e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;if(m=I,I=I+16|0,d=m+8|0,u=m,n[o>>2]=0,A=n[l>>2]|0,n[d>>2]=A,n[u>>2]=o,u=m_e(u)|0,A|0){if(A=Kt(12)|0,B=(wX(d)|0)+4|0,o=n[B+4>>2]|0,l=A+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=o,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)o=A;else for(l=A;o=Kt(12)|0,R=(wX(d)|0)+4|0,k=n[R+4>>2]|0,B=o+4|0,n[B>>2]=n[R>>2],n[B+4>>2]=k,n[l>>2]=o,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=o;n[o>>2]=n[u>>2],n[u>>2]=A}I=m}function f_e(o,l,u){o=o|0,l=l|0,u=u|0,A_e(o,l,u)}function CX(o){return o=o|0,o+24|0}function A_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+32|0,B=A+24|0,d=A+16|0,k=A+12|0,m=A,Hl(d),o=Us(o)|0,n[k>>2]=n[l>>2],OM(m,u),n[B>>2]=n[k>>2],p_e(o,B,m),sp(m),jl(d),I=A}function p_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=I,I=I+32|0,B=A+16|0,k=A+12|0,d=A,m=Ca(h_e()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=cd(B)|0,n[d>>2]=n[u>>2],B=u+4|0,n[d+4>>2]=n[B>>2],k=u+8|0,n[d+8>>2]=n[k>>2],n[k>>2]=0,n[B>>2]=0,n[u>>2]=0,Ns(0,m|0,o|0,l|0,MM(d)|0)|0,sp(d),I=A}function h_e(){var o=0;return s[7976]|0||(g_e(10720),o=7976,n[o>>2]=1,n[o+4>>2]=0),10720}function g_e(o){o=o|0,Lo(o,d_e()|0,2)}function d_e(){return 1732}function m_e(o){return o=o|0,n[o>>2]|0}function wX(o){return o=o|0,n[o>>2]|0}function y_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+32|0,m=A+16|0,d=A+8|0,B=A,Hl(d),o=Us(o)|0,n[B>>2]=n[l>>2],u=n[u>>2]|0,n[m>>2]=n[B>>2],BX(o,m,u),jl(d),I=A}function BX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+16|0,m=A+4|0,B=A,d=Ca(E_e()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=cd(m)|0,Ns(0,d|0,o|0,l|0,uX(u)|0)|0,I=A}function E_e(){var o=0;return s[7984]|0||(I_e(10732),o=7984,n[o>>2]=1,n[o+4>>2]=0),10732}function I_e(o){o=o|0,Lo(o,C_e()|0,2)}function C_e(){return 1744}function w_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;A=I,I=I+32|0,m=A+16|0,d=A+8|0,B=A,Hl(d),o=Us(o)|0,n[B>>2]=n[l>>2],u=n[u>>2]|0,n[m>>2]=n[B>>2],BX(o,m,u),jl(d),I=A}function B_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+32|0,B=d+16|0,m=d+8|0,k=d,Hl(m),o=Us(o)|0,n[k>>2]=n[l>>2],u=s[u>>0]|0,A=s[A>>0]|0,n[B>>2]=n[k>>2],v_e(o,B,u,A),jl(m),I=d}function v_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,B=d+4|0,k=d,m=Ca(S_e()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=cd(B)|0,u=$y(u)|0,Li(0,m|0,o|0,l|0,u|0,$y(A)|0)|0,I=d}function S_e(){var o=0;return s[7992]|0||(b_e(10744),o=7992,n[o>>2]=1,n[o+4>>2]=0),10744}function $y(o){return o=o|0,D_e(o)|0}function D_e(o){return o=o|0,o&255|0}function b_e(o){o=o|0,Lo(o,P_e()|0,3)}function P_e(){return 1756}function x_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;switch(oe=I,I=I+32|0,k=oe+8|0,R=oe+4|0,M=oe+20|0,L=oe,nM(o,0),A=D8e(l)|0,n[k>>2]=0,q=k+4|0,n[q>>2]=0,n[k+8>>2]=0,A<<24>>24){case 0:{s[M>>0]=0,k_e(R,u,M),LP(o,R)|0,xf(R);break}case 8:{q=qM(l)|0,s[M>>0]=8,Du(L,n[q+4>>2]|0),Q_e(R,u,M,L,q+8|0),LP(o,R)|0,xf(R);break}case 9:{if(m=qM(l)|0,l=n[m+4>>2]|0,l|0)for(B=k+8|0,d=m+12|0;l=l+-1|0,Du(R,n[d>>2]|0),A=n[q>>2]|0,A>>>0<(n[B>>2]|0)>>>0?(n[A>>2]=n[R>>2],n[q>>2]=(n[q>>2]|0)+4):FM(k,R),l;)d=d+4|0;s[M>>0]=9,Du(L,n[m+8>>2]|0),R_e(R,u,M,L,k),LP(o,R)|0,xf(R);break}default:q=qM(l)|0,s[M>>0]=A,Du(L,n[q+4>>2]|0),T_e(R,u,M,L),LP(o,R)|0,xf(R)}sp(k),I=oe}function k_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;A=I,I=I+16|0,d=A,Hl(d),l=Us(l)|0,Y_e(o,l,s[u>>0]|0),jl(d),I=A}function LP(o,l){o=o|0,l=l|0;var u=0;return u=n[o>>2]|0,u|0&&qa(u|0),n[o>>2]=n[l>>2],n[l>>2]=0,o|0}function Q_e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0;m=I,I=I+32|0,k=m+16|0,B=m+8|0,R=m,Hl(B),l=Us(l)|0,u=s[u>>0]|0,n[R>>2]=n[A>>2],d=n[d>>2]|0,n[k>>2]=n[R>>2],j_e(o,l,u,k,d),jl(B),I=m}function R_e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0,M=0;m=I,I=I+32|0,R=m+24|0,B=m+16|0,M=m+12|0,k=m,Hl(B),l=Us(l)|0,u=s[u>>0]|0,n[M>>2]=n[A>>2],OM(k,d),n[R>>2]=n[M>>2],M_e(o,l,u,R,k),sp(k),jl(B),I=m}function T_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+32|0,B=d+16|0,m=d+8|0,k=d,Hl(m),l=Us(l)|0,u=s[u>>0]|0,n[k>>2]=n[A>>2],n[B>>2]=n[k>>2],F_e(o,l,u,B),jl(m),I=d}function F_e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0,B=0,k=0;d=I,I=I+16|0,m=d+4|0,k=d,B=Ca(N_e()|0)|0,u=$y(u)|0,n[k>>2]=n[A>>2],n[m>>2]=n[k>>2],MP(o,Ns(0,B|0,l|0,u|0,cd(m)|0)|0),I=d}function N_e(){var o=0;return s[8e3]|0||(O_e(10756),o=8e3,n[o>>2]=1,n[o+4>>2]=0),10756}function MP(o,l){o=o|0,l=l|0,nM(o,l)}function O_e(o){o=o|0,Lo(o,L_e()|0,2)}function L_e(){return 1772}function M_e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0,M=0;m=I,I=I+32|0,R=m+16|0,M=m+12|0,B=m,k=Ca(U_e()|0)|0,u=$y(u)|0,n[M>>2]=n[A>>2],n[R>>2]=n[M>>2],A=cd(R)|0,n[B>>2]=n[d>>2],R=d+4|0,n[B+4>>2]=n[R>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[R>>2]=0,n[d>>2]=0,MP(o,Li(0,k|0,l|0,u|0,A|0,MM(B)|0)|0),sp(B),I=m}function U_e(){var o=0;return s[8008]|0||(__e(10768),o=8008,n[o>>2]=1,n[o+4>>2]=0),10768}function __e(o){o=o|0,Lo(o,H_e()|0,3)}function H_e(){return 1784}function j_e(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0;m=I,I=I+16|0,k=m+4|0,R=m,B=Ca(G_e()|0)|0,u=$y(u)|0,n[R>>2]=n[A>>2],n[k>>2]=n[R>>2],A=cd(k)|0,MP(o,Li(0,B|0,l|0,u|0,A|0,LM(d)|0)|0),I=m}function G_e(){var o=0;return s[8016]|0||(q_e(10780),o=8016,n[o>>2]=1,n[o+4>>2]=0),10780}function q_e(o){o=o|0,Lo(o,W_e()|0,3)}function W_e(){return 1800}function Y_e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;A=Ca(V_e()|0)|0,MP(o,mn(0,A|0,l|0,$y(u)|0)|0)}function V_e(){var o=0;return s[8024]|0||(J_e(10792),o=8024,n[o>>2]=1,n[o+4>>2]=0),10792}function J_e(o){o=o|0,Lo(o,K_e()|0,1)}function K_e(){return 1816}function z_e(){X_e(),Z_e(),$_e()}function X_e(){n[2702]=XX(65536)|0}function Z_e(){E4e(10856)}function $_e(){e4e(10816)}function e4e(o){o=o|0,t4e(o,5044),r4e(o)|0}function t4e(o,l){o=o|0,l=l|0;var u=0;u=pX()|0,n[o>>2]=u,p4e(u,l),Hh(n[o>>2]|0)}function r4e(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,n4e()|0),o|0}function n4e(){var o=0;return s[8032]|0||(vX(10820),gr(64,10820,U|0)|0,o=8032,n[o>>2]=1,n[o+4>>2]=0),_r(10820)|0||vX(10820),10820}function vX(o){o=o|0,o4e(o),ld(o,25)}function i4e(o){o=o|0,s4e(o+24|0)}function s4e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function o4e(o){o=o|0;var l=0;l=tn()|0,rn(o,5,18,l,u4e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function a4e(o,l){o=o|0,l=l|0,l4e(o,l)}function l4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;u=I,I=I+16|0,A=u,d=u+4|0,sd(d,l),n[A>>2]=od(d,l)|0,c4e(o,A),I=u}function c4e(o,l){o=o|0,l=l|0,SX(o+4|0,n[l>>2]|0),s[o+8>>0]=1}function SX(o,l){o=o|0,l=l|0,n[o>>2]=l}function u4e(){return 1824}function f4e(o){return o=o|0,A4e(o)|0}function A4e(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0;return u=I,I=I+16|0,d=u+4|0,B=u,A=_l(8)|0,l=A,k=Kt(4)|0,sd(d,o),SX(k,od(d,o)|0),m=l+4|0,n[m>>2]=k,o=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],hX(o,m,d),n[A>>2]=o,I=u,l|0}function _l(o){o=o|0;var l=0,u=0;return o=o+7&-8,o>>>0<=32768&&(l=n[2701]|0,o>>>0<=(65536-l|0)>>>0)?(u=(n[2702]|0)+l|0,n[2701]=l+o,o=u):(o=XX(o+8|0)|0,n[o>>2]=n[2703],n[2703]=o,o=o+8|0),o|0}function p4e(o,l){o=o|0,l=l|0,n[o>>2]=h4e()|0,n[o+4>>2]=g4e()|0,n[o+12>>2]=l,n[o+8>>2]=d4e()|0,n[o+32>>2]=9}function h4e(){return 11744}function g4e(){return 1832}function d4e(){return NP()|0}function m4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(y4e(u),It(u)):l|0&&It(l)}function y4e(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function E4e(o){o=o|0,I4e(o,5052),C4e(o)|0,w4e(o,5058,26)|0,B4e(o,5069,1)|0,v4e(o,5077,10)|0,S4e(o,5087,19)|0,D4e(o,5094,27)|0}function I4e(o,l){o=o|0,l=l|0;var u=0;u=y8e()|0,n[o>>2]=u,E8e(u,l),Hh(n[o>>2]|0)}function C4e(o){o=o|0;var l=0;return l=n[o>>2]|0,ad(l,i8e()|0),o|0}function w4e(o,l,u){return o=o|0,l=l|0,u=u|0,_3e(o,Sn(l)|0,u,0),o|0}function B4e(o,l,u){return o=o|0,l=l|0,u=u|0,S3e(o,Sn(l)|0,u,0),o|0}function v4e(o,l,u){return o=o|0,l=l|0,u=u|0,n3e(o,Sn(l)|0,u,0),o|0}function S4e(o,l,u){return o=o|0,l=l|0,u=u|0,j4e(o,Sn(l)|0,u,0),o|0}function DX(o,l){o=o|0,l=l|0;var u=0,A=0;e:for(;;){for(u=n[2703]|0;;){if((u|0)==(l|0))break e;if(A=n[u>>2]|0,n[2703]=A,!u)u=A;else break}It(u)}n[2701]=o}function D4e(o,l,u){return o=o|0,l=l|0,u=u|0,b4e(o,Sn(l)|0,u,0),o|0}function b4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=UM()|0,o=P4e(u)|0,Dn(m,l,d,o,x4e(u,A)|0,A)}function UM(){var o=0,l=0;if(s[8040]|0||(PX(10860),gr(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(_r(10860)|0)){o=10860,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));PX(10860)}return 10860}function P4e(o){return o=o|0,o|0}function x4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=UM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(bX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(k4e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function bX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function k4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=Q4e(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,R4e(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,bX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,T4e(o,d),F4e(d),I=k;return}}function Q4e(o){return o=o|0,536870911}function R4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function T4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function F4e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function PX(o){o=o|0,L4e(o)}function N4e(o){o=o|0,O4e(o+24|0)}function O4e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function L4e(o){o=o|0;var l=0;l=tn()|0,rn(o,1,11,l,M4e()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function M4e(){return 1840}function U4e(o,l,u){o=o|0,l=l|0,u=u|0,H4e(n[(_4e(o)|0)>>2]|0,l,u)}function _4e(o){return o=o|0,(n[(UM()|0)+24>>2]|0)+(o<<3)|0}function H4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;A=I,I=I+16|0,m=A+1|0,d=A,sd(m,l),l=od(m,l)|0,sd(d,u),u=od(d,u)|0,ap[o&31](l,u),I=A}function j4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=_M()|0,o=G4e(u)|0,Dn(m,l,d,o,q4e(u,A)|0,A)}function _M(){var o=0,l=0;if(s[8048]|0||(kX(10896),gr(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(_r(10896)|0)){o=10896,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));kX(10896)}return 10896}function G4e(o){return o=o|0,o|0}function q4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=_M()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(xX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(W4e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function xX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function W4e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=Y4e(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,V4e(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,xX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,J4e(o,d),K4e(d),I=k;return}}function Y4e(o){return o=o|0,536870911}function V4e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function J4e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function K4e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function kX(o){o=o|0,Z4e(o)}function z4e(o){o=o|0,X4e(o+24|0)}function X4e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function Z4e(o){o=o|0;var l=0;l=tn()|0,rn(o,1,11,l,$4e()|0,1),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function $4e(){return 1852}function e3e(o,l){return o=o|0,l=l|0,r3e(n[(t3e(o)|0)>>2]|0,l)|0}function t3e(o){return o=o|0,(n[(_M()|0)+24>>2]|0)+(o<<3)|0}function r3e(o,l){o=o|0,l=l|0;var u=0,A=0;return u=I,I=I+16|0,A=u,sd(A,l),l=od(A,l)|0,l=TP(pd[o&31](l)|0)|0,I=u,l|0}function n3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=HM()|0,o=i3e(u)|0,Dn(m,l,d,o,s3e(u,A)|0,A)}function HM(){var o=0,l=0;if(s[8056]|0||(RX(10932),gr(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(_r(10932)|0)){o=10932,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));RX(10932)}return 10932}function i3e(o){return o=o|0,o|0}function s3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=HM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(QX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(o3e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function QX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function o3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=a3e(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,l3e(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,QX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,c3e(o,d),u3e(d),I=k;return}}function a3e(o){return o=o|0,536870911}function l3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function c3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function u3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function RX(o){o=o|0,p3e(o)}function f3e(o){o=o|0,A3e(o+24|0)}function A3e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function p3e(o){o=o|0;var l=0;l=tn()|0,rn(o,1,7,l,h3e()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function h3e(){return 1860}function g3e(o,l,u){return o=o|0,l=l|0,u=u|0,m3e(n[(d3e(o)|0)>>2]|0,l,u)|0}function d3e(o){return o=o|0,(n[(HM()|0)+24>>2]|0)+(o<<3)|0}function m3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0;return A=I,I=I+32|0,B=A+12|0,m=A+8|0,k=A,R=A+16|0,d=A+4|0,y3e(R,l),E3e(k,R,l),Lh(d,u),u=Mh(d,u)|0,n[B>>2]=n[k>>2],D2[o&15](m,B,u),u=I3e(m)|0,xf(m),Uh(d),I=A,u|0}function y3e(o,l){o=o|0,l=l|0}function E3e(o,l,u){o=o|0,l=l|0,u=u|0,C3e(o,u)}function I3e(o){return o=o|0,Us(o)|0}function C3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0;d=I,I=I+16|0,u=d,A=l,A&1?(w3e(u,0),Ga(A|0,u|0)|0,B3e(o,u),v3e(u)):n[o>>2]=n[l>>2],I=d}function w3e(o,l){o=o|0,l=l|0,vu(o,l),n[o+4>>2]=0,s[o+8>>0]=0}function B3e(o,l){o=o|0,l=l|0,n[o>>2]=n[l+4>>2]}function v3e(o){o=o|0,s[o+8>>0]=0}function S3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=jM()|0,o=D3e(u)|0,Dn(m,l,d,o,b3e(u,A)|0,A)}function jM(){var o=0,l=0;if(s[8064]|0||(FX(10968),gr(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(_r(10968)|0)){o=10968,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));FX(10968)}return 10968}function D3e(o){return o=o|0,o|0}function b3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=jM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(TX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(P3e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function TX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function P3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=x3e(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,k3e(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,TX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Q3e(o,d),R3e(d),I=k;return}}function x3e(o){return o=o|0,536870911}function k3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function Q3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function R3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function FX(o){o=o|0,N3e(o)}function T3e(o){o=o|0,F3e(o+24|0)}function F3e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function N3e(o){o=o|0;var l=0;l=tn()|0,rn(o,1,1,l,O3e()|0,5),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function O3e(){return 1872}function L3e(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,U3e(n[(M3e(o)|0)>>2]|0,l,u,A,d,m)}function M3e(o){return o=o|0,(n[(jM()|0)+24>>2]|0)+(o<<3)|0}function U3e(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,R=0,M=0,L=0,q=0;B=I,I=I+32|0,k=B+16|0,R=B+12|0,M=B+8|0,L=B+4|0,q=B,Lh(k,l),l=Mh(k,l)|0,Lh(R,u),u=Mh(R,u)|0,Lh(M,A),A=Mh(M,A)|0,Lh(L,d),d=Mh(L,d)|0,Lh(q,m),m=Mh(q,m)|0,rZ[o&1](l,u,A,d,m),Uh(q),Uh(L),Uh(M),Uh(R),Uh(k),I=B}function _3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;m=n[o>>2]|0,d=GM()|0,o=H3e(u)|0,Dn(m,l,d,o,j3e(u,A)|0,A)}function GM(){var o=0,l=0;if(s[8072]|0||(OX(11004),gr(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(_r(11004)|0)){o=11004,l=o+36|0;do n[o>>2]=0,o=o+4|0;while((o|0)<(l|0));OX(11004)}return 11004}function H3e(o){return o=o|0,o|0}function j3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0,k=0,R=0;return k=I,I=I+16|0,d=k,m=k+4|0,n[d>>2]=o,R=GM()|0,B=R+24|0,l=yr(l,4)|0,n[m>>2]=l,u=R+28|0,A=n[u>>2]|0,A>>>0<(n[R+32>>2]|0)>>>0?(NX(A,o,l),l=(n[u>>2]|0)+8|0,n[u>>2]=l):(G3e(B,d,m),l=n[u>>2]|0),I=k,(l-(n[B>>2]|0)>>3)+-1|0}function NX(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,n[o+4>>2]=u}function G3e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0;if(k=I,I=I+32|0,d=k,m=o+4|0,B=((n[m>>2]|0)-(n[o>>2]|0)>>3)+1|0,A=q3e(o)|0,A>>>0>>0)an(o);else{R=n[o>>2]|0,L=(n[o+8>>2]|0)-R|0,M=L>>2,W3e(d,L>>3>>>0>>1>>>0?M>>>0>>0?B:M:A,(n[m>>2]|0)-R>>3,o+8|0),B=d+8|0,NX(n[B>>2]|0,n[l>>2]|0,n[u>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Y3e(o,d),V3e(d),I=k;return}}function q3e(o){return o=o|0,536870911}function W3e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0;n[o+12>>2]=0,n[o+16>>2]=A;do if(l)if(l>>>0>536870911)Nt();else{d=Kt(l<<3)|0;break}else d=0;while(!1);n[o>>2]=d,A=d+(u<<3)|0,n[o+8>>2]=A,n[o+4>>2]=A,n[o+12>>2]=d+(l<<3)}function Y3e(o,l){o=o|0,l=l|0;var u=0,A=0,d=0,m=0,B=0;A=n[o>>2]|0,B=o+4|0,m=l+4|0,d=(n[B>>2]|0)-A|0,u=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=u,(d|0)>0?(Rr(u|0,A|0,d|0)|0,A=m,u=n[m>>2]|0):A=m,m=n[o>>2]|0,n[o>>2]=u,n[A>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=o+8|0,B=l+12|0,o=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=o,n[l>>2]=n[A>>2]}function V3e(o){o=o|0;var l=0,u=0,A=0;l=n[o+4>>2]|0,u=o+8|0,A=n[u>>2]|0,(A|0)!=(l|0)&&(n[u>>2]=A+(~((A+-8-l|0)>>>3)<<3)),o=n[o>>2]|0,o|0&&It(o)}function OX(o){o=o|0,z3e(o)}function J3e(o){o=o|0,K3e(o+24|0)}function K3e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function z3e(o){o=o|0;var l=0;l=tn()|0,rn(o,1,12,l,X3e()|0,2),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function X3e(){return 1896}function Z3e(o,l,u){o=o|0,l=l|0,u=u|0,e8e(n[($3e(o)|0)>>2]|0,l,u)}function $3e(o){return o=o|0,(n[(GM()|0)+24>>2]|0)+(o<<3)|0}function e8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;A=I,I=I+16|0,m=A+4|0,d=A,t8e(m,l),l=r8e(m,l)|0,Lh(d,u),u=Mh(d,u)|0,ap[o&31](l,u),Uh(d),I=A}function t8e(o,l){o=o|0,l=l|0}function r8e(o,l){return o=o|0,l=l|0,n8e(l)|0}function n8e(o){return o=o|0,o|0}function i8e(){var o=0;return s[8080]|0||(LX(11040),gr(70,11040,U|0)|0,o=8080,n[o>>2]=1,n[o+4>>2]=0),_r(11040)|0||LX(11040),11040}function LX(o){o=o|0,a8e(o),ld(o,71)}function s8e(o){o=o|0,o8e(o+24|0)}function o8e(o){o=o|0;var l=0,u=0,A=0;u=n[o>>2]|0,A=u,u|0&&(o=o+4|0,l=n[o>>2]|0,(l|0)!=(u|0)&&(n[o>>2]=l+(~((l+-8-A|0)>>>3)<<3)),It(u))}function a8e(o){o=o|0;var l=0;l=tn()|0,rn(o,5,7,l,f8e()|0,0),n[o+24>>2]=0,n[o+28>>2]=0,n[o+32>>2]=0}function l8e(o){o=o|0,c8e(o)}function c8e(o){o=o|0,u8e(o)}function u8e(o){o=o|0,s[o+8>>0]=1}function f8e(){return 1936}function A8e(){return p8e()|0}function p8e(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0;return l=I,I=I+16|0,d=l+4|0,B=l,u=_l(8)|0,o=u,m=o+4|0,n[m>>2]=Kt(1)|0,A=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],h8e(A,m,d),n[u>>2]=A,I=l,o|0}function h8e(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]=l,u=Kt(16)|0,n[u+4>>2]=0,n[u+8>>2]=0,n[u>>2]=1916,n[u+12>>2]=l,n[o+4>>2]=u}function g8e(o){o=o|0,rE(o),It(o)}function d8e(o){o=o|0,o=n[o+12>>2]|0,o|0&&It(o)}function m8e(o){o=o|0,It(o)}function y8e(){var o=0;return s[8088]|0||(S8e(11076),gr(25,11076,U|0)|0,o=8088,n[o>>2]=1,n[o+4>>2]=0),11076}function E8e(o,l){o=o|0,l=l|0,n[o>>2]=I8e()|0,n[o+4>>2]=C8e()|0,n[o+12>>2]=l,n[o+8>>2]=w8e()|0,n[o+32>>2]=10}function I8e(){return 11745}function C8e(){return 1940}function w8e(){return FP()|0}function B8e(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,(_h(A,896)|0)==512?u|0&&(v8e(u),It(u)):l|0&&It(l)}function v8e(o){o=o|0,o=n[o+4>>2]|0,o|0&&jh(o)}function S8e(o){o=o|0,Oh(o)}function Du(o,l){o=o|0,l=l|0,n[o>>2]=l}function qM(o){return o=o|0,n[o>>2]|0}function D8e(o){return o=o|0,s[n[o>>2]>>0]|0}function b8e(o,l){o=o|0,l=l|0;var u=0,A=0;u=I,I=I+16|0,A=u,n[A>>2]=n[o>>2],P8e(l,A)|0,I=u}function P8e(o,l){o=o|0,l=l|0;var u=0;return u=x8e(n[o>>2]|0,l)|0,l=o+4|0,n[(n[l>>2]|0)+8>>2]=u,n[(n[l>>2]|0)+8>>2]|0}function x8e(o,l){o=o|0,l=l|0;var u=0,A=0;return u=I,I=I+16|0,A=u,Hl(A),o=Us(o)|0,l=k8e(o,n[l>>2]|0)|0,jl(A),I=u,l|0}function Hl(o){o=o|0,n[o>>2]=n[2701],n[o+4>>2]=n[2703]}function k8e(o,l){o=o|0,l=l|0;var u=0;return u=Ca(Q8e()|0)|0,mn(0,u|0,o|0,LM(l)|0)|0}function jl(o){o=o|0,DX(n[o>>2]|0,n[o+4>>2]|0)}function Q8e(){var o=0;return s[8096]|0||(R8e(11120),o=8096,n[o>>2]=1,n[o+4>>2]=0),11120}function R8e(o){o=o|0,Lo(o,T8e()|0,1)}function T8e(){return 1948}function F8e(){N8e()}function N8e(){var o=0,l=0,u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0;if(Le=I,I=I+16|0,L=Le+4|0,q=Le,fa(65536,10804,n[2702]|0,10812),u=aX()|0,l=n[u>>2]|0,o=n[l>>2]|0,o|0)for(A=n[u+8>>2]|0,u=n[u+4>>2]|0;df(o|0,c[u>>0]|0|0,s[A>>0]|0),l=l+4|0,o=n[l>>2]|0,o;)A=A+1|0,u=u+1|0;if(o=lX()|0,l=n[o>>2]|0,l|0)do LA(l|0,n[o+4>>2]|0),o=o+8|0,l=n[o>>2]|0;while(l|0);LA(O8e()|0,5167),M=Xy()|0,o=n[M>>2]|0;e:do if(o|0){do L8e(n[o+4>>2]|0),o=n[o>>2]|0;while(o|0);if(o=n[M>>2]|0,o|0){R=M;do{for(;d=o,o=n[o>>2]|0,d=n[d+4>>2]|0,!!(M8e(d)|0);)if(n[q>>2]=R,n[L>>2]=n[q>>2],U8e(M,L)|0,!o)break e;if(_8e(d),R=n[R>>2]|0,l=MX(d)|0,m=Oi()|0,B=I,I=I+((1*(l<<2)|0)+15&-16)|0,k=I,I=I+((1*(l<<2)|0)+15&-16)|0,l=n[(IX(d)|0)>>2]|0,l|0)for(u=B,A=k;n[u>>2]=n[(Zy(n[l+4>>2]|0)|0)>>2],n[A>>2]=n[l+8>>2],l=n[l>>2]|0,l;)u=u+4|0,A=A+4|0;Te=Zy(d)|0,l=H8e(d)|0,u=MX(d)|0,A=j8e(d)|0,lc(Te|0,l|0,B|0,k|0,u|0,A|0,QM(d)|0),OA(m|0)}while(o|0)}}while(!1);if(o=n[(RM()|0)>>2]|0,o|0)do Te=o+4|0,M=TM(Te)|0,d=w2(M)|0,m=I2(M)|0,B=(C2(M)|0)+1|0,k=UP(M)|0,R=UX(Te)|0,M=_r(M)|0,L=OP(Te)|0,q=WM(Te)|0,cu(0,d|0,m|0,B|0,k|0,R|0,M|0,L|0,q|0,YM(Te)|0),o=n[o>>2]|0;while(o|0);o=n[(Xy()|0)>>2]|0;e:do if(o|0){t:for(;;){if(l=n[o+4>>2]|0,l|0&&(oe=n[(Zy(l)|0)>>2]|0,Ve=n[(CX(l)|0)>>2]|0,Ve|0)){u=Ve;do{l=u+4|0,A=TM(l)|0;r:do if(A|0)switch(_r(A)|0){case 0:break t;case 4:case 3:case 2:{k=w2(A)|0,R=I2(A)|0,M=(C2(A)|0)+1|0,L=UP(A)|0,q=_r(A)|0,Te=OP(l)|0,cu(oe|0,k|0,R|0,M|0,L|0,0,q|0,Te|0,WM(l)|0,YM(l)|0);break r}case 1:{B=w2(A)|0,k=I2(A)|0,R=(C2(A)|0)+1|0,M=UP(A)|0,L=UX(l)|0,q=_r(A)|0,Te=OP(l)|0,cu(oe|0,B|0,k|0,R|0,M|0,L|0,q|0,Te|0,WM(l)|0,YM(l)|0);break r}case 5:{M=w2(A)|0,L=I2(A)|0,q=(C2(A)|0)+1|0,Te=UP(A)|0,cu(oe|0,M|0,L|0,q|0,Te|0,G8e(A)|0,_r(A)|0,0,0,0);break r}default:break r}while(!1);u=n[u>>2]|0}while(u|0)}if(o=n[o>>2]|0,!o)break e}Nt()}while(!1);we(),I=Le}function O8e(){return 11703}function L8e(o){o=o|0,s[o+40>>0]=0}function M8e(o){return o=o|0,(s[o+40>>0]|0)!=0|0}function U8e(o,l){return o=o|0,l=l|0,l=q8e(l)|0,o=n[l>>2]|0,n[l>>2]=n[o>>2],It(o),n[l>>2]|0}function _8e(o){o=o|0,s[o+40>>0]=1}function MX(o){return o=o|0,n[o+20>>2]|0}function H8e(o){return o=o|0,n[o+8>>2]|0}function j8e(o){return o=o|0,n[o+32>>2]|0}function UP(o){return o=o|0,n[o+4>>2]|0}function UX(o){return o=o|0,n[o+4>>2]|0}function WM(o){return o=o|0,n[o+8>>2]|0}function YM(o){return o=o|0,n[o+16>>2]|0}function G8e(o){return o=o|0,n[o+20>>2]|0}function q8e(o){return o=o|0,n[o>>2]|0}function _P(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0,nt=0,Ze=0,ft=0,He=0,Ye=0,Mt=0;Mt=I,I=I+16|0,oe=Mt;do if(o>>>0<245){if(M=o>>>0<11?16:o+11&-8,o=M>>>3,q=n[2783]|0,u=q>>>o,u&3|0)return l=(u&1^1)+o|0,o=11172+(l<<1<<2)|0,u=o+8|0,A=n[u>>2]|0,d=A+8|0,m=n[d>>2]|0,(o|0)==(m|0)?n[2783]=q&~(1<>2]=o,n[u>>2]=m),Ye=l<<3,n[A+4>>2]=Ye|3,Ye=A+Ye+4|0,n[Ye>>2]=n[Ye>>2]|1,Ye=d,I=Mt,Ye|0;if(L=n[2785]|0,M>>>0>L>>>0){if(u|0)return l=2<>>12&16,l=l>>>B,u=l>>>5&8,l=l>>>u,d=l>>>2&4,l=l>>>d,o=l>>>1&2,l=l>>>o,A=l>>>1&1,A=(u|B|d|o|A)+(l>>>A)|0,l=11172+(A<<1<<2)|0,o=l+8|0,d=n[o>>2]|0,B=d+8|0,u=n[B>>2]|0,(l|0)==(u|0)?(o=q&~(1<>2]=l,n[o>>2]=u,o=q),m=(A<<3)-M|0,n[d+4>>2]=M|3,A=d+M|0,n[A+4>>2]=m|1,n[A+m>>2]=m,L|0&&(d=n[2788]|0,l=L>>>3,u=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=u),n[2785]=m,n[2788]=A,Ye=B,I=Mt,Ye|0;if(k=n[2784]|0,k){if(u=(k&0-k)+-1|0,B=u>>>12&16,u=u>>>B,m=u>>>5&8,u=u>>>m,R=u>>>2&4,u=u>>>R,A=u>>>1&2,u=u>>>A,o=u>>>1&1,o=n[11436+((m|B|R|A|o)+(u>>>o)<<2)>>2]|0,u=(n[o+4>>2]&-8)-M|0,A=n[o+16+(((n[o+16>>2]|0)==0&1)<<2)>>2]|0,!A)R=o,m=u;else{do B=(n[A+4>>2]&-8)-M|0,R=B>>>0>>0,u=R?B:u,o=R?A:o,A=n[A+16+(((n[A+16>>2]|0)==0&1)<<2)>>2]|0;while(A|0);R=o,m=u}if(B=R+M|0,R>>>0>>0){d=n[R+24>>2]|0,l=n[R+12>>2]|0;do if((l|0)==(R|0)){if(o=R+20|0,l=n[o>>2]|0,!l&&(o=R+16|0,l=n[o>>2]|0,!l)){u=0;break}for(;;){if(u=l+20|0,A=n[u>>2]|0,A|0){l=A,o=u;continue}if(u=l+16|0,A=n[u>>2]|0,A)l=A,o=u;else break}n[o>>2]=0,u=l}else u=n[R+8>>2]|0,n[u+12>>2]=l,n[l+8>>2]=u,u=l;while(!1);do if(d|0){if(l=n[R+28>>2]|0,o=11436+(l<<2)|0,(R|0)==(n[o>>2]|0)){if(n[o>>2]=u,!u){n[2784]=k&~(1<>2]|0)!=(R|0)&1)<<2)>>2]=u,!u)break;n[u+24>>2]=d,l=n[R+16>>2]|0,l|0&&(n[u+16>>2]=l,n[l+24>>2]=u),l=n[R+20>>2]|0,l|0&&(n[u+20>>2]=l,n[l+24>>2]=u)}while(!1);return m>>>0<16?(Ye=m+M|0,n[R+4>>2]=Ye|3,Ye=R+Ye+4|0,n[Ye>>2]=n[Ye>>2]|1):(n[R+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,L|0&&(A=n[2788]|0,l=L>>>3,u=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=q|l,l=u,o=u+8|0),n[o>>2]=A,n[l+12>>2]=A,n[A+8>>2]=l,n[A+12>>2]=u),n[2785]=m,n[2788]=B),Ye=R+8|0,I=Mt,Ye|0}else q=M}else q=M}else q=M}else if(o>>>0<=4294967231)if(o=o+11|0,M=o&-8,R=n[2784]|0,R){A=0-M|0,o=o>>>8,o?M>>>0>16777215?k=31:(q=(o+1048320|0)>>>16&8,He=o<>>16&4,He=He<>>16&2,k=14-(L|q|k)+(He<>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,u=n[11436+(k<<2)>>2]|0;e:do if(!u)u=0,o=0,He=57;else for(o=0,B=M<<((k|0)==31?0:25-(k>>>1)|0),m=0;;){if(d=(n[u+4>>2]&-8)-M|0,d>>>0>>0)if(d)o=u,A=d;else{o=u,A=0,d=u,He=61;break e}if(d=n[u+20>>2]|0,u=n[u+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(u|0)?m:d,d=(u|0)==0,d){u=m,He=57;break}else B=B<<((d^1)&1)}while(!1);if((He|0)==57){if((u|0)==0&(o|0)==0){if(o=2<>>12&16,q=q>>>B,m=q>>>5&8,q=q>>>m,k=q>>>2&4,q=q>>>k,L=q>>>1&2,q=q>>>L,u=q>>>1&1,o=0,u=n[11436+((m|B|k|L|u)+(q>>>u)<<2)>>2]|0}u?(d=u,He=61):(k=o,B=A)}if((He|0)==61)for(;;)if(He=0,u=(n[d+4>>2]&-8)-M|0,q=u>>>0>>0,u=q?u:A,o=q?d:o,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)A=u,He=61;else{k=o,B=u;break}if(k|0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=k+M|0,k>>>0>=m>>>0)return Ye=0,I=Mt,Ye|0;d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(o=k+20|0,l=n[o>>2]|0,!l&&(o=k+16|0,l=n[o>>2]|0,!l)){l=0;break}for(;;){if(u=l+20|0,A=n[u>>2]|0,A|0){l=A,o=u;continue}if(u=l+16|0,A=n[u>>2]|0,A)l=A,o=u;else break}n[o>>2]=0}else Ye=n[k+8>>2]|0,n[Ye+12>>2]=l,n[l+8>>2]=Ye;while(!1);do if(d){if(o=n[k+28>>2]|0,u=11436+(o<<2)|0,(k|0)==(n[u>>2]|0)){if(n[u>>2]=l,!l){A=R&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=l,!l){A=R;break}n[l+24>>2]=d,o=n[k+16>>2]|0,o|0&&(n[l+16>>2]=o,n[o+24>>2]=l),o=n[k+20>>2]|0,o&&(n[l+20>>2]=o,n[o+24>>2]=l),A=R}else A=R;while(!1);do if(B>>>0>=16){if(n[k+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){u=11172+(l<<1<<2)|0,o=n[2783]|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=u;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ye=l<>>16&4,Ye=Ye<>>16&2,l=14-(ft|He|l)+(Ye<>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,u=11436+(l<<2)|0,n[m+28>>2]=l,o=m+16|0,n[o+4>>2]=0,n[o>>2]=0,o=1<>2]=m,n[m+24>>2]=u,n[m+12>>2]=m,n[m+8>>2]=m;break}for(o=B<<((l|0)==31?0:25-(l>>>1)|0),u=n[u>>2]|0;;){if((n[u+4>>2]&-8|0)==(B|0)){He=97;break}if(A=u+16+(o>>>31<<2)|0,l=n[A>>2]|0,l)o=o<<1,u=l;else{He=96;break}}if((He|0)==96){n[A>>2]=m,n[m+24>>2]=u,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=u+8|0,Ye=n[He>>2]|0,n[Ye+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ye,n[m+12>>2]=u,n[m+24>>2]=0;break}}else Ye=B+M|0,n[k+4>>2]=Ye|3,Ye=k+Ye+4|0,n[Ye>>2]=n[Ye>>2]|1;while(!1);return Ye=k+8|0,I=Mt,Ye|0}else q=M}else q=M;else q=-1;while(!1);if(u=n[2785]|0,u>>>0>=q>>>0)return l=u-q|0,o=n[2788]|0,l>>>0>15?(Ye=o+q|0,n[2788]=Ye,n[2785]=l,n[Ye+4>>2]=l|1,n[Ye+l>>2]=l,n[o+4>>2]=q|3):(n[2785]=0,n[2788]=0,n[o+4>>2]=u|3,Ye=o+u+4|0,n[Ye>>2]=n[Ye>>2]|1),Ye=o+8|0,I=Mt,Ye|0;if(B=n[2786]|0,B>>>0>q>>>0)return ft=B-q|0,n[2786]=ft,Ye=n[2789]|0,He=Ye+q|0,n[2789]=He,n[He+4>>2]=ft|1,n[Ye+4>>2]=q|3,Ye=Ye+8|0,I=Mt,Ye|0;if(n[2901]|0?o=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,o=oe&-16^1431655768,n[oe>>2]=o,n[2901]=o,o=4096),k=q+48|0,R=q+47|0,m=o+R|0,d=0-o|0,M=m&d,M>>>0<=q>>>0||(o=n[2893]|0,o|0&&(L=n[2891]|0,oe=L+M|0,oe>>>0<=L>>>0|oe>>>0>o>>>0)))return Ye=0,I=Mt,Ye|0;e:do if(n[2894]&4)l=0,He=133;else{u=n[2789]|0;t:do if(u){for(A=11580;o=n[A>>2]|0,!(o>>>0<=u>>>0&&(Te=A+4|0,(o+(n[Te>>2]|0)|0)>>>0>u>>>0));)if(o=n[A+8>>2]|0,o)A=o;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(o=Gh(l|0)|0,(o|0)==((n[A>>2]|0)+(n[Te>>2]|0)|0)){if((o|0)!=-1){B=l,m=o,He=135;break e}}else A=o,He=126;else l=0}else He=118;while(!1);do if((He|0)==118)if(u=Gh(0)|0,(u|0)!=-1&&(l=u,Ve=n[2902]|0,Le=Ve+-1|0,l=(Le&l|0?(Le+l&0-Ve)-l|0:0)+M|0,Ve=n[2891]|0,Le=l+Ve|0,l>>>0>q>>>0&l>>>0<2147483647)){if(Te=n[2893]|0,Te|0&&Le>>>0<=Ve>>>0|Le>>>0>Te>>>0){l=0;break}if(o=Gh(l|0)|0,(o|0)==(u|0)){B=l,m=u,He=135;break e}else A=o,He=126}else l=0;while(!1);do if((He|0)==126){if(u=0-l|0,!(k>>>0>l>>>0&(l>>>0<2147483647&(A|0)!=-1)))if((A|0)==-1){l=0;break}else{B=l,m=A,He=135;break e}if(o=n[2903]|0,o=R-l+o&0-o,o>>>0>=2147483647){B=l,m=A,He=135;break e}if((Gh(o|0)|0)==-1){Gh(u|0)|0,l=0;break}else{B=o+l|0,m=A,He=135;break e}}while(!1);n[2894]=n[2894]|4,He=133}while(!1);if((He|0)==133&&M>>>0<2147483647&&(ft=Gh(M|0)|0,Te=Gh(0)|0,nt=Te-ft|0,Ze=nt>>>0>(q+40|0)>>>0,!((ft|0)==-1|Ze^1|ft>>>0>>0&((ft|0)!=-1&(Te|0)!=-1)^1))&&(B=Ze?nt:l,m=ft,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),R=n[2789]|0;do if(R){for(l=11580;;){if(o=n[l>>2]|0,u=l+4|0,A=n[u>>2]|0,(m|0)==(o+A|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&!(n[l+12>>2]&8|0)&&R>>>0>>0&R>>>0>=o>>>0){n[u>>2]=A+B,Ye=R+8|0,Ye=Ye&7|0?0-Ye&7:0,He=R+Ye|0,Ye=(n[2786]|0)+(B-Ye)|0,n[2789]=He,n[2786]=Ye,n[He+4>>2]=Ye|1,n[He+Ye+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),u=m+B|0,l=11580;;){if((n[l>>2]|0)==(u|0)){He=153;break}if(o=n[l+8>>2]|0,o)l=o;else break}if((He|0)==153&&!(n[l+12>>2]&8|0)){n[l>>2]=m,L=l+4|0,n[L>>2]=(n[L>>2]|0)+B,L=m+8|0,L=m+(L&7|0?0-L&7:0)|0,l=u+8|0,l=u+(l&7|0?0-l&7:0)|0,M=L+q|0,k=l-L-q|0,n[L+4>>2]=q|3;do if((l|0)!=(R|0)){if((l|0)==(n[2788]|0)){Ye=(n[2785]|0)+k|0,n[2785]=Ye,n[2788]=M,n[M+4>>2]=Ye|1,n[M+Ye>>2]=Ye;break}if(o=n[l+4>>2]|0,(o&3|0)==1){B=o&-8,A=o>>>3;e:do if(o>>>0<256)if(o=n[l+8>>2]|0,u=n[l+12>>2]|0,(u|0)==(o|0)){n[2783]=n[2783]&~(1<>2]=u,n[u+8>>2]=o;break}else{m=n[l+24>>2]|0,o=n[l+12>>2]|0;do if((o|0)==(l|0)){if(A=l+16|0,u=A+4|0,o=n[u>>2]|0,!o)if(o=n[A>>2]|0,o)u=A;else{o=0;break}for(;;){if(A=o+20|0,d=n[A>>2]|0,d|0){o=d,u=A;continue}if(A=o+16|0,d=n[A>>2]|0,d)o=d,u=A;else break}n[u>>2]=0}else Ye=n[l+8>>2]|0,n[Ye+12>>2]=o,n[o+8>>2]=Ye;while(!1);if(!m)break;u=n[l+28>>2]|0,A=11436+(u<<2)|0;do if((l|0)!=(n[A>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=o,!o)break e}else{if(n[A>>2]=o,o|0)break;n[2784]=n[2784]&~(1<>2]=m,u=l+16|0,A=n[u>>2]|0,A|0&&(n[o+16>>2]=A,n[A+24>>2]=o),u=n[u+4>>2]|0,!u)break;n[o+20>>2]=u,n[u+24>>2]=o}while(!1);l=l+B|0,d=B+k|0}else d=k;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){u=11172+(l<<1<<2)|0,o=n[2783]|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=u;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ye=l<>>16&4,Ye=Ye<>>16&2,l=14-(ft|He|l)+(Ye<>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(A=11436+(l<<2)|0,n[M+28>>2]=l,o=M+16|0,n[o+4>>2]=0,n[o>>2]=0,o=n[2784]|0,u=1<>2]=M,n[M+24>>2]=A,n[M+12>>2]=M,n[M+8>>2]=M;break}for(o=d<<((l|0)==31?0:25-(l>>>1)|0),u=n[A>>2]|0;;){if((n[u+4>>2]&-8|0)==(d|0)){He=194;break}if(A=u+16+(o>>>31<<2)|0,l=n[A>>2]|0,l)o=o<<1,u=l;else{He=193;break}}if((He|0)==193){n[A>>2]=M,n[M+24>>2]=u,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((He|0)==194){He=u+8|0,Ye=n[He>>2]|0,n[Ye+12>>2]=M,n[He>>2]=M,n[M+8>>2]=Ye,n[M+12>>2]=u,n[M+24>>2]=0;break}}else Ye=(n[2786]|0)+k|0,n[2786]=Ye,n[2789]=M,n[M+4>>2]=Ye|1;while(!1);return Ye=L+8|0,I=Mt,Ye|0}for(l=11580;o=n[l>>2]|0,!(o>>>0<=R>>>0&&(Ye=o+(n[l+4>>2]|0)|0,Ye>>>0>R>>>0));)l=n[l+8>>2]|0;d=Ye+-47|0,o=d+8|0,o=d+(o&7|0?0-o&7:0)|0,d=R+16|0,o=o>>>0>>0?R:o,l=o+8|0,u=m+8|0,u=u&7|0?0-u&7:0,He=m+u|0,u=B+-40-u|0,n[2789]=He,n[2786]=u,n[He+4>>2]=u|1,n[He+u+4>>2]=40,n[2790]=n[2905],u=o+4|0,n[u>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=o+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0>>0);if((o|0)!=(R|0)){if(m=o-R|0,n[u>>2]=n[u>>2]&-2,n[R+4>>2]=m|1,n[o>>2]=m,l=m>>>3,m>>>0<256){u=11172+(l<<1<<2)|0,o=n[2783]|0,l=1<>2]|0):(n[2783]=o|l,l=u,o=u+8|0),n[o>>2]=R,n[l+12>>2]=R,n[R+8>>2]=l,n[R+12>>2]=u;break}if(l=m>>>8,l?m>>>0>16777215?u=31:(He=(l+1048320|0)>>>16&8,Ye=l<>>16&4,Ye=Ye<>>16&2,u=14-(ft|He|u)+(Ye<>>15)|0,u=m>>>(u+7|0)&1|u<<1):u=0,A=11436+(u<<2)|0,n[R+28>>2]=u,n[R+20>>2]=0,n[d>>2]=0,l=n[2784]|0,o=1<>2]=R,n[R+24>>2]=A,n[R+12>>2]=R,n[R+8>>2]=R;break}for(o=m<<((u|0)==31?0:25-(u>>>1)|0),u=n[A>>2]|0;;){if((n[u+4>>2]&-8|0)==(m|0)){He=216;break}if(A=u+16+(o>>>31<<2)|0,l=n[A>>2]|0,l)o=o<<1,u=l;else{He=215;break}}if((He|0)==215){n[A>>2]=R,n[R+24>>2]=u,n[R+12>>2]=R,n[R+8>>2]=R;break}else if((He|0)==216){He=u+8|0,Ye=n[He>>2]|0,n[Ye+12>>2]=R,n[He>>2]=R,n[R+8>>2]=Ye,n[R+12>>2]=u,n[R+24>>2]=0;break}}}else{Ye=n[2787]|0,(Ye|0)==0|m>>>0>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ye=11172+(l<<1<<2)|0,n[Ye+12>>2]=Ye,n[Ye+8>>2]=Ye,l=l+1|0;while((l|0)!=32);Ye=m+8|0,Ye=Ye&7|0?0-Ye&7:0,He=m+Ye|0,Ye=B+-40-Ye|0,n[2789]=He,n[2786]=Ye,n[He+4>>2]=Ye|1,n[He+Ye+4>>2]=40,n[2790]=n[2905]}while(!1);if(l=n[2786]|0,l>>>0>q>>>0)return ft=l-q|0,n[2786]=ft,Ye=n[2789]|0,He=Ye+q|0,n[2789]=He,n[He+4>>2]=ft|1,n[Ye+4>>2]=q|3,Ye=Ye+8|0,I=Mt,Ye|0}return n[(eE()|0)>>2]=12,Ye=0,I=Mt,Ye|0}function HP(o){o=o|0;var l=0,u=0,A=0,d=0,m=0,B=0,k=0,R=0;if(o){u=o+-8|0,d=n[2787]|0,o=n[o+-4>>2]|0,l=o&-8,R=u+l|0;do if(o&1)k=u,B=u;else{if(A=n[u>>2]|0,!(o&3)||(B=u+(0-A)|0,m=A+l|0,B>>>0>>0))return;if((B|0)==(n[2788]|0)){if(o=R+4|0,l=n[o>>2]|0,(l&3|0)!=3){k=B,l=m;break}n[2785]=m,n[o>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(u=A>>>3,A>>>0<256)if(o=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(o|0)){n[2783]=n[2783]&~(1<>2]=l,n[l+8>>2]=o,k=B,l=m;break}d=n[B+24>>2]|0,o=n[B+12>>2]|0;do if((o|0)==(B|0)){if(u=B+16|0,l=u+4|0,o=n[l>>2]|0,!o)if(o=n[u>>2]|0,o)l=u;else{o=0;break}for(;;){if(u=o+20|0,A=n[u>>2]|0,A|0){o=A,l=u;continue}if(u=o+16|0,A=n[u>>2]|0,A)o=A,l=u;else break}n[l>>2]=0}else k=n[B+8>>2]|0,n[k+12>>2]=o,n[o+8>>2]=k;while(!1);if(d){if(l=n[B+28>>2]|0,u=11436+(l<<2)|0,(B|0)==(n[u>>2]|0)){if(n[u>>2]=o,!o){n[2784]=n[2784]&~(1<>2]|0)!=(B|0)&1)<<2)>>2]=o,!o){k=B,l=m;break}n[o+24>>2]=d,l=B+16|0,u=n[l>>2]|0,u|0&&(n[o+16>>2]=u,n[u+24>>2]=o),l=n[l+4>>2]|0,l?(n[o+20>>2]=l,n[l+24>>2]=o,k=B,l=m):(k=B,l=m)}else k=B,l=m}while(!1);if(!(B>>>0>=R>>>0)&&(o=R+4|0,A=n[o>>2]|0,!!(A&1))){if(A&2)n[o>>2]=A&-2,n[k+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(o=n[2788]|0,(R|0)==(n[2789]|0)){if(R=(n[2786]|0)+l|0,n[2786]=R,n[2789]=k,n[k+4>>2]=R|1,(k|0)!=(o|0))return;n[2788]=0,n[2785]=0;return}if((R|0)==(o|0)){R=(n[2785]|0)+l|0,n[2785]=R,n[2788]=B,n[k+4>>2]=R|1,n[B+R>>2]=R;return}d=(A&-8)+l|0,u=A>>>3;do if(A>>>0<256)if(l=n[R+8>>2]|0,o=n[R+12>>2]|0,(o|0)==(l|0)){n[2783]=n[2783]&~(1<>2]=o,n[o+8>>2]=l;break}else{m=n[R+24>>2]|0,o=n[R+12>>2]|0;do if((o|0)==(R|0)){if(u=R+16|0,l=u+4|0,o=n[l>>2]|0,!o)if(o=n[u>>2]|0,o)l=u;else{u=0;break}for(;;){if(u=o+20|0,A=n[u>>2]|0,A|0){o=A,l=u;continue}if(u=o+16|0,A=n[u>>2]|0,A)o=A,l=u;else break}n[l>>2]=0,u=o}else u=n[R+8>>2]|0,n[u+12>>2]=o,n[o+8>>2]=u,u=o;while(!1);if(m|0){if(o=n[R+28>>2]|0,l=11436+(o<<2)|0,(R|0)==(n[l>>2]|0)){if(n[l>>2]=u,!u){n[2784]=n[2784]&~(1<>2]|0)!=(R|0)&1)<<2)>>2]=u,!u)break;n[u+24>>2]=m,o=R+16|0,l=n[o>>2]|0,l|0&&(n[u+16>>2]=l,n[l+24>>2]=u),o=n[o+4>>2]|0,o|0&&(n[u+20>>2]=o,n[o+24>>2]=u)}}while(!1);if(n[k+4>>2]=d|1,n[B+d>>2]=d,(k|0)==(n[2788]|0)){n[2785]=d;return}}if(o=d>>>3,d>>>0<256){u=11172+(o<<1<<2)|0,l=n[2783]|0,o=1<>2]|0):(n[2783]=l|o,o=u,l=u+8|0),n[l>>2]=k,n[o+12>>2]=k,n[k+8>>2]=o,n[k+12>>2]=u;return}o=d>>>8,o?d>>>0>16777215?o=31:(B=(o+1048320|0)>>>16&8,R=o<>>16&4,R=R<>>16&2,o=14-(m|B|o)+(R<>>15)|0,o=d>>>(o+7|0)&1|o<<1):o=0,A=11436+(o<<2)|0,n[k+28>>2]=o,n[k+20>>2]=0,n[k+16>>2]=0,l=n[2784]|0,u=1<>>1)|0),u=n[A>>2]|0;;){if((n[u+4>>2]&-8|0)==(d|0)){o=73;break}if(A=u+16+(l>>>31<<2)|0,o=n[A>>2]|0,o)l=l<<1,u=o;else{o=72;break}}if((o|0)==72){n[A>>2]=k,n[k+24>>2]=u,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((o|0)==73){B=u+8|0,R=n[B>>2]|0,n[R+12>>2]=k,n[B>>2]=k,n[k+8>>2]=R,n[k+12>>2]=u,n[k+24>>2]=0;break}}else n[2784]=l|u,n[A>>2]=k,n[k+24>>2]=A,n[k+12>>2]=k,n[k+8>>2]=k;while(!1);if(R=(n[2791]|0)+-1|0,n[2791]=R,!R)o=11588;else return;for(;o=n[o>>2]|0,o;)o=o+8|0;n[2791]=-1}}}function W8e(){return 11628}function Y8e(o){o=o|0;var l=0,u=0;return l=I,I=I+16|0,u=l,n[u>>2]=K8e(n[o+60>>2]|0)|0,o=jP(fu(6,u|0)|0)|0,I=l,o|0}function _X(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0;q=I,I=I+48|0,M=q+16|0,m=q,d=q+32|0,k=o+28|0,A=n[k>>2]|0,n[d>>2]=A,R=o+20|0,A=(n[R>>2]|0)-A|0,n[d+4>>2]=A,n[d+8>>2]=l,n[d+12>>2]=u,A=A+u|0,B=o+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=jP(Ya(146,m|0)|0)|0;e:do if((A|0)!=(m|0)){for(l=2;!((m|0)<0);)if(A=A-m|0,Ve=n[d+4>>2]|0,oe=m>>>0>Ve>>>0,d=oe?d+8|0:d,l=(oe<<31>>31)+l|0,Ve=m-(oe?Ve:0)|0,n[d>>2]=(n[d>>2]|0)+Ve,oe=d+4|0,n[oe>>2]=(n[oe>>2]|0)-Ve,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=jP(Ya(146,M|0)|0)|0,(A|0)==(m|0)){L=3;break e}n[o+16>>2]=0,n[k>>2]=0,n[R>>2]=0,n[o>>2]=n[o>>2]|32,(l|0)==2?u=0:u=u-(n[d+4>>2]|0)|0}else L=3;while(!1);return(L|0)==3&&(Ve=n[o+44>>2]|0,n[o+16>>2]=Ve+(n[o+48>>2]|0),n[k>>2]=Ve,n[R>>2]=Ve),I=q,u|0}function V8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;return d=I,I=I+32|0,m=d,A=d+20|0,n[m>>2]=n[o+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=A,n[m+16>>2]=u,(jP(Wa(140,m|0)|0)|0)<0?(n[A>>2]=-1,o=-1):o=n[A>>2]|0,I=d,o|0}function jP(o){return o=o|0,o>>>0>4294963200&&(n[(eE()|0)>>2]=0-o,o=-1),o|0}function eE(){return(J8e()|0)+64|0}function J8e(){return VM()|0}function VM(){return 2084}function K8e(o){return o=o|0,o|0}function z8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;return d=I,I=I+32|0,A=d,n[o+36>>2]=1,!(n[o>>2]&64|0)&&(n[A>>2]=n[o+60>>2],n[A+4>>2]=21523,n[A+8>>2]=d+16,co(54,A|0)|0)&&(s[o+75>>0]=-1),A=_X(o,l,u)|0,I=d,A|0}function HX(o,l){o=o|0,l=l|0;var u=0,A=0;if(u=s[o>>0]|0,A=s[l>>0]|0,!(u<<24>>24)||u<<24>>24!=A<<24>>24)o=A;else{do o=o+1|0,l=l+1|0,u=s[o>>0]|0,A=s[l>>0]|0;while(!(!(u<<24>>24)||u<<24>>24!=A<<24>>24));o=A}return(u&255)-(o&255)|0}function X8e(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0;e:do if(!u)o=0;else{for(;A=s[o>>0]|0,d=s[l>>0]|0,A<<24>>24==d<<24>>24;)if(u=u+-1|0,u)o=o+1|0,l=l+1|0;else{o=0;break e}o=(A&255)-(d&255)|0}while(!1);return o|0}function jX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0;Te=I,I=I+224|0,L=Te+120|0,q=Te+80|0,Ve=Te,Le=Te+136|0,A=q,d=A+40|0;do n[A>>2]=0,A=A+4|0;while((A|0)<(d|0));return n[L>>2]=n[u>>2],(JM(0,l,L,Ve,q)|0)<0?u=-1:((n[o+76>>2]|0)>-1?oe=Z8e(o)|0:oe=0,u=n[o>>2]|0,M=u&32,(s[o+74>>0]|0)<1&&(n[o>>2]=u&-33),A=o+48|0,n[A>>2]|0?u=JM(o,l,L,Ve,q)|0:(d=o+44|0,m=n[d>>2]|0,n[d>>2]=Le,B=o+28|0,n[B>>2]=Le,k=o+20|0,n[k>>2]=Le,n[A>>2]=80,R=o+16|0,n[R>>2]=Le+80,u=JM(o,l,L,Ve,q)|0,m&&(YP[n[o+36>>2]&7](o,0,0)|0,u=n[k>>2]|0?u:-1,n[d>>2]=m,n[A>>2]=0,n[R>>2]=0,n[B>>2]=0,n[k>>2]=0)),A=n[o>>2]|0,n[o>>2]=A|M,oe|0&&$8e(o),u=A&32|0?-1:u),I=Te,u|0}function JM(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0,nt=0,Ze=0,ft=0,He=0,Ye=0,Mt=0,Gr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0;cr=I,I=I+64|0,fr=cr+16|0,$t=cr,Mt=cr+24|0,Tr=cr+8|0,Hr=cr+20|0,n[fr>>2]=l,ft=(o|0)!=0,He=Mt+40|0,Ye=He,Mt=Mt+39|0,Gr=Tr+4|0,B=0,m=0,L=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(eE()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(!1);if(B=s[l>>0]|0,B<<24>>24)k=l;else{Ze=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=k,Ze=9;break t}case 0:{B=k;break t}default:}nt=k+1|0,n[fr>>2]=nt,B=s[nt>>0]|0,k=nt}t:do if((Ze|0)==9)for(;;){if(Ze=0,(s[k+1>>0]|0)!=37)break t;if(B=B+1|0,k=k+2|0,n[fr>>2]=k,(s[k>>0]|0)==37)Ze=9;else break}while(!1);if(B=B-l|0,ft&&bs(o,l,B),B|0){l=k;continue}R=k+1|0,B=(s[R>>0]|0)+-48|0,B>>>0<10?(nt=(s[k+2>>0]|0)==36,Te=nt?B:-1,L=nt?1:L,R=nt?k+3|0:R):Te=-1,n[fr>>2]=R,B=s[R>>0]|0,k=(B<<24>>24)+-32|0;t:do if(k>>>0<32)for(M=0,q=B;;){if(B=1<>2]=R,B=s[R>>0]|0,k=(B<<24>>24)+-32|0,k>>>0>=32)break;q=B}else M=0;while(!1);if(B<<24>>24==42){if(k=R+1|0,B=(s[k>>0]|0)+-48|0,B>>>0<10&&(s[R+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[A+((s[k>>0]|0)+-48<<3)>>2]|0,L=1,R=R+3|0;else{if(L|0){m=-1;break}ft?(L=(n[u>>2]|0)+3&-4,B=n[L>>2]|0,n[u>>2]=L+4,L=0,R=k):(B=0,L=0,R=k)}n[fr>>2]=R,nt=(B|0)<0,B=nt?0-B|0:B,M=nt?M|8192:M}else{if(B=GX(fr)|0,(B|0)<0){m=-1;break}R=n[fr>>2]|0}do if((s[R>>0]|0)==46){if((s[R+1>>0]|0)!=42){n[fr>>2]=R+1,k=GX(fr)|0,R=n[fr>>2]|0;break}if(q=R+2|0,k=(s[q>>0]|0)+-48|0,k>>>0<10&&(s[R+3>>0]|0)==36){n[d+(k<<2)>>2]=10,k=n[A+((s[q>>0]|0)+-48<<3)>>2]|0,R=R+4|0,n[fr>>2]=R;break}if(L|0){m=-1;break e}ft?(nt=(n[u>>2]|0)+3&-4,k=n[nt>>2]|0,n[u>>2]=nt+4):k=0,n[fr>>2]=q,R=q}else k=-1;while(!1);for(Le=0;;){if(((s[R>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(nt=R+1|0,n[fr>>2]=nt,q=s[(s[R>>0]|0)+-65+(5178+(Le*58|0))>>0]|0,oe=q&255,(oe+-1|0)>>>0<8)Le=oe,R=nt;else break}if(!(q<<24>>24)){m=-1;break}Ve=(Te|0)>-1;do if(q<<24>>24==19)if(Ve){m=-1;break e}else Ze=49;else{if(Ve){n[d+(Te<<2)>>2]=oe,Ve=A+(Te<<3)|0,Te=n[Ve+4>>2]|0,Ze=$t,n[Ze>>2]=n[Ve>>2],n[Ze+4>>2]=Te,Ze=49;break}if(!ft){m=0;break e}qX($t,oe,u)}while(!1);if((Ze|0)==49&&(Ze=0,!ft)){B=0,l=nt;continue}R=s[R>>0]|0,R=(Le|0)!=0&(R&15|0)==3?R&-33:R,Ve=M&-65537,Te=M&8192|0?Ve:M;t:do switch(R|0){case 110:switch((Le&255)<<24>>24){case 0:{n[n[$t>>2]>>2]=m,B=0,l=nt;continue e}case 1:{n[n[$t>>2]>>2]=m,B=0,l=nt;continue e}case 2:{B=n[$t>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=nt;continue e}case 3:{a[n[$t>>2]>>1]=m,B=0,l=nt;continue e}case 4:{s[n[$t>>2]>>0]=m,B=0,l=nt;continue e}case 6:{n[n[$t>>2]>>2]=m,B=0,l=nt;continue e}case 7:{B=n[$t>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=nt;continue e}default:{B=0,l=nt;continue e}}case 112:{R=120,k=k>>>0>8?k:8,l=Te|8,Ze=61;break}case 88:case 120:{l=Te,Ze=61;break}case 111:{R=$t,l=n[R>>2]|0,R=n[R+4>>2]|0,oe=tHe(l,R,He)|0,Ve=Ye-oe|0,M=0,q=5642,k=(Te&8|0)==0|(k|0)>(Ve|0)?k:Ve+1|0,Ve=Te,Ze=67;break}case 105:case 100:if(R=$t,l=n[R>>2]|0,R=n[R+4>>2]|0,(R|0)<0){l=GP(0,0,l|0,R|0)|0,R=Be,M=$t,n[M>>2]=l,n[M+4>>2]=R,M=1,q=5642,Ze=66;break t}else{M=(Te&2049|0)!=0&1,q=Te&2048|0?5643:Te&1|0?5644:5642,Ze=66;break t}case 117:{R=$t,M=0,q=5642,l=n[R>>2]|0,R=n[R+4>>2]|0,Ze=66;break}case 99:{s[Mt>>0]=n[$t>>2],l=Mt,M=0,q=5642,oe=He,R=1,k=Ve;break}case 109:{R=rHe(n[(eE()|0)>>2]|0)|0,Ze=71;break}case 115:{R=n[$t>>2]|0,R=R|0?R:5652,Ze=71;break}case 67:{n[Tr>>2]=n[$t>>2],n[Gr>>2]=0,n[$t>>2]=Tr,oe=-1,R=Tr,Ze=75;break}case 83:{l=n[$t>>2]|0,k?(oe=k,R=l,Ze=75):(_s(o,32,B,0,Te),l=0,Ze=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=iHe(o,+E[$t>>3],B,k,Te,R)|0,l=nt;continue e}default:M=0,q=5642,oe=He,R=k,k=Te}while(!1);t:do if((Ze|0)==61)Te=$t,Le=n[Te>>2]|0,Te=n[Te+4>>2]|0,oe=eHe(Le,Te,He,R&32)|0,q=(l&8|0)==0|(Le|0)==0&(Te|0)==0,M=q?0:2,q=q?5642:5642+(R>>4)|0,Ve=l,l=Le,R=Te,Ze=67;else if((Ze|0)==66)oe=tE(l,R,He)|0,Ve=Te,Ze=67;else if((Ze|0)==71)Ze=0,Te=nHe(R,0,k)|0,Le=(Te|0)==0,l=R,M=0,q=5642,oe=Le?R+k|0:Te,R=Le?k:Te-R|0,k=Ve;else if((Ze|0)==75){for(Ze=0,q=R,l=0,k=0;M=n[q>>2]|0,!(!M||(k=WX(Hr,M)|0,(k|0)<0|k>>>0>(oe-l|0)>>>0));)if(l=k+l|0,oe>>>0>l>>>0)q=q+4|0;else break;if((k|0)<0){m=-1;break e}if(_s(o,32,B,l,Te),!l)l=0,Ze=84;else for(M=0;;){if(k=n[R>>2]|0,!k){Ze=84;break t}if(k=WX(Hr,k)|0,M=k+M|0,(M|0)>(l|0)){Ze=84;break t}if(bs(o,Hr,k),M>>>0>=l>>>0){Ze=84;break}else R=R+4|0}}while(!1);if((Ze|0)==67)Ze=0,R=(l|0)!=0|(R|0)!=0,Te=(k|0)!=0|R,R=((R^1)&1)+(Ye-oe)|0,l=Te?oe:He,oe=He,R=Te?(k|0)>(R|0)?k:R:k,k=(k|0)>-1?Ve&-65537:Ve;else if((Ze|0)==84){Ze=0,_s(o,32,B,l,Te^8192),B=(B|0)>(l|0)?B:l,l=nt;continue}Le=oe-l|0,Ve=(R|0)<(Le|0)?Le:R,Te=Ve+M|0,B=(B|0)<(Te|0)?Te:B,_s(o,32,B,Te,k),bs(o,q,M),_s(o,48,B,Te,k^65536),_s(o,48,Ve,Le,0),bs(o,l,Le),_s(o,32,B,Te,k^8192),l=nt}e:do if((Ze|0)==87&&!o)if(!L)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(qX(A+(m<<3)|0,l,u),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(!1);return I=cr,m|0}function Z8e(o){return o=o|0,0}function $8e(o){o=o|0}function bs(o,l,u){o=o|0,l=l|0,u=u|0,n[o>>2]&32||pHe(l,u,o)|0}function GX(o){o=o|0;var l=0,u=0,A=0;if(u=n[o>>2]|0,A=(s[u>>0]|0)+-48|0,A>>>0<10){l=0;do l=A+(l*10|0)|0,u=u+1|0,n[o>>2]=u,A=(s[u>>0]|0)+-48|0;while(A>>>0<10)}else l=0;return l|0}function qX(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{A=(n[u>>2]|0)+3&-4,l=n[A>>2]|0,n[u>>2]=A+4,n[o>>2]=l;break e}case 10:{A=(n[u>>2]|0)+3&-4,l=n[A>>2]|0,n[u>>2]=A+4,A=o,n[A>>2]=l,n[A+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{A=(n[u>>2]|0)+3&-4,l=n[A>>2]|0,n[u>>2]=A+4,A=o,n[A>>2]=l,n[A+4>>2]=0;break e}case 12:{A=(n[u>>2]|0)+7&-8,l=A,d=n[l>>2]|0,l=n[l+4>>2]|0,n[u>>2]=A+8,A=o,n[A>>2]=d,n[A+4>>2]=l;break e}case 13:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,A=(A&65535)<<16>>16,d=o,n[d>>2]=A,n[d+4>>2]=((A|0)<0)<<31>>31;break e}case 14:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,d=o,n[d>>2]=A&65535,n[d+4>>2]=0;break e}case 15:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,A=(A&255)<<24>>24,d=o,n[d>>2]=A,n[d+4>>2]=((A|0)<0)<<31>>31;break e}case 16:{d=(n[u>>2]|0)+3&-4,A=n[d>>2]|0,n[u>>2]=d+4,d=o,n[d>>2]=A&255,n[d+4>>2]=0;break e}case 17:{d=(n[u>>2]|0)+7&-8,m=+E[d>>3],n[u>>2]=d+8,E[o>>3]=m;break e}case 18:{d=(n[u>>2]|0)+7&-8,m=+E[d>>3],n[u>>2]=d+8,E[o>>3]=m;break e}default:break e}while(!1);while(!1)}function eHe(o,l,u,A){if(o=o|0,l=l|0,u=u|0,A=A|0,!((o|0)==0&(l|0)==0))do u=u+-1|0,s[u>>0]=c[5694+(o&15)>>0]|0|A,o=qP(o|0,l|0,4)|0,l=Be;while(!((o|0)==0&(l|0)==0));return u|0}function tHe(o,l,u){if(o=o|0,l=l|0,u=u|0,!((o|0)==0&(l|0)==0))do u=u+-1|0,s[u>>0]=o&7|48,o=qP(o|0,l|0,3)|0,l=Be;while(!((o|0)==0&(l|0)==0));return u|0}function tE(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;if(l>>>0>0|(l|0)==0&o>>>0>4294967295){for(;A=ZM(o|0,l|0,10,0)|0,u=u+-1|0,s[u>>0]=A&255|48,A=o,o=XM(o|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&A>>>0>4294967295;)l=Be;l=o}else l=o;if(l)for(;u=u+-1|0,s[u>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return u|0}function rHe(o){return o=o|0,cHe(o,n[(lHe()|0)+188>>2]|0)|0}function nHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;m=l&255,A=(u|0)!=0;e:do if(A&(o&3|0)!=0)for(d=l&255;;){if((s[o>>0]|0)==d<<24>>24){B=6;break e}if(o=o+1|0,u=u+-1|0,A=(u|0)!=0,!(A&(o&3|0)!=0)){B=5;break}}else B=5;while(!1);(B|0)==5&&(A?B=6:u=0);e:do if((B|0)==6&&(d=l&255,(s[o>>0]|0)!=d<<24>>24)){A=Me(m,16843009)|0;t:do if(u>>>0>3){for(;m=n[o>>2]^A,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(o=o+4|0,u=u+-4|0,u>>>0<=3){B=11;break t}}else B=11;while(!1);if((B|0)==11&&!u){u=0;break}for(;;){if((s[o>>0]|0)==d<<24>>24)break e;if(o=o+1|0,u=u+-1|0,!u){u=0;break}}}while(!1);return(u|0?o:0)|0}function _s(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0;if(B=I,I=I+256|0,m=B,(u|0)>(A|0)&(d&73728|0)==0){if(d=u-A|0,nE(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=u-A|0;do bs(o,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}bs(o,m,d)}I=B}function WX(o,l){return o=o|0,l=l|0,o?o=oHe(o,l,0)|0:o=0,o|0}function iHe(o,l,u,A,d,m){o=o|0,l=+l,u=u|0,A=A|0,d=d|0,m=m|0;var B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0,Te=0,nt=0,Ze=0,ft=0,He=0,Ye=0,Mt=0,Gr=0,fr=0,$t=0,Tr=0,Hr=0,cr=0,jn=0;jn=I,I=I+560|0,R=jn+8|0,nt=jn,cr=jn+524|0,Hr=cr,M=jn+512|0,n[nt>>2]=0,Tr=M+12|0,YX(l)|0,(Be|0)<0?(l=-l,fr=1,Gr=5659):(fr=(d&2049|0)!=0&1,Gr=d&2048|0?5662:d&1|0?5665:5660),YX(l)|0,$t=Be&2146435072;do if($t>>>0<2146435072|($t|0)==2146435072&!1){if(Ve=+sHe(l,nt)*2,B=Ve!=0,B&&(n[nt>>2]=(n[nt>>2]|0)+-1),ft=m|32,(ft|0)==97){Le=m&32,oe=Le|0?Gr+9|0:Gr,q=fr|2,B=12-A|0;do if(A>>>0>11|(B|0)==0)l=Ve;else{l=8;do B=B+-1|0,l=l*16;while(B|0);if((s[oe>>0]|0)==45){l=-(l+(-Ve-l));break}else{l=Ve+l-l;break}}while(!1);k=n[nt>>2]|0,B=(k|0)<0?0-k|0:k,B=tE(B,((B|0)<0)<<31>>31,Tr)|0,(B|0)==(Tr|0)&&(B=M+11|0,s[B>>0]=48),s[B+-1>>0]=(k>>31&2)+43,L=B+-2|0,s[L>>0]=m+15,M=(A|0)<1,R=(d&8|0)==0,B=cr;do $t=~~l,k=B+1|0,s[B>>0]=c[5694+$t>>0]|Le,l=(l-+($t|0))*16,(k-Hr|0)==1&&!(R&(M&l==0))?(s[k>>0]=46,B=B+2|0):B=k;while(l!=0);$t=B-Hr|0,Hr=Tr-L|0,Tr=(A|0)!=0&($t+-2|0)<(A|0)?A+2|0:$t,B=Hr+q+Tr|0,_s(o,32,u,B,d),bs(o,oe,q),_s(o,48,u,B,d^65536),bs(o,cr,$t),_s(o,48,Tr-$t|0,0,0),bs(o,L,Hr),_s(o,32,u,B,d^8192);break}k=(A|0)<0?6:A,B?(B=(n[nt>>2]|0)+-28|0,n[nt>>2]=B,l=Ve*268435456):(l=Ve,B=n[nt>>2]|0),$t=(B|0)<0?R:R+288|0,R=$t;do Ye=~~l>>>0,n[R>>2]=Ye,R=R+4|0,l=(l-+(Ye>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=$t,q=R;;){if(L=(B|0)<29?B:29,B=q+-4|0,B>>>0>=M>>>0){R=0;do He=ZX(n[B>>2]|0,0,L|0)|0,He=zM(He|0,Be|0,R|0,0)|0,Ye=Be,Ze=ZM(He|0,Ye|0,1e9,0)|0,n[B>>2]=Ze,R=XM(He|0,Ye|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);R&&(M=M+-4|0,n[M>>2]=R)}for(R=q;!(R>>>0<=M>>>0);)if(B=R+-4|0,!(n[B>>2]|0))R=B;else break;if(B=(n[nt>>2]|0)-L|0,n[nt>>2]=B,(B|0)>0)q=R;else break}else M=$t;if((B|0)<0){A=((k+25|0)/9|0)+1|0,Te=(ft|0)==102;do{if(Le=0-B|0,Le=(Le|0)<9?Le:9,M>>>0>>0){L=(1<>>Le,oe=0,B=M;do Ye=n[B>>2]|0,n[B>>2]=(Ye>>>Le)+oe,oe=Me(Ye&L,q)|0,B=B+4|0;while(B>>>0>>0);B=n[M>>2]|0?M:M+4|0,oe?(n[R>>2]=oe,M=B,B=R+4|0):(M=B,B=R)}else M=n[M>>2]|0?M:M+4|0,B=R;R=Te?$t:M,R=(B-R>>2|0)>(A|0)?R+(A<<2)|0:B,B=(n[nt>>2]|0)+Le|0,n[nt>>2]=B}while((B|0)<0);B=M,A=R}else B=M,A=R;if(Ye=$t,B>>>0>>0){if(R=(Ye-B>>2)*9|0,L=n[B>>2]|0,L>>>0>=10){M=10;do M=M*10|0,R=R+1|0;while(L>>>0>=M>>>0)}}else R=0;if(Te=(ft|0)==103,Ze=(k|0)!=0,M=k-((ft|0)!=102?R:0)+((Ze&Te)<<31>>31)|0,(M|0)<(((A-Ye>>2)*9|0)+-9|0)){if(M=M+9216|0,Le=$t+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){L=10;do L=L*10|0,M=M+1|0;while((M|0)!=9)}else L=10;if(q=n[Le>>2]|0,oe=(q>>>0)%(L>>>0)|0,M=(Le+4|0)==(A|0),M&(oe|0)==0)M=Le;else if(Ve=((q>>>0)/(L>>>0)|0)&1|0?9007199254740994:9007199254740992,He=(L|0)/2|0,l=oe>>>0>>0?.5:M&(oe|0)==(He|0)?1:1.5,fr&&(He=(s[Gr>>0]|0)==45,l=He?-l:l,Ve=He?-Ve:Ve),M=q-oe|0,n[Le>>2]=M,Ve+l!=Ve){if(He=M+L|0,n[Le>>2]=He,He>>>0>999999999)for(R=Le;M=R+-4|0,n[R>>2]=0,M>>>0>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[M>>2]|0)+1|0,n[M>>2]=He,He>>>0>999999999;)R=M;else M=Le;if(R=(Ye-B>>2)*9|0,q=n[B>>2]|0,q>>>0>=10){L=10;do L=L*10|0,R=R+1|0;while(q>>>0>=L>>>0)}}else M=Le;M=M+4|0,M=A>>>0>M>>>0?M:A,He=B}else M=A,He=B;for(ft=M;;){if(ft>>>0<=He>>>0){nt=0;break}if(B=ft+-4|0,!(n[B>>2]|0))ft=B;else{nt=1;break}}A=0-R|0;do if(Te)if(B=((Ze^1)&1)+k|0,(B|0)>(R|0)&(R|0)>-5?(L=m+-1|0,k=B+-1-R|0):(L=m+-2|0,k=B+-1|0),B=d&8,B)Le=B;else{if(nt&&(Mt=n[ft+-4>>2]|0,(Mt|0)!=0))if((Mt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Mt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((ft-Ye>>2)*9|0)+-9|0,(L|32|0)==102){Le=B-M|0,Le=(Le|0)>0?Le:0,k=(k|0)<(Le|0)?k:Le,Le=0;break}else{Le=B+R-M|0,Le=(Le|0)>0?Le:0,k=(k|0)<(Le|0)?k:Le,Le=0;break}}else L=m,Le=d&8;while(!1);if(Te=k|Le,q=(Te|0)!=0&1,oe=(L|32|0)==102,oe)Ze=0,B=(R|0)>0?R:0;else{if(B=(R|0)<0?A:R,B=tE(B,((B|0)<0)<<31>>31,Tr)|0,M=Tr,(M-B|0)<2)do B=B+-1|0,s[B>>0]=48;while((M-B|0)<2);s[B+-1>>0]=(R>>31&2)+43,B=B+-2|0,s[B>>0]=L,Ze=B,B=M-B|0}if(B=fr+1+k+q+B|0,_s(o,32,u,B,d),bs(o,Gr,fr),_s(o,48,u,B,d^65536),oe){L=He>>>0>$t>>>0?$t:He,Le=cr+9|0,q=Le,oe=cr+8|0,M=L;do{if(R=tE(n[M>>2]|0,0,Le)|0,(M|0)==(L|0))(R|0)==(Le|0)&&(s[oe>>0]=48,R=oe);else if(R>>>0>cr>>>0){nE(cr|0,48,R-Hr|0)|0;do R=R+-1|0;while(R>>>0>cr>>>0)}bs(o,R,q-R|0),M=M+4|0}while(M>>>0<=$t>>>0);if(Te|0&&bs(o,5710,1),M>>>0>>0&(k|0)>0)for(;;){if(R=tE(n[M>>2]|0,0,Le)|0,R>>>0>cr>>>0){nE(cr|0,48,R-Hr|0)|0;do R=R+-1|0;while(R>>>0>cr>>>0)}if(bs(o,R,(k|0)<9?k:9),M=M+4|0,R=k+-9|0,M>>>0>>0&(k|0)>9)k=R;else{k=R;break}}_s(o,48,k+9|0,9,0)}else{if(Te=nt?ft:He+4|0,(k|0)>-1){nt=cr+9|0,Le=(Le|0)==0,A=nt,q=0-Hr|0,oe=cr+8|0,L=He;do{R=tE(n[L>>2]|0,0,nt)|0,(R|0)==(nt|0)&&(s[oe>>0]=48,R=oe);do if((L|0)==(He|0)){if(M=R+1|0,bs(o,R,1),Le&(k|0)<1){R=M;break}bs(o,5710,1),R=M}else{if(R>>>0<=cr>>>0)break;nE(cr|0,48,R+q|0)|0;do R=R+-1|0;while(R>>>0>cr>>>0)}while(!1);Hr=A-R|0,bs(o,R,(k|0)>(Hr|0)?Hr:k),k=k-Hr|0,L=L+4|0}while(L>>>0>>0&(k|0)>-1)}_s(o,48,k+18|0,18,0),bs(o,Ze,Tr-Ze|0)}_s(o,32,u,B,d^8192)}else cr=(m&32|0)!=0,B=fr+3|0,_s(o,32,u,B,d&-65537),bs(o,Gr,fr),bs(o,l!=l|!1?cr?5686:5690:cr?5678:5682,3),_s(o,32,u,B,d^8192);while(!1);return I=jn,((B|0)<(u|0)?u:B)|0}function YX(o){o=+o;var l=0;return E[S>>3]=o,l=n[S>>2]|0,Be=n[S+4>>2]|0,l|0}function sHe(o,l){return o=+o,l=l|0,+ +VX(o,l)}function VX(o,l){o=+o,l=l|0;var u=0,A=0,d=0;switch(E[S>>3]=o,u=n[S>>2]|0,A=n[S+4>>2]|0,d=qP(u|0,A|0,52)|0,d&2047){case 0:{o!=0?(o=+VX(o*18446744073709552e3,l),u=(n[l>>2]|0)+-64|0):u=0,n[l>>2]=u;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[S>>2]=u,n[S+4>>2]=A&-2146435073|1071644672,o=+E[S>>3]}return+o}function oHe(o,l,u){o=o|0,l=l|0,u=u|0;do if(o){if(l>>>0<128){s[o>>0]=l,o=1;break}if(!(n[n[(aHe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){s[o>>0]=l,o=1;break}else{n[(eE()|0)>>2]=84,o=-1;break}if(l>>>0<2048){s[o>>0]=l>>>6|192,s[o+1>>0]=l&63|128,o=2;break}if(l>>>0<55296|(l&-8192|0)==57344){s[o>>0]=l>>>12|224,s[o+1>>0]=l>>>6&63|128,s[o+2>>0]=l&63|128,o=3;break}if((l+-65536|0)>>>0<1048576){s[o>>0]=l>>>18|240,s[o+1>>0]=l>>>12&63|128,s[o+2>>0]=l>>>6&63|128,s[o+3>>0]=l&63|128,o=4;break}else{n[(eE()|0)>>2]=84,o=-1;break}}else o=1;while(!1);return o|0}function aHe(){return VM()|0}function lHe(){return VM()|0}function cHe(o,l){o=o|0,l=l|0;var u=0,A=0;for(A=0;;){if((c[5712+A>>0]|0)==(o|0)){o=2;break}if(u=A+1|0,(u|0)==87){u=5800,A=87,o=5;break}else A=u}if((o|0)==2&&(A?(u=5800,o=5):u=5800),(o|0)==5)for(;;){do o=u,u=u+1|0;while(s[o>>0]|0);if(A=A+-1|0,A)o=5;else break}return uHe(u,n[l+20>>2]|0)|0}function uHe(o,l){return o=o|0,l=l|0,fHe(o,l)|0}function fHe(o,l){return o=o|0,l=l|0,l?l=AHe(n[l>>2]|0,n[l+4>>2]|0,o)|0:l=0,(l|0?l:o)|0}function AHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0;oe=(n[o>>2]|0)+1794895138|0,m=ud(n[o+8>>2]|0,oe)|0,A=ud(n[o+12>>2]|0,oe)|0,d=ud(n[o+16>>2]|0,oe)|0;e:do if(m>>>0>>2>>>0&&(q=l-(m<<2)|0,A>>>0>>0&d>>>0>>0)&&!((d|A)&3|0)){for(q=A>>>2,L=d>>>2,M=0;;){if(k=m>>>1,R=M+k|0,B=R<<1,d=B+q|0,A=ud(n[o+(d<<2)>>2]|0,oe)|0,d=ud(n[o+(d+1<<2)>>2]|0,oe)|0,!(d>>>0>>0&A>>>0<(l-d|0)>>>0)){A=0;break e}if(s[o+(d+A)>>0]|0){A=0;break e}if(A=HX(u,o+d|0)|0,!A)break;if(A=(A|0)<0,(m|0)==1){A=0;break e}else M=A?M:R,m=A?k:m-k|0}A=B+L|0,d=ud(n[o+(A<<2)>>2]|0,oe)|0,A=ud(n[o+(A+1<<2)>>2]|0,oe)|0,A>>>0>>0&d>>>0<(l-A|0)>>>0?A=s[o+(A+d)>>0]|0?0:o+A|0:A=0}else A=0;while(!1);return A|0}function ud(o,l){o=o|0,l=l|0;var u=0;return u=tZ(o|0)|0,(l|0?u:o)|0}function pHe(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0,k=0;A=u+16|0,d=n[A>>2]|0,d?m=5:hHe(u)|0?A=0:(d=n[A>>2]|0,m=5);e:do if((m|0)==5){if(k=u+20|0,B=n[k>>2]|0,A=B,(d-B|0)>>>0>>0){A=YP[n[u+36>>2]&7](u,o,l)|0;break}t:do if((s[u+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=o;break t}if(d=B+-1|0,(s[o+d>>0]|0)==10)break;B=d}if(A=YP[n[u+36>>2]&7](u,o,B)|0,A>>>0>>0)break e;m=B,d=o+B|0,l=l-B|0,A=n[k>>2]|0}else m=0,d=o;while(!1);Rr(A|0,d|0,l|0)|0,n[k>>2]=(n[k>>2]|0)+l,A=m+l|0}while(!1);return A|0}function hHe(o){o=o|0;var l=0,u=0;return l=o+74|0,u=s[l>>0]|0,s[l>>0]=u+255|u,l=n[o>>2]|0,l&8?(n[o>>2]=l|32,o=-1):(n[o+8>>2]=0,n[o+4>>2]=0,u=n[o+44>>2]|0,n[o+28>>2]=u,n[o+20>>2]=u,n[o+16>>2]=u+(n[o+48>>2]|0),o=0),o|0}function ri(o,l){o=y(o),l=y(l);var u=0,A=0;u=JX(o)|0;do if((u&2147483647)>>>0<=2139095040){if(A=JX(l)|0,(A&2147483647)>>>0<=2139095040)if((A^u|0)<0){o=(u|0)<0?l:o;break}else{o=o>2]=o,n[S>>2]|0|0}function fd(o,l){o=y(o),l=y(l);var u=0,A=0;u=KX(o)|0;do if((u&2147483647)>>>0<=2139095040){if(A=KX(l)|0,(A&2147483647)>>>0<=2139095040)if((A^u|0)<0){o=(u|0)<0?o:l;break}else{o=o>2]=o,n[S>>2]|0|0}function KM(o,l){o=y(o),l=y(l);var u=0,A=0,d=0,m=0,B=0,k=0,R=0,M=0;m=(h[S>>2]=o,n[S>>2]|0),k=(h[S>>2]=l,n[S>>2]|0),u=m>>>23&255,B=k>>>23&255,R=m&-2147483648,d=k<<1;e:do if(d|0&&!((u|0)==255|((gHe(l)|0)&2147483647)>>>0>2139095040)){if(A=m<<1,A>>>0<=d>>>0)return l=y(o*y(0)),y((A|0)==(d|0)?l:o);if(u)A=m&8388607|8388608;else{if(u=m<<9,(u|0)>-1){A=u,u=0;do u=u+-1|0,A=A<<1;while((A|0)>-1)}else u=0;A=m<<1-u}if(B)k=k&8388607|8388608;else{if(m=k<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,k=k<<1-d}d=A-k|0,m=(d|0)>-1;t:do if((u|0)>(B|0)){for(;;){if(m)if(d)A=d;else break;if(A=A<<1,u=u+-1|0,d=A-k|0,m=(d|0)>-1,(u|0)<=(B|0))break t}l=y(o*y(0));break e}while(!1);if(m)if(d)A=d;else{l=y(o*y(0));break}if(A>>>0<8388608)do A=A<<1,u=u+-1|0;while(A>>>0<8388608);(u|0)>0?u=A+-8388608|u<<23:u=A>>>(1-u|0),l=(n[S>>2]=u|R,y(h[S>>2]))}else M=3;while(!1);return(M|0)==3&&(l=y(o*l),l=y(l/l)),y(l)}function gHe(o){return o=y(o),h[S>>2]=o,n[S>>2]|0|0}function dHe(o,l){return o=o|0,l=l|0,jX(n[582]|0,o,l)|0}function an(o){o=o|0,Nt()}function rE(o){o=o|0}function mHe(o,l){return o=o|0,l=l|0,0}function yHe(o){return o=o|0,(zX(o+4|0)|0)==-1?(op[n[(n[o>>2]|0)+8>>2]&127](o),o=1):o=0,o|0}function zX(o){o=o|0;var l=0;return l=n[o>>2]|0,n[o>>2]=l+-1,l+-1|0}function jh(o){o=o|0,yHe(o)|0&&EHe(o)}function EHe(o){o=o|0;var l=0;l=o+8|0,n[l>>2]|0&&(zX(l)|0)!=-1||op[n[(n[o>>2]|0)+16>>2]&127](o)}function Kt(o){o=o|0;var l=0;for(l=o|0?o:1;o=_P(l)|0,!(o|0);){if(o=CHe()|0,!o){o=0;break}fZ[o&0]()}return o|0}function XX(o){return o=o|0,Kt(o)|0}function It(o){o=o|0,HP(o)}function IHe(o){o=o|0,(s[o+11>>0]|0)<0&&It(n[o>>2]|0)}function CHe(){var o=0;return o=n[2923]|0,n[2923]=o+0,o|0}function wHe(){}function GP(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,A=l-A-(u>>>0>o>>>0|0)>>>0,Be=A,o-u>>>0|0|0}function zM(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,u=o+u>>>0,Be=l+A+(u>>>0>>0|0)>>>0,u|0|0}function nE(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0,B=0;if(m=o+u|0,l=l&255,(u|0)>=67){for(;o&3;)s[o>>0]=l,o=o+1|0;for(A=m&-4|0,d=A-64|0,B=l|l<<8|l<<16|l<<24;(o|0)<=(d|0);)n[o>>2]=B,n[o+4>>2]=B,n[o+8>>2]=B,n[o+12>>2]=B,n[o+16>>2]=B,n[o+20>>2]=B,n[o+24>>2]=B,n[o+28>>2]=B,n[o+32>>2]=B,n[o+36>>2]=B,n[o+40>>2]=B,n[o+44>>2]=B,n[o+48>>2]=B,n[o+52>>2]=B,n[o+56>>2]=B,n[o+60>>2]=B,o=o+64|0;for(;(o|0)<(A|0);)n[o>>2]=B,o=o+4|0}for(;(o|0)<(m|0);)s[o>>0]=l,o=o+1|0;return m-u|0}function ZX(o,l,u){return o=o|0,l=l|0,u=u|0,(u|0)<32?(Be=l<>>32-u,o<>>u,o>>>u|(l&(1<>>u-32|0)}function Rr(o,l,u){o=o|0,l=l|0,u=u|0;var A=0,d=0,m=0;if((u|0)>=8192)return MA(o|0,l|0,u|0)|0;if(m=o|0,d=o+u|0,(o&3)==(l&3)){for(;o&3;){if(!u)return m|0;s[o>>0]=s[l>>0]|0,o=o+1|0,l=l+1|0,u=u-1|0}for(u=d&-4|0,A=u-64|0;(o|0)<=(A|0);)n[o>>2]=n[l>>2],n[o+4>>2]=n[l+4>>2],n[o+8>>2]=n[l+8>>2],n[o+12>>2]=n[l+12>>2],n[o+16>>2]=n[l+16>>2],n[o+20>>2]=n[l+20>>2],n[o+24>>2]=n[l+24>>2],n[o+28>>2]=n[l+28>>2],n[o+32>>2]=n[l+32>>2],n[o+36>>2]=n[l+36>>2],n[o+40>>2]=n[l+40>>2],n[o+44>>2]=n[l+44>>2],n[o+48>>2]=n[l+48>>2],n[o+52>>2]=n[l+52>>2],n[o+56>>2]=n[l+56>>2],n[o+60>>2]=n[l+60>>2],o=o+64|0,l=l+64|0;for(;(o|0)<(u|0);)n[o>>2]=n[l>>2],o=o+4|0,l=l+4|0}else for(u=d-4|0;(o|0)<(u|0);)s[o>>0]=s[l>>0]|0,s[o+1>>0]=s[l+1>>0]|0,s[o+2>>0]=s[l+2>>0]|0,s[o+3>>0]=s[l+3>>0]|0,o=o+4|0,l=l+4|0;for(;(o|0)<(d|0);)s[o>>0]=s[l>>0]|0,o=o+1|0,l=l+1|0;return m|0}function $X(o){o=o|0;var l=0;return l=s[O+(o&255)>>0]|0,(l|0)<8?l|0:(l=s[O+(o>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=s[O+(o>>16&255)>>0]|0,(l|0)<8?l+16|0:(s[O+(o>>>24)>>0]|0)+24|0))}function eZ(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0;var m=0,B=0,k=0,R=0,M=0,L=0,q=0,oe=0,Ve=0,Le=0;if(L=o,R=l,M=R,B=u,oe=A,k=oe,!M)return m=(d|0)!=0,k?m?(n[d>>2]=o|0,n[d+4>>2]=l&0,oe=0,d=0,Be=oe,d|0):(oe=0,d=0,Be=oe,d|0):(m&&(n[d>>2]=(L>>>0)%(B>>>0),n[d+4>>2]=0),oe=0,d=(L>>>0)/(B>>>0)>>>0,Be=oe,d|0);m=(k|0)==0;do if(B){if(!m){if(m=(b(k|0)|0)-(b(M|0)|0)|0,m>>>0<=31){q=m+1|0,k=31-m|0,l=m-31>>31,B=q,o=L>>>(q>>>0)&l|M<>>(q>>>0)&l,m=0,k=L<>2]=o|0,n[d+4>>2]=R|l&0,oe=0,d=0,Be=oe,d|0):(oe=0,d=0,Be=oe,d|0)}if(m=B-1|0,m&B|0){k=(b(B|0)|0)+33-(b(M|0)|0)|0,Le=64-k|0,q=32-k|0,R=q>>31,Ve=k-32|0,l=Ve>>31,B=k,o=q-1>>31&M>>>(Ve>>>0)|(M<>>(k>>>0))&l,l=l&M>>>(k>>>0),m=L<>>(Ve>>>0))&R|L<>31;break}return d|0&&(n[d>>2]=m&L,n[d+4>>2]=0),(B|0)==1?(Ve=R|l&0,Le=o|0|0,Be=Ve,Le|0):(Le=$X(B|0)|0,Ve=M>>>(Le>>>0)|0,Le=M<<32-Le|L>>>(Le>>>0)|0,Be=Ve,Le|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),Ve=0,Le=(M>>>0)/(B>>>0)>>>0,Be=Ve,Le|0;if(!L)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(k>>>0)),Ve=0,Le=(M>>>0)/(k>>>0)>>>0,Be=Ve,Le|0;if(m=k-1|0,!(m&k))return d|0&&(n[d>>2]=o|0,n[d+4>>2]=m&M|l&0),Ve=0,Le=M>>>(($X(k|0)|0)>>>0),Be=Ve,Le|0;if(m=(b(k|0)|0)-(b(M|0)|0)|0,m>>>0<=30){l=m+1|0,k=31-m|0,B=l,o=M<>>(l>>>0),l=M>>>(l>>>0),m=0,k=L<>2]=o|0,n[d+4>>2]=R|l&0,Ve=0,Le=0,Be=Ve,Le|0):(Ve=0,Le=0,Be=Ve,Le|0)}while(!1);if(!B)M=k,R=0,k=0;else{q=u|0|0,L=oe|A&0,M=zM(q|0,L|0,-1,-1)|0,u=Be,R=k,k=0;do A=R,R=m>>>31|R<<1,m=k|m<<1,A=o<<1|A>>>31|0,oe=o>>>31|l<<1|0,GP(M|0,u|0,A|0,oe|0)|0,Le=Be,Ve=Le>>31|((Le|0)<0?-1:0)<<1,k=Ve&1,o=GP(A|0,oe|0,Ve&q|0,(((Le|0)<0?-1:0)>>31|((Le|0)<0?-1:0)<<1)&L|0)|0,l=Be,B=B-1|0;while(B|0);M=R,R=0}return B=0,d|0&&(n[d>>2]=o,n[d+4>>2]=l),Ve=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|R,Le=(m<<1|0)&-2|k,Be=Ve,Le|0}function XM(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,eZ(o,l,u,A,0)|0}function Gh(o){o=o|0;var l=0,u=0;return u=o+15&-16|0,l=n[C>>2]|0,o=l+u|0,(u|0)>0&(o|0)<(l|0)|(o|0)<0?(se()|0,uu(12),-1):(n[C>>2]=o,(o|0)>($()|0)&&!(X()|0)?(n[C>>2]=l,uu(12),-1):l|0)}function B2(o,l,u){o=o|0,l=l|0,u=u|0;var A=0;if((l|0)<(o|0)&(o|0)<(l+u|0)){for(A=o,l=l+u|0,o=o+u|0;(u|0)>0;)o=o-1|0,l=l-1|0,u=u-1|0,s[o>>0]=s[l>>0]|0;o=A}else Rr(o,l,u)|0;return o|0}function ZM(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0;var d=0,m=0;return m=I,I=I+16|0,d=m|0,eZ(o,l,u,A,d)|0,I=m,Be=n[d+4>>2]|0,n[d>>2]|0|0}function tZ(o){return o=o|0,(o&255)<<24|(o>>8&255)<<16|(o>>16&255)<<8|o>>>24|0}function BHe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,rZ[o&1](l|0,u|0,A|0,d|0,m|0)}function vHe(o,l,u){o=o|0,l=l|0,u=y(u),nZ[o&1](l|0,y(u))}function SHe(o,l,u){o=o|0,l=l|0,u=+u,iZ[o&31](l|0,+u)}function DHe(o,l,u,A){return o=o|0,l=l|0,u=y(u),A=y(A),y(sZ[o&0](l|0,y(u),y(A)))}function bHe(o,l){o=o|0,l=l|0,op[o&127](l|0)}function PHe(o,l,u){o=o|0,l=l|0,u=u|0,ap[o&31](l|0,u|0)}function xHe(o,l){return o=o|0,l=l|0,pd[o&31](l|0)|0}function kHe(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0,oZ[o&1](l|0,+u,+A,d|0)}function QHe(o,l,u,A){o=o|0,l=l|0,u=+u,A=+A,fje[o&1](l|0,+u,+A)}function RHe(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,YP[o&7](l|0,u|0,A|0)|0}function THe(o,l,u,A){return o=o|0,l=l|0,u=u|0,A=A|0,+Aje[o&1](l|0,u|0,A|0)}function FHe(o,l){return o=o|0,l=l|0,+aZ[o&15](l|0)}function NHe(o,l,u){return o=o|0,l=l|0,u=+u,pje[o&1](l|0,+u)|0}function OHe(o,l,u){return o=o|0,l=l|0,u=u|0,eU[o&15](l|0,u|0)|0}function LHe(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=+A,d=+d,m=m|0,hje[o&1](l|0,u|0,+A,+d,m|0)}function MHe(o,l,u,A,d,m,B){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,B=B|0,gje[o&1](l|0,u|0,A|0,d|0,m|0,B|0)}function UHe(o,l,u){return o=o|0,l=l|0,u=u|0,+lZ[o&7](l|0,u|0)}function _He(o){return o=o|0,VP[o&7]()|0}function HHe(o,l,u,A,d,m){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,cZ[o&1](l|0,u|0,A|0,d|0,m|0)|0}function jHe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=+d,dje[o&1](l|0,u|0,A|0,+d)}function GHe(o,l,u,A,d,m,B){o=o|0,l=l|0,u=u|0,A=y(A),d=d|0,m=y(m),B=B|0,uZ[o&1](l|0,u|0,y(A),d|0,y(m),B|0)}function qHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,D2[o&15](l|0,u|0,A|0)}function WHe(o){o=o|0,fZ[o&0]()}function YHe(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A,AZ[o&15](l|0,u|0,+A)}function VHe(o,l,u){return o=o|0,l=+l,u=+u,mje[o&1](+l,+u)|0}function JHe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,tU[o&15](l|0,u|0,A|0,d|0)}function KHe(o,l,u,A,d){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,F(0)}function zHe(o,l){o=o|0,l=y(l),F(1)}function sl(o,l){o=o|0,l=+l,F(2)}function XHe(o,l,u){return o=o|0,l=y(l),u=y(u),F(3),$e}function Br(o){o=o|0,F(4)}function v2(o,l){o=o|0,l=l|0,F(5)}function Gl(o){return o=o|0,F(6),0}function ZHe(o,l,u,A){o=o|0,l=+l,u=+u,A=A|0,F(7)}function $He(o,l,u){o=o|0,l=+l,u=+u,F(8)}function eje(o,l,u){return o=o|0,l=l|0,u=u|0,F(9),0}function tje(o,l,u){return o=o|0,l=l|0,u=u|0,F(10),0}function Ad(o){return o=o|0,F(11),0}function rje(o,l){return o=o|0,l=+l,F(12),0}function S2(o,l){return o=o|0,l=l|0,F(13),0}function nje(o,l,u,A,d){o=o|0,l=l|0,u=+u,A=+A,d=d|0,F(14)}function ije(o,l,u,A,d,m){o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,m=m|0,F(15)}function $M(o,l){return o=o|0,l=l|0,F(16),0}function sje(){return F(17),0}function oje(o,l,u,A,d){return o=o|0,l=l|0,u=u|0,A=A|0,d=d|0,F(18),0}function aje(o,l,u,A){o=o|0,l=l|0,u=u|0,A=+A,F(19)}function lje(o,l,u,A,d,m){o=o|0,l=l|0,u=y(u),A=A|0,d=y(d),m=m|0,F(20)}function WP(o,l,u){o=o|0,l=l|0,u=u|0,F(21)}function cje(){F(22)}function iE(o,l,u){o=o|0,l=l|0,u=+u,F(23)}function uje(o,l){return o=+o,l=+l,F(24),0}function sE(o,l,u,A){o=o|0,l=l|0,u=u|0,A=A|0,F(25)}var rZ=[KHe,o_e],nZ=[zHe,Ny],iZ=[sl,zg,Th,o2,a2,l2,c2,kf,Gy,u2,Qf,Xg,Zg,f2,A2,Cu,$g,p2,qy,sl,sl,sl,sl,sl,sl,sl,sl,sl,sl,sl,sl,sl],sZ=[XHe],op=[Br,rE,_Pe,HPe,jPe,mRe,yRe,ERe,NMe,OMe,LMe,VUe,JUe,KUe,g8e,d8e,m8e,kl,Kg,r2,sr,dc,xP,kP,kPe,zPe,lxe,Dxe,jxe,ske,wke,Lke,Zke,hQe,kQe,YQe,lRe,ORe,ZRe,hTe,kTe,YTe,lFe,bFe,jFe,rNe,yNe,dP,KNe,fOe,kOe,JOe,cLe,kLe,_Le,GLe,oMe,cMe,DMe,UMe,jMe,sUe,BUe,jK,i4e,N4e,z4e,f3e,T3e,J3e,s8e,l8e,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br,Br],ap=[v2,_y,RL,n2,i2,xr,fo,Xi,Ms,Ss,jy,Rh,g2,CP,rd,NL,OL,wP,BP,UL,Rf,ne,QFe,WFe,ZOe,a4e,QUe,DX,v2,v2,v2,v2],pd=[Gl,Y8e,My,td,Yy,Ia,mP,Fh,h2,FL,EP,Vy,vP,_L,zy,CNe,pLe,lUe,f4e,_l,Gl,Gl,Gl,Gl,Gl,Gl,Gl,Gl,Gl,Gl,Gl,Gl],oZ=[ZHe,YL],fje=[$He,xMe],YP=[eje,_X,V8e,z8e,cke,_Re,$Ne,g3e],Aje=[tje,FQe],aZ=[Ad,Nh,IP,tp,VL,v,D,Q,H,Y,Ad,Ad,Ad,Ad,Ad,Ad],pje=[rje,LLe],eU=[S2,mHe,SP,FPe,kxe,Ske,_ke,ARe,rTe,oNe,Oy,e3e,S2,S2,S2,S2],hje=[nje,Axe],gje=[ije,L3e],lZ=[$M,LL,ve,_e,ht,zQe,$M,$M],VP=[sje,Wt,Ly,gP,VLe,pMe,YMe,A8e],cZ=[oje,Py],dje=[aje,FTe],uZ=[lje,HL],D2=[WP,Oo,yP,ML,Bu,Yxe,tQe,zTe,AFe,QL,x_e,U4e,Z3e,WP,WP,WP],fZ=[cje],AZ=[iE,TL,Hy,ep,s2,wu,Wy,ed,yTe,gOe,TLe,iE,iE,iE,iE,iE],mje=[uje,TMe],tU=[sE,yQe,xNe,FOe,wLe,$Le,EMe,$Me,PUe,m4e,B8e,sE,sE,sE,sE,sE];return{_llvm_bswap_i32:tZ,dynCall_idd:VHe,dynCall_i:_He,_i64Subtract:GP,___udivdi3:XM,dynCall_vif:vHe,setThrew:ha,dynCall_viii:qHe,_bitshift64Lshr:qP,_bitshift64Shl:ZX,dynCall_vi:bHe,dynCall_viiddi:LHe,dynCall_diii:THe,dynCall_iii:OHe,_memset:nE,_sbrk:Gh,_memcpy:Rr,__GLOBAL__sub_I_Yoga_cpp:$1,dynCall_vii:PHe,___uremdi3:ZM,dynCall_vid:SHe,stackAlloc:Ja,_nbind_init:F8e,getTempRet0:_A,dynCall_di:FHe,dynCall_iid:NHe,setTempRet0:UA,_i64Add:zM,dynCall_fiff:DHe,dynCall_iiii:RHe,_emscripten_get_global_libc:W8e,dynCall_viid:YHe,dynCall_viiid:jHe,dynCall_viififi:GHe,dynCall_ii:xHe,__GLOBAL__sub_I_Binding_cc:z_e,dynCall_viiii:JHe,dynCall_iiiiii:HHe,stackSave:mf,dynCall_viiiii:BHe,__GLOBAL__sub_I_nbind_cc:Sr,dynCall_vidd:QHe,_free:HP,runPostSets:wHe,dynCall_viiiiii:MHe,establishStackSpace:vn,_memmove:B2,stackRestore:uc,_malloc:_P,__GLOBAL__sub_I_common_cc:dUe,dynCall_viddi:kHe,dynCall_dii:UHe,dynCall_v:WHe}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function e(t){t=t||[],ensureInitRuntime();var r=t.length+1;function s(){for(var p=0;p<3;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];s();for(var n=0;n0||(preRun(),runDependencies>0)||Module.calledRun)return;function t(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),t()},1)):t()}Module.run=Module.run=run;function exit(e,t){t&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE&&process.exit(e),Module.quit(e,new ExitStatus(e)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(e){Module.onAbort&&Module.onAbort(e),e!==void 0?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var t=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+e+") at "+stackTrace()+t;throw abortDecorators&&abortDecorators.forEach(function(s){r=s(r,e)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var Lm=G((MVt,vIe)=>{"use strict";var Wut=wIe(),Yut=BIe(),gq=!1,dq=null;Yut({},function(e,t){if(!gq){if(gq=!0,e)throw e;dq=t}});if(!gq)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");vIe.exports=Wut(dq.bind,dq.lib)});var yq=G((UVt,mq)=>{"use strict";var SIe=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);mq.exports=SIe;mq.exports.default=SIe});var bIe=G((_Vt,DIe)=>{"use strict";DIe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var GS=G((HVt,Eq)=>{"use strict";var Vut=gk(),Jut=yq(),Kut=bIe(),PIe=e=>{if(typeof e!="string"||e.length===0||(e=Vut(e),e.length===0))return 0;e=e.replace(Kut()," ");let t=0;for(let r=0;r=127&&s<=159||s>=768&&s<=879||(s>65535&&r++,t+=Jut(s)?2:1)}return t};Eq.exports=PIe;Eq.exports.default=PIe});var Cq=G((jVt,Iq)=>{"use strict";var zut=GS(),xIe=e=>{let t=0;for(let r of e.split(` +`))t=Math.max(t,zut(r));return t};Iq.exports=xIe;Iq.exports.default=xIe});var kIe=G(qS=>{"use strict";var Xut=qS&&qS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qS,"__esModule",{value:!0});var Zut=Xut(Cq()),wq={};qS.default=e=>{if(e.length===0)return{width:0,height:0};if(wq[e])return wq[e];let t=Zut.default(e),r=e.split(` +`).length;return wq[e]={width:t,height:r},{width:t,height:r}}});var QIe=G(WS=>{"use strict";var $ut=WS&&WS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(WS,"__esModule",{value:!0});var xn=$ut(Lm()),eft=(e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?xn.default.POSITION_TYPE_ABSOLUTE:xn.default.POSITION_TYPE_RELATIVE)},tft=(e,t)=>{"marginLeft"in t&&e.setMargin(xn.default.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(xn.default.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(xn.default.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(xn.default.EDGE_BOTTOM,t.marginBottom||0)},rft=(e,t)=>{"paddingLeft"in t&&e.setPadding(xn.default.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(xn.default.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(xn.default.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(xn.default.EDGE_BOTTOM,t.paddingBottom||0)},nft=(e,t)=>{var r;"flexGrow"in t&&e.setFlexGrow((r=t.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(xn.default.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(xn.default.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(xn.default.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(xn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(xn.default.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(xn.default.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(xn.default.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(xn.default.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(xn.default.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(xn.default.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(xn.default.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(xn.default.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(xn.default.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(xn.default.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(xn.default.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(xn.default.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(xn.default.JUSTIFY_SPACE_AROUND))},ift=(e,t)=>{var r,s;"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth((r=t.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight((s=t.minHeight)!==null&&s!==void 0?s:0))},sft=(e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?xn.default.DISPLAY_FLEX:xn.default.DISPLAY_NONE)},oft=(e,t)=>{if("borderStyle"in t){let r=typeof t.borderStyle=="string"?1:0;e.setBorder(xn.default.EDGE_TOP,r),e.setBorder(xn.default.EDGE_BOTTOM,r),e.setBorder(xn.default.EDGE_LEFT,r),e.setBorder(xn.default.EDGE_RIGHT,r)}};WS.default=(e,t={})=>{eft(e,t),tft(e,t),rft(e,t),nft(e,t),ift(e,t),sft(e,t),oft(e,t)}});var FIe=G((WVt,TIe)=>{"use strict";var YS=GS(),aft=gk(),lft=ik(),vq=new Set(["\x1B","\x9B"]),cft=39,RIe=e=>`${vq.values().next().value}[${e}m`,uft=e=>e.split(" ").map(t=>YS(t)),Bq=(e,t,r)=>{let s=[...t],a=!1,n=YS(aft(e[e.length-1]));for(let[c,f]of s.entries()){let p=YS(f);if(n+p<=r?e[e.length-1]+=f:(e.push(f),n=0),vq.has(f))a=!0;else if(a&&f==="m"){a=!1;continue}a||(n+=p,n===r&&c0&&e.length>1&&(e[e.length-2]+=e.pop())},fft=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(YS(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},Aft=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let s="",a="",n,c=uft(e),f=[""];for(let[p,h]of e.split(" ").entries()){r.trim!==!1&&(f[f.length-1]=f[f.length-1].trimLeft());let E=YS(f[f.length-1]);if(p!==0&&(E>=t&&(r.wordWrap===!1||r.trim===!1)&&(f.push(""),E=0),(E>0||r.trim===!1)&&(f[f.length-1]+=" ",E++)),r.hard&&c[p]>t){let C=t-E,S=1+Math.floor((c[p]-C-1)/t);Math.floor((c[p]-1)/t)t&&E>0&&c[p]>0){if(r.wordWrap===!1&&Et&&r.wordWrap===!1){Bq(f,h,t);continue}f[f.length-1]+=h}r.trim!==!1&&(f=f.map(fft)),s=f.join(` +`);for(let[p,h]of[...s].entries()){if(a+=h,vq.has(h)){let C=parseFloat(/\d[^m]*/.exec(s.slice(p,p+4)));n=C===cft?null:C}let E=lft.codes.get(Number(n));n&&E&&(s[p+1]===` +`?a+=RIe(E):h===` +`&&(a+=RIe(n)))}return a};TIe.exports=(e,t,r)=>String(e).normalize().replace(/\r\n/g,` +`).split(` +`).map(s=>Aft(s,t,r)).join(` +`)});var LIe=G((YVt,OIe)=>{"use strict";var NIe="[\uD800-\uDBFF][\uDC00-\uDFFF]",pft=e=>e&&e.exact?new RegExp(`^${NIe}$`):new RegExp(NIe,"g");OIe.exports=pft});var Sq=G((VVt,HIe)=>{"use strict";var hft=yq(),gft=LIe(),MIe=ik(),_Ie=["\x1B","\x9B"],EF=e=>`${_Ie[0]}[${e}m`,UIe=(e,t,r)=>{let s=[];e=[...e];for(let a of e){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let c=MIe.codes.get(parseInt(a,10));if(c){let f=e.indexOf(c.toString());f>=0?e.splice(f,1):s.push(EF(t?c:n))}else if(t){s.push(EF(0));break}else s.push(EF(n))}if(t&&(s=s.filter((a,n)=>s.indexOf(a)===n),r!==void 0)){let a=EF(MIe.codes.get(parseInt(r,10)));s=s.reduce((n,c)=>c===a?[c,...n]:[...n,c],[])}return s.join("")};HIe.exports=(e,t,r)=>{let s=[...e.normalize()],a=[];r=typeof r=="number"?r:s.length;let n=!1,c,f=0,p="";for(let[h,E]of s.entries()){let C=!1;if(_Ie.includes(E)){let S=/\d[^m]*/.exec(e.slice(h,h+18));c=S&&S.length>0?S[0]:void 0,ft&&f<=r)p+=E;else if(f===t&&!n&&c!==void 0)p=UIe(a);else if(f>=r){p+=UIe(a,!0,c);break}}return p}});var GIe=G((JVt,jIe)=>{"use strict";var X0=Sq(),dft=GS();function IF(e,t,r){if(e.charAt(t)===" ")return t;for(let s=1;s<=3;s++)if(r){if(e.charAt(t+s)===" ")return t+s}else if(e.charAt(t-s)===" ")return t-s;return t}jIe.exports=(e,t,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:s,space:a,preferTruncationOnSpace:n}=r,c="\u2026",f=1;if(typeof e!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof e}`);if(typeof t!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof t}`);if(t<1)return"";if(t===1)return c;let p=dft(e);if(p<=t)return e;if(s==="start"){if(n){let h=IF(e,p-t+1,!0);return c+X0(e,h,p).trim()}return a===!0&&(c+=" ",f=2),c+X0(e,p-t+f,p)}if(s==="middle"){a===!0&&(c=" "+c+" ",f=3);let h=Math.floor(t/2);if(n){let E=IF(e,h),C=IF(e,p-(t-h)+1,!0);return X0(e,0,E)+c+X0(e,C,p).trim()}return X0(e,0,h)+c+X0(e,p-(t-h)+f,p)}if(s==="end"){if(n){let h=IF(e,t-1);return X0(e,0,h)+c}return a===!0&&(c=" "+c,f=2),X0(e,0,t-f)+c}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${s}`)}});var bq=G(VS=>{"use strict";var qIe=VS&&VS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(VS,"__esModule",{value:!0});var mft=qIe(FIe()),yft=qIe(GIe()),Dq={};VS.default=(e,t,r)=>{let s=e+String(t)+String(r);if(Dq[s])return Dq[s];let a=e;if(r==="wrap"&&(a=mft.default(e,t,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=yft.default(e,t,{position:n})}return Dq[s]=a,a}});var xq=G(Pq=>{"use strict";Object.defineProperty(Pq,"__esModule",{value:!0});var WIe=e=>{let t="";if(e.childNodes.length>0)for(let r of e.childNodes){let s="";r.nodeName==="#text"?s=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(s=WIe(r)),s.length>0&&typeof r.internal_transform=="function"&&(s=r.internal_transform(s))),t+=s}return t};Pq.default=WIe});var kq=G(bi=>{"use strict";var JS=bi&&bi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(bi,"__esModule",{value:!0});bi.setTextNodeValue=bi.createTextNode=bi.setStyle=bi.setAttribute=bi.removeChildNode=bi.insertBeforeNode=bi.appendChildNode=bi.createNode=bi.TEXT_NAME=void 0;var Eft=JS(Lm()),YIe=JS(kIe()),Ift=JS(QIe()),Cft=JS(bq()),wft=JS(xq());bi.TEXT_NAME="#text";bi.createNode=e=>{var t;let r={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:e==="ink-virtual-text"?void 0:Eft.default.Node.create()};return e==="ink-text"&&((t=r.yogaNode)===null||t===void 0||t.setMeasureFunc(Bft.bind(null,r))),r};bi.appendChildNode=(e,t)=>{var r;t.parentNode&&bi.removeChildNode(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&((r=e.yogaNode)===null||r===void 0||r.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&CF(e)};bi.insertBeforeNode=(e,t,r)=>{var s,a;t.parentNode&&bi.removeChildNode(t.parentNode,t),t.parentNode=e;let n=e.childNodes.indexOf(r);if(n>=0){e.childNodes.splice(n,0,t),t.yogaNode&&((s=e.yogaNode)===null||s===void 0||s.insertChild(t.yogaNode,n));return}e.childNodes.push(t),t.yogaNode&&((a=e.yogaNode)===null||a===void 0||a.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&CF(e)};bi.removeChildNode=(e,t)=>{var r,s;t.yogaNode&&((s=(r=t.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||s===void 0||s.removeChild(t.yogaNode)),t.parentNode=null;let a=e.childNodes.indexOf(t);a>=0&&e.childNodes.splice(a,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&CF(e)};bi.setAttribute=(e,t,r)=>{e.attributes[t]=r};bi.setStyle=(e,t)=>{e.style=t,e.yogaNode&&Ift.default(e.yogaNode,t)};bi.createTextNode=e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:null,style:{}};return bi.setTextNodeValue(t,e),t};var Bft=function(e,t){var r,s;let a=e.nodeName==="#text"?e.nodeValue:wft.default(e),n=YIe.default(a);if(n.width<=t||n.width>=1&&t>0&&t<1)return n;let c=(s=(r=e.style)===null||r===void 0?void 0:r.textWrap)!==null&&s!==void 0?s:"wrap",f=Cft.default(a,t,c);return YIe.default(f)},VIe=e=>{var t;if(!(!e||!e.parentNode))return(t=e.yogaNode)!==null&&t!==void 0?t:VIe(e.parentNode)},CF=e=>{let t=VIe(e);t?.markDirty()};bi.setTextNodeValue=(e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,CF(e)}});var ZIe=G(KS=>{"use strict";var XIe=KS&&KS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(KS,"__esModule",{value:!0});var JIe=Aq(),vft=XIe(dIe()),KIe=XIe(Lm()),sa=kq(),zIe=e=>{e?.unsetMeasureFunc(),e?.freeRecursive()};KS.default=vft.default({schedulePassiveEffects:JIe.unstable_scheduleCallback,cancelPassiveEffects:JIe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,shouldDeprioritizeSubtree:()=>!1,resetAfterCommit:e=>{if(e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext:(e,t)=>{let r=e.isInsideText,s=t==="ink-text"||t==="ink-virtual-text";return r===s?e:{isInsideText:s}},shouldSetTextContent:()=>!1,createInstance:(e,t,r,s)=>{if(s.isInsideText&&e==="ink-box")throw new Error(" can\u2019t be nested inside component");let a=e==="ink-text"&&s.isInsideText?"ink-virtual-text":e,n=sa.createNode(a);for(let[c,f]of Object.entries(t))c!=="children"&&(c==="style"?sa.setStyle(n,f):c==="internal_transform"?n.internal_transform=f:c==="internal_static"?n.internal_static=!0:sa.setAttribute(n,c,f));return n},createTextInstance:(e,t,r)=>{if(!r.isInsideText)throw new Error(`Text string "${e}" must be rendered inside component`);return sa.createTextNode(e)},resetTextContent:()=>{},hideTextInstance:e=>{sa.setTextNodeValue(e,"")},unhideTextInstance:(e,t)=>{sa.setTextNodeValue(e,t)},getPublicInstance:e=>e,hideInstance:e=>{var t;(t=e.yogaNode)===null||t===void 0||t.setDisplay(KIe.default.DISPLAY_NONE)},unhideInstance:e=>{var t;(t=e.yogaNode)===null||t===void 0||t.setDisplay(KIe.default.DISPLAY_FLEX)},appendInitialChild:sa.appendChildNode,appendChild:sa.appendChildNode,insertBefore:sa.insertBeforeNode,finalizeInitialChildren:(e,t,r,s)=>(e.internal_static&&(s.isStaticDirty=!0,s.staticNode=e),!1),supportsMutation:!0,appendChildToContainer:sa.appendChildNode,insertInContainerBefore:sa.insertBeforeNode,removeChildFromContainer:(e,t)=>{sa.removeChildNode(e,t),zIe(t.yogaNode)},prepareUpdate:(e,t,r,s,a)=>{e.internal_static&&(a.isStaticDirty=!0);let n={},c=Object.keys(s);for(let f of c)if(s[f]!==r[f]){if(f==="style"&&typeof s.style=="object"&&typeof r.style=="object"){let h=s.style,E=r.style,C=Object.keys(h);for(let S of C){if(S==="borderStyle"||S==="borderColor"){if(typeof n.style!="object"){let x={};n.style=x}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[S]!==E[S]){if(typeof n.style!="object"){let x={};n.style=x}n.style[S]=h[S]}}continue}n[f]=s[f]}return n},commitUpdate:(e,t)=>{for(let[r,s]of Object.entries(t))r!=="children"&&(r==="style"?sa.setStyle(e,s):r==="internal_transform"?e.internal_transform=s:r==="internal_static"?e.internal_static=!0:sa.setAttribute(e,r,s))},commitTextUpdate:(e,t,r)=>{sa.setTextNodeValue(e,r)},removeChild:(e,t)=>{sa.removeChildNode(e,t),zIe(t.yogaNode)}})});var eCe=G(($Vt,$Ie)=>{"use strict";$Ie.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let s=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(s,r.indent.repeat(t))}});var tCe=G(zS=>{"use strict";var Sft=zS&&zS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zS,"__esModule",{value:!0});var wF=Sft(Lm());zS.default=e=>e.getComputedWidth()-e.getComputedPadding(wF.default.EDGE_LEFT)-e.getComputedPadding(wF.default.EDGE_RIGHT)-e.getComputedBorder(wF.default.EDGE_LEFT)-e.getComputedBorder(wF.default.EDGE_RIGHT)});var rCe=G((t7t,Dft)=>{Dft.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var iCe=G((r7t,Qq)=>{"use strict";var nCe=rCe();Qq.exports=nCe;Qq.exports.default=nCe});var Rq=G(ZS=>{"use strict";var bft=ZS&&ZS.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ZS,"__esModule",{value:!0});var XS=bft(NE()),Pft=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,xft=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,BF=(e,t)=>t==="foreground"?e:"bg"+e[0].toUpperCase()+e.slice(1);ZS.default=(e,t,r)=>{if(!t)return e;if(t in XS.default){let a=BF(t,r);return XS.default[a](e)}if(t.startsWith("#")){let a=BF("hex",r);return XS.default[a](t)(e)}if(t.startsWith("ansi")){let a=xft.exec(t);if(!a)return e;let n=BF(a[1],r),c=Number(a[2]);return XS.default[n](c)(e)}if(t.startsWith("rgb")||t.startsWith("hsl")||t.startsWith("hsv")||t.startsWith("hwb")){let a=Pft.exec(t);if(!a)return e;let n=BF(a[1],r),c=Number(a[2]),f=Number(a[3]),p=Number(a[4]);return XS.default[n](c,f,p)(e)}return e}});var oCe=G($S=>{"use strict";var sCe=$S&&$S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($S,"__esModule",{value:!0});var kft=sCe(iCe()),Tq=sCe(Rq());$S.default=(e,t,r,s)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),c=r.style.borderColor,f=kft.default[r.style.borderStyle],p=Tq.default(f.topLeft+f.horizontal.repeat(a-2)+f.topRight,c,"foreground"),h=(Tq.default(f.vertical,c,"foreground")+` +`).repeat(n-2),E=Tq.default(f.bottomLeft+f.horizontal.repeat(a-2)+f.bottomRight,c,"foreground");s.write(e,t,p,{transformers:[]}),s.write(e,t+1,h,{transformers:[]}),s.write(e+a-1,t+1,h,{transformers:[]}),s.write(e,t+n-1,E,{transformers:[]})}}});var lCe=G(eD=>{"use strict";var Mm=eD&&eD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(eD,"__esModule",{value:!0});var Qft=Mm(Lm()),Rft=Mm(Cq()),Tft=Mm(eCe()),Fft=Mm(bq()),Nft=Mm(tCe()),Oft=Mm(xq()),Lft=Mm(oCe()),Mft=(e,t)=>{var r;let s=(r=e.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(s){let a=s.getComputedLeft(),n=s.getComputedTop();t=` +`.repeat(n)+Tft.default(t,a)}return t},aCe=(e,t,r)=>{var s;let{offsetX:a=0,offsetY:n=0,transformers:c=[],skipStaticElements:f}=r;if(f&&e.internal_static)return;let{yogaNode:p}=e;if(p){if(p.getDisplay()===Qft.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),C=c;if(typeof e.internal_transform=="function"&&(C=[e.internal_transform,...c]),e.nodeName==="ink-text"){let S=Oft.default(e);if(S.length>0){let x=Rft.default(S),I=Nft.default(p);if(x>I){let T=(s=e.style.textWrap)!==null&&s!==void 0?s:"wrap";S=Fft.default(S,I,T)}S=Mft(e,S),t.write(h,E,S,{transformers:C})}return}if(e.nodeName==="ink-box"&&Lft.default(h,E,e,t),e.nodeName==="ink-root"||e.nodeName==="ink-box")for(let S of e.childNodes)aCe(S,t,{offsetX:h,offsetY:E,transformers:C,skipStaticElements:f})}};eD.default=aCe});var fCe=G(tD=>{"use strict";var uCe=tD&&tD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(tD,"__esModule",{value:!0});var cCe=uCe(Sq()),Uft=uCe(GS()),Fq=class{constructor(t){this.writes=[];let{width:r,height:s}=t;this.width=r,this.height=s}write(t,r,s,a){let{transformers:n}=a;s&&this.writes.push({x:t,y:r,text:s,transformers:n})}get(){let t=[];for(let s=0;ss.trimRight()).join(` +`),height:t.length}}};tD.default=Fq});var hCe=G(rD=>{"use strict";var Nq=rD&&rD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rD,"__esModule",{value:!0});var _ft=Nq(Lm()),ACe=Nq(lCe()),pCe=Nq(fCe());rD.default=(e,t)=>{var r;if(e.yogaNode.setWidth(t),e.yogaNode){e.yogaNode.calculateLayout(void 0,void 0,_ft.default.DIRECTION_LTR);let s=new pCe.default({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});ACe.default(e,s,{skipStaticElements:!0});let a;!((r=e.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new pCe.default({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),ACe.default(e.staticNode,a,{skipStaticElements:!1}));let{output:n,height:c}=s.get();return{output:n,outputHeight:c,staticOutput:a?`${a.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var yCe=G((l7t,mCe)=>{"use strict";var gCe=Ie("stream"),dCe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Oq={},Hft=e=>{let t=new gCe.PassThrough,r=new gCe.PassThrough;t.write=a=>e("stdout",a),r.write=a=>e("stderr",a);let s=new console.Console(t,r);for(let a of dCe)Oq[a]=console[a],console[a]=s[a];return()=>{for(let a of dCe)console[a]=Oq[a];Oq={}}};mCe.exports=Hft});var Mq=G(Lq=>{"use strict";Object.defineProperty(Lq,"__esModule",{value:!0});Lq.default=new WeakMap});var _q=G(Uq=>{"use strict";Object.defineProperty(Uq,"__esModule",{value:!0});var jft=gn(),ECe=jft.createContext({exit:()=>{}});ECe.displayName="InternalAppContext";Uq.default=ECe});var jq=G(Hq=>{"use strict";Object.defineProperty(Hq,"__esModule",{value:!0});var Gft=gn(),ICe=Gft.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});ICe.displayName="InternalStdinContext";Hq.default=ICe});var qq=G(Gq=>{"use strict";Object.defineProperty(Gq,"__esModule",{value:!0});var qft=gn(),CCe=qft.createContext({stdout:void 0,write:()=>{}});CCe.displayName="InternalStdoutContext";Gq.default=CCe});var Yq=G(Wq=>{"use strict";Object.defineProperty(Wq,"__esModule",{value:!0});var Wft=gn(),wCe=Wft.createContext({stderr:void 0,write:()=>{}});wCe.displayName="InternalStderrContext";Wq.default=wCe});var vF=G(Vq=>{"use strict";Object.defineProperty(Vq,"__esModule",{value:!0});var Yft=gn(),BCe=Yft.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{},focus:()=>{}});BCe.displayName="InternalFocusContext";Vq.default=BCe});var SCe=G((g7t,vCe)=>{"use strict";var Vft=/[|\\{}()[\]^$+*?.-]/g;vCe.exports=e=>{if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(Vft,"\\$&")}});var xCe=G((d7t,PCe)=>{"use strict";var Jft=SCe(),Kft=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",bCe=[].concat(Ie("module").builtinModules,"bootstrap_node","node").map(e=>new RegExp(`(?:\\((?:node:)?${e}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${e}(?:\\.js)?:\\d+:\\d+$)`));bCe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var Jq=class e{constructor(t){t={ignoredPackages:[],...t},"internals"in t||(t.internals=e.nodeInternals()),"cwd"in t||(t.cwd=Kft),this._cwd=t.cwd.replace(/\\/g,"/"),this._internals=[].concat(t.internals,zft(t.ignoredPackages)),this._wrapCallSite=t.wrapCallSite||!1}static nodeInternals(){return[...bCe]}clean(t,r=0){r=" ".repeat(r),Array.isArray(t)||(t=t.split(` +`)),!/^\s*at /.test(t[0])&&/^\s*at /.test(t[1])&&(t=t.slice(1));let s=!1,a=null,n=[];return t.forEach(c=>{if(c=c.replace(/\\/g,"/"),this._internals.some(p=>p.test(c)))return;let f=/^\s*at /.test(c);s?c=c.trimEnd().replace(/^(\s+)at /,"$1"):(c=c.trim(),f&&(c=c.slice(3))),c=c.replace(`${this._cwd}/`,""),c&&(f?(a&&(n.push(a),a=null),n.push(c)):(s=!0,a=c))}),n.map(c=>`${r}${c} +`).join("")}captureString(t,r=this.captureString){typeof t=="function"&&(r=t,t=1/0);let{stackTraceLimit:s}=Error;t&&(Error.stackTraceLimit=t);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=s,this.clean(n)}capture(t,r=this.capture){typeof t=="function"&&(r=t,t=1/0);let{prepareStackTrace:s,stackTraceLimit:a}=Error;Error.prepareStackTrace=(f,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,t&&(Error.stackTraceLimit=t);let n={};Error.captureStackTrace(n,r);let{stack:c}=n;return Object.assign(Error,{prepareStackTrace:s,stackTraceLimit:a}),c}at(t=this.at){let[r]=this.capture(1,t);if(!r)return{};let s={line:r.getLineNumber(),column:r.getColumnNumber()};DCe(s,r.getFileName(),this._cwd),r.isConstructor()&&(s.constructor=!0),r.isEval()&&(s.evalOrigin=r.getEvalOrigin()),r.isNative()&&(s.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(s.type=a);let n=r.getFunctionName();n&&(s.function=n);let c=r.getMethodName();return c&&n!==c&&(s.method=c),s}parseLine(t){let r=t&&t.match(Xft);if(!r)return null;let s=r[1]==="new",a=r[2],n=r[3],c=r[4],f=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],C=r[9],S=r[10]==="native",x=r[11]===")",I,T={};if(E&&(T.line=Number(E)),C&&(T.column=Number(C)),x&&h){let O=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")O++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(O--,O===-1&&h.charAt(U-1)===" ")){let V=h.slice(0,U-1);h=h.slice(U+1),a+=` (${V}`;break}}if(a){let O=a.match(Zft);O&&(a=O[1],I=O[2])}return DCe(T,h,this._cwd),s&&(T.constructor=!0),n&&(T.evalOrigin=n,T.evalLine=f,T.evalColumn=p,T.evalFile=c&&c.replace(/\\/g,"/")),S&&(T.native=!0),a&&(T.function=a),I&&a!==I&&(T.method=I),T}};function DCe(e,t,r){t&&(t=t.replace(/\\/g,"/"),t.startsWith(`${r}/`)&&(t=t.slice(r.length+1)),e.file=t)}function zft(e){if(e.length===0)return[];let t=e.map(r=>Jft(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${t.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var Xft=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),Zft=/^(.*?) \[as (.*?)\]$/;PCe.exports=Jq});var QCe=G((m7t,kCe)=>{"use strict";kCe.exports=(e,t)=>e.replace(/^\t+/gm,r=>" ".repeat(r.length*(t||2)))});var TCe=G((y7t,RCe)=>{"use strict";var $ft=QCe(),eAt=(e,t)=>{let r=[],s=e-t,a=e+t;for(let n=s;n<=a;n++)r.push(n);return r};RCe.exports=(e,t,r)=>{if(typeof e!="string")throw new TypeError("Source code is missing.");if(!t||t<1)throw new TypeError("Line number must start from `1`.");if(e=$ft(e).split(/\r?\n/),!(t>e.length))return r={around:3,...r},eAt(t,r.around).filter(s=>e[s-1]!==void 0).map(s=>({line:s,value:e[s-1]}))}});var SF=G(of=>{"use strict";var tAt=of&&of.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),rAt=of&&of.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),nAt=of&&of.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&tAt(t,e,r);return rAt(t,e),t},iAt=of&&of.__rest||function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(r[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,s=Object.getOwnPropertySymbols(e);a{var{children:r}=e,s=iAt(e,["children"]);let a=Object.assign(Object.assign({},s),{marginLeft:s.marginLeft||s.marginX||s.margin||0,marginRight:s.marginRight||s.marginX||s.margin||0,marginTop:s.marginTop||s.marginY||s.margin||0,marginBottom:s.marginBottom||s.marginY||s.margin||0,paddingLeft:s.paddingLeft||s.paddingX||s.padding||0,paddingRight:s.paddingRight||s.paddingX||s.padding||0,paddingTop:s.paddingTop||s.paddingY||s.padding||0,paddingBottom:s.paddingBottom||s.paddingY||s.padding||0});return FCe.default.createElement("ink-box",{ref:t,style:a},r)});Kq.displayName="Box";Kq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};of.default=Kq});var Zq=G(nD=>{"use strict";var zq=nD&&nD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(nD,"__esModule",{value:!0});var sAt=zq(gn()),cw=zq(NE()),NCe=zq(Rq()),Xq=({color:e,backgroundColor:t,dimColor:r,bold:s,italic:a,underline:n,strikethrough:c,inverse:f,wrap:p,children:h})=>{if(h==null)return null;let E=C=>(r&&(C=cw.default.dim(C)),e&&(C=NCe.default(C,e,"foreground")),t&&(C=NCe.default(C,t,"background")),s&&(C=cw.default.bold(C)),a&&(C=cw.default.italic(C)),n&&(C=cw.default.underline(C)),c&&(C=cw.default.strikethrough(C)),f&&(C=cw.default.inverse(C)),C);return sAt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};Xq.displayName="Text";Xq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};nD.default=Xq});var UCe=G(af=>{"use strict";var oAt=af&&af.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),aAt=af&&af.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),lAt=af&&af.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&oAt(t,e,r);return aAt(t,e),t},iD=af&&af.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(af,"__esModule",{value:!0});var OCe=lAt(Ie("fs")),Fs=iD(gn()),LCe=iD(xCe()),cAt=iD(TCe()),$p=iD(SF()),hA=iD(Zq()),MCe=new LCe.default({cwd:process.cwd(),internals:LCe.default.nodeInternals()}),uAt=({error:e})=>{let t=e.stack?e.stack.split(` +`).slice(1):void 0,r=t?MCe.parseLine(t[0]):void 0,s,a=0;if(r?.file&&r?.line&&OCe.existsSync(r.file)){let n=OCe.readFileSync(r.file,"utf8");if(s=cAt.default(n,r.line),s)for(let{line:c}of s)a=Math.max(a,String(c).length)}return Fs.default.createElement($p.default,{flexDirection:"column",padding:1},Fs.default.createElement($p.default,null,Fs.default.createElement(hA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Fs.default.createElement(hA.default,null," ",e.message)),r&&Fs.default.createElement($p.default,{marginTop:1},Fs.default.createElement(hA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&s&&Fs.default.createElement($p.default,{marginTop:1,flexDirection:"column"},s.map(({line:n,value:c})=>Fs.default.createElement($p.default,{key:n},Fs.default.createElement($p.default,{width:a+1},Fs.default.createElement(hA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),Fs.default.createElement(hA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+c)))),e.stack&&Fs.default.createElement($p.default,{marginTop:1,flexDirection:"column"},e.stack.split(` +`).slice(1).map(n=>{let c=MCe.parseLine(n);return c?Fs.default.createElement($p.default,{key:n},Fs.default.createElement(hA.default,{dimColor:!0},"- "),Fs.default.createElement(hA.default,{dimColor:!0,bold:!0},c.function),Fs.default.createElement(hA.default,{dimColor:!0,color:"gray"}," ","(",c.file,":",c.line,":",c.column,")")):Fs.default.createElement($p.default,{key:n},Fs.default.createElement(hA.default,{dimColor:!0},"- "),Fs.default.createElement(hA.default,{dimColor:!0,bold:!0},n))})))};af.default=uAt});var HCe=G(lf=>{"use strict";var fAt=lf&&lf.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),AAt=lf&&lf.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),pAt=lf&&lf.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&fAt(t,e,r);return AAt(t,e),t},_m=lf&&lf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(lf,"__esModule",{value:!0});var Um=pAt(gn()),_Ce=_m(eq()),hAt=_m(_q()),gAt=_m(jq()),dAt=_m(qq()),mAt=_m(Yq()),yAt=_m(vF()),EAt=_m(UCe()),IAt=" ",CAt="\x1B[Z",wAt="\x1B",DF=class extends Um.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=t=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),t){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=t=>{t===""&&this.props.exitOnCtrlC&&this.handleExit(),t===wAt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(t===IAt&&this.focusNext(),t===CAt&&this.focusPrevious())},this.handleExit=t=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(t)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focus=t=>{this.setState(r=>r.focusables.some(a=>a?.id===t)?{activeFocusId:t}:r)},this.focusNext=()=>{this.setState(t=>{var r;let s=(r=t.focusables[0])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findNextFocusable(t)||s}})},this.focusPrevious=()=>{this.setState(t=>{var r;let s=(r=t.focusables[t.focusables.length-1])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findPreviousFocusable(t)||s}})},this.addFocusable=(t,{autoFocus:r})=>{this.setState(s=>{let a=s.activeFocusId;return!a&&r&&(a=t),{activeFocusId:a,focusables:[...s.focusables,{id:t,isActive:!0}]}})},this.removeFocusable=t=>{this.setState(r=>({activeFocusId:r.activeFocusId===t?void 0:r.activeFocusId,focusables:r.focusables.filter(s=>s.id!==t)}))},this.activateFocusable=t=>{this.setState(r=>({focusables:r.focusables.map(s=>s.id!==t?s:{id:t,isActive:!0})}))},this.deactivateFocusable=t=>{this.setState(r=>({activeFocusId:r.activeFocusId===t?void 0:r.activeFocusId,focusables:r.focusables.map(s=>s.id!==t?s:{id:t,isActive:!1})}))},this.findNextFocusable=t=>{var r;let s=t.focusables.findIndex(a=>a.id===t.activeFocusId);for(let a=s+1;a{var r;let s=t.focusables.findIndex(a=>a.id===t.activeFocusId);for(let a=s-1;a>=0;a--)if(!((r=t.focusables[a])===null||r===void 0)&&r.isActive)return t.focusables[a].id}}static getDerivedStateFromError(t){return{error:t}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return Um.default.createElement(hAt.default.Provider,{value:{exit:this.handleExit}},Um.default.createElement(gAt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},Um.default.createElement(dAt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},Um.default.createElement(mAt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},Um.default.createElement(yAt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious,focus:this.focus}},this.state.error?Um.default.createElement(EAt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){_Ce.default.hide(this.props.stdout)}componentWillUnmount(){_Ce.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(t){this.handleExit(t)}};lf.default=DF;DF.displayName="InternalApp"});var qCe=G(cf=>{"use strict";var BAt=cf&&cf.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),vAt=cf&&cf.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),SAt=cf&&cf.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&BAt(t,e,r);return vAt(t,e),t},uf=cf&&cf.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(cf,"__esModule",{value:!0});var DAt=uf(gn()),jCe=OEe(),bAt=uf(ZEe()),PAt=uf(K9()),xAt=uf(iIe()),kAt=uf(oIe()),$q=uf(ZIe()),QAt=uf(hCe()),RAt=uf($9()),TAt=uf(yCe()),FAt=SAt(kq()),NAt=uf(Mq()),OAt=uf(HCe()),uw=process.env.CI==="false"?!1:xAt.default,GCe=()=>{},eW=class{constructor(t){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:s,staticOutput:a}=QAt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` +`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(uw){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),s>=this.options.stdout.rows){this.options.stdout.write(PAt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},kAt.default(this),this.options=t,this.rootNode=FAt.createNode("ink-root"),this.rootNode.onRender=t.debug?this.onRender:jCe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=bAt.default.create(t.stdout),this.throttledLog=t.debug?this.log:jCe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=$q.default.createContainer(this.rootNode,0,!1,null),this.unsubscribeExit=RAt.default(this.unmount,{alwaysLast:!1}),t.patchConsole&&this.patchConsole(),uw||(t.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{t.stdout.off("resize",this.onRender)})}render(t){let r=DAt.default.createElement(OAt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},t);$q.default.updateContainer(r,this.container,null,GCe)}writeToStdout(t){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(t+this.fullStaticOutput+this.lastOutput);return}if(uw){this.options.stdout.write(t);return}this.log.clear(),this.options.stdout.write(t),this.log(this.lastOutput)}}writeToStderr(t){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(t),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(uw){this.options.stderr.write(t);return}this.log.clear(),this.options.stderr.write(t),this.log(this.lastOutput)}}unmount(t){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),uw?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,$q.default.updateContainer(null,this.container,null,GCe),NAt.default.delete(this.options.stdout),t instanceof Error?this.rejectExitPromise(t):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((t,r)=>{this.resolveExitPromise=t,this.rejectExitPromise=r})),this.exitPromise}clear(){!uw&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=TAt.default((t,r)=>{t==="stdout"&&this.writeToStdout(r),t==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};cf.default=eW});var YCe=G(sD=>{"use strict";var WCe=sD&&sD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(sD,"__esModule",{value:!0});var LAt=WCe(qCe()),bF=WCe(Mq()),MAt=Ie("stream"),UAt=(e,t)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},_At(t)),s=HAt(r.stdout,()=>new LAt.default(r));return s.render(e),{rerender:s.render,unmount:()=>s.unmount(),waitUntilExit:s.waitUntilExit,cleanup:()=>bF.default.delete(r.stdout),clear:s.clear}};sD.default=UAt;var _At=(e={})=>e instanceof MAt.Stream?{stdout:e,stdin:process.stdin}:e,HAt=(e,t)=>{let r;return bF.default.has(e)?r=bF.default.get(e):(r=t(),bF.default.set(e,r)),r}});var JCe=G(eh=>{"use strict";var jAt=eh&&eh.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),GAt=eh&&eh.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),qAt=eh&&eh.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.hasOwnProperty.call(e,r)&&jAt(t,e,r);return GAt(t,e),t};Object.defineProperty(eh,"__esModule",{value:!0});var oD=qAt(gn()),VCe=e=>{let{items:t,children:r,style:s}=e,[a,n]=oD.useState(0),c=oD.useMemo(()=>t.slice(a),[t,a]);oD.useLayoutEffect(()=>{n(t.length)},[t.length]);let f=c.map((h,E)=>r(h,a+E)),p=oD.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},s),[s]);return oD.default.createElement("ink-box",{internal_static:!0,style:p},f)};VCe.displayName="Static";eh.default=VCe});var zCe=G(aD=>{"use strict";var WAt=aD&&aD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(aD,"__esModule",{value:!0});var YAt=WAt(gn()),KCe=({children:e,transform:t})=>e==null?null:YAt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:t},e);KCe.displayName="Transform";aD.default=KCe});var ZCe=G(lD=>{"use strict";var VAt=lD&&lD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(lD,"__esModule",{value:!0});var JAt=VAt(gn()),XCe=({count:e=1})=>JAt.default.createElement("ink-text",null,` +`.repeat(e));XCe.displayName="Newline";lD.default=XCe});var twe=G(cD=>{"use strict";var $Ce=cD&&cD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(cD,"__esModule",{value:!0});var KAt=$Ce(gn()),zAt=$Ce(SF()),ewe=()=>KAt.default.createElement(zAt.default,{flexGrow:1});ewe.displayName="Spacer";cD.default=ewe});var PF=G(uD=>{"use strict";var XAt=uD&&uD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(uD,"__esModule",{value:!0});var ZAt=gn(),$At=XAt(jq()),ept=()=>ZAt.useContext($At.default);uD.default=ept});var nwe=G(fD=>{"use strict";var tpt=fD&&fD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(fD,"__esModule",{value:!0});var rwe=gn(),rpt=tpt(PF()),npt=(e,t={})=>{let{stdin:r,setRawMode:s,internal_exitOnCtrlC:a}=rpt.default();rwe.useEffect(()=>{if(t.isActive!==!1)return s(!0),()=>{s(!1)}},[t.isActive,s]),rwe.useEffect(()=>{if(t.isActive===!1)return;let n=c=>{let f=String(c),p={upArrow:f==="\x1B[A",downArrow:f==="\x1B[B",leftArrow:f==="\x1B[D",rightArrow:f==="\x1B[C",pageDown:f==="\x1B[6~",pageUp:f==="\x1B[5~",return:f==="\r",escape:f==="\x1B",ctrl:!1,shift:!1,tab:f===" "||f==="\x1B[Z",backspace:f==="\b",delete:f==="\x7F"||f==="\x1B[3~",meta:!1};f<=""&&!p.return&&(f=String.fromCharCode(f.charCodeAt(0)+97-1),p.ctrl=!0),f.startsWith("\x1B")&&(f=f.slice(1),p.meta=!0);let h=f>="A"&&f<="Z",E=f>="\u0410"&&f<="\u042F";f.length===1&&(h||E)&&(p.shift=!0),p.tab&&f==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(f=""),(!(f==="c"&&p.ctrl)||!a)&&e(f,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[t.isActive,r,a,e])};fD.default=npt});var iwe=G(AD=>{"use strict";var ipt=AD&&AD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(AD,"__esModule",{value:!0});var spt=gn(),opt=ipt(_q()),apt=()=>spt.useContext(opt.default);AD.default=apt});var swe=G(pD=>{"use strict";var lpt=pD&&pD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pD,"__esModule",{value:!0});var cpt=gn(),upt=lpt(qq()),fpt=()=>cpt.useContext(upt.default);pD.default=fpt});var owe=G(hD=>{"use strict";var Apt=hD&&hD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(hD,"__esModule",{value:!0});var ppt=gn(),hpt=Apt(Yq()),gpt=()=>ppt.useContext(hpt.default);hD.default=gpt});var lwe=G(dD=>{"use strict";var awe=dD&&dD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(dD,"__esModule",{value:!0});var gD=gn(),dpt=awe(vF()),mpt=awe(PF()),ypt=({isActive:e=!0,autoFocus:t=!1,id:r}={})=>{let{isRawModeSupported:s,setRawMode:a}=mpt.default(),{activeId:n,add:c,remove:f,activate:p,deactivate:h,focus:E}=gD.useContext(dpt.default),C=gD.useMemo(()=>r??Math.random().toString().slice(2,7),[r]);return gD.useEffect(()=>(c(C,{autoFocus:t}),()=>{f(C)}),[C,t]),gD.useEffect(()=>{e?p(C):h(C)},[e,C]),gD.useEffect(()=>{if(!(!s||!e))return a(!0),()=>{a(!1)}},[e]),{isFocused:!!C&&n===C,focus:E}};dD.default=ypt});var cwe=G(mD=>{"use strict";var Ept=mD&&mD.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(mD,"__esModule",{value:!0});var Ipt=gn(),Cpt=Ept(vF()),wpt=()=>{let e=Ipt.useContext(Cpt.default);return{enableFocus:e.enableFocus,disableFocus:e.disableFocus,focusNext:e.focusNext,focusPrevious:e.focusPrevious,focus:e.focus}};mD.default=wpt});var uwe=G(tW=>{"use strict";Object.defineProperty(tW,"__esModule",{value:!0});tW.default=e=>{var t,r,s,a;return{width:(r=(t=e.yogaNode)===null||t===void 0?void 0:t.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(s=e.yogaNode)===null||s===void 0?void 0:s.getComputedHeight())!==null&&a!==void 0?a:0}}});var qc=G(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});var Bpt=YCe();Object.defineProperty(wo,"render",{enumerable:!0,get:function(){return Bpt.default}});var vpt=SF();Object.defineProperty(wo,"Box",{enumerable:!0,get:function(){return vpt.default}});var Spt=Zq();Object.defineProperty(wo,"Text",{enumerable:!0,get:function(){return Spt.default}});var Dpt=JCe();Object.defineProperty(wo,"Static",{enumerable:!0,get:function(){return Dpt.default}});var bpt=zCe();Object.defineProperty(wo,"Transform",{enumerable:!0,get:function(){return bpt.default}});var Ppt=ZCe();Object.defineProperty(wo,"Newline",{enumerable:!0,get:function(){return Ppt.default}});var xpt=twe();Object.defineProperty(wo,"Spacer",{enumerable:!0,get:function(){return xpt.default}});var kpt=nwe();Object.defineProperty(wo,"useInput",{enumerable:!0,get:function(){return kpt.default}});var Qpt=iwe();Object.defineProperty(wo,"useApp",{enumerable:!0,get:function(){return Qpt.default}});var Rpt=PF();Object.defineProperty(wo,"useStdin",{enumerable:!0,get:function(){return Rpt.default}});var Tpt=swe();Object.defineProperty(wo,"useStdout",{enumerable:!0,get:function(){return Tpt.default}});var Fpt=owe();Object.defineProperty(wo,"useStderr",{enumerable:!0,get:function(){return Fpt.default}});var Npt=lwe();Object.defineProperty(wo,"useFocus",{enumerable:!0,get:function(){return Npt.default}});var Opt=cwe();Object.defineProperty(wo,"useFocusManager",{enumerable:!0,get:function(){return Opt.default}});var Lpt=uwe();Object.defineProperty(wo,"measureElement",{enumerable:!0,get:function(){return Lpt.default}})});var nW={};Vt(nW,{Gem:()=>rW});var fwe,Hm,rW,xF=Xe(()=>{fwe=et(qc()),Hm=et(gn()),rW=(0,Hm.memo)(({active:e})=>{let t=(0,Hm.useMemo)(()=>e?"\u25C9":"\u25EF",[e]),r=(0,Hm.useMemo)(()=>e?"green":"yellow",[e]);return Hm.default.createElement(fwe.Text,{color:r},t)})});var iW={};Vt(iW,{useKeypress:()=>jm});function jm({active:e},t,r){let{stdin:s}=(0,Awe.useStdin)(),a=(0,kF.useCallback)((n,c)=>t(n,c),r);(0,kF.useEffect)(()=>{if(!(!e||!s))return s.on("keypress",a),()=>{s.off("keypress",a)}},[e,a,s])}var Awe,kF,fw=Xe(()=>{Awe=et(qc()),kF=et(gn())});var hwe={};Vt(hwe,{FocusRequest:()=>pwe,useFocusRequest:()=>sW});var pwe,sW,oW=Xe(()=>{fw();pwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(pwe||{}),sW=function({active:e},t,r){jm({active:e},(s,a)=>{a.name==="tab"&&(a.shift?t("before"):t("after"))},r)}});var gwe={};Vt(gwe,{useListInput:()=>yD});var yD,QF=Xe(()=>{fw();yD=function(e,t,{active:r,minus:s,plus:a,set:n,loop:c=!0}){jm({active:r},(f,p)=>{let h=t.indexOf(e);switch(p.name){case s:{let E=h-1;if(c){n(t[(t.length+E)%t.length]);return}if(E<0)return;n(t[E])}break;case a:{let E=h+1;if(c){n(t[E%t.length]);return}if(E>=t.length)return;n(t[E])}break}},[t,e,a,n,c])}});var RF={};Vt(RF,{ScrollableItems:()=>Mpt});var Z0,vl,Mpt,TF=Xe(()=>{Z0=et(qc()),vl=et(gn());oW();QF();Mpt=({active:e=!0,children:t=[],radius:r=10,size:s=1,loop:a=!0,onFocusRequest:n,willReachEnd:c})=>{let f=O=>{if(O.key===null)throw new Error("Expected all children to have a key");return O.key},p=vl.default.Children.map(t,O=>f(O)),h=p[0],[E,C]=(0,vl.useState)(h),S=p.indexOf(E);(0,vl.useEffect)(()=>{p.includes(E)||C(h)},[t]),(0,vl.useEffect)(()=>{c&&S>=p.length-2&&c()},[S]),sW({active:e&&!!n},O=>{n?.(O)},[n]),yD(E,p,{active:e,minus:"up",plus:"down",set:C,loop:a});let x=S-r,I=S+r;I>p.length&&(x-=I-p.length,I=p.length),x<0&&(I+=-x,x=0),I>=p.length&&(I=p.length-1);let T=[];for(let O=x;O<=I;++O){let U=p[O],V=e&&U===E;T.push(vl.default.createElement(Z0.Box,{key:U,height:s},vl.default.createElement(Z0.Box,{marginLeft:1,marginRight:1},vl.default.createElement(Z0.Text,null,V?vl.default.createElement(Z0.Text,{color:"cyan",bold:!0},">"):" ")),vl.default.createElement(Z0.Box,null,vl.default.cloneElement(t[O],{active:V}))))}return vl.default.createElement(Z0.Box,{flexDirection:"column",width:"100%"},T)}});var dwe,th,mwe,FF,ywe,aW=Xe(()=>{dwe=et(qc()),th=et(gn()),mwe=Ie("readline"),FF=th.default.createContext(null),ywe=({children:e})=>{let{stdin:t,setRawMode:r}=(0,dwe.useStdin)();(0,th.useEffect)(()=>{r&&r(!0),t&&(0,mwe.emitKeypressEvents)(t)},[t,r]);let[s,a]=(0,th.useState)(new Map),n=(0,th.useMemo)(()=>({getAll:()=>s,get:c=>s.get(c),set:(c,f)=>a(p=>new Map([...p,[c,f]])),setAll:c=>a(f=>new Map([...f,...c]))}),[s,a]);return th.default.createElement(FF.Provider,{value:n,children:e})}});var lW={};Vt(lW,{useMinistore:()=>Upt,useMinistoreSetAll:()=>_pt});function Upt(e,t){let r=(0,ED.useContext)(FF);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof e>"u")return r.getAll();let s=(0,ED.useCallback)(n=>{r.set(e,n)},[e,r.set]),a=r.get(e);return typeof a>"u"&&(a=t),[a,s]}function _pt(){let e=(0,ED.useContext)(FF);if(e===null)throw new Error("Expected this hook to run with a ministore context attached");return e.setAll}var ED,cW=Xe(()=>{ED=et(gn());aW()});var OF={};Vt(OF,{renderForm:()=>Hpt});async function Hpt(e,t,{stdin:r,stdout:s,stderr:a}){let n,c=p=>{let{exit:h}=(0,NF.useApp)();jm({active:!0},(E,C)=>{C.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:f}=(0,NF.render)(uW.default.createElement(ywe,null,uW.default.createElement(e,{...t,useSubmit:c})),{stdin:r,stdout:s,stderr:a});return await f(),n}var NF,uW,LF=Xe(()=>{NF=et(qc()),uW=et(gn());aW();fw()});var wwe=G(ID=>{"use strict";Object.defineProperty(ID,"__esModule",{value:!0});ID.UncontrolledTextInput=void 0;var Iwe=gn(),fW=gn(),Ewe=qc(),Gm=NE(),Cwe=({value:e,placeholder:t="",focus:r=!0,mask:s,highlightPastedText:a=!1,showCursor:n=!0,onChange:c,onSubmit:f})=>{let[{cursorOffset:p,cursorWidth:h},E]=fW.useState({cursorOffset:(e||"").length,cursorWidth:0});fW.useEffect(()=>{E(T=>{if(!r||!n)return T;let O=e||"";return T.cursorOffset>O.length-1?{cursorOffset:O.length,cursorWidth:0}:T})},[e,r,n]);let C=a?h:0,S=s?s.repeat(e.length):e,x=S,I=t?Gm.grey(t):void 0;if(n&&r){I=t.length>0?Gm.inverse(t[0])+Gm.grey(t.slice(1)):Gm.inverse(" "),x=S.length>0?"":Gm.inverse(" ");let T=0;for(let O of S)T>=p-C&&T<=p?x+=Gm.inverse(O):x+=O,T++;S.length>0&&p===S.length&&(x+=Gm.inverse(" "))}return Ewe.useInput((T,O)=>{if(O.upArrow||O.downArrow||O.ctrl&&T==="c"||O.tab||O.shift&&O.tab)return;if(O.return){f&&f(e);return}let U=p,V=e,te=0;O.leftArrow?n&&U--:O.rightArrow?n&&U++:O.backspace||O.delete?p>0&&(V=e.slice(0,p-1)+e.slice(p,e.length),U--):(V=e.slice(0,p)+T+e.slice(p,e.length),U+=T.length,T.length>1&&(te=T.length)),p<0&&(U=0),p>e.length&&(U=e.length),E({cursorOffset:U,cursorWidth:te}),V!==e&&c(V)},{isActive:r}),Iwe.createElement(Ewe.Text,null,t?S.length>0?x:I:x)};ID.default=Cwe;ID.UncontrolledTextInput=({initialValue:e="",...t})=>{let[r,s]=fW.useState(e);return Iwe.createElement(Cwe,Object.assign({},t,{value:r,onChange:s}))}});var Swe={};Vt(Swe,{Pad:()=>AW});var Bwe,vwe,AW,pW=Xe(()=>{Bwe=et(qc()),vwe=et(gn()),AW=({length:e,active:t})=>{if(e===0)return null;let r=e>1?` ${"-".repeat(e-1)}`:" ";return vwe.default.createElement(Bwe.Text,{dimColor:!t},r)}});var Dwe={};Vt(Dwe,{ItemOptions:()=>jpt});var wD,$0,jpt,bwe=Xe(()=>{wD=et(qc()),$0=et(gn());QF();xF();pW();jpt=function({active:e,skewer:t,options:r,value:s,onChange:a,sizes:n=[]}){let c=r.filter(({label:p})=>!!p).map(({value:p})=>p),f=r.findIndex(p=>p.value===s&&p.label!="");return yD(s,c,{active:e,minus:"left",plus:"right",set:a}),$0.default.createElement($0.default.Fragment,null,r.map(({label:p},h)=>{let E=h===f,C=n[h]-1||0,S=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),x=Math.max(0,C-S.length-2);return p?$0.default.createElement(wD.Box,{key:p,width:C,marginLeft:1},$0.default.createElement(wD.Text,{wrap:"truncate"},$0.default.createElement(rW,{active:E})," ",p),t?$0.default.createElement(AW,{active:e,length:x}):null):$0.default.createElement(wD.Box,{key:`spacer-${h}`,width:C,marginLeft:1})}))}});var jwe=G((wKt,Hwe)=>{var vW;Hwe.exports=()=>(typeof vW>"u"&&(vW=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),vW)});var c1e=G((VKt,l1e)=>{var TW=Symbol("arg flag"),Wc=class e extends Error{constructor(t,r){super(t),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,e.prototype)}};function UD(e,{argv:t=process.argv.slice(2),permissive:r=!1,stopAtPositional:s=!1}={}){if(!e)throw new Wc("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},c={};for(let f of Object.keys(e)){if(!f)throw new Wc("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(f[0]!=="-")throw new Wc(`argument key must start with '-' but found: '${f}'`,"ARG_CONFIG_NONOPT_KEY");if(f.length===1)throw new Wc(`argument key must have a name; singular '-' keys are not allowed: ${f}`,"ARG_CONFIG_NONAME_KEY");if(typeof e[f]=="string"){n[f]=e[f];continue}let p=e[f],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(C,S,x=[])=>(x.push(E(C,S,x[x.length-1])),x),h=E===Boolean||E[TW]===!0}else if(typeof p=="function")h=p===Boolean||p[TW]===!0;else throw new Wc(`type missing or not a function or valid array type: ${f}`,"ARG_CONFIG_VAD_TYPE");if(f[1]!=="-"&&f.length>2)throw new Wc(`short argument keys (with a single hyphen) must have only one character: ${f}`,"ARG_CONFIG_SHORTOPT_TOOLONG");c[f]=[p,h]}for(let f=0,p=t.length;f0){a._=a._.concat(t.slice(f));break}if(h==="--"){a._=a._.concat(t.slice(f+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(C=>`-${C}`);for(let C=0;C1&&t[f+1][0]==="-"&&!(t[f+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(O===Number||typeof BigInt<"u"&&O===BigInt))){let V=x===T?"":` (alias for ${T})`;throw new Wc(`option requires argument: ${x}${V}`,"ARG_MISSING_REQUIRED_LONGARG")}a[T]=O(t[f+1],T,a[T]),++f}else a[T]=O(I,T,a[T])}}else a._.push(h)}return a}UD.flag=e=>(e[TW]=!0,e);UD.COUNT=UD.flag((e,t,r)=>(r||0)+1);UD.ArgError=Wc;l1e.exports=UD});var d1e=G((Bzt,g1e)=>{var MW;g1e.exports=()=>(typeof MW>"u"&&(MW=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),MW)});var C1e=G((qW,WW)=>{(function(e){qW&&typeof qW=="object"&&typeof WW<"u"?WW.exports=e():typeof define=="function"&&define.amd?define([],e):typeof window<"u"?window.isWindows=e():typeof global<"u"?global.isWindows=e():typeof self<"u"?self.isWindows=e():this.isWindows=e()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var S1e=G((CXt,v1e)=>{"use strict";YW.ifExists=Ght;var yw=Ie("util"),Vc=Ie("path"),w1e=C1e(),_ht=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Hht={createPwshFile:!0,createCmdFile:w1e(),fs:Ie("fs")},jht=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function B1e(e){let t={...Hht,...e},r=t.fs;return t.fs_={chmod:r.chmod?yw.promisify(r.chmod):async()=>{},mkdir:yw.promisify(r.mkdir),readFile:yw.promisify(r.readFile),stat:yw.promisify(r.stat),unlink:yw.promisify(r.unlink),writeFile:yw.promisify(r.writeFile)},t}async function YW(e,t,r){let s=B1e(r);await s.fs_.stat(e),await Wht(e,t,s)}function Ght(e,t,r){return YW(e,t,r).catch(()=>{})}function qht(e,t){return t.fs_.unlink(e).catch(()=>{})}async function Wht(e,t,r){let s=await zht(e,r);return await Yht(t,r),Vht(e,t,s,r)}function Yht(e,t){return t.fs_.mkdir(Vc.dirname(e),{recursive:!0})}function Vht(e,t,r,s){let a=B1e(s),n=[{generator:$ht,extension:""}];return a.createCmdFile&&n.push({generator:Zht,extension:".cmd"}),a.createPwshFile&&n.push({generator:e0t,extension:".ps1"}),Promise.all(n.map(c=>Xht(e,t+c.extension,r,c.generator,a)))}function Jht(e,t){return qht(e,t)}function Kht(e,t){return t0t(e,t)}async function zht(e,t){let a=(await t.fs_.readFile(e,"utf8")).trim().split(/\r*\n/)[0].match(_ht);if(!a){let n=Vc.extname(e).toLowerCase();return{program:jht.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function Xht(e,t,r,s,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",c=[r.additionalArgs,n].filter(f=>f).join(" ");return a=Object.assign({},a,{prog:r.program,args:c}),await Jht(t,a),await a.fs_.writeFile(t,s(e,t,a),"utf8"),Kht(t,a)}function Zht(e,t,r){let a=Vc.relative(Vc.dirname(t),e).split("/").join("\\"),n=Vc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,c,f=r.prog,p=r.args||"",h=VW(r.nodePath).win32;f?(c=`"%~dp0\\${f}.exe"`,a=n):(f=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",C=h?`@SET NODE_PATH=${h}\r +`:"";return c?C+=`@IF EXIST ${c} (\r + ${c} ${p} ${a} ${E}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${f} ${p} ${a} ${E}%*\r +)\r +`:C+=`@${f} ${p} ${a} ${E}%*\r +`,C}function $ht(e,t,r){let s=Vc.relative(Vc.dirname(t),e),a=r.prog&&r.prog.split("\\").join("/"),n;s=s.split("\\").join("/");let c=Vc.isAbsolute(s)?`"${s}"`:`"$basedir/${s}"`,f=r.args||"",p=VW(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,s=c):(a=c,f="",s="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,C=r.nodePath?`export NODE_PATH="${p}" +`:"";return n?E+=`${C}if [ -x ${n} ]; then + exec ${n} ${f} ${s} ${h}"$@" +else + exec ${a} ${f} ${s} ${h}"$@" +fi +`:E+=`${C}${a} ${f} ${s} ${h}"$@" +exit $? +`,E}function e0t(e,t,r){let s=Vc.relative(Vc.dirname(t),e),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,c;s=s.split("\\").join("/");let f=Vc.isAbsolute(s)?`"${s}"`:`"$basedir/${s}"`,p=r.args||"",h=VW(r.nodePath),E=h.win32,C=h.posix;n?(c=`"$basedir/${r.prog}$exe"`,s=f):(n=f,p="",s="");let S=r.progArgs?`${r.progArgs.join(" ")} `:"",x=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${E}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(x+=` else { + $env:NODE_PATH="${C}" +}`),c?x+=` +$ret=0 +if (Test-Path ${c}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${c} ${p} ${s} ${S}$args + } else { + & ${c} ${p} ${s} ${S}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${s} ${S}$args + } else { + & ${n} ${p} ${s} ${S}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:x+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${s} ${S}$args +} else { + & ${n} ${p} ${s} ${S}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,x}function t0t(e,t){return t.fs_.chmod(e,493)}function VW(e){if(!e)return{win32:"",posix:""};let t=typeof e=="string"?e.split(Vc.delimiter):Array.from(e),r={};for(let s=0;s`/mnt/${f.toLowerCase()}`):t[s];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[s]={win32:a,posix:n}}return r}v1e.exports=YW});var lY=G((KZt,q1e)=>{q1e.exports=Ie("stream")});var J1e=G((zZt,V1e)=>{"use strict";function W1e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,s)}return r}function L0t(e){for(var t=1;t0?this.tail.next=s:this.head=s,this.tail=s,++this.length}},{key:"unshift",value:function(r){var s={data:r,next:this.head};this.length===0&&(this.tail=s),this.head=s,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var s=this.head,a=""+s.data;s=s.next;)a+=r+s.data;return a}},{key:"concat",value:function(r){if(this.length===0)return ZF.alloc(0);for(var s=ZF.allocUnsafe(r>>>0),a=this.head,n=0;a;)q0t(a.data,s,n),n+=a.data.length,a=a.next;return s}},{key:"consume",value:function(r,s){var a;return rc.length?c.length:r;if(f===c.length?n+=c:n+=c.slice(0,r),r-=f,r===0){f===c.length?(++a,s.next?this.head=s.next:this.head=this.tail=null):(this.head=s,s.data=c.slice(f));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var s=ZF.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(s),r-=a.data.length;a=a.next;){var c=a.data,f=r>c.length?c.length:r;if(c.copy(s,s.length-r,0,f),r-=f,r===0){f===c.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=c.slice(f));break}++n}return this.length-=n,s}},{key:G0t,value:function(r,s){return cY(this,L0t({},s,{depth:0,customInspect:!1}))}}]),e}()});var fY=G((XZt,z1e)=>{"use strict";function W0t(e,t){var r=this,s=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return s||a?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(uY,this,e)):process.nextTick(uY,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(n){!t&&n?r._writableState?r._writableState.errorEmitted?process.nextTick($F,r):(r._writableState.errorEmitted=!0,process.nextTick(K1e,r,n)):process.nextTick(K1e,r,n):t?(process.nextTick($F,r),t(n)):process.nextTick($F,r)}),this)}function K1e(e,t){uY(e,t),$F(e)}function $F(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Y0t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function uY(e,t){e.emit("error",t)}function V0t(e,t){var r=e._readableState,s=e._writableState;r&&r.autoDestroy||s&&s.autoDestroy?e.destroy(t):e.emit("error",t)}z1e.exports={destroy:W0t,undestroy:Y0t,errorOrDestroy:V0t}});var og=G((ZZt,$1e)=>{"use strict";var Z1e={};function Kc(e,t,r){r||(r=Error);function s(n,c,f){return typeof t=="string"?t:t(n,c,f)}class a extends r{constructor(c,f,p){super(s(c,f,p))}}a.prototype.name=r.name,a.prototype.code=e,Z1e[e]=a}function X1e(e,t){if(Array.isArray(e)){let r=e.length;return e=e.map(s=>String(s)),r>2?`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]:r===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}else return`of ${t} ${String(e)}`}function J0t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function K0t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function z0t(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Kc("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);Kc("ERR_INVALID_ARG_TYPE",function(e,t,r){let s;typeof t=="string"&&J0t(t,"not ")?(s="must not be",t=t.replace(/^not /,"")):s="must be";let a;if(K0t(e," argument"))a=`The ${e} ${s} ${X1e(t,"type")}`;else{let n=z0t(e,".")?"property":"argument";a=`The "${e}" ${n} ${s} ${X1e(t,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);Kc("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Kc("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});Kc("ERR_STREAM_PREMATURE_CLOSE","Premature close");Kc("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});Kc("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Kc("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Kc("ERR_STREAM_WRITE_AFTER_END","write after end");Kc("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Kc("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);Kc("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");$1e.exports.codes=Z1e});var AY=G(($Zt,e2e)=>{"use strict";var X0t=og().codes.ERR_INVALID_OPT_VALUE;function Z0t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function $0t(e,t,r,s){var a=Z0t(t,s,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=s?r:"highWaterMark";throw new X0t(n,a)}return Math.floor(a)}return e.objectMode?16:16*1024}e2e.exports={getHighWaterMark:$0t}});var t2e=G((e$t,pY)=>{typeof Object.create=="function"?pY.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:pY.exports=function(t,r){if(r){t.super_=r;var s=function(){};s.prototype=r.prototype,t.prototype=new s,t.prototype.constructor=t}}});var ag=G((t$t,gY)=>{try{if(hY=Ie("util"),typeof hY.inherits!="function")throw"";gY.exports=hY.inherits}catch{gY.exports=t2e()}var hY});var n2e=G((r$t,r2e)=>{r2e.exports=Ie("util").deprecate});var yY=G((n$t,c2e)=>{"use strict";c2e.exports=Vi;function s2e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){Dgt(t,e)}}var vw;Vi.WritableState=ZD;var egt={deprecate:n2e()},o2e=lY(),tN=Ie("buffer").Buffer,tgt=global.Uint8Array||function(){};function rgt(e){return tN.from(e)}function ngt(e){return tN.isBuffer(e)||e instanceof tgt}var mY=fY(),igt=AY(),sgt=igt.getHighWaterMark,lg=og().codes,ogt=lg.ERR_INVALID_ARG_TYPE,agt=lg.ERR_METHOD_NOT_IMPLEMENTED,lgt=lg.ERR_MULTIPLE_CALLBACK,cgt=lg.ERR_STREAM_CANNOT_PIPE,ugt=lg.ERR_STREAM_DESTROYED,fgt=lg.ERR_STREAM_NULL_VALUES,Agt=lg.ERR_STREAM_WRITE_AFTER_END,pgt=lg.ERR_UNKNOWN_ENCODING,Sw=mY.errorOrDestroy;ag()(Vi,o2e);function hgt(){}function ZD(e,t,r){vw=vw||Km(),e=e||{},typeof r!="boolean"&&(r=t instanceof vw),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=sgt(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=e.decodeStrings===!1;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Cgt(t,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new s2e(this)}ZD.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(ZD.prototype,"buffer",{get:egt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var eN;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(eN=Function.prototype[Symbol.hasInstance],Object.defineProperty(Vi,Symbol.hasInstance,{value:function(t){return eN.call(this,t)?!0:this!==Vi?!1:t&&t._writableState instanceof ZD}})):eN=function(t){return t instanceof this};function Vi(e){vw=vw||Km();var t=this instanceof vw;if(!t&&!eN.call(Vi,this))return new Vi(e);this._writableState=new ZD(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),o2e.call(this)}Vi.prototype.pipe=function(){Sw(this,new cgt)};function ggt(e,t){var r=new Agt;Sw(e,r),process.nextTick(t,r)}function dgt(e,t,r,s){var a;return r===null?a=new fgt:typeof r!="string"&&!t.objectMode&&(a=new ogt("chunk",["string","Buffer"],r)),a?(Sw(e,a),process.nextTick(s,a),!1):!0}Vi.prototype.write=function(e,t,r){var s=this._writableState,a=!1,n=!s.objectMode&&ngt(e);return n&&!tN.isBuffer(e)&&(e=rgt(e)),typeof t=="function"&&(r=t,t=null),n?t="buffer":t||(t=s.defaultEncoding),typeof r!="function"&&(r=hgt),s.ending?ggt(this,r):(n||dgt(this,s,e,r))&&(s.pendingcb++,a=ygt(this,s,n,e,t,r)),a};Vi.prototype.cork=function(){this._writableState.corked++};Vi.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&a2e(this,e))};Vi.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new pgt(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(Vi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function mgt(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=tN.from(t,r)),t}Object.defineProperty(Vi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function ygt(e,t,r,s,a,n){if(!r){var c=mgt(t,s,a);s!==c&&(r=!0,a="buffer",s=c)}var f=t.objectMode?1:s.length;t.length+=f;var p=t.length{"use strict";var bgt=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};f2e.exports=yA;var u2e=CY(),IY=yY();ag()(yA,u2e);for(EY=bgt(IY.prototype),rN=0;rN{var iN=Ie("buffer"),oh=iN.Buffer;function A2e(e,t){for(var r in e)t[r]=e[r]}oh.from&&oh.alloc&&oh.allocUnsafe&&oh.allocUnsafeSlow?p2e.exports=iN:(A2e(iN,wY),wY.Buffer=Dw);function Dw(e,t,r){return oh(e,t,r)}A2e(oh,Dw);Dw.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return oh(e,t,r)};Dw.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var s=oh(e);return t!==void 0?typeof r=="string"?s.fill(t,r):s.fill(t):s.fill(0),s};Dw.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return oh(e)};Dw.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return iN.SlowBuffer(e)}});var SY=G(d2e=>{"use strict";var vY=h2e().Buffer,g2e=vY.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function kgt(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function Qgt(e){var t=kgt(e);if(typeof t!="string"&&(vY.isEncoding===g2e||!g2e(e)))throw new Error("Unknown encoding: "+e);return t||e}d2e.StringDecoder=$D;function $D(e){this.encoding=Qgt(e);var t;switch(this.encoding){case"utf16le":this.text=Lgt,this.end=Mgt,t=4;break;case"utf8":this.fillLast=Fgt,t=4;break;case"base64":this.text=Ugt,this.end=_gt,t=3;break;default:this.write=Hgt,this.end=jgt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=vY.allocUnsafe(t)}$D.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function Rgt(e,t,r){var s=t.length-1;if(s=0?(a>0&&(e.lastNeed=a-1),a):--s=0?(a>0&&(e.lastNeed=a-2),a):--s=0?(a>0&&(a===2?a=0:e.lastNeed=a-3),a):0))}function Tgt(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function Fgt(e){var t=this.lastTotal-this.lastNeed,r=Tgt(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Ngt(e,t){var r=Rgt(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var s=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,s),e.toString("utf8",t,s)}function Ogt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function Lgt(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var s=r.charCodeAt(r.length-1);if(s>=55296&&s<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function Mgt(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function Ugt(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function _gt(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function Hgt(e){return e.toString(this.encoding)}function jgt(e){return e&&e.length?this.write(e):""}});var sN=G((o$t,E2e)=>{"use strict";var m2e=og().codes.ERR_STREAM_PREMATURE_CLOSE;function Ggt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,s=new Array(r),a=0;a{"use strict";var oN;function cg(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Ygt=sN(),ug=Symbol("lastResolve"),zm=Symbol("lastReject"),eb=Symbol("error"),aN=Symbol("ended"),Xm=Symbol("lastPromise"),DY=Symbol("handlePromise"),Zm=Symbol("stream");function fg(e,t){return{value:e,done:t}}function Vgt(e){var t=e[ug];if(t!==null){var r=e[Zm].read();r!==null&&(e[Xm]=null,e[ug]=null,e[zm]=null,t(fg(r,!1)))}}function Jgt(e){process.nextTick(Vgt,e)}function Kgt(e,t){return function(r,s){e.then(function(){if(t[aN]){r(fg(void 0,!0));return}t[DY](r,s)},s)}}var zgt=Object.getPrototypeOf(function(){}),Xgt=Object.setPrototypeOf((oN={get stream(){return this[Zm]},next:function(){var t=this,r=this[eb];if(r!==null)return Promise.reject(r);if(this[aN])return Promise.resolve(fg(void 0,!0));if(this[Zm].destroyed)return new Promise(function(c,f){process.nextTick(function(){t[eb]?f(t[eb]):c(fg(void 0,!0))})});var s=this[Xm],a;if(s)a=new Promise(Kgt(s,this));else{var n=this[Zm].read();if(n!==null)return Promise.resolve(fg(n,!1));a=new Promise(this[DY])}return this[Xm]=a,a}},cg(oN,Symbol.asyncIterator,function(){return this}),cg(oN,"return",function(){var t=this;return new Promise(function(r,s){t[Zm].destroy(null,function(a){if(a){s(a);return}r(fg(void 0,!0))})})}),oN),zgt),Zgt=function(t){var r,s=Object.create(Xgt,(r={},cg(r,Zm,{value:t,writable:!0}),cg(r,ug,{value:null,writable:!0}),cg(r,zm,{value:null,writable:!0}),cg(r,eb,{value:null,writable:!0}),cg(r,aN,{value:t._readableState.endEmitted,writable:!0}),cg(r,DY,{value:function(n,c){var f=s[Zm].read();f?(s[Xm]=null,s[ug]=null,s[zm]=null,n(fg(f,!1))):(s[ug]=n,s[zm]=c)},writable:!0}),r));return s[Xm]=null,Ygt(t,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=s[zm];n!==null&&(s[Xm]=null,s[ug]=null,s[zm]=null,n(a)),s[eb]=a;return}var c=s[ug];c!==null&&(s[Xm]=null,s[ug]=null,s[zm]=null,c(fg(void 0,!0))),s[aN]=!0}),t.on("readable",Jgt.bind(null,s)),s};I2e.exports=Zgt});var S2e=G((l$t,v2e)=>{"use strict";function w2e(e,t,r,s,a,n,c){try{var f=e[n](c),p=f.value}catch(h){r(h);return}f.done?t(p):Promise.resolve(p).then(s,a)}function $gt(e){return function(){var t=this,r=arguments;return new Promise(function(s,a){var n=e.apply(t,r);function c(p){w2e(n,s,a,c,f,"next",p)}function f(p){w2e(n,s,a,c,f,"throw",p)}c(void 0)})}}function B2e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,s)}return r}function edt(e){for(var t=1;t{"use strict";N2e.exports=kn;var bw;kn.ReadableState=x2e;var c$t=Ie("events").EventEmitter,P2e=function(t,r){return t.listeners(r).length},rb=lY(),lN=Ie("buffer").Buffer,idt=global.Uint8Array||function(){};function sdt(e){return lN.from(e)}function odt(e){return lN.isBuffer(e)||e instanceof idt}var bY=Ie("util"),un;bY&&bY.debuglog?un=bY.debuglog("stream"):un=function(){};var adt=J1e(),FY=fY(),ldt=AY(),cdt=ldt.getHighWaterMark,cN=og().codes,udt=cN.ERR_INVALID_ARG_TYPE,fdt=cN.ERR_STREAM_PUSH_AFTER_EOF,Adt=cN.ERR_METHOD_NOT_IMPLEMENTED,pdt=cN.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Pw,PY,xY;ag()(kn,rb);var tb=FY.errorOrDestroy,kY=["error","close","destroy","pause","resume"];function hdt(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function x2e(e,t,r){bw=bw||Km(),e=e||{},typeof r!="boolean"&&(r=t instanceof bw),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=cdt(this,e,"readableHighWaterMark",r),this.buffer=new adt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(Pw||(Pw=SY().StringDecoder),this.decoder=new Pw(e.encoding),this.encoding=e.encoding)}function kn(e){if(bw=bw||Km(),!(this instanceof kn))return new kn(e);var t=this instanceof bw;this._readableState=new x2e(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),rb.call(this)}Object.defineProperty(kn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});kn.prototype.destroy=FY.destroy;kn.prototype._undestroy=FY.undestroy;kn.prototype._destroy=function(e,t){t(e)};kn.prototype.push=function(e,t){var r=this._readableState,s;return r.objectMode?s=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=lN.from(e,t),t=""),s=!0),k2e(this,e,t,!1,s)};kn.prototype.unshift=function(e){return k2e(this,e,null,!0,!1)};function k2e(e,t,r,s,a){un("readableAddChunk",t);var n=e._readableState;if(t===null)n.reading=!1,mdt(e,n);else{var c;if(a||(c=gdt(n,t)),c)tb(e,c);else if(n.objectMode||t&&t.length>0)if(typeof t!="string"&&!n.objectMode&&Object.getPrototypeOf(t)!==lN.prototype&&(t=sdt(t)),s)n.endEmitted?tb(e,new pdt):QY(e,n,t,!0);else if(n.ended)tb(e,new fdt);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(t=n.decoder.write(t),n.objectMode||t.length!==0?QY(e,n,t,!1):TY(e,n)):QY(e,n,t,!1)}else s||(n.reading=!1,TY(e,n))}return!n.ended&&(n.length=D2e?e=D2e:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function b2e(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=ddt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}kn.prototype.read=function(e){un("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return un("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?RY(this):uN(this),null;if(e=b2e(e,t),e===0&&t.ended)return t.length===0&&RY(this),null;var s=t.needReadable;un("need readable",s),(t.length===0||t.length-e0?a=T2e(e,t):a=null,a===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&RY(this)),a!==null&&this.emit("data",a),a};function mdt(e,t){if(un("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?uN(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,Q2e(e)))}}function uN(e){var t=e._readableState;un("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(un("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(Q2e,e))}function Q2e(e){var t=e._readableState;un("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,NY(e)}function TY(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(ydt,e,t))}function ydt(e,t){for(;!t.reading&&!t.ended&&(t.length1&&F2e(s.pipes,e)!==-1)&&!h&&(un("false write response, pause",s.awaitDrain),s.awaitDrain++),r.pause())}function S(O){un("onerror",O),T(),e.removeListener("error",S),P2e(e,"error")===0&&tb(e,O)}hdt(e,"error",S);function x(){e.removeListener("finish",I),T()}e.once("close",x);function I(){un("onfinish"),e.removeListener("close",x),T()}e.once("finish",I);function T(){un("unpipe"),r.unpipe(e)}return e.emit("pipe",r),s.flowing||(un("pipe resume"),r.resume()),e};function Edt(e){return function(){var r=e._readableState;un("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&P2e(e,"data")&&(r.flowing=!0,NY(e))}}kn.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var s=t.pipes,a=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var n=0;n0,s.flowing!==!1&&this.resume()):e==="readable"&&!s.endEmitted&&!s.readableListening&&(s.readableListening=s.needReadable=!0,s.flowing=!1,s.emittedReadable=!1,un("on readable",s.length,s.reading),s.length?uN(this):s.reading||process.nextTick(Idt,this)),r};kn.prototype.addListener=kn.prototype.on;kn.prototype.removeListener=function(e,t){var r=rb.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(R2e,this),r};kn.prototype.removeAllListeners=function(e){var t=rb.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(R2e,this),t};function R2e(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function Idt(e){un("readable nexttick read 0"),e.read(0)}kn.prototype.resume=function(){var e=this._readableState;return e.flowing||(un("resume"),e.flowing=!e.readableListening,Cdt(this,e)),e.paused=!1,this};function Cdt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(wdt,e,t))}function wdt(e,t){un("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),NY(e),t.flowing&&!t.reading&&e.read(0)}kn.prototype.pause=function(){return un("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(un("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function NY(e){var t=e._readableState;for(un("flow",t.flowing);t.flowing&&e.read()!==null;);}kn.prototype.wrap=function(e){var t=this,r=this._readableState,s=!1;e.on("end",function(){if(un("wrapped end"),r.decoder&&!r.ended){var c=r.decoder.end();c&&c.length&&t.push(c)}t.push(null)}),e.on("data",function(c){if(un("wrapped data"),r.decoder&&(c=r.decoder.write(c)),!(r.objectMode&&c==null)&&!(!r.objectMode&&(!c||!c.length))){var f=t.push(c);f||(s=!0,e.pause())}});for(var a in e)this[a]===void 0&&typeof e[a]=="function"&&(this[a]=function(f){return function(){return e[f].apply(e,arguments)}}(a));for(var n=0;n=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function RY(e){var t=e._readableState;un("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(Bdt,t,e))}function Bdt(e,t){if(un("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(kn.from=function(e,t){return xY===void 0&&(xY=S2e()),xY(kn,e,t)});function F2e(e,t){for(var r=0,s=e.length;r{"use strict";L2e.exports=ah;var fN=og().codes,vdt=fN.ERR_METHOD_NOT_IMPLEMENTED,Sdt=fN.ERR_MULTIPLE_CALLBACK,Ddt=fN.ERR_TRANSFORM_ALREADY_TRANSFORMING,bdt=fN.ERR_TRANSFORM_WITH_LENGTH_0,AN=Km();ag()(ah,AN);function Pdt(e,t){var r=this._transformState;r.transforming=!1;var s=r.writecb;if(s===null)return this.emit("error",new Sdt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),s(e);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";U2e.exports=nb;var M2e=OY();ag()(nb,M2e);function nb(e){if(!(this instanceof nb))return new nb(e);M2e.call(this,e)}nb.prototype._transform=function(e,t,r){r(null,e)}});var W2e=G((p$t,q2e)=>{"use strict";var LY;function kdt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var G2e=og().codes,Qdt=G2e.ERR_MISSING_ARGS,Rdt=G2e.ERR_STREAM_DESTROYED;function H2e(e){if(e)throw e}function Tdt(e){return e.setHeader&&typeof e.abort=="function"}function Fdt(e,t,r,s){s=kdt(s);var a=!1;e.on("close",function(){a=!0}),LY===void 0&&(LY=sN()),LY(e,{readable:t,writable:r},function(c){if(c)return s(c);a=!0,s()});var n=!1;return function(c){if(!a&&!n){if(n=!0,Tdt(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();s(c||new Rdt("pipe"))}}}function j2e(e){e()}function Ndt(e,t){return e.pipe(t)}function Odt(e){return!e.length||typeof e[e.length-1]!="function"?H2e:e.pop()}function Ldt(){for(var e=arguments.length,t=new Array(e),r=0;r0;return Fdt(c,p,h,function(E){a||(a=E),E&&n.forEach(j2e),!p&&(n.forEach(j2e),s(a))})});return t.reduce(Ndt)}q2e.exports=Ldt});var xw=G((zc,sb)=>{var ib=Ie("stream");process.env.READABLE_STREAM==="disable"&&ib?(sb.exports=ib.Readable,Object.assign(sb.exports,ib),sb.exports.Stream=ib):(zc=sb.exports=CY(),zc.Stream=ib||zc,zc.Readable=zc,zc.Writable=yY(),zc.Duplex=Km(),zc.Transform=OY(),zc.PassThrough=_2e(),zc.finished=sN(),zc.pipeline=W2e())});var J2e=G((h$t,V2e)=>{"use strict";var{Buffer:Af}=Ie("buffer"),Y2e=Symbol.for("BufferList");function wi(e){if(!(this instanceof wi))return new wi(e);wi._init.call(this,e)}wi._init=function(t){Object.defineProperty(this,Y2e,{value:!0}),this._bufs=[],this.length=0,t&&this.append(t)};wi.prototype._new=function(t){return new wi(t)};wi.prototype._offset=function(t){if(t===0)return[0,0];let r=0;for(let s=0;sthis.length||t<0)return;let r=this._offset(t);return this._bufs[r[0]][r[1]]};wi.prototype.slice=function(t,r){return typeof t=="number"&&t<0&&(t+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,t,r)};wi.prototype.copy=function(t,r,s,a){if((typeof s!="number"||s<0)&&(s=0),(typeof a!="number"||a>this.length)&&(a=this.length),s>=this.length||a<=0)return t||Af.alloc(0);let n=!!t,c=this._offset(s),f=a-s,p=f,h=n&&r||0,E=c[1];if(s===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:Af.concat(this._bufs,this.length);for(let C=0;CS)this._bufs[C].copy(t,h,E),h+=S;else{this._bufs[C].copy(t,h,E,E+p),h+=S;break}p-=S,E&&(E=0)}return t.length>h?t.slice(0,h):t};wi.prototype.shallowSlice=function(t,r){if(t=t||0,r=typeof r!="number"?this.length:r,t<0&&(t+=this.length),r<0&&(r+=this.length),t===r)return this._new();let s=this._offset(t),a=this._offset(r),n=this._bufs.slice(s[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),s[1]!==0&&(n[0]=n[0].slice(s[1])),this._new(n)};wi.prototype.toString=function(t,r,s){return this.slice(r,s).toString(t)};wi.prototype.consume=function(t){if(t=Math.trunc(t),Number.isNaN(t)||t<=0)return this;for(;this._bufs.length;)if(t>=this._bufs[0].length)t-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(t),this.length-=t;break}return this};wi.prototype.duplicate=function(){let t=this._new();for(let r=0;rthis.length?this.length:t;let s=this._offset(t),a=s[0],n=s[1];for(;a=e.length){let p=c.indexOf(e,n);if(p!==-1)return this._reverseOffset([a,p]);n=c.length-e.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,e))return p;n++}n=0}return-1};wi.prototype._match=function(e,t){if(this.length-e{"use strict";var MY=xw().Duplex,Mdt=ag(),ob=J2e();function aa(e){if(!(this instanceof aa))return new aa(e);if(typeof e=="function"){this._callback=e;let t=function(s){this._callback&&(this._callback(s),this._callback=null)}.bind(this);this.on("pipe",function(s){s.on("error",t)}),this.on("unpipe",function(s){s.removeListener("error",t)}),e=null}ob._init.call(this,e),MY.call(this)}Mdt(aa,MY);Object.assign(aa.prototype,ob.prototype);aa.prototype._new=function(t){return new aa(t)};aa.prototype._write=function(t,r,s){this._appendBuffer(t),typeof s=="function"&&s()};aa.prototype._read=function(t){if(!this.length)return this.push(null);t=Math.min(t,this.length),this.push(this.slice(0,t)),this.consume(t)};aa.prototype.end=function(t){MY.prototype.end.call(this,t),this._callback&&(this._callback(null,this.slice()),this._callback=null)};aa.prototype._destroy=function(t,r){this._bufs.length=0,this.length=0,r(t)};aa.prototype._isBufferList=function(t){return t instanceof aa||t instanceof ob||aa.isBufferList(t)};aa.isBufferList=ob.isBufferList;pN.exports=aa;pN.exports.BufferListStream=aa;pN.exports.BufferList=ob});var HY=G(Qw=>{var Udt=Buffer.alloc,_dt="0000000000000000000",Hdt="7777777777777777777",z2e=48,X2e=Buffer.from("ustar\0","binary"),jdt=Buffer.from("00","binary"),Gdt=Buffer.from("ustar ","binary"),qdt=Buffer.from(" \0","binary"),Wdt=parseInt("7777",8),ab=257,_Y=263,Ydt=function(e,t,r){return typeof e!="number"?r:(e=~~e,e>=t?t:e>=0||(e+=t,e>=0)?e:0)},Vdt=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},Jdt=function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Z2e=function(e,t,r,s){for(;rt?Hdt.slice(0,t)+" ":_dt.slice(0,t-e.length)+e+" "};function Kdt(e){var t;if(e[0]===128)t=!0;else if(e[0]===255)t=!1;else return null;for(var r=[],s=e.length-1;s>0;s--){var a=e[s];t?r.push(a):r.push(255-a)}var n=0,c=r.length;for(s=0;s=Math.pow(10,r)&&r++,t+r+e};Qw.decodeLongPath=function(e,t){return kw(e,0,e.length,t)};Qw.encodePax=function(e){var t="";e.name&&(t+=UY(" path="+e.name+` +`)),e.linkname&&(t+=UY(" linkpath="+e.linkname+` +`));var r=e.pax;if(r)for(var s in r)t+=UY(" "+s+"="+r[s]+` +`);return Buffer.from(t)};Qw.decodePax=function(e){for(var t={};e.length;){for(var r=0;r100;){var a=r.indexOf("/");if(a===-1)return null;s+=s?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(s)>155||e.linkname&&Buffer.byteLength(e.linkname)>100?null:(t.write(r),t.write(Ag(e.mode&Wdt,6),100),t.write(Ag(e.uid,6),108),t.write(Ag(e.gid,6),116),t.write(Ag(e.size,11),124),t.write(Ag(e.mtime.getTime()/1e3|0,11),136),t[156]=z2e+Jdt(e.type),e.linkname&&t.write(e.linkname,157),X2e.copy(t,ab),jdt.copy(t,_Y),e.uname&&t.write(e.uname,265),e.gname&&t.write(e.gname,297),t.write(Ag(e.devmajor||0,6),329),t.write(Ag(e.devminor||0,6),337),s&&t.write(s,345),t.write(Ag($2e(t),6),148),t)};Qw.decode=function(e,t,r){var s=e[156]===0?0:e[156]-z2e,a=kw(e,0,100,t),n=pg(e,100,8),c=pg(e,108,8),f=pg(e,116,8),p=pg(e,124,12),h=pg(e,136,12),E=Vdt(s),C=e[157]===0?null:kw(e,157,100,t),S=kw(e,265,32),x=kw(e,297,32),I=pg(e,329,8),T=pg(e,337,8),O=$2e(e);if(O===8*32)return null;if(O!==pg(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(X2e.compare(e,ab,ab+6)===0)e[345]&&(a=kw(e,345,155,t)+"/"+a);else if(!(Gdt.compare(e,ab,ab+6)===0&&qdt.compare(e,_Y,_Y+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return s===0&&a&&a[a.length-1]==="/"&&(s=5),{name:a,mode:n,uid:c,gid:f,size:p,mtime:new Date(1e3*h),type:E,linkname:C,uname:S,gname:x,devmajor:I,devminor:T}}});var oBe=G((m$t,sBe)=>{var tBe=Ie("util"),zdt=K2e(),lb=HY(),rBe=xw().Writable,nBe=xw().PassThrough,iBe=function(){},eBe=function(e){return e&=511,e&&512-e},Xdt=function(e,t){var r=new hN(e,t);return r.end(),r},Zdt=function(e,t){return t.path&&(e.name=t.path),t.linkpath&&(e.linkname=t.linkpath),t.size&&(e.size=parseInt(t.size,10)),e.pax=t,e},hN=function(e,t){this._parent=e,this.offset=t,nBe.call(this,{autoDestroy:!1})};tBe.inherits(hN,nBe);hN.prototype.destroy=function(e){this._parent.destroy(e)};var lh=function(e){if(!(this instanceof lh))return new lh(e);rBe.call(this,e),e=e||{},this._offset=0,this._buffer=zdt(),this._missing=0,this._partial=!1,this._onparse=iBe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var t=this,r=t._buffer,s=function(){t._continue()},a=function(S){if(t._locked=!1,S)return t.destroy(S);t._stream||s()},n=function(){t._stream=null;var S=eBe(t._header.size);S?t._parse(S,c):t._parse(512,C),t._locked||s()},c=function(){t._buffer.consume(eBe(t._header.size)),t._parse(512,C),s()},f=function(){var S=t._header.size;t._paxGlobal=lb.decodePax(r.slice(0,S)),r.consume(S),n()},p=function(){var S=t._header.size;t._pax=lb.decodePax(r.slice(0,S)),t._paxGlobal&&(t._pax=Object.assign({},t._paxGlobal,t._pax)),r.consume(S),n()},h=function(){var S=t._header.size;this._gnuLongPath=lb.decodeLongPath(r.slice(0,S),e.filenameEncoding),r.consume(S),n()},E=function(){var S=t._header.size;this._gnuLongLinkPath=lb.decodeLongPath(r.slice(0,S),e.filenameEncoding),r.consume(S),n()},C=function(){var S=t._offset,x;try{x=t._header=lb.decode(r.slice(0,512),e.filenameEncoding,e.allowUnknownFormat)}catch(I){t.emit("error",I)}if(r.consume(512),!x){t._parse(512,C),s();return}if(x.type==="gnu-long-path"){t._parse(x.size,h),s();return}if(x.type==="gnu-long-link-path"){t._parse(x.size,E),s();return}if(x.type==="pax-global-header"){t._parse(x.size,f),s();return}if(x.type==="pax-header"){t._parse(x.size,p),s();return}if(t._gnuLongPath&&(x.name=t._gnuLongPath,t._gnuLongPath=null),t._gnuLongLinkPath&&(x.linkname=t._gnuLongLinkPath,t._gnuLongLinkPath=null),t._pax&&(t._header=x=Zdt(x,t._pax),t._pax=null),t._locked=!0,!x.size||x.type==="directory"){t._parse(512,C),t.emit("entry",x,Xdt(t,S),a);return}t._stream=new hN(t,S),t.emit("entry",x,t._stream,a),t._parse(x.size,n),s()};this._onheader=C,this._parse(512,C)};tBe.inherits(lh,rBe);lh.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.emit("close"))};lh.prototype._parse=function(e,t){this._destroyed||(this._offset+=e,this._missing=e,t===this._onheader&&(this._partial=!1),this._onparse=t)};lh.prototype._continue=function(){if(!this._destroyed){var e=this._cb;this._cb=iBe,this._overflow?this._write(this._overflow,void 0,e):e()}};lh.prototype._write=function(e,t,r){if(!this._destroyed){var s=this._stream,a=this._buffer,n=this._missing;if(e.length&&(this._partial=!0),e.lengthn&&(c=e.slice(n),e=e.slice(0,n)),s?s.end(e):a.append(e),this._overflow=c,this._onparse()}};lh.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()};sBe.exports=lh});var lBe=G((y$t,aBe)=>{aBe.exports=Ie("fs").constants||Ie("constants")});var pBe=G((E$t,ABe)=>{var Rw=lBe(),cBe=z8(),dN=ag(),$dt=Buffer.alloc,uBe=xw().Readable,Tw=xw().Writable,emt=Ie("string_decoder").StringDecoder,gN=HY(),tmt=parseInt("755",8),rmt=parseInt("644",8),fBe=$dt(1024),GY=function(){},jY=function(e,t){t&=511,t&&e.push(fBe.slice(0,512-t))};function nmt(e){switch(e&Rw.S_IFMT){case Rw.S_IFBLK:return"block-device";case Rw.S_IFCHR:return"character-device";case Rw.S_IFDIR:return"directory";case Rw.S_IFIFO:return"fifo";case Rw.S_IFLNK:return"symlink"}return"file"}var mN=function(e){Tw.call(this),this.written=0,this._to=e,this._destroyed=!1};dN(mN,Tw);mN.prototype._write=function(e,t,r){if(this.written+=e.length,this._to.push(e))return r();this._to._drain=r};mN.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var yN=function(){Tw.call(this),this.linkname="",this._decoder=new emt("utf-8"),this._destroyed=!1};dN(yN,Tw);yN.prototype._write=function(e,t,r){this.linkname+=this._decoder.write(e),r()};yN.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var ub=function(){Tw.call(this),this._destroyed=!1};dN(ub,Tw);ub.prototype._write=function(e,t,r){r(new Error("No body allowed for this entry"))};ub.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var EA=function(e){if(!(this instanceof EA))return new EA(e);uBe.call(this,e),this._drain=GY,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};dN(EA,uBe);EA.prototype.entry=function(e,t,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof t=="function"&&(r=t,t=null),r||(r=GY);var s=this;if((!e.size||e.type==="symlink")&&(e.size=0),e.type||(e.type=nmt(e.mode)),e.mode||(e.mode=e.type==="directory"?tmt:rmt),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),typeof t=="string"&&(t=Buffer.from(t)),Buffer.isBuffer(t)){e.size=t.length,this._encode(e);var a=this.push(t);return jY(s,e.size),a?process.nextTick(r):this._drain=r,new ub}if(e.type==="symlink"&&!e.linkname){var n=new yN;return cBe(n,function(f){if(f)return s.destroy(),r(f);e.linkname=n.linkname,s._encode(e),r()}),n}if(this._encode(e),e.type!=="file"&&e.type!=="contiguous-file")return process.nextTick(r),new ub;var c=new mN(this);return this._stream=c,cBe(c,function(f){if(s._stream=null,f)return s.destroy(),r(f);if(c.written!==e.size)return s.destroy(),r(new Error("size mismatch"));jY(s,e.size),s._finalizing&&s.finalize(),r()}),c}};EA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(fBe),this.push(null))};EA.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};EA.prototype._encode=function(e){if(!e.pax){var t=gN.encode(e);if(t){this.push(t);return}}this._encodePax(e)};EA.prototype._encodePax=function(e){var t=gN.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),r={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(gN.encode(r)),this.push(t),jY(this,t.length),r.size=e.size,r.type=e.type,this.push(gN.encode(r))};EA.prototype._read=function(e){var t=this._drain;this._drain=GY,t()};ABe.exports=EA});var hBe=G(qY=>{qY.extract=oBe();qY.pack=pBe()});var bBe=G(Ua=>{"use strict";var dmt=Ua&&Ua.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ua,"__esModule",{value:!0});Ua.Minipass=Ua.isWritable=Ua.isReadable=Ua.isStream=void 0;var wBe=typeof process=="object"&&process?process:{stdout:null,stderr:null},rV=Ie("node:events"),DBe=dmt(Ie("node:stream")),mmt=Ie("node:string_decoder"),ymt=e=>!!e&&typeof e=="object"&&(e instanceof bN||e instanceof DBe.default||(0,Ua.isReadable)(e)||(0,Ua.isWritable)(e));Ua.isStream=ymt;var Emt=e=>!!e&&typeof e=="object"&&e instanceof rV.EventEmitter&&typeof e.pipe=="function"&&e.pipe!==DBe.default.Writable.prototype.pipe;Ua.isReadable=Emt;var Imt=e=>!!e&&typeof e=="object"&&e instanceof rV.EventEmitter&&typeof e.write=="function"&&typeof e.end=="function";Ua.isWritable=Imt;var ch=Symbol("EOF"),uh=Symbol("maybeEmitEnd"),hg=Symbol("emittedEnd"),CN=Symbol("emittingEnd"),fb=Symbol("emittedError"),wN=Symbol("closed"),BBe=Symbol("read"),BN=Symbol("flush"),vBe=Symbol("flushChunk"),pf=Symbol("encoding"),Nw=Symbol("decoder"),to=Symbol("flowing"),Ab=Symbol("paused"),Ow=Symbol("resume"),ro=Symbol("buffer"),Ma=Symbol("pipes"),no=Symbol("bufferLength"),zY=Symbol("bufferPush"),vN=Symbol("bufferShift"),la=Symbol("objectMode"),rs=Symbol("destroyed"),XY=Symbol("error"),ZY=Symbol("emitData"),SBe=Symbol("emitEnd"),$Y=Symbol("emitEnd2"),CA=Symbol("async"),eV=Symbol("abort"),SN=Symbol("aborted"),pb=Symbol("signal"),$m=Symbol("dataListeners"),ic=Symbol("discarded"),hb=e=>Promise.resolve().then(e),Cmt=e=>e(),wmt=e=>e==="end"||e==="finish"||e==="prefinish",Bmt=e=>e instanceof ArrayBuffer||!!e&&typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,vmt=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),DN=class{src;dest;opts;ondrain;constructor(t,r,s){this.src=t,this.dest=r,this.opts=s,this.ondrain=()=>t[Ow](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},tV=class extends DN{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,r,s){super(t,r,s),this.proxyErrors=a=>r.emit("error",a),t.on("error",this.proxyErrors)}},Smt=e=>!!e.objectMode,Dmt=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer",bN=class extends rV.EventEmitter{[to]=!1;[Ab]=!1;[Ma]=[];[ro]=[];[la];[pf];[CA];[Nw];[ch]=!1;[hg]=!1;[CN]=!1;[wN]=!1;[fb]=null;[no]=0;[rs]=!1;[pb];[SN]=!1;[$m]=0;[ic]=!1;writable=!0;readable=!0;constructor(...t){let r=t[0]||{};if(super(),r.objectMode&&typeof r.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");Smt(r)?(this[la]=!0,this[pf]=null):Dmt(r)?(this[pf]=r.encoding,this[la]=!1):(this[la]=!1,this[pf]=null),this[CA]=!!r.async,this[Nw]=this[pf]?new mmt.StringDecoder(this[pf]):null,r&&r.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[ro]}),r&&r.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[Ma]});let{signal:s}=r;s&&(this[pb]=s,s.aborted?this[eV]():s.addEventListener("abort",()=>this[eV]()))}get bufferLength(){return this[no]}get encoding(){return this[pf]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[la]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[CA]}set async(t){this[CA]=this[CA]||!!t}[eV](){this[SN]=!0,this.emit("abort",this[pb]?.reason),this.destroy(this[pb]?.reason)}get aborted(){return this[SN]}set aborted(t){}write(t,r,s){if(this[SN])return!1;if(this[ch])throw new Error("write after end");if(this[rs])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(s=r,r="utf8"),r||(r="utf8");let a=this[CA]?hb:Cmt;if(!this[la]&&!Buffer.isBuffer(t)){if(vmt(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(Bmt(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[la]?(this[to]&&this[no]!==0&&this[BN](!0),this[to]?this.emit("data",t):this[zY](t),this[no]!==0&&this.emit("readable"),s&&a(s),this[to]):t.length?(typeof t=="string"&&!(r===this[pf]&&!this[Nw]?.lastNeed)&&(t=Buffer.from(t,r)),Buffer.isBuffer(t)&&this[pf]&&(t=this[Nw].write(t)),this[to]&&this[no]!==0&&this[BN](!0),this[to]?this.emit("data",t):this[zY](t),this[no]!==0&&this.emit("readable"),s&&a(s),this[to]):(this[no]!==0&&this.emit("readable"),s&&a(s),this[to])}read(t){if(this[rs])return null;if(this[ic]=!1,this[no]===0||t===0||t&&t>this[no])return this[uh](),null;this[la]&&(t=null),this[ro].length>1&&!this[la]&&(this[ro]=[this[pf]?this[ro].join(""):Buffer.concat(this[ro],this[no])]);let r=this[BBe](t||null,this[ro][0]);return this[uh](),r}[BBe](t,r){if(this[la])this[vN]();else{let s=r;t===s.length||t===null?this[vN]():typeof s=="string"?(this[ro][0]=s.slice(t),r=s.slice(0,t),this[no]-=t):(this[ro][0]=s.subarray(t),r=s.subarray(0,t),this[no]-=t)}return this.emit("data",r),!this[ro].length&&!this[ch]&&this.emit("drain"),r}end(t,r,s){return typeof t=="function"&&(s=t,t=void 0),typeof r=="function"&&(s=r,r="utf8"),t!==void 0&&this.write(t,r),s&&this.once("end",s),this[ch]=!0,this.writable=!1,(this[to]||!this[Ab])&&this[uh](),this}[Ow](){this[rs]||(!this[$m]&&!this[Ma].length&&(this[ic]=!0),this[Ab]=!1,this[to]=!0,this.emit("resume"),this[ro].length?this[BN]():this[ch]?this[uh]():this.emit("drain"))}resume(){return this[Ow]()}pause(){this[to]=!1,this[Ab]=!0,this[ic]=!1}get destroyed(){return this[rs]}get flowing(){return this[to]}get paused(){return this[Ab]}[zY](t){this[la]?this[no]+=1:this[no]+=t.length,this[ro].push(t)}[vN](){return this[la]?this[no]-=1:this[no]-=this[ro][0].length,this[ro].shift()}[BN](t=!1){do;while(this[vBe](this[vN]())&&this[ro].length);!t&&!this[ro].length&&!this[ch]&&this.emit("drain")}[vBe](t){return this.emit("data",t),this[to]}pipe(t,r){if(this[rs])return t;this[ic]=!1;let s=this[hg];return r=r||{},t===wBe.stdout||t===wBe.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,s?r.end&&t.end():(this[Ma].push(r.proxyErrors?new tV(this,t,r):new DN(this,t,r)),this[CA]?hb(()=>this[Ow]()):this[Ow]()),t}unpipe(t){let r=this[Ma].find(s=>s.dest===t);r&&(this[Ma].length===1?(this[to]&&this[$m]===0&&(this[to]=!1),this[Ma]=[]):this[Ma].splice(this[Ma].indexOf(r),1),r.unpipe())}addListener(t,r){return this.on(t,r)}on(t,r){let s=super.on(t,r);if(t==="data")this[ic]=!1,this[$m]++,!this[Ma].length&&!this[to]&&this[Ow]();else if(t==="readable"&&this[no]!==0)super.emit("readable");else if(wmt(t)&&this[hg])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[fb]){let a=r;this[CA]?hb(()=>a.call(this,this[fb])):a.call(this,this[fb])}return s}removeListener(t,r){return this.off(t,r)}off(t,r){let s=super.off(t,r);return t==="data"&&(this[$m]=this.listeners("data").length,this[$m]===0&&!this[ic]&&!this[Ma].length&&(this[to]=!1)),s}removeAllListeners(t){let r=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[$m]=0,!this[ic]&&!this[Ma].length&&(this[to]=!1)),r}get emittedEnd(){return this[hg]}[uh](){!this[CN]&&!this[hg]&&!this[rs]&&this[ro].length===0&&this[ch]&&(this[CN]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[wN]&&this.emit("close"),this[CN]=!1)}emit(t,...r){let s=r[0];if(t!=="error"&&t!=="close"&&t!==rs&&this[rs])return!1;if(t==="data")return!this[la]&&!s?!1:this[CA]?(hb(()=>this[ZY](s)),!0):this[ZY](s);if(t==="end")return this[SBe]();if(t==="close"){if(this[wN]=!0,!this[hg]&&!this[rs])return!1;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(t==="error"){this[fb]=s,super.emit(XY,s);let n=!this[pb]||this.listeners("error").length?super.emit("error",s):!1;return this[uh](),n}else if(t==="resume"){let n=super.emit("resume");return this[uh](),n}else if(t==="finish"||t==="prefinish"){let n=super.emit(t);return this.removeAllListeners(t),n}let a=super.emit(t,...r);return this[uh](),a}[ZY](t){for(let s of this[Ma])s.dest.write(t)===!1&&this.pause();let r=this[ic]?!1:super.emit("data",t);return this[uh](),r}[SBe](){return this[hg]?!1:(this[hg]=!0,this.readable=!1,this[CA]?(hb(()=>this[$Y]()),!0):this[$Y]())}[$Y](){if(this[Nw]){let r=this[Nw].end();if(r){for(let s of this[Ma])s.dest.write(r);this[ic]||super.emit("data",r)}}for(let r of this[Ma])r.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[la]||(t.dataLength=0);let r=this.promise();return this.on("data",s=>{t.push(s),this[la]||(t.dataLength+=s.length)}),await r,t}async concat(){if(this[la])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[pf]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise((t,r)=>{this.on(rs,()=>r(new Error("stream destroyed"))),this.on("error",s=>r(s)),this.on("end",()=>t())})}[Symbol.asyncIterator](){this[ic]=!1;let t=!1,r=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return r();let a=this.read();if(a!==null)return Promise.resolve({done:!1,value:a});if(this[ch])return r();let n,c,f=C=>{this.off("data",p),this.off("end",h),this.off(rs,E),r(),c(C)},p=C=>{this.off("error",f),this.off("end",h),this.off(rs,E),this.pause(),n({value:C,done:!!this[ch]})},h=()=>{this.off("error",f),this.off("data",p),this.off(rs,E),r(),n({done:!0,value:void 0})},E=()=>f(new Error("stream destroyed"));return new Promise((C,S)=>{c=S,n=C,this.once(rs,E),this.once("error",f),this.once("end",h),this.once("data",p)})},throw:r,return:r,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[ic]=!1;let t=!1,r=()=>(this.pause(),this.off(XY,r),this.off(rs,r),this.off("end",r),t=!0,{done:!0,value:void 0}),s=()=>{if(t)return r();let a=this.read();return a===null?r():{done:!1,value:a}};return this.once("end",r),this.once(XY,r),this.once(rs,r),{next:s,throw:r,return:r,[Symbol.iterator](){return this}}}destroy(t){if(this[rs])return t?this.emit("error",t):this.emit(rs),this;this[rs]=!0,this[ic]=!0,this[ro].length=0,this[no]=0;let r=this;return typeof r.close=="function"&&!this[wN]&&r.close(),t?this.emit("error",t):this.emit(rs),this}static get isStream(){return Ua.isStream}};Ua.Minipass=bN});var kBe=G((_$t,wA)=>{"use strict";var db=Ie("crypto"),{Minipass:bmt}=bBe(),iV=["sha512","sha384","sha256"],oV=["sha512"],Pmt=/^[a-z0-9+/]+(?:=?=?)$/i,xmt=/^([a-z0-9]+)-([^?]+)([?\S*]*)$/,kmt=/^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/,Qmt=/^[\x21-\x7E]+$/,mb=e=>e?.length?`?${e.join("?")}`:"",sV=class extends bmt{#e;#t;#s;constructor(t){super(),this.size=0,this.opts=t,this.#r(),t?.algorithms?this.algorithms=[...t.algorithms]:this.algorithms=[...oV],this.algorithm!==null&&!this.algorithms.includes(this.algorithm)&&this.algorithms.push(this.algorithm),this.hashes=this.algorithms.map(db.createHash)}#r(){this.sri=this.opts?.integrity?sc(this.opts?.integrity,this.opts):null,this.expectedSize=this.opts?.size,this.sri?this.sri.isHash?(this.goodSri=!0,this.algorithm=this.sri.algorithm):(this.goodSri=!this.sri.isEmpty(),this.algorithm=this.sri.pickAlgorithm(this.opts)):this.algorithm=null,this.digests=this.goodSri?this.sri[this.algorithm]:null,this.optString=mb(this.opts?.options)}on(t,r){return t==="size"&&this.#t?r(this.#t):t==="integrity"&&this.#e?r(this.#e):t==="verified"&&this.#s?r(this.#s):super.on(t,r)}emit(t,r){return t==="end"&&this.#i(),super.emit(t,r)}write(t){return this.size+=t.length,this.hashes.forEach(r=>r.update(t)),super.write(t)}#i(){this.goodSri||this.#r();let t=sc(this.hashes.map((s,a)=>`${this.algorithms[a]}-${s.digest("base64")}${this.optString}`).join(" "),this.opts),r=this.goodSri&&t.match(this.sri,this.opts);if(typeof this.expectedSize=="number"&&this.size!==this.expectedSize){let s=new Error(`stream size mismatch when checking ${this.sri}. + Wanted: ${this.expectedSize} + Found: ${this.size}`);s.code="EBADSIZE",s.found=this.size,s.expected=this.expectedSize,s.sri=this.sri,this.emit("error",s)}else if(this.sri&&!r){let s=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${t}. (${this.size} bytes)`);s.code="EINTEGRITY",s.found=t,s.expected=this.digests,s.algorithm=this.algorithm,s.sri=this.sri,this.emit("error",s)}else this.#t=this.size,this.emit("size",this.size),this.#e=t,this.emit("integrity",t),r&&(this.#s=r,this.emit("verified",r))}},fh=class{get isHash(){return!0}constructor(t,r){let s=r?.strict;this.source=t.trim(),this.digest="",this.algorithm="",this.options=[];let a=this.source.match(s?kmt:xmt);if(!a||s&&!iV.includes(a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];n&&(this.options=n.slice(1).split("?"))}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}match(t,r){let s=sc(t,r);if(!s)return!1;if(s.isIntegrity){let a=s.pickAlgorithm(r,[this.algorithm]);if(!a)return!1;let n=s[a].find(c=>c.digest===this.digest);return n||!1}return s.digest===this.digest?s:!1}toString(t){return t?.strict&&!(iV.includes(this.algorithm)&&this.digest.match(Pmt)&&this.options.every(r=>r.match(Qmt)))?"":`${this.algorithm}-${this.digest}${mb(this.options)}`}};function PBe(e,t,r,s){let a=e!=="",n=!1,c="",f=s.length-1;for(let h=0;hs[a].find(c=>n.digest===c.digest)))throw new Error("hashes do not match, cannot update integrity")}else this[a]=s[a]}match(t,r){let s=sc(t,r);if(!s)return!1;let a=s.pickAlgorithm(r,Object.keys(this));return!!a&&this[a]&&s[a]&&this[a].find(n=>s[a].find(c=>n.digest===c.digest))||!1}pickAlgorithm(t,r){let s=t?.pickAlgorithm||Umt,a=Object.keys(this).filter(n=>r?.length?r.includes(n):!0);return a.length?a.reduce((n,c)=>s(n,c)||n):null}};wA.exports.parse=sc;function sc(e,t){if(!e)return null;if(typeof e=="string")return nV(e,t);if(e.algorithm&&e.digest){let r=new ey;return r[e.algorithm]=[e],nV(gb(r,t),t)}else return nV(gb(e,t),t)}function nV(e,t){if(t?.single)return new fh(e,t);let r=e.trim().split(/\s+/).reduce((s,a)=>{let n=new fh(a,t);if(n.algorithm&&n.digest){let c=n.algorithm;s[c]||(s[c]=[]),s[c].push(n)}return s},new ey);return r.isEmpty()?null:r}wA.exports.stringify=gb;function gb(e,t){return e.algorithm&&e.digest?fh.prototype.toString.call(e,t):typeof e=="string"?gb(sc(e,t),t):ey.prototype.toString.call(e,t)}wA.exports.fromHex=Rmt;function Rmt(e,t,r){let s=mb(r?.options);return sc(`${t}-${Buffer.from(e,"hex").toString("base64")}${s}`,r)}wA.exports.fromData=Tmt;function Tmt(e,t){let r=t?.algorithms||[...oV],s=mb(t?.options);return r.reduce((a,n)=>{let c=db.createHash(n).update(e).digest("base64"),f=new fh(`${n}-${c}${s}`,t);if(f.algorithm&&f.digest){let p=f.algorithm;a[p]||(a[p]=[]),a[p].push(f)}return a},new ey)}wA.exports.fromStream=Fmt;function Fmt(e,t){let r=aV(t);return new Promise((s,a)=>{e.pipe(r),e.on("error",a),r.on("error",a);let n;r.on("integrity",c=>{n=c}),r.on("end",()=>s(n)),r.resume()})}wA.exports.checkData=Nmt;function Nmt(e,t,r){if(t=sc(t,r),!t||!Object.keys(t).length){if(r?.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let s=t.pickAlgorithm(r),a=db.createHash(s).update(e).digest("base64"),n=sc({algorithm:s,digest:a}),c=n.match(t,r);if(r=r||{},c||!r.error)return c;if(typeof r.size=="number"&&e.length!==r.size){let f=new Error(`data size mismatch when checking ${t}. + Wanted: ${r.size} + Found: ${e.length}`);throw f.code="EBADSIZE",f.found=e.length,f.expected=r.size,f.sri=t,f}else{let f=new Error(`Integrity checksum failed when using ${s}: Wanted ${t}, but got ${n}. (${e.length} bytes)`);throw f.code="EINTEGRITY",f.found=n,f.expected=t,f.algorithm=s,f.sri=t,f}}wA.exports.checkStream=Omt;function Omt(e,t,r){if(r=r||Object.create(null),r.integrity=t,t=sc(t,r),!t||!Object.keys(t).length)return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}));let s=aV(r);return new Promise((a,n)=>{e.pipe(s),e.on("error",n),s.on("error",n);let c;s.on("verified",f=>{c=f}),s.on("end",()=>a(c)),s.resume()})}wA.exports.integrityStream=aV;function aV(e=Object.create(null)){return new sV(e)}wA.exports.create=Lmt;function Lmt(e){let t=e?.algorithms||[...oV],r=mb(e?.options),s=t.map(db.createHash);return{update:function(a,n){return s.forEach(c=>c.update(a,n)),this},digest:function(){return t.reduce((n,c)=>{let f=s.shift().digest("base64"),p=new fh(`${c}-${f}${r}`,e);if(p.algorithm&&p.digest){let h=p.algorithm;n[h]||(n[h]=[]),n[h].push(p)}return n},new ey)}}}var Mmt=db.getHashes(),xBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>Mmt.includes(e));function Umt(e,t){return xBe.indexOf(e.toLowerCase())>=xBe.indexOf(t.toLowerCase())?e:t}});var lV=G(gg=>{"use strict";Object.defineProperty(gg,"__esModule",{value:!0});gg.Signature=gg.Envelope=void 0;gg.Envelope={fromJSON(e){return{payload:PN(e.payload)?Buffer.from(QBe(e.payload)):Buffer.alloc(0),payloadType:PN(e.payloadType)?globalThis.String(e.payloadType):"",signatures:globalThis.Array.isArray(e?.signatures)?e.signatures.map(t=>gg.Signature.fromJSON(t)):[]}},toJSON(e){let t={};return e.payload.length!==0&&(t.payload=RBe(e.payload)),e.payloadType!==""&&(t.payloadType=e.payloadType),e.signatures?.length&&(t.signatures=e.signatures.map(r=>gg.Signature.toJSON(r))),t}};gg.Signature={fromJSON(e){return{sig:PN(e.sig)?Buffer.from(QBe(e.sig)):Buffer.alloc(0),keyid:PN(e.keyid)?globalThis.String(e.keyid):""}},toJSON(e){let t={};return e.sig.length!==0&&(t.sig=RBe(e.sig)),e.keyid!==""&&(t.keyid=e.keyid),t}};function QBe(e){return Uint8Array.from(globalThis.Buffer.from(e,"base64"))}function RBe(e){return globalThis.Buffer.from(e).toString("base64")}function PN(e){return e!=null}});var FBe=G(xN=>{"use strict";Object.defineProperty(xN,"__esModule",{value:!0});xN.Timestamp=void 0;xN.Timestamp={fromJSON(e){return{seconds:TBe(e.seconds)?globalThis.String(e.seconds):"0",nanos:TBe(e.nanos)?globalThis.Number(e.nanos):0}},toJSON(e){let t={};return e.seconds!=="0"&&(t.seconds=e.seconds),e.nanos!==0&&(t.nanos=Math.round(e.nanos)),t}};function TBe(e){return e!=null}});var Lw=G(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.TimeRange=Ur.X509CertificateChain=Ur.SubjectAlternativeName=Ur.X509Certificate=Ur.DistinguishedName=Ur.ObjectIdentifierValuePair=Ur.ObjectIdentifier=Ur.PublicKeyIdentifier=Ur.PublicKey=Ur.RFC3161SignedTimestamp=Ur.LogId=Ur.MessageSignature=Ur.HashOutput=Ur.SubjectAlternativeNameType=Ur.PublicKeyDetails=Ur.HashAlgorithm=void 0;Ur.hashAlgorithmFromJSON=OBe;Ur.hashAlgorithmToJSON=LBe;Ur.publicKeyDetailsFromJSON=MBe;Ur.publicKeyDetailsToJSON=UBe;Ur.subjectAlternativeNameTypeFromJSON=_Be;Ur.subjectAlternativeNameTypeToJSON=HBe;var _mt=FBe(),Sl;(function(e){e[e.HASH_ALGORITHM_UNSPECIFIED=0]="HASH_ALGORITHM_UNSPECIFIED",e[e.SHA2_256=1]="SHA2_256",e[e.SHA2_384=2]="SHA2_384",e[e.SHA2_512=3]="SHA2_512",e[e.SHA3_256=4]="SHA3_256",e[e.SHA3_384=5]="SHA3_384"})(Sl||(Ur.HashAlgorithm=Sl={}));function OBe(e){switch(e){case 0:case"HASH_ALGORITHM_UNSPECIFIED":return Sl.HASH_ALGORITHM_UNSPECIFIED;case 1:case"SHA2_256":return Sl.SHA2_256;case 2:case"SHA2_384":return Sl.SHA2_384;case 3:case"SHA2_512":return Sl.SHA2_512;case 4:case"SHA3_256":return Sl.SHA3_256;case 5:case"SHA3_384":return Sl.SHA3_384;default:throw new globalThis.Error("Unrecognized enum value "+e+" for enum HashAlgorithm")}}function LBe(e){switch(e){case Sl.HASH_ALGORITHM_UNSPECIFIED:return"HASH_ALGORITHM_UNSPECIFIED";case Sl.SHA2_256:return"SHA2_256";case Sl.SHA2_384:return"SHA2_384";case Sl.SHA2_512:return"SHA2_512";case Sl.SHA3_256:return"SHA3_256";case Sl.SHA3_384:return"SHA3_384";default:throw new globalThis.Error("Unrecognized enum value "+e+" for enum HashAlgorithm")}}var sn;(function(e){e[e.PUBLIC_KEY_DETAILS_UNSPECIFIED=0]="PUBLIC_KEY_DETAILS_UNSPECIFIED",e[e.PKCS1_RSA_PKCS1V5=1]="PKCS1_RSA_PKCS1V5",e[e.PKCS1_RSA_PSS=2]="PKCS1_RSA_PSS",e[e.PKIX_RSA_PKCS1V5=3]="PKIX_RSA_PKCS1V5",e[e.PKIX_RSA_PSS=4]="PKIX_RSA_PSS",e[e.PKIX_RSA_PKCS1V15_2048_SHA256=9]="PKIX_RSA_PKCS1V15_2048_SHA256",e[e.PKIX_RSA_PKCS1V15_3072_SHA256=10]="PKIX_RSA_PKCS1V15_3072_SHA256",e[e.PKIX_RSA_PKCS1V15_4096_SHA256=11]="PKIX_RSA_PKCS1V15_4096_SHA256",e[e.PKIX_RSA_PSS_2048_SHA256=16]="PKIX_RSA_PSS_2048_SHA256",e[e.PKIX_RSA_PSS_3072_SHA256=17]="PKIX_RSA_PSS_3072_SHA256",e[e.PKIX_RSA_PSS_4096_SHA256=18]="PKIX_RSA_PSS_4096_SHA256",e[e.PKIX_ECDSA_P256_HMAC_SHA_256=6]="PKIX_ECDSA_P256_HMAC_SHA_256",e[e.PKIX_ECDSA_P256_SHA_256=5]="PKIX_ECDSA_P256_SHA_256",e[e.PKIX_ECDSA_P384_SHA_384=12]="PKIX_ECDSA_P384_SHA_384",e[e.PKIX_ECDSA_P521_SHA_512=13]="PKIX_ECDSA_P521_SHA_512",e[e.PKIX_ED25519=7]="PKIX_ED25519",e[e.PKIX_ED25519_PH=8]="PKIX_ED25519_PH",e[e.LMS_SHA256=14]="LMS_SHA256",e[e.LMOTS_SHA256=15]="LMOTS_SHA256"})(sn||(Ur.PublicKeyDetails=sn={}));function MBe(e){switch(e){case 0:case"PUBLIC_KEY_DETAILS_UNSPECIFIED":return sn.PUBLIC_KEY_DETAILS_UNSPECIFIED;case 1:case"PKCS1_RSA_PKCS1V5":return sn.PKCS1_RSA_PKCS1V5;case 2:case"PKCS1_RSA_PSS":return sn.PKCS1_RSA_PSS;case 3:case"PKIX_RSA_PKCS1V5":return sn.PKIX_RSA_PKCS1V5;case 4:case"PKIX_RSA_PSS":return sn.PKIX_RSA_PSS;case 9:case"PKIX_RSA_PKCS1V15_2048_SHA256":return sn.PKIX_RSA_PKCS1V15_2048_SHA256;case 10:case"PKIX_RSA_PKCS1V15_3072_SHA256":return sn.PKIX_RSA_PKCS1V15_3072_SHA256;case 11:case"PKIX_RSA_PKCS1V15_4096_SHA256":return sn.PKIX_RSA_PKCS1V15_4096_SHA256;case 16:case"PKIX_RSA_PSS_2048_SHA256":return sn.PKIX_RSA_PSS_2048_SHA256;case 17:case"PKIX_RSA_PSS_3072_SHA256":return sn.PKIX_RSA_PSS_3072_SHA256;case 18:case"PKIX_RSA_PSS_4096_SHA256":return sn.PKIX_RSA_PSS_4096_SHA256;case 6:case"PKIX_ECDSA_P256_HMAC_SHA_256":return sn.PKIX_ECDSA_P256_HMAC_SHA_256;case 5:case"PKIX_ECDSA_P256_SHA_256":return sn.PKIX_ECDSA_P256_SHA_256;case 12:case"PKIX_ECDSA_P384_SHA_384":return sn.PKIX_ECDSA_P384_SHA_384;case 13:case"PKIX_ECDSA_P521_SHA_512":return sn.PKIX_ECDSA_P521_SHA_512;case 7:case"PKIX_ED25519":return sn.PKIX_ED25519;case 8:case"PKIX_ED25519_PH":return sn.PKIX_ED25519_PH;case 14:case"LMS_SHA256":return sn.LMS_SHA256;case 15:case"LMOTS_SHA256":return sn.LMOTS_SHA256;default:throw new globalThis.Error("Unrecognized enum value "+e+" for enum PublicKeyDetails")}}function UBe(e){switch(e){case sn.PUBLIC_KEY_DETAILS_UNSPECIFIED:return"PUBLIC_KEY_DETAILS_UNSPECIFIED";case sn.PKCS1_RSA_PKCS1V5:return"PKCS1_RSA_PKCS1V5";case sn.PKCS1_RSA_PSS:return"PKCS1_RSA_PSS";case sn.PKIX_RSA_PKCS1V5:return"PKIX_RSA_PKCS1V5";case sn.PKIX_RSA_PSS:return"PKIX_RSA_PSS";case sn.PKIX_RSA_PKCS1V15_2048_SHA256:return"PKIX_RSA_PKCS1V15_2048_SHA256";case sn.PKIX_RSA_PKCS1V15_3072_SHA256:return"PKIX_RSA_PKCS1V15_3072_SHA256";case sn.PKIX_RSA_PKCS1V15_4096_SHA256:return"PKIX_RSA_PKCS1V15_4096_SHA256";case sn.PKIX_RSA_PSS_2048_SHA256:return"PKIX_RSA_PSS_2048_SHA256";case sn.PKIX_RSA_PSS_3072_SHA256:return"PKIX_RSA_PSS_3072_SHA256";case sn.PKIX_RSA_PSS_4096_SHA256:return"PKIX_RSA_PSS_4096_SHA256";case sn.PKIX_ECDSA_P256_HMAC_SHA_256:return"PKIX_ECDSA_P256_HMAC_SHA_256";case sn.PKIX_ECDSA_P256_SHA_256:return"PKIX_ECDSA_P256_SHA_256";case sn.PKIX_ECDSA_P384_SHA_384:return"PKIX_ECDSA_P384_SHA_384";case sn.PKIX_ECDSA_P521_SHA_512:return"PKIX_ECDSA_P521_SHA_512";case sn.PKIX_ED25519:return"PKIX_ED25519";case sn.PKIX_ED25519_PH:return"PKIX_ED25519_PH";case sn.LMS_SHA256:return"LMS_SHA256";case sn.LMOTS_SHA256:return"LMOTS_SHA256";default:throw new globalThis.Error("Unrecognized enum value "+e+" for enum PublicKeyDetails")}}var BA;(function(e){e[e.SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED=0]="SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED",e[e.EMAIL=1]="EMAIL",e[e.URI=2]="URI",e[e.OTHER_NAME=3]="OTHER_NAME"})(BA||(Ur.SubjectAlternativeNameType=BA={}));function _Be(e){switch(e){case 0:case"SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED":return BA.SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED;case 1:case"EMAIL":return BA.EMAIL;case 2:case"URI":return BA.URI;case 3:case"OTHER_NAME":return BA.OTHER_NAME;default:throw new globalThis.Error("Unrecognized enum value "+e+" for enum SubjectAlternativeNameType")}}function HBe(e){switch(e){case BA.SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED:return"SUBJECT_ALTERNATIVE_NAME_TYPE_UNSPECIFIED";case BA.EMAIL:return"EMAIL";case BA.URI:return"URI";case BA.OTHER_NAME:return"OTHER_NAME";default:throw new globalThis.Error("Unrecognized enum value "+e+" for enum SubjectAlternativeNameType")}}Ur.HashOutput={fromJSON(e){return{algorithm:Es(e.algorithm)?OBe(e.algorithm):0,digest:Es(e.digest)?Buffer.from(ty(e.digest)):Buffer.alloc(0)}},toJSON(e){let t={};return e.algorithm!==0&&(t.algorithm=LBe(e.algorithm)),e.digest.length!==0&&(t.digest=ry(e.digest)),t}};Ur.MessageSignature={fromJSON(e){return{messageDigest:Es(e.messageDigest)?Ur.HashOutput.fromJSON(e.messageDigest):void 0,signature:Es(e.signature)?Buffer.from(ty(e.signature)):Buffer.alloc(0)}},toJSON(e){let t={};return e.messageDigest!==void 0&&(t.messageDigest=Ur.HashOutput.toJSON(e.messageDigest)),e.signature.length!==0&&(t.signature=ry(e.signature)),t}};Ur.LogId={fromJSON(e){return{keyId:Es(e.keyId)?Buffer.from(ty(e.keyId)):Buffer.alloc(0)}},toJSON(e){let t={};return e.keyId.length!==0&&(t.keyId=ry(e.keyId)),t}};Ur.RFC3161SignedTimestamp={fromJSON(e){return{signedTimestamp:Es(e.signedTimestamp)?Buffer.from(ty(e.signedTimestamp)):Buffer.alloc(0)}},toJSON(e){let t={};return e.signedTimestamp.length!==0&&(t.signedTimestamp=ry(e.signedTimestamp)),t}};Ur.PublicKey={fromJSON(e){return{rawBytes:Es(e.rawBytes)?Buffer.from(ty(e.rawBytes)):void 0,keyDetails:Es(e.keyDetails)?MBe(e.keyDetails):0,validFor:Es(e.validFor)?Ur.TimeRange.fromJSON(e.validFor):void 0}},toJSON(e){let t={};return e.rawBytes!==void 0&&(t.rawBytes=ry(e.rawBytes)),e.keyDetails!==0&&(t.keyDetails=UBe(e.keyDetails)),e.validFor!==void 0&&(t.validFor=Ur.TimeRange.toJSON(e.validFor)),t}};Ur.PublicKeyIdentifier={fromJSON(e){return{hint:Es(e.hint)?globalThis.String(e.hint):""}},toJSON(e){let t={};return e.hint!==""&&(t.hint=e.hint),t}};Ur.ObjectIdentifier={fromJSON(e){return{id:globalThis.Array.isArray(e?.id)?e.id.map(t=>globalThis.Number(t)):[]}},toJSON(e){let t={};return e.id?.length&&(t.id=e.id.map(r=>Math.round(r))),t}};Ur.ObjectIdentifierValuePair={fromJSON(e){return{oid:Es(e.oid)?Ur.ObjectIdentifier.fromJSON(e.oid):void 0,value:Es(e.value)?Buffer.from(ty(e.value)):Buffer.alloc(0)}},toJSON(e){let t={};return e.oid!==void 0&&(t.oid=Ur.ObjectIdentifier.toJSON(e.oid)),e.value.length!==0&&(t.value=ry(e.value)),t}};Ur.DistinguishedName={fromJSON(e){return{organization:Es(e.organization)?globalThis.String(e.organization):"",commonName:Es(e.commonName)?globalThis.String(e.commonName):""}},toJSON(e){let t={};return e.organization!==""&&(t.organization=e.organization),e.commonName!==""&&(t.commonName=e.commonName),t}};Ur.X509Certificate={fromJSON(e){return{rawBytes:Es(e.rawBytes)?Buffer.from(ty(e.rawBytes)):Buffer.alloc(0)}},toJSON(e){let t={};return e.rawBytes.length!==0&&(t.rawBytes=ry(e.rawBytes)),t}};Ur.SubjectAlternativeName={fromJSON(e){return{type:Es(e.type)?_Be(e.type):0,identity:Es(e.regexp)?{$case:"regexp",regexp:globalThis.String(e.regexp)}:Es(e.value)?{$case:"value",value:globalThis.String(e.value)}:void 0}},toJSON(e){let t={};return e.type!==0&&(t.type=HBe(e.type)),e.identity?.$case==="regexp"?t.regexp=e.identity.regexp:e.identity?.$case==="value"&&(t.value=e.identity.value),t}};Ur.X509CertificateChain={fromJSON(e){return{certificates:globalThis.Array.isArray(e?.certificates)?e.certificates.map(t=>Ur.X509Certificate.fromJSON(t)):[]}},toJSON(e){let t={};return e.certificates?.length&&(t.certificates=e.certificates.map(r=>Ur.X509Certificate.toJSON(r))),t}};Ur.TimeRange={fromJSON(e){return{start:Es(e.start)?NBe(e.start):void 0,end:Es(e.end)?NBe(e.end):void 0}},toJSON(e){let t={};return e.start!==void 0&&(t.start=e.start.toISOString()),e.end!==void 0&&(t.end=e.end.toISOString()),t}};function ty(e){return Uint8Array.from(globalThis.Buffer.from(e,"base64"))}function ry(e){return globalThis.Buffer.from(e).toString("base64")}function Hmt(e){let t=(globalThis.Number(e.seconds)||0)*1e3;return t+=(e.nanos||0)/1e6,new globalThis.Date(t)}function NBe(e){return e instanceof globalThis.Date?e:typeof e=="string"?new globalThis.Date(e):Hmt(_mt.Timestamp.fromJSON(e))}function Es(e){return e!=null}});var cV=G(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.TransparencyLogEntry=Is.InclusionPromise=Is.InclusionProof=Is.Checkpoint=Is.KindVersion=void 0;var jBe=Lw();Is.KindVersion={fromJSON(e){return{kind:Ha(e.kind)?globalThis.String(e.kind):"",version:Ha(e.version)?globalThis.String(e.version):""}},toJSON(e){let t={};return e.kind!==""&&(t.kind=e.kind),e.version!==""&&(t.version=e.version),t}};Is.Checkpoint={fromJSON(e){return{envelope:Ha(e.envelope)?globalThis.String(e.envelope):""}},toJSON(e){let t={};return e.envelope!==""&&(t.envelope=e.envelope),t}};Is.InclusionProof={fromJSON(e){return{logIndex:Ha(e.logIndex)?globalThis.String(e.logIndex):"0",rootHash:Ha(e.rootHash)?Buffer.from(kN(e.rootHash)):Buffer.alloc(0),treeSize:Ha(e.treeSize)?globalThis.String(e.treeSize):"0",hashes:globalThis.Array.isArray(e?.hashes)?e.hashes.map(t=>Buffer.from(kN(t))):[],checkpoint:Ha(e.checkpoint)?Is.Checkpoint.fromJSON(e.checkpoint):void 0}},toJSON(e){let t={};return e.logIndex!=="0"&&(t.logIndex=e.logIndex),e.rootHash.length!==0&&(t.rootHash=QN(e.rootHash)),e.treeSize!=="0"&&(t.treeSize=e.treeSize),e.hashes?.length&&(t.hashes=e.hashes.map(r=>QN(r))),e.checkpoint!==void 0&&(t.checkpoint=Is.Checkpoint.toJSON(e.checkpoint)),t}};Is.InclusionPromise={fromJSON(e){return{signedEntryTimestamp:Ha(e.signedEntryTimestamp)?Buffer.from(kN(e.signedEntryTimestamp)):Buffer.alloc(0)}},toJSON(e){let t={};return e.signedEntryTimestamp.length!==0&&(t.signedEntryTimestamp=QN(e.signedEntryTimestamp)),t}};Is.TransparencyLogEntry={fromJSON(e){return{logIndex:Ha(e.logIndex)?globalThis.String(e.logIndex):"0",logId:Ha(e.logId)?jBe.LogId.fromJSON(e.logId):void 0,kindVersion:Ha(e.kindVersion)?Is.KindVersion.fromJSON(e.kindVersion):void 0,integratedTime:Ha(e.integratedTime)?globalThis.String(e.integratedTime):"0",inclusionPromise:Ha(e.inclusionPromise)?Is.InclusionPromise.fromJSON(e.inclusionPromise):void 0,inclusionProof:Ha(e.inclusionProof)?Is.InclusionProof.fromJSON(e.inclusionProof):void 0,canonicalizedBody:Ha(e.canonicalizedBody)?Buffer.from(kN(e.canonicalizedBody)):Buffer.alloc(0)}},toJSON(e){let t={};return e.logIndex!=="0"&&(t.logIndex=e.logIndex),e.logId!==void 0&&(t.logId=jBe.LogId.toJSON(e.logId)),e.kindVersion!==void 0&&(t.kindVersion=Is.KindVersion.toJSON(e.kindVersion)),e.integratedTime!=="0"&&(t.integratedTime=e.integratedTime),e.inclusionPromise!==void 0&&(t.inclusionPromise=Is.InclusionPromise.toJSON(e.inclusionPromise)),e.inclusionProof!==void 0&&(t.inclusionProof=Is.InclusionProof.toJSON(e.inclusionProof)),e.canonicalizedBody.length!==0&&(t.canonicalizedBody=QN(e.canonicalizedBody)),t}};function kN(e){return Uint8Array.from(globalThis.Buffer.from(e,"base64"))}function QN(e){return globalThis.Buffer.from(e).toString("base64")}function Ha(e){return e!=null}});var uV=G(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.Bundle=Xc.VerificationMaterial=Xc.TimestampVerificationData=void 0;var GBe=lV(),vA=Lw(),qBe=cV();Xc.TimestampVerificationData={fromJSON(e){return{rfc3161Timestamps:globalThis.Array.isArray(e?.rfc3161Timestamps)?e.rfc3161Timestamps.map(t=>vA.RFC3161SignedTimestamp.fromJSON(t)):[]}},toJSON(e){let t={};return e.rfc3161Timestamps?.length&&(t.rfc3161Timestamps=e.rfc3161Timestamps.map(r=>vA.RFC3161SignedTimestamp.toJSON(r))),t}};Xc.VerificationMaterial={fromJSON(e){return{content:dg(e.publicKey)?{$case:"publicKey",publicKey:vA.PublicKeyIdentifier.fromJSON(e.publicKey)}:dg(e.x509CertificateChain)?{$case:"x509CertificateChain",x509CertificateChain:vA.X509CertificateChain.fromJSON(e.x509CertificateChain)}:dg(e.certificate)?{$case:"certificate",certificate:vA.X509Certificate.fromJSON(e.certificate)}:void 0,tlogEntries:globalThis.Array.isArray(e?.tlogEntries)?e.tlogEntries.map(t=>qBe.TransparencyLogEntry.fromJSON(t)):[],timestampVerificationData:dg(e.timestampVerificationData)?Xc.TimestampVerificationData.fromJSON(e.timestampVerificationData):void 0}},toJSON(e){let t={};return e.content?.$case==="publicKey"?t.publicKey=vA.PublicKeyIdentifier.toJSON(e.content.publicKey):e.content?.$case==="x509CertificateChain"?t.x509CertificateChain=vA.X509CertificateChain.toJSON(e.content.x509CertificateChain):e.content?.$case==="certificate"&&(t.certificate=vA.X509Certificate.toJSON(e.content.certificate)),e.tlogEntries?.length&&(t.tlogEntries=e.tlogEntries.map(r=>qBe.TransparencyLogEntry.toJSON(r))),e.timestampVerificationData!==void 0&&(t.timestampVerificationData=Xc.TimestampVerificationData.toJSON(e.timestampVerificationData)),t}};Xc.Bundle={fromJSON(e){return{mediaType:dg(e.mediaType)?globalThis.String(e.mediaType):"",verificationMaterial:dg(e.verificationMaterial)?Xc.VerificationMaterial.fromJSON(e.verificationMaterial):void 0,content:dg(e.messageSignature)?{$case:"messageSignature",messageSignature:vA.MessageSignature.fromJSON(e.messageSignature)}:dg(e.dsseEnvelope)?{$case:"dsseEnvelope",dsseEnvelope:GBe.Envelope.fromJSON(e.dsseEnvelope)}:void 0}},toJSON(e){let t={};return e.mediaType!==""&&(t.mediaType=e.mediaType),e.verificationMaterial!==void 0&&(t.verificationMaterial=Xc.VerificationMaterial.toJSON(e.verificationMaterial)),e.content?.$case==="messageSignature"?t.messageSignature=vA.MessageSignature.toJSON(e.content.messageSignature):e.content?.$case==="dsseEnvelope"&&(t.dsseEnvelope=GBe.Envelope.toJSON(e.content.dsseEnvelope)),t}};function dg(e){return e!=null}});var fV=G(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.ClientTrustConfig=Ti.SigningConfig=Ti.TrustedRoot=Ti.CertificateAuthority=Ti.TransparencyLogInstance=void 0;var Dl=Lw();Ti.TransparencyLogInstance={fromJSON(e){return{baseUrl:ca(e.baseUrl)?globalThis.String(e.baseUrl):"",hashAlgorithm:ca(e.hashAlgorithm)?(0,Dl.hashAlgorithmFromJSON)(e.hashAlgorithm):0,publicKey:ca(e.publicKey)?Dl.PublicKey.fromJSON(e.publicKey):void 0,logId:ca(e.logId)?Dl.LogId.fromJSON(e.logId):void 0,checkpointKeyId:ca(e.checkpointKeyId)?Dl.LogId.fromJSON(e.checkpointKeyId):void 0}},toJSON(e){let t={};return e.baseUrl!==""&&(t.baseUrl=e.baseUrl),e.hashAlgorithm!==0&&(t.hashAlgorithm=(0,Dl.hashAlgorithmToJSON)(e.hashAlgorithm)),e.publicKey!==void 0&&(t.publicKey=Dl.PublicKey.toJSON(e.publicKey)),e.logId!==void 0&&(t.logId=Dl.LogId.toJSON(e.logId)),e.checkpointKeyId!==void 0&&(t.checkpointKeyId=Dl.LogId.toJSON(e.checkpointKeyId)),t}};Ti.CertificateAuthority={fromJSON(e){return{subject:ca(e.subject)?Dl.DistinguishedName.fromJSON(e.subject):void 0,uri:ca(e.uri)?globalThis.String(e.uri):"",certChain:ca(e.certChain)?Dl.X509CertificateChain.fromJSON(e.certChain):void 0,validFor:ca(e.validFor)?Dl.TimeRange.fromJSON(e.validFor):void 0}},toJSON(e){let t={};return e.subject!==void 0&&(t.subject=Dl.DistinguishedName.toJSON(e.subject)),e.uri!==""&&(t.uri=e.uri),e.certChain!==void 0&&(t.certChain=Dl.X509CertificateChain.toJSON(e.certChain)),e.validFor!==void 0&&(t.validFor=Dl.TimeRange.toJSON(e.validFor)),t}};Ti.TrustedRoot={fromJSON(e){return{mediaType:ca(e.mediaType)?globalThis.String(e.mediaType):"",tlogs:globalThis.Array.isArray(e?.tlogs)?e.tlogs.map(t=>Ti.TransparencyLogInstance.fromJSON(t)):[],certificateAuthorities:globalThis.Array.isArray(e?.certificateAuthorities)?e.certificateAuthorities.map(t=>Ti.CertificateAuthority.fromJSON(t)):[],ctlogs:globalThis.Array.isArray(e?.ctlogs)?e.ctlogs.map(t=>Ti.TransparencyLogInstance.fromJSON(t)):[],timestampAuthorities:globalThis.Array.isArray(e?.timestampAuthorities)?e.timestampAuthorities.map(t=>Ti.CertificateAuthority.fromJSON(t)):[]}},toJSON(e){let t={};return e.mediaType!==""&&(t.mediaType=e.mediaType),e.tlogs?.length&&(t.tlogs=e.tlogs.map(r=>Ti.TransparencyLogInstance.toJSON(r))),e.certificateAuthorities?.length&&(t.certificateAuthorities=e.certificateAuthorities.map(r=>Ti.CertificateAuthority.toJSON(r))),e.ctlogs?.length&&(t.ctlogs=e.ctlogs.map(r=>Ti.TransparencyLogInstance.toJSON(r))),e.timestampAuthorities?.length&&(t.timestampAuthorities=e.timestampAuthorities.map(r=>Ti.CertificateAuthority.toJSON(r))),t}};Ti.SigningConfig={fromJSON(e){return{mediaType:ca(e.mediaType)?globalThis.String(e.mediaType):"",caUrl:ca(e.caUrl)?globalThis.String(e.caUrl):"",oidcUrl:ca(e.oidcUrl)?globalThis.String(e.oidcUrl):"",tlogUrls:globalThis.Array.isArray(e?.tlogUrls)?e.tlogUrls.map(t=>globalThis.String(t)):[],tsaUrls:globalThis.Array.isArray(e?.tsaUrls)?e.tsaUrls.map(t=>globalThis.String(t)):[]}},toJSON(e){let t={};return e.mediaType!==""&&(t.mediaType=e.mediaType),e.caUrl!==""&&(t.caUrl=e.caUrl),e.oidcUrl!==""&&(t.oidcUrl=e.oidcUrl),e.tlogUrls?.length&&(t.tlogUrls=e.tlogUrls),e.tsaUrls?.length&&(t.tsaUrls=e.tsaUrls),t}};Ti.ClientTrustConfig={fromJSON(e){return{mediaType:ca(e.mediaType)?globalThis.String(e.mediaType):"",trustedRoot:ca(e.trustedRoot)?Ti.TrustedRoot.fromJSON(e.trustedRoot):void 0,signingConfig:ca(e.signingConfig)?Ti.SigningConfig.fromJSON(e.signingConfig):void 0}},toJSON(e){let t={};return e.mediaType!==""&&(t.mediaType=e.mediaType),e.trustedRoot!==void 0&&(t.trustedRoot=Ti.TrustedRoot.toJSON(e.trustedRoot)),e.signingConfig!==void 0&&(t.signingConfig=Ti.SigningConfig.toJSON(e.signingConfig)),t}};function ca(e){return e!=null}});var VBe=G(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.Input=Vr.Artifact=Vr.ArtifactVerificationOptions_ObserverTimestampOptions=Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions=Vr.ArtifactVerificationOptions_TimestampAuthorityOptions=Vr.ArtifactVerificationOptions_CtlogOptions=Vr.ArtifactVerificationOptions_TlogOptions=Vr.ArtifactVerificationOptions=Vr.PublicKeyIdentities=Vr.CertificateIdentities=Vr.CertificateIdentity=void 0;var WBe=uV(),mg=Lw(),YBe=fV();Vr.CertificateIdentity={fromJSON(e){return{issuer:di(e.issuer)?globalThis.String(e.issuer):"",san:di(e.san)?mg.SubjectAlternativeName.fromJSON(e.san):void 0,oids:globalThis.Array.isArray(e?.oids)?e.oids.map(t=>mg.ObjectIdentifierValuePair.fromJSON(t)):[]}},toJSON(e){let t={};return e.issuer!==""&&(t.issuer=e.issuer),e.san!==void 0&&(t.san=mg.SubjectAlternativeName.toJSON(e.san)),e.oids?.length&&(t.oids=e.oids.map(r=>mg.ObjectIdentifierValuePair.toJSON(r))),t}};Vr.CertificateIdentities={fromJSON(e){return{identities:globalThis.Array.isArray(e?.identities)?e.identities.map(t=>Vr.CertificateIdentity.fromJSON(t)):[]}},toJSON(e){let t={};return e.identities?.length&&(t.identities=e.identities.map(r=>Vr.CertificateIdentity.toJSON(r))),t}};Vr.PublicKeyIdentities={fromJSON(e){return{publicKeys:globalThis.Array.isArray(e?.publicKeys)?e.publicKeys.map(t=>mg.PublicKey.fromJSON(t)):[]}},toJSON(e){let t={};return e.publicKeys?.length&&(t.publicKeys=e.publicKeys.map(r=>mg.PublicKey.toJSON(r))),t}};Vr.ArtifactVerificationOptions={fromJSON(e){return{signers:di(e.certificateIdentities)?{$case:"certificateIdentities",certificateIdentities:Vr.CertificateIdentities.fromJSON(e.certificateIdentities)}:di(e.publicKeys)?{$case:"publicKeys",publicKeys:Vr.PublicKeyIdentities.fromJSON(e.publicKeys)}:void 0,tlogOptions:di(e.tlogOptions)?Vr.ArtifactVerificationOptions_TlogOptions.fromJSON(e.tlogOptions):void 0,ctlogOptions:di(e.ctlogOptions)?Vr.ArtifactVerificationOptions_CtlogOptions.fromJSON(e.ctlogOptions):void 0,tsaOptions:di(e.tsaOptions)?Vr.ArtifactVerificationOptions_TimestampAuthorityOptions.fromJSON(e.tsaOptions):void 0,integratedTsOptions:di(e.integratedTsOptions)?Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions.fromJSON(e.integratedTsOptions):void 0,observerOptions:di(e.observerOptions)?Vr.ArtifactVerificationOptions_ObserverTimestampOptions.fromJSON(e.observerOptions):void 0}},toJSON(e){let t={};return e.signers?.$case==="certificateIdentities"?t.certificateIdentities=Vr.CertificateIdentities.toJSON(e.signers.certificateIdentities):e.signers?.$case==="publicKeys"&&(t.publicKeys=Vr.PublicKeyIdentities.toJSON(e.signers.publicKeys)),e.tlogOptions!==void 0&&(t.tlogOptions=Vr.ArtifactVerificationOptions_TlogOptions.toJSON(e.tlogOptions)),e.ctlogOptions!==void 0&&(t.ctlogOptions=Vr.ArtifactVerificationOptions_CtlogOptions.toJSON(e.ctlogOptions)),e.tsaOptions!==void 0&&(t.tsaOptions=Vr.ArtifactVerificationOptions_TimestampAuthorityOptions.toJSON(e.tsaOptions)),e.integratedTsOptions!==void 0&&(t.integratedTsOptions=Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions.toJSON(e.integratedTsOptions)),e.observerOptions!==void 0&&(t.observerOptions=Vr.ArtifactVerificationOptions_ObserverTimestampOptions.toJSON(e.observerOptions)),t}};Vr.ArtifactVerificationOptions_TlogOptions={fromJSON(e){return{threshold:di(e.threshold)?globalThis.Number(e.threshold):0,performOnlineVerification:di(e.performOnlineVerification)?globalThis.Boolean(e.performOnlineVerification):!1,disable:di(e.disable)?globalThis.Boolean(e.disable):!1}},toJSON(e){let t={};return e.threshold!==0&&(t.threshold=Math.round(e.threshold)),e.performOnlineVerification!==!1&&(t.performOnlineVerification=e.performOnlineVerification),e.disable!==!1&&(t.disable=e.disable),t}};Vr.ArtifactVerificationOptions_CtlogOptions={fromJSON(e){return{threshold:di(e.threshold)?globalThis.Number(e.threshold):0,disable:di(e.disable)?globalThis.Boolean(e.disable):!1}},toJSON(e){let t={};return e.threshold!==0&&(t.threshold=Math.round(e.threshold)),e.disable!==!1&&(t.disable=e.disable),t}};Vr.ArtifactVerificationOptions_TimestampAuthorityOptions={fromJSON(e){return{threshold:di(e.threshold)?globalThis.Number(e.threshold):0,disable:di(e.disable)?globalThis.Boolean(e.disable):!1}},toJSON(e){let t={};return e.threshold!==0&&(t.threshold=Math.round(e.threshold)),e.disable!==!1&&(t.disable=e.disable),t}};Vr.ArtifactVerificationOptions_TlogIntegratedTimestampOptions={fromJSON(e){return{threshold:di(e.threshold)?globalThis.Number(e.threshold):0,disable:di(e.disable)?globalThis.Boolean(e.disable):!1}},toJSON(e){let t={};return e.threshold!==0&&(t.threshold=Math.round(e.threshold)),e.disable!==!1&&(t.disable=e.disable),t}};Vr.ArtifactVerificationOptions_ObserverTimestampOptions={fromJSON(e){return{threshold:di(e.threshold)?globalThis.Number(e.threshold):0,disable:di(e.disable)?globalThis.Boolean(e.disable):!1}},toJSON(e){let t={};return e.threshold!==0&&(t.threshold=Math.round(e.threshold)),e.disable!==!1&&(t.disable=e.disable),t}};Vr.Artifact={fromJSON(e){return{data:di(e.artifactUri)?{$case:"artifactUri",artifactUri:globalThis.String(e.artifactUri)}:di(e.artifact)?{$case:"artifact",artifact:Buffer.from(jmt(e.artifact))}:di(e.artifactDigest)?{$case:"artifactDigest",artifactDigest:mg.HashOutput.fromJSON(e.artifactDigest)}:void 0}},toJSON(e){let t={};return e.data?.$case==="artifactUri"?t.artifactUri=e.data.artifactUri:e.data?.$case==="artifact"?t.artifact=Gmt(e.data.artifact):e.data?.$case==="artifactDigest"&&(t.artifactDigest=mg.HashOutput.toJSON(e.data.artifactDigest)),t}};Vr.Input={fromJSON(e){return{artifactTrustRoot:di(e.artifactTrustRoot)?YBe.TrustedRoot.fromJSON(e.artifactTrustRoot):void 0,artifactVerificationOptions:di(e.artifactVerificationOptions)?Vr.ArtifactVerificationOptions.fromJSON(e.artifactVerificationOptions):void 0,bundle:di(e.bundle)?WBe.Bundle.fromJSON(e.bundle):void 0,artifact:di(e.artifact)?Vr.Artifact.fromJSON(e.artifact):void 0}},toJSON(e){let t={};return e.artifactTrustRoot!==void 0&&(t.artifactTrustRoot=YBe.TrustedRoot.toJSON(e.artifactTrustRoot)),e.artifactVerificationOptions!==void 0&&(t.artifactVerificationOptions=Vr.ArtifactVerificationOptions.toJSON(e.artifactVerificationOptions)),e.bundle!==void 0&&(t.bundle=WBe.Bundle.toJSON(e.bundle)),e.artifact!==void 0&&(t.artifact=Vr.Artifact.toJSON(e.artifact)),t}};function jmt(e){return Uint8Array.from(globalThis.Buffer.from(e,"base64"))}function Gmt(e){return globalThis.Buffer.from(e).toString("base64")}function di(e){return e!=null}});var yb=G(Zc=>{"use strict";var qmt=Zc&&Zc.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),Mw=Zc&&Zc.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&qmt(t,e,r)};Object.defineProperty(Zc,"__esModule",{value:!0});Mw(lV(),Zc);Mw(uV(),Zc);Mw(Lw(),Zc);Mw(cV(),Zc);Mw(fV(),Zc);Mw(VBe(),Zc)});var RN=G(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});bl.BUNDLE_V03_MEDIA_TYPE=bl.BUNDLE_V03_LEGACY_MEDIA_TYPE=bl.BUNDLE_V02_MEDIA_TYPE=bl.BUNDLE_V01_MEDIA_TYPE=void 0;bl.isBundleWithCertificateChain=Wmt;bl.isBundleWithPublicKey=Ymt;bl.isBundleWithMessageSignature=Vmt;bl.isBundleWithDsseEnvelope=Jmt;bl.BUNDLE_V01_MEDIA_TYPE="application/vnd.dev.sigstore.bundle+json;version=0.1";bl.BUNDLE_V02_MEDIA_TYPE="application/vnd.dev.sigstore.bundle+json;version=0.2";bl.BUNDLE_V03_LEGACY_MEDIA_TYPE="application/vnd.dev.sigstore.bundle+json;version=0.3";bl.BUNDLE_V03_MEDIA_TYPE="application/vnd.dev.sigstore.bundle.v0.3+json";function Wmt(e){return e.verificationMaterial.content.$case==="x509CertificateChain"}function Ymt(e){return e.verificationMaterial.content.$case==="publicKey"}function Vmt(e){return e.content.$case==="messageSignature"}function Jmt(e){return e.content.$case==="dsseEnvelope"}});var KBe=G(FN=>{"use strict";Object.defineProperty(FN,"__esModule",{value:!0});FN.toMessageSignatureBundle=zmt;FN.toDSSEBundle=Xmt;var Kmt=yb(),TN=RN();function zmt(e){return{mediaType:e.certificateChain?TN.BUNDLE_V02_MEDIA_TYPE:TN.BUNDLE_V03_MEDIA_TYPE,content:{$case:"messageSignature",messageSignature:{messageDigest:{algorithm:Kmt.HashAlgorithm.SHA2_256,digest:e.digest},signature:e.signature}},verificationMaterial:JBe(e)}}function Xmt(e){return{mediaType:e.certificateChain?TN.BUNDLE_V02_MEDIA_TYPE:TN.BUNDLE_V03_MEDIA_TYPE,content:{$case:"dsseEnvelope",dsseEnvelope:Zmt(e)},verificationMaterial:JBe(e)}}function Zmt(e){return{payloadType:e.artifactType,payload:e.artifact,signatures:[$mt(e)]}}function $mt(e){return{keyid:e.keyHint||"",sig:e.signature}}function JBe(e){return{content:eyt(e),tlogEntries:[],timestampVerificationData:{rfc3161Timestamps:[]}}}function eyt(e){return e.certificate?e.certificateChain?{$case:"x509CertificateChain",x509CertificateChain:{certificates:[{rawBytes:e.certificate}]}}:{$case:"certificate",certificate:{rawBytes:e.certificate}}:{$case:"publicKey",publicKey:{hint:e.keyHint||""}}}});var pV=G(NN=>{"use strict";Object.defineProperty(NN,"__esModule",{value:!0});NN.ValidationError=void 0;var AV=class extends Error{constructor(t,r){super(t),this.fields=r}};NN.ValidationError=AV});var hV=G(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.assertBundle=tyt;ny.assertBundleV01=zBe;ny.isBundleV01=ryt;ny.assertBundleV02=nyt;ny.assertBundleLatest=iyt;var ON=pV();function tyt(e){let t=LN(e);if(t.length>0)throw new ON.ValidationError("invalid bundle",t)}function zBe(e){let t=[];if(t.push(...LN(e)),t.push(...syt(e)),t.length>0)throw new ON.ValidationError("invalid v0.1 bundle",t)}function ryt(e){try{return zBe(e),!0}catch{return!1}}function nyt(e){let t=[];if(t.push(...LN(e)),t.push(...XBe(e)),t.length>0)throw new ON.ValidationError("invalid v0.2 bundle",t)}function iyt(e){let t=[];if(t.push(...LN(e)),t.push(...XBe(e)),t.push(...oyt(e)),t.length>0)throw new ON.ValidationError("invalid bundle",t)}function LN(e){let t=[];if((e.mediaType===void 0||!e.mediaType.match(/^application\/vnd\.dev\.sigstore\.bundle\+json;version=\d\.\d/)&&!e.mediaType.match(/^application\/vnd\.dev\.sigstore\.bundle\.v\d\.\d\+json/))&&t.push("mediaType"),e.content===void 0)t.push("content");else switch(e.content.$case){case"messageSignature":e.content.messageSignature.messageDigest===void 0?t.push("content.messageSignature.messageDigest"):e.content.messageSignature.messageDigest.digest.length===0&&t.push("content.messageSignature.messageDigest.digest"),e.content.messageSignature.signature.length===0&&t.push("content.messageSignature.signature");break;case"dsseEnvelope":e.content.dsseEnvelope.payload.length===0&&t.push("content.dsseEnvelope.payload"),e.content.dsseEnvelope.signatures.length!==1?t.push("content.dsseEnvelope.signatures"):e.content.dsseEnvelope.signatures[0].sig.length===0&&t.push("content.dsseEnvelope.signatures[0].sig");break}if(e.verificationMaterial===void 0)t.push("verificationMaterial");else{if(e.verificationMaterial.content===void 0)t.push("verificationMaterial.content");else switch(e.verificationMaterial.content.$case){case"x509CertificateChain":e.verificationMaterial.content.x509CertificateChain.certificates.length===0&&t.push("verificationMaterial.content.x509CertificateChain.certificates"),e.verificationMaterial.content.x509CertificateChain.certificates.forEach((r,s)=>{r.rawBytes.length===0&&t.push(`verificationMaterial.content.x509CertificateChain.certificates[${s}].rawBytes`)});break;case"certificate":e.verificationMaterial.content.certificate.rawBytes.length===0&&t.push("verificationMaterial.content.certificate.rawBytes");break}e.verificationMaterial.tlogEntries===void 0?t.push("verificationMaterial.tlogEntries"):e.verificationMaterial.tlogEntries.length>0&&e.verificationMaterial.tlogEntries.forEach((r,s)=>{r.logId===void 0&&t.push(`verificationMaterial.tlogEntries[${s}].logId`),r.kindVersion===void 0&&t.push(`verificationMaterial.tlogEntries[${s}].kindVersion`)})}return t}function syt(e){let t=[];return e.verificationMaterial&&e.verificationMaterial.tlogEntries?.length>0&&e.verificationMaterial.tlogEntries.forEach((r,s)=>{r.inclusionPromise===void 0&&t.push(`verificationMaterial.tlogEntries[${s}].inclusionPromise`)}),t}function XBe(e){let t=[];return e.verificationMaterial&&e.verificationMaterial.tlogEntries?.length>0&&e.verificationMaterial.tlogEntries.forEach((r,s)=>{r.inclusionProof===void 0?t.push(`verificationMaterial.tlogEntries[${s}].inclusionProof`):r.inclusionProof.checkpoint===void 0&&t.push(`verificationMaterial.tlogEntries[${s}].inclusionProof.checkpoint`)}),t}function oyt(e){let t=[];return e.verificationMaterial?.content?.$case==="x509CertificateChain"&&t.push("verificationMaterial.content.$case"),t}});var $Be=G(SA=>{"use strict";Object.defineProperty(SA,"__esModule",{value:!0});SA.envelopeToJSON=SA.envelopeFromJSON=SA.bundleToJSON=SA.bundleFromJSON=void 0;var MN=yb(),ZBe=RN(),gV=hV(),ayt=e=>{let t=MN.Bundle.fromJSON(e);switch(t.mediaType){case ZBe.BUNDLE_V01_MEDIA_TYPE:(0,gV.assertBundleV01)(t);break;case ZBe.BUNDLE_V02_MEDIA_TYPE:(0,gV.assertBundleV02)(t);break;default:(0,gV.assertBundleLatest)(t);break}return t};SA.bundleFromJSON=ayt;var lyt=e=>MN.Bundle.toJSON(e);SA.bundleToJSON=lyt;var cyt=e=>MN.Envelope.fromJSON(e);SA.envelopeFromJSON=cyt;var uyt=e=>MN.Envelope.toJSON(e);SA.envelopeToJSON=uyt});var Ib=G(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.isBundleV01=Xr.assertBundleV02=Xr.assertBundleV01=Xr.assertBundleLatest=Xr.assertBundle=Xr.envelopeToJSON=Xr.envelopeFromJSON=Xr.bundleToJSON=Xr.bundleFromJSON=Xr.ValidationError=Xr.isBundleWithPublicKey=Xr.isBundleWithMessageSignature=Xr.isBundleWithDsseEnvelope=Xr.isBundleWithCertificateChain=Xr.BUNDLE_V03_MEDIA_TYPE=Xr.BUNDLE_V03_LEGACY_MEDIA_TYPE=Xr.BUNDLE_V02_MEDIA_TYPE=Xr.BUNDLE_V01_MEDIA_TYPE=Xr.toMessageSignatureBundle=Xr.toDSSEBundle=void 0;var eve=KBe();Object.defineProperty(Xr,"toDSSEBundle",{enumerable:!0,get:function(){return eve.toDSSEBundle}});Object.defineProperty(Xr,"toMessageSignatureBundle",{enumerable:!0,get:function(){return eve.toMessageSignatureBundle}});var yg=RN();Object.defineProperty(Xr,"BUNDLE_V01_MEDIA_TYPE",{enumerable:!0,get:function(){return yg.BUNDLE_V01_MEDIA_TYPE}});Object.defineProperty(Xr,"BUNDLE_V02_MEDIA_TYPE",{enumerable:!0,get:function(){return yg.BUNDLE_V02_MEDIA_TYPE}});Object.defineProperty(Xr,"BUNDLE_V03_LEGACY_MEDIA_TYPE",{enumerable:!0,get:function(){return yg.BUNDLE_V03_LEGACY_MEDIA_TYPE}});Object.defineProperty(Xr,"BUNDLE_V03_MEDIA_TYPE",{enumerable:!0,get:function(){return yg.BUNDLE_V03_MEDIA_TYPE}});Object.defineProperty(Xr,"isBundleWithCertificateChain",{enumerable:!0,get:function(){return yg.isBundleWithCertificateChain}});Object.defineProperty(Xr,"isBundleWithDsseEnvelope",{enumerable:!0,get:function(){return yg.isBundleWithDsseEnvelope}});Object.defineProperty(Xr,"isBundleWithMessageSignature",{enumerable:!0,get:function(){return yg.isBundleWithMessageSignature}});Object.defineProperty(Xr,"isBundleWithPublicKey",{enumerable:!0,get:function(){return yg.isBundleWithPublicKey}});var fyt=pV();Object.defineProperty(Xr,"ValidationError",{enumerable:!0,get:function(){return fyt.ValidationError}});var UN=$Be();Object.defineProperty(Xr,"bundleFromJSON",{enumerable:!0,get:function(){return UN.bundleFromJSON}});Object.defineProperty(Xr,"bundleToJSON",{enumerable:!0,get:function(){return UN.bundleToJSON}});Object.defineProperty(Xr,"envelopeFromJSON",{enumerable:!0,get:function(){return UN.envelopeFromJSON}});Object.defineProperty(Xr,"envelopeToJSON",{enumerable:!0,get:function(){return UN.envelopeToJSON}});var Eb=hV();Object.defineProperty(Xr,"assertBundle",{enumerable:!0,get:function(){return Eb.assertBundle}});Object.defineProperty(Xr,"assertBundleLatest",{enumerable:!0,get:function(){return Eb.assertBundleLatest}});Object.defineProperty(Xr,"assertBundleV01",{enumerable:!0,get:function(){return Eb.assertBundleV01}});Object.defineProperty(Xr,"assertBundleV02",{enumerable:!0,get:function(){return Eb.assertBundleV02}});Object.defineProperty(Xr,"isBundleV01",{enumerable:!0,get:function(){return Eb.isBundleV01}})});var Cb=G(HN=>{"use strict";Object.defineProperty(HN,"__esModule",{value:!0});HN.ByteStream=void 0;var dV=class extends Error{},_N=class e{constructor(t){this.start=0,t?(this.buf=t,this.view=Buffer.from(t)):(this.buf=new ArrayBuffer(0),this.view=Buffer.from(this.buf))}get buffer(){return this.view.subarray(0,this.start)}get length(){return this.view.byteLength}get position(){return this.start}seek(t){this.start=t}slice(t,r){let s=t+r;if(s>this.length)throw new dV("request past end of buffer");return this.view.subarray(t,s)}appendChar(t){this.ensureCapacity(1),this.view[this.start]=t,this.start+=1}appendUint16(t){this.ensureCapacity(2);let r=new Uint16Array([t]),s=new Uint8Array(r.buffer);this.view[this.start]=s[1],this.view[this.start+1]=s[0],this.start+=2}appendUint24(t){this.ensureCapacity(3);let r=new Uint32Array([t]),s=new Uint8Array(r.buffer);this.view[this.start]=s[2],this.view[this.start+1]=s[1],this.view[this.start+2]=s[0],this.start+=3}appendView(t){this.ensureCapacity(t.length),this.view.set(t,this.start),this.start+=t.length}getBlock(t){if(t<=0)return Buffer.alloc(0);if(this.start+t>this.view.length)throw new Error("request past end of buffer");let r=this.view.subarray(this.start,this.start+t);return this.start+=t,r}getUint8(){return this.getBlock(1)[0]}getUint16(){let t=this.getBlock(2);return t[0]<<8|t[1]}ensureCapacity(t){if(this.start+t>this.view.byteLength){let r=e.BLOCK_SIZE+(t>e.BLOCK_SIZE?t:0);this.realloc(this.view.byteLength+r)}}realloc(t){let r=new ArrayBuffer(t),s=Buffer.from(r);s.set(this.view),this.buf=r,this.view=s}};HN.ByteStream=_N;_N.BLOCK_SIZE=1024});var jN=G(Uw=>{"use strict";Object.defineProperty(Uw,"__esModule",{value:!0});Uw.ASN1TypeError=Uw.ASN1ParseError=void 0;var mV=class extends Error{};Uw.ASN1ParseError=mV;var yV=class extends Error{};Uw.ASN1TypeError=yV});var rve=G(GN=>{"use strict";Object.defineProperty(GN,"__esModule",{value:!0});GN.decodeLength=Ayt;GN.encodeLength=pyt;var tve=jN();function Ayt(e){let t=e.getUint8();if(!(t&128))return t;let r=t&127;if(r>6)throw new tve.ASN1ParseError("length exceeds 6 byte limit");let s=0;for(let a=0;a0n;)r.unshift(Number(t&255n)),t=t>>8n;return Buffer.from([128|r.length,...r])}});var ive=G(Eg=>{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});Eg.parseInteger=dyt;Eg.parseStringASCII=nve;Eg.parseTime=myt;Eg.parseOID=yyt;Eg.parseBoolean=Eyt;Eg.parseBitString=Iyt;var hyt=/^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\.\d{3})?Z$/,gyt=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\.\d{3})?Z$/;function dyt(e){let t=0,r=e.length,s=e[t],a=s>127,n=a?255:0;for(;s==n&&++t=50?1900:2e3,s[1]=a.toString()}return new Date(`${s[1]}-${s[2]}-${s[3]}T${s[4]}:${s[5]}:${s[6]}Z`)}function yyt(e){let t=0,r=e.length,s=e[t++],a=Math.floor(s/40),n=s%40,c=`${a}.${n}`,f=0;for(;t=f;--p)a.push(c>>p&1)}return a}});var ove=G(qN=>{"use strict";Object.defineProperty(qN,"__esModule",{value:!0});qN.ASN1Tag=void 0;var sve=jN(),iy={BOOLEAN:1,INTEGER:2,BIT_STRING:3,OCTET_STRING:4,OBJECT_IDENTIFIER:6,SEQUENCE:16,SET:17,PRINTABLE_STRING:19,UTC_TIME:23,GENERALIZED_TIME:24},EV={UNIVERSAL:0,APPLICATION:1,CONTEXT_SPECIFIC:2,PRIVATE:3},IV=class{constructor(t){if(this.number=t&31,this.constructed=(t&32)===32,this.class=t>>6,this.number===31)throw new sve.ASN1ParseError("long form tags not supported");if(this.class===EV.UNIVERSAL&&this.number===0)throw new sve.ASN1ParseError("unsupported tag 0x00")}isUniversal(){return this.class===EV.UNIVERSAL}isContextSpecific(t){let r=this.class===EV.CONTEXT_SPECIFIC;return t!==void 0?r&&this.number===t:r}isBoolean(){return this.isUniversal()&&this.number===iy.BOOLEAN}isInteger(){return this.isUniversal()&&this.number===iy.INTEGER}isBitString(){return this.isUniversal()&&this.number===iy.BIT_STRING}isOctetString(){return this.isUniversal()&&this.number===iy.OCTET_STRING}isOID(){return this.isUniversal()&&this.number===iy.OBJECT_IDENTIFIER}isUTCTime(){return this.isUniversal()&&this.number===iy.UTC_TIME}isGeneralizedTime(){return this.isUniversal()&&this.number===iy.GENERALIZED_TIME}toDER(){return this.number|(this.constructed?32:0)|this.class<<6}};qN.ASN1Tag=IV});var uve=G(YN=>{"use strict";Object.defineProperty(YN,"__esModule",{value:!0});YN.ASN1Obj=void 0;var CV=Cb(),sy=jN(),lve=rve(),_w=ive(),Cyt=ove(),WN=class{constructor(t,r,s){this.tag=t,this.value=r,this.subs=s}static parseBuffer(t){return cve(new CV.ByteStream(t))}toDER(){let t=new CV.ByteStream;if(this.subs.length>0)for(let a of this.subs)t.appendView(a.toDER());else t.appendView(this.value);let r=t.buffer,s=new CV.ByteStream;return s.appendChar(this.tag.toDER()),s.appendView((0,lve.encodeLength)(r.length)),s.appendView(r),s.buffer}toBoolean(){if(!this.tag.isBoolean())throw new sy.ASN1TypeError("not a boolean");return(0,_w.parseBoolean)(this.value)}toInteger(){if(!this.tag.isInteger())throw new sy.ASN1TypeError("not an integer");return(0,_w.parseInteger)(this.value)}toOID(){if(!this.tag.isOID())throw new sy.ASN1TypeError("not an OID");return(0,_w.parseOID)(this.value)}toDate(){switch(!0){case this.tag.isUTCTime():return(0,_w.parseTime)(this.value,!0);case this.tag.isGeneralizedTime():return(0,_w.parseTime)(this.value,!1);default:throw new sy.ASN1TypeError("not a date")}}toBitString(){if(!this.tag.isBitString())throw new sy.ASN1TypeError("not a bit string");return(0,_w.parseBitString)(this.value)}};YN.ASN1Obj=WN;function cve(e){let t=new Cyt.ASN1Tag(e.getUint8()),r=(0,lve.decodeLength)(e),s=e.slice(e.position,r),a=e.position,n=[];if(t.constructed)n=ave(e,r);else if(t.isOctetString())try{n=ave(e,r)}catch{}return n.length===0&&e.seek(a+r),new WN(t,s,n)}function ave(e,t){let r=e.position+t;if(r>e.length)throw new sy.ASN1ParseError("invalid length");let s=[];for(;e.position{"use strict";Object.defineProperty(VN,"__esModule",{value:!0});VN.ASN1Obj=void 0;var wyt=uve();Object.defineProperty(VN,"ASN1Obj",{enumerable:!0,get:function(){return wyt.ASN1Obj}})});var Hw=G(Ig=>{"use strict";var Byt=Ig&&Ig.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ig,"__esModule",{value:!0});Ig.createPublicKey=vyt;Ig.digest=Syt;Ig.verify=Dyt;Ig.bufferEqual=byt;var wb=Byt(Ie("crypto"));function vyt(e,t="spki"){return typeof e=="string"?wb.default.createPublicKey(e):wb.default.createPublicKey({key:e,format:"der",type:t})}function Syt(e,...t){let r=wb.default.createHash(e);for(let s of t)r.update(s);return r.digest()}function Dyt(e,t,r,s){try{return wb.default.verify(s,e,t,r)}catch{return!1}}function byt(e,t){try{return wb.default.timingSafeEqual(e,t)}catch{return!1}}});var fve=G(wV=>{"use strict";Object.defineProperty(wV,"__esModule",{value:!0});wV.preAuthEncoding=xyt;var Pyt="DSSEv1";function xyt(e,t){let r=[Pyt,e.length,e,t.length,""].join(" ");return Buffer.concat([Buffer.from(r,"ascii"),t])}});var hve=G(KN=>{"use strict";Object.defineProperty(KN,"__esModule",{value:!0});KN.base64Encode=kyt;KN.base64Decode=Qyt;var Ave="base64",pve="utf-8";function kyt(e){return Buffer.from(e,pve).toString(Ave)}function Qyt(e){return Buffer.from(e,Ave).toString(pve)}});var gve=G(vV=>{"use strict";Object.defineProperty(vV,"__esModule",{value:!0});vV.canonicalize=BV;function BV(e){let t="";if(e===null||typeof e!="object"||e.toJSON!=null)t+=JSON.stringify(e);else if(Array.isArray(e)){t+="[";let r=!0;e.forEach(s=>{r||(t+=","),r=!1,t+=BV(s)}),t+="]"}else{t+="{";let r=!0;Object.keys(e).sort().forEach(s=>{r||(t+=","),r=!1,t+=JSON.stringify(s),t+=":",t+=BV(e[s])}),t+="}"}return t}});var SV=G(zN=>{"use strict";Object.defineProperty(zN,"__esModule",{value:!0});zN.toDER=Fyt;zN.fromDER=Nyt;var Ryt=/-----BEGIN (.*)-----/,Tyt=/-----END (.*)-----/;function Fyt(e){let t="";return e.split(` +`).forEach(r=>{r.match(Ryt)||r.match(Tyt)||(t+=r)}),Buffer.from(t,"base64")}function Nyt(e,t="CERTIFICATE"){let s=e.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${t}-----`,...s,`-----END ${t}-----`].join(` +`).concat(` +`)}});var XN=G(jw=>{"use strict";Object.defineProperty(jw,"__esModule",{value:!0});jw.SHA2_HASH_ALGOS=jw.ECDSA_SIGNATURE_ALGOS=void 0;jw.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};jw.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var bV=G(ZN=>{"use strict";Object.defineProperty(ZN,"__esModule",{value:!0});ZN.RFC3161TimestampVerificationError=void 0;var DV=class extends Error{};ZN.RFC3161TimestampVerificationError=DV});var mve=G(DA=>{"use strict";var Oyt=DA&&DA.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),Lyt=DA&&DA.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Myt=DA&&DA.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Oyt(t,e,r);return Lyt(t,e),t};Object.defineProperty(DA,"__esModule",{value:!0});DA.TSTInfo=void 0;var dve=Myt(Hw()),Uyt=XN(),_yt=bV(),PV=class{constructor(t){this.root=t}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let t=this.messageImprintObj.subs[0].subs[0].toOID();return Uyt.SHA2_HASH_ALGOS[t]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(t){let r=dve.digest(this.messageImprintHashAlgorithm,t);if(!dve.bufferEqual(r,this.messageImprintHashedMessage))throw new _yt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};DA.TSTInfo=PV});var Eve=G(bA=>{"use strict";var Hyt=bA&&bA.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),jyt=bA&&bA.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Gyt=bA&&bA.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&Hyt(t,e,r);return jyt(t,e),t};Object.defineProperty(bA,"__esModule",{value:!0});bA.RFC3161Timestamp=void 0;var qyt=JN(),xV=Gyt(Hw()),yve=XN(),Bb=bV(),Wyt=mve(),Yyt="1.2.840.113549.1.7.2",Vyt="1.2.840.113549.1.9.16.1.4",Jyt="1.2.840.113549.1.9.4",kV=class e{constructor(t){this.root=t}static parse(t){let r=qyt.ASN1Obj.parseBuffer(t);return new e(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let t=this.signerDigestAlgorithmObj.subs[0].toOID();return yve.SHA2_HASH_ALGOS[t]}get signatureAlgorithm(){let t=this.signatureAlgorithmObj.subs[0].toOID();return yve.ECDSA_SIGNATURE_ALGOS[t]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new Wyt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(t,r){if(!this.timeStampTokenObj)throw new Bb.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==Yyt)throw new Bb.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==Vyt)throw new Bb.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(t),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let t=xV.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].value;if(!xV.bufferEqual(t,r))throw new Bb.RFC3161TimestampVerificationError("signed data does not match tstInfo")}verifySignature(t){let r=this.signedAttrsObj.toDER();if(r[0]=49,!xV.verify(r,t,this.signatureValue,this.signatureAlgorithm))throw new Bb.RFC3161TimestampVerificationError("signature verification failed")}get pkiStatusInfoObj(){return this.root.subs[0]}get timeStampTokenObj(){return this.root.subs[1]}get contentTypeObj(){return this.timeStampTokenObj.subs[0]}get signedDataObj(){return this.timeStampTokenObj.subs.find(r=>r.tag.isContextSpecific(0)).subs[0]}get encapContentInfoObj(){return this.signedDataObj.subs[2]}get signerInfosObj(){let t=this.signedDataObj;return t.subs[t.subs.length-1]}get signerInfoObj(){return this.signerInfosObj.subs[0]}get eContentTypeObj(){return this.encapContentInfoObj.subs[0]}get eContentObj(){return this.encapContentInfoObj.subs[1]}get signedAttrsObj(){return this.signerInfoObj.subs.find(r=>r.tag.isContextSpecific(0))}get messageDigestAttributeObj(){return this.signedAttrsObj.subs.find(r=>r.subs[0].tag.isOID()&&r.subs[0].toOID()===Jyt)}get signerSidObj(){return this.signerInfoObj.subs[1]}get signerDigestAlgorithmObj(){return this.signerInfoObj.subs[2]}get signatureAlgorithmObj(){return this.signerInfoObj.subs[4]}get signatureValueObj(){return this.signerInfoObj.subs[5]}};bA.RFC3161Timestamp=kV});var Ive=G($N=>{"use strict";Object.defineProperty($N,"__esModule",{value:!0});$N.RFC3161Timestamp=void 0;var Kyt=Eve();Object.defineProperty($N,"RFC3161Timestamp",{enumerable:!0,get:function(){return Kyt.RFC3161Timestamp}})});var wve=G(PA=>{"use strict";var zyt=PA&&PA.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),Xyt=PA&&PA.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Zyt=PA&&PA.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&zyt(t,e,r);return Xyt(t,e),t};Object.defineProperty(PA,"__esModule",{value:!0});PA.SignedCertificateTimestamp=void 0;var $yt=Zyt(Hw()),Cve=Cb(),QV=class e{constructor(t){this.version=t.version,this.logID=t.logID,this.timestamp=t.timestamp,this.extensions=t.extensions,this.hashAlgorithm=t.hashAlgorithm,this.signatureAlgorithm=t.signatureAlgorithm,this.signature=t.signature}get datetime(){return new Date(Number(this.timestamp.readBigInt64BE()))}get algorithm(){switch(this.hashAlgorithm){case 0:return"none";case 1:return"md5";case 2:return"sha1";case 3:return"sha224";case 4:return"sha256";case 5:return"sha384";case 6:return"sha512";default:return"unknown"}}verify(t,r){let s=new Cve.ByteStream;return s.appendChar(this.version),s.appendChar(0),s.appendView(this.timestamp),s.appendUint16(1),s.appendView(t),s.appendUint16(this.extensions.byteLength),this.extensions.byteLength>0&&s.appendView(this.extensions),$yt.verify(s.buffer,r,this.signature,this.algorithm)}static parse(t){let r=new Cve.ByteStream(t),s=r.getUint8(),a=r.getBlock(32),n=r.getBlock(8),c=r.getUint16(),f=r.getBlock(c),p=r.getUint8(),h=r.getUint8(),E=r.getUint16(),C=r.getBlock(E);if(r.position!==t.length)throw new Error("SCT buffer length mismatch");return new e({version:s,logID:a,timestamp:n,extensions:f,hashAlgorithm:p,signatureAlgorithm:h,signature:C})}};PA.SignedCertificateTimestamp=QV});var MV=G(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.X509SCTExtension=ua.X509SubjectKeyIDExtension=ua.X509AuthorityKeyIDExtension=ua.X509SubjectAlternativeNameExtension=ua.X509KeyUsageExtension=ua.X509BasicConstraintsExtension=ua.X509Extension=void 0;var eEt=Cb(),tEt=wve(),Ah=class{constructor(t){this.root=t}get oid(){return this.root.subs[0].toOID()}get critical(){return this.root.subs.length===3?this.root.subs[1].toBoolean():!1}get value(){return this.extnValueObj.value}get valueObj(){return this.extnValueObj}get extnValueObj(){return this.root.subs[this.root.subs.length-1]}};ua.X509Extension=Ah;var RV=class extends Ah{get isCA(){return this.sequence.subs[0]?.toBoolean()??!1}get pathLenConstraint(){return this.sequence.subs.length>1?this.sequence.subs[1].toInteger():void 0}get sequence(){return this.extnValueObj.subs[0]}};ua.X509BasicConstraintsExtension=RV;var TV=class extends Ah{get digitalSignature(){return this.bitString[0]===1}get keyCertSign(){return this.bitString[5]===1}get crlSign(){return this.bitString[6]===1}get bitString(){return this.extnValueObj.subs[0].toBitString()}};ua.X509KeyUsageExtension=TV;var FV=class extends Ah{get rfc822Name(){return this.findGeneralName(1)?.value.toString("ascii")}get uri(){return this.findGeneralName(6)?.value.toString("ascii")}otherName(t){let r=this.findGeneralName(0);return r===void 0||r.subs[0].toOID()!==t?void 0:r.subs[1].subs[0].value.toString("ascii")}findGeneralName(t){return this.generalNames.find(r=>r.tag.isContextSpecific(t))}get generalNames(){return this.extnValueObj.subs[0].subs}};ua.X509SubjectAlternativeNameExtension=FV;var NV=class extends Ah{get keyIdentifier(){return this.findSequenceMember(0)?.value}findSequenceMember(t){return this.sequence.subs.find(r=>r.tag.isContextSpecific(t))}get sequence(){return this.extnValueObj.subs[0]}};ua.X509AuthorityKeyIDExtension=NV;var OV=class extends Ah{get keyIdentifier(){return this.extnValueObj.subs[0].value}};ua.X509SubjectKeyIDExtension=OV;var LV=class extends Ah{constructor(t){super(t)}get signedCertificateTimestamps(){let t=this.extnValueObj.subs[0].value,r=new eEt.ByteStream(t),s=r.getUint16()+2,a=[];for(;r.position{"use strict";var rEt=oc&&oc.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),nEt=oc&&oc.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),vve=oc&&oc.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&rEt(t,e,r);return nEt(t,e),t};Object.defineProperty(oc,"__esModule",{value:!0});oc.X509Certificate=oc.EXTENSION_OID_SCT=void 0;var iEt=JN(),Bve=vve(Hw()),sEt=XN(),oEt=vve(SV()),oy=MV(),aEt="2.5.29.14",lEt="2.5.29.15",cEt="2.5.29.17",uEt="2.5.29.19",fEt="2.5.29.35";oc.EXTENSION_OID_SCT="1.3.6.1.4.1.11129.2.4.2";var UV=class e{constructor(t){this.root=t}static parse(t){let r=typeof t=="string"?oEt.toDER(t):t,s=iEt.ASN1Obj.parseBuffer(r);return new e(s)}get tbsCertificate(){return this.tbsCertificateObj}get version(){return`v${(this.versionObj.subs[0].toInteger()+BigInt(1)).toString()}`}get serialNumber(){return this.serialNumberObj.value}get notBefore(){return this.validityObj.subs[0].toDate()}get notAfter(){return this.validityObj.subs[1].toDate()}get issuer(){return this.issuerObj.value}get subject(){return this.subjectObj.value}get publicKey(){return this.subjectPublicKeyInfoObj.toDER()}get signatureAlgorithm(){let t=this.signatureAlgorithmObj.subs[0].toOID();return sEt.ECDSA_SIGNATURE_ALGOS[t]}get signatureValue(){return this.signatureValueObj.value.subarray(1)}get subjectAltName(){let t=this.extSubjectAltName;return t?.uri||t?.rfc822Name}get extensions(){return this.extensionsObj?.subs[0]?.subs||[]}get extKeyUsage(){let t=this.findExtension(lEt);return t?new oy.X509KeyUsageExtension(t):void 0}get extBasicConstraints(){let t=this.findExtension(uEt);return t?new oy.X509BasicConstraintsExtension(t):void 0}get extSubjectAltName(){let t=this.findExtension(cEt);return t?new oy.X509SubjectAlternativeNameExtension(t):void 0}get extAuthorityKeyID(){let t=this.findExtension(fEt);return t?new oy.X509AuthorityKeyIDExtension(t):void 0}get extSubjectKeyID(){let t=this.findExtension(aEt);return t?new oy.X509SubjectKeyIDExtension(t):void 0}get extSCT(){let t=this.findExtension(oc.EXTENSION_OID_SCT);return t?new oy.X509SCTExtension(t):void 0}get isCA(){let t=this.extBasicConstraints?.isCA||!1;return this.extKeyUsage?t&&this.extKeyUsage.keyCertSign:t}extension(t){let r=this.findExtension(t);return r?new oy.X509Extension(r):void 0}verify(t){let r=t?.publicKey||this.publicKey,s=Bve.createPublicKey(r);return Bve.verify(this.tbsCertificate.toDER(),s,this.signatureValue,this.signatureAlgorithm)}validForDate(t){return this.notBefore<=t&&t<=this.notAfter}equals(t){return this.root.toDER().equals(t.root.toDER())}clone(){let t=this.root.toDER(),r=Buffer.alloc(t.length);return t.copy(r),e.parse(r)}findExtension(t){return this.extensions.find(r=>r.subs[0].toOID()===t)}get tbsCertificateObj(){return this.root.subs[0]}get signatureAlgorithmObj(){return this.root.subs[1]}get signatureValueObj(){return this.root.subs[2]}get versionObj(){return this.tbsCertificateObj.subs[0]}get serialNumberObj(){return this.tbsCertificateObj.subs[1]}get issuerObj(){return this.tbsCertificateObj.subs[3]}get validityObj(){return this.tbsCertificateObj.subs[4]}get subjectObj(){return this.tbsCertificateObj.subs[5]}get subjectPublicKeyInfoObj(){return this.tbsCertificateObj.subs[6]}get extensionsObj(){return this.tbsCertificateObj.subs.find(t=>t.tag.isContextSpecific(3))}};oc.X509Certificate=UV});var bve=G(Cg=>{"use strict";Object.defineProperty(Cg,"__esModule",{value:!0});Cg.X509SCTExtension=Cg.X509Certificate=Cg.EXTENSION_OID_SCT=void 0;var Dve=Sve();Object.defineProperty(Cg,"EXTENSION_OID_SCT",{enumerable:!0,get:function(){return Dve.EXTENSION_OID_SCT}});Object.defineProperty(Cg,"X509Certificate",{enumerable:!0,get:function(){return Dve.X509Certificate}});var AEt=MV();Object.defineProperty(Cg,"X509SCTExtension",{enumerable:!0,get:function(){return AEt.X509SCTExtension}})});var Pl=G(zn=>{"use strict";var pEt=zn&&zn.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),hEt=zn&&zn.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),vb=zn&&zn.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&pEt(t,e,r);return hEt(t,e),t};Object.defineProperty(zn,"__esModule",{value:!0});zn.X509SCTExtension=zn.X509Certificate=zn.EXTENSION_OID_SCT=zn.ByteStream=zn.RFC3161Timestamp=zn.pem=zn.json=zn.encoding=zn.dsse=zn.crypto=zn.ASN1Obj=void 0;var gEt=JN();Object.defineProperty(zn,"ASN1Obj",{enumerable:!0,get:function(){return gEt.ASN1Obj}});zn.crypto=vb(Hw());zn.dsse=vb(fve());zn.encoding=vb(hve());zn.json=vb(gve());zn.pem=vb(SV());var dEt=Ive();Object.defineProperty(zn,"RFC3161Timestamp",{enumerable:!0,get:function(){return dEt.RFC3161Timestamp}});var mEt=Cb();Object.defineProperty(zn,"ByteStream",{enumerable:!0,get:function(){return mEt.ByteStream}});var _V=bve();Object.defineProperty(zn,"EXTENSION_OID_SCT",{enumerable:!0,get:function(){return _V.EXTENSION_OID_SCT}});Object.defineProperty(zn,"X509Certificate",{enumerable:!0,get:function(){return _V.X509Certificate}});Object.defineProperty(zn,"X509SCTExtension",{enumerable:!0,get:function(){return _V.X509SCTExtension}})});var Pve=G(HV=>{"use strict";Object.defineProperty(HV,"__esModule",{value:!0});HV.extractJWTSubject=EEt;var yEt=Pl();function EEt(e){let t=e.split(".",3),r=JSON.parse(yEt.encoding.base64Decode(t[1]));switch(r.iss){case"https://accounts.google.com":case"https://oauth2.sigstore.dev/auth":return r.email;default:return r.sub}}});var xve=G((ver,IEt)=>{IEt.exports={name:"@sigstore/sign",version:"3.1.0",description:"Sigstore signing library",main:"dist/index.js",types:"dist/index.d.ts",scripts:{clean:"shx rm -rf dist *.tsbuildinfo",build:"tsc --build",test:"jest"},files:["dist"],author:"bdehamer@github.com",license:"Apache-2.0",repository:{type:"git",url:"git+https://github.com/sigstore/sigstore-js.git"},bugs:{url:"https://github.com/sigstore/sigstore-js/issues"},homepage:"https://github.com/sigstore/sigstore-js/tree/main/packages/sign#readme",publishConfig:{provenance:!0},devDependencies:{"@sigstore/jest":"^0.0.0","@sigstore/mock":"^0.10.0","@sigstore/rekor-types":"^3.0.0","@types/make-fetch-happen":"^10.0.4","@types/promise-retry":"^1.1.6"},dependencies:{"@sigstore/bundle":"^3.1.0","@sigstore/core":"^2.0.0","@sigstore/protobuf-specs":"^0.4.0","make-fetch-happen":"^14.0.2","proc-log":"^5.0.0","promise-retry":"^2.0.1"},engines:{node:"^18.17.0 || >=20.5.0"}}});var Qve=G(Gw=>{"use strict";var CEt=Gw&&Gw.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gw,"__esModule",{value:!0});Gw.getUserAgent=void 0;var kve=CEt(Ie("os")),wEt=()=>{let e=xve().version,t=process.version,r=kve.default.platform(),s=kve.default.arch();return`sigstore-js/${e} (Node ${t}) (${r}/${s})`};Gw.getUserAgent=wEt});var wg=G(Ji=>{"use strict";var BEt=Ji&&Ji.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),vEt=Ji&&Ji.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Rve=Ji&&Ji.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var s=e(t),a=0;a{"use strict";Object.defineProperty(eO,"__esModule",{value:!0});eO.BaseBundleBuilder=void 0;var jV=class{constructor(t){this.signer=t.signer,this.witnesses=t.witnesses}async create(t){let r=await this.prepare(t).then(f=>this.signer.sign(f)),s=await this.package(t,r),a=await Promise.all(this.witnesses.map(f=>f.testify(s.content,SEt(r.key)))),n=[],c=[];return a.forEach(({tlogEntries:f,rfc3161Timestamps:p})=>{n.push(...f??[]),c.push(...p??[])}),s.verificationMaterial.tlogEntries=n,s.verificationMaterial.timestampVerificationData={rfc3161Timestamps:c},s}async prepare(t){return t.data}};eO.BaseBundleBuilder=jV;function SEt(e){switch(e.$case){case"publicKey":return e.publicKey;case"x509Certificate":return e.certificate}}});var WV=G(xA=>{"use strict";var DEt=xA&&xA.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),bEt=xA&&xA.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),PEt=xA&&xA.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var s=e(t),a=0;a{"use strict";Object.defineProperty(tO,"__esModule",{value:!0});tO.DSSEBundleBuilder=void 0;var QEt=wg(),REt=GV(),TEt=WV(),YV=class extends REt.BaseBundleBuilder{constructor(t){super(t),this.certificateChain=t.certificateChain??!1}async prepare(t){let r=Fve(t);return QEt.dsse.preAuthEncoding(r.type,r.data)}async package(t,r){return(0,TEt.toDSSEBundle)(Fve(t),r,this.certificateChain)}};tO.DSSEBundleBuilder=YV;function Fve(e){return{...e,type:e.type??""}}});var Ove=G(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});rO.MessageSignatureBundleBuilder=void 0;var FEt=GV(),NEt=WV(),VV=class extends FEt.BaseBundleBuilder{constructor(t){super(t)}async package(t,r){return(0,NEt.toMessageSignatureBundle)(t,r)}};rO.MessageSignatureBundleBuilder=VV});var Lve=G(qw=>{"use strict";Object.defineProperty(qw,"__esModule",{value:!0});qw.MessageSignatureBundleBuilder=qw.DSSEBundleBuilder=void 0;var OEt=Nve();Object.defineProperty(qw,"DSSEBundleBuilder",{enumerable:!0,get:function(){return OEt.DSSEBundleBuilder}});var LEt=Ove();Object.defineProperty(qw,"MessageSignatureBundleBuilder",{enumerable:!0,get:function(){return LEt.MessageSignatureBundleBuilder}})});var iO=G(nO=>{"use strict";Object.defineProperty(nO,"__esModule",{value:!0});nO.HTTPError=void 0;var JV=class extends Error{constructor({status:t,message:r,location:s}){super(`(${t}) ${r}`),this.statusCode=t,this.location=s}};nO.HTTPError=JV});var Ww=G(Db=>{"use strict";Object.defineProperty(Db,"__esModule",{value:!0});Db.InternalError=void 0;Db.internalError=UEt;var MEt=iO(),sO=class extends Error{constructor({code:t,message:r,cause:s}){super(r),this.name=this.constructor.name,this.cause=s,this.code=t}};Db.InternalError=sO;function UEt(e,t,r){throw e instanceof MEt.HTTPError&&(r+=` - ${e.message}`),new sO({code:t,message:r,cause:e})}});var oO=G((Fer,Mve)=>{Mve.exports=fetch});var Uve=G(Yw=>{"use strict";var _Et=Yw&&Yw.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yw,"__esModule",{value:!0});Yw.CIContextProvider=void 0;var HEt=_Et(oO()),jEt=[GEt,qEt],KV=class{constructor(t="sigstore"){this.audience=t}async getToken(){return Promise.any(jEt.map(t=>t(this.audience))).catch(()=>Promise.reject("CI: no tokens available"))}};Yw.CIContextProvider=KV;async function GEt(e){if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL||!process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN)return Promise.reject("no token available");let t=new URL(process.env.ACTIONS_ID_TOKEN_REQUEST_URL);return t.searchParams.append("audience",e),(await(0,HEt.default)(t.href,{retry:2,headers:{Accept:"application/json",Authorization:`Bearer ${process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN}`}})).json().then(s=>s.value)}async function qEt(){return process.env.SIGSTORE_ID_TOKEN?process.env.SIGSTORE_ID_TOKEN:Promise.reject("no token available")}});var _ve=G(aO=>{"use strict";Object.defineProperty(aO,"__esModule",{value:!0});aO.CIContextProvider=void 0;var WEt=Uve();Object.defineProperty(aO,"CIContextProvider",{enumerable:!0,get:function(){return WEt.CIContextProvider}})});var jve=G((Ler,Hve)=>{var YEt=Symbol("proc-log.meta");Hve.exports={META:YEt,output:{LEVELS:["standard","error","buffer","flush"],KEYS:{standard:"standard",error:"error",buffer:"buffer",flush:"flush"},standard:function(...e){return process.emit("output","standard",...e)},error:function(...e){return process.emit("output","error",...e)},buffer:function(...e){return process.emit("output","buffer",...e)},flush:function(...e){return process.emit("output","flush",...e)}},log:{LEVELS:["notice","error","warn","info","verbose","http","silly","timing","pause","resume"],KEYS:{notice:"notice",error:"error",warn:"warn",info:"info",verbose:"verbose",http:"http",silly:"silly",timing:"timing",pause:"pause",resume:"resume"},error:function(...e){return process.emit("log","error",...e)},notice:function(...e){return process.emit("log","notice",...e)},warn:function(...e){return process.emit("log","warn",...e)},info:function(...e){return process.emit("log","info",...e)},verbose:function(...e){return process.emit("log","verbose",...e)},http:function(...e){return process.emit("log","http",...e)},silly:function(...e){return process.emit("log","silly",...e)},timing:function(...e){return process.emit("log","timing",...e)},pause:function(){return process.emit("log","pause")},resume:function(){return process.emit("log","resume")}},time:{LEVELS:["start","end"],KEYS:{start:"start",end:"end"},start:function(e,t){process.emit("time","start",e);function r(){return process.emit("time","end",e)}if(typeof t=="function"){let s=t();return s&&s.finally?s.finally(r):(r(),s)}return r},end:function(e){return process.emit("time","end",e)}},input:{LEVELS:["start","end","read"],KEYS:{start:"start",end:"end",read:"read"},start:function(e){process.emit("input","start");function t(){return process.emit("input","end")}if(typeof e=="function"){let r=e();return r&&r.finally?r.finally(t):(t(),r)}return t},end:function(){return process.emit("input","end")},read:function(...e){let t,r,s=new Promise((a,n)=>{t=a,r=n});return process.emit("input","read",t,r,...e),s}}}});var Wve=G((Mer,qve)=>{"use strict";function Gve(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function VEt(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=void 0),t!=null&&(r.code=t);try{return Gve(e,r)}catch{r.message=e.message,r.stack=e.stack;let a=function(){};return a.prototype=Object.create(Object.getPrototypeOf(e)),Gve(new a,r)}}qve.exports=VEt});var Vve=G((Uer,Yve)=>{function $c(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}Yve.exports=$c;$c.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};$c.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};$c.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),r=this._timeouts.shift();else return!1;var s=this,a=setTimeout(function(){s._attempts++,s._operationTimeoutCb&&(s._timeout=setTimeout(function(){s._operationTimeoutCb(s._attempts)},s._operationTimeout),s._options.unref&&s._timeout.unref()),s._fn(s._attempts)},r);return this._options.unref&&a.unref(),!0};$c.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};$c.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};$c.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};$c.prototype.start=$c.prototype.try;$c.prototype.errors=function(){return this._errors};$c.prototype.attempts=function(){return this._attempts};$c.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,r=0,s=0;s=r&&(t=a,r=c)}return t}});var Jve=G(ay=>{var JEt=Vve();ay.operation=function(e){var t=ay.timeouts(e);return new JEt(t,{forever:e&&e.forever,unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};ay.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var s=[],a=0;a{Kve.exports=Jve()});var $ve=G((jer,Zve)=>{"use strict";var KEt=Wve(),zEt=zve(),XEt=Object.prototype.hasOwnProperty;function Xve(e){return e&&e.code==="EPROMISERETRY"&&XEt.call(e,"retried")}function ZEt(e,t){var r,s;return typeof e=="object"&&typeof t=="function"&&(r=t,t=e,e=r),s=zEt.operation(t),new Promise(function(a,n){s.attempt(function(c){Promise.resolve().then(function(){return e(function(f){throw Xve(f)&&(f=f.retried),KEt(new Error("Retrying"),"EPROMISERETRY",{retried:f})},c)}).then(a,function(f){Xve(f)&&(f=f.retried,s.retry(f||new Error))||n(f)})})})}Zve.exports=ZEt});var lO=G(bb=>{"use strict";var tSe=bb&&bb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(bb,"__esModule",{value:!0});bb.fetchWithRetry=uIt;var $Et=Ie("http2"),eIt=tSe(oO()),eSe=jve(),tIt=tSe($ve()),rIt=wg(),nIt=iO(),{HTTP2_HEADER_LOCATION:iIt,HTTP2_HEADER_CONTENT_TYPE:sIt,HTTP2_HEADER_USER_AGENT:oIt,HTTP_STATUS_INTERNAL_SERVER_ERROR:aIt,HTTP_STATUS_TOO_MANY_REQUESTS:lIt,HTTP_STATUS_REQUEST_TIMEOUT:cIt}=$Et.constants;async function uIt(e,t){return(0,tIt.default)(async(r,s)=>{let a=t.method||"POST",n={[oIt]:rIt.ua.getUserAgent(),...t.headers},c=await(0,eIt.default)(e,{method:a,headers:n,body:t.body,timeout:t.timeout,retry:!1}).catch(f=>(eSe.log.http("fetch",`${a} ${e} attempt ${s} failed with ${f}`),r(f)));if(c.ok)return c;{let f=await fIt(c);if(eSe.log.http("fetch",`${a} ${e} attempt ${s} failed with ${c.status}`),AIt(c.status))return r(f);throw f}},pIt(t.retry))}var fIt=async e=>{let t=e.statusText,r=e.headers.get(iIt)||void 0;if(e.headers.get(sIt)?.includes("application/json"))try{t=(await e.json()).message||t}catch{}return new nIt.HTTPError({status:e.status,message:t,location:r})},AIt=e=>[cIt,lIt].includes(e)||e>=aIt,pIt=e=>typeof e=="boolean"?{retries:e?1:0}:typeof e=="number"?{retries:e}:{retries:0,...e}});var rSe=G(cO=>{"use strict";Object.defineProperty(cO,"__esModule",{value:!0});cO.Fulcio=void 0;var hIt=lO(),zV=class{constructor(t){this.options=t}async createSigningCertificate(t){let{baseURL:r,retry:s,timeout:a}=this.options,n=`${r}/api/v2/signingCert`;return(await(0,hIt.fetchWithRetry)(n,{headers:{"Content-Type":"application/json"},body:JSON.stringify(t),timeout:a,retry:s})).json()}};cO.Fulcio=zV});var nSe=G(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});uO.CAClient=void 0;var gIt=Ww(),dIt=rSe(),XV=class{constructor(t){this.fulcio=new dIt.Fulcio({baseURL:t.fulcioBaseURL,retry:t.retry,timeout:t.timeout})}async createSigningCertificate(t,r,s){let a=mIt(t,r,s);try{let n=await this.fulcio.createSigningCertificate(a);return(n.signedCertificateEmbeddedSct?n.signedCertificateEmbeddedSct:n.signedCertificateDetachedSct).chain.certificates}catch(n){(0,gIt.internalError)(n,"CA_CREATE_SIGNING_CERTIFICATE_ERROR","error creating signing certificate")}}};uO.CAClient=XV;function mIt(e,t,r){return{credentials:{oidcIdentityToken:e},publicKeyRequest:{publicKey:{algorithm:"ECDSA",content:t},proofOfPossession:r.toString("base64")}}}});var sSe=G(Vw=>{"use strict";var yIt=Vw&&Vw.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vw,"__esModule",{value:!0});Vw.EphemeralSigner=void 0;var iSe=yIt(Ie("crypto")),EIt="ec",IIt="P-256",ZV=class{constructor(){this.keypair=iSe.default.generateKeyPairSync(EIt,{namedCurve:IIt})}async sign(t){let r=iSe.default.sign(null,t,this.keypair.privateKey),s=this.keypair.publicKey.export({format:"pem",type:"spki"}).toString("ascii");return{signature:r,key:{$case:"publicKey",publicKey:s}}}};Vw.EphemeralSigner=ZV});var oSe=G(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.FulcioSigner=ly.DEFAULT_FULCIO_URL=void 0;var $V=Ww(),CIt=wg(),wIt=nSe(),BIt=sSe();ly.DEFAULT_FULCIO_URL="https://fulcio.sigstore.dev";var e7=class{constructor(t){this.ca=new wIt.CAClient({...t,fulcioBaseURL:t.fulcioBaseURL||ly.DEFAULT_FULCIO_URL}),this.identityProvider=t.identityProvider,this.keyHolder=t.keyHolder||new BIt.EphemeralSigner}async sign(t){let r=await this.getIdentityToken(),s;try{s=CIt.oidc.extractJWTSubject(r)}catch(f){throw new $V.InternalError({code:"IDENTITY_TOKEN_PARSE_ERROR",message:`invalid identity token: ${r}`,cause:f})}let a=await this.keyHolder.sign(Buffer.from(s));if(a.key.$case!=="publicKey")throw new $V.InternalError({code:"CA_CREATE_SIGNING_CERTIFICATE_ERROR",message:"unexpected format for signing key"});let n=await this.ca.createSigningCertificate(r,a.key.publicKey,a.signature);return{signature:(await this.keyHolder.sign(t)).signature,key:{$case:"x509Certificate",certificate:n[0]}}}async getIdentityToken(){try{return await this.identityProvider.getToken()}catch(t){throw new $V.InternalError({code:"IDENTITY_TOKEN_READ_ERROR",message:"error retrieving identity token",cause:t})}}};ly.FulcioSigner=e7});var lSe=G(Jw=>{"use strict";Object.defineProperty(Jw,"__esModule",{value:!0});Jw.FulcioSigner=Jw.DEFAULT_FULCIO_URL=void 0;var aSe=oSe();Object.defineProperty(Jw,"DEFAULT_FULCIO_URL",{enumerable:!0,get:function(){return aSe.DEFAULT_FULCIO_URL}});Object.defineProperty(Jw,"FulcioSigner",{enumerable:!0,get:function(){return aSe.FulcioSigner}})});var fSe=G(fO=>{"use strict";Object.defineProperty(fO,"__esModule",{value:!0});fO.Rekor=void 0;var cSe=lO(),t7=class{constructor(t){this.options=t}async createEntry(t){let{baseURL:r,timeout:s,retry:a}=this.options,n=`${r}/api/v1/log/entries`,f=await(await(0,cSe.fetchWithRetry)(n,{headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(t),timeout:s,retry:a})).json();return uSe(f)}async getEntry(t){let{baseURL:r,timeout:s,retry:a}=this.options,n=`${r}/api/v1/log/entries/${t}`,f=await(await(0,cSe.fetchWithRetry)(n,{method:"GET",headers:{Accept:"application/json"},timeout:s,retry:a})).json();return uSe(f)}};fO.Rekor=t7;function uSe(e){let t=Object.entries(e);if(t.length!=1)throw new Error("Received multiple entries in Rekor response");let[r,s]=t[0];return{...s,uuid:r}}});var pSe=G(AO=>{"use strict";Object.defineProperty(AO,"__esModule",{value:!0});AO.TLogClient=void 0;var ASe=Ww(),vIt=iO(),SIt=fSe(),r7=class{constructor(t){this.fetchOnConflict=t.fetchOnConflict??!1,this.rekor=new SIt.Rekor({baseURL:t.rekorBaseURL,retry:t.retry,timeout:t.timeout})}async createEntry(t){let r;try{r=await this.rekor.createEntry(t)}catch(s){if(DIt(s)&&this.fetchOnConflict){let a=s.location.split("/").pop()||"";try{r=await this.rekor.getEntry(a)}catch(n){(0,ASe.internalError)(n,"TLOG_FETCH_ENTRY_ERROR","error fetching tlog entry")}}else(0,ASe.internalError)(s,"TLOG_CREATE_ENTRY_ERROR","error creating tlog entry")}return r}};AO.TLogClient=r7;function DIt(e){return e instanceof vIt.HTTPError&&e.statusCode===409&&e.location!==void 0}});var hSe=G(n7=>{"use strict";Object.defineProperty(n7,"__esModule",{value:!0});n7.toProposedEntry=PIt;var bIt=Ib(),Bg=wg(),Pb="sha256";function PIt(e,t,r="dsse"){switch(e.$case){case"dsseEnvelope":return r==="intoto"?QIt(e.dsseEnvelope,t):kIt(e.dsseEnvelope,t);case"messageSignature":return xIt(e.messageSignature,t)}}function xIt(e,t){let r=e.messageDigest.digest.toString("hex"),s=e.signature.toString("base64"),a=Bg.encoding.base64Encode(t);return{apiVersion:"0.0.1",kind:"hashedrekord",spec:{data:{hash:{algorithm:Pb,value:r}},signature:{content:s,publicKey:{content:a}}}}}function kIt(e,t){let r=JSON.stringify((0,bIt.envelopeToJSON)(e)),s=Bg.encoding.base64Encode(t);return{apiVersion:"0.0.1",kind:"dsse",spec:{proposedContent:{envelope:r,verifiers:[s]}}}}function QIt(e,t){let r=Bg.crypto.digest(Pb,e.payload).toString("hex"),s=RIt(e,t),a=Bg.encoding.base64Encode(e.payload.toString("base64")),n=Bg.encoding.base64Encode(e.signatures[0].sig.toString("base64")),c=e.signatures[0].keyid,f=Bg.encoding.base64Encode(t),p={payloadType:e.payloadType,payload:a,signatures:[{sig:n,publicKey:f}]};return c.length>0&&(p.signatures[0].keyid=c),{apiVersion:"0.0.2",kind:"intoto",spec:{content:{envelope:p,hash:{algorithm:Pb,value:s},payloadHash:{algorithm:Pb,value:r}}}}}function RIt(e,t){let r={payloadType:e.payloadType,payload:e.payload.toString("base64"),signatures:[{sig:e.signatures[0].sig.toString("base64"),publicKey:t}]};return e.signatures[0].keyid.length>0&&(r.signatures[0].keyid=e.signatures[0].keyid),Bg.crypto.digest(Pb,Bg.json.canonicalize(r)).toString("hex")}});var gSe=G(cy=>{"use strict";Object.defineProperty(cy,"__esModule",{value:!0});cy.RekorWitness=cy.DEFAULT_REKOR_URL=void 0;var TIt=wg(),FIt=pSe(),NIt=hSe();cy.DEFAULT_REKOR_URL="https://rekor.sigstore.dev";var i7=class{constructor(t){this.entryType=t.entryType,this.tlog=new FIt.TLogClient({...t,rekorBaseURL:t.rekorBaseURL||cy.DEFAULT_REKOR_URL})}async testify(t,r){let s=(0,NIt.toProposedEntry)(t,r,this.entryType),a=await this.tlog.createEntry(s);return OIt(a)}};cy.RekorWitness=i7;function OIt(e){let t=Buffer.from(e.logID,"hex"),r=TIt.encoding.base64Decode(e.body),s=JSON.parse(r),a=e?.verification?.signedEntryTimestamp?LIt(e.verification.signedEntryTimestamp):void 0,n=e?.verification?.inclusionProof?MIt(e.verification.inclusionProof):void 0;return{tlogEntries:[{logIndex:e.logIndex.toString(),logId:{keyId:t},integratedTime:e.integratedTime.toString(),kindVersion:{kind:s.kind,version:s.apiVersion},inclusionPromise:a,inclusionProof:n,canonicalizedBody:Buffer.from(e.body,"base64")}]}}function LIt(e){return{signedEntryTimestamp:Buffer.from(e,"base64")}}function MIt(e){return{logIndex:e.logIndex.toString(),treeSize:e.treeSize.toString(),rootHash:Buffer.from(e.rootHash,"hex"),hashes:e.hashes.map(t=>Buffer.from(t,"hex")),checkpoint:{envelope:e.checkpoint}}}});var dSe=G(pO=>{"use strict";Object.defineProperty(pO,"__esModule",{value:!0});pO.TimestampAuthority=void 0;var UIt=lO(),s7=class{constructor(t){this.options=t}async createTimestamp(t){let{baseURL:r,timeout:s,retry:a}=this.options,n=`${r}/api/v1/timestamp`;return(await(0,UIt.fetchWithRetry)(n,{headers:{"Content-Type":"application/json"},body:JSON.stringify(t),timeout:s,retry:a})).buffer()}};pO.TimestampAuthority=s7});var ySe=G(hO=>{"use strict";Object.defineProperty(hO,"__esModule",{value:!0});hO.TSAClient=void 0;var _It=Ww(),HIt=dSe(),jIt=wg(),mSe="sha256",o7=class{constructor(t){this.tsa=new HIt.TimestampAuthority({baseURL:t.tsaBaseURL,retry:t.retry,timeout:t.timeout})}async createTimestamp(t){let r={artifactHash:jIt.crypto.digest(mSe,t).toString("base64"),hashAlgorithm:mSe};try{return await this.tsa.createTimestamp(r)}catch(s){(0,_It.internalError)(s,"TSA_CREATE_TIMESTAMP_ERROR","error creating timestamp")}}};hO.TSAClient=o7});var ESe=G(gO=>{"use strict";Object.defineProperty(gO,"__esModule",{value:!0});gO.TSAWitness=void 0;var GIt=ySe(),a7=class{constructor(t){this.tsa=new GIt.TSAClient({tsaBaseURL:t.tsaBaseURL,retry:t.retry,timeout:t.timeout})}async testify(t){let r=qIt(t);return{rfc3161Timestamps:[{signedTimestamp:await this.tsa.createTimestamp(r)}]}}};gO.TSAWitness=a7;function qIt(e){switch(e.$case){case"dsseEnvelope":return e.dsseEnvelope.signatures[0].sig;case"messageSignature":return e.messageSignature.signature}}});var CSe=G(vg=>{"use strict";Object.defineProperty(vg,"__esModule",{value:!0});vg.TSAWitness=vg.RekorWitness=vg.DEFAULT_REKOR_URL=void 0;var ISe=gSe();Object.defineProperty(vg,"DEFAULT_REKOR_URL",{enumerable:!0,get:function(){return ISe.DEFAULT_REKOR_URL}});Object.defineProperty(vg,"RekorWitness",{enumerable:!0,get:function(){return ISe.RekorWitness}});var WIt=ESe();Object.defineProperty(vg,"TSAWitness",{enumerable:!0,get:function(){return WIt.TSAWitness}})});var c7=G(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.TSAWitness=Cs.RekorWitness=Cs.DEFAULT_REKOR_URL=Cs.FulcioSigner=Cs.DEFAULT_FULCIO_URL=Cs.CIContextProvider=Cs.InternalError=Cs.MessageSignatureBundleBuilder=Cs.DSSEBundleBuilder=void 0;var wSe=Lve();Object.defineProperty(Cs,"DSSEBundleBuilder",{enumerable:!0,get:function(){return wSe.DSSEBundleBuilder}});Object.defineProperty(Cs,"MessageSignatureBundleBuilder",{enumerable:!0,get:function(){return wSe.MessageSignatureBundleBuilder}});var YIt=Ww();Object.defineProperty(Cs,"InternalError",{enumerable:!0,get:function(){return YIt.InternalError}});var VIt=_ve();Object.defineProperty(Cs,"CIContextProvider",{enumerable:!0,get:function(){return VIt.CIContextProvider}});var BSe=lSe();Object.defineProperty(Cs,"DEFAULT_FULCIO_URL",{enumerable:!0,get:function(){return BSe.DEFAULT_FULCIO_URL}});Object.defineProperty(Cs,"FulcioSigner",{enumerable:!0,get:function(){return BSe.FulcioSigner}});var l7=CSe();Object.defineProperty(Cs,"DEFAULT_REKOR_URL",{enumerable:!0,get:function(){return l7.DEFAULT_REKOR_URL}});Object.defineProperty(Cs,"RekorWitness",{enumerable:!0,get:function(){return l7.RekorWitness}});Object.defineProperty(Cs,"TSAWitness",{enumerable:!0,get:function(){return l7.TSAWitness}})});var SSe=G(xb=>{"use strict";var vSe=xb&&xb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(xb,"__esModule",{value:!0});xb.appDataPath=KIt;var JIt=vSe(Ie("os")),Kw=vSe(Ie("path"));function KIt(e){let t=JIt.default.homedir();switch(process.platform){case"darwin":{let r=Kw.default.join(t,"Library","Application Support");return Kw.default.join(r,e)}case"win32":{let r=process.env.LOCALAPPDATA||Kw.default.join(t,"AppData","Local");return Kw.default.join(r,e,"Data")}default:{let r=process.env.XDG_DATA_HOME||Kw.default.join(t,".local","share");return Kw.default.join(r,e)}}}});var kA=G(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.UnsupportedAlgorithmError=xl.CryptoError=xl.LengthOrHashMismatchError=xl.UnsignedMetadataError=xl.RepositoryError=xl.ValueError=void 0;var u7=class extends Error{};xl.ValueError=u7;var kb=class extends Error{};xl.RepositoryError=kb;var f7=class extends kb{};xl.UnsignedMetadataError=f7;var A7=class extends kb{};xl.LengthOrHashMismatchError=A7;var dO=class extends Error{};xl.CryptoError=dO;var p7=class extends dO{};xl.UnsupportedAlgorithmError=p7});var bSe=G(Sg=>{"use strict";Object.defineProperty(Sg,"__esModule",{value:!0});Sg.isDefined=zIt;Sg.isObject=DSe;Sg.isStringArray=XIt;Sg.isObjectArray=ZIt;Sg.isStringRecord=$It;Sg.isObjectRecord=eCt;function zIt(e){return e!==void 0}function DSe(e){return typeof e=="object"&&e!==null}function XIt(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ZIt(e){return Array.isArray(e)&&e.every(DSe)}function $It(e){return typeof e=="object"&&e!==null&&Object.keys(e).every(t=>typeof t=="string")&&Object.values(e).every(t=>typeof t=="string")}function eCt(e){return typeof e=="object"&&e!==null&&Object.keys(e).every(t=>typeof t=="string")&&Object.values(e).every(t=>typeof t=="object"&&t!==null)}});var g7=G((atr,kSe)=>{var PSe=",",tCt=":",rCt="[",nCt="]",iCt="{",sCt="}";function h7(e){let t=[];if(typeof e=="string")t.push(xSe(e));else if(typeof e=="boolean")t.push(JSON.stringify(e));else if(Number.isInteger(e))t.push(JSON.stringify(e));else if(e===null)t.push(JSON.stringify(e));else if(Array.isArray(e)){t.push(rCt);let r=!0;e.forEach(s=>{r||t.push(PSe),r=!1,t.push(h7(s))}),t.push(nCt)}else if(typeof e=="object"){t.push(iCt);let r=!0;Object.keys(e).sort().forEach(s=>{r||t.push(PSe),r=!1,t.push(xSe(s)),t.push(tCt),t.push(h7(e[s]))}),t.push(sCt)}else throw new TypeError("cannot encode "+e.toString());return t.join("")}function xSe(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}kSe.exports={canonicalize:h7}});var QSe=G(zw=>{"use strict";var oCt=zw&&zw.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zw,"__esModule",{value:!0});zw.verifySignature=void 0;var aCt=g7(),lCt=oCt(Ie("crypto")),cCt=(e,t,r)=>{let s=Buffer.from((0,aCt.canonicalize)(e));return lCt.default.verify(void 0,s,t,Buffer.from(r,"hex"))};zw.verifySignature=cCt});var hf=G(eu=>{"use strict";var uCt=eu&&eu.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),fCt=eu&&eu.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),RSe=eu&&eu.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&uCt(t,e,r);return fCt(t,e),t};Object.defineProperty(eu,"__esModule",{value:!0});eu.crypto=eu.guard=void 0;eu.guard=RSe(bSe());eu.crypto=RSe(QSe())});var uy=G(ph=>{"use strict";var ACt=ph&&ph.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ph,"__esModule",{value:!0});ph.Signed=ph.MetadataKind=void 0;ph.isMetadataKind=hCt;var pCt=ACt(Ie("util")),Qb=kA(),d7=hf(),TSe=["1","0","31"],m7;(function(e){e.Root="root",e.Timestamp="timestamp",e.Snapshot="snapshot",e.Targets="targets"})(m7||(ph.MetadataKind=m7={}));function hCt(e){return typeof e=="string"&&Object.values(m7).includes(e)}var y7=class e{constructor(t){this.specVersion=t.specVersion||TSe.join(".");let r=this.specVersion.split(".");if(!(r.length===2||r.length===3)||!r.every(s=>gCt(s)))throw new Qb.ValueError("Failed to parse specVersion");if(r[0]!=TSe[0])throw new Qb.ValueError("Unsupported specVersion");this.expires=t.expires,this.version=t.version,this.unrecognizedFields=t.unrecognizedFields||{}}equals(t){return t instanceof e?this.specVersion===t.specVersion&&this.expires===t.expires&&this.version===t.version&&pCt.default.isDeepStrictEqual(this.unrecognizedFields,t.unrecognizedFields):!1}isExpired(t){return t||(t=new Date),t>=new Date(this.expires)}static commonFieldsFromJSON(t){let{spec_version:r,expires:s,version:a,...n}=t;if(d7.guard.isDefined(r)){if(typeof r!="string")throw new TypeError("spec_version must be a string")}else throw new Qb.ValueError("spec_version is not defined");if(d7.guard.isDefined(s)){if(typeof s!="string")throw new TypeError("expires must be a string")}else throw new Qb.ValueError("expires is not defined");if(d7.guard.isDefined(a)){if(typeof a!="number")throw new TypeError("version must be a number")}else throw new Qb.ValueError("version is not defined");return{specVersion:r,expires:s,version:a,unrecognizedFields:n}}};ph.Signed=y7;function gCt(e){return!isNaN(Number(e))}});var Rb=G(bg=>{"use strict";var FSe=bg&&bg.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(bg,"__esModule",{value:!0});bg.TargetFile=bg.MetaFile=void 0;var NSe=FSe(Ie("crypto")),yO=FSe(Ie("util")),Dg=kA(),mO=hf(),E7=class e{constructor(t){if(t.version<=0)throw new Dg.ValueError("Metafile version must be at least 1");t.length!==void 0&&OSe(t.length),this.version=t.version,this.length=t.length,this.hashes=t.hashes,this.unrecognizedFields=t.unrecognizedFields||{}}equals(t){return t instanceof e?this.version===t.version&&this.length===t.length&&yO.default.isDeepStrictEqual(this.hashes,t.hashes)&&yO.default.isDeepStrictEqual(this.unrecognizedFields,t.unrecognizedFields):!1}verify(t){if(this.length!==void 0&&t.length!==this.length)throw new Dg.LengthOrHashMismatchError(`Expected length ${this.length} but got ${t.length}`);this.hashes&&Object.entries(this.hashes).forEach(([r,s])=>{let a;try{a=NSe.default.createHash(r)}catch{throw new Dg.LengthOrHashMismatchError(`Hash algorithm ${r} not supported`)}let n=a.update(t).digest("hex");if(n!==s)throw new Dg.LengthOrHashMismatchError(`Expected hash ${s} but got ${n}`)})}toJSON(){let t={version:this.version,...this.unrecognizedFields};return this.length!==void 0&&(t.length=this.length),this.hashes&&(t.hashes=this.hashes),t}static fromJSON(t){let{version:r,length:s,hashes:a,...n}=t;if(typeof r!="number")throw new TypeError("version must be a number");if(mO.guard.isDefined(s)&&typeof s!="number")throw new TypeError("length must be a number");if(mO.guard.isDefined(a)&&!mO.guard.isStringRecord(a))throw new TypeError("hashes must be string keys and values");return new e({version:r,length:s,hashes:a,unrecognizedFields:n})}};bg.MetaFile=E7;var I7=class e{constructor(t){OSe(t.length),this.length=t.length,this.path=t.path,this.hashes=t.hashes,this.unrecognizedFields=t.unrecognizedFields||{}}get custom(){let t=this.unrecognizedFields.custom;return!t||Array.isArray(t)||typeof t!="object"?{}:t}equals(t){return t instanceof e?this.length===t.length&&this.path===t.path&&yO.default.isDeepStrictEqual(this.hashes,t.hashes)&&yO.default.isDeepStrictEqual(this.unrecognizedFields,t.unrecognizedFields):!1}async verify(t){let r=0,s=Object.keys(this.hashes).reduce((a,n)=>{try{a[n]=NSe.default.createHash(n)}catch{throw new Dg.LengthOrHashMismatchError(`Hash algorithm ${n} not supported`)}return a},{});for await(let a of t)r+=a.length,Object.values(s).forEach(n=>{n.update(a)});if(r!==this.length)throw new Dg.LengthOrHashMismatchError(`Expected length ${this.length} but got ${r}`);Object.entries(s).forEach(([a,n])=>{let c=this.hashes[a],f=n.digest("hex");if(f!==c)throw new Dg.LengthOrHashMismatchError(`Expected hash ${c} but got ${f}`)})}toJSON(){return{length:this.length,hashes:this.hashes,...this.unrecognizedFields}}static fromJSON(t,r){let{length:s,hashes:a,...n}=r;if(typeof s!="number")throw new TypeError("length must be a number");if(!mO.guard.isStringRecord(a))throw new TypeError("hashes must have string keys and values");return new e({length:s,path:t,hashes:a,unrecognizedFields:n})}};bg.TargetFile=I7;function OSe(e){if(e<0)throw new Dg.ValueError("Length must be at least 0")}});var LSe=G(C7=>{"use strict";Object.defineProperty(C7,"__esModule",{value:!0});C7.encodeOIDString=mCt;var dCt=6;function mCt(e){let t=e.split("."),r=parseInt(t[0],10)*40+parseInt(t[1],10),s=[];t.slice(2).forEach(n=>{let c=yCt(parseInt(n,10));s.push(...c)});let a=Buffer.from([r,...s]);return Buffer.from([dCt,a.length,...a])}function yCt(e){let t=[],r=0;for(;e>0;)t.unshift(e&127|r),e>>=7,r=128;return t}});var HSe=G(Fb=>{"use strict";var ECt=Fb&&Fb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fb,"__esModule",{value:!0});Fb.getPublicKey=BCt;var Xw=ECt(Ie("crypto")),Tb=kA(),w7=LSe(),EO=48,MSe=3,USe=0,ICt="1.3.101.112",CCt="1.2.840.10045.2.1",wCt="1.2.840.10045.3.1.7",B7="-----BEGIN PUBLIC KEY-----";function BCt(e){switch(e.keyType){case"rsa":return vCt(e);case"ed25519":return SCt(e);case"ecdsa":case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":return DCt(e);default:throw new Tb.UnsupportedAlgorithmError(`Unsupported key type: ${e.keyType}`)}}function vCt(e){if(!e.keyVal.startsWith(B7))throw new Tb.CryptoError("Invalid key format");let t=Xw.default.createPublicKey(e.keyVal);switch(e.scheme){case"rsassa-pss-sha256":return{key:t,padding:Xw.default.constants.RSA_PKCS1_PSS_PADDING};default:throw new Tb.UnsupportedAlgorithmError(`Unsupported RSA scheme: ${e.scheme}`)}}function SCt(e){let t;if(e.keyVal.startsWith(B7))t=Xw.default.createPublicKey(e.keyVal);else{if(!_Se(e.keyVal))throw new Tb.CryptoError("Invalid key format");t=Xw.default.createPublicKey({key:bCt.hexToDER(e.keyVal),format:"der",type:"spki"})}return{key:t}}function DCt(e){let t;if(e.keyVal.startsWith(B7))t=Xw.default.createPublicKey(e.keyVal);else{if(!_Se(e.keyVal))throw new Tb.CryptoError("Invalid key format");t=Xw.default.createPublicKey({key:PCt.hexToDER(e.keyVal),format:"der",type:"spki"})}return{key:t}}var bCt={hexToDER:e=>{let t=Buffer.from(e,"hex"),r=(0,w7.encodeOIDString)(ICt),s=Buffer.concat([Buffer.concat([Buffer.from([EO]),Buffer.from([r.length]),r]),Buffer.concat([Buffer.from([MSe]),Buffer.from([t.length+1]),Buffer.from([USe]),t])]);return Buffer.concat([Buffer.from([EO]),Buffer.from([s.length]),s])}},PCt={hexToDER:e=>{let t=Buffer.from(e,"hex"),r=Buffer.concat([Buffer.from([MSe]),Buffer.from([t.length+1]),Buffer.from([USe]),t]),s=Buffer.concat([(0,w7.encodeOIDString)(CCt),(0,w7.encodeOIDString)(wCt)]),a=Buffer.concat([Buffer.from([EO]),Buffer.from([s.length]),s]);return Buffer.concat([Buffer.from([EO]),Buffer.from([a.length+r.length]),a,r])}},_Se=e=>/^[0-9a-fA-F]+$/.test(e)});var IO=G(Zw=>{"use strict";var xCt=Zw&&Zw.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Zw,"__esModule",{value:!0});Zw.Key=void 0;var jSe=xCt(Ie("util")),Nb=kA(),GSe=hf(),kCt=HSe(),v7=class e{constructor(t){let{keyID:r,keyType:s,scheme:a,keyVal:n,unrecognizedFields:c}=t;this.keyID=r,this.keyType=s,this.scheme=a,this.keyVal=n,this.unrecognizedFields=c||{}}verifySignature(t){let r=t.signatures[this.keyID];if(!r)throw new Nb.UnsignedMetadataError("no signature for key found in metadata");if(!this.keyVal.public)throw new Nb.UnsignedMetadataError("no public key found");let s=(0,kCt.getPublicKey)({keyType:this.keyType,scheme:this.scheme,keyVal:this.keyVal.public}),a=t.signed.toJSON();try{if(!GSe.crypto.verifySignature(a,s,r.sig))throw new Nb.UnsignedMetadataError(`failed to verify ${this.keyID} signature`)}catch(n){throw n instanceof Nb.UnsignedMetadataError?n:new Nb.UnsignedMetadataError(`failed to verify ${this.keyID} signature`)}}equals(t){return t instanceof e?this.keyID===t.keyID&&this.keyType===t.keyType&&this.scheme===t.scheme&&jSe.default.isDeepStrictEqual(this.keyVal,t.keyVal)&&jSe.default.isDeepStrictEqual(this.unrecognizedFields,t.unrecognizedFields):!1}toJSON(){return{keytype:this.keyType,scheme:this.scheme,keyval:this.keyVal,...this.unrecognizedFields}}static fromJSON(t,r){let{keytype:s,scheme:a,keyval:n,...c}=r;if(typeof s!="string")throw new TypeError("keytype must be a string");if(typeof a!="string")throw new TypeError("scheme must be a string");if(!GSe.guard.isStringRecord(n))throw new TypeError("keyval must be a string record");return new e({keyID:t,keyType:s,scheme:a,keyVal:n,unrecognizedFields:c})}};Zw.Key=v7});var JSe=G((dtr,VSe)=>{"use strict";VSe.exports=WSe;function WSe(e,t,r){e instanceof RegExp&&(e=qSe(e,r)),t instanceof RegExp&&(t=qSe(t,r));var s=YSe(e,t,r);return s&&{start:s[0],end:s[1],pre:r.slice(0,s[0]),body:r.slice(s[0]+e.length,s[1]),post:r.slice(s[1]+t.length)}}function qSe(e,t){var r=t.match(e);return r?r[0]:null}WSe.range=YSe;function YSe(e,t,r){var s,a,n,c,f,p=r.indexOf(e),h=r.indexOf(t,p+1),E=p;if(p>=0&&h>0){for(s=[],n=r.length;E>=0&&!f;)E==p?(s.push(E),p=r.indexOf(e,E+1)):s.length==1?f=[s.pop(),h]:(a=s.pop(),a=0?p:h;s.length&&(f=[n,c])}return f}});var rDe=G((mtr,tDe)=>{var KSe=JSe();tDe.exports=TCt;var zSe="\0SLASH"+Math.random()+"\0",XSe="\0OPEN"+Math.random()+"\0",D7="\0CLOSE"+Math.random()+"\0",ZSe="\0COMMA"+Math.random()+"\0",$Se="\0PERIOD"+Math.random()+"\0";function S7(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function QCt(e){return e.split("\\\\").join(zSe).split("\\{").join(XSe).split("\\}").join(D7).split("\\,").join(ZSe).split("\\.").join($Se)}function RCt(e){return e.split(zSe).join("\\").split(XSe).join("{").split(D7).join("}").split(ZSe).join(",").split($Se).join(".")}function eDe(e){if(!e)return[""];var t=[],r=KSe("{","}",e);if(!r)return e.split(",");var s=r.pre,a=r.body,n=r.post,c=s.split(",");c[c.length-1]+="{"+a+"}";var f=eDe(n);return n.length&&(c[c.length-1]+=f.shift(),c.push.apply(c,f)),t.push.apply(t,c),t}function TCt(e){return e?(e.substr(0,2)==="{}"&&(e="\\{\\}"+e.substr(2)),Ob(QCt(e),!0).map(RCt)):[]}function FCt(e){return"{"+e+"}"}function NCt(e){return/^-?0\d/.test(e)}function OCt(e,t){return e<=t}function LCt(e,t){return e>=t}function Ob(e,t){var r=[],s=KSe("{","}",e);if(!s)return[e];var a=s.pre,n=s.post.length?Ob(s.post,!1):[""];if(/\$$/.test(s.pre))for(var c=0;c=0;if(!E&&!C)return s.post.match(/,.*\}/)?(e=s.pre+"{"+s.body+D7+s.post,Ob(e)):[e];var S;if(E)S=s.body.split(/\.\./);else if(S=eDe(s.body),S.length===1&&(S=Ob(S[0],!1).map(FCt),S.length===1))return n.map(function(Ee){return s.pre+S[0]+Ee});var x;if(E){var I=S7(S[0]),T=S7(S[1]),O=Math.max(S[0].length,S[1].length),U=S.length==3?Math.abs(S7(S[2])):1,V=OCt,te=T0){var Ae=new Array(de+1).join("0");ue<0?ae="-"+Ae+ae.slice(1):ae=Ae+ae}}x.push(ae)}}else{x=[];for(var Ce=0;Ce{"use strict";Object.defineProperty(CO,"__esModule",{value:!0});CO.assertValidPattern=void 0;var MCt=1024*64,UCt=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>MCt)throw new TypeError("pattern is too long")};CO.assertValidPattern=UCt});var sDe=G(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});wO.parseClass=void 0;var _Ct={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Lb=e=>e.replace(/[[\]\\-]/g,"\\$&"),HCt=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),iDe=e=>e.join(""),jCt=(e,t)=>{let r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");let s=[],a=[],n=r+1,c=!1,f=!1,p=!1,h=!1,E=r,C="";e:for(;nC?s.push(Lb(C)+"-"+Lb(T)):T===C&&s.push(Lb(T)),C="",n++;continue}if(e.startsWith("-]",n+1)){s.push(Lb(T+"-")),n+=2;continue}if(e.startsWith("-",n+1)){C=T,n+=2;continue}s.push(Lb(T)),n++}if(E{"use strict";Object.defineProperty(BO,"__esModule",{value:!0});BO.unescape=void 0;var GCt=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");BO.unescape=GCt});var x7=G(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});bO.AST=void 0;var qCt=sDe(),SO=vO(),WCt=new Set(["!","?","+","*","@"]),oDe=e=>WCt.has(e),YCt="(?!(?:^|/)\\.\\.?(?:$|/))",DO="(?!\\.)",VCt=new Set(["[","."]),JCt=new Set(["..","."]),KCt=new Set("().*{}+?[]^$\\!"),zCt=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),P7="[^/]",aDe=P7+"*?",lDe=P7+"+?",b7=class e{type;#e;#t;#s=!1;#r=[];#i;#n;#o;#l=!1;#a;#c;#f=!1;constructor(t,r,s={}){this.type=t,t&&(this.#t=!0),this.#i=r,this.#e=this.#i?this.#i.#e:this,this.#a=this.#e===this?s:this.#e.#a,this.#o=this.#e===this?[]:this.#e.#o,t==="!"&&!this.#e.#l&&this.#o.push(this),this.#n=this.#i?this.#i.#r.length:0}get hasMagic(){if(this.#t!==void 0)return this.#t;for(let t of this.#r)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#t=!0;return this.#t}toString(){return this.#c!==void 0?this.#c:this.type?this.#c=this.type+"("+this.#r.map(t=>String(t)).join("|")+")":this.#c=this.#r.map(t=>String(t)).join("")}#p(){if(this!==this.#e)throw new Error("should only call on root");if(this.#l)return this;this.toString(),this.#l=!0;let t;for(;t=this.#o.pop();){if(t.type!=="!")continue;let r=t,s=r.#i;for(;s;){for(let a=r.#n+1;!s.type&&atypeof r=="string"?r:r.toJSON()):[this.type,...this.#r.map(r=>r.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#l&&this.#i?.type==="!")&&t.push({}),t}isStart(){if(this.#e===this)return!0;if(!this.#i?.isStart())return!1;if(this.#n===0)return!0;let t=this.#i;for(let r=0;r{let[I,T,O,U]=typeof x=="string"?e.#h(x,this.#t,p):x.toRegExpSource(t);return this.#t=this.#t||O,this.#s=this.#s||U,I}).join(""),E="";if(this.isStart()&&typeof this.#r[0]=="string"&&!(this.#r.length===1&&JCt.has(this.#r[0]))){let I=VCt,T=r&&I.has(h.charAt(0))||h.startsWith("\\.")&&I.has(h.charAt(2))||h.startsWith("\\.\\.")&&I.has(h.charAt(4)),O=!r&&!t&&I.has(h.charAt(0));E=T?YCt:O?DO:""}let C="";return this.isEnd()&&this.#e.#l&&this.#i?.type==="!"&&(C="(?:$|\\/)"),[E+h+C,(0,SO.unescape)(h),this.#t=!!this.#t,this.#s]}let s=this.type==="*"||this.type==="+",a=this.type==="!"?"(?:(?!(?:":"(?:",n=this.#A(r);if(this.isStart()&&this.isEnd()&&!n&&this.type!=="!"){let p=this.toString();return this.#r=[p],this.type=null,this.#t=void 0,[p,(0,SO.unescape)(this.toString()),!1,!1]}let c=!s||t||r||!DO?"":this.#A(!0);c===n&&(c=""),c&&(n=`(?:${n})(?:${c})*?`);let f="";if(this.type==="!"&&this.#f)f=(this.isStart()&&!r?DO:"")+lDe;else{let p=this.type==="!"?"))"+(this.isStart()&&!r&&!t?DO:"")+aDe+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&c?")":this.type==="*"&&c?")?":`)${this.type}`;f=a+n+p}return[f,(0,SO.unescape)(n),this.#t=!!this.#t,this.#s]}#A(t){return this.#r.map(r=>{if(typeof r=="string")throw new Error("string type in extglob ast??");let[s,a,n,c]=r.toRegExpSource(t);return this.#s=this.#s||c,s}).filter(r=>!(this.isStart()&&this.isEnd())||!!r).join("|")}static#h(t,r,s=!1){let a=!1,n="",c=!1;for(let f=0;f{"use strict";Object.defineProperty(PO,"__esModule",{value:!0});PO.escape=void 0;var XCt=(e,{windowsPathsNoEscape:t=!1}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");PO.escape=XCt});var gDe=G(pr=>{"use strict";var ZCt=pr&&pr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pr,"__esModule",{value:!0});pr.unescape=pr.escape=pr.AST=pr.Minimatch=pr.match=pr.makeRe=pr.braceExpand=pr.defaults=pr.filter=pr.GLOBSTAR=pr.sep=pr.minimatch=void 0;var $Ct=ZCt(rDe()),xO=nDe(),fDe=x7(),ewt=k7(),twt=vO(),rwt=(e,t,r={})=>((0,xO.assertValidPattern)(t),!r.nocomment&&t.charAt(0)==="#"?!1:new fy(t,r).match(e));pr.minimatch=rwt;var nwt=/^\*+([^+@!?\*\[\(]*)$/,iwt=e=>t=>!t.startsWith(".")&&t.endsWith(e),swt=e=>t=>t.endsWith(e),owt=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),awt=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),lwt=/^\*+\.\*+$/,cwt=e=>!e.startsWith(".")&&e.includes("."),uwt=e=>e!=="."&&e!==".."&&e.includes("."),fwt=/^\.\*+$/,Awt=e=>e!=="."&&e!==".."&&e.startsWith("."),pwt=/^\*+$/,hwt=e=>e.length!==0&&!e.startsWith("."),gwt=e=>e.length!==0&&e!=="."&&e!=="..",dwt=/^\?+([^+@!?\*\[\(]*)?$/,mwt=([e,t=""])=>{let r=ADe([e]);return t?(t=t.toLowerCase(),s=>r(s)&&s.toLowerCase().endsWith(t)):r},ywt=([e,t=""])=>{let r=pDe([e]);return t?(t=t.toLowerCase(),s=>r(s)&&s.toLowerCase().endsWith(t)):r},Ewt=([e,t=""])=>{let r=pDe([e]);return t?s=>r(s)&&s.endsWith(t):r},Iwt=([e,t=""])=>{let r=ADe([e]);return t?s=>r(s)&&s.endsWith(t):r},ADe=([e])=>{let t=e.length;return r=>r.length===t&&!r.startsWith(".")},pDe=([e])=>{let t=e.length;return r=>r.length===t&&r!=="."&&r!==".."},hDe=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",cDe={win32:{sep:"\\"},posix:{sep:"/"}};pr.sep=hDe==="win32"?cDe.win32.sep:cDe.posix.sep;pr.minimatch.sep=pr.sep;pr.GLOBSTAR=Symbol("globstar **");pr.minimatch.GLOBSTAR=pr.GLOBSTAR;var Cwt="[^/]",wwt=Cwt+"*?",Bwt="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",vwt="(?:(?!(?:\\/|^)\\.).)*?",Swt=(e,t={})=>r=>(0,pr.minimatch)(r,e,t);pr.filter=Swt;pr.minimatch.filter=pr.filter;var tu=(e,t={})=>Object.assign({},e,t),Dwt=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return pr.minimatch;let t=pr.minimatch;return Object.assign((s,a,n={})=>t(s,a,tu(e,n)),{Minimatch:class extends t.Minimatch{constructor(a,n={}){super(a,tu(e,n))}static defaults(a){return t.defaults(tu(e,a)).Minimatch}},AST:class extends t.AST{constructor(a,n,c={}){super(a,n,tu(e,c))}static fromGlob(a,n={}){return t.AST.fromGlob(a,tu(e,n))}},unescape:(s,a={})=>t.unescape(s,tu(e,a)),escape:(s,a={})=>t.escape(s,tu(e,a)),filter:(s,a={})=>t.filter(s,tu(e,a)),defaults:s=>t.defaults(tu(e,s)),makeRe:(s,a={})=>t.makeRe(s,tu(e,a)),braceExpand:(s,a={})=>t.braceExpand(s,tu(e,a)),match:(s,a,n={})=>t.match(s,a,tu(e,n)),sep:t.sep,GLOBSTAR:pr.GLOBSTAR})};pr.defaults=Dwt;pr.minimatch.defaults=pr.defaults;var bwt=(e,t={})=>((0,xO.assertValidPattern)(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:(0,$Ct.default)(e));pr.braceExpand=bwt;pr.minimatch.braceExpand=pr.braceExpand;var Pwt=(e,t={})=>new fy(e,t).makeRe();pr.makeRe=Pwt;pr.minimatch.makeRe=pr.makeRe;var xwt=(e,t,r={})=>{let s=new fy(t,r);return e=e.filter(a=>s.match(a)),s.options.nonull&&!e.length&&e.push(t),e};pr.match=xwt;pr.minimatch.match=pr.match;var uDe=/[?*]|[+@!]\(.*?\)|\[|\]/,kwt=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),fy=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,r={}){(0,xO.assertValidPattern)(t),r=r||{},this.options=r,this.pattern=t,this.platform=r.platform||hDe,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=r.windowsNoMagicRoot!==void 0?r.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let r of t)if(typeof r!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,r=this.options;if(!r.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...n)=>console.error(...n)),this.debug(this.pattern,this.globSet);let s=this.globSet.map(n=>this.slashSplit(n));this.globParts=this.preprocess(s),this.debug(this.pattern,this.globParts);let a=this.globParts.map((n,c,f)=>{if(this.isWindows&&this.windowsNoMagicRoot){let p=n[0]===""&&n[1]===""&&(n[2]==="?"||!uDe.test(n[2]))&&!uDe.test(n[3]),h=/^[a-z]:/i.test(n[0]);if(p)return[...n.slice(0,4),...n.slice(4).map(E=>this.parse(E))];if(h)return[n[0],...n.slice(1).map(E=>this.parse(E))]}return n.map(p=>this.parse(p))});if(this.debug(this.pattern,a),this.set=a.filter(n=>n.indexOf(!1)===-1),this.isWindows)for(let n=0;n=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):r>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(r=>{let s=-1;for(;(s=r.indexOf("**",s+1))!==-1;){let a=s;for(;r[a+1]==="**";)a++;a!==s&&r.splice(s,a-s)}return r})}levelOneOptimize(t){return t.map(r=>(r=r.reduce((s,a)=>{let n=s[s.length-1];return a==="**"&&n==="**"?s:a===".."&&n&&n!==".."&&n!=="."&&n!=="**"?(s.pop(),s):(s.push(a),s)},[]),r.length===0?[""]:r))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let a=1;aa&&s.splice(a+1,c-a);let f=s[a+1],p=s[a+2],h=s[a+3];if(f!==".."||!p||p==="."||p===".."||!h||h==="."||h==="..")continue;r=!0,s.splice(a,1);let E=s.slice(0);E[a]="**",t.push(E),a--}if(!this.preserveMultipleSlashes){for(let c=1;cr.length)}partsMatch(t,r,s=!1){let a=0,n=0,c=[],f="";for(;ate?r=r.slice(ie):te>ie&&(t=t.slice(te)))}}let{optimizationLevel:n=1}=this.options;n>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:r}),this.debug("matchOne",t.length,r.length);for(var c=0,f=0,p=t.length,h=r.length;c>> no match, partial?`,t,S,r,x),S===p))}let T;if(typeof E=="string"?(T=C===E,this.debug("string match",E,C,T)):(T=E.test(C),this.debug("pattern match",E,C,T)),!T)return!1}if(c===p&&f===h)return!0;if(c===p)return s;if(f===h)return c===p-1&&t[c]==="";throw new Error("wtf?")}braceExpand(){return(0,pr.braceExpand)(this.pattern,this.options)}parse(t){(0,xO.assertValidPattern)(t);let r=this.options;if(t==="**")return pr.GLOBSTAR;if(t==="")return"";let s,a=null;(s=t.match(pwt))?a=r.dot?gwt:hwt:(s=t.match(nwt))?a=(r.nocase?r.dot?awt:owt:r.dot?swt:iwt)(s[1]):(s=t.match(dwt))?a=(r.nocase?r.dot?ywt:mwt:r.dot?Ewt:Iwt)(s):(s=t.match(lwt))?a=r.dot?uwt:cwt:(s=t.match(fwt))&&(a=Awt);let n=fDe.AST.fromGlob(t,this.options).toMMPattern();return a&&typeof n=="object"&&Reflect.defineProperty(n,"test",{value:a}),n}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let r=this.options,s=r.noglobstar?wwt:r.dot?Bwt:vwt,a=new Set(r.nocase?["i"]:[]),n=t.map(p=>{let h=p.map(E=>{if(E instanceof RegExp)for(let C of E.flags.split(""))a.add(C);return typeof E=="string"?kwt(E):E===pr.GLOBSTAR?pr.GLOBSTAR:E._src});return h.forEach((E,C)=>{let S=h[C+1],x=h[C-1];E!==pr.GLOBSTAR||x===pr.GLOBSTAR||(x===void 0?S!==void 0&&S!==pr.GLOBSTAR?h[C+1]="(?:\\/|"+s+"\\/)?"+S:h[C]=s:S===void 0?h[C-1]=x+"(?:\\/|"+s+")?":S!==pr.GLOBSTAR&&(h[C-1]=x+"(?:\\/|\\/"+s+"\\/)"+S,h[C+1]=pr.GLOBSTAR))}),h.filter(E=>E!==pr.GLOBSTAR).join("/")}).join("|"),[c,f]=t.length>1?["(?:",")"]:["",""];n="^"+c+n+f+"$",this.negate&&(n="^(?!"+n+").+$");try{this.regexp=new RegExp(n,[...a].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,r=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&r)return!0;let s=this.options;this.isWindows&&(t=t.split("\\").join("/"));let a=this.slashSplit(t);this.debug(this.pattern,"split",a);let n=this.set;this.debug(this.pattern,"set",n);let c=a[a.length-1];if(!c)for(let f=a.length-2;!c&&f>=0;f--)c=a[f];for(let f=0;f{"use strict";var dDe=ru&&ru.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ru,"__esModule",{value:!0});ru.SuccinctRoles=ru.DelegatedRole=ru.Role=ru.TOP_LEVEL_ROLE_NAMES=void 0;var mDe=dDe(Ie("crypto")),Fwt=gDe(),kO=dDe(Ie("util")),QO=kA(),Ay=hf();ru.TOP_LEVEL_ROLE_NAMES=["root","targets","snapshot","timestamp"];var Mb=class e{constructor(t){let{keyIDs:r,threshold:s,unrecognizedFields:a}=t;if(Nwt(r))throw new QO.ValueError("duplicate key IDs found");if(s<1)throw new QO.ValueError("threshold must be at least 1");this.keyIDs=r,this.threshold=s,this.unrecognizedFields=a||{}}equals(t){return t instanceof e?this.threshold===t.threshold&&kO.default.isDeepStrictEqual(this.keyIDs,t.keyIDs)&&kO.default.isDeepStrictEqual(this.unrecognizedFields,t.unrecognizedFields):!1}toJSON(){return{keyids:this.keyIDs,threshold:this.threshold,...this.unrecognizedFields}}static fromJSON(t){let{keyids:r,threshold:s,...a}=t;if(!Ay.guard.isStringArray(r))throw new TypeError("keyids must be an array");if(typeof s!="number")throw new TypeError("threshold must be a number");return new e({keyIDs:r,threshold:s,unrecognizedFields:a})}};ru.Role=Mb;function Nwt(e){return new Set(e).size!==e.length}var Q7=class e extends Mb{constructor(t){super(t);let{name:r,terminating:s,paths:a,pathHashPrefixes:n}=t;if(this.name=r,this.terminating=s,t.paths&&t.pathHashPrefixes)throw new QO.ValueError("paths and pathHashPrefixes are mutually exclusive");this.paths=a,this.pathHashPrefixes=n}equals(t){return t instanceof e?super.equals(t)&&this.name===t.name&&this.terminating===t.terminating&&kO.default.isDeepStrictEqual(this.paths,t.paths)&&kO.default.isDeepStrictEqual(this.pathHashPrefixes,t.pathHashPrefixes):!1}isDelegatedPath(t){if(this.paths)return this.paths.some(r=>Lwt(t,r));if(this.pathHashPrefixes){let s=mDe.default.createHash("sha256").update(t).digest("hex");return this.pathHashPrefixes.some(a=>s.startsWith(a))}return!1}toJSON(){let t={...super.toJSON(),name:this.name,terminating:this.terminating};return this.paths&&(t.paths=this.paths),this.pathHashPrefixes&&(t.path_hash_prefixes=this.pathHashPrefixes),t}static fromJSON(t){let{keyids:r,threshold:s,name:a,terminating:n,paths:c,path_hash_prefixes:f,...p}=t;if(!Ay.guard.isStringArray(r))throw new TypeError("keyids must be an array of strings");if(typeof s!="number")throw new TypeError("threshold must be a number");if(typeof a!="string")throw new TypeError("name must be a string");if(typeof n!="boolean")throw new TypeError("terminating must be a boolean");if(Ay.guard.isDefined(c)&&!Ay.guard.isStringArray(c))throw new TypeError("paths must be an array of strings");if(Ay.guard.isDefined(f)&&!Ay.guard.isStringArray(f))throw new TypeError("path_hash_prefixes must be an array of strings");return new e({keyIDs:r,threshold:s,name:a,terminating:n,paths:c,pathHashPrefixes:f,unrecognizedFields:p})}};ru.DelegatedRole=Q7;var Owt=(e,t)=>e.map((r,s)=>[r,t[s]]);function Lwt(e,t){let r=e.split("/"),s=t.split("/");return s.length!=r.length?!1:Owt(r,s).every(([a,n])=>(0,Fwt.minimatch)(a,n))}var R7=class e extends Mb{constructor(t){super(t);let{bitLength:r,namePrefix:s}=t;if(r<=0||r>32)throw new QO.ValueError("bitLength must be between 1 and 32");this.bitLength=r,this.namePrefix=s,this.numberOfBins=Math.pow(2,r),this.suffixLen=(this.numberOfBins-1).toString(16).length}equals(t){return t instanceof e?super.equals(t)&&this.bitLength===t.bitLength&&this.namePrefix===t.namePrefix:!1}getRoleForTarget(t){let a=mDe.default.createHash("sha256").update(t).digest().subarray(0,4),n=32-this.bitLength,f=(a.readUInt32BE()>>>n).toString(16).padStart(this.suffixLen,"0");return`${this.namePrefix}-${f}`}*getRoles(){for(let t=0;t{"use strict";var Mwt=$w&&$w.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($w,"__esModule",{value:!0});$w.Root=void 0;var yDe=Mwt(Ie("util")),F7=uy(),EDe=kA(),Uwt=IO(),RO=T7(),TO=hf(),N7=class e extends F7.Signed{constructor(t){if(super(t),this.type=F7.MetadataKind.Root,this.keys=t.keys||{},this.consistentSnapshot=t.consistentSnapshot??!0,!t.roles)this.roles=RO.TOP_LEVEL_ROLE_NAMES.reduce((r,s)=>({...r,[s]:new RO.Role({keyIDs:[],threshold:1})}),{});else{let r=new Set(Object.keys(t.roles));if(!RO.TOP_LEVEL_ROLE_NAMES.every(s=>r.has(s)))throw new EDe.ValueError("missing top-level role");this.roles=t.roles}}addKey(t,r){if(!this.roles[r])throw new EDe.ValueError(`role ${r} does not exist`);this.roles[r].keyIDs.includes(t.keyID)||this.roles[r].keyIDs.push(t.keyID),this.keys[t.keyID]=t}equals(t){return t instanceof e?super.equals(t)&&this.consistentSnapshot===t.consistentSnapshot&&yDe.default.isDeepStrictEqual(this.keys,t.keys)&&yDe.default.isDeepStrictEqual(this.roles,t.roles):!1}toJSON(){return{_type:this.type,spec_version:this.specVersion,version:this.version,expires:this.expires,keys:_wt(this.keys),roles:Hwt(this.roles),consistent_snapshot:this.consistentSnapshot,...this.unrecognizedFields}}static fromJSON(t){let{unrecognizedFields:r,...s}=F7.Signed.commonFieldsFromJSON(t),{keys:a,roles:n,consistent_snapshot:c,...f}=r;if(typeof c!="boolean")throw new TypeError("consistent_snapshot must be a boolean");return new e({...s,keys:jwt(a),roles:Gwt(n),consistentSnapshot:c,unrecognizedFields:f})}};$w.Root=N7;function _wt(e){return Object.entries(e).reduce((t,[r,s])=>({...t,[r]:s.toJSON()}),{})}function Hwt(e){return Object.entries(e).reduce((t,[r,s])=>({...t,[r]:s.toJSON()}),{})}function jwt(e){let t;if(TO.guard.isDefined(e)){if(!TO.guard.isObjectRecord(e))throw new TypeError("keys must be an object");t=Object.entries(e).reduce((r,[s,a])=>({...r,[s]:Uwt.Key.fromJSON(s,a)}),{})}return t}function Gwt(e){let t;if(TO.guard.isDefined(e)){if(!TO.guard.isObjectRecord(e))throw new TypeError("roles must be an object");t=Object.entries(e).reduce((r,[s,a])=>({...r,[s]:RO.Role.fromJSON(a)}),{})}return t}});var M7=G(FO=>{"use strict";Object.defineProperty(FO,"__esModule",{value:!0});FO.Signature=void 0;var L7=class e{constructor(t){let{keyID:r,sig:s}=t;this.keyID=r,this.sig=s}toJSON(){return{keyid:this.keyID,sig:this.sig}}static fromJSON(t){let{keyid:r,sig:s}=t;if(typeof r!="string")throw new TypeError("keyid must be a string");if(typeof s!="string")throw new TypeError("sig must be a string");return new e({keyID:r,sig:s})}};FO.Signature=L7});var H7=G(e1=>{"use strict";var qwt=e1&&e1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e1,"__esModule",{value:!0});e1.Snapshot=void 0;var Wwt=qwt(Ie("util")),U7=uy(),CDe=Rb(),IDe=hf(),_7=class e extends U7.Signed{constructor(t){super(t),this.type=U7.MetadataKind.Snapshot,this.meta=t.meta||{"targets.json":new CDe.MetaFile({version:1})}}equals(t){return t instanceof e?super.equals(t)&&Wwt.default.isDeepStrictEqual(this.meta,t.meta):!1}toJSON(){return{_type:this.type,meta:Ywt(this.meta),spec_version:this.specVersion,version:this.version,expires:this.expires,...this.unrecognizedFields}}static fromJSON(t){let{unrecognizedFields:r,...s}=U7.Signed.commonFieldsFromJSON(t),{meta:a,...n}=r;return new e({...s,meta:Vwt(a),unrecognizedFields:n})}};e1.Snapshot=_7;function Ywt(e){return Object.entries(e).reduce((t,[r,s])=>({...t,[r]:s.toJSON()}),{})}function Vwt(e){let t;if(IDe.guard.isDefined(e))if(IDe.guard.isObjectRecord(e))t=Object.entries(e).reduce((r,[s,a])=>({...r,[s]:CDe.MetaFile.fromJSON(a)}),{});else throw new TypeError("meta field is malformed");return t}});var wDe=G(t1=>{"use strict";var Jwt=t1&&t1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t1,"__esModule",{value:!0});t1.Delegations=void 0;var NO=Jwt(Ie("util")),Kwt=kA(),zwt=IO(),j7=T7(),OO=hf(),G7=class e{constructor(t){if(this.keys=t.keys,this.unrecognizedFields=t.unrecognizedFields||{},t.roles&&Object.keys(t.roles).some(r=>j7.TOP_LEVEL_ROLE_NAMES.includes(r)))throw new Kwt.ValueError("Delegated role name conflicts with top-level role name");this.succinctRoles=t.succinctRoles,this.roles=t.roles}equals(t){return t instanceof e?NO.default.isDeepStrictEqual(this.keys,t.keys)&&NO.default.isDeepStrictEqual(this.roles,t.roles)&&NO.default.isDeepStrictEqual(this.unrecognizedFields,t.unrecognizedFields)&&NO.default.isDeepStrictEqual(this.succinctRoles,t.succinctRoles):!1}*rolesForTarget(t){if(this.roles)for(let r of Object.values(this.roles))r.isDelegatedPath(t)&&(yield{role:r.name,terminating:r.terminating});else this.succinctRoles&&(yield{role:this.succinctRoles.getRoleForTarget(t),terminating:!0})}toJSON(){let t={keys:Xwt(this.keys),...this.unrecognizedFields};return this.roles?t.roles=Zwt(this.roles):this.succinctRoles&&(t.succinct_roles=this.succinctRoles.toJSON()),t}static fromJSON(t){let{keys:r,roles:s,succinct_roles:a,...n}=t,c;return OO.guard.isObject(a)&&(c=j7.SuccinctRoles.fromJSON(a)),new e({keys:$wt(r),roles:e1t(s),unrecognizedFields:n,succinctRoles:c})}};t1.Delegations=G7;function Xwt(e){return Object.entries(e).reduce((t,[r,s])=>({...t,[r]:s.toJSON()}),{})}function Zwt(e){return Object.values(e).map(t=>t.toJSON())}function $wt(e){if(!OO.guard.isObjectRecord(e))throw new TypeError("keys is malformed");return Object.entries(e).reduce((t,[r,s])=>({...t,[r]:zwt.Key.fromJSON(r,s)}),{})}function e1t(e){let t;if(OO.guard.isDefined(e)){if(!OO.guard.isObjectArray(e))throw new TypeError("roles is malformed");t=e.reduce((r,s)=>{let a=j7.DelegatedRole.fromJSON(s);return{...r,[a.name]:a}},{})}return t}});var Y7=G(r1=>{"use strict";var t1t=r1&&r1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r1,"__esModule",{value:!0});r1.Targets=void 0;var BDe=t1t(Ie("util")),q7=uy(),r1t=wDe(),n1t=Rb(),LO=hf(),W7=class e extends q7.Signed{constructor(t){super(t),this.type=q7.MetadataKind.Targets,this.targets=t.targets||{},this.delegations=t.delegations}addTarget(t){this.targets[t.path]=t}equals(t){return t instanceof e?super.equals(t)&&BDe.default.isDeepStrictEqual(this.targets,t.targets)&&BDe.default.isDeepStrictEqual(this.delegations,t.delegations):!1}toJSON(){let t={_type:this.type,spec_version:this.specVersion,version:this.version,expires:this.expires,targets:i1t(this.targets),...this.unrecognizedFields};return this.delegations&&(t.delegations=this.delegations.toJSON()),t}static fromJSON(t){let{unrecognizedFields:r,...s}=q7.Signed.commonFieldsFromJSON(t),{targets:a,delegations:n,...c}=r;return new e({...s,targets:s1t(a),delegations:o1t(n),unrecognizedFields:c})}};r1.Targets=W7;function i1t(e){return Object.entries(e).reduce((t,[r,s])=>({...t,[r]:s.toJSON()}),{})}function s1t(e){let t;if(LO.guard.isDefined(e))if(LO.guard.isObjectRecord(e))t=Object.entries(e).reduce((r,[s,a])=>({...r,[s]:n1t.TargetFile.fromJSON(s,a)}),{});else throw new TypeError("targets must be an object");return t}function o1t(e){let t;if(LO.guard.isDefined(e))if(LO.guard.isObject(e))t=r1t.Delegations.fromJSON(e);else throw new TypeError("delegations must be an object");return t}});var z7=G(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});MO.Timestamp=void 0;var V7=uy(),vDe=Rb(),J7=hf(),K7=class e extends V7.Signed{constructor(t){super(t),this.type=V7.MetadataKind.Timestamp,this.snapshotMeta=t.snapshotMeta||new vDe.MetaFile({version:1})}equals(t){return t instanceof e?super.equals(t)&&this.snapshotMeta.equals(t.snapshotMeta):!1}toJSON(){return{_type:this.type,spec_version:this.specVersion,version:this.version,expires:this.expires,meta:{"snapshot.json":this.snapshotMeta.toJSON()},...this.unrecognizedFields}}static fromJSON(t){let{unrecognizedFields:r,...s}=V7.Signed.commonFieldsFromJSON(t),{meta:a,...n}=r;return new e({...s,snapshotMeta:a1t(a),unrecognizedFields:n})}};MO.Timestamp=K7;function a1t(e){let t;if(J7.guard.isDefined(e)){let r=e["snapshot.json"];if(!J7.guard.isDefined(r)||!J7.guard.isObject(r))throw new TypeError("missing snapshot.json in meta");t=vDe.MetaFile.fromJSON(r)}return t}});var DDe=G(i1=>{"use strict";var l1t=i1&&i1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(i1,"__esModule",{value:!0});i1.Metadata=void 0;var c1t=g7(),SDe=l1t(Ie("util")),n1=uy(),Ub=kA(),u1t=O7(),f1t=M7(),A1t=H7(),p1t=Y7(),h1t=z7(),X7=hf(),Z7=class e{constructor(t,r,s){this.signed=t,this.signatures=r||{},this.unrecognizedFields=s||{}}sign(t,r=!0){let s=Buffer.from((0,c1t.canonicalize)(this.signed.toJSON())),a=t(s);r||(this.signatures={}),this.signatures[a.keyID]=a}verifyDelegate(t,r){let s,a={};switch(this.signed.type){case n1.MetadataKind.Root:a=this.signed.keys,s=this.signed.roles[t];break;case n1.MetadataKind.Targets:if(!this.signed.delegations)throw new Ub.ValueError(`No delegations found for ${t}`);a=this.signed.delegations.keys,this.signed.delegations.roles?s=this.signed.delegations.roles[t]:this.signed.delegations.succinctRoles&&this.signed.delegations.succinctRoles.isDelegatedRole(t)&&(s=this.signed.delegations.succinctRoles);break;default:throw new TypeError("invalid metadata type")}if(!s)throw new Ub.ValueError(`no delegation found for ${t}`);let n=new Set;if(s.keyIDs.forEach(c=>{let f=a[c];if(f)try{f.verifySignature(r),n.add(f.keyID)}catch{}}),n.sizer.toJSON()),signed:this.signed.toJSON(),...this.unrecognizedFields}}static fromJSON(t,r){let{signed:s,signatures:a,...n}=r;if(!X7.guard.isDefined(s)||!X7.guard.isObject(s))throw new TypeError("signed is not defined");if(t!==s._type)throw new Ub.ValueError(`expected '${t}', got ${s._type}`);if(!X7.guard.isObjectArray(a))throw new TypeError("signatures is not an array");let c;switch(t){case n1.MetadataKind.Root:c=u1t.Root.fromJSON(s);break;case n1.MetadataKind.Timestamp:c=h1t.Timestamp.fromJSON(s);break;case n1.MetadataKind.Snapshot:c=A1t.Snapshot.fromJSON(s);break;case n1.MetadataKind.Targets:c=p1t.Targets.fromJSON(s);break;default:throw new TypeError("invalid metadata type")}let f={};return a.forEach(p=>{let h=f1t.Signature.fromJSON(p);if(f[h.keyID])throw new Ub.ValueError(`multiple signatures found for keyid: ${h.keyID}`);f[h.keyID]=h}),new e(c,f,n)}};i1.Metadata=Z7});var UO=G(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.Timestamp=Fi.Targets=Fi.Snapshot=Fi.Signature=Fi.Root=Fi.Metadata=Fi.Key=Fi.TargetFile=Fi.MetaFile=Fi.ValueError=Fi.MetadataKind=void 0;var g1t=uy();Object.defineProperty(Fi,"MetadataKind",{enumerable:!0,get:function(){return g1t.MetadataKind}});var d1t=kA();Object.defineProperty(Fi,"ValueError",{enumerable:!0,get:function(){return d1t.ValueError}});var bDe=Rb();Object.defineProperty(Fi,"MetaFile",{enumerable:!0,get:function(){return bDe.MetaFile}});Object.defineProperty(Fi,"TargetFile",{enumerable:!0,get:function(){return bDe.TargetFile}});var m1t=IO();Object.defineProperty(Fi,"Key",{enumerable:!0,get:function(){return m1t.Key}});var y1t=DDe();Object.defineProperty(Fi,"Metadata",{enumerable:!0,get:function(){return y1t.Metadata}});var E1t=O7();Object.defineProperty(Fi,"Root",{enumerable:!0,get:function(){return E1t.Root}});var I1t=M7();Object.defineProperty(Fi,"Signature",{enumerable:!0,get:function(){return I1t.Signature}});var C1t=H7();Object.defineProperty(Fi,"Snapshot",{enumerable:!0,get:function(){return C1t.Snapshot}});var w1t=Y7();Object.defineProperty(Fi,"Targets",{enumerable:!0,get:function(){return w1t.Targets}});var B1t=z7();Object.defineProperty(Fi,"Timestamp",{enumerable:!0,get:function(){return B1t.Timestamp}})});var xDe=G((Ntr,PDe)=>{var s1=1e3,o1=s1*60,a1=o1*60,py=a1*24,v1t=py*7,S1t=py*365.25;PDe.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return D1t(e);if(r==="number"&&isFinite(e))return t.long?P1t(e):b1t(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function D1t(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),s=(t[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return r*S1t;case"weeks":case"week":case"w":return r*v1t;case"days":case"day":case"d":return r*py;case"hours":case"hour":case"hrs":case"hr":case"h":return r*a1;case"minutes":case"minute":case"mins":case"min":case"m":return r*o1;case"seconds":case"second":case"secs":case"sec":case"s":return r*s1;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function b1t(e){var t=Math.abs(e);return t>=py?Math.round(e/py)+"d":t>=a1?Math.round(e/a1)+"h":t>=o1?Math.round(e/o1)+"m":t>=s1?Math.round(e/s1)+"s":e+"ms"}function P1t(e){var t=Math.abs(e);return t>=py?_O(e,t,py,"day"):t>=a1?_O(e,t,a1,"hour"):t>=o1?_O(e,t,o1,"minute"):t>=s1?_O(e,t,s1,"second"):e+" ms"}function _O(e,t,r,s){var a=t>=r*1.5;return Math.round(e/r)+" "+s+(a?"s":"")}});var $7=G((Otr,kDe)=>{function x1t(e){r.debug=r,r.default=r,r.coerce=p,r.disable=c,r.enable=a,r.enabled=f,r.humanize=xDe(),r.destroy=h,Object.keys(e).forEach(E=>{r[E]=e[E]}),r.names=[],r.skips=[],r.formatters={};function t(E){let C=0;for(let S=0;S{if(ae==="%%")return"%";ie++;let Ae=r.formatters[de];if(typeof Ae=="function"){let Ce=O[ie];ae=Ae.call(U,Ce),O.splice(ie,1),ie--}return ae}),r.formatArgs.call(U,O),(U.log||r.log).apply(U,O)}return T.namespace=E,T.useColors=r.useColors(),T.color=r.selectColor(E),T.extend=s,T.destroy=r.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>S!==null?S:(x!==r.namespaces&&(x=r.namespaces,I=r.enabled(E)),I),set:O=>{S=O}}),typeof r.init=="function"&&r.init(T),T}function s(E,C){let S=r(this.namespace+(typeof C>"u"?":":C)+E);return S.log=this.log,S}function a(E){r.save(E),r.namespaces=E,r.names=[],r.skips=[];let C=(typeof E=="string"?E:"").trim().replace(" ",",").split(",").filter(Boolean);for(let S of C)S[0]==="-"?r.skips.push(S.slice(1)):r.names.push(S)}function n(E,C){let S=0,x=0,I=-1,T=0;for(;S"-"+C)].join(",");return r.enable(""),E}function f(E){for(let C of r.skips)if(n(E,C))return!1;for(let C of r.names)if(n(E,C))return!0;return!1}function p(E){return E instanceof Error?E.stack||E.message:E}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}kDe.exports=x1t});var QDe=G((ac,HO)=>{ac.formatArgs=Q1t;ac.save=R1t;ac.load=T1t;ac.useColors=k1t;ac.storage=F1t();ac.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ac.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function k1t(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Q1t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+HO.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,s=0;e[0].replace(/%[a-zA-Z%]/g,a=>{a!=="%%"&&(r++,a==="%c"&&(s=r))}),e.splice(s,0,t)}ac.log=console.debug||console.log||(()=>{});function R1t(e){try{e?ac.storage.setItem("debug",e):ac.storage.removeItem("debug")}catch{}}function T1t(){let e;try{e=ac.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function F1t(){try{return localStorage}catch{}}HO.exports=$7()(ac);var{formatters:N1t}=HO.exports;N1t.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var TDe=G((io,GO)=>{var O1t=Ie("tty"),jO=Ie("util");io.init=G1t;io.log=_1t;io.formatArgs=M1t;io.save=H1t;io.load=j1t;io.useColors=L1t;io.destroy=jO.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");io.colors=[6,2,3,4,5,1];try{let e=Ie("supports-color");e&&(e.stderr||e).level>=2&&(io.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}io.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(a,n)=>n.toUpperCase()),s=process.env[t];return/^(yes|on|true|enabled)$/i.test(s)?s=!0:/^(no|off|false|disabled)$/i.test(s)?s=!1:s==="null"?s=null:s=Number(s),e[r]=s,e},{});function L1t(){return"colors"in io.inspectOpts?!!io.inspectOpts.colors:O1t.isatty(process.stderr.fd)}function M1t(e){let{namespace:t,useColors:r}=this;if(r){let s=this.color,a="\x1B[3"+(s<8?s:"8;5;"+s),n=` ${a};1m${t} \x1B[0m`;e[0]=n+e[0].split(` +`).join(` +`+n),e.push(a+"m+"+GO.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=U1t()+t+" "+e[0]}function U1t(){return io.inspectOpts.hideDate?"":new Date().toISOString()+" "}function _1t(...e){return process.stderr.write(jO.formatWithOptions(io.inspectOpts,...e)+` +`)}function H1t(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function j1t(){return process.env.DEBUG}function G1t(e){e.inspectOpts={};let t=Object.keys(io.inspectOpts);for(let r=0;rt.trim()).join(" ")};RDe.O=function(e){return this.inspectOpts.colors=this.useColors,jO.inspect(e,this.inspectOpts)}});var tJ=G((Ltr,eJ)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?eJ.exports=QDe():eJ.exports=TDe()});var WO=G(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.DownloadHTTPError=Ki.DownloadLengthMismatchError=Ki.DownloadError=Ki.ExpiredMetadataError=Ki.EqualVersionError=Ki.BadVersionError=Ki.RepositoryError=Ki.PersistError=Ki.RuntimeError=Ki.ValueError=void 0;var rJ=class extends Error{};Ki.ValueError=rJ;var nJ=class extends Error{};Ki.RuntimeError=nJ;var iJ=class extends Error{};Ki.PersistError=iJ;var _b=class extends Error{};Ki.RepositoryError=_b;var qO=class extends _b{};Ki.BadVersionError=qO;var sJ=class extends qO{};Ki.EqualVersionError=sJ;var oJ=class extends _b{};Ki.ExpiredMetadataError=oJ;var Hb=class extends Error{};Ki.DownloadError=Hb;var aJ=class extends Hb{};Ki.DownloadLengthMismatchError=aJ;var lJ=class extends Hb{constructor(t,r){super(t),this.statusCode=r}};Ki.DownloadHTTPError=lJ});var NDe=G(l1=>{"use strict";var uJ=l1&&l1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(l1,"__esModule",{value:!0});l1.withTempFile=void 0;var cJ=uJ(Ie("fs/promises")),q1t=uJ(Ie("os")),FDe=uJ(Ie("path")),W1t=async e=>Y1t(async t=>e(FDe.default.join(t,"tempfile")));l1.withTempFile=W1t;var Y1t=async e=>{let t=await cJ.default.realpath(q1t.default.tmpdir()),r=await cJ.default.mkdtemp(t+FDe.default.sep);try{return await e(r)}finally{await cJ.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}}});var AJ=G(Pg=>{"use strict";var VO=Pg&&Pg.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Pg,"__esModule",{value:!0});Pg.DefaultFetcher=Pg.BaseFetcher=void 0;var V1t=VO(tJ()),ODe=VO(Ie("fs")),J1t=VO(oO()),K1t=VO(Ie("util")),LDe=WO(),z1t=NDe(),X1t=(0,V1t.default)("tuf:fetch"),YO=class{async downloadFile(t,r,s){return(0,z1t.withTempFile)(async a=>{let n=await this.fetch(t),c=0,f=ODe.default.createWriteStream(a);try{for await(let p of n){let h=Buffer.from(p);if(c+=h.length,c>r)throw new LDe.DownloadLengthMismatchError("Max length reached");await Z1t(f,h)}}finally{await K1t.default.promisify(f.close).bind(f)()}return s(a)})}async downloadBytes(t,r){return this.downloadFile(t,r,async s=>{let a=ODe.default.createReadStream(s),n=[];for await(let c of a)n.push(c);return Buffer.concat(n)})}};Pg.BaseFetcher=YO;var fJ=class extends YO{constructor(t={}){super(),this.timeout=t.timeout,this.retry=t.retry}async fetch(t){X1t("GET %s",t);let r=await(0,J1t.default)(t,{timeout:this.timeout,retry:this.retry});if(!r.ok||!r?.body)throw new LDe.DownloadHTTPError("Failed to download",r.status);return r.body}};Pg.DefaultFetcher=fJ;var Z1t=async(e,t)=>new Promise((r,s)=>{e.write(t,a=>{a&&s(a),r(!0)})})});var MDe=G(JO=>{"use strict";Object.defineProperty(JO,"__esModule",{value:!0});JO.defaultConfig=void 0;JO.defaultConfig={maxRootRotations:256,maxDelegations:32,rootMaxLength:512e3,timestampMaxLength:16384,snapshotMaxLength:2e6,targetsMaxLength:5e6,prefixTargetsWithHash:!0,fetchTimeout:1e5,fetchRetries:void 0,fetchRetry:2}});var UDe=G(KO=>{"use strict";Object.defineProperty(KO,"__esModule",{value:!0});KO.TrustedMetadataStore=void 0;var ws=UO(),Hi=WO(),pJ=class{constructor(t){this.trustedSet={},this.referenceTime=new Date,this.loadTrustedRoot(t)}get root(){if(!this.trustedSet.root)throw new ReferenceError("No trusted root metadata");return this.trustedSet.root}get timestamp(){return this.trustedSet.timestamp}get snapshot(){return this.trustedSet.snapshot}get targets(){return this.trustedSet.targets}getRole(t){return this.trustedSet[t]}updateRoot(t){let r=JSON.parse(t.toString("utf8")),s=ws.Metadata.fromJSON(ws.MetadataKind.Root,r);if(s.signed.type!=ws.MetadataKind.Root)throw new Hi.RepositoryError(`Expected 'root', got ${s.signed.type}`);if(this.root.verifyDelegate(ws.MetadataKind.Root,s),s.signed.version!=this.root.signed.version+1)throw new Hi.BadVersionError(`Expected version ${this.root.signed.version+1}, got ${s.signed.version}`);return s.verifyDelegate(ws.MetadataKind.Root,s),this.trustedSet.root=s,s}updateTimestamp(t){if(this.snapshot)throw new Hi.RuntimeError("Cannot update timestamp after snapshot");if(this.root.signed.isExpired(this.referenceTime))throw new Hi.ExpiredMetadataError("Final root.json is expired");let r=JSON.parse(t.toString("utf8")),s=ws.Metadata.fromJSON(ws.MetadataKind.Timestamp,r);if(s.signed.type!=ws.MetadataKind.Timestamp)throw new Hi.RepositoryError(`Expected 'timestamp', got ${s.signed.type}`);if(this.root.verifyDelegate(ws.MetadataKind.Timestamp,s),this.timestamp){if(s.signed.version{let p=n.signed.meta[c];if(!p)throw new Hi.RepositoryError(`Missing file ${c} in new snapshot`);if(p.version{"use strict";Object.defineProperty(hJ,"__esModule",{value:!0});hJ.join=e2t;var $1t=Ie("url");function e2t(e,t){return new $1t.URL(t2t(e)+r2t(t)).toString()}function t2t(e){return e.endsWith("/")?e:e+"/"}function r2t(e){return e.startsWith("/")?e.slice(1):e}});var HDe=G(nu=>{"use strict";var n2t=nu&&nu.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),i2t=nu&&nu.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),mJ=nu&&nu.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&n2t(t,e,r);return i2t(t,e),t},s2t=nu&&nu.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(nu,"__esModule",{value:!0});nu.Updater=void 0;var QA=UO(),o2t=s2t(tJ()),c1=mJ(Ie("fs")),zO=mJ(Ie("path")),a2t=MDe(),hy=WO(),l2t=AJ(),c2t=UDe(),jb=mJ(_De()),gJ=(0,o2t.default)("tuf:cache"),dJ=class{constructor(t){let{metadataDir:r,metadataBaseUrl:s,targetDir:a,targetBaseUrl:n,fetcher:c,config:f}=t;this.dir=r,this.metadataBaseUrl=s,this.targetDir=a,this.targetBaseUrl=n,this.forceCache=t.forceCache??!1;let p=this.loadLocalMetadata(QA.MetadataKind.Root);this.trustedSet=new c2t.TrustedMetadataStore(p),this.config={...a2t.defaultConfig,...f},this.fetcher=c||new l2t.DefaultFetcher({timeout:this.config.fetchTimeout,retry:this.config.fetchRetries??this.config.fetchRetry})}async refresh(){if(this.forceCache)try{await this.loadTimestamp({checkRemote:!1})}catch{await this.loadRoot(),await this.loadTimestamp()}else await this.loadRoot(),await this.loadTimestamp();await this.loadSnapshot(),await this.loadTargets(QA.MetadataKind.Targets,QA.MetadataKind.Root)}async getTargetInfo(t){return this.trustedSet.targets||await this.refresh(),this.preorderDepthFirstWalk(t)}async downloadTarget(t,r,s){let a=r||this.generateTargetPath(t);if(!s){if(!this.targetBaseUrl)throw new hy.ValueError("Target base URL not set");s=this.targetBaseUrl}let n=t.path;if(this.trustedSet.root.signed.consistentSnapshot&&this.config.prefixTargetsWithHash){let p=Object.values(t.hashes),{dir:h,base:E}=zO.parse(n),C=`${p[0]}.${E}`;n=h?`${h}/${C}`:C}let f=jb.join(s,n);return await this.fetcher.downloadFile(f,t.length,async p=>{await t.verify(c1.createReadStream(p)),gJ("WRITE %s",a),c1.copyFileSync(p,a)}),a}async findCachedTarget(t,r){r||(r=this.generateTargetPath(t));try{if(c1.existsSync(r))return await t.verify(c1.createReadStream(r)),r}catch{return}}loadLocalMetadata(t){let r=zO.join(this.dir,`${t}.json`);return gJ("READ %s",r),c1.readFileSync(r)}async loadRoot(){let r=this.trustedSet.root.signed.version+1,s=r+this.config.maxRootRotations;for(let a=r;a0;){let{roleName:a,parentRoleName:n}=r.pop();if(s.has(a))continue;let c=(await this.loadTargets(a,n))?.signed;if(!c)continue;let f=c.targets?.[t];if(f)return f;if(s.add(a),c.delegations){let p=[],h=c.delegations.rolesForTarget(t);for(let{role:E,terminating:C}of h)if(p.push({roleName:E,parentRoleName:a}),C){r.splice(0);break}p.reverse(),r.push(...p)}}}generateTargetPath(t){if(!this.targetDir)throw new hy.ValueError("Target directory not set");let r=encodeURIComponent(t.path);return zO.join(this.targetDir,r)}persistMetadata(t,r){let s=encodeURIComponent(t);try{let a=zO.join(this.dir,`${s}.json`);gJ("WRITE %s",a),c1.writeFileSync(a,r.toString("utf8"))}catch(a){throw new hy.PersistError(`Failed to persist metadata ${s} error: ${a}`)}}};nu.Updater=dJ});var jDe=G(xg=>{"use strict";Object.defineProperty(xg,"__esModule",{value:!0});xg.Updater=xg.BaseFetcher=xg.TargetFile=void 0;var u2t=UO();Object.defineProperty(xg,"TargetFile",{enumerable:!0,get:function(){return u2t.TargetFile}});var f2t=AJ();Object.defineProperty(xg,"BaseFetcher",{enumerable:!0,get:function(){return f2t.BaseFetcher}});var A2t=HDe();Object.defineProperty(xg,"Updater",{enumerable:!0,get:function(){return A2t.Updater}})});var EJ=G(XO=>{"use strict";Object.defineProperty(XO,"__esModule",{value:!0});XO.TUFError=void 0;var yJ=class extends Error{constructor({code:t,message:r,cause:s}){super(r),this.code=t,this.cause=s,this.name=this.constructor.name}};XO.TUFError=yJ});var GDe=G(Gb=>{"use strict";var p2t=Gb&&Gb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gb,"__esModule",{value:!0});Gb.readTarget=g2t;var h2t=p2t(Ie("fs")),ZO=EJ();async function g2t(e,t){let r=await d2t(e,t);return new Promise((s,a)=>{h2t.default.readFile(r,"utf-8",(n,c)=>{n?a(new ZO.TUFError({code:"TUF_READ_TARGET_ERROR",message:`error reading target ${r}`,cause:n})):s(c)})})}async function d2t(e,t){let r;try{r=await e.getTargetInfo(t)}catch(a){throw new ZO.TUFError({code:"TUF_REFRESH_METADATA_ERROR",message:"error refreshing TUF metadata",cause:a})}if(!r)throw new ZO.TUFError({code:"TUF_FIND_TARGET_ERROR",message:`target ${t} not found`});let s=await e.findCachedTarget(r);if(!s)try{s=await e.downloadTarget(r)}catch(a){throw new ZO.TUFError({code:"TUF_DOWNLOAD_TARGET_ERROR",message:`error downloading target ${s}`,cause:a})}return s}});var qDe=G((Jtr,m2t)=>{m2t.exports={"https://tuf-repo-cdn.sigstore.dev":{"root.json":"ewogInNpZ25hdHVyZXMiOiBbCiAgewogICAia2V5aWQiOiAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICJzaWciOiAiMzA0NjAyMjEwMDhhYjFmNmYxN2Q0ZjllNmQ3ZGNmMWM4ODkxMmI2YjUzY2MxMDM4ODY0NGFlMWYwOWJjMzdhMDgyY2QwNjAwM2UwMjIxMDBlMTQ1ZWY0YzdiNzgyZDRlODEwN2I1MzQzN2U2NjlkMDQ3Njg5MmNlOTk5OTAzYWUzM2QxNDQ0ODM2Njk5NmU3IgogIH0sCiAgewogICAia2V5aWQiOiAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICJzaWciOiAiMzA0NTAyMjEwMGM3NjhiMmY4NmRhOTk1NjkwMTljMTYwYTA4MWRhNTRhZTM2YzM0YzBhMzEyMGQzY2I2OWI1M2I3ZDExMzc1OGUwMjIwNGY2NzE1MThmNjE3YjIwZDQ2NTM3ZmFlNmMzYjYzYmFlODkxM2Y0ZjE5NjIxNTYxMDVjYzRmMDE5YWMzNWM2YSIKICB9LAogIHsKICAgImtleWlkIjogIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAic2lnIjogIjMwNDUwMjIxMDBiNDQzNGU2OTk1ZDM2OGQyM2U3NDc1OWFjZDBjYjkwMTNjODNhNWQzNTExZjBmOTk3ZWM1NGM0NTZhZTQzNTBhMDIyMDE1YjBlMjY1ZDE4MmQyYjYxZGM3NGUxNTVkOThiM2MzZmJlNTY0YmEwNTI4NmFhMTRjOGRmMDJjOWI3NTY1MTYiCiAgfSwKICB7CiAgICJrZXlpZCI6ICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgInNpZyI6ICIzMDQ1MDIyMTAwODJjNTg0MTFkOTg5ZWI5Zjg2MTQxMDg1N2Q0MjM4MTU5MGVjOTQyNGRiZGFhNTFlNzhlZDEzNTE1NDMxOTA0ZTAyMjAxMTgxODVkYTZhNmMyOTQ3MTMxYzE3Nzk3ZTJiYjc2MjBjZTI2ZTVmMzAxZDFjZWFjNWYyYTdlNThmOWRjZjJlIgogIH0sCiAgewogICAia2V5aWQiOiAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIsCiAgICJzaWciOiAiMzA0NjAyMjEwMGM3ODUxMzg1NGNhZTljMzJlYWE2Yjg4ZTE4OTEyZjQ4MDA2YzI3NTdhMjU4ZjkxNzMxMmNhYmE3NTk0OGViOWUwMjIxMDBkOWUxYjRjZTBhZGZlOWZkMmUyMTQ4ZDdmYTI3YTJmNDBiYTExMjJiZDY5ZGE3NjEyZDhkMTc3NmIwMTNjOTFkIgogIH0sCiAgewogICAia2V5aWQiOiAiZmRmYTgzYTA3YjVhODM1ODliODdkZWQ0MWY3N2YzOWQyMzJhZDkxZjdjY2U1Mjg2OGRhY2QwNmJhMDg5ODQ5ZiIsCiAgICJzaWciOiAiMzA0NTAyMjA1NjQ4M2EyZDVkOWVhOWNlYzZlMTFlYWRmYjMzYzQ4NGI2MTQyOThmYWNhMTVhY2YxYzQzMWIxMWVkN2Y3MzRjMDIyMTAwZDBjMWQ3MjZhZjkyYTg3ZTRlNjY0NTljYTVhZGYzOGEwNWI0NGUxZjk0MzE4NDIzZjk1NGJhZThiY2E1YmIyZSIKICB9LAogIHsKICAgImtleWlkIjogImUyZjU5YWNiOTQ4ODUxOTQwN2UxOGNiZmM5MzI5NTEwYmUwM2MwNGFjYTk5MjlkMmYwMzAxMzQzZmVjODU1MjMiLAogICAic2lnIjogIjMwNDYwMjIxMDBkMDA0ZGU4ODAyNGMzMmRjNTY1M2E5ZjQ4NDNjZmM1MjE1NDI3MDQ4YWQ5NjAwZDJjZjljOTY5ZTZlZGZmM2QyMDIyMTAwZDllYmI3OThmNWZjNjZhZjEwODk5ZGVjZTAxNGE4NjI4Y2NmM2M1NDAyY2Q0YTQyNzAyMDc0NzJmOGY2ZTcxMiIKICB9LAogIHsKICAgImtleWlkIjogIjNjMzQ0YWEwNjhmZDRjYzRlODdkYzUwYjYxMmMwMjQzMWZiYzc3MWU5NTAwMzk5MzY4M2EyYjBiZjI2MGNmMGUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiN2IwOTk5NmM0NWNhMmQ0YjA1NjAzZTU2YmFlZmEyOTcxOGEwYjcxMTQ3Y2Y4YzZlNjYzNDliYWE2MTQ3N2RmMDIyMTAwYzRkYTgwYzcxN2I0ZmE3YmJhMGZkNWM3MmRhOGEwNDk5MzU4YjAxMzU4YjIzMDlmNDFkMTQ1NmVhMWU3ZTFkOSIKICB9LAogIHsKICAgImtleWlkIjogImVjODE2Njk3MzRlMDE3OTk2YzViODVmM2QwMmMzZGUxZGQ0NjM3YTE1MjAxOWZlMWFmMTI1ZDJmOTM2OGI5NWUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiZTk3ODJjMzA3NDRlNDExYTgyZmE4NWI1MTM4ZDYwMWNlMTQ4YmMxOTI1OGFlYzY0ZTdlYzI0NDc4ZjM4ODEyMDIyMTAwY2FlZjYzZGNhZjFhNGI5YTUwMGQzYmQwZTNmMTY0ZWMxOGYxYjYzZDdhOTQ2MGQ5YWNhYjEwNjZkYjBmMDE2ZCIKICB9LAogIHsKICAgImtleWlkIjogIjFlMWQ2NWNlOThiMTBhZGRhZDQ3NjRmZWJmN2RkYTJkMDQzNmIzZDNhMzg5MzU3OWMwZGRkYWVhMjBlNTQ4NDkiLAogICAic2lnIjogIjMwNDUwMjIwNzQ2ZWMzZjg1MzRjZTU1NTMxZDBkMDFmZjY0OTY0ZWY0NDBkMWU3ZDJjNGMxNDI0MDliOGU5NzY5ZjFhZGE2ZjAyMjEwMGUzYjkyOWZjZDkzZWExOGZlYWEwODI1ODg3YTcyMTA0ODk4NzlhNjY3ODBjMDdhODNmNGJkNDZlMmYwOWFiM2IiCiAgfQogXSwKICJzaWduZWQiOiB7CiAgIl90eXBlIjogInJvb3QiLAogICJjb25zaXN0ZW50X3NuYXBzaG90IjogdHJ1ZSwKICAiZXhwaXJlcyI6ICIyMDI1LTAyLTE5VDA4OjA0OjMyWiIsCiAgImtleXMiOiB7CiAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFekJ6Vk9tSENQb2pNVkxTSTM2NFdpaVY4TlByRFxuNklnUnhWbGlza3ovdit5M0pFUjVtY1ZHY09ObGlEY1dNQzVKMmxmSG1qUE5QaGI0SDd4bThMemZTQT09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBzYW50aWFnb3RvcnJlcyIKICAgfSwKICAgIjYxNjQzODM4MTI1YjQ0MGI0MGRiNjk0MmY1Y2I1YTMxYzBkYzA0MzY4MzE2ZWIyYWFhNThiOTU5MDRhNTgyMjIiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVpbmlrU3NBUW1Za05lSDVlWXEvQ25JekxhYWNPXG54bFNhYXdRRE93cUt5L3RDcXhxNXh4UFNKYzIxSzRXSWhzOUd5T2tLZnp1ZVkzR0lMemNNSlo0Y1d3PT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2kta2V5b3duZXIiOiAiQGJvYmNhbGxhd2F5IgogICB9LAogICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXk4WEtzbWhCWURJOEpjMEd3ekJ4ZUtheDBjbTVcblNUS0VVNjVIUEZ1blVuNDFzVDhwaTBGak00SWtIei9ZVW13bUxVTzBXdDdseGhqNkJrTElLNHFZQXc9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAZGxvcmVuYyIKICAgfSwKICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVXUmlHcjUraiszSjVTc0grWnRyNW5FMkgyd083XG5CVituTzNzOTNnTGNhMThxVE96SFkxb1d5QUdEeWtNU3NHVFVCU3Q5RCtBbjBLZktzRDJtZlNNNDJRPT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2ktb25saW5lLXVyaSI6ICJnY3BrbXM6Ly9wcm9qZWN0cy9zaWdzdG9yZS1yb290LXNpZ25pbmcvbG9jYXRpb25zL2dsb2JhbC9rZXlSaW5ncy9yb290L2NyeXB0b0tleXMvdGltZXN0YW1wIgogICB9LAogICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTBnaHJoOTJMdzFZcjNpZEdWNVdxQ3RNREI4Q3hcbitEOGhkQzR3MlpMTklwbFZSb1ZHTHNrWWEzZ2hlTXlPamlKOGtQaTE1YVEyLy83UCtvajdVdkpQR3c9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAam9zaHVhZ2wiCiAgIH0sCiAgICJlNzFhNTRkNTQzODM1YmE4NmFkYWQ5NDYwMzc5Yzc2NDFmYjg3MjZkMTY0ZWE3NjY4MDFhMWM1MjJhYmE3ZWEyIjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFRVhzejNTWlhGYjhqTVY0Mmo2cEpseWpialI4S1xuTjNCd29jZXhxNkxNSWI1cXNXS09RdkxOMTZOVWVmTGM0SHN3T291bVJzVlZhYWpTcFFTNmZvYmtSdz09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBtbm02NzgiCiAgIH0KICB9LAogICJyb2xlcyI6IHsKICAgInJvb3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI2ZjI2MDA4OWQ1OTIzZGFmMjAxNjZjYTY1N2M1NDNhZjYxODM0NmFiOTcxODg0YTk5OTYyYjAxOTg4YmJlMGMzIiwKICAgICAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICAgIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAgICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMwogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI3MjQ3ZjBkYmFkODViMTQ3ZTE4NjNiYWRlNzYxMjQzY2M3ODVkY2I3YWE0MTBlNzEwNWRkM2QyYjYxYTM2ZDJjIgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxLAogICAgIngtdHVmLW9uLWNpLWV4cGlyeS1wZXJpb2QiOiAzNjUwLAogICAgIngtdHVmLW9uLWNpLXNpZ25pbmctcGVyaW9kIjogMzY1CiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICAgImU3MWE1NGQ1NDM4MzViYTg2YWRhZDk0NjAzNzljNzY0MWZiODcyNmQxNjRlYTc2NjgwMWExYzUyMmFiYTdlYTIiLAogICAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IiwKICAgICAiNjE2NDM4MzgxMjViNDQwYjQwZGI2OTQyZjVjYjVhMzFjMGRjMDQzNjgzMTZlYjJhYWE1OGI5NTkwNGE1ODIyMiIsCiAgICAgImE2ODdlNWJmNGZhYjgyYjBlZTU4ZDQ2ZTA1Yzk1MzUxNDVhMmM5YWZiNDU4ZjQzZDQyYjQ1Y2EwZmRjZTJhNzAiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDMKICAgfSwKICAgInRpbWVzdGFtcCI6IHsKICAgICJrZXlpZHMiOiBbCiAgICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDEsCiAgICAieC10dWYtb24tY2ktZXhwaXJ5LXBlcmlvZCI6IDcsCiAgICAieC10dWYtb24tY2ktc2lnbmluZy1wZXJpb2QiOiA0CiAgIH0KICB9LAogICJzcGVjX3ZlcnNpb24iOiAiMS4wIiwKICAidmVyc2lvbiI6IDEwLAogICJ4LXR1Zi1vbi1jaS1leHBpcnktcGVyaW9kIjogMTgyLAogICJ4LXR1Zi1vbi1jaS1zaWduaW5nLXBlcmlvZCI6IDMxCiB9Cn0=",targets:{"trusted_root.json":"ewogICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRldi5zaWdzdG9yZS50cnVzdGVkcm9vdCtqc29uO3ZlcnNpb249MC4xIiwKICAidGxvZ3MiOiBbCiAgICB7CiAgICAgICJiYXNlVXJsIjogImh0dHBzOi8vcmVrb3Iuc2lnc3RvcmUuZGV2IiwKICAgICAgImhhc2hBbGdvcml0aG0iOiAiU0hBMl8yNTYiLAogICAgICAicHVibGljS2V5IjogewogICAgICAgICJyYXdCeXRlcyI6ICJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUyRzJZKzJ0YWJkVFY1QmNHaUJJeDBhOWZBRndya0JibUxTR3RrczRMM3FYNnlZWTB6dWZCbmhDOFVyL2l5NTVHaFdQLzlBL2JZMkxoQzMwTTkrUll0dz09IiwKICAgICAgICAia2V5RGV0YWlscyI6ICJQS0lYX0VDRFNBX1AyNTZfU0hBXzI1NiIsCiAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgInN0YXJ0IjogIjIwMjEtMDEtMTJUMTE6NTM6MjcuMDAwWiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJsb2dJZCI6IHsKICAgICAgICAia2V5SWQiOiAid05JOWF0UUdseitWV2ZPNkxSeWdINFFVZlkvOFc0UkZ3aVQ1aTVXUmdCMD0iCiAgICAgIH0KICAgIH0KICBdLAogICJjZXJ0aWZpY2F0ZUF1dGhvcml0aWVzIjogWwogICAgewogICAgICAic3ViamVjdCI6IHsKICAgICAgICAib3JnYW5pemF0aW9uIjogInNpZ3N0b3JlLmRldiIsCiAgICAgICAgImNvbW1vbk5hbWUiOiAic2lnc3RvcmUiCiAgICAgIH0sCiAgICAgICJ1cmkiOiAiaHR0cHM6Ly9mdWxjaW8uc2lnc3RvcmUuZGV2IiwKICAgICAgImNlcnRDaGFpbiI6IHsKICAgICAgICAiY2VydGlmaWNhdGVzIjogWwogICAgICAgICAgewogICAgICAgICAgICAicmF3Qnl0ZXMiOiAiTUlJQitEQ0NBWDZnQXdJQkFnSVROVmtEWm9DaW9mUERzeTdkZm02Z2VMYnVoekFLQmdncWhrak9QUVFEQXpBcU1SVXdFd1lEVlFRS0V3eHphV2R6ZEc5eVpTNWtaWFl4RVRBUEJnTlZCQU1UQ0hOcFozTjBiM0psTUI0WERUSXhNRE13TnpBek1qQXlPVm9YRFRNeE1ESXlNekF6TWpBeU9Wb3dLakVWTUJNR0ExVUVDaE1NYzJsbmMzUnZjbVV1WkdWMk1SRXdEd1lEVlFRREV3aHphV2R6ZEc5eVpUQjJNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWlBMklBQkxTeUE3SWk1aytwTk84WkVXWTB5bGVtV0Rvd09rTmEza0wrR1pFNVo1R1dlaEw5L0E5YlJOQTNSYnJzWjVpMEpjYXN0YVJMN1NwNWZwL2pENWR4cWMvVWRUVm5sdlMxNmFuKzJZZnN3ZS9RdUxvbFJVQ3JjT0UyKzJpQTUrdHpkNk5tTUdRd0RnWURWUjBQQVFIL0JBUURBZ0VHTUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFFd0hRWURWUjBPQkJZRUZNakZIUUJCbWlRcE1sRWs2dzJ1U3UxS0J0UHNNQjhHQTFVZEl3UVlNQmFBRk1qRkhRQkJtaVFwTWxFazZ3MnVTdTFLQnRQc01Bb0dDQ3FHU000OUJBTURBMmdBTUdVQ01IOGxpV0pmTXVpNnZYWEJoakRnWTRNd3NsbU4vVEp4VmUvODNXckZvbXdtTmYwNTZ5MVg0OEY5YzRtM2Ezb3pYQUl4QUtqUmF5NS9hai9qc0tLR0lrbVFhdGpJOHV1cEhyLytDeEZ2YUpXbXBZcU5rTERHUlUrOW9yemg1aEkyUnJjdWFRPT0iCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAidmFsaWRGb3IiOiB7CiAgICAgICAgInN0YXJ0IjogIjIwMjEtMDMtMDdUMDM6MjA6MjkuMDAwWiIsCiAgICAgICAgImVuZCI6ICIyMDIyLTEyLTMxVDIzOjU5OjU5Ljk5OVoiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJzdWJqZWN0IjogewogICAgICAgICJvcmdhbml6YXRpb24iOiAic2lnc3RvcmUuZGV2IiwKICAgICAgICAiY29tbW9uTmFtZSI6ICJzaWdzdG9yZSIKICAgICAgfSwKICAgICAgInVyaSI6ICJodHRwczovL2Z1bGNpby5zaWdzdG9yZS5kZXYiLAogICAgICAiY2VydENoYWluIjogewogICAgICAgICJjZXJ0aWZpY2F0ZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyYXdCeXRlcyI6ICJNSUlDR2pDQ0FhR2dBd0lCQWdJVUFMblZpVmZuVTBickphc21Sa0hybi9VbmZhUXdDZ1lJS29aSXpqMEVBd013S2pFVk1CTUdBMVVFQ2hNTWMybG5jM1J2Y21VdVpHVjJNUkV3RHdZRFZRUURFd2h6YVdkemRHOXlaVEFlRncweU1qQTBNVE15TURBMk1UVmFGdzB6TVRFd01EVXhNelUyTlRoYU1EY3hGVEFUQmdOVkJBb1RESE5wWjNOMGIzSmxMbVJsZGpFZU1Cd0dBMVVFQXhNVmMybG5jM1J2Y21VdGFXNTBaWEp0WldScFlYUmxNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRThSVlMveXNIK05PdnVEWnlQSVp0aWxnVUY5TmxhcllwQWQ5SFAxdkJCSDFVNUNWNzdMU1M3czBaaUg0bkU3SHY3cHRTNkx2dlIvU1RrNzk4TFZnTXpMbEo0SGVJZkYzdEhTYWV4TGNZcFNBU3Ixa1MwTi9SZ0JKei85aldDaVhubzNzd2VUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3TXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBREFkQmdOVkhRNEVGZ1FVMzlQcHoxWWtFWmI1cU5qcEtGV2l4aTRZWkQ4d0h3WURWUjBqQkJnd0ZvQVVXTUFlWDVGRnBXYXBlc3lRb1pNaTBDckZ4Zm93Q2dZSUtvWkl6ajBFQXdNRFp3QXdaQUl3UENzUUs0RFlpWllEUElhRGk1SEZLbmZ4WHg2QVNTVm1FUmZzeW5ZQmlYMlg2U0pSblpVODQvOURaZG5GdnZ4bUFqQk90NlFwQmxjNEovMER4dmtUQ3FwY2x2emlMNkJDQ1BuamRsSUIzUHUzQnhzUG15Z1VZN0lpMnpiZENkbGlpb3c9IgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInJhd0J5dGVzIjogIk1JSUI5ekNDQVh5Z0F3SUJBZ0lVQUxaTkFQRmR4SFB3amVEbG9Ed3lZQ2hBTy80d0NnWUlLb1pJemowRUF3TXdLakVWTUJNR0ExVUVDaE1NYzJsbmMzUnZjbVV1WkdWMk1SRXdEd1lEVlFRREV3aHphV2R6ZEc5eVpUQWVGdzB5TVRFd01EY3hNelUyTlRsYUZ3MHpNVEV3TURVeE16VTJOVGhhTUNveEZUQVRCZ05WQkFvVERITnBaM04wYjNKbExtUmxkakVSTUE4R0ExVUVBeE1JYzJsbmMzUnZjbVV3ZGpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBSWdOaUFBVDdYZUZUNHJiM1BRR3dTNElhanRMazMvT2xucGdhbmdhQmNsWXBzWUJyNWkrNHluQjA3Y2ViM0xQME9JT1pkeGV4WDY5YzVpVnV5SlJRK0h6MDV5aStVRjN1QldBbEhwaVM1c2gwK0gyR0hFN1NYcmsxRUM1bTFUcjE5TDlnZzkyall6QmhNQTRHQTFVZER3RUIvd1FFQXdJQkJqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01CMEdBMVVkRGdRV0JCUll3QjVma1VXbFpxbDZ6SkNoa3lMUUtzWEYrakFmQmdOVkhTTUVHREFXZ0JSWXdCNWZrVVdsWnFsNnpKQ2hreUxRS3NYRitqQUtCZ2dxaGtqT1BRUURBd05wQURCbUFqRUFqMW5IZVhacCsxM05XQk5hK0VEc0RQOEcxV1dnMXRDTVdQL1dIUHFwYVZvMGpoc3dlTkZaZ1NzMGVFN3dZSTRxQWpFQTJXQjlvdDk4c0lrb0YzdlpZZGQzL1Z0V0I1YjlUTk1lYTdJeC9zdEo1VGZjTExlQUJMRTRCTkpPc1E0dm5CSEoiCiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICAidmFsaWRGb3IiOiB7CiAgICAgICAgInN0YXJ0IjogIjIwMjItMDQtMTNUMjA6MDY6MTUuMDAwWiIKICAgICAgfQogICAgfQogIF0sCiAgImN0bG9ncyI6IFsKICAgIHsKICAgICAgImJhc2VVcmwiOiAiaHR0cHM6Ly9jdGZlLnNpZ3N0b3JlLmRldi90ZXN0IiwKICAgICAgImhhc2hBbGdvcml0aG0iOiAiU0hBMl8yNTYiLAogICAgICAicHVibGljS2V5IjogewogICAgICAgICJyYXdCeXRlcyI6ICJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUViZndSK1JKdWRYc2NnUkJScEtYMVhGRHkzUHl1ZER4ei9TZm5SaTFmVDhla3BmQmQyTzF1b3o3anIzWjhuS3p4QTY5RVVRK2VGQ0ZJM3pldWJQV1U3dz09IiwKICAgICAgICAia2V5RGV0YWlscyI6ICJQS0lYX0VDRFNBX1AyNTZfU0hBXzI1NiIsCiAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgInN0YXJ0IjogIjIwMjEtMDMtMTRUMDA6MDA6MDAuMDAwWiIsCiAgICAgICAgICAiZW5kIjogIjIwMjItMTAtMzFUMjM6NTk6NTkuOTk5WiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJsb2dJZCI6IHsKICAgICAgICAia2V5SWQiOiAiQ0dDUzhDaFMvMmhGMGRGcko0U2NSV2NZckJZOXd6alNiZWE4SWdZMmIzST0iCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJiYXNlVXJsIjogImh0dHBzOi8vY3RmZS5zaWdzdG9yZS5kZXYvMjAyMiIsCiAgICAgICJoYXNoQWxnb3JpdGhtIjogIlNIQTJfMjU2IiwKICAgICAgInB1YmxpY0tleSI6IHsKICAgICAgICAicmF3Qnl0ZXMiOiAiTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFaVBTbEZpMENtRlRmRWpDVXFGOUh1Q0VjWVhOS0FhWWFsSUptQlo4eXllelBqVHFoeHJLQnBNbmFvY1Z0TEpCSTFlTTN1WG5RelFHQUpkSjRnczlGeXc9PSIsCiAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICJ2YWxpZEZvciI6IHsKICAgICAgICAgICJzdGFydCI6ICIyMDIyLTEwLTIwVDAwOjAwOjAwLjAwMFoiCiAgICAgICAgfQogICAgICB9LAogICAgICAibG9nSWQiOiB7CiAgICAgICAgImtleUlkIjogIjNUMHdhc2JIRVRKakdSNGNtV2MzQXFKS1hyamVQSzMvaDRweWdDOHA3bzQ9IgogICAgICB9CiAgICB9CiAgXSwKICAidGltZXN0YW1wQXV0aG9yaXRpZXMiOiBbCiAgICB7CiAgICAgICJzdWJqZWN0IjogewogICAgICAgICJvcmdhbml6YXRpb24iOiAiR2l0SHViLCBJbmMuIiwKICAgICAgICAiY29tbW9uTmFtZSI6ICJJbnRlcm5hbCBTZXJ2aWNlcyBSb290IgogICAgICB9LAogICAgICAiY2VydENoYWluIjogewogICAgICAgICJjZXJ0aWZpY2F0ZXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJyYXdCeXRlcyI6ICJNSUlCM0RDQ0FXS2dBd0lCQWdJVWNoa05zSDM2WGEwNGIxTHFJYytxcjlEVmVjTXdDZ1lJS29aSXpqMEVBd013TWpFVk1CTUdBMVVFQ2hNTVIybDBTSFZpTENCSmJtTXVNUmt3RndZRFZRUURFeEJVVTBFZ2FXNTBaWEp0WldScFlYUmxNQjRYRFRJek1EUXhOREF3TURBd01Gb1hEVEkwTURReE16QXdNREF3TUZvd01qRVZNQk1HQTFVRUNoTU1SMmwwU0hWaUxDQkpibU11TVJrd0Z3WURWUVFERXhCVVUwRWdWR2x0WlhOMFlXMXdhVzVuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFVUQ1Wk5iU3FZTWQ2cjhxcE9PRVg5aWJHblpUOUdzdVhPaHIvZjhVOUZKdWdCR0V4S1lwNDBPVUxTMGVyalpXN3hWOXhWNTJObkpmNU9lRHE0ZTVaS3FOV01GUXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CTUdBMVVkSlFRTU1Bb0dDQ3NHQVFVRkJ3TUlNQXdHQTFVZEV3RUIvd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVhVzFSdWRPZ1Z0MGxlcVkwV0tZYnVQcjQ3d0F3Q2dZSUtvWkl6ajBFQXdNRGFBQXdaUUl3YlVIOUh2RDRlakNaSk9XUW5xQWxrcVVSbGx2dTlNOCtWcUxiaVJLK3pTZlpDWndzaWxqUm44TVFRUlNrWEVFNUFqRUFnK1Z4cXRvamZWZnU4RGh6emhDeDlHS0VUYkpIYjE5aVY3Mm1NS1ViREFGbXpaNmJROGI1NFpiOHRpZHk1YVdlIgogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgInJhd0J5dGVzIjogIk1JSUNFRENDQVpXZ0F3SUJBZ0lVWDhaTzVRWFA3dk40ZE1RNWU5c1UzbnViOE9nd0NnWUlLb1pJemowRUF3TXdPREVWTUJNR0ExVUVDaE1NUjJsMFNIVmlMQ0JKYm1NdU1SOHdIUVlEVlFRREV4WkpiblJsY201aGJDQlRaWEoyYVdObGN5QlNiMjkwTUI0WERUSXpNRFF4TkRBd01EQXdNRm9YRFRJNE1EUXhNakF3TURBd01Gb3dNakVWTUJNR0ExVUVDaE1NUjJsMFNIVmlMQ0JKYm1NdU1Sa3dGd1lEVlFRREV4QlVVMEVnYVc1MFpYSnRaV1JwWVhSbE1IWXdFQVlIS29aSXpqMENBUVlGSzRFRUFDSURZZ0FFdk1MWS9kVFZidklKWUFOQXVzekV3Sm5RRTFsbGZ0eW55TUtJTWhoNDhIbXFiVnI1eWd5YnpzTFJMVktiQldPZFoyMWFlSnorZ1ppeXRaZXRxY3lGOVdsRVI1TkVNZjZKVjdaTm9qUXB4SHE0UkhHb0dTY2VRdi9xdlRpWnhFREtvMll3WkRBT0JnTlZIUThCQWY4RUJBTUNBUVl3RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBZEJnTlZIUTRFRmdRVWFXMVJ1ZE9nVnQwbGVxWTBXS1lidVByNDd3QXdId1lEVlIwakJCZ3dGb0FVOU5ZWWxvYm5BRzRjMC9xanh5SC9scS93eitRd0NnWUlLb1pJemowRUF3TURhUUF3WmdJeEFLMUIxODV5Z0NySVlGbElzM0dqc3dqbndTTUc2TFk4d29MVmRha0tEWnhWYThmOGNxTXMxRGhjeEowKzA5dzk1UUl4QU8rdEJ6Wms3dmpVSjlpSmdENFI2WldUeFFXS3FObTc0ak85OW8rbzlzdjRGSS9TWlRaVEZ5TW4wSUpFSGRObXlBPT0iCiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAicmF3Qnl0ZXMiOiAiTUlJQjlEQ0NBWHFnQXdJQkFnSVVhL0pBa2RVaks0SlV3c3F0YWlSSkdXaHFMU293Q2dZSUtvWkl6ajBFQXdNd09ERVZNQk1HQTFVRUNoTU1SMmwwU0hWaUxDQkpibU11TVI4d0hRWURWUVFERXhaSmJuUmxjbTVoYkNCVFpYSjJhV05sY3lCU2IyOTBNQjRYRFRJek1EUXhOREF3TURBd01Gb1hEVE16TURReE1UQXdNREF3TUZvd09ERVZNQk1HQTFVRUNoTU1SMmwwU0hWaUxDQkpibU11TVI4d0hRWURWUVFERXhaSmJuUmxjbTVoYkNCVFpYSjJhV05sY3lCU2IyOTBNSFl3RUFZSEtvWkl6ajBDQVFZRks0RUVBQ0lEWWdBRWY5akZBWHh6NGt4NjhBSFJNT2tGQmhmbERjTVR2emFYejR4L0ZDY1hqSi8xcUVLb24vcVBJR25hVVJza0R0eU5iTkRPcGVKVERERnF0NDhpTVBybnpweDZJWndxZW1mVUpONHhCRVpmemErcFl0L2l5b2QrOXRacjIwUlJXU3YvbzBVd1F6QU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFqQWRCZ05WSFE0RUZnUVU5TllZbG9ibkFHNGMwL3FqeHlIL2xxL3d6K1F3Q2dZSUtvWkl6ajBFQXdNRGFBQXdaUUl4QUxaTFo4QmdSWHpLeExNTU45VklsTytlNGhyQm5OQmdGN3R6N0hucm93djJOZXRaRXJJQUNLRnltQmx2V0R2dE1BSXdaTytraTZzc1ExYnNabzk4TzhtRUFmMk5aN2lpQ2dERFUwVndqZWNvNnp5ZWgwekJUczkvN2dWNkFITlE1M3hEIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfSwKICAgICAgInZhbGlkRm9yIjogewogICAgICAgICJzdGFydCI6ICIyMDIzLTA0LTE0VDAwOjAwOjAwLjAwMFoiCiAgICAgIH0KICAgIH0KICBdCn0K","registry.npmjs.org%2Fkeys.json":"ewogICAgImtleXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAia2V5SWQiOiAiU0hBMjU2OmpsM2J3c3d1ODBQampva0NnaDBvMnc1YzJVNExoUUFFNTdnajljejFrekEiLAogICAgICAgICAgICAia2V5VXNhZ2UiOiAibnBtOnNpZ25hdHVyZXMiLAogICAgICAgICAgICAicHVibGljS2V5IjogewogICAgICAgICAgICAgICAgInJhd0J5dGVzIjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTFPbGIzek1BRkZ4WEtIaUlrUU81Y0ozWWhsNWk2VVBwK0lodXRlQkpidUhjQTVVb2dLbzBFV3RsV3dXNktTYUtvVE5FWUw3SmxDUWlWbmtoQmt0VWdnPT0iLAogICAgICAgICAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgICAgICAgICAgICJzdGFydCI6ICIxOTk5LTAxLTAxVDAwOjAwOjAwLjAwMFoiLAogICAgICAgICAgICAgICAgICAgICJlbmQiOiAiMjAyNS0wMS0yOVQwMDowMDowMC4wMDBaIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJrZXlJZCI6ICJTSEEyNTY6amwzYndzd3U4MFBqam9rQ2doMG8ydzVjMlU0TGhRQUU1N2dqOWN6MWt6QSIsCiAgICAgICAgICAgICJrZXlVc2FnZSI6ICJucG06YXR0ZXN0YXRpb25zIiwKICAgICAgICAgICAgInB1YmxpY0tleSI6IHsKICAgICAgICAgICAgICAgICJyYXdCeXRlcyI6ICJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUUxT2xiM3pNQUZGeFhLSGlJa1FPNWNKM1lobDVpNlVQcCtJaHV0ZUJKYnVIY0E1VW9nS28wRVd0bFd3VzZLU2FLb1RORVlMN0psQ1FpVm5raEJrdFVnZz09IiwKICAgICAgICAgICAgICAgICJrZXlEZXRhaWxzIjogIlBLSVhfRUNEU0FfUDI1Nl9TSEFfMjU2IiwKICAgICAgICAgICAgICAgICJ2YWxpZEZvciI6IHsKICAgICAgICAgICAgICAgICAgICAic3RhcnQiOiAiMjAyMi0xMi0wMVQwMDowMDowMC4wMDBaIiwKICAgICAgICAgICAgICAgICAgICAiZW5kIjogIjIwMjUtMDEtMjlUMDA6MDA6MDAuMDAwWiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAia2V5SWQiOiAiU0hBMjU2OkRoUTh3UjVBUEJ2RkhMRi8rVGMrQVl2UE9kVHBjSURxT2h4c0JIUndDN1UiLAogICAgICAgICAgICAia2V5VXNhZ2UiOiAibnBtOnNpZ25hdHVyZXMiLAogICAgICAgICAgICAicHVibGljS2V5IjogewogICAgICAgICAgICAgICAgInJhd0J5dGVzIjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk2WWE3VysrN2FVUHp2TVRyZXpINlljeDNjK0hPS1lDY05HeWJKWlNDSnEvZmQ3UWE4dXVBS3RkSWtVUXRRaUVLRVJoQW1FNWxNTUpoUDhPa0RPYTJnPT0iLAogICAgICAgICAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgICAgICAgICAgICJzdGFydCI6ICIyMDI1LTAxLTEzVDAwOjAwOjAwLjAwMFoiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgImtleUlkIjogIlNIQTI1NjpEaFE4d1I1QVBCdkZITEYvK1RjK0FZdlBPZFRwY0lEcU9oeHNCSFJ3QzdVIiwKICAgICAgICAgICAgImtleVVzYWdlIjogIm5wbTphdHRlc3RhdGlvbnMiLAogICAgICAgICAgICAicHVibGljS2V5IjogewogICAgICAgICAgICAgICAgInJhd0J5dGVzIjogIk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRVk2WWE3VysrN2FVUHp2TVRyZXpINlljeDNjK0hPS1lDY05HeWJKWlNDSnEvZmQ3UWE4dXVBS3RkSWtVUXRRaUVLRVJoQW1FNWxNTUpoUDhPa0RPYTJnPT0iLAogICAgICAgICAgICAgICAgImtleURldGFpbHMiOiAiUEtJWF9FQ0RTQV9QMjU2X1NIQV8yNTYiLAogICAgICAgICAgICAgICAgInZhbGlkRm9yIjogewogICAgICAgICAgICAgICAgICAgICJzdGFydCI6ICIyMDI1LTAxLTEzVDAwOjAwOjAwLjAwMFoiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICBdCn0K"}}}});var YDe=G(u1=>{"use strict";var WDe=u1&&u1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(u1,"__esModule",{value:!0});u1.TUFClient=void 0;var kg=WDe(Ie("fs")),qb=WDe(Ie("path")),y2t=jDe(),E2t=$O(),I2t=GDe(),CJ="targets",IJ=class{constructor(t){let r=new URL(t.mirrorURL),s=encodeURIComponent(r.host+r.pathname.replace(/\/$/,"")),a=qb.default.join(t.cachePath,s);C2t(a),w2t({cachePath:a,mirrorURL:t.mirrorURL,tufRootPath:t.rootPath,forceInit:t.forceInit}),this.updater=B2t({mirrorURL:t.mirrorURL,cachePath:a,forceCache:t.forceCache,retry:t.retry,timeout:t.timeout})}async refresh(){return this.updater.refresh()}getTarget(t){return(0,I2t.readTarget)(this.updater,t)}};u1.TUFClient=IJ;function C2t(e){let t=qb.default.join(e,CJ);kg.default.existsSync(e)||kg.default.mkdirSync(e,{recursive:!0}),kg.default.existsSync(t)||kg.default.mkdirSync(t)}function w2t({cachePath:e,mirrorURL:t,tufRootPath:r,forceInit:s}){let a=qb.default.join(e,"root.json");if(!kg.default.existsSync(a)||s)if(r)kg.default.copyFileSync(r,a);else{let c=qDe()[t];if(!c)throw new E2t.TUFError({code:"TUF_INIT_CACHE_ERROR",message:`No root.json found for mirror: ${t}`});kg.default.writeFileSync(a,Buffer.from(c["root.json"],"base64")),Object.entries(c.targets).forEach(([f,p])=>{kg.default.writeFileSync(qb.default.join(e,CJ,f),Buffer.from(p,"base64"))})}}function B2t(e){let t={fetchTimeout:e.timeout,fetchRetry:e.retry};return new y2t.Updater({metadataBaseUrl:e.mirrorURL,targetBaseUrl:`${e.mirrorURL}/targets`,metadataDir:e.cachePath,targetDir:qb.default.join(e.cachePath,CJ),forceCache:e.forceCache,config:t})}});var $O=G(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});hh.TUFError=hh.DEFAULT_MIRROR_URL=void 0;hh.getTrustedRoot=Q2t;hh.initTUF=R2t;var v2t=yb(),S2t=SSe(),D2t=YDe();hh.DEFAULT_MIRROR_URL="https://tuf-repo-cdn.sigstore.dev";var b2t="sigstore-js",P2t={retries:2},x2t=5e3,k2t="trusted_root.json";async function Q2t(e={}){let r=await VDe(e).getTarget(k2t);return v2t.TrustedRoot.fromJSON(JSON.parse(r))}async function R2t(e={}){let t=VDe(e);return t.refresh().then(()=>t)}function VDe(e){return new D2t.TUFClient({cachePath:e.cachePath||(0,S2t.appDataPath)(b2t),rootPath:e.rootPath,mirrorURL:e.mirrorURL||hh.DEFAULT_MIRROR_URL,retry:e.retry??P2t,timeout:e.timeout??x2t,forceCache:e.forceCache??!1,forceInit:e.forceInit??e.force??!1})}var T2t=EJ();Object.defineProperty(hh,"TUFError",{enumerable:!0,get:function(){return T2t.TUFError}})});var JDe=G(eL=>{"use strict";Object.defineProperty(eL,"__esModule",{value:!0});eL.DSSESignatureContent=void 0;var Wb=Pl(),wJ=class{constructor(t){this.env=t}compareDigest(t){return Wb.crypto.bufferEqual(t,Wb.crypto.digest("sha256",this.env.payload))}compareSignature(t){return Wb.crypto.bufferEqual(t,this.signature)}verifySignature(t){return Wb.crypto.verify(this.preAuthEncoding,t,this.signature)}get signature(){return this.env.signatures.length>0?this.env.signatures[0].sig:Buffer.from("")}get preAuthEncoding(){return Wb.dsse.preAuthEncoding(this.env.payloadType,this.env.payload)}};eL.DSSESignatureContent=wJ});var KDe=G(tL=>{"use strict";Object.defineProperty(tL,"__esModule",{value:!0});tL.MessageSignatureContent=void 0;var BJ=Pl(),vJ=class{constructor(t,r){this.signature=t.signature,this.messageDigest=t.messageDigest.digest,this.artifact=r}compareSignature(t){return BJ.crypto.bufferEqual(t,this.signature)}compareDigest(t){return BJ.crypto.bufferEqual(t,this.messageDigest)}verifySignature(t){return BJ.crypto.verify(this.artifact,t,this.signature)}};tL.MessageSignatureContent=vJ});var XDe=G(rL=>{"use strict";Object.defineProperty(rL,"__esModule",{value:!0});rL.toSignedEntity=O2t;rL.signatureContent=zDe;var SJ=Pl(),F2t=JDe(),N2t=KDe();function O2t(e,t){let{tlogEntries:r,timestampVerificationData:s}=e.verificationMaterial,a=[];for(let n of r)a.push({$case:"transparency-log",tlogEntry:n});for(let n of s?.rfc3161Timestamps??[])a.push({$case:"timestamp-authority",timestamp:SJ.RFC3161Timestamp.parse(n.signedTimestamp)});return{signature:zDe(e,t),key:L2t(e),tlogEntries:r,timestamps:a}}function zDe(e,t){switch(e.content.$case){case"dsseEnvelope":return new F2t.DSSESignatureContent(e.content.dsseEnvelope);case"messageSignature":return new N2t.MessageSignatureContent(e.content.messageSignature,t)}}function L2t(e){switch(e.verificationMaterial.content.$case){case"publicKey":return{$case:"public-key",hint:e.verificationMaterial.content.publicKey.hint};case"x509CertificateChain":return{$case:"certificate",certificate:SJ.X509Certificate.parse(e.verificationMaterial.content.x509CertificateChain.certificates[0].rawBytes)};case"certificate":return{$case:"certificate",certificate:SJ.X509Certificate.parse(e.verificationMaterial.content.certificate.rawBytes)}}}});var So=G(f1=>{"use strict";Object.defineProperty(f1,"__esModule",{value:!0});f1.PolicyError=f1.VerificationError=void 0;var nL=class extends Error{constructor({code:t,message:r,cause:s}){super(r),this.code=t,this.cause=s,this.name=this.constructor.name}},DJ=class extends nL{};f1.VerificationError=DJ;var bJ=class extends nL{};f1.PolicyError=bJ});var ZDe=G(iL=>{"use strict";Object.defineProperty(iL,"__esModule",{value:!0});iL.filterCertAuthorities=M2t;iL.filterTLogAuthorities=U2t;function M2t(e,t){return e.filter(r=>r.validFor.start<=t.start&&r.validFor.end>=t.end)}function U2t(e,t){return e.filter(r=>t.logID&&!r.logID.equals(t.logID)?!1:r.validFor.start<=t.targetDate&&t.targetDate<=r.validFor.end)}});var dy=G(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.filterTLogAuthorities=gy.filterCertAuthorities=void 0;gy.toTrustMaterial=H2t;var PJ=Pl(),Yb=yb(),_2t=So(),xJ=new Date(0),kJ=new Date(864e13),tbe=ZDe();Object.defineProperty(gy,"filterCertAuthorities",{enumerable:!0,get:function(){return tbe.filterCertAuthorities}});Object.defineProperty(gy,"filterTLogAuthorities",{enumerable:!0,get:function(){return tbe.filterTLogAuthorities}});function H2t(e,t){let r=typeof t=="function"?t:j2t(t);return{certificateAuthorities:e.certificateAuthorities.map(ebe),timestampAuthorities:e.timestampAuthorities.map(ebe),tlogs:e.tlogs.map($De),ctlogs:e.ctlogs.map($De),publicKey:r}}function $De(e){let t=e.publicKey.keyDetails,r=t===Yb.PublicKeyDetails.PKCS1_RSA_PKCS1V5||t===Yb.PublicKeyDetails.PKIX_RSA_PKCS1V5||t===Yb.PublicKeyDetails.PKIX_RSA_PKCS1V15_2048_SHA256||t===Yb.PublicKeyDetails.PKIX_RSA_PKCS1V15_3072_SHA256||t===Yb.PublicKeyDetails.PKIX_RSA_PKCS1V15_4096_SHA256?"pkcs1":"spki";return{logID:e.logId.keyId,publicKey:PJ.crypto.createPublicKey(e.publicKey.rawBytes,r),validFor:{start:e.publicKey.validFor?.start||xJ,end:e.publicKey.validFor?.end||kJ}}}function ebe(e){return{certChain:e.certChain.certificates.map(t=>PJ.X509Certificate.parse(t.rawBytes)),validFor:{start:e.validFor?.start||xJ,end:e.validFor?.end||kJ}}}function j2t(e){return t=>{let r=(e||{})[t];if(!r)throw new _2t.VerificationError({code:"PUBLIC_KEY_ERROR",message:`key not found: ${t}`});return{publicKey:PJ.crypto.createPublicKey(r.rawBytes),validFor:s=>(r.validFor?.start||xJ)<=s&&(r.validFor?.end||kJ)>=s}}}});var QJ=G(Vb=>{"use strict";Object.defineProperty(Vb,"__esModule",{value:!0});Vb.CertificateChainVerifier=void 0;Vb.verifyCertificateChain=q2t;var my=So(),G2t=dy();function q2t(e,t){let r=(0,G2t.filterCertAuthorities)(t,{start:e.notBefore,end:e.notAfter}),s;for(let a of r)try{return new sL({trustedCerts:a.certChain,untrustedCert:e}).verify()}catch(n){s=n}throw new my.VerificationError({code:"CERTIFICATE_ERROR",message:"Failed to verify certificate chain",cause:s})}var sL=class{constructor(t){this.untrustedCert=t.untrustedCert,this.trustedCerts=t.trustedCerts,this.localCerts=W2t([...t.trustedCerts,t.untrustedCert])}verify(){let t=this.sort();return this.checkPath(t),t}sort(){let t=this.untrustedCert,r=this.buildPaths(t);if(r=r.filter(a=>a.some(n=>this.trustedCerts.includes(n))),r.length===0)throw new my.VerificationError({code:"CERTIFICATE_ERROR",message:"no trusted certificate path found"});let s=r.reduce((a,n)=>a.length{if(s&&a.extSubjectKeyID){a.extSubjectKeyID.keyIdentifier.equals(s)&&r.push(a);return}a.subject.equals(t.issuer)&&r.push(a)}),r=r.filter(a=>{try{return t.verify(a)}catch{return!1}}),r)}checkPath(t){if(t.length<1)throw new my.VerificationError({code:"CERTIFICATE_ERROR",message:"certificate chain must contain at least one certificate"});if(!t.slice(1).every(s=>s.isCA))throw new my.VerificationError({code:"CERTIFICATE_ERROR",message:"intermediate certificate is not a CA"});for(let s=t.length-2;s>=0;s--)if(!t[s].issuer.equals(t[s+1].subject))throw new my.VerificationError({code:"CERTIFICATE_ERROR",message:"incorrect certificate name chaining"});for(let s=0;s{"use strict";Object.defineProperty(RJ,"__esModule",{value:!0});RJ.verifySCTs=J2t;var oL=Pl(),Y2t=So(),V2t=dy();function J2t(e,t,r){let s,a=e.clone();for(let p=0;p{if(!(0,V2t.filterTLogAuthorities)(r,{logID:p.logID,targetDate:p.datetime}).some(C=>p.verify(n.buffer,C.publicKey)))throw new Y2t.VerificationError({code:"CERTIFICATE_ERROR",message:"SCT verification failed"});return p.logID})}});var ibe=G(aL=>{"use strict";Object.defineProperty(aL,"__esModule",{value:!0});aL.verifyPublicKey=eBt;aL.verifyCertificate=tBt;var K2t=Pl(),nbe=So(),z2t=QJ(),X2t=rbe(),Z2t="1.3.6.1.4.1.57264.1.1",$2t="1.3.6.1.4.1.57264.1.8";function eBt(e,t,r){let s=r.publicKey(e);return t.forEach(a=>{if(!s.validFor(a))throw new nbe.VerificationError({code:"PUBLIC_KEY_ERROR",message:`Public key is not valid for timestamp: ${a.toISOString()}`})}),{key:s.publicKey}}function tBt(e,t,r){let s=(0,z2t.verifyCertificateChain)(e,r.certificateAuthorities);if(!t.every(n=>s.every(c=>c.validForDate(n))))throw new nbe.VerificationError({code:"CERTIFICATE_ERROR",message:"certificate is not valid or expired at the specified date"});return{scts:(0,X2t.verifySCTs)(s[0],s[1],r.ctlogs),signer:rBt(s[0])}}function rBt(e){let t,r=e.extension($2t);r?t=r.valueObj.subs?.[0]?.value.toString("ascii"):t=e.extension(Z2t)?.value.toString("ascii");let s={extensions:{issuer:t},subjectAlternativeName:e.subjectAltName};return{key:K2t.crypto.createPublicKey(e.publicKey),identity:s}}});var obe=G(lL=>{"use strict";Object.defineProperty(lL,"__esModule",{value:!0});lL.verifySubjectAlternativeName=nBt;lL.verifyExtensions=iBt;var sbe=So();function nBt(e,t){if(t===void 0||!t.match(e))throw new sbe.PolicyError({code:"UNTRUSTED_SIGNER_ERROR",message:`certificate identity error - expected ${e}, got ${t}`})}function iBt(e,t={}){let r;for(r in e)if(t[r]!==e[r])throw new sbe.PolicyError({code:"UNTRUSTED_SIGNER_ERROR",message:`invalid certificate extension - expected ${r}=${e[r]}, got ${r}=${t[r]}`})}});var abe=G(LJ=>{"use strict";Object.defineProperty(LJ,"__esModule",{value:!0});LJ.verifyCheckpoint=aBt;var FJ=Pl(),A1=So(),sBt=dy(),TJ=` + +`,oBt=/\u2014 (\S+) (\S+)\n/g;function aBt(e,t){let r=(0,sBt.filterTLogAuthorities)(t,{targetDate:new Date(Number(e.integratedTime)*1e3)}),s=e.inclusionProof,a=NJ.fromString(s.checkpoint.envelope),n=OJ.fromString(a.note);if(!lBt(a,r))throw new A1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});if(!FJ.crypto.bufferEqual(n.logHash,s.rootHash))throw new A1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"root hash mismatch"})}function lBt(e,t){let r=Buffer.from(e.note,"utf-8");return e.signatures.every(s=>{let a=t.find(n=>FJ.crypto.bufferEqual(n.logID.subarray(0,4),s.keyHint));return a?FJ.crypto.verify(r,a.publicKey,s.signature):!1})}var NJ=class e{constructor(t,r){this.note=t,this.signatures=r}static fromString(t){if(!t.includes(TJ))throw new A1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=t.indexOf(TJ),s=t.slice(0,r+1),n=t.slice(r+TJ.length).matchAll(oBt),c=Array.from(n,f=>{let[,p,h]=f,E=Buffer.from(h,"base64");if(E.length<5)throw new A1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:p,keyHint:E.subarray(0,4),signature:E.subarray(4)}});if(c.length===0)throw new A1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new e(s,c)}},OJ=class e{constructor(t,r,s,a){this.origin=t,this.logSize=r,this.logHash=s,this.rest=a}static fromString(t){let r=t.trimEnd().split(` +`);if(r.length<3)throw new A1.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let s=r[0],a=BigInt(r[1]),n=Buffer.from(r[2],"base64"),c=r.slice(3);return new e(s,a,n,c)}}});var lbe=G(HJ=>{"use strict";Object.defineProperty(HJ,"__esModule",{value:!0});HJ.verifyMerkleInclusion=fBt;var _J=Pl(),MJ=So(),cBt=Buffer.from([0]),uBt=Buffer.from([1]);function fBt(e){let t=e.inclusionProof,r=BigInt(t.logIndex),s=BigInt(t.treeSize);if(r<0n||r>=s)throw new MJ.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${r}`});let{inner:a,border:n}=ABt(r,s);if(t.hashes.length!==a+n)throw new MJ.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=t.hashes.slice(0,a),f=t.hashes.slice(a),p=yBt(e.canonicalizedBody),h=hBt(pBt(p,c,r),f);if(!_J.crypto.bufferEqual(h,t.rootHash))throw new MJ.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}function ABt(e,t){let r=gBt(e,t),s=dBt(e>>BigInt(r));return{inner:r,border:s}}function pBt(e,t,r){return t.reduce((s,a,n)=>r>>BigInt(n)&BigInt(1)?UJ(a,s):UJ(s,a),e)}function hBt(e,t){return t.reduce((r,s)=>UJ(s,r),e)}function gBt(e,t){return mBt(e^t-BigInt(1))}function dBt(e){return e.toString(2).split("1").length-1}function mBt(e){return e===0n?0:e.toString(2).length}function UJ(e,t){return _J.crypto.digest("sha256",uBt,e,t)}function yBt(e){return _J.crypto.digest("sha256",cBt,e)}});var ube=G(jJ=>{"use strict";Object.defineProperty(jJ,"__esModule",{value:!0});jJ.verifyTLogSET=CBt;var cbe=Pl(),EBt=So(),IBt=dy();function CBt(e,t){if(!(0,IBt.filterTLogAuthorities)(t,{logID:e.logId.keyId,targetDate:new Date(Number(e.integratedTime)*1e3)}).some(a=>{let n=wBt(e),c=Buffer.from(cbe.json.canonicalize(n),"utf8"),f=e.inclusionPromise.signedEntryTimestamp;return cbe.crypto.verify(c,a.publicKey,f)}))throw new EBt.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}function wBt(e){let{integratedTime:t,logIndex:r,logId:s,canonicalizedBody:a}=e;return{body:a.toString("base64"),integratedTime:Number(t),logIndex:Number(r),logID:s.keyId.toString("hex")}}});var fbe=G(WJ=>{"use strict";Object.defineProperty(WJ,"__esModule",{value:!0});WJ.verifyRFC3161Timestamp=SBt;var GJ=Pl(),qJ=So(),BBt=QJ(),vBt=dy();function SBt(e,t,r){let s=e.signingTime;if(r=(0,vBt.filterCertAuthorities)(r,{start:s,end:s}),r=bBt(r,{serialNumber:e.signerSerialNumber,issuer:e.signerIssuer}),!r.some(n=>{try{return DBt(e,t,n),!0}catch{return!1}}))throw new qJ.VerificationError({code:"TIMESTAMP_ERROR",message:"timestamp could not be verified"})}function DBt(e,t,r){let[s,...a]=r.certChain,n=GJ.crypto.createPublicKey(s.publicKey),c=e.signingTime;try{new BBt.CertificateChainVerifier({untrustedCert:s,trustedCerts:a}).verify()}catch{throw new qJ.VerificationError({code:"TIMESTAMP_ERROR",message:"invalid certificate chain"})}if(!r.certChain.every(p=>p.validForDate(c)))throw new qJ.VerificationError({code:"TIMESTAMP_ERROR",message:"timestamp was signed with an expired certificate"});e.verify(t,n)}function bBt(e,t){return e.filter(r=>r.certChain.length>0&&GJ.crypto.bufferEqual(r.certChain[0].serialNumber,t.serialNumber)&&GJ.crypto.bufferEqual(r.certChain[0].issuer,t.issuer))}});var Abe=G(cL=>{"use strict";Object.defineProperty(cL,"__esModule",{value:!0});cL.verifyTSATimestamp=TBt;cL.verifyTLogTimestamp=FBt;var PBt=So(),xBt=abe(),kBt=lbe(),QBt=ube(),RBt=fbe();function TBt(e,t,r){return(0,RBt.verifyRFC3161Timestamp)(e,t,r),{type:"timestamp-authority",logID:e.signerSerialNumber,timestamp:e.signingTime}}function FBt(e,t){let r=!1;if(NBt(e)&&((0,QBt.verifyTLogSET)(e,t),r=!0),OBt(e)&&((0,kBt.verifyMerkleInclusion)(e),(0,xBt.verifyCheckpoint)(e,t),r=!0),!r)throw new PBt.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"});return{type:"transparency-log",logID:e.logId.keyId,timestamp:new Date(Number(e.integratedTime)*1e3)}}function NBt(e){return e.inclusionPromise!==void 0}function OBt(e){return e.inclusionProof!==void 0}});var pbe=G(YJ=>{"use strict";Object.defineProperty(YJ,"__esModule",{value:!0});YJ.verifyDSSETLogBody=LBt;var uL=So();function LBt(e,t){switch(e.apiVersion){case"0.0.1":return MBt(e,t);default:throw new uL.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported dsse version: ${e.apiVersion}`})}}function MBt(e,t){if(e.spec.signatures?.length!==1)throw new uL.VerificationError({code:"TLOG_BODY_ERROR",message:"signature count mismatch"});let r=e.spec.signatures[0].signature;if(!t.compareSignature(Buffer.from(r,"base64")))throw new uL.VerificationError({code:"TLOG_BODY_ERROR",message:"tlog entry signature mismatch"});let s=e.spec.payloadHash?.value||"";if(!t.compareDigest(Buffer.from(s,"hex")))throw new uL.VerificationError({code:"TLOG_BODY_ERROR",message:"DSSE payload hash mismatch"})}});var hbe=G(JJ=>{"use strict";Object.defineProperty(JJ,"__esModule",{value:!0});JJ.verifyHashedRekordTLogBody=UBt;var VJ=So();function UBt(e,t){switch(e.apiVersion){case"0.0.1":return _Bt(e,t);default:throw new VJ.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported hashedrekord version: ${e.apiVersion}`})}}function _Bt(e,t){let r=e.spec.signature.content||"";if(!t.compareSignature(Buffer.from(r,"base64")))throw new VJ.VerificationError({code:"TLOG_BODY_ERROR",message:"signature mismatch"});let s=e.spec.data.hash?.value||"";if(!t.compareDigest(Buffer.from(s,"hex")))throw new VJ.VerificationError({code:"TLOG_BODY_ERROR",message:"digest mismatch"})}});var gbe=G(KJ=>{"use strict";Object.defineProperty(KJ,"__esModule",{value:!0});KJ.verifyIntotoTLogBody=HBt;var fL=So();function HBt(e,t){switch(e.apiVersion){case"0.0.2":return jBt(e,t);default:throw new fL.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported intoto version: ${e.apiVersion}`})}}function jBt(e,t){if(e.spec.content.envelope.signatures?.length!==1)throw new fL.VerificationError({code:"TLOG_BODY_ERROR",message:"signature count mismatch"});let r=GBt(e.spec.content.envelope.signatures[0].sig);if(!t.compareSignature(Buffer.from(r,"base64")))throw new fL.VerificationError({code:"TLOG_BODY_ERROR",message:"tlog entry signature mismatch"});let s=e.spec.content.payloadHash?.value||"";if(!t.compareDigest(Buffer.from(s,"hex")))throw new fL.VerificationError({code:"TLOG_BODY_ERROR",message:"DSSE payload hash mismatch"})}function GBt(e){return Buffer.from(e,"base64").toString("utf-8")}});var mbe=G(zJ=>{"use strict";Object.defineProperty(zJ,"__esModule",{value:!0});zJ.verifyTLogBody=VBt;var dbe=So(),qBt=pbe(),WBt=hbe(),YBt=gbe();function VBt(e,t){let{kind:r,version:s}=e.kindVersion,a=JSON.parse(e.canonicalizedBody.toString("utf8"));if(r!==a.kind||s!==a.apiVersion)throw new dbe.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${s}, received: ${a.kind}/${a.apiVersion}`});switch(a.kind){case"dsse":return(0,qBt.verifyDSSETLogBody)(a,t);case"intoto":return(0,YBt.verifyIntotoTLogBody)(a,t);case"hashedrekord":return(0,WBt.verifyHashedRekordTLogBody)(a,t);default:throw new dbe.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}});var wbe=G(AL=>{"use strict";Object.defineProperty(AL,"__esModule",{value:!0});AL.Verifier=void 0;var JBt=Ie("util"),p1=So(),ybe=ibe(),Ebe=obe(),Ibe=Abe(),KBt=mbe(),XJ=class{constructor(t,r={}){this.trustMaterial=t,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,tsaThreshold:r.tsaThreshold??0}}verify(t,r){let s=this.verifyTimestamps(t),a=this.verifySigningKey(t,s);return this.verifyTLogs(t),this.verifySignature(t,a),r&&this.verifyPolicy(r,a.identity||{}),a}verifyTimestamps(t){let r=0,s=0,a=t.timestamps.map(n=>{switch(n.$case){case"timestamp-authority":return s++,(0,Ibe.verifyTSATimestamp)(n.timestamp,t.signature.signature,this.trustMaterial.timestampAuthorities);case"transparency-log":return r++,(0,Ibe.verifyTLogTimestamp)(n.tlogEntry,this.trustMaterial.tlogs)}});if(Cbe(a))throw new p1.VerificationError({code:"TIMESTAMP_ERROR",message:"duplicate timestamp"});if(rn.timestamp)}verifySigningKey({key:t},r){switch(t.$case){case"public-key":return(0,ybe.verifyPublicKey)(t.hint,r,this.trustMaterial);case"certificate":{let s=(0,ybe.verifyCertificate)(t.certificate,r,this.trustMaterial);if(Cbe(s.scts))throw new p1.VerificationError({code:"CERTIFICATE_ERROR",message:"duplicate SCT"});if(s.scts.length(0,KBt.verifyTLogBody)(s,t))}verifySignature(t,r){if(!t.signature.verifySignature(r.key))throw new p1.VerificationError({code:"SIGNATURE_ERROR",message:"signature verification failed"})}verifyPolicy(t,r){t.subjectAlternativeName&&(0,Ebe.verifySubjectAlternativeName)(t.subjectAlternativeName,r.subjectAlternativeName),t.extensions&&(0,Ebe.verifyExtensions)(t.extensions,r.extensions)}};AL.Verifier=XJ;function Cbe(e){for(let t=0;t{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.Verifier=iu.toTrustMaterial=iu.VerificationError=iu.PolicyError=iu.toSignedEntity=void 0;var zBt=XDe();Object.defineProperty(iu,"toSignedEntity",{enumerable:!0,get:function(){return zBt.toSignedEntity}});var Bbe=So();Object.defineProperty(iu,"PolicyError",{enumerable:!0,get:function(){return Bbe.PolicyError}});Object.defineProperty(iu,"VerificationError",{enumerable:!0,get:function(){return Bbe.VerificationError}});var XBt=dy();Object.defineProperty(iu,"toTrustMaterial",{enumerable:!0,get:function(){return XBt.toTrustMaterial}});var ZBt=wbe();Object.defineProperty(iu,"Verifier",{enumerable:!0,get:function(){return ZBt.Verifier}})});var vbe=G(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.DEFAULT_TIMEOUT=ja.DEFAULT_RETRY=void 0;ja.createBundleBuilder=tvt;ja.createKeyFinder=rvt;ja.createVerificationPolicy=nvt;var $Bt=Pl(),h1=c7(),evt=pL();ja.DEFAULT_RETRY={retries:2};ja.DEFAULT_TIMEOUT=5e3;function tvt(e,t){let r={signer:ivt(t),witnesses:ovt(t)};switch(e){case"messageSignature":return new h1.MessageSignatureBundleBuilder(r);case"dsseEnvelope":return new h1.DSSEBundleBuilder({...r,certificateChain:t.legacyCompatibility})}}function rvt(e){return t=>{let r=e(t);if(!r)throw new evt.VerificationError({code:"PUBLIC_KEY_ERROR",message:`key not found: ${t}`});return{publicKey:$Bt.crypto.createPublicKey(r),validFor:()=>!0}}}function nvt(e){let t={},r=e.certificateIdentityEmail||e.certificateIdentityURI;return r&&(t.subjectAlternativeName=r),e.certificateIssuer&&(t.extensions={issuer:e.certificateIssuer}),t}function ivt(e){return new h1.FulcioSigner({fulcioBaseURL:e.fulcioURL,identityProvider:e.identityProvider||svt(e),retry:e.retry??ja.DEFAULT_RETRY,timeout:e.timeout??ja.DEFAULT_TIMEOUT})}function svt(e){let t=e.identityToken;return t?{getToken:()=>Promise.resolve(t)}:new h1.CIContextProvider("sigstore")}function ovt(e){let t=[];return avt(e)&&t.push(new h1.RekorWitness({rekorBaseURL:e.rekorURL,entryType:e.legacyCompatibility?"intoto":"dsse",fetchOnConflict:!1,retry:e.retry??ja.DEFAULT_RETRY,timeout:e.timeout??ja.DEFAULT_TIMEOUT})),lvt(e)&&t.push(new h1.TSAWitness({tsaBaseURL:e.tsaServerURL,retry:e.retry??ja.DEFAULT_RETRY,timeout:e.timeout??ja.DEFAULT_TIMEOUT})),t}function avt(e){return e.tlogUpload!==!1}function lvt(e){return e.tsaServerURL!==void 0}});var bbe=G(su=>{"use strict";var cvt=su&&su.__createBinding||(Object.create?function(e,t,r,s){s===void 0&&(s=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,a)}:function(e,t,r,s){s===void 0&&(s=r),e[s]=t[r]}),uvt=su&&su.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Sbe=su&&su.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var s=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(s[s.length]=a);return s},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var s=e(t),a=0;aa.verify(e,s))}async function Dbe(e={}){let t=await fvt.getTrustedRoot({mirrorURL:e.tufMirrorURL,rootPath:e.tufRootPath,cachePath:e.tufCachePath,forceCache:e.tufForceCache,retry:e.retry??g1.DEFAULT_RETRY,timeout:e.timeout??g1.DEFAULT_TIMEOUT}),r=e.keySelector?g1.createKeyFinder(e.keySelector):void 0,s=(0,ZJ.toTrustMaterial)(t,r),a={ctlogThreshold:e.ctLogThreshold,tlogThreshold:e.tlogThreshold},n=new ZJ.Verifier(s,a),c=g1.createVerificationPolicy(e);return{verify:(f,p)=>{let h=(0,$J.bundleFromJSON)(f),E=(0,ZJ.toSignedEntity)(h,p);n.verify(E,c)}}}});var xbe=G(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.verify=Ni.sign=Ni.createVerifier=Ni.attest=Ni.VerificationError=Ni.PolicyError=Ni.TUFError=Ni.InternalError=Ni.DEFAULT_REKOR_URL=Ni.DEFAULT_FULCIO_URL=Ni.ValidationError=void 0;var gvt=Ib();Object.defineProperty(Ni,"ValidationError",{enumerable:!0,get:function(){return gvt.ValidationError}});var eK=c7();Object.defineProperty(Ni,"DEFAULT_FULCIO_URL",{enumerable:!0,get:function(){return eK.DEFAULT_FULCIO_URL}});Object.defineProperty(Ni,"DEFAULT_REKOR_URL",{enumerable:!0,get:function(){return eK.DEFAULT_REKOR_URL}});Object.defineProperty(Ni,"InternalError",{enumerable:!0,get:function(){return eK.InternalError}});var dvt=$O();Object.defineProperty(Ni,"TUFError",{enumerable:!0,get:function(){return dvt.TUFError}});var Pbe=pL();Object.defineProperty(Ni,"PolicyError",{enumerable:!0,get:function(){return Pbe.PolicyError}});Object.defineProperty(Ni,"VerificationError",{enumerable:!0,get:function(){return Pbe.VerificationError}});var hL=bbe();Object.defineProperty(Ni,"attest",{enumerable:!0,get:function(){return hL.attest}});Object.defineProperty(Ni,"createVerifier",{enumerable:!0,get:function(){return hL.createVerifier}});Object.defineProperty(Ni,"sign",{enumerable:!0,get:function(){return hL.sign}});Object.defineProperty(Ni,"verify",{enumerable:!0,get:function(){return hL.verify}})});Dt();qe();Dt();var sPe=Ie("child_process"),oPe=et(Rd());Yt();var qI=new Map([]);var Gv={};Vt(Gv,{BaseCommand:()=>At,WorkspaceRequiredError:()=>ar,getCli:()=>y0e,getDynamicLibs:()=>m0e,getPluginConfiguration:()=>YI,openWorkspace:()=>WI,pluginCommands:()=>qI,runExit:()=>QT});Yt();var At=class extends at{constructor(){super(...arguments);this.cwd=he.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new it("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};qe();Dt();Yt();var ar=class extends it{constructor(t,r){let s=J.relative(t,r),a=J.join(t,_t.fileName);super(`This command can only be run from within a workspace of your project (${s} isn't a workspace of ${a}).`)}};qe();Dt();nA();vc();sv();Yt();var Nit=et(pi());Al();var m0e=()=>new Map([["@yarnpkg/cli",Gv],["@yarnpkg/core",jv],["@yarnpkg/fslib",R2],["@yarnpkg/libzip",nv],["@yarnpkg/parsers",_2],["@yarnpkg/shell",cv],["clipanion",Z2],["semver",Nit],["typanion",Jo]]);qe();async function WI(e,t){let{project:r,workspace:s}=await Rt.find(e,t);if(!s)throw new ar(r.cwd,t);return s}qe();Dt();nA();vc();sv();Yt();var _St=et(pi());Al();var F5={};Vt(F5,{AddCommand:()=>zI,BinCommand:()=>XI,CacheCleanCommand:()=>ZI,ClipanionCommand:()=>iC,ConfigCommand:()=>rC,ConfigGetCommand:()=>$I,ConfigSetCommand:()=>eC,ConfigUnsetCommand:()=>tC,DedupeCommand:()=>nC,EntryCommand:()=>oC,ExecCommand:()=>lC,ExplainCommand:()=>fC,ExplainPeerRequirementsCommand:()=>cC,HelpCommand:()=>sC,InfoCommand:()=>AC,LinkCommand:()=>hC,NodeCommand:()=>gC,PluginCheckCommand:()=>dC,PluginImportCommand:()=>EC,PluginImportSourcesCommand:()=>IC,PluginListCommand:()=>mC,PluginRemoveCommand:()=>CC,PluginRuntimeCommand:()=>wC,RebuildCommand:()=>BC,RemoveCommand:()=>vC,RunCommand:()=>DC,RunIndexCommand:()=>SC,SetResolutionCommand:()=>bC,SetVersionCommand:()=>uC,SetVersionSourcesCommand:()=>yC,UnlinkCommand:()=>PC,UpCommand:()=>xC,VersionCommand:()=>aC,WhyCommand:()=>kC,WorkspaceCommand:()=>NC,WorkspacesListCommand:()=>FC,YarnCommand:()=>pC,dedupeUtils:()=>_T,default:()=>Kot,suggestUtils:()=>ef});var Hde=et(Rd());qe();qe();qe();Yt();var sde=et(Vv());Al();var ef={};Vt(ef,{Modifier:()=>f5,Strategy:()=>MT,Target:()=>Jv,WorkspaceModifier:()=>ede,applyModifier:()=>tot,extractDescriptorFromPath:()=>A5,extractRangeModifier:()=>tde,fetchDescriptorFrom:()=>p5,findProjectDescriptors:()=>ide,getModifier:()=>Kv,getSuggestedDescriptors:()=>zv,makeWorkspaceDescriptor:()=>nde,toWorkspaceModifier:()=>rde});qe();qe();Dt();var u5=et(pi()),$st="workspace:",Jv=(s=>(s.REGULAR="dependencies",s.DEVELOPMENT="devDependencies",s.PEER="peerDependencies",s))(Jv||{}),f5=(s=>(s.CARET="^",s.TILDE="~",s.EXACT="",s))(f5||{}),ede=(s=>(s.CARET="^",s.TILDE="~",s.EXACT="*",s))(ede||{}),MT=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(MT||{});function Kv(e,t){return e.exact?"":e.caret?"^":e.tilde?"~":t.configuration.get("defaultSemverRangePrefix")}var eot=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function tde(e,{project:t}){let r=e.match(eot);return r?r[1]:t.configuration.get("defaultSemverRangePrefix")}function tot(e,t){let{protocol:r,source:s,params:a,selector:n}=j.parseRange(e.range);return u5.default.valid(n)&&(n=`${t}${e.range}`),j.makeDescriptor(e,j.makeRange({protocol:r,source:s,params:a,selector:n}))}function rde(e){switch(e){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${e}"`)}}function nde(e,t){return j.makeDescriptor(e.anchoredDescriptor,`${$st}${rde(t)}`)}async function ide(e,{project:t,target:r}){let s=new Map,a=n=>{let c=s.get(n.descriptorHash);return c||s.set(n.descriptorHash,c={descriptor:n,locators:[]}),c};for(let n of t.workspaces)if(r==="peerDependencies"){let c=n.manifest.peerDependencies.get(e.identHash);c!==void 0&&a(c).locators.push(n.anchoredLocator)}else{let c=n.manifest.dependencies.get(e.identHash),f=n.manifest.devDependencies.get(e.identHash);r==="devDependencies"?f!==void 0?a(f).locators.push(n.anchoredLocator):c!==void 0&&a(c).locators.push(n.anchoredLocator):c!==void 0?a(c).locators.push(n.anchoredLocator):f!==void 0&&a(f).locators.push(n.anchoredLocator)}return s}async function A5(e,{cwd:t,workspace:r}){return await not(async s=>{J.isAbsolute(e)||(e=J.relative(r.cwd,J.resolve(t,e)),e.match(/^\.{0,2}\//)||(e=`./${e}`));let{project:a}=r,n=await p5(j.makeIdent(null,"archive"),e,{project:r.project,cache:s,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let c=new Qi,f=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:s,fetcher:p,report:c,resolver:f},E=f.bindDescriptor(n,r.anchoredLocator,h),C=j.convertDescriptorToLocator(E),S=await p.fetch(C,h),x=await _t.find(S.prefixPath,{baseFs:S.packageFs});if(!x.name)throw new Error("Target path doesn't have a name");return j.makeDescriptor(x.name,e)})}function rot(e){if(e.range==="unknown")return{type:"resolve",range:"latest"};if(kr.validRange(e.range))return{type:"fixed",range:e.range};if(_p.test(e.range))return{type:"resolve",range:e.range};let t=e.range.match(/^(?:jsr:|npm:)(.*)/);if(!t)return{type:"fixed",range:e.range};let[,r]=t,s=`${j.stringifyIdent(e)}@`;return r.startsWith(s)&&(r=r.slice(s.length)),kr.validRange(r)?{type:"fixed",range:e.range}:_p.test(r)?{type:"resolve",range:e.range}:{type:"fixed",range:e.range}}async function zv(e,{project:t,workspace:r,cache:s,target:a,fixed:n,modifier:c,strategies:f,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let h=!n||e.range==="unknown"?rot(e):{type:"fixed",range:e.range};if(h.type==="fixed")return{suggestions:[{descriptor:e,name:`Use ${j.prettyDescriptor(t.configuration,e)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let E=typeof r<"u"&&r!==null&&r.manifest[a].get(e.identHash)||null,C=[],S=[],x=async I=>{try{await I()}catch(T){S.push(T)}};for(let I of f){if(C.length>=p)break;switch(I){case"keep":await x(async()=>{E&&C.push({descriptor:E,name:`Keep ${j.prettyDescriptor(t.configuration,E)}`,reason:"(no changes)"})});break;case"reuse":await x(async()=>{for(let{descriptor:T,locators:O}of(await ide(e,{project:t,target:a})).values()){if(O.length===1&&O[0].locatorHash===r.anchoredLocator.locatorHash&&f.includes("keep"))continue;let U=`(originally used by ${j.prettyLocator(t.configuration,O[0])}`;U+=O.length>1?` and ${O.length-1} other${O.length>2?"s":""})`:")",C.push({descriptor:T,name:`Reuse ${j.prettyDescriptor(t.configuration,T)}`,reason:U})}});break;case"cache":await x(async()=>{for(let T of t.storedDescriptors.values())T.identHash===e.identHash&&C.push({descriptor:T,name:`Reuse ${j.prettyDescriptor(t.configuration,T)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await x(async()=>{if(r.manifest.name!==null&&e.identHash===r.manifest.name.identHash)return;let T=t.tryWorkspaceByIdent(e);if(T===null)return;let O=nde(T,c);C.push({descriptor:O,name:`Attach ${j.prettyDescriptor(t.configuration,O)}`,reason:`(local workspace at ${pe.pretty(t.configuration,T.relativeCwd,pe.Type.PATH)})`})});break;case"latest":{let T=t.configuration.get("enableNetwork"),O=t.configuration.get("enableOfflineMode");await x(async()=>{if(a==="peerDependencies")C.push({descriptor:j.makeDescriptor(e,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!T&&!O)C.push({descriptor:null,name:"Resolve from latest",reason:pe.pretty(t.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let U=await p5(e,h.range,{project:t,cache:s,workspace:r,modifier:c});U&&C.push({descriptor:U,name:`Use ${j.prettyDescriptor(t.configuration,U)}`,reason:`(resolved from ${O?"the cache":"latest"})`})}})}break}}return{suggestions:C.slice(0,p),rejections:S.slice(0,p)}}async function p5(e,t,{project:r,cache:s,workspace:a,preserveModifier:n=!0,modifier:c}){let f=r.configuration.normalizeDependency(j.makeDescriptor(e,t)),p=new Qi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),C={project:r,fetcher:h,cache:s,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},S={...C,resolver:E,fetchOptions:C},x=E.bindDescriptor(f,a.anchoredLocator,S),I=await E.getCandidates(x,{},S);if(I.length===0)return null;let T=I[0],{protocol:O,source:U,params:V,selector:te}=j.parseRange(j.convertToManifestRange(T.reference));if(O===r.configuration.get("defaultProtocol")&&(O=null),u5.default.valid(te)){let ie=te;if(typeof c<"u")te=c+te;else if(n!==!1){let de=typeof n=="string"?n:f.range;te=tde(de,{project:r})+te}let ue=j.makeDescriptor(T,j.makeRange({protocol:O,source:U,params:V,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(ue),{},S)).length!==1&&(te=ie)}return j.makeDescriptor(T,j.makeRange({protocol:O,source:U,params:V,selector:te}))}async function not(e){return await le.mktempPromise(async t=>{let r=ze.create(t);return r.useWithSource(t,{enableMirror:!1,compressionLevel:0},t,{overwrite:!0}),await e(new Kr(t,{configuration:r,check:!1,immutable:!1}))})}var zI=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=he.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=he.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=he.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=he.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=he.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=he.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=he.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=he.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=he.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=he.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.noTimeGate=he.Boolean("--no-time-gate",!1,{description:"Disable the minimum release age check for this command"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:ks(Oa)});this.silent=he.Boolean("--silent",{hidden:!0});this.packages=he.Rest()}static{this.paths=[["add"]]}static{this.usage=at.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"],["Add a local package (gzipped tarball format) to the current workspace","$0 add local-package-name@file:../path/to/local-package-name-v0.1.2.tgz"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);this.noTimeGate&&r.useWithSource("",{npmMinimalAgeGate:"0"},r.startingCwd,{overwrite:!0});let{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=this.fixed,f=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=f||r.get("preferReuse"),h=Kv(this,s),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(V=>typeof V<"u"),C=f?1/0:1,S=V=>{let te=j.tryParseDescriptor(V.slice(4));return te?te.range==="unknown"?j.makeDescriptor(te,`jsr:${j.stringifyIdent(te)}@latest`):j.makeDescriptor(te,`jsr:${te.range}`):null},x=await Promise.all(this.packages.map(async V=>{let te=V.match(/^\.{0,2}\//)?await A5(V,{cwd:this.context.cwd,workspace:a}):V.startsWith("jsr:")?S(V):j.tryParseDescriptor(V),ie=V.match(/^(https?:|git@github)/);if(ie)throw new it(`It seems you are trying to add a package using a ${pe.pretty(r,`${ie[0]}...`,pe.Type.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${pe.pretty(r,"yarn add",pe.Type.CODE)} ${pe.pretty(r,j.makeDescriptor(j.makeIdent(null,"my-package"),`${ie[0]}...`),pe.Type.DESCRIPTOR)}`);if(!te)throw new it(`The ${pe.pretty(r,V,pe.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let ue=iot(a,te,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(ue.map(async de=>{let Ae=await zv(te,{project:s,workspace:a,cache:n,fixed:c,target:de,modifier:h,strategies:E,maxResults:C});return{request:te,suggestedDescriptors:Ae,target:de}}))})).then(V=>V.flat()),I=await uA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async V=>{for(let{request:te,suggestedDescriptors:{suggestions:ie,rejections:ue}}of x)if(ie.filter(de=>de.descriptor!==null).length===0){let[de]=ue;if(typeof de>"u")throw new Error("Assertion failed: Expected an error to have been set");s.configuration.get("enableNetwork")?V.reportError(27,`${j.prettyDescriptor(r,te)} can't be resolved to a satisfying range`):V.reportError(27,`${j.prettyDescriptor(r,te)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),V.reportSeparator(),V.reportExceptionOnce(de)}});if(I.hasErrors())return I.exitCode();let T=!1,O=[],U=[];for(let{suggestedDescriptors:{suggestions:V},target:te}of x){let ie,ue=V.filter(Ce=>Ce.descriptor!==null),ae=ue[0].descriptor,de=ue.every(Ce=>j.areDescriptorsEqual(Ce.descriptor,ae));ue.length===1||de?ie=ae:(T=!0,{answer:ie}=await(0,sde.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:V.map(({descriptor:Ce,name:Ee,reason:g})=>Ce?{name:Ee,hint:g,descriptor:Ce}:{name:Ee,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(Ce){return this.find(Ce,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let Ae=a.manifest[te].get(ie.identHash);(typeof Ae>"u"||Ae.descriptorHash!==ie.descriptorHash)&&(a.manifest[te].set(ie.identHash,ie),this.optional&&(te==="dependencies"?a.manifest.ensureDependencyMeta({...ie,range:"unknown"}).optional=!0:te==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...ie,range:"unknown"}).optional=!0)),typeof Ae>"u"?O.push([a,te,ie,E]):U.push([a,te,Ae,ie]))}return await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyAddition,O),await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyReplacement,U),T&&this.context.stdout.write(` +`),await s.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};function iot(e,t,{dev:r,peer:s,preferDev:a,optional:n}){let c=e.manifest.dependencies.has(t.identHash),f=e.manifest.devDependencies.has(t.identHash),p=e.manifest.peerDependencies.has(t.identHash);if((r||s)&&c)throw new it(`Package "${j.prettyIdent(e.project.configuration,t)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!s&&p)throw new it(`Package "${j.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&f)throw new it(`Package "${j.prettyIdent(e.project.configuration,t)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!s&&p)throw new it(`Package "${j.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new it(`Package "${j.prettyIdent(e.project.configuration,t)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return s&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:f?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}qe();qe();Yt();var XI=class extends At{constructor(){super(...arguments);this.verbose=he.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=he.String({required:!1})}static{this.paths=[["bin"]]}static{this.usage=at.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,locator:a}=await Rt.find(r,this.context.cwd);if(await s.restoreInstallState(),this.name){let f=(await Cn.getPackageAccessibleBinaries(a,{project:s})).get(this.name);if(!f)throw new it(`Couldn't find a binary named "${this.name}" for package "${j.prettyLocator(r,a)}"`);let[,p]=f;return this.context.stdout.write(`${p} +`),0}return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async c=>{let f=await Cn.getPackageAccessibleBinaries(a,{project:s}),h=Array.from(f.keys()).reduce((E,C)=>Math.max(E,C.length),0);for(let[E,[C,S]]of f)c.reportJson({name:E,source:j.stringifyIdent(C),path:S});if(this.verbose)for(let[E,[C]]of f)c.reportInfo(null,`${E.padEnd(h," ")} ${j.prettyLocator(r,C)}`);else for(let E of f.keys())c.reportInfo(null,E)})).exitCode()}};qe();Dt();Yt();var ZI=class extends At{constructor(){super(...arguments);this.mirror=he.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=he.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}static{this.paths=[["cache","clean"],["cache","clear"]]}static{this.usage=at.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(!r.get("enableCacheClean"))throw new it("Cache cleaning is currently disabled. To enable it, set `enableCacheClean: true` in your configuration file. Note: Cache cleaning is typically not required and should be avoided when using Zero-Installs.");let s=await Kr.find(r);return(await Ot.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&s.mirrorCwd!==null,c=!this.mirror;n&&(await le.removePromise(s.mirrorCwd),await r.triggerHook(f=>f.cleanGlobalArtifacts,r)),c&&await le.removePromise(s.cwd)})).exitCode()}};qe();Yt();zl();var h5=Ie("util"),$I=class extends At{constructor(){super(...arguments);this.why=he.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=he.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=he.String()}static{this.paths=[["config","get"]]}static{this.usage=at.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(s)>"u")throw new it(`Couldn't find a configuration settings named "${s}"`);let c=r.getSpecial(s,{hideSecrets:!this.unsafe,getNativePaths:!0}),f=Ge.convertMapsToIndexableObjects(c),p=a?Pa(f,a):f,h=await Ot.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} +`),h.exitCode();h5.inspect.styles.name="cyan",this.context.stdout.write(`${(0,h5.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} +`)}return h.exitCode()}};qe();Yt();zl();var g5=Ie("util"),eC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=he.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=he.String();this.value=he.String()}static{this.paths=[["config","set"]]}static{this.usage=at.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new it("This setting only affects the file it's in, and thus cannot be set from the CLI");let f=this.json?JSON.parse(this.value):this.value;await(this.home?I=>ze.updateHomeConfiguration(I):I=>ze.updateConfiguration(s(),I))(I=>{if(n){let T=u0(I);return Yd(T,this.name,f),T}else return{...I,[a]:f}});let E=(await ze.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),C=Ge.convertMapsToIndexableObjects(E),S=n?Pa(C,n):C;return(await Ot.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async I=>{g5.inspect.styles.name="cyan",I.reportInfo(0,`Successfully set ${this.name} to ${(0,g5.inspect)(S,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};qe();Yt();zl();var tC=class extends At{constructor(){super(...arguments);this.home=he.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=he.String()}static{this.paths=[["config","unset"]]}static{this.usage=at.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=()=>{if(!r.projectCwd)throw new it("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new it(`Couldn't find a configuration settings named "${a}"`);let f=this.home?h=>ze.updateHomeConfiguration(h):h=>ze.updateConfiguration(s(),h);return(await Ot.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await f(C=>{if(!dB(C,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,C;let S=n?u0(C):{...C};return f0(S,this.name),S}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};qe();Dt();Yt();var UT=Ie("util"),rC=class extends At{constructor(){super(...arguments);this.noDefaults=he.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=he.Boolean("-v,--verbose",{hidden:!0});this.why=he.Boolean("--why",{hidden:!0});this.names=he.Rest()}static{this.paths=[["config"]]}static{this.usage=at.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins,{strict:!1}),s=await PI({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(s!==null)return s;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,c=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async f=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)f.reportError(34,`Invalid configuration key "${p}" in ${h}`);f.reportSeparator()}if(this.json)for(let p of a){if(this.noDefaults&&!r.sources.has(p))continue;let h=r.settings.get(p);typeof h>"u"&&f.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),C=r.sources.get(p)??"",S=C&&C[0]!=="<"?fe.fromPortablePath(C):C;f.reportJson({key:p,effective:E,source:S,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let C of a){if(this.noDefaults&&!r.sources.has(C))continue;let S=r.settings.get(C),x=r.sources.get(C)??"",I=r.getSpecial(C,{hideSecrets:!0,getNativePaths:!0}),T={Description:{label:"Description",value:pe.tuple(pe.Type.MARKDOWN,{text:S.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:pe.tuple(x[0]==="<"?pe.Type.CODE:pe.Type.PATH,x)}};h[C]={value:pe.tuple(pe.Type.CODE,C),children:T};let O=(U,V)=>{for(let[te,ie]of V)if(ie instanceof Map){let ue={};U[te]={children:ue},O(ue,ie)}else U[te]={label:te,value:pe.tuple(pe.Type.NO_HINT,(0,UT.inspect)(ie,p))}};I instanceof Map?O(T,I):T.Value={label:"Value",value:pe.tuple(pe.Type.NO_HINT,(0,UT.inspect)(I,p))}}a.length!==1&&(n=void 0),Rs.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let f=a[0],p=(0,UT.inspect)(r.getSpecial(f,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` +`),this.context.stdout.write(`${p} +`)}return c.exitCode()}};qe();Yt();Al();var _T={};Vt(_T,{Strategy:()=>Xv,acceptedStrategies:()=>sot,dedupe:()=>d5});qe();qe();var ode=et(zo()),Xv=(t=>(t.HIGHEST="highest",t))(Xv||{}),sot=new Set(Object.values(Xv)),oot={highest:async(e,t,{resolver:r,fetcher:s,resolveOptions:a,fetchOptions:n})=>{let c=new Map;for(let[p,h]of e.storedResolutions){let E=e.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);Ge.getSetWithDefault(c,E.identHash).add(h)}let f=new Map(Ge.mapAndFilter(e.storedDescriptors.values(),p=>j.isVirtualDescriptor(p)?Ge.mapAndFilter.skip:[p.descriptorHash,Ge.makeDeferred()]));for(let p of e.storedDescriptors.values()){let h=f.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=e.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let C=e.originalPackages.get(E);if(typeof C>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let S=r.getResolutionDependencies(p,a),x=Object.fromEntries(await Ge.allSettledSafe(Object.entries(S).map(async([te,ie])=>{let ue=f.get(ie.descriptorHash);if(typeof ue>"u")throw new Error(`Assertion failed: The descriptor (${ie.descriptorHash}) should have been registered`);let ae=await ue.promise;if(!ae)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ae.updatedPackage]})));if(t.length&&!ode.default.isMatch(j.stringifyIdent(p),t)||!r.shouldPersistResolution(C,a))return C;let I=c.get(p.identHash);if(typeof I>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(I.size===1)return C;let T=[...I].map(te=>{let ie=e.originalPackages.get(te);if(typeof ie>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return ie}),O=await r.getSatisfying(p,x,T,a),U=O.locators?.[0];if(typeof U>"u"||!O.sorted)return C;let V=e.originalPackages.get(U.locatorHash);if(typeof V>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return V}).then(async S=>{let x=await e.preparePackage(S,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:C,updatedPackage:S,resolvedPackage:x})}).catch(S=>{h.reject(S)})}return[...f.values()].map(p=>p.promise)}};async function d5(e,{strategy:t,patterns:r,cache:s,report:a}){let{configuration:n}=e,c=new Qi,f=n.makeResolver(),p=n.makeFetcher(),h={cache:s,checksums:e.storedChecksums,fetcher:p,project:e,report:c,cacheOptions:{skipIntegrityCheck:!0}},E={project:e,resolver:f,report:c,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let C=oot[t],S=await C(e,r,{resolver:f,resolveOptions:E,fetcher:p,fetchOptions:h}),x=yo.progressViaCounter(S.length);await a.reportProgress(x);let I=0;await Promise.all(S.map(U=>U.then(V=>{if(V===null||V.currentPackage.locatorHash===V.updatedPackage.locatorHash)return;I++;let{descriptor:te,currentPackage:ie,updatedPackage:ue}=V;a.reportInfo(0,`${j.prettyDescriptor(n,te)} can be deduped from ${j.prettyLocator(n,ie)} to ${j.prettyLocator(n,ue)}`),a.reportJson({descriptor:j.stringifyDescriptor(te),currentResolution:j.stringifyLocator(ie),updatedResolution:j.stringifyLocator(ue)}),e.storedResolutions.set(te.descriptorHash,ue.locatorHash)}).finally(()=>x.tick())));let T;switch(I){case 0:T="No packages";break;case 1:T="One package";break;default:T=`${I} packages`}let O=pe.pretty(n,t,pe.Type.CODE);return a.reportInfo(0,`${T} can be deduped using the ${O} strategy`),I})}var nC=class extends At{constructor(){super(...arguments);this.strategy=he.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:ks(Xv)});this.check=he.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:ks(Oa)});this.patterns=he.Rest()}static{this.paths=[["dedupe"]]}static{this.usage=at.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd),a=await Kr.find(r);await s.restoreInstallState({restoreResolutions:!1});let n=0,c=await Ot.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async f=>{n=await d5(s,{strategy:this.strategy,patterns:this.patterns,cache:a,report:f})});return c.hasErrors()?c.exitCode():this.check?n?1:0:await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};qe();Yt();var iC=class extends At{static{this.paths=[["--clipanion=definitions"]]}async execute(){let{plugins:t}=await ze.find(this.context.cwd,this.context.plugins),r=[];for(let c of t){let{commands:f}=c[1];if(f){let h=Sa.from(f).definitions();r.push([c[0],h])}}let s=this.cli.definitions(),a=(c,f)=>c.split(" ").slice(1).join()===f.split(" ").slice(1).join(),n=ade()["@yarnpkg/builder"].bundles.standard;for(let c of r){let f=c[1];for(let p of f)s.find(h=>a(h.path,p.path)).plugin={name:c[0],isDefault:n.includes(c[0])}}this.context.stdout.write(`${JSON.stringify(s,null,2)} +`)}};var sC=class extends At{static{this.paths=[["help"],["--help"],["-h"]]}async execute(){this.context.stdout.write(this.cli.usage(null))}};qe();Dt();Yt();var oC=class extends At{constructor(){super(...arguments);this.leadingArgument=he.String();this.args=he.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!j.tryParseIdent(this.leadingArgument)){let r=J.resolve(this.context.cwd,fe.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};qe();var aC=class extends At{static{this.paths=[["-v"],["--version"]]}async execute(){this.context.stdout.write(`${An||""} +`)}};qe();qe();Yt();var lC=class extends At{constructor(){super(...arguments);this.commandName=he.String();this.args=he.Proxy()}static{this.paths=[["exec"]]}static{this.usage=at.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,locator:a}=await Rt.find(r,this.context.cwd);return await s.restoreInstallState(),await Cn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:s})}};qe();Yt();Al();var cC=class extends At{constructor(){super(...arguments);this.hash=he.String({required:!1,validator:Nx(SE(),[q2(/^p[0-9a-f]{6}$/)])})}static{this.paths=[["explain","peer-requirements"]]}static{this.usage=at.Usage({description:"explain a set of peer requirements",details:` + A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters. + + When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not. + + When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement. + + **Note:** A hash is a seven-letter code consisting of the letter 'p' followed by six characters that can be obtained from peer dependency warnings or from the list of all peer requirements(\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),await s.applyLightResolution(),typeof this.hash<"u"?await lot(this.hash,s,{stdout:this.context.stdout}):await cot(s,{stdout:this.context.stdout})}};async function lot(e,t,r){let s=t.peerRequirementNodes.get(e);if(typeof s>"u")throw new Error(`No peerDependency requirements found for hash: "${e}"`);let a=new Set,n=p=>a.has(p.requester.locatorHash)?{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:p.children.size>0?[{value:pe.tuple(pe.Type.NO_HINT,"...")}]:[]}:(a.add(p.requester.locatorHash),{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:Object.fromEntries(Array.from(p.children.values(),h=>[j.stringifyLocator(h.requester),n(h)]))}),c=t.peerWarnings.find(p=>p.hash===e);return(await Ot.start({configuration:t.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async p=>{let h=pe.mark(t.configuration),E=c?h.Cross:h.Check;if(p.reportInfo(0,`Package ${pe.pretty(t.configuration,s.subject,pe.Type.LOCATOR)} is requested to provide ${pe.pretty(t.configuration,s.ident,pe.Type.IDENT)} by its descendants`),p.reportSeparator(),p.reportInfo(0,pe.pretty(t.configuration,s.subject,pe.Type.LOCATOR)),Rs.emitTree({children:Object.fromEntries(Array.from(s.requests.values(),C=>[j.stringifyLocator(C.requester),n(C)]))},{configuration:t.configuration,stdout:r.stdout,json:!1}),p.reportSeparator(),s.provided.range==="missing:"){let C=c?"":" , but all peer requests are optional";p.reportInfo(0,`${E} Package ${pe.pretty(t.configuration,s.subject,pe.Type.LOCATOR)} does not provide ${pe.pretty(t.configuration,s.ident,pe.Type.IDENT)}${C}.`)}else{let C=t.storedResolutions.get(s.provided.descriptorHash);if(!C)throw new Error("Assertion failed: Expected the descriptor to be registered");let S=t.storedPackages.get(C);if(!S)throw new Error("Assertion failed: Expected the package to be registered");p.reportInfo(0,`${E} Package ${pe.pretty(t.configuration,s.subject,pe.Type.LOCATOR)} provides ${pe.pretty(t.configuration,s.ident,pe.Type.IDENT)} with version ${j.prettyReference(t.configuration,S.version??"0.0.0")}, ${c?"which does not satisfy all requests.":"which satisfies all requests"}`),c?.type===3&&(c.range?p.reportInfo(0,` The combined requested range is ${pe.pretty(t.configuration,c.range,pe.Type.RANGE)}`):p.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function cot(e,t){return(await Ot.start({configuration:e.configuration,stdout:t.stdout,includeFooter:!1,includePrefix:!1},async s=>{let a=pe.mark(e.configuration),n=Ge.sortMap(e.peerRequirementNodes,[([,c])=>j.stringifyLocator(c.subject),([,c])=>j.stringifyIdent(c.ident)]);for(let[,c]of n.values()){if(!c.root)continue;let f=e.peerWarnings.find(E=>E.hash===c.hash),p=[...j.allPeerRequests(c)],h;if(p.length>2?h=` and ${p.length-1} other dependencies`:p.length===2?h=" and 1 other dependency":h="",c.provided.range!=="missing:"){let E=e.storedResolutions.get(c.provided.descriptorHash);if(!E)throw new Error("Assertion failed: Expected the resolution to have been registered");let C=e.storedPackages.get(E);if(!C)throw new Error("Assertion failed: Expected the provided package to have been registered");let S=`${pe.pretty(e.configuration,c.hash,pe.Type.CODE)} \u2192 ${f?a.Cross:a.Check} ${j.prettyLocator(e.configuration,c.subject)} provides ${j.prettyLocator(e.configuration,C)} to ${j.prettyLocator(e.configuration,p[0].requester)}${h}`;f?s.reportWarning(0,S):s.reportInfo(0,S)}else{let E=`${pe.pretty(e.configuration,c.hash,pe.Type.CODE)} \u2192 ${f?a.Cross:a.Check} ${j.prettyLocator(e.configuration,c.subject)} doesn't provide ${j.prettyIdent(e.configuration,c.ident)} to ${j.prettyLocator(e.configuration,p[0].requester)}${h}`;f?s.reportWarning(0,E):s.reportInfo(0,E)}}})).exitCode()}qe();Yt();Al();qe();qe();Dt();Yt();var lde=et(pi()),uC=class extends At{constructor(){super(...arguments);this.useYarnPath=he.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=he.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=he.String()}static{this.paths=[["set","version"]]}static{this.usage=at.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let f=r.sources.get("yarnPath");if(!f)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(J.contains(p,f))return 0}let s=()=>{if(typeof An>"u")throw new it("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(f,p)=>({version:p,url:f.replace(/\{\}/g,p)});if(this.version==="self")a={url:s(),version:An??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await Zv(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await Zv(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||fe.isAbsolute(this.version))a={url:`file://${J.resolve(fe.toPortablePath(this.version))}`,version:"file"};else if(kr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(kr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(kr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await uot(r,this.version));else throw new it(`Invalid version descriptor "${this.version}"`);return(await Ot.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async f=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(f.reportInfo(0,`Retrieving ${pe.pretty(r,a.url,pe.Type.PATH)}`),await le.readFilePromise(a.url.slice(h.length))):(f.reportInfo(0,`Downloading ${pe.pretty(r,a.url,pe.Type.URL)}`),await nn.get(a.url,{configuration:r}))};await m5(r,a.version,p,{report:f,useYarnPath:this.useYarnPath})})).exitCode()}};async function uot(e,t){let s=(await nn.get("https://repo.yarnpkg.com/tags",{configuration:e,jsonResponse:!0})).tags.filter(a=>kr.satisfiesWithPrereleases(a,t));if(s.length===0)throw new it(`No matching release found for range ${pe.pretty(e,t,pe.Type.RANGE)}.`);return s[0]}async function Zv(e,t){let r=await nn.get("https://repo.yarnpkg.com/tags",{configuration:e,jsonResponse:!0});if(!r.latest[t])throw new it(`Tag ${pe.pretty(e,t,pe.Type.RANGE)} not found`);return r.latest[t]}async function m5(e,t,r,{report:s,useYarnPath:a}){let n,c=async()=>(typeof n>"u"&&(n=await r()),n);if(t===null){let te=await c();await le.mktempPromise(async ie=>{let ue=J.join(ie,"yarn.cjs");await le.writeFilePromise(ue,te);let{stdout:ae}=await qr.execvp(process.execPath,[fe.fromPortablePath(ue),"--version"],{cwd:ie,env:{...e.env,YARN_IGNORE_PATH:"1"}});if(t=ae.trim(),!lde.default.valid(t))throw new Error(`Invalid semver version. ${pe.pretty(e,"yarn --version",pe.Type.CODE)} returned: +${t}`)})}let f=e.projectCwd??e.startingCwd,p=J.resolve(f,".yarn/releases"),h=J.resolve(p,`yarn-${t}.cjs`),E=J.relative(e.startingCwd,h),C=Ge.isTaggedYarnVersion(t),S=e.get("yarnPath"),x=!C,I=x||!!S||!!a;if(a===!1){if(x)throw new Lt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");I=!1}else!I&&!process.env.COREPACK_ROOT&&(s.reportWarning(0,`You don't seem to have ${pe.applyHyperlink(e,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${pe.applyHyperlink(e,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),I=!0);if(I){let te=await c();s.reportInfo(0,`Saving the new release in ${pe.pretty(e,E,"magenta")}`),await le.removePromise(J.dirname(h)),await le.mkdirPromise(J.dirname(h),{recursive:!0}),await le.writeFilePromise(h,te,{mode:493}),await ze.updateConfiguration(f,{yarnPath:J.relative(f,h)})}else await le.removePromise(J.dirname(h)),await ze.updateConfiguration(f,{yarnPath:ze.deleteProperty});let T=await _t.tryFind(f)||new _t;T.packageManager=`yarn@${C?t:await Zv(e,"stable")}`;let O={};T.exportTo(O);let U=J.join(f,_t.fileName),V=`${JSON.stringify(O,null,T.indent)} +`;return await le.changeFilePromise(U,V,{automaticNewlines:!0}),{bundleVersion:t}}function cde(e){return Ir[jx(e)]}var fot=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function Aot(e){let r=`https://repo.yarnpkg.com/${Ge.isTaggedYarnVersion(An)?An:await Zv(e,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,s=await nn.get(r,{configuration:e});return new Map(Array.from(s.toString().matchAll(fot),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=cde(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var fC=class extends At{constructor(){super(...arguments);this.code=he.String({required:!1,validator:W2(SE(),[q2(/^YN[0-9]{4}$/)])});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["explain"]]}static{this.usage=at.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let s=cde(this.code),a=pe.pretty(r,s,pe.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),f=(await Aot(r)).get(this.code),p=typeof f<"u"?pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.MARKDOWN,{text:f,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:s,details:p})} +`):this.context.stdout.write(`${n} + +${p} +`)}else{let s={children:Ge.mapAndFilter(Object.entries(Ir),([a,n])=>Number.isNaN(Number(a))?Ge.mapAndFilter.skip:{label:Kf(Number(a)),value:pe.tuple(pe.Type.CODE,n)})};Rs.emitTree(s,{configuration:r,stdout:this.context.stdout,json:this.json})}}};qe();Dt();Yt();var ude=et(zo()),AC=class extends At{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=he.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=he.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=he.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=he.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=he.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=he.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=he.Rest()}static{this.paths=[["info"]]}static{this.usage=at.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a&&!this.all)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let c=new Set(this.extra);this.cache&&c.add("cache"),this.dependents&&c.add("dependents"),this.manifest&&c.add("manifest");let f=(ie,{recursive:ue})=>{let ae=ie.anchoredLocator.locatorHash,de=new Map,Ae=[ae];for(;Ae.length>0;){let Ce=Ae.shift();if(de.has(Ce))continue;let Ee=s.storedPackages.get(Ce);if(typeof Ee>"u")throw new Error("Assertion failed: Expected the package to be registered");if(de.set(Ce,Ee),j.isVirtualLocator(Ee)&&Ae.push(j.devirtualizeLocator(Ee).locatorHash),!(!ue&&Ce!==ae))for(let g of Ee.dependencies.values()){let Se=s.storedResolutions.get(g.descriptorHash);if(typeof Se>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ae.push(Se)}}return de.values()},p=({recursive:ie})=>{let ue=new Map;for(let ae of s.workspaces)for(let de of f(ae,{recursive:ie}))ue.set(de.locatorHash,de);return ue.values()},h=({all:ie,recursive:ue})=>ie&&ue?s.storedPackages.values():ie?p({recursive:ue}):f(a,{recursive:ue}),E=({all:ie,recursive:ue})=>{let ae=h({all:ie,recursive:ue}),de=this.patterns.map(Ee=>{let g=j.parseLocator(Ee),Se=ude.default.makeRe(j.stringifyIdent(g)),Be=j.isVirtualLocator(g),me=Be?j.devirtualizeLocator(g):g;return ce=>{let Z=j.stringifyIdent(ce);if(!Se.test(Z))return!1;if(g.reference==="unknown")return!0;let De=j.isVirtualLocator(ce),Qe=De?j.devirtualizeLocator(ce):ce;return!(Be&&De&&g.reference!==ce.reference||me.reference!==Qe.reference)}}),Ae=Ge.sortMap([...ae],Ee=>j.stringifyLocator(Ee));return{selection:Ae.filter(Ee=>de.length===0||de.some(g=>g(Ee))),sortedLookup:Ae}},{selection:C,sortedLookup:S}=E({all:this.all,recursive:this.recursive});if(C.length===0)throw new it("No package matched your request");let x=new Map;if(this.dependents)for(let ie of S)for(let ue of ie.dependencies.values()){let ae=s.storedResolutions.get(ue.descriptorHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ge.getArrayWithDefault(x,ae).push(ie)}let I=new Map;for(let ie of S){if(!j.isVirtualLocator(ie))continue;let ue=j.devirtualizeLocator(ie);Ge.getArrayWithDefault(I,ue.locatorHash).push(ie)}let T={},O={children:T},U=r.makeFetcher(),V={project:s,fetcher:U,cache:n,checksums:s.storedChecksums,report:new Qi,cacheOptions:{skipIntegrityCheck:!0}},te=[async(ie,ue,ae)=>{if(!ue.has("manifest"))return;let de=await U.fetch(ie,V),Ae;try{Ae=await _t.find(de.prefixPath,{baseFs:de.packageFs})}finally{de.releaseFs?.()}ae("Manifest",{License:pe.tuple(pe.Type.NO_HINT,Ae.license),Homepage:pe.tuple(pe.Type.URL,Ae.raw.homepage??null)})},async(ie,ue,ae)=>{if(!ue.has("cache"))return;let de=s.storedChecksums.get(ie.locatorHash)??null,Ae=n.getLocatorPath(ie,de),Ce;if(Ae!==null)try{Ce=await le.statPromise(Ae)}catch{}let Ee=typeof Ce<"u"?[Ce.size,pe.Type.SIZE]:void 0;ae("Cache",{Checksum:pe.tuple(pe.Type.NO_HINT,de),Path:pe.tuple(pe.Type.PATH,Ae),Size:Ee})}];for(let ie of C){let ue=j.isVirtualLocator(ie);if(!this.virtuals&&ue)continue;let ae={},de={value:[ie,pe.Type.LOCATOR],children:ae};if(T[j.stringifyLocator(ie)]=de,this.nameOnly){delete de.children;continue}let Ae=I.get(ie.locatorHash);typeof Ae<"u"&&(ae.Instances={label:"Instances",value:pe.tuple(pe.Type.NUMBER,Ae.length)}),ae.Version={label:"Version",value:pe.tuple(pe.Type.NO_HINT,ie.version)};let Ce=(g,Se)=>{let Be={};if(ae[g]=Be,Array.isArray(Se))Be.children=Se.map(me=>({value:me}));else{let me={};Be.children=me;for(let[ce,Z]of Object.entries(Se))typeof Z>"u"||(me[ce]={label:ce,value:Z})}};if(!ue){for(let g of te)await g(ie,c,Ce);await r.triggerHook(g=>g.fetchPackageInfo,ie,c,Ce)}ie.bin.size>0&&!ue&&Ce("Exported Binaries",[...ie.bin.keys()].map(g=>pe.tuple(pe.Type.PATH,g)));let Ee=x.get(ie.locatorHash);typeof Ee<"u"&&Ee.length>0&&Ce("Dependents",Ee.map(g=>pe.tuple(pe.Type.LOCATOR,g))),ie.dependencies.size>0&&!ue&&Ce("Dependencies",[...ie.dependencies.values()].map(g=>{let Se=s.storedResolutions.get(g.descriptorHash),Be=typeof Se<"u"?s.storedPackages.get(Se)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:Be})})),ie.peerDependencies.size>0&&ue&&Ce("Peer dependencies",[...ie.peerDependencies.values()].map(g=>{let Se=ie.dependencies.get(g.identHash),Be=typeof Se<"u"?s.storedResolutions.get(Se.descriptorHash)??null:null,me=Be!==null?s.storedPackages.get(Be)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:me})}))}Rs.emitTree(O,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};qe();Dt();vc();var HT=et(Rd());Yt();var y5=et(pi());Al();var pot=[{selector:e=>e===-1,name:"nodeLinker",value:"node-modules"},{selector:e=>e!==-1&&e<8,name:"enableGlobalCache",value:!1},{selector:e=>e!==-1&&e<8,name:"compressionLevel",value:"mixed"},{selector:e=>e<9,name:"approvedGitRepositories",value:["**"]},{selector:e=>e<9,name:"enableScripts",value:!0},{selector:e=>e<10,name:"npmMinimalAgeGate",value:"0"}],pC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=he.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=he.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=he.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=he.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=he.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=he.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:ks(Oa)});this.cacheFolder=he.String("--cache-folder",{hidden:!0});this.frozenLockfile=he.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=he.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=he.Boolean("--non-interactive",{hidden:!0});this.preferOffline=he.Boolean("--prefer-offline",{hidden:!0});this.production=he.Boolean("--production",{hidden:!0});this.registry=he.String("--registry",{hidden:!0});this.silent=he.Boolean("--silent",{hidden:!0});this.networkTimeout=he.String("--network-timeout",{hidden:!0})}static{this.paths=[["install"],at.Default]}static{this.usage=at.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the `.pnp.cjs` file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your `.pnp.cjs` file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let s=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await PI({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!HT.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!HT.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!s},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!HT.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new it(`${pe.pretty(r,"--immutable",pe.Type.CODE)} and ${pe.pretty(r,"--immutable-cache",pe.Type.CODE)} cannot be used with ${pe.pretty(r,"--mode=update-lockfile",pe.Type.CODE)}`);let c=(this.immutable??r.get("enableImmutableInstalls"))&&!n,f=this.immutableCache&&!n;if(r.projectCwd!==null){let T=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async O=>{let U=!1;await dot(r,c)&&(O.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await got(r,c)&&(O.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&O.reportSeparator()});if(T.hasErrors())return T.exitCode()}if(r.projectCwd!==null){let T=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async O=>{if(ze.telemetry?.isNew)ze.telemetry.commitTips(),O.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),O.reportInfo(65,`Run ${pe.pretty(r,"yarn config set --home enableTelemetry 0",pe.Type.CODE)} to disable`),O.reportSeparator();else if(ze.telemetry?.shouldShowTips){let U=await nn.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let V=null;if(An!==null){let ie=y5.default.prerelease(An)?"canary":"stable",ue=U.latest[ie];ue!==null&&y5.default.gt(ue,An)&&(V=[ie,ue])}if(V)ze.telemetry.commitTips(),O.reportInfo(88,`${pe.applyStyle(r,`A new ${V[0]} version of Yarn is available:`,pe.Style.BOLD)} ${j.prettyReference(r,V[1])}!`),O.reportInfo(88,`Upgrade now by running ${pe.pretty(r,`yarn set version ${V[1]}`,pe.Type.CODE)}`),O.reportSeparator();else{let te=ze.telemetry.selectTip(U.tips);te&&(O.reportInfo(89,pe.pretty(r,te.message,pe.Type.MARKDOWN_INLINE)),te.url&&O.reportInfo(89,`Learn more at ${te.url}`),O.reportSeparator())}}}});if(T.hasErrors())return T.exitCode()}let{project:p,workspace:h}=await Rt.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let T=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async O=>{let U={};for(let V of pot)V.selector(E)&&typeof r.sources.get(V.name)>"u"&&(r.use("",{[V.name]:V.value},p.cwd,{overwrite:!0}),U[V.name]=V.value);Object.keys(U).length>0&&(await ze.updateConfiguration(p.cwd,U),O.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),O.reportSeparator())});if(T.hasErrors())return T.exitCode()}let C=await Kr.find(r,{immutable:f,check:this.checkCache});if(!h)throw new ar(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let S=r.get("enableHardenedMode");S&&typeof r.sources.get("enableHardenedMode")>"u"&&await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async T=>{T.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),T.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${pe.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),T.reportSeparator()}),(this.refreshLockfile??S)&&(p.lockfileNeedsRefresh=!0);let x=this.checkResolutions??S;return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async T=>{await p.install({cache:C,report:T,immutable:c,checkResolutions:x,mode:this.mode})})).exitCode()}},hot="<<<<<<<";async function got(e,t){if(!e.projectCwd)return!1;let r=J.join(e.projectCwd,Er.lockfile);if(!await le.existsPromise(r)||!(await le.readFilePromise(r,"utf8")).includes(hot))return!1;if(t)throw new Lt(47,"Cannot autofix a lockfile when running an immutable install");let a=await qr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:e.projectCwd});if(a.code!==0&&(a=await qr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:e.projectCwd})),a.code!==0&&(a=await qr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:e.projectCwd})),a.code!==0)throw new Lt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async f=>{let p=await qr.execvp("git",["show",`${f}:./${Er.lockfile}`],{cwd:e.projectCwd});if(p.code!==0)throw new Lt(83,`Git returned an error when trying to access the lockfile content in ${f}`);try{return cs(p.stdout)}catch{throw new Lt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(f=>!!f.__metadata);for(let f of n){if(f.__metadata.version<7)for(let p of Object.keys(f)){if(p==="__metadata")continue;let h=j.parseDescriptor(p,!0),E=e.normalizeDependency(h),C=j.stringifyDescriptor(E);C!==p&&(f[C]=f[p],delete f[p])}for(let p of Object.keys(f)){if(p==="__metadata")continue;let h=f[p].checksum;typeof h>"u"||h.includes("/")||(f[p].checksum=`${f.__metadata.cacheKey}/${h}`)}}let c=Object.assign({},...n);c.__metadata.version=`${Math.min(...n.map(f=>parseInt(f.__metadata.version??0)))}`,c.__metadata.cacheKey="merged";for(let[f,p]of Object.entries(c))typeof p=="string"&&delete c[f];return await le.changeFilePromise(r,fl(c),{automaticNewlines:!0}),!0}async function dot(e,t){if(!e.projectCwd)return!1;let r=[],s=J.join(e.projectCwd,".yarn/plugins/@yarnpkg");return await ze.updateConfiguration(e.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let c=n.filter(f=>{if(!f.path)return!0;let p=J.resolve(e.projectCwd,f.path),h=ZB.has(f.spec)&&J.contains(s,p);return h&&r.push(p),!h});return c.length===0?ze.deleteProperty:c.length===n.length?n:c}},{immutable:t})?(await Promise.all(r.map(async n=>{await le.removePromise(n)})),!0):!1}qe();Dt();Yt();var hC=class extends At{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=he.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=he.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=he.Rest()}static{this.paths=[["link"]]}static{this.usage=at.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=s.topLevelWorkspace,f=[];for(let p of this.destinations){let h=J.resolve(this.context.cwd,fe.toPortablePath(p)),E=await ze.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:C,workspace:S}=await Rt.find(E,h);if(s.cwd===C.cwd)throw new it(`Invalid destination '${p}'; Can't link the project to itself`);if(!S)throw new ar(C.cwd,h);if(this.all){let x=!1;for(let I of C.workspaces)I.manifest.name&&(!I.manifest.private||this.private)&&(f.push(I),x=!0);if(!x)throw new it(`No workspace found to be linked in the target project: ${p}`)}else{if(!S.manifest.name)throw new it(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(S.manifest.private&&!this.private)throw new it(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);f.push(S)}}for(let p of f){let h=j.stringifyIdent(p.anchoredLocator),E=this.relative?J.relative(s.cwd,p.cwd):p.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await s.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Yt();var gC=class extends At{constructor(){super(...arguments);this.args=he.Proxy()}static{this.paths=[["node"]]}static{this.usage=at.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]})}async execute(){return this.cli.run(["exec","node",...this.args])}};qe();Yt();var dC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","check"]]}static{this.usage=at.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` + Check only the plugins from https. + + If this command detects any plugin differences in the CI environment, it will throw an error. + `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=await ze.findRcFiles(this.context.cwd);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let c of s)if(c.data?.plugins)for(let f of c.data.plugins){if(!f.checksum||!f.spec.match(/^https?:/))continue;let p=await nn.get(f.spec,{configuration:r}),h=Ln.makeHash(p);if(f.checksum===h)continue;let E=pe.pretty(r,f.path,pe.Type.PATH),C=pe.pretty(r,f.spec,pe.Type.URL),S=`${E} is different from the file provided by ${C}`;n.reportJson({...f,newChecksum:h}),n.reportError(0,S)}})).exitCode()}};qe();qe();Dt();Yt();var gde=Ie("os");qe();Dt();Yt();var fde=Ie("os");qe();vc();Yt();var mot="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Pm(e,t){let r=await nn.get(mot,{configuration:e}),s=cs(r.toString());return Object.fromEntries(Object.entries(s).filter(([a,n])=>!t||kr.satisfiesWithPrereleases(t,n.range??"<4.0.0-rc.1")))}var mC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","list"]]}static{this.usage=at.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Pm(r,An);for(let[c,{experimental:f,...p}]of Object.entries(n)){let h=c;f&&(h+=" [experimental]"),a.reportJson({name:c,experimental:f,...p}),a.reportInfo(null,h)}})).exitCode()}};var yot=/^[0-9]+$/,Eot=process.platform==="win32";function Ade(e){return yot.test(e)?`pull/${e}/head`:e}var Iot=({repository:e,branch:t},r)=>[["git","init",fe.fromPortablePath(r)],["git","remote","add","origin",e],["git","fetch","origin","--depth=1",Ade(t)],["git","reset","--hard","FETCH_HEAD"]],Cot=({branch:e})=>[["git","fetch","origin","--depth=1",Ade(e),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],wot=({plugins:e,noMinify:t},r,s)=>[["yarn","build:cli",...new Array().concat(...e.map(a=>["--plugin",J.resolve(s,a)])),...t?["--no-minify"]:[],"|"],[Eot?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",fe.fromPortablePath(r),"|"]],yC=class extends At{constructor(){super(...arguments);this.installPath=he.String("--path",{description:"The path where the repository should be cloned to"});this.repository=he.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=he.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=he.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=he.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=he.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=he.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=he.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}static{this.paths=[["set","version","from","sources"]]}static{this.usage=at.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd),a=typeof this.installPath<"u"?J.resolve(this.context.cwd,fe.toPortablePath(this.installPath)):J.resolve(fe.toPortablePath((0,fde.tmpdir)()),"yarnpkg-sources",Ln.makeHash(this.repository).slice(0,6));return(await Ot.start({configuration:r,stdout:this.context.stdout},async c=>{await E5(this,{configuration:r,report:c,target:a}),c.reportSeparator(),c.reportInfo(0,"Building a fresh bundle"),c.reportSeparator();let f=await qr.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=J.join(a,`packages/yarnpkg-cli/bundles/yarn-${f.stdout.trim()}.js`);le.existsSync(p)||(await $v(wot(this,p,a),{configuration:r,context:this.context,target:a}),c.reportSeparator());let h=await le.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await m5(r,null,async()=>h,{report:c});this.skipPlugins||await Bot(this,E,{project:s,report:c,target:a})}})).exitCode()}};async function $v(e,{configuration:t,context:r,target:s}){for(let[a,...n]of e){let c=n[n.length-1]==="|";if(c&&n.pop(),c)await qr.pipevp(a,n,{cwd:s,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${pe.pretty(t,` $ ${[a,...n].join(" ")}`,"grey")} +`);try{await qr.execvp(a,n,{cwd:s,strict:!0})}catch(f){throw r.stdout.write(f.stdout||f.stack),f}}}}async function E5(e,{configuration:t,report:r,target:s}){let a=!1;if(!e.force&&le.existsSync(J.join(s,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await $v(Cot(e),{configuration:t,context:e.context,target:s}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await le.removePromise(s),await le.mkdirPromise(s,{recursive:!0}),await $v(Iot(e,s),{configuration:t,context:e.context,target:s}))}async function Bot(e,t,{project:r,report:s,target:a}){let n=await Pm(r.configuration,t),c=new Set(Object.keys(n));for(let f of r.configuration.plugins.keys())c.has(f)&&await I5(f,e,{project:r,report:s,target:a})}qe();qe();Dt();Yt();var pde=et(pi()),hde=Ie("vm");var EC=class extends At{constructor(){super(...arguments);this.name=he.String();this.checksum=he.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}static{this.paths=[["plugin","import"]]}static{this.usage=at.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Ot.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await Rt.find(r,this.context.cwd),c,f;if(this.name.match(/^\.{0,2}[\\/]/)||fe.isAbsolute(this.name)){let p=J.resolve(this.context.cwd,fe.toPortablePath(this.name));a.reportInfo(0,`Reading ${pe.pretty(r,p,pe.Type.PATH)}`),c=J.relative(n.cwd,p),f=await le.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new Lt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}c=this.name,p=this.name}else{let h=j.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!pde.default.valid(h.reference))throw new Lt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=j.stringifyIdent(h),C=await Pm(r,An);if(!Object.hasOwn(C,E)){let S=`Couldn't find a plugin named ${j.prettyIdent(r,h)} on the remote registry. +`;throw r.plugins.has(E)?S+=`A plugin named ${j.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:S+=`Note that only the plugins referenced on our website (${pe.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",pe.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${pe.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",pe.Type.URL)}).`,new Lt(51,S)}c=E,p=C[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):An!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${An}/`))}a.reportInfo(0,`Downloading ${pe.pretty(r,p,"green")}`),f=await nn.get(p,{configuration:r})}await C5(c,f,{checksum:this.checksum,project:n,report:a})})).exitCode()}};async function C5(e,t,{checksum:r=!0,project:s,report:a}){let{configuration:n}=s,c={},f={exports:c};(0,hde.runInNewContext)(t.toString(),{module:f,exports:c});let h=`.yarn/plugins/${f.exports.name}.cjs`,E=J.resolve(s.cwd,h);a.reportInfo(0,`Saving the new plugin in ${pe.pretty(n,h,"magenta")}`),await le.mkdirPromise(J.dirname(E),{recursive:!0}),await le.writeFilePromise(E,t);let C={path:h,spec:e};r&&(C.checksum=Ln.makeHash(t)),await ze.addPlugin(s.cwd,[C])}var vot=({pluginName:e,noMinify:t},r)=>[["yarn",`build:${e}`,...t?["--no-minify"]:[],"|"]],IC=class extends At{constructor(){super(...arguments);this.installPath=he.String("--path",{description:"The path where the repository should be cloned to"});this.repository=he.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=he.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=he.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=he.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=he.String()}static{this.paths=[["plugin","import","from","sources"]]}static{this.usage=at.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=typeof this.installPath<"u"?J.resolve(this.context.cwd,fe.toPortablePath(this.installPath)):J.resolve(fe.toPortablePath((0,gde.tmpdir)()),"yarnpkg-sources",Ln.makeHash(this.repository).slice(0,6));return(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:c}=await Rt.find(r,this.context.cwd),f=j.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=j.stringifyIdent(f),h=await Pm(r,An);if(!Object.hasOwn(h,p))throw new Lt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await E5(this,{configuration:r,report:n,target:s}),await I5(E,this,{project:c,report:n,target:s})})).exitCode()}};async function I5(e,{context:t,noMinify:r},{project:s,report:a,target:n}){let c=e.replace(/@yarnpkg\//,""),{configuration:f}=s;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${c}`),a.reportSeparator(),await $v(vot({pluginName:c,noMinify:r},n),{configuration:f,context:t,target:n}),a.reportSeparator();let p=J.resolve(n,`packages/${c}/bundles/${e}.js`),h=await le.readFilePromise(p);await C5(e,h,{project:s,report:a})}qe();Dt();Yt();var CC=class extends At{constructor(){super(...arguments);this.name=he.String()}static{this.paths=[["plugin","remove"]]}static{this.usage=at.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd);return(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{let c=this.name,f=j.parseIdent(c);if(!r.plugins.has(c))throw new it(`${j.prettyIdent(r,f)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${c}.cjs`,h=J.resolve(s.cwd,p);le.existsSync(h)&&(n.reportInfo(0,`Removing ${pe.pretty(r,p,pe.Type.PATH)}...`),await le.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await ze.updateConfiguration(s.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let C=E.filter(S=>S.path!==p);return C.length===0?ze.deleteProperty:C.length===E.length?E:C}})})).exitCode()}};qe();Yt();var wC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","runtime"]]}static{this.usage=at.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let c=this.context.plugins.plugins.has(n),f=n;c&&(f+=" [builtin]"),a.reportJson({name:n,builtin:c}),a.reportInfo(null,`${f}`)}})).exitCode()}};qe();qe();Yt();var BC=class extends At{constructor(){super(...arguments);this.idents=he.Rest()}static{this.paths=[["rebuild"]]}static{this.usage=at.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);let c=new Set;for(let f of this.idents)c.add(j.parseIdent(f).identHash);if(await s.restoreInstallState({restoreResolutions:!1}),await s.resolveEverything({cache:n,report:new Qi}),c.size>0)for(let f of s.storedPackages.values())c.has(f.identHash)&&(s.storedBuildState.delete(f.locatorHash),s.skippedBuilds.delete(f.locatorHash));else s.storedBuildState.clear(),s.skippedBuilds.clear();return await s.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};qe();qe();qe();Yt();var w5=et(zo());Al();var vC=class extends At{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:ks(Oa)});this.patterns=he.Rest()}static{this.paths=[["remove"]]}static{this.usage=at.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=this.all?s.workspaces:[a],f=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let I of this.patterns){let T=!1,O=j.parseIdent(I);for(let U of c){let V=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,w5.default)(V,I))U.manifest.peerDependenciesMeta.delete(te),h=!0,T=!0;for(let te of f){let ie=U.manifest.getForScope(te),ue=[...ie.values()].map(ae=>j.stringifyIdent(ae));for(let ae of(0,w5.default)(ue,j.stringifyIdent(O))){let{identHash:de}=j.parseIdent(ae),Ae=ie.get(de);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(de),E.push([U,te,Ae]),h=!0,T=!0}}}T||p.push(I)}let C=p.length>1?"Patterns":"Pattern",S=p.length>1?"don't":"doesn't",x=this.all?"any":"this";if(p.length>0)throw new it(`${C} ${pe.prettyList(r,p,pe.Type.CODE)} ${S} match any packages referenced by ${x} workspace`);return h?(await r.triggerMultipleHooks(I=>I.afterWorkspaceDependencyRemoval,E),await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};qe();qe();Yt();var dde=Ie("util"),SC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["run"]]}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);return(await Ot.start({configuration:r,stdout:this.context.stdout,json:this.json},async c=>{let f=a.manifest.scripts,p=Ge.sortMap(f.keys(),C=>C),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((C,S)=>Math.max(C,S.length),0);for(let[C,S]of f.entries())c.reportInfo(null,`${C.padEnd(E," ")} ${(0,dde.inspect)(S,h)}`),c.reportJson({name:C,script:S})})).exitCode()}};qe();qe();Yt();var DC=class extends At{constructor(){super(...arguments);this.inspect=he.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=he.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=he.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=he.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=he.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=he.Boolean("--silent",{hidden:!0});this.scriptName=he.String();this.args=he.Proxy()}static{this.paths=[["run"]]}static{this.usage=at.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a,locator:n}=await Rt.find(r,this.context.cwd);await s.restoreInstallState();let c=this.topLevel?s.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Cn.hasPackageScript(c,this.scriptName,{project:s}))return await Cn.executePackageScript(c,this.scriptName,this.args,{project:s,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let f=await Cn.getPackageAccessibleBinaries(c,{project:s});if(f.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await Cn.executePackageAccessibleBinary(c,this.scriptName,this.args,{cwd:this.context.cwd,project:s,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:f})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(s.workspaces.map(async C=>C.manifest.scripts.has(this.scriptName)?C:null))).filter(C=>C!==null);if(E.length===1)return await Cn.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${j.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new it(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${j.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new it("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,C]of qI)for(let S of C)if(h.length>=S.length&&JSON.stringify(h.slice(0,S.length))===JSON.stringify(S))throw new it(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new it(`Couldn't find a script named "${this.scriptName}".`)}}};qe();qe();Yt();var bC=class extends At{constructor(){super(...arguments);this.descriptor=he.String();this.resolution=he.String()}static{this.paths=[["set","resolution"]]}static{this.usage=at.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 npm:1.5.0"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(await s.restoreInstallState({restoreResolutions:!1}),!a)throw new ar(s.cwd,this.context.cwd);let c=j.parseDescriptor(this.descriptor,!0),f=j.makeDescriptor(c,this.resolution);return s.storedDescriptors.set(c.descriptorHash,c),s.storedDescriptors.set(f.descriptorHash,f),s.resolutionAliases.set(c.descriptorHash,f.descriptorHash),await s.installWithNewReport({stdout:this.context.stdout},{cache:n})}};qe();Dt();Yt();var mde=et(zo()),PC=class extends At{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=he.Rest()}static{this.paths=[["unlink"]]}static{this.usage=at.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);let c=s.topLevelWorkspace,f=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of c.manifest.resolutions)h.startsWith("portal:")&&f.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=J.resolve(this.context.cwd,fe.toPortablePath(p));if(Ge.isPathLike(p)){let E=await ze.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:C,workspace:S}=await Rt.find(E,h);if(!S)throw new ar(C.cwd,h);if(this.all){for(let x of C.workspaces)x.manifest.name&&f.add(j.stringifyIdent(x.anchoredLocator));if(f.size===0)throw new it("No workspace found to be unlinked in the target project")}else{if(!S.manifest.name)throw new it("The target workspace doesn't have a name and thus cannot be unlinked");f.add(j.stringifyIdent(S.anchoredLocator))}}else{let E=[...c.manifest.resolutions.map(({pattern:C})=>C.descriptor.fullName)];for(let C of(0,mde.default)(E,p))f.add(C)}}return c.manifest.resolutions=c.manifest.resolutions.filter(({pattern:p})=>!f.has(p.descriptor.fullName)),await s.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};qe();qe();qe();Yt();var yde=et(Vv()),B5=et(zo());Al();var xC=class extends At{constructor(){super(...arguments);this.interactive=he.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=he.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=he.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=he.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=he.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.noTimeGate=he.Boolean("--no-time-gate",!1,{description:"Disable the minimum release age check for this command"});this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:ks(Oa)});this.patterns=he.Rest()}static{this.paths=[["up"]]}static{this.usage=at.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]})}static{this.schema=[V2("recursive",Vf.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})]}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await ze.find(this.context.cwd,this.context.plugins);this.noTimeGate&&r.useWithSource("",{npmMinimalAgeGate:"0"},r.startingCwd,{overwrite:!0});let{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=[...s.storedDescriptors.values()],f=c.map(E=>j.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(j.parseDescriptor(E).range!=="unknown")throw new it("Ranges aren't allowed when using --recursive");for(let C of(0,B5.default)(f,E)){let S=j.parseIdent(C);p.add(S.identHash)}}let h=c.filter(E=>p.has(E.identHash));for(let E of h)s.storedDescriptors.delete(E.descriptorHash),s.storedResolutions.delete(E.descriptorHash);return await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await ze.find(this.context.cwd,this.context.plugins);this.noTimeGate&&r.useWithSource("",{npmMinimalAgeGate:"0"},r.startingCwd,{overwrite:!0});let{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=this.fixed,f=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=Kv(this,s),h=f?["keep","reuse","project","latest"]:["project","latest"],E=[],C=[];for(let O of this.patterns){let U=!1,V=j.parseDescriptor(O),te=j.stringifyIdent(V);for(let ie of s.workspaces)for(let ue of["dependencies","devDependencies"]){let de=[...ie.manifest.getForScope(ue).values()].map(Ce=>j.stringifyIdent(Ce)),Ae=te==="*"?de:(0,B5.default)(de,te);for(let Ce of Ae){let Ee=j.parseIdent(Ce),g=ie.manifest[ue].get(Ee.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let Se=j.makeDescriptor(Ee,V.range);E.push(Promise.resolve().then(async()=>[ie,ue,g,await zv(Se,{project:s,workspace:ie,cache:n,target:ue,fixed:c,modifier:p,strategies:h})])),U=!0}}U||C.push(O)}if(C.length>1)throw new it(`Patterns ${pe.prettyList(r,C,pe.Type.CODE)} don't match any packages referenced by any workspace`);if(C.length>0)throw new it(`Pattern ${pe.prettyList(r,C,pe.Type.CODE)} doesn't match any packages referenced by any workspace`);let S=await Promise.all(E),x=await uA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async O=>{for(let[,,U,{suggestions:V,rejections:te}]of S){let ie=V.filter(ue=>ue.descriptor!==null);if(ie.length===0){let[ue]=te;if(typeof ue>"u")throw new Error("Assertion failed: Expected an error to have been set");let ae=this.cli.error(ue);s.configuration.get("enableNetwork")?O.reportError(27,`${j.prettyDescriptor(r,U)} can't be resolved to a satisfying range + +${ae}`):O.reportError(27,`${j.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${ae}`)}else ie.length>1&&!f&&O.reportError(27,`${j.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(x.hasErrors())return x.exitCode();let I=!1,T=[];for(let[O,U,,{suggestions:V}]of S){let te,ie=V.filter(Ae=>Ae.descriptor!==null),ue=ie[0].descriptor,ae=ie.every(Ae=>j.areDescriptorsEqual(Ae.descriptor,ue));ie.length===1||ae?te=ue:(I=!0,{answer:te}=await(0,yde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${j.prettyWorkspace(r,O)} \u276F ${U}?`,choices:V.map(({descriptor:Ae,name:Ce,reason:Ee})=>Ae?{name:Ce,hint:Ee,descriptor:Ae}:{name:Ce,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(Ae){return this.find(Ae,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let de=O.manifest[U].get(te.identHash);if(typeof de>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(de.descriptorHash!==te.descriptorHash)O.manifest[U].set(te.identHash,te),T.push([O,U,de,te]);else{let Ae=r.makeResolver(),Ce={project:s,resolver:Ae},Ee=r.normalizeDependency(de),g=Ae.bindDescriptor(Ee,O.anchoredLocator,Ce);s.forgetResolution(g)}}return await r.triggerMultipleHooks(O=>O.afterWorkspaceDependencyReplacement,T),I&&this.context.stdout.write(` +`),await s.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};qe();qe();Yt();var kC=class extends At{constructor(){super(...arguments);this.recursive=he.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=he.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=he.String()}static{this.paths=[["why"]]}static{this.usage=at.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. Specify a version or range to determine why the dependency tree contains a specific version of a package. This is particularly useful when trying to find out why your project depends on lower versions. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"],["Explain why version 3.3.1 of lodash is in your project","$0 why lodash@3.3.1"],["Explain why version 3.X of lodash is in your project","$0 why lodash@^3"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=j.parseDescriptor(this.package,!1);if(n.range!=="unknown"&&kr.validRange(n.range)===null)throw new it(`Expected a valid semver range, got ${n.range}`);let c=this.recursive?Dot(s,n,{configuration:r,peers:this.peers}):Sot(s,n,{configuration:r,peers:this.peers});Rs.emitTree(c,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};function Sot(e,t,{configuration:r,peers:s}){let a=Ge.sortMap(e.storedPackages.values(),f=>j.stringifyLocator(f)),n={},c={children:n};for(let f of a){let p={};for(let E of f.dependencies.values()){if(!s&&f.peerDependencies.has(E.identHash))continue;let C=e.storedResolutions.get(E.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let S=e.storedPackages.get(C);if(!S)throw new Error("Assertion failed: The package should have been registered");if(!j.areIdentsEqual(S,t)||!j.isPackageInRange(S,t.range))continue;{let I=j.stringifyLocator(f);n[I]={value:[f,pe.Type.LOCATOR],children:p}}let x=j.stringifyLocator(S);p[x]={value:[{descriptor:E,locator:S},pe.Type.DEPENDENT]}}}return c}function Dot(e,t,{configuration:r,peers:s}){let a=Ge.sortMap(e.workspaces,S=>j.stringifyLocator(S.anchoredLocator)),n=new Set,c=new Set,f=S=>{if(n.has(S.locatorHash))return c.has(S.locatorHash);if(n.add(S.locatorHash),j.areIdentsEqual(S,t)&&j.isPackageInRange(S,t.range))return c.add(S.locatorHash),!0;let x=!1;for(let I of S.dependencies.values()){if(!s&&S.peerDependencies.has(I.identHash))continue;let T=e.storedResolutions.get(I.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let O=e.storedPackages.get(T);if(!O)throw new Error("Assertion failed: The package should have been registered");f(O)&&(x=!0)}return x&&c.add(S.locatorHash),x};for(let S of a)f(S.anchoredPackage);let p=new Set,h={},E={children:h},C=(S,x,I)=>{if(!c.has(S.locatorHash))return;let T=I!==null?pe.tuple(pe.Type.DEPENDENT,{locator:S,descriptor:I}):pe.tuple(pe.Type.LOCATOR,S),O={},U={value:T,children:O},V=j.stringifyLocator(S);if(x[V]=U,!(I!==null&&e.tryWorkspaceByLocator(S))&&!p.has(S.locatorHash)){p.add(S.locatorHash);for(let te of S.dependencies.values()){if(!s&&S.peerDependencies.has(te.identHash))continue;let ie=e.storedResolutions.get(te.descriptorHash);if(!ie)throw new Error("Assertion failed: The resolution should have been registered");let ue=e.storedPackages.get(ie);if(!ue)throw new Error("Assertion failed: The package should have been registered");C(ue,O,te)}}};for(let S of a)C(S.anchoredPackage,h,null);return E}qe();var T5={};Vt(T5,{GitFetcher:()=>tS,GitResolver:()=>rS,default:()=>Vot,gitUtils:()=>La});qe();Dt();var La={};Vt(La,{TreeishProtocols:()=>eS,clone:()=>R5,fetchBase:()=>Ude,fetchChangedFiles:()=>_de,fetchChangedWorkspaces:()=>Wot,fetchRoot:()=>Mde,isGitUrl:()=>TC,lsRemote:()=>Lde,normalizeLocator:()=>qot,normalizeRepoUrl:()=>QC,resolveUrl:()=>Q5,splitRepoUrl:()=>zp,validateRepoUrl:()=>k5});qe();Dt();Yt();zl();var Nde=et(Rde()),RC=et(Ie("querystring")),P5=et(pi());function b5(e,t,r){let s=e.indexOf(r);return e.lastIndexOf(t,s>-1?s:1/0)}function Tde(e){try{return new URL(e)}catch{return}}function jot(e){let t=b5(e,"@","#"),r=b5(e,":","#");return r>t&&(e=`${e.slice(0,r)}/${e.slice(r+1)}`),b5(e,":","#")===-1&&e.indexOf("//")===-1&&(e=`ssh://${e}`),e}function Fde(e){return Tde(e)||Tde(jot(e))}function QC(e,{git:t=!1}={}){if(e=e.replace(/^git\+https:/,"https:"),e=e.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),e=e.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),t){let r=Fde(e);r&&(e=r.href),e=e.replace(/^git\+([^:]+):/,"$1:")}return e}function Ode(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Got=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],eS=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(eS||{});function TC(e){return e?Got.some(t=>!!e.match(t)):!1}function zp(e){e=QC(e);let t=e.indexOf("#");if(t===-1)return{repo:e,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=e.slice(0,t),s=e.slice(t+1);if(s.match(/^[a-z]+=/)){let a=RC.default.parse(s);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(eS).find(p=>Object.hasOwn(a,p)),[c,f]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(eS))delete a[p];return{repo:r,treeish:{protocol:c,request:f},extra:a}}else{let a=s.indexOf(":"),[n,c]=a===-1?[null,s]:[s.slice(0,a),s.slice(a+1)];return{repo:r,treeish:{protocol:n,request:c},extra:{}}}}function qot(e){return j.makeLocator(e,QC(e.reference))}function k5(e,{configuration:t}){let{repo:r}=zp(e),s=QC(r,{git:!0});if(!nn.getNetworkSettings(`https://${(0,Nde.default)(s).resource}`,{configuration:t}).enableNetwork)throw new Lt(80,`Request to '${s}' has been blocked because of your configuration settings`);let n=Ge.buildIgnorePattern(t.get("approvedGitRepositories"));if(n===null||!s.match(n))throw new Lt(80,`Request to '${s}' has been blocked because it doesn't match any of the patterns in 'approvedGitRepositories'`);return s}async function Lde(e,t){let r=k5(e,{configuration:t}),s=await x5("listing refs",["ls-remote",r],{cwd:t.startingCwd,env:Ode()},{configuration:t,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,c;for(;(c=n.exec(s.stdout))!==null;)a.set(c[2],c[1]);return a}async function Q5(e,t){let{repo:r,treeish:{protocol:s,request:a},extra:n}=zp(e),c=await Lde(r,t),f=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return RC.default.stringify({...n,commit:E})}case"head":{let C=c.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof C>"u")throw new Error(`Unknown head ("${E}")`);return RC.default.stringify({...n,commit:C})}case"tag":{let C=c.get(`refs/tags/${E}`);if(typeof C>"u")throw new Error(`Unknown tag ("${E}")`);return RC.default.stringify({...n,commit:C})}case"semver":{let C=kr.validRange(E);if(!C)throw new Error(`Invalid range ("${E}")`);let S=new Map([...c.entries()].filter(([I])=>I.startsWith("refs/tags/")).map(([I,T])=>[P5.default.parse(I.slice(10)),T]).filter(I=>I[0]!==null)),x=P5.default.maxSatisfying([...S.keys()],C);if(x===null)throw new Error(`No matching range ("${E}")`);return RC.default.stringify({...n,commit:S.get(x)})}case null:{let C;if((C=p("commit",E))!==null||(C=p("tag",E))!==null||(C=p("head",E))!==null)return C;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return f(h,E)}catch{return null}};return QC(`${r}#${f(s,a)}`)}async function R5(e,t){return await t.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:s,request:a}}=zp(e);if(s!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=k5(r,{configuration:t}),c=await le.mktempPromise(),f={cwd:c,env:Ode()};return await x5("cloning the repository",["clone","-c","core.autocrlf=false",n,fe.fromPortablePath(c)],f,{configuration:t,normalizedRepoUrl:n}),await x5("switching branch",["checkout",`${a}`],f,{configuration:t,normalizedRepoUrl:n}),c})}async function Mde(e){let t,r=e;do{if(t=r,await le.existsPromise(J.join(t,".git")))return t;r=J.dirname(t)}while(r!==t);return null}async function Ude(e,{baseRefs:t}){if(t.length===0)throw new it("Can't run this command with zero base refs specified.");let r=[];for(let f of t){let{code:p}=await qr.execvp("git",["merge-base",f,"HEAD"],{cwd:e});p===0&&r.push(f)}if(r.length===0)throw new it(`No ancestor could be found between any of HEAD and ${t.join(", ")}`);let{stdout:s}=await qr.execvp("git",["merge-base","HEAD",...r],{cwd:e,strict:!0}),a=s.trim(),{stdout:n}=await qr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:e,strict:!0}),c=n.trim();return{hash:a,title:c}}async function _de(e,{base:t,project:r}){let s=Ge.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await qr.execvp("git",["diff","--name-only",`${t}`],{cwd:e,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>J.resolve(e,fe.toPortablePath(h))),{stdout:c}=await qr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:e,strict:!0}),f=c.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>J.resolve(e,fe.toPortablePath(h))),p=[...new Set([...n,...f].sort())];return s?p.filter(h=>!J.relative(r.cwd,h).match(s)):p}async function Wot({ref:e,project:t}){if(t.configuration.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let r=[J.resolve(t.cwd,Er.lockfile),J.resolve(t.cwd,t.configuration.get("cacheFolder")),J.resolve(t.cwd,t.configuration.get("installStatePath")),J.resolve(t.cwd,t.configuration.get("virtualFolder"))];await t.configuration.triggerHook(c=>c.populateYarnPaths,t,c=>{c!=null&&r.push(c)});let s=await Mde(t.configuration.projectCwd);if(s==null)throw new it("This command can only be run on Git repositories");let a=await Ude(s,{baseRefs:typeof e=="string"?[e]:t.configuration.get("changesetBaseRefs")}),n=await _de(s,{base:a.hash,project:t});return new Set(Ge.mapAndFilter(n,c=>{let f=t.tryWorkspaceByFilePath(c);return f===null?Ge.mapAndFilter.skip:r.some(p=>c.startsWith(p))?Ge.mapAndFilter.skip:f}))}async function x5(e,t,r,{configuration:s,normalizedRepoUrl:a}){try{return await qr.execvp("git",t,{...r,strict:!0})}catch(n){if(!(n instanceof qr.ExecError))throw n;let c=n.reportExtra,f=n.stderr.toString();throw new Lt(1,`Failed ${e}`,p=>{p.reportError(1,` ${pe.prettyField(s,{label:"Repository URL",value:pe.tuple(pe.Type.URL,a)})}`);for(let h of f.matchAll(/^(.+?): (.*)$/gm)){let[,E,C]=h;E=E.toLowerCase();let S=E==="error"?"Error":`${EB(E)} Error`;p.reportError(1,` ${pe.prettyField(s,{label:S,value:pe.tuple(pe.Type.NO_HINT,C)})}`)}c?.(p)})}}var tS=class{supports(t,r){return TC(t.reference)}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,a=new Map(r.checksums);a.set(t.locatorHash,s);let n={...r,checksums:a},c=await this.downloadHosted(t,n);if(c!==null)return c;let[f,p,h]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(t,n),...r.cacheOptions});return{packageFs:f,releaseFs:p,prefixPath:j.getIdentVendorPath(t),checksum:h}}async downloadHosted(t,r){return r.project.configuration.reduceHook(s=>s.fetchHostedRepository,null,t,r)}async cloneFromRemote(t,r){let s=zp(t.reference),a=await R5(t.reference,r.project.configuration),n=J.resolve(a,s.extra.cwd??vt.dot),c=J.join(n,"package.tgz");await Cn.prepareExternalProject(n,c,{configuration:r.project.configuration,report:r.report,workspace:s.extra.workspace,locator:t});let f=await le.readFilePromise(c);return await Ge.releaseAfterUseAsync(async()=>await ds.convertToZip(f,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(t),stripComponents:1}))}};qe();qe();var rS=class{supportsDescriptor(t,r){return TC(t.range)}supportsLocator(t,r){return TC(t.reference)}shouldPersistResolution(t,r){return!0}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){let a=await Q5(t.range,s.project.configuration);return[j.makeLocator(t,a)]}async getSatisfying(t,r,s,a){let n=zp(t.range);return{locators:s.filter(f=>{if(f.identHash!==t.identHash)return!1;let p=zp(f.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await Ge.releaseAfterUseAsync(async()=>await _t.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Yot={configuration:{approvedGitRepositories:{description:"Array of git repository URL glob patterns that are allowed to be fetched",type:"STRING",default:[],isArray:!0},changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[tS],resolvers:[rS]};var Vot=Yot;Yt();var FC=class extends At{constructor(){super(...arguments);this.since=he.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=he.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=he.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["workspaces","list"]]}static{this.usage=at.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd);return(await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let c=this.since?await La.fetchChangedWorkspaces({ref:this.since,project:s}):s.workspaces,f=new Set(c);if(this.recursive)for(let p of[...c].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)f.add(h);for(let p of f){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let C=new Set,S=new Set;for(let x of _t.hardDependencies)for(let[I,T]of h.getForScope(x)){let O=s.tryWorkspaceByDescriptor(T);O===null?s.workspacesByIdent.has(I)&&S.add(T):C.add(O)}E={workspaceDependencies:Array.from(C).map(x=>x.relativeCwd),mismatchedWorkspaceDependencies:Array.from(S).map(x=>j.stringifyDescriptor(x))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?j.stringifyIdent(h.name):null,...E})}})).exitCode()}};qe();qe();Yt();var NC=class extends At{constructor(){super(...arguments);this.workspaceName=he.String();this.commandName=he.String();this.args=he.Proxy()}static{this.paths=[["workspace"]]}static{this.usage=at.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=s.workspaces,c=new Map(n.map(p=>[j.stringifyIdent(p.anchoredLocator),p])),f=c.get(this.workspaceName);if(f===void 0){let p=Array.from(c.keys()).sort();throw new it(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${p.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:f.cwd})}};var Jot={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Hde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[ZI,$I,eC,tC,bC,yC,uC,FC,iC,sC,oC,aC,zI,XI,rC,nC,lC,cC,fC,AC,pC,hC,PC,gC,dC,IC,EC,CC,mC,wC,BC,vC,SC,DC,xC,kC,NC]},Kot=Jot;var M5={};Vt(M5,{default:()=>$ot});qe();qe();var N5="catalog:";var O5=e=>e.startsWith(N5),zot=e=>e.range.slice(N5.length)||null,jde=e=>e===null?"default catalog":`catalog "${e}"`,Xot=e=>e.scope?`@${e.scope}/${e.name}`:e.name,L5=(e,t,r,s)=>{let a=zot(t),n;if(a===null)n=e.configuration.get("catalog");else try{let E=e.configuration.get("catalogs");E&&(n=E.get(a))}catch{n=void 0}if(!n||n.size===0)throw new Lt(82,`${j.prettyDescriptor(e.configuration,t)}: ${jde(a)} not found or empty`);let c=Xot(t),f=n.get(c);if(!f)throw new Lt(82,`${j.prettyDescriptor(e.configuration,t)}: entry not found in ${jde(a)}`);let p=e.configuration.normalizeDependency(j.makeDescriptor(t,f));return r.supportsDescriptor(p,s)?r.bindDescriptor(p,e.topLevelWorkspace.anchoredLocator,s):p};var Zot={configuration:{catalog:{description:"The default catalog of packages",type:"MAP",valueDefinition:{description:"The catalog of packages",type:"STRING"}},catalogs:{description:"Named catalogs of packages",type:"MAP",valueDefinition:{description:"A named catalog",type:"MAP",valueDefinition:{description:"Package version in the catalog",type:"STRING"}}}},hooks:{beforeWorkspacePacking:(e,t)=>{let r=e.project,s=r.configuration.makeResolver(),a={project:r,resolver:s,report:new Qi};for(let n of _t.allDependencies){let c=t[n];if(c)for(let[f,p]of Object.entries(c)){if(typeof p!="string"||!O5(p))continue;let h=j.parseIdent(f),E=j.makeDescriptor(h,p),C=L5(r,E,s,a),{protocol:S,source:x,params:I,selector:T}=j.parseRange(j.convertToManifestRange(C.range));S===e.project.configuration.get("defaultProtocol")&&(S=null),c[f]=j.makeRange({protocol:S,source:x,params:I,selector:T})}}},reduceDependency:async(e,t,r,s,{resolver:a,resolveOptions:n})=>O5(e.range)?L5(t,e,a,n):e}},$ot=Zot;var G5={};Vt(G5,{default:()=>tat});qe();var Qt={optional:!0},U5=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":Qt}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":Qt,"postcss-jsx":Qt,"postcss-less":Qt,"postcss-markdown":Qt,"postcss-scss":Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{"node-gyp":"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{"babel-polyfill":"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{"cross-spawn":"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{"prop-types":"^15.7.2"}}],["@rebass/forms@*",{dependencies:{"@styled-system/should-forward-prop":"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(e=>[e,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{"vue-template-compiler":"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["parcel@*",{peerDependenciesMeta:{"@parcel/core":Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@<5.0.0",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}],["eslint-import-resolver-vite@<2.0.1",{dependencies:{debug:"^4.3.4",resolve:"^1.22.8"}}],["notistack@^3.0.0",{dependencies:{csstype:"^3.0.10"}}],["@fastify/type-provider-typebox@^5.0.0",{peerDependencies:{fastify:"^5.0.0"}}],["@fastify/type-provider-typebox@^4.0.0",{peerDependencies:{fastify:"^4.0.0"}}]];var _5;function Gde(){return typeof _5>"u"&&(_5=Ie("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),_5}var H5;function qde(){return typeof H5>"u"&&(H5=Ie("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),H5}var j5;function Wde(){return typeof j5>"u"&&(j5=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),j5}var Yde=new Map([[j.makeIdent(null,"fsevents").identHash,Gde],[j.makeIdent(null,"resolve").identHash,qde],[j.makeIdent(null,"typescript").identHash,Wde]]),eat={hooks:{registerPackageExtensions:async(e,t)=>{for(let[r,s]of U5)t(j.parseDescriptor(r,!0),s)},getBuiltinPatch:async(e,t)=>{let r="compat/";if(!t.startsWith(r))return;let s=j.parseIdent(t.slice(r.length)),a=Yde.get(s.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(e,t,r,s)=>typeof Yde.get(e.identHash)>"u"?e:j.makeDescriptor(e,j.makeRange({protocol:"patch:",source:j.stringifyDescriptor(e),selector:`optional!builtin`,params:null}))}},tat=eat;var o9={};Vt(o9,{ConstraintsCheckCommand:()=>GC,ConstraintsQueryCommand:()=>HC,ConstraintsSourceCommand:()=>jC,default:()=>Iat});qe();qe();iS();var LC=class{constructor(t){this.project=t}createEnvironment(){let t=new OC(["cwd","ident"]),r=new OC(["workspace","type","ident"]),s=new OC(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,c=new Map;for(let f of this.project.storedPackages.values()){let p=Array.from(f.peerDependencies.values(),h=>[j.stringifyIdent(h),h.range]);n.set(f.locatorHash,{workspace:null,ident:j.stringifyIdent(f),version:f.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>f.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>f.peerDependenciesMeta.get(h)?.optional===!0))})}for(let f of this.project.storedPackages.values()){let p=n.get(f.locatorHash);p.dependencies=new Map(Array.from(f.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let C=n.get(E);if(typeof C>"u")throw new Error("Assertion failed: The package should have been registered");return[j.stringifyIdent(h),C]})),p.dependencies.delete(p.ident)}for(let f of this.project.workspaces){let p=j.stringifyIdent(f.anchoredLocator),h=f.manifest.exportTo({}),E=n.get(f.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let C=(T,O,{caller:U=Ui.getCaller()}={})=>{let V=nS(T),te=Ge.getMapWithDefault(a.manifestUpdates,f.cwd),ie=Ge.getMapWithDefault(te,V),ue=Ge.getSetWithDefault(ie,O);U!==null&&ue.add(U)},S=T=>C(T,void 0,{caller:Ui.getCaller()}),x=T=>{Ge.getArrayWithDefault(a.reportedErrors,f.cwd).push(T)},I=t.insert({cwd:f.relativeCwd,ident:p,manifest:h,pkg:E,set:C,unset:S,error:x});c.set(f,I);for(let T of _t.allDependencies)for(let O of f.manifest[T].values()){let U=j.stringifyIdent(O),V=()=>{C([T,U],void 0,{caller:Ui.getCaller()})},te=ue=>{C([T,U],ue,{caller:Ui.getCaller()})},ie=null;if(T!=="peerDependencies"&&(T!=="dependencies"||!f.manifest.devDependencies.has(O.identHash))){let ue=f.anchoredPackage.dependencies.get(O.identHash);if(ue){if(typeof ue>"u")throw new Error("Assertion failed: The dependency should have been registered");let ae=this.project.storedResolutions.get(ue.descriptorHash);if(typeof ae>"u")throw new Error("Assertion failed: The resolution should have been registered");let de=n.get(ae);if(typeof de>"u")throw new Error("Assertion failed: The package should have been registered");ie=de}}r.insert({workspace:I,ident:U,range:O.range,type:T,resolution:ie,update:te,delete:V,error:x})}}for(let f of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(f);if(!p)continue;let h=c.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(f.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:t,dependencies:r,packages:s,result:a}}async process(){let t=this.createEnvironment(),r={Yarn:{workspace:a=>t.workspaces.find(a)[0]??null,workspaces:a=>t.workspaces.find(a),dependency:a=>t.dependencies.find(a)[0]??null,dependencies:a=>t.dependencies.find(a),package:a=>t.packages.find(a)[0]??null,packages:a=>t.packages.find(a)}},s=await this.project.loadUserConfig();return s?.constraints?(await s.constraints(r),t.result):null}};qe();qe();Yt();var HC=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=he.String()}static{this.paths=[["constraints","query"]]}static{this.usage=at.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` + This command will output all matches to the given prolog query. + `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(lS(),aS)),s=await ze.find(this.context.cwd,this.context.plugins),{project:a}=await Rt.find(s,this.context.cwd),n=await r.find(a),c=this.query;return c.endsWith(".")||(c=`${c}.`),(await Ot.start({configuration:s,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(c)){let E=Array.from(Object.entries(h)),C=E.length,S=E.reduce((x,[I])=>Math.max(x,I.length),0);for(let x=0;x(lS(),aS)),s=await ze.find(this.context.cwd,this.context.plugins),{project:a}=await Rt.find(s,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};qe();qe();Yt();iS();var GC=class extends At{constructor(){super(...arguments);this.fix=he.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["constraints"]]}static{this.usage=at.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd);await s.restoreInstallState();let a=await s.loadUserConfig(),n;if(a?.constraints)n=new LC(s);else{let{Constraints:h}=await Promise.resolve().then(()=>(lS(),aS));n=await h.find(s)}let c,f=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:C,remainingErrors:S}=jT(s,E,{fix:this.fix}),x=[];for(let[I,T]of C){let O=I.manifest.indent;I.manifest=new _t,I.manifest.indent=O,I.manifest.load(T),x.push(I.persistManifest())}if(await Promise.all(x),!(C.size>0&&h>1)){c=Vde(S,{configuration:r}),f=!1,p=!0;for(let[,I]of S)for(let T of I)T.fixable?f=!0:p=!1}}if(c.children.length===0)return 0;if(f){let h=p?`Those errors can all be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`;await Ot.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return c.children=Ge.sortMap(c.children,h=>h.value[1]),Rs.emitTree(c,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};iS();var Eat={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[HC,jC,GC],hooks:{async validateProjectAfterInstall(e,{reportError:t}){if(!e.configuration.get("enableConstraintsChecks"))return;let r=await e.loadUserConfig(),s;if(r?.constraints)s=new LC(e);else{let{Constraints:c}=await Promise.resolve().then(()=>(lS(),aS));s=await c.find(e)}let a=await s.process();if(!a)return;let{remainingErrors:n}=jT(e,a);if(n.size!==0)if(e.configuration.isCI)for(let[c,f]of n)for(let p of f)t(84,`${pe.pretty(e.configuration,c.anchoredLocator,pe.Type.IDENT)}: ${p.text}`);else t(84,`Constraint check failed; run ${pe.pretty(e.configuration,"yarn constraints",pe.Type.CODE)} for more details`)}}},Iat=Eat;var a9={};Vt(a9,{CreateCommand:()=>qC,DlxCommand:()=>WC,default:()=>wat});qe();Yt();var qC=class extends At{constructor(){super(...arguments);this.pkg=he.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=he.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=he.String();this.args=he.Proxy()}static{this.paths=[["create"]]}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let s=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=j.parseDescriptor(s),n=a.name.match(/^create(-|$)/)?a:a.scope?j.makeIdent(a.scope,`create-${a.name}`):j.makeIdent(null,`create-${a.name}`),c=j.stringifyIdent(n);return a.range!=="unknown"&&(c+=`@${a.range}`),this.cli.run(["dlx",...r,c,...this.args])}};qe();qe();Dt();Yt();var WC=class extends At{constructor(){super(...arguments);this.packages=he.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=he.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=he.String();this.args=he.Proxy()}static{this.paths=[["dlx"]]}static{this.usage=at.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-vite to scaffold a new Vite project","yarn dlx create-vite"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]})}async execute(){return ze.telemetry=null,await le.mktempPromise(async r=>{let s=J.join(r,`dlx-${process.pid}`);await le.mkdirPromise(s),await le.writeFilePromise(J.join(s,"package.json"),`{} +`),await le.writeFilePromise(J.join(s,"yarn.lock"),"");let a=J.join(s,".yarnrc.yml"),n=await ze.findProjectCwd(this.context.cwd),f={enableGlobalCache:!(await ze.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Kf(68),level:pe.LogLevel.Discard}]},p=n!==null?J.join(n,".yarnrc.yml"):null;p!==null&&le.existsSync(p)?(await le.copyFilePromise(p,a),await ze.updateConfiguration(s,O=>{let U=Ge.toMerged(O,f);return Array.isArray(O.plugins)&&(U.plugins=O.plugins.map(V=>{let te=typeof V=="string"?V:V.path,ie=fe.isAbsolute(te)?te:fe.resolve(fe.fromPortablePath(n),te);return typeof V=="string"?ie:{path:ie,spec:V.spec}})),U})):await le.writeJsonPromise(a,f);let h=this.packages??[this.command],E=j.parseDescriptor(this.command).name,C=await this.cli.run(["add","--fixed","--",...h],{cwd:s,quiet:this.quiet});if(C!==0)return C;this.quiet||this.context.stdout.write(` +`);let S=await ze.find(s,this.context.plugins),{project:x,workspace:I}=await Rt.find(S,s);if(I===null)throw new ar(x.cwd,s);await x.restoreInstallState();let T=await Cn.getWorkspaceAccessibleBinaries(I);return T.has(E)===!1&&T.size===1&&typeof this.packages>"u"&&(E=Array.from(T)[0][0]),await Cn.executeWorkspaceAccessibleBinary(I,E,this.args,{packageAccessibleBinaries:T,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};var Cat={commands:[qC,WC]},wat=Cat;var u9={};Vt(u9,{ExecFetcher:()=>uS,ExecResolver:()=>fS,default:()=>Sat,execUtils:()=>YT});qe();qe();qe();Dt();var fA="exec:";var YT={};Vt(YT,{loadGeneratorFile:()=>cS,makeLocator:()=>c9,makeSpec:()=>Eme,parseSpec:()=>l9});qe();Dt();function l9(e){let{params:t,selector:r}=j.parseRange(e),s=fe.toPortablePath(r);return{parentLocator:t&&typeof t.locator=="string"?j.parseLocator(t.locator):null,path:s}}function Eme({parentLocator:e,path:t,generatorHash:r,protocol:s}){let a=e!==null?{locator:j.stringifyLocator(e)}:{},n=typeof r<"u"?{hash:r}:{};return j.makeRange({protocol:s,source:t,selector:t,params:{...n,...a}})}function c9(e,{parentLocator:t,path:r,generatorHash:s,protocol:a}){return j.makeLocator(e,Eme({parentLocator:t,path:r,generatorHash:s,protocol:a}))}async function cS(e,t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(e,{protocol:t}),n=J.isAbsolute(a)?{packageFs:new bn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(s,r),c=n.localPath?{packageFs:new bn(vt.root),prefixPath:J.relative(vt.root,n.localPath)}:n;n!==c&&n.releaseFs&&n.releaseFs();let f=c.packageFs,p=J.join(c.prefixPath,a);return await f.readFilePromise(p,"utf8")}var uS=class{supports(t,r){return!!t.reference.startsWith(fA)}getLocalPath(t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(t.reference,{protocol:fA});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t),loader:()=>this.fetchFromDisk(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),localPath:this.getLocalPath(t,r),checksum:c}}async fetchFromDisk(t,r){let s=r.project.getDependencyMeta(t,null);if(!r.project.configuration.get("enableScripts")&&!s.built)throw new Lt(4,`${j.prettyLocator(r.project.configuration,t)} can't be built with the exec: protocol because all scripts have been disabled.`);let a=await cS(t.reference,fA,r);return le.mktempPromise(async n=>{let c=J.join(n,"generator.js");return await le.writeFilePromise(c,a),le.mktempPromise(async f=>{if(await this.generatePackage(f,t,c,r),!le.existsSync(J.join(f,"build")))throw new Error("The script should have generated a build directory");return await ds.makeArchiveFromDirectory(J.join(f,"build"),{prefixPath:j.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(t,r,s,a){return await le.mktempPromise(async n=>{let c=await Cn.makeScriptEnv({project:a.project,binFolder:n}),f=J.join(t,"runtime.js");return await le.mktempPromise(async p=>{let h=J.join(p,"buildfile.log"),E=J.join(t,"generator"),C=J.join(t,"build");await le.mkdirPromise(E),await le.mkdirPromise(C);let S={tempDir:fe.fromPortablePath(E),buildDir:fe.fromPortablePath(C),locator:j.stringifyLocator(r)};await le.writeFilePromise(f,` + // Expose 'Module' as a global variable + Object.defineProperty(global, 'Module', { + get: () => require('module'), + configurable: true, + enumerable: false, + }); + + // Expose non-hidden built-in modules as global variables + for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { + Object.defineProperty(global, name, { + get: () => require(name), + configurable: true, + enumerable: false, + }); + } + + // Expose the 'execEnv' global variable + Object.defineProperty(global, 'execEnv', { + value: { + ...${JSON.stringify(S)}, + }, + enumerable: true, + }); + `);let x=c.NODE_OPTIONS||"",I=/\s*--require\s+\S*\.pnp\.c?js\s*/g;x=x.replace(I," ").trim(),c.NODE_OPTIONS=x;let{stdout:T,stderr:O}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${j.stringifyLocator(r)}) +`,prefix:j.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await qr.pipevp(process.execPath,["--require",fe.fromPortablePath(f),fe.fromPortablePath(s),j.stringifyIdent(r)],{cwd:t,env:c,stdin:null,stdout:T,stderr:O});if(U!==0)throw le.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${pe.pretty(a.project.configuration,h,pe.Type.PATH)})`)})})}};qe();qe();qe();var Bat=2,fS=class{supportsDescriptor(t,r){return!!t.range.startsWith(fA)}supportsLocator(t,r){return!!t.reference.startsWith(fA)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){if(s.project.tryWorkspaceByLocator(r)===null)throw new Lt(57,`${j.prettyLocator(s.project.configuration,r)} lists ${j.prettyDescriptor(s.project.configuration,t)} as dependency, but only workspaces can depend on exec: packages.`);return j.bindDescriptor(t,{locator:j.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=l9(t.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let c=await cS(j.makeRange({protocol:fA,source:a,selector:a,params:{locator:j.stringifyLocator(n)}}),fA,s.fetchOptions),f=Ln.makeHash(`${Bat}`,c).slice(0,6);return[c9(t,{parentLocator:n,path:a,generatorHash:f,protocol:fA})]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await Ge.releaseAfterUseAsync(async()=>await _t.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var vat={fetchers:[uS],resolvers:[fS]},Sat=vat;var A9={};Vt(A9,{FileFetcher:()=>gS,FileResolver:()=>dS,TarballFileFetcher:()=>mS,TarballFileResolver:()=>yS,default:()=>Pat,fileUtils:()=>Rm});qe();Dt();var YC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,AS=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,ts="file:";var Rm={};Vt(Rm,{fetchArchiveFromLocator:()=>hS,makeArchiveFromLocator:()=>VT,makeBufferFromLocator:()=>f9,makeLocator:()=>VC,makeSpec:()=>Ime,parseSpec:()=>pS});qe();Dt();function pS(e){let{params:t,selector:r}=j.parseRange(e),s=fe.toPortablePath(r);return{parentLocator:t&&typeof t.locator=="string"?j.parseLocator(t.locator):null,path:s}}function Ime({parentLocator:e,path:t,hash:r,protocol:s}){let a=e!==null?{locator:j.stringifyLocator(e)}:{},n=typeof r<"u"?{hash:r}:{};return j.makeRange({protocol:s,source:t,selector:t,params:{...n,...a}})}function VC(e,{parentLocator:t,path:r,hash:s,protocol:a}){return j.makeLocator(e,Ime({parentLocator:t,path:r,hash:s,protocol:a}))}async function hS(e,t){let{parentLocator:r,path:s}=j.parseFileStyleRange(e.reference,{protocol:ts}),a=J.isAbsolute(s)?{packageFs:new bn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await t.fetcher.fetch(r,t),n=a.localPath?{packageFs:new bn(vt.root),prefixPath:J.relative(vt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let c=n.packageFs,f=J.join(n.prefixPath,s);return await Ge.releaseAfterUseAsync(async()=>await c.readFilePromise(f),n.releaseFs)}async function VT(e,{protocol:t,fetchOptions:r,inMemory:s=!1}){let{parentLocator:a,path:n}=j.parseFileStyleRange(e.reference,{protocol:t}),c=J.isAbsolute(n)?{packageFs:new bn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(a,r),f=c.localPath?{packageFs:new bn(vt.root),prefixPath:J.relative(vt.root,c.localPath)}:c;c!==f&&c.releaseFs&&c.releaseFs();let p=f.packageFs,h=J.join(f.prefixPath,n);return await Ge.releaseAfterUseAsync(async()=>await ds.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:j.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:s}),f.releaseFs)}async function f9(e,{protocol:t,fetchOptions:r}){return(await VT(e,{protocol:t,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var gS=class{supports(t,r){return!!t.reference.startsWith(ts)}getLocalPath(t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(t.reference,{protocol:ts});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),localPath:this.getLocalPath(t,r),checksum:c}}async fetchFromDisk(t,r){return VT(t,{protocol:ts,fetchOptions:r})}};qe();qe();var Dat=2,dS=class{supportsDescriptor(t,r){return t.range.match(YC)?!0:!!t.range.startsWith(ts)}supportsLocator(t,r){return!!t.reference.startsWith(ts)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){return YC.test(t.range)&&(t=j.makeDescriptor(t,`${ts}${t.range}`)),j.bindDescriptor(t,{locator:j.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=pS(t.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let c=await f9(j.makeLocator(t,j.makeRange({protocol:ts,source:a,selector:a,params:{locator:j.stringifyLocator(n)}})),{protocol:ts,fetchOptions:s.fetchOptions}),f=Ln.makeHash(`${Dat}`,c).slice(0,6);return[VC(t,{parentLocator:n,path:a,hash:f,protocol:ts})]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await Ge.releaseAfterUseAsync(async()=>await _t.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};qe();var mS=class{supports(t,r){return AS.test(t.reference)?!!t.reference.startsWith(ts):!1}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),checksum:c}}async fetchFromDisk(t,r){let s=await hS(t,r);return await ds.convertToZip(s,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(t),stripComponents:1})}};qe();qe();qe();var yS=class{supportsDescriptor(t,r){return AS.test(t.range)?!!(t.range.startsWith(ts)||YC.test(t.range)):!1}supportsLocator(t,r){return AS.test(t.reference)?!!t.reference.startsWith(ts):!1}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){return YC.test(t.range)&&(t=j.makeDescriptor(t,`${ts}${t.range}`)),j.bindDescriptor(t,{locator:j.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=pS(t.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let c=VC(t,{parentLocator:n,path:a,hash:"",protocol:ts}),f=await hS(c,s.fetchOptions),p=Ln.makeHash(f).slice(0,6);return[VC(t,{parentLocator:n,path:a,hash:p,protocol:ts})]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await Ge.releaseAfterUseAsync(async()=>await _t.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var bat={fetchers:[mS,gS],resolvers:[yS,dS]},Pat=bat;var g9={};Vt(g9,{GithubFetcher:()=>ES,default:()=>kat,githubUtils:()=>JT});qe();Dt();var JT={};Vt(JT,{invalidGithubUrlMessage:()=>Bme,isGithubUrl:()=>p9,parseGithubUrl:()=>h9});var Cme=et(Ie("querystring")),wme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function p9(e){return e?wme.some(t=>!!e.match(t)):!1}function h9(e){let t;for(let f of wme)if(t=e.match(f),t)break;if(!t)throw new Error(Bme(e));let[,r,s,a,n="master"]=t,{commit:c}=Cme.default.parse(n);return n=c||n.replace(/[^:]*:/,""),{auth:r,username:s,reponame:a,treeish:n}}function Bme(e){return`Input cannot be parsed as a valid GitHub URL ('${e}').`}var ES=class{supports(t,r){return!!p9(t.reference)}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),checksum:c}}async fetchFromNetwork(t,r){let s=await nn.get(this.getLocatorUrl(t,r),{configuration:r.project.configuration});return await le.mktempPromise(async a=>{let n=new bn(a);await ds.extractArchiveTo(s,n,{stripComponents:1});let c=La.splitRepoUrl(t.reference),f=J.join(a,"package.tgz");await Cn.prepareExternalProject(a,f,{configuration:r.project.configuration,report:r.report,workspace:c.extra.workspace,locator:t});let p=await le.readFilePromise(f);return await ds.convertToZip(p,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(t),stripComponents:1})})}getLocatorUrl(t,r){let{auth:s,username:a,reponame:n,treeish:c}=h9(t.reference);return`https://${s?`${s}@`:""}github.com/${a}/${n}/archive/${c}.tar.gz`}};var xat={hooks:{async fetchHostedRepository(e,t,r){if(e!==null)return e;let s=new ES;if(!s.supports(t,r))return null;try{return await s.fetch(t,r)}catch{return null}}}},kat=xat;var d9={};Vt(d9,{TarballHttpFetcher:()=>CS,TarballHttpResolver:()=>wS,default:()=>Rat});qe();function IS(e){let t;try{t=new URL(e)}catch{return!1}return!(t.protocol!=="http:"&&t.protocol!=="https:"||!t.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var CS=class{supports(t,r){return IS(t.reference)}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),checksum:c}}async fetchFromNetwork(t,r){let s=await nn.get(t.reference,{configuration:r.project.configuration});return await ds.convertToZip(s,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(t),stripComponents:1})}};qe();qe();var wS=class{supportsDescriptor(t,r){return IS(t.range)}supportsLocator(t,r){return IS(t.reference)}shouldPersistResolution(t,r){return!0}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){return[j.convertDescriptorToLocator(t)]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await Ge.releaseAfterUseAsync(async()=>await _t.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Qat={fetchers:[CS],resolvers:[wS]},Rat=Qat;var m9={};Vt(m9,{InitCommand:()=>J0,InitInitializerCommand:()=>JC,default:()=>Fat});Yt();qe();qe();Dt();Yt();var J0=class extends At{constructor(){super(...arguments);this.private=he.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=he.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=he.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=he.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=he.Boolean("-2",!1,{hidden:!0});this.yes=he.Boolean("-y,--yes",{hidden:!0})}static{this.paths=[["init"]]}static{this.usage=at.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return s!==null?await this.executeProxy(r,s):await this.executeRegular(r)}async executeProxy(r,s){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new it("Cannot use the --install flag from within a project subdirectory");le.existsSync(this.context.cwd)||await le.mkdirPromise(this.context.cwd,{recursive:!0});let a=J.join(this.context.cwd,Er.lockfile);le.existsSync(a)||await le.writeFilePromise(a,"");let n=await this.cli.run(["set","version",s],{quiet:!0});if(n!==0)return n;let c=[];return this.private&&c.push("-p"),this.workspace&&c.push("-w"),this.name&&c.push(`-n=${this.name}`),this.yes&&c.push("-y"),await le.mktempPromise(async f=>{let{code:p}=await qr.pipevp("yarn",["init",...c],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Cn.makeScriptEnv({binFolder:f})});return p})}async initialize(){}async executeRegular(r){let s=null;try{s=(await Rt.find(r,this.context.cwd)).project}catch{s=null}le.existsSync(this.context.cwd)||await le.mkdirPromise(this.context.cwd,{recursive:!0});let a=await _t.tryFind(this.context.cwd),n=a??new _t,c=Object.fromEntries(r.get("initFields").entries());n.load(c),n.name=n.name??j.makeIdent(r.get("initScope"),this.name??J.basename(this.context.cwd)),n.packageManager=An&&Ge.isTaggedYarnVersion(An)?`yarn@${An}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await le.mkdirPromise(J.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let f={};n.exportTo(f);let p=J.join(this.context.cwd,_t.fileName);await le.changeFilePromise(p,`${JSON.stringify(f,null,2)} +`,{automaticNewlines:!0});let h=[p],E=J.join(this.context.cwd,"README.md");if(le.existsSync(E)||(await le.writeFilePromise(E,`# ${j.stringifyIdent(n.name)} +`),h.push(E)),!s||s.cwd===this.context.cwd){let C=J.join(this.context.cwd,Er.lockfile);le.existsSync(C)||(await le.writeFilePromise(C,""),h.push(C));let x=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Whether you use PnP or not, the node_modules folder is often used to store","# build artifacts that should be gitignored","node_modules","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(ue=>`${ue} +`).join(""),I=J.join(this.context.cwd,".gitignore");le.existsSync(I)||(await le.writeFilePromise(I,x),h.push(I));let O=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(ue=>`${ue} +`).join(""),U=J.join(this.context.cwd,".gitattributes");le.existsSync(U)||(await le.writeFilePromise(U,O),h.push(U));let V={"*":{charset:"utf-8",endOfLine:"lf",indentSize:2,indentStyle:"space",insertFinalNewline:!0}};Ge.mergeIntoTarget(V,r.get("initEditorConfig"));let te=`root = true +`;for(let[ue,ae]of Object.entries(V)){te+=` +[${ue}] +`;for(let[de,Ae]of Object.entries(ae)){let Ce=de.replace(/[A-Z]/g,Ee=>`_${Ee.toLowerCase()}`);te+=`${Ce} = ${Ae} +`}}let ie=J.join(this.context.cwd,".editorconfig");le.existsSync(ie)||(await le.writeFilePromise(ie,te),h.push(ie)),await this.cli.run(["install"],{quiet:!0}),await this.initialize(),le.existsSync(J.join(this.context.cwd,".git"))||(await qr.execvp("git",["init"],{cwd:this.context.cwd}),await qr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await qr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};var JC=class extends J0{constructor(){super(...arguments);this.initializer=he.String();this.argv=he.Proxy()}static{this.paths=[["init"]]}async initialize(){this.context.stdout.write(` +`),await this.cli.run(["dlx",this.initializer,...this.argv],{quiet:!0})}};var Tat={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[J0,JC]},Fat=Tat;var hW={};Vt(hW,{SearchCommand:()=>Aw,UpgradeInteractiveCommand:()=>pw,default:()=>qpt});qe();var Sme=et(Ie("os"));function KC({stdout:e}){if(Sme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!e.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}Yt();var Lye=et(N9()),O9={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},Qct=(0,Lye.default)(O9.appId,O9.apiKey).initIndex(O9.indexName),L9=async(e,t=0)=>await Qct.search(e,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:t,hitsPerPage:10});var CD=["regular","dev","peer"],Aw=class extends At{static{this.paths=[["search"]]}static{this.usage=at.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]})}async execute(){KC(this.context);let{Gem:t}=await Promise.resolve().then(()=>(xF(),nW)),{ScrollableItems:r}=await Promise.resolve().then(()=>(TF(),RF)),{useKeypress:s}=await Promise.resolve().then(()=>(fw(),iW)),{useMinistore:a}=await Promise.resolve().then(()=>(cW(),lW)),{renderForm:n}=await Promise.resolve().then(()=>(LF(),OF)),{default:c}=await Promise.resolve().then(()=>et(wwe())),{Box:f,Text:p}=await Promise.resolve().then(()=>et(qc())),{default:h,useEffect:E,useState:C}=await Promise.resolve().then(()=>et(gn())),S=await ze.find(this.context.cwd,this.context.plugins),x=()=>h.createElement(f,{flexDirection:"row"},h.createElement(f,{flexDirection:"column",width:48},h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move between packages.")),h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select a package.")),h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," again to change the target."))),h.createElement(f,{flexDirection:"column"},h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),I=()=>h.createElement(h.Fragment,null,h.createElement(f,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(f,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(f,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),T=()=>h.createElement(f,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),O=({hit:Ae,active:Ce})=>{let[Ee,g]=a(Ae.name,null);s({active:Ce},(me,ce)=>{if(ce.name!=="space")return;if(!Ee){g(CD[0]);return}let Z=CD.indexOf(Ee)+1;Z===CD.length?g(null):g(CD[Z])},[Ee,g]);let Se=j.parseIdent(Ae.name),Be=j.prettyIdent(S,Se);return h.createElement(f,null,h.createElement(f,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Be)),h.createElement(f,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},Ae.owner.name)),h.createElement(f,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},Ae.version)),h.createElement(f,{width:16,marginLeft:1},h.createElement(p,null,Ae.humanDownloadsLast30Days)))},U=({name:Ae,active:Ce})=>{let[Ee]=a(Ae,null),g=j.parseIdent(Ae);return h.createElement(f,null,h.createElement(f,{width:47},h.createElement(p,{bold:!0}," - ",j.prettyIdent(S,g))),CD.map(Se=>h.createElement(f,{key:Se,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(t,{active:Ee===Se})," ",h.createElement(p,{bold:!0},Se)))))},V=()=>h.createElement(f,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),ie=await n(({useSubmit:Ae})=>{let Ce=a();Ae(Ce);let Ee=Array.from(Ce.keys()).filter(_=>Ce.get(_)!==null),[g,Se]=C(""),[Be,me]=C(0),[ce,Z]=C([]),De=_=>{_.match(/\t| /)||Se(_)},Qe=async()=>{me(0);let _=await L9(g);_.query===g&&Z(_.hits)},st=async()=>{let _=await L9(g,Be+1);_.query===g&&_.page-1===Be&&(me(_.page),Z([...ce,..._.hits]))};return E(()=>{g?Qe():Z([])},[g]),h.createElement(f,{flexDirection:"column"},h.createElement(x,null),h.createElement(f,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(f,{width:41},h.createElement(c,{value:g,onChange:De,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(I,null)),ce.length?h.createElement(r,{radius:2,loop:!1,children:ce.map(_=>h.createElement(O,{key:_.name,hit:_,active:!1})),willReachEnd:st}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(f,{flexDirection:"row",marginTop:1},h.createElement(f,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(T,null)),Ee.length?Ee.map(_=>h.createElement(U,{key:_,name:_,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(V,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ie>"u")return 1;let ue=Array.from(ie.keys()).filter(Ae=>ie.get(Ae)==="regular"),ae=Array.from(ie.keys()).filter(Ae=>ie.get(Ae)==="dev"),de=Array.from(ie.keys()).filter(Ae=>ie.get(Ae)==="peer");return ue.length&&await this.cli.run(["add",...ue]),ae.length&&await this.cli.run(["add","--dev",...ae]),de&&await this.cli.run(["add","--peer",...de]),0}};qe();Yt();AG();var xwe=et(pi());Al();var Pwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/;function kwe(e,t){return e.length>0?[e.slice(0,t)].concat(kwe(e.slice(t),t)):[]}var pw=class extends At{constructor(){super(...arguments);this.mode=he.String("--mode",{description:"Change what artifacts installs generate",validator:ks(Oa)})}static{this.paths=[["upgrade-interactive"]]}static{this.usage=at.Usage({category:"Interactive commands",description:"open the upgrade interface",details:"\n This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Open the upgrade window","yarn upgrade-interactive"]]})}async execute(){KC(this.context);let{ItemOptions:r}=await Promise.resolve().then(()=>(bwe(),Dwe)),{Pad:s}=await Promise.resolve().then(()=>(pW(),Swe)),{ScrollableItems:a}=await Promise.resolve().then(()=>(TF(),RF)),{useMinistore:n,useMinistoreSetAll:c}=await Promise.resolve().then(()=>(cW(),lW)),{useKeypress:f}=await Promise.resolve().then(()=>(fw(),iW)),{renderForm:p}=await Promise.resolve().then(()=>(LF(),OF)),{Box:h,Text:E}=await Promise.resolve().then(()=>et(qc())),{default:C,useCallback:S,useEffect:x,useRef:I,useState:T}=await Promise.resolve().then(()=>et(gn())),O=await ze.find(this.context.cwd,this.context.plugins),{project:U,workspace:V}=await Rt.find(O,this.context.cwd),te=await Kr.find(O);if(!V)throw new ar(U.cwd,this.context.cwd);await U.restoreInstallState({restoreResolutions:!1});let ie=this.context.stdout.rows-8,ue=(Z,De)=>{let Qe=l0e(Z,De),st="";for(let _ of Qe)_.added?st+=pe.pretty(O,_.value,"green"):_.removed||(st+=_.value);return st},ae=(Z,De)=>{if(Z===De)return De;let Qe=j.parseRange(Z),st=j.parseRange(De),_=Qe.selector.match(Pwe),tt=st.selector.match(Pwe);if(!_||!tt)return ue(Z,De);let Ne=["gray","red","yellow","green","magenta"],ke=null,be="";for(let je=1;je{let st=await ef.fetchDescriptorFrom(Z,Qe,{project:U,cache:te,preserveModifier:De,workspace:V});return st!==null?st.range:Z.range},Ae=async Z=>{let De=xwe.default.valid(Z.range)?`^${Z.range}`:Z.range,[Qe,st]=await Promise.all([de(Z,Z.range,De).catch(()=>null),de(Z,Z.range,"latest").catch(()=>null)]),_=[{value:null,label:Z.range}];return Qe&&Qe!==Z.range?_.push({value:Qe,label:ae(Z.range,Qe)}):_.push({value:null,label:""}),st&&st!==Qe&&st!==Z.range?_.push({value:st,label:ae(Z.range,st)}):_.push({value:null,label:""}),_},Ce=()=>C.createElement(h,{flexDirection:"row"},C.createElement(h,{flexDirection:"column",width:49},C.createElement(h,{marginLeft:1},C.createElement(E,null,"Press ",C.createElement(E,{bold:!0,color:"cyanBright"},""),"/",C.createElement(E,{bold:!0,color:"cyanBright"},"")," to select packages.")),C.createElement(h,{marginLeft:1},C.createElement(E,null,"Press ",C.createElement(E,{bold:!0,color:"cyanBright"},""),"/",C.createElement(E,{bold:!0,color:"cyanBright"},"")," to select versions.")),C.createElement(h,{marginLeft:1},C.createElement(E,null,"Press ",C.createElement(E,{bold:!0,color:"cyanBright"},"c"),"/",C.createElement(E,{bold:!0,color:"cyanBright"},"r"),"/",C.createElement(E,{bold:!0,color:"cyanBright"},"l")," to select all ",C.createElement(E,{bold:!0,color:"cyanBright"},"current"),"/",C.createElement(E,{bold:!0,color:"cyanBright"},"range"),"/",C.createElement(E,{bold:!0,color:"cyanBright"},"latest"),"."))),C.createElement(h,{flexDirection:"column"},C.createElement(h,{marginLeft:1},C.createElement(E,null,"Press ",C.createElement(E,{bold:!0,color:"cyanBright"},"")," to install.")),C.createElement(h,{marginLeft:1},C.createElement(E,null,"Press ",C.createElement(E,{bold:!0,color:"cyanBright"},"")," to abort.")))),Ee=()=>C.createElement(h,{flexDirection:"row",paddingTop:1,paddingBottom:1},C.createElement(h,{width:50},C.createElement(E,{bold:!0},C.createElement(E,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),C.createElement(h,{width:17},C.createElement(E,{bold:!0,underline:!0,color:"gray"},"Current")),C.createElement(h,{width:17},C.createElement(E,{bold:!0,underline:!0,color:"gray"},"Range")),C.createElement(h,{width:17},C.createElement(E,{bold:!0,underline:!0,color:"gray"},"Latest"))),g=({active:Z,descriptor:De,suggestions:Qe})=>{let[st,_]=n(De.descriptorHash,null),tt=j.stringifyIdent(De),Ne=Math.max(0,45-tt.length);return C.createElement(C.Fragment,null,C.createElement(h,null,C.createElement(h,{width:45},C.createElement(E,{bold:!0},j.prettyIdent(O,De)),C.createElement(s,{active:Z,length:Ne})),C.createElement(r,{active:Z,options:Qe,value:st,skewer:!0,onChange:_,sizes:[17,17,17]})))},Se=({dependencies:Z})=>{let De=c(),[Qe,st]=T(Z.map(()=>null)),_=I(!0),tt=async ke=>{let be=await Ae(ke);return be.filter(je=>je.label!=="").length<=1?null:{descriptor:ke,suggestions:be}};x(()=>()=>{_.current=!1},[]),x(()=>{let ke=Math.trunc(ie*1.75),be=Z.slice(0,ke),je=Z.slice(ke),Re=kwe(je,ie),ct=be.map(tt).reduce(async(Me,P)=>{await Me;let w=await P;w!==null&&_.current&&st(b=>{let y=b.findIndex(z=>z===null),F=[...b];return F[y]=w,F})},Promise.resolve());Re.reduce((Me,P)=>Promise.all(P.map(w=>Promise.resolve().then(()=>tt(w)))).then(async w=>{w=w.filter(b=>b!==null),await Me,_.current&&st(b=>{let y=b.findIndex(F=>F===null);return b.slice(0,y).concat(w).concat(b.slice(y+w.length))})}),ct).then(()=>{_.current&&st(Me=>Me.filter(P=>P!==null))})},[]);let Ne=S(ke=>{if(ke!=="c"&&ke!=="r"&&ke!=="l")return;let be=[];for(let je of Qe){if(je===null)continue;let Re;ke==="c"?Re=null:ke==="r"?Re=je.suggestions[1].value:Re=je.suggestions[2].value??je.suggestions[1].value,be.push([je.descriptor.descriptorHash,Re])}De(be)},[Qe,De]);return f({active:!0},Ne,[Ne]),Qe.length?C.createElement(a,{radius:ie>>1,children:Qe.map((ke,be)=>ke!==null?C.createElement(g,{key:be,active:!1,descriptor:ke.descriptor,suggestions:ke.suggestions}):C.createElement(E,{key:be},"Loading..."))}):C.createElement(E,null,"No upgrades found")},me=await p(({useSubmit:Z})=>{Z(n());let De=new Map;for(let st of U.workspaces)for(let _ of["dependencies","devDependencies"])for(let tt of st.manifest[_].values())U.tryWorkspaceByDescriptor(tt)===null&&(tt.range.startsWith("link:")||De.set(tt.descriptorHash,tt));let Qe=Ge.sortMap(De.values(),st=>j.stringifyDescriptor(st));return C.createElement(h,{flexDirection:"column"},C.createElement(Ce,null),C.createElement(Ee,null),C.createElement(Se,{dependencies:Qe}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof me>"u")return 1;let ce=!1;for(let Z of U.workspaces)for(let De of["dependencies","devDependencies"]){let Qe=Z.manifest[De];for(let st of Qe.values()){let _=me.get(st.descriptorHash);typeof _<"u"&&_!==null&&(Qe.set(st.identHash,j.makeDescriptor(st,_)),ce=!0)}}return ce?await U.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:te,mode:this.mode}):0}};var Gpt={commands:[Aw,pw]},qpt=Gpt;var dW={};Vt(dW,{default:()=>Jpt});qe();var BD="jsr:";qe();qe();function hw(e){let t=e.range.slice(4);if(kr.validRange(t))return j.makeDescriptor(e,`npm:${j.stringifyIdent(j.wrapIdentIntoScope(e,"jsr"))}@${t}`);let r=j.tryParseDescriptor(t,!0);if(r!==null)return j.makeDescriptor(e,`npm:${j.stringifyIdent(j.wrapIdentIntoScope(r,"jsr"))}@${r.range}`);throw new Error(`Invalid range: ${e.range}`)}function gw(e){return j.makeLocator(j.wrapIdentIntoScope(e,"jsr"),`npm:${e.reference.slice(4)}`)}function gW(e){return j.makeLocator(j.unwrapIdentFromScope(e,"jsr"),`jsr:${e.reference.slice(4)}`)}var MF=class{supports(t,r){return t.reference.startsWith(BD)}getLocalPath(t,r){let s=gw(t);return r.fetcher.getLocalPath(s,r)}fetch(t,r){let s=gw(t);return r.fetcher.fetch(s,r)}};var UF=class{supportsDescriptor(t,r){return!!t.range.startsWith(BD)}supportsLocator(t,r){return!!t.reference.startsWith(BD)}shouldPersistResolution(t,r){let s=gw(t);return r.resolver.shouldPersistResolution(s,r)}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{inner:hw(t)}}async getCandidates(t,r,s){let a=s.project.configuration.normalizeDependency(hw(t));return(await s.resolver.getCandidates(a,r,s)).map(c=>gW(c))}async getSatisfying(t,r,s,a){let n=a.project.configuration.normalizeDependency(hw(t));return a.resolver.getSatisfying(n,r,s,a)}async resolve(t,r){let s=gw(t),a=await r.resolver.resolve(s,r);return{...a,...gW(a)}}};var Wpt=["dependencies","devDependencies","peerDependencies"];function Ypt(e,t){for(let r of Wpt)for(let s of e.manifest.getForScope(r).values()){if(!s.range.startsWith("jsr:"))continue;let a=hw(s),n=r==="dependencies"?j.makeDescriptor(s,"unknown"):null,c=n!==null&&e.manifest.ensureDependencyMeta(n).optional?"optionalDependencies":r;t[c][j.stringifyIdent(s)]=a.range}}var Vpt={hooks:{beforeWorkspacePacking:Ypt},resolvers:[UF],fetchers:[MF]},Jpt=Vpt;var mW={};Vt(mW,{LinkFetcher:()=>vD,LinkResolver:()=>SD,PortalFetcher:()=>DD,PortalResolver:()=>bD,default:()=>zpt});qe();Dt();var rh="portal:",nh="link:";var vD=class{supports(t,r){return!!t.reference.startsWith(nh)}getLocalPath(t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(t.reference,{protocol:nh});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(t.reference,{protocol:nh}),n=J.isAbsolute(a)?{packageFs:new bn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(s,r),c=n.localPath?{packageFs:new bn(vt.root),prefixPath:J.relative(vt.root,n.localPath),localPath:vt.root}:n;n!==c&&n.releaseFs&&n.releaseFs();let f=c.packageFs,p=J.resolve(c.localPath??c.packageFs.getRealPath(),c.prefixPath,a);return n.localPath?{packageFs:new bn(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new qf(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot,discardFromLookup:!0}}};qe();Dt();var SD=class{supportsDescriptor(t,r){return!!t.range.startsWith(nh)}supportsLocator(t,r){return!!t.reference.startsWith(nh)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){return j.bindDescriptor(t,{locator:j.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){let a=t.range.slice(nh.length);return[j.makeLocator(t,`${nh}${fe.toPortablePath(a)}`)]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){return{...t,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};qe();Dt();var DD=class{supports(t,r){return!!t.reference.startsWith(rh)}getLocalPath(t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(t.reference,{protocol:rh});if(J.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(s,r);return n===null?null:J.resolve(n,a)}async fetch(t,r){let{parentLocator:s,path:a}=j.parseFileStyleRange(t.reference,{protocol:rh}),n=J.isAbsolute(a)?{packageFs:new bn(vt.root),prefixPath:vt.dot,localPath:vt.root}:await r.fetcher.fetch(s,r),c=n.localPath?{packageFs:new bn(vt.root),prefixPath:J.relative(vt.root,n.localPath),localPath:vt.root}:n;n!==c&&n.releaseFs&&n.releaseFs();let f=c.packageFs,p=J.resolve(c.localPath??c.packageFs.getRealPath(),c.prefixPath,a);return n.localPath?{packageFs:new bn(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot,localPath:p}:{packageFs:new qf(p,{baseFs:f}),releaseFs:c.releaseFs,prefixPath:vt.dot}}};qe();qe();Dt();var bD=class{supportsDescriptor(t,r){return!!t.range.startsWith(rh)}supportsLocator(t,r){return!!t.reference.startsWith(rh)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){return j.bindDescriptor(t,{locator:j.stringifyLocator(r)})}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){let a=t.range.slice(rh.length);return[j.makeLocator(t,`${rh}${fe.toPortablePath(a)}`)]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let s=await r.fetchOptions.fetcher.fetch(t,r.fetchOptions),a=await Ge.releaseAfterUseAsync(async()=>await _t.find(s.prefixPath,{baseFs:s.packageFs}),s.releaseFs);return{...t,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Kpt={fetchers:[vD,DD],resolvers:[SD,bD]},zpt=Kpt;var rY={};Vt(rY,{NodeModulesLinker:()=>jD,NodeModulesMode:()=>ZW,PnpLooseLinker:()=>GD,default:()=>g0t});Dt();qe();Dt();Dt();var EW=(e,t)=>`${e}@${t}`,Qwe=(e,t)=>{let r=t.indexOf("#"),s=r>=0?t.substring(r+1):t;return EW(e,s)};var Twe=(e,t={})=>{let r=t.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),s=t.check||r>=9,a=t.hoistingLimits||new Map,n={check:s,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},c;n.debugLevel>=0&&(c=Date.now());let f=nht(e,n),p=!1,h=0;do{let E=IW(f,[f],new Set([f.locator]),new Map,n);p=E.anotherRoundNeeded||E.isGraphChanged,n.fastLookupPossible=!1,h++}while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-c}ms, rounds: ${h}`),n.debugLevel>=1){let E=PD(f);if(IW(f,[f],new Set([f.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${E}, next tree: +${PD(f)}`);let S=Fwe(f);if(S)throw new Error(`${S}, after hoisting finished: +${PD(f)}`)}return n.debugLevel>=2&&console.log(PD(f)),iht(f)},Xpt=e=>{let t=e[e.length-1],r=new Map,s=new Set,a=n=>{if(!s.has(n)){s.add(n);for(let c of n.hoistedDependencies.values())r.set(c.name,c);for(let c of n.dependencies.values())n.peerNames.has(c.name)||a(c)}};return a(t),r},Zpt=e=>{let t=e[e.length-1],r=new Map,s=new Set,a=new Set,n=(c,f)=>{if(s.has(c))return;s.add(c);for(let h of c.hoistedDependencies.values())if(!f.has(h.name)){let E;for(let C of e)E=C.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of c.dependencies.values())p.add(h.name);for(let h of c.dependencies.values())c.peerNames.has(h.name)||n(h,p)};return n(t,a),r},Rwe=(e,t)=>{if(t.decoupled)return t;let{name:r,references:s,ident:a,locator:n,dependencies:c,originalDependencies:f,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:C,hoistPriority:S,dependencyKind:x,hoistedFrom:I,hoistedTo:T}=t,O={name:r,references:new Set(s),ident:a,locator:n,dependencies:new Map(c),originalDependencies:new Map(f),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:C,hoistPriority:S,dependencyKind:x,hoistedFrom:new Map(I),hoistedTo:new Map(T)},U=O.dependencies.get(r);return U&&U.ident==O.ident&&O.dependencies.set(r,O),e.dependencies.set(O.name,O),O},$pt=(e,t)=>{let r=new Map([[e.name,[e.ident]]]);for(let a of e.dependencies.values())e.peerNames.has(a.name)||r.set(a.name,[a.ident]);let s=Array.from(t.keys());s.sort((a,n)=>{let c=t.get(a),f=t.get(n);if(f.hoistPriority!==c.hoistPriority)return f.hoistPriority-c.hoistPriority;{let p=c.dependents.size+c.peerDependents.size;return f.dependents.size+f.peerDependents.size-p}});for(let a of s){let n=a.substring(0,a.indexOf("@",1)),c=a.substring(n.length+1);if(!e.peerNames.has(n)){let f=r.get(n);f||(f=[],r.set(n,f)),f.indexOf(c)<0&&f.push(c)}}return r},yW=e=>{let t=new Set,r=(s,a=new Set)=>{if(!a.has(s)){a.add(s);for(let n of s.peerNames)if(!e.peerNames.has(n)){let c=e.dependencies.get(n);c&&!t.has(c)&&r(c,a)}t.add(s)}};for(let s of e.dependencies.values())e.peerNames.has(s.name)||r(s);return t},IW=(e,t,r,s,a,n=new Set)=>{let c=t[t.length-1];if(n.has(c))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(c);let f=sht(c),p=$pt(c,f),h=e==c?new Map:a.fastLookupPossible?Xpt(t):Zpt(t),E,C=!1,S=!1,x=new Map(Array.from(p.entries()).map(([T,O])=>[T,O[0]])),I=new Map;do{let T=rht(e,t,r,h,x,p,s,I,a);T.isGraphChanged&&(S=!0),T.anotherRoundNeeded&&(C=!0),E=!1;for(let[O,U]of p)U.length>1&&!c.dependencies.has(O)&&(x.delete(O),U.shift(),x.set(O,U[0]),E=!0)}while(E);for(let T of c.dependencies.values())if(!c.peerNames.has(T.name)&&!r.has(T.locator)){r.add(T.locator);let O=IW(e,[...t,T],r,I,a);O.isGraphChanged&&(S=!0),O.anotherRoundNeeded&&(C=!0),r.delete(T.locator)}return{anotherRoundNeeded:C,isGraphChanged:S}},eht=e=>{for(let[t,r]of e.dependencies)if(!e.peerNames.has(t)&&r.ident!==e.ident)return!0;return!1},tht=(e,t,r,s,a,n,c,f,{outputReason:p,fastLookupPossible:h})=>{let E,C=null,S=new Set;p&&(E=`${Array.from(t).map(O=>Bo(O)).join("\u2192")}`);let x=r[r.length-1],T=!(s.ident===x.ident);if(p&&!T&&(C="- self-reference"),T&&(T=s.dependencyKind!==1,p&&!T&&(C="- workspace")),T&&s.dependencyKind===2&&(T=!eht(s),p&&!T&&(C="- external soft link with unhoisted dependencies")),T&&(T=!e.peerNames.has(s.name),p&&!T&&(C=`- cannot shadow peer: ${Bo(e.originalDependencies.get(s.name).locator)} at ${E}`)),T){let O=!1,U=a.get(s.name);if(O=!U||U.ident===s.ident,p&&!O&&(C=`- filled by: ${Bo(U.locator)} at ${E}`),O)for(let V=r.length-1;V>=1;V--){let ie=r[V].dependencies.get(s.name);if(ie&&ie.ident!==s.ident){O=!1;let ue=f.get(x);ue||(ue=new Set,f.set(x,ue)),ue.add(s.name),p&&(C=`- filled by ${Bo(ie.locator)} at ${r.slice(0,V).map(ae=>Bo(ae.locator)).join("\u2192")}`);break}}T=O}if(T&&(T=n.get(s.name)===s.ident,p&&!T&&(C=`- filled by: ${Bo(c.get(s.name)[0])} at ${E}`)),T){let O=!0,U=new Set(s.peerNames);for(let V=r.length-1;V>=1;V--){let te=r[V];for(let ie of U){if(te.peerNames.has(ie)&&te.originalDependencies.has(ie))continue;let ue=te.dependencies.get(ie);ue&&e.dependencies.get(ie)!==ue&&(V===r.length-1?S.add(ue):(S=null,O=!1,p&&(C=`- peer dependency ${Bo(ue.locator)} from parent ${Bo(te.locator)} was not hoisted to ${E}`))),U.delete(ie)}if(!O)break}T=O}if(T&&!h)for(let O of s.hoistedDependencies.values()){let U=a.get(O.name)||e.dependencies.get(O.name);if(!U||O.ident!==U.ident){T=!1,p&&(C=`- previously hoisted dependency mismatch, needed: ${Bo(O.locator)}, available: ${Bo(U?.locator)}`);break}}return S!==null&&S.size>0?{isHoistable:2,dependsOn:S,reason:C}:{isHoistable:T?0:1,reason:C}},_F=e=>`${e.name}@${e.locator}`,rht=(e,t,r,s,a,n,c,f,p)=>{let h=t[t.length-1],E=new Set,C=!1,S=!1,x=(U,V,te,ie,ue)=>{if(E.has(ie))return;let ae=[...V,_F(ie)],de=[...te,_F(ie)],Ae=new Map,Ce=new Map;for(let me of yW(ie)){let ce=tht(h,r,[h,...U,ie],me,s,a,n,f,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(Ce.set(me,ce),ce.isHoistable===2)for(let Z of ce.dependsOn){let De=Ae.get(Z.name)||new Set;De.add(me.name),Ae.set(Z.name,De)}}let Ee=new Set,g=(me,ce,Z)=>{if(!Ee.has(me)){Ee.add(me),Ce.set(me,{isHoistable:1,reason:Z});for(let De of Ae.get(me.name)||[])g(ie.dependencies.get(De),ce,p.debugLevel>=2?`- peer dependency ${Bo(me.locator)} from parent ${Bo(ie.locator)} was not hoisted`:"")}};for(let[me,ce]of Ce)ce.isHoistable===1&&g(me,ce,ce.reason);let Se=!1;for(let me of Ce.keys())if(!Ee.has(me)){S=!0;let ce=c.get(ie);ce&&ce.has(me.name)&&(C=!0),Se=!0,ie.dependencies.delete(me.name),ie.hoistedDependencies.set(me.name,me),ie.reasons.delete(me.name);let Z=h.dependencies.get(me.name);if(p.debugLevel>=2){let De=Array.from(V).concat([ie.locator]).map(st=>Bo(st)).join("\u2192"),Qe=h.hoistedFrom.get(me.name);Qe||(Qe=[],h.hoistedFrom.set(me.name,Qe)),Qe.push(De),ie.hoistedTo.set(me.name,Array.from(t).map(st=>Bo(st.locator)).join("\u2192"))}if(!Z)h.ident!==me.ident&&(h.dependencies.set(me.name,me),ue.add(me));else for(let De of me.references)Z.references.add(De)}if(ie.dependencyKind===2&&Se&&(C=!0),p.check){let me=Fwe(e);if(me)throw new Error(`${me}, after hoisting dependencies of ${[h,...U,ie].map(ce=>Bo(ce.locator)).join("\u2192")}: +${PD(e)}`)}let Be=yW(ie);for(let me of Be)if(Ee.has(me)){let ce=Ce.get(me);if((a.get(me.name)===me.ident||!ie.reasons.has(me.name))&&ce.isHoistable!==0&&ie.reasons.set(me.name,ce.reason),!me.isHoistBorder&&de.indexOf(_F(me))<0){E.add(ie);let De=Rwe(ie,me);x([...U,ie],ae,de,De,T),E.delete(ie)}}},I,T=new Set(yW(h)),O=Array.from(t).map(U=>_F(U));do{I=T,T=new Set;for(let U of I){if(U.locator===h.locator||U.isHoistBorder)continue;let V=Rwe(h,U);x([],Array.from(r),O,V,T)}}while(T.size>0);return{anotherRoundNeeded:C,isGraphChanged:S}},Fwe=e=>{let t=[],r=new Set,s=new Set,a=(n,c,f)=>{if(r.has(n)||(r.add(n),s.has(n)))return;let p=new Map(c);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),C=()=>`${Array.from(s).concat([n]).map(S=>Bo(S.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let S=c.get(h.name);(S!==E||!S||S.ident!==h.ident)&&t.push(`${C()} - broken peer promise: expected ${h.ident} but found ${S&&S.ident}`)}else{let S=f.hoistedFrom.get(n.name),x=n.hoistedTo.get(h.name),I=`${S?` hoisted from ${S.join(", ")}`:""}`,T=`${x?` hoisted to ${x}`:""}`,O=`${C()}${I}`;E?E.ident!==h.ident&&t.push(`${O} - broken require promise for ${h.name}${T}: expected ${h.ident}, but found: ${E.ident}`):t.push(`${O} - broken require promise: no required dependency ${h.name}${T} found`)}}s.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);s.delete(n)};return a(e,e.dependencies,e),t.join(` +`)},nht=(e,t)=>{let{identName:r,name:s,reference:a,peerNames:n}=e,c={name:s,references:new Set([a]),locator:EW(r,a),ident:Qwe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},f=new Map([[e,c]]),p=(h,E)=>{let C=f.get(h),S=!!C;if(!C){let{name:x,identName:I,reference:T,peerNames:O,hoistPriority:U,dependencyKind:V}=h,te=t.hoistingLimits.get(E.locator);C={name:x,references:new Set([T]),locator:EW(I,T),ident:Qwe(I,T),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(O),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(x):!1,hoistPriority:U||0,dependencyKind:V||0,hoistedFrom:new Map,hoistedTo:new Map},f.set(h,C)}if(E.dependencies.set(h.name,C),E.originalDependencies.set(h.name,C),S){let x=new Set,I=T=>{if(!x.has(T)){x.add(T),T.decoupled=!1;for(let O of T.dependencies.values())T.peerNames.has(O.name)||I(O)}};I(C)}else for(let x of h.dependencies)p(x,C)};for(let h of e.dependencies)p(h,c);return c},CW=e=>e.substring(0,e.indexOf("@",1)),iht=e=>{let t={name:e.name,identName:CW(e.locator),references:new Set(e.references),dependencies:new Set},r=new Set([e]),s=(a,n,c)=>{let f=r.has(a),p;if(n===a)p=c;else{let{name:h,references:E,locator:C}=a;p={name:h,identName:CW(C),references:E,dependencies:new Set}}if(c.dependencies.add(p),!f){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||s(h,a,p);r.delete(a)}};for(let a of e.dependencies.values())s(a,e,t);return t},sht=e=>{let t=new Map,r=new Set([e]),s=c=>`${c.name}@${c.ident}`,a=c=>{let f=s(c),p=t.get(f);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},t.set(f,p)),p},n=(c,f)=>{let p=!!r.has(f);if(a(f).dependents.add(c.ident),!p){r.add(f);for(let E of f.dependencies.values()){let C=a(E);C.hoistPriority=Math.max(C.hoistPriority,E.hoistPriority),f.peerNames.has(E.name)?C.peerDependents.add(f.ident):n(f,E)}}};for(let c of e.dependencies.values())e.peerNames.has(c.name)||n(e,c);return t},Bo=e=>{if(!e)return"none";let t=e.indexOf("@",1),r=e.substring(0,t);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let s=e.substring(t+1);if(s==="workspace:.")return".";if(s){let a=(s.indexOf("#")>0?s.split("#")[1]:s).replace("npm:","");return s.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`};var PD=e=>{let t=0,r=(a,n,c="")=>{if(t>5e4||n.has(a))return"";t++;let f=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h":"")+(S!==E.name?`a:${E.name}:`:"")+Bo(E.locator)+(C?` ${C}`:"")} +`,p+=r(E,n,`${c}${h5e4?` +Tree is too large, part of the tree has been dunped +`:"")};var xD=(s=>(s.WORKSPACES="workspaces",s.DEPENDENCIES="dependencies",s.NONE="none",s))(xD||{}),Nwe="node_modules",eg="$wsroot$";var kD=(e,t)=>{let{packageTree:r,hoistingLimits:s,errors:a,preserveSymlinksRequired:n}=aht(e,t),c=null;if(a.length===0){let f=Twe(r,{hoistingLimits:s});c=cht(e,f,t)}return{tree:c,errors:a,preserveSymlinksRequired:n}},gA=e=>`${e.name}@${e.reference}`,BW=e=>{let t=new Map;for(let[r,s]of e.entries())if(!s.dirList){let a=t.get(s.locator);a||(a={target:s.target,linkType:s.linkType,locations:[],aliases:s.aliases},t.set(s.locator,a)),a.locations.push(r)}for(let r of t.values())r.locations=r.locations.sort((s,a)=>{let n=s.split(J.delimiter).length,c=a.split(J.delimiter).length;return a===s?0:n!==c?c-n:a>s?1:-1});return t},Owe=(e,t)=>{let r=j.isVirtualLocator(e)?j.devirtualizeLocator(e):e,s=j.isVirtualLocator(t)?j.devirtualizeLocator(t):t;return j.areLocatorsEqual(r,s)},wW=(e,t,r,s)=>{if(e.linkType!=="SOFT")return!1;let a=fe.toPortablePath(r.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?r.resolveVirtual(e.packageLocation):e.packageLocation);return J.contains(s,a)===null},oht=e=>{let t=e.getPackageInformation(e.topLevel);if(t===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(e.findPackageLocator(t.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let s=fe.toPortablePath(t.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},c=e.getDependencyTreeRoots(),f=new Map,p=new Set,h=(S,x)=>{let I=gA(S);if(p.has(I))return;p.add(I);let T=e.getPackageInformation(S);if(T){let O=x?gA(x):"";if(gA(S)!==O&&T.linkType==="SOFT"&&!S.reference.startsWith("link:")&&!wW(T,S,e,s)){let U=Lwe(T,S,e);(!f.get(U)||S.reference.startsWith("workspace:"))&&f.set(U,S)}for(let[U,V]of T.packageDependencies)V!==null&&(T.packagePeers.has(U)||h(e.getLocator(U,V),S))}};for(let S of c)h(S,null);let E=s.split(J.sep);for(let S of f.values()){let x=e.getPackageInformation(S),T=fe.toPortablePath(x.packageLocation.slice(0,-1)).split(J.sep).slice(E.length),O=n;for(let U of T){let V=O.children.get(U);V||(V={children:new Map},O.children.set(U,V)),O=V}O.workspaceLocator=S}let C=(S,x)=>{if(S.workspaceLocator){let I=gA(x),T=a.get(I);T||(T=new Set,a.set(I,T)),T.add(S.workspaceLocator)}for(let I of S.children.values())C(I,S.workspaceLocator||x)};for(let S of n.children.values())C(S,n.workspaceLocator);return a},aht=(e,t)=>{let r=[],s=!1,a=new Map,n=oht(e),c=e.getPackageInformation(e.topLevel);if(c===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let f=e.findPackageLocator(c.packageLocation);if(f===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=fe.toPortablePath(c.packageLocation.slice(0,-1)),h={name:f.name,identName:f.name,reference:f.reference,peerNames:c.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,C=(x,I)=>`${gA(I)}:${x}`,S=(x,I,T,O,U,V,te,ie)=>{let ue=C(x,T),ae=E.get(ue),de=!!ae;!de&&T.name===f.name&&T.reference===f.reference&&(ae=h,E.set(ue,h));let Ae=wW(I,T,e,p);if(!ae){let me=0;Ae?me=2:I.linkType==="SOFT"&&T.name.endsWith(eg)&&(me=1),ae={name:x,identName:T.name,reference:T.reference,dependencies:new Set,peerNames:me===1?new Set:I.packagePeers,dependencyKind:me},E.set(ue,ae)}let Ce;if(Ae?Ce=2:U.linkType==="SOFT"?Ce=1:Ce=0,ae.hoistPriority=Math.max(ae.hoistPriority||0,Ce),ie&&!Ae){let me=gA({name:O.identName,reference:O.reference}),ce=a.get(me)||new Set;a.set(me,ce),ce.add(ae.name)}let Ee=new Map(I.packageDependencies);if(t.project){let me=t.project.workspacesByCwd.get(fe.toPortablePath(I.packageLocation.slice(0,-1)));if(me){let ce=new Set([...Array.from(me.manifest.peerDependencies.values(),Z=>j.stringifyIdent(Z)),...Array.from(me.manifest.peerDependenciesMeta.keys())]);for(let Z of ce)Ee.has(Z)||(Ee.set(Z,V.get(Z)||null),ae.peerNames.add(Z))}}let g=gA({name:T.name.replace(eg,""),reference:T.reference}),Se=n.get(g);if(Se)for(let me of Se)Ee.set(`${me.name}${eg}`,me.reference);(I!==U||I.linkType!=="SOFT"||!Ae&&(!t.selfReferencesByCwd||t.selfReferencesByCwd.get(te)))&&O.dependencies.add(ae);let Be=T!==f&&I.linkType==="SOFT"&&!T.name.endsWith(eg)&&!Ae;if(!de&&!Be){let me=new Map;for(let[ce,Z]of Ee)if(Z!==null){let De=e.getLocator(ce,Z),Qe=e.getLocator(ce.replace(eg,""),Z),st=e.getPackageInformation(Qe);if(st===null)throw new Error("Assertion failed: Expected the package to have been registered");let _=wW(st,De,e,p);if(t.validateExternalSoftLinks&&t.project&&_){st.packageDependencies.size>0&&(s=!0);for(let[je,Re]of st.packageDependencies)if(Re!==null){let ct=j.parseLocator(Array.isArray(Re)?`${Re[0]}@${Re[1]}`:`${je}@${Re}`);if(gA(ct)!==gA(De)){let Me=Ee.get(je);if(Me){let P=j.parseLocator(Array.isArray(Me)?`${Me[0]}@${Me[1]}`:`${je}@${Me}`);Owe(P,ct)||r.push({messageName:71,text:`Cannot link ${j.prettyIdent(t.project.configuration,j.parseIdent(De.name))} into ${j.prettyLocator(t.project.configuration,j.parseLocator(`${T.name}@${T.reference}`))} dependency ${j.prettyLocator(t.project.configuration,ct)} conflicts with parent dependency ${j.prettyLocator(t.project.configuration,P)}`})}else{let P=me.get(je);if(P){let w=P.target,b=j.parseLocator(Array.isArray(w)?`${w[0]}@${w[1]}`:`${je}@${w}`);Owe(b,ct)||r.push({messageName:71,text:`Cannot link ${j.prettyIdent(t.project.configuration,j.parseIdent(De.name))} into ${j.prettyLocator(t.project.configuration,j.parseLocator(`${T.name}@${T.reference}`))} dependency ${j.prettyLocator(t.project.configuration,ct)} conflicts with dependency ${j.prettyLocator(t.project.configuration,b)} from sibling portal ${j.prettyIdent(t.project.configuration,j.parseIdent(P.portal.name))}`})}else me.set(je,{target:ct.reference,portal:De})}}}}let tt=t.hoistingLimitsByCwd?.get(te),Ne=_?te:J.relative(p,fe.toPortablePath(st.packageLocation))||vt.dot,ke=t.hoistingLimitsByCwd?.get(Ne);S(ce,st,De,ae,I,Ee,Ne,tt==="dependencies"||ke==="dependencies"||ke==="workspaces")}}};return S(f.name,c,f,h,c,c.packageDependencies,vt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:s}};function Lwe(e,t,r){let s=r.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?r.resolveVirtual(e.packageLocation):e.packageLocation;return fe.toPortablePath(s||e.packageLocation)}function lht(e,t,r){let s=t.getLocator(e.name.replace(eg,""),e.reference),a=t.getPackageInformation(s);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:fe.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:Lwe(a,e,t)}}var cht=(e,t,r)=>{let s=new Map,a=(E,C,S)=>{let{linkType:x,target:I}=lht(E,e,r);return{locator:gA(E),nodePath:C,target:I,linkType:x,aliases:S}},n=E=>{let[C,S]=E.split("/");return S?{scope:C,name:S}:{scope:null,name:C}},c=new Set,f=(E,C,S)=>{if(c.has(E))return;c.add(E);let x=Array.from(E.references).sort().join("#");for(let I of E.dependencies){let T=Array.from(I.references).sort().join("#");if(I.identName===E.identName.replace(eg,"")&&T===x)continue;let O=Array.from(I.references).sort(),U={name:I.identName,reference:O[0]},{name:V,scope:te}=n(I.name),ie=te?[te,V]:[V],ue=J.join(C,Nwe),ae=J.join(ue,...ie),de=`${S}/${U.name}`,Ae=a(U,S,O.slice(1)),Ce=!1;if(Ae.linkType==="SOFT"&&r.project){let Ee=r.project.workspacesByCwd.get(Ae.target.slice(0,-1));Ce=!!(Ee&&!Ee.manifest.name)}if(!I.name.endsWith(eg)&&!Ce){let Ee=s.get(ae);if(Ee){if(Ee.dirList)throw new Error(`Assertion failed: ${ae} cannot merge dir node with leaf node`);{let Be=j.parseLocator(Ee.locator),me=j.parseLocator(Ae.locator);if(Ee.linkType!==Ae.linkType)throw new Error(`Assertion failed: ${ae} cannot merge nodes with different link types ${Ee.nodePath}/${j.stringifyLocator(Be)} and ${S}/${j.stringifyLocator(me)}`);if(Be.identHash!==me.identHash)throw new Error(`Assertion failed: ${ae} cannot merge nodes with different idents ${Ee.nodePath}/${j.stringifyLocator(Be)} and ${S}/s${j.stringifyLocator(me)}`);Ae.aliases=[...Ae.aliases,...Ee.aliases,j.parseLocator(Ee.locator).reference]}}s.set(ae,Ae);let g=ae.split("/"),Se=g.indexOf(Nwe);for(let Be=g.length-1;Se>=0&&Be>Se;Be--){let me=fe.toPortablePath(g.slice(0,Be).join(J.sep)),ce=g[Be],Z=s.get(me);if(!Z)s.set(me,{dirList:new Set([ce])});else if(Z.dirList){if(Z.dirList.has(ce))break;Z.dirList.add(ce)}}}f(I,Ae.linkType==="SOFT"?Ae.target:ae,de)}},p=a({name:t.name,reference:Array.from(t.references)[0]},"",[]),h=p.target;return s.set(h,p),f(t,h,""),s};qe();qe();Dt();Dt();nA();vc();var GW={};Vt(GW,{PnpInstaller:()=>Ym,PnpLinker:()=>ng,UnplugCommand:()=>mw,default:()=>Uht,getPnpPath:()=>ig,jsInstallUtils:()=>mA,pnpUtils:()=>HD,quotePathIfNeeded:()=>I1e});Dt();var E1e=Ie("url");qe();qe();Dt();Dt();var Mwe={DEFAULT:{collapsed:!1,next:{"*":"DEFAULT"}},TOP_LEVEL:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA","*":"DEFAULT"}},FALLBACK_EXCLUSION_LIST:{collapsed:!1,next:{"*":"FALLBACK_EXCLUSION_ENTRIES"}},FALLBACK_EXCLUSION_ENTRIES:{collapsed:!0,next:{"*":"FALLBACK_EXCLUSION_DATA"}},FALLBACK_EXCLUSION_DATA:{collapsed:!0,next:{"*":"DEFAULT"}},PACKAGE_REGISTRY_DATA:{collapsed:!1,next:{"*":"PACKAGE_REGISTRY_ENTRIES"}},PACKAGE_REGISTRY_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_STORE_DATA"}},PACKAGE_STORE_DATA:{collapsed:!1,next:{"*":"PACKAGE_STORE_ENTRIES"}},PACKAGE_STORE_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_INFORMATION_DATA"}},PACKAGE_INFORMATION_DATA:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES","*":"DEFAULT"}},PACKAGE_DEPENDENCIES:{collapsed:!1,next:{"*":"PACKAGE_DEPENDENCY"}},PACKAGE_DEPENDENCY:{collapsed:!0,next:{"*":"DEFAULT"}}};function uht(e,t,r){let s="";s+="[";for(let a=0,n=e.length;a"u"||(f!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=HF(p,h,t,r).replace(/^ +/g,""),f+=1)}return a+="}",a}function pht(e,t,r){let s=Object.keys(e),a=`${r} `,n="";n+=r,n+=`{ +`;let c=0;for(let f=0,p=s.length;f"u"||(c!==0&&(n+=",",n+=` +`),n+=a,n+=JSON.stringify(h),n+=": ",n+=HF(h,E,t,a).replace(/^ +/g,""),c+=1)}return c!==0&&(n+=` +`),n+=r,n+="}",n}function HF(e,t,r,s){let{next:a}=Mwe[r],n=a[e]||a["*"];return Uwe(t,n,s)}function Uwe(e,t,r){let{collapsed:s}=Mwe[t];return Array.isArray(e)?s?uht(e,t,r):fht(e,t,r):typeof e=="object"&&e!==null?s?Aht(e,t,r):pht(e,t,r):JSON.stringify(e)}function _we(e){return Uwe(e,"TOP_LEVEL","")}function QD(e,t){let r=Array.from(e);Array.isArray(t)||(t=[t]);let s=[];for(let n of t)s.push(r.map(c=>n(c)));let a=r.map((n,c)=>c);return a.sort((n,c)=>{for(let f of s){let p=f[n]f[c]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function hht(e){let t=new Map,r=QD(e.fallbackExclusionList||[],[({name:s,reference:a})=>s,({name:s,reference:a})=>a]);for(let{name:s,reference:a}of r){let n=t.get(s);typeof n>"u"&&t.set(s,n=new Set),n.add(a)}return Array.from(t).map(([s,a])=>[s,Array.from(a)])}function ght(e){return QD(e.fallbackPool||[],([t])=>t)}function dht(e){let t=[],r=e.dependencyTreeRoots.find(s=>e.packageRegistry.get(s.name)?.get(s.reference)?.packageLocation==="./");for(let[s,a]of QD(e.packageRegistry,([n])=>n===null?"0":`1${n}`)){if(s===null)continue;let n=[];t.push([s,n]);for(let[c,{packageLocation:f,packageDependencies:p,packagePeers:h,linkType:E,discardFromLookup:C}]of QD(a,([S])=>S===null?"0":`1${S}`)){if(c===null)continue;let S=[];s!==null&&c!==null&&!p.has(s)&&S.push([s,c]);for(let[U,V]of p)S.push([U,V]);let x=QD(S,([U])=>U),I=h&&h.size>0?Array.from(h):void 0,O={packageLocation:f,packageDependencies:x,packagePeers:I,linkType:E,discardFromLookup:C||void 0};n.push([c,O]),r&&s===r.name&&c===r.reference&&t.unshift([null,[[null,O]]])}}return t}function RD(e){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback||!1,ignorePatternData:e.ignorePattern||null,pnpZipBackend:e.pnpZipBackend,fallbackExclusionList:hht(e),fallbackPool:ght(e),packageRegistryData:dht(e)}}var Gwe=et(jwe());function qwe(e,t){return[e?`${e} +`:"",`/* eslint-disable */ +`,`// @ts-nocheck +`,`"use strict"; +`,` +`,t,` +`,(0,Gwe.default)()].join("")}function mht(e){return JSON.stringify(e,null,2)}function yht(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function Eht(e){return[`const RAW_RUNTIME_STATE = +`,`${yht(_we(e))}; + +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +`,`} +`].join("")}function Iht(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` const fs = require('fs'); +`,` const path = require('path'); +`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(Er.pnpData)}); +`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); +`,`} +`].join("")}function Wwe(e){let t=RD(e),r=Eht(t);return qwe(e.shebang,r)}function Ywe(e){let t=RD(e),r=Iht(),s=qwe(e.shebang,r);return{dataFile:mht(t),loaderFile:s}}Dt();function SW(e,{basePath:t}){let r=fe.toPortablePath(t),s=J.resolve(r),a=e.ignorePatternData!==null?new RegExp(e.ignorePatternData):null,n=new Map,c=new Map(e.packageRegistryData.map(([C,S])=>[C,new Map(S.map(([x,I])=>{if(C===null!=(x===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let T=I.discardFromLookup??!1,O={name:C,reference:x},U=n.get(I.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&T,T||(U.locator=O)):n.set(I.packageLocation,{locator:O,discardFromLookup:T});let V=null;return[x,{packageDependencies:new Map(I.packageDependencies),packagePeers:new Set(I.packagePeers),linkType:I.linkType,discardFromLookup:T,get packageLocation(){return V||(V=J.join(s,I.packageLocation))}}]}))])),f=new Map(e.fallbackExclusionList.map(([C,S])=>[C,new Set(S)])),p=new Map(e.fallbackPool),h=e.dependencyTreeRoots,E=e.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:f,pnpZipBackend:e.pnpZipBackend,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:c}}Dt();Dt();var ih=Ie("module"),Wm=Ie("url"),OW=Ie("util");var oa=Ie("url");var zwe=et(Ie("assert"));var DW=Array.isArray,TD=JSON.stringify,FD=Object.getOwnPropertyNames,qm=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),bW=(e,t)=>RegExp.prototype.exec.call(e,t),PW=(e,...t)=>RegExp.prototype[Symbol.replace].apply(e,t),tg=(e,...t)=>String.prototype.endsWith.apply(e,t),xW=(e,...t)=>String.prototype.includes.apply(e,t),kW=(e,...t)=>String.prototype.lastIndexOf.apply(e,t),ND=(e,...t)=>String.prototype.indexOf.apply(e,t),Vwe=(e,...t)=>String.prototype.replace.apply(e,t),rg=(e,...t)=>String.prototype.slice.apply(e,t),dA=(e,...t)=>String.prototype.startsWith.apply(e,t),Jwe=Map,Kwe=JSON.parse;function OD(e,t,r){return class extends r{constructor(...s){super(t(...s)),this.code=e,this.name=`${r.name} [${e}]`}}}var Xwe=OD("ERR_PACKAGE_IMPORT_NOT_DEFINED",(e,t,r)=>`Package import specifier "${e}" is not defined${t?` in package ${t}package.json`:""} imported from ${r}`,TypeError),QW=OD("ERR_INVALID_MODULE_SPECIFIER",(e,t,r=void 0)=>`Invalid module "${e}" ${t}${r?` imported from ${r}`:""}`,TypeError),Zwe=OD("ERR_INVALID_PACKAGE_TARGET",(e,t,r,s=!1,a=void 0)=>{let n=typeof r=="string"&&!s&&r.length&&!dA(r,"./");return t==="."?((0,zwe.default)(s===!1),`Invalid "exports" main target ${TD(r)} defined in the package config ${e}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${s?"imports":"exports"}" target ${TD(r)} defined for '${t}' in the package config ${e}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),LD=OD("ERR_INVALID_PACKAGE_CONFIG",(e,t,r)=>`Invalid package config ${e}${t?` while importing ${t}`:""}${r?`. ${r}`:""}`,Error),$we=OD("ERR_PACKAGE_PATH_NOT_EXPORTED",(e,t,r=void 0)=>t==="."?`No "exports" main defined in ${e}package.json${r?` imported from ${r}`:""}`:`Package subpath '${t}' is not defined by "exports" in ${e}package.json${r?` imported from ${r}`:""}`,Error);var GF=Ie("url");function e1e(e,t){let r=Object.create(null);for(let s=0;st):e+t}MD(r,e,s,c,a)}bW(r1e,rg(e,2))!==null&&MD(r,e,s,c,a);let p=new URL(e,s),h=p.pathname,E=new URL(".",s).pathname;if(dA(h,E)||MD(r,e,s,c,a),t==="")return p;if(bW(r1e,t)!==null){let C=n?Vwe(r,"*",()=>t):r+t;Bht(C,s,c,a)}return n?new URL(PW(n1e,p.href,()=>t)):new URL(t,p)}function Sht(e){let t=+e;return`${t}`!==e?!1:t>=0&&t<4294967295}function dw(e,t,r,s,a,n,c,f){if(typeof t=="string")return vht(t,r,s,e,a,n,c,f);if(DW(t)){if(t.length===0)return null;let p;for(let h=0;hn?-1:n>a||r===-1?1:s===-1||e.length>t.length?-1:t.length>e.length?1:0}function Dht(e,t,r){if(typeof e=="string"||DW(e))return!0;if(typeof e!="object"||e===null)return!1;let s=FD(e),a=!1,n=0;for(let c=0;c=h.length&&tg(t,C)&&s1e(n,h)===1&&kW(h,"*")===E&&(n=h,c=rg(t,E,t.length-C.length))}}if(n){let p=r[n],h=dw(e,p,c,n,s,!0,!1,a);return h==null&&RW(t,e,s),h}RW(t,e,s)}function a1e({name:e,base:t,conditions:r,readFileSyncFn:s}){if(e==="#"||dA(e,"#/")||tg(e,"/")){let c="is not a valid internal imports specifier name";throw new QW(e,c,(0,oa.fileURLToPath)(t))}let a,n=t1e(t,s);if(n.exists){a=(0,oa.pathToFileURL)(n.pjsonPath);let c=n.imports;if(c)if(qm(c,e)&&!xW(e,"*")){let f=dw(a,c[e],"",e,t,!1,!0,r);if(f!=null)return f}else{let f="",p,h=FD(c);for(let E=0;E=C.length&&tg(e,x)&&s1e(f,C)===1&&kW(C,"*")===S&&(f=C,p=rg(e,S,e.length-x.length))}}if(f){let E=c[f],C=dw(a,E,p,f,t,!0,!0,r);if(C!=null)return C}}}wht(e,a,t)}Dt();var Pht=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ys(e,t,r={},s){s??=Pht.has(e)?"MODULE_NOT_FOUND":e;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(t),{code:{...a,value:s},pnpCode:{...a,value:e},data:{...a,value:r}})}function ff(e){return fe.normalize(fe.fromPortablePath(e))}var f1e=et(c1e());function A1e(e){return xht(),FW[e]}var FW;function xht(){FW||(FW={"--conditions":[],...u1e(kht()),...u1e(process.execArgv)})}function u1e(e){return(0,f1e.default)({"--conditions":[String],"-C":"--conditions"},{argv:e,permissive:!0})}function kht(){let e=[],t=Qht(process.env.NODE_OPTIONS||"",e);return e.length,t}function Qht(e,t){let r=[],s=!1,a=!0;for(let n=0;nparseInt(e,10)),p1e=vo>19||vo===19&&Yc>=2||vo===18&&Yc>=13,KKt=vo===20&&Yc<6||vo===19&&Yc>=3,zKt=vo>19||vo===19&&Yc>=6,XKt=vo>=21||vo===20&&Yc>=10||vo===18&&Yc>=19,ZKt=vo>=21||vo===20&&Yc>=10||vo===18&&Yc>=20,$Kt=vo>=22,ezt=vo===26&&Yc<1||vo===25&&Yc>=7||vo===24&&Yc>=15;function NW(e){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send){let t=e.map(r=>fe.fromPortablePath(mo.resolveVirtual(r)));if(p1e)process.send({"watch:require":t});else for(let r of t)process.send({"watch:require":r})}}function LW(e,t){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,s=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,c=/\/$/,f=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(e.enableTopLevelFallback===!0&&h.push(p),t.compatibilityMode!==!1)for(let Ne of["react-scripts","gatsby"]){let ke=e.packageRegistry.get(Ne);if(ke)for(let be of ke.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Ne,reference:be})}}let{ignorePattern:C,packageRegistry:S,packageLocatorsByLocations:x}=e;function I(Ne,ke){return{fn:Ne,args:ke,error:null,result:null}}function T(Ne){let ke=process.stderr?.hasColors?.()??process.stdout.isTTY,be=(ct,Me)=>`\x1B[${ct}m${Me}\x1B[0m`,je=Ne.error;console.error(je?be("31;1",`\u2716 ${Ne.error?.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),Ne.args.length>0&&console.error();for(let ct of Ne.args)console.error(` ${be("37;1","In \u2190")} ${(0,OW.inspect)(ct,{colors:ke,compact:!0})}`);Ne.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,OW.inspect)(Ne.result,{colors:ke,compact:!0})}`));let Re=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Re.length>0){console.error();for(let ct of Re)console.error(` ${be("38;5;244",ct)}`)}console.error()}function O(Ne,ke){if(t.allowDebug===!1)return ke;if(Number.isFinite(s)){if(s>=2)return(...be)=>{let je=I(Ne,be);try{return je.result=ke(...be)}catch(Re){throw je.error=Re}finally{T(je)}};if(s>=1)return(...be)=>{try{return ke(...be)}catch(je){let Re=I(Ne,be);throw Re.error=je,T(Re),je}}}return ke}function U(Ne){let ke=g(Ne);if(!ke)throw ys("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ke}function V(Ne){if(Ne.name===null)return!0;for(let ke of e.dependencyTreeRoots)if(ke.name===Ne.name&&ke.reference===Ne.reference)return!0;return!1}let te=new Set(["node","require",...A1e("--conditions")]);function ie(Ne,ke=te,be){let je=me(J.join(Ne,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(je===null)throw ys("INTERNAL",`The locator that owns the "${Ne}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Re}=U(je),ct=J.join(Re,Er.manifest);if(!t.fakeFs.existsSync(ct))return null;let Me=JSON.parse(t.fakeFs.readFileSync(ct,"utf8"));if(Me.exports==null)return null;let P=J.contains(Re,Ne);if(P===null)throw ys("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");P!=="."&&!f.test(P)&&(P=`./${P}`);try{let w=o1e({packageJSONUrl:(0,Wm.pathToFileURL)(fe.fromPortablePath(ct)),packageSubpath:P,exports:Me.exports,base:be?(0,Wm.pathToFileURL)(fe.fromPortablePath(be)):null,conditions:ke});return fe.toPortablePath((0,Wm.fileURLToPath)(w))}catch(w){throw ys("EXPORTS_RESOLUTION_FAILED",w.message,{unqualifiedPath:ff(Ne),locator:je,pkgJson:Me,subpath:ff(P),conditions:ke},w.code)}}function ue(Ne,ke,{extensions:be}){let je;try{ke.push(Ne),je=t.fakeFs.statSync(Ne)}catch{}if(je&&!je.isDirectory())return t.fakeFs.realpathSync(Ne);if(je&&je.isDirectory()){let Re;try{Re=JSON.parse(t.fakeFs.readFileSync(J.join(Ne,Er.manifest),"utf8"))}catch{}let ct;if(Re&&Re.main&&(ct=J.resolve(Ne,Re.main)),ct&&ct!==Ne){let Me=ue(ct,ke,{extensions:be});if(Me!==null)return Me}}for(let Re=0,ct=be.length;Re{let P=JSON.stringify(Me.name);if(je.has(P))return;je.add(P);let w=Se(Me);for(let b of w)if(U(b).packagePeers.has(Ne))Re(b);else{let F=be.get(b.name);typeof F>"u"&&be.set(b.name,F=new Set),F.add(b.reference)}};Re(ke);let ct=[];for(let Me of[...be.keys()].sort())for(let P of[...be.get(Me)].sort())ct.push({name:Me,reference:P});return ct}function me(Ne,{resolveIgnored:ke=!1,includeDiscardFromLookup:be=!1}={}){if(Ae(Ne)&&!ke)return null;let je=J.relative(e.basePath,Ne);je.match(n)||(je=`./${je}`),je.endsWith("/")||(je=`${je}/`);do{let Re=x.get(je);if(typeof Re>"u"||Re.discardFromLookup&&!be){je=je.substring(0,je.lastIndexOf("/",je.length-2)+1);continue}return Re.locator}while(je!=="");return null}function ce(Ne){try{return t.fakeFs.readFileSync(fe.toPortablePath(Ne),"utf8")}catch(ke){if(ke.code==="ENOENT")return;throw ke}}function Z(Ne,ke,{considerBuiltins:be=!0}={}){if(Ne.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Ne==="pnpapi")return fe.toPortablePath(t.pnpapiResolution);if(be&&(0,ih.isBuiltin)(Ne))return null;let je=ff(Ne),Re=ke&&ff(ke);if(ke&&Ae(ke)&&(!J.isAbsolute(Ne)||me(Ne)===null)){let P=de(Ne,ke);if(P===!1)throw ys("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${je}" +Required by: ${Re} +`,{request:je,issuer:Re});return fe.toPortablePath(P)}let ct,Me=Ne.match(a);if(Me){if(!ke)throw ys("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:je,issuer:Re});let[,P,w]=Me,b=me(ke);if(!b){let Fe=de(Ne,ke);if(Fe===!1)throw ys("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${je}" +Required by: ${Re} +`,{request:je,issuer:Re});return fe.toPortablePath(Fe)}let F=U(b).packageDependencies.get(P),z=null;if(F==null&&b.name!==null){let Fe=e.fallbackExclusionList.get(b.name);if(!Fe||!Fe.has(b.reference)){for(let Ct=0,qt=h.length;CtV(ut))?X=ys("MISSING_PEER_DEPENDENCY",`${b.name} tried to access ${P} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${P}${P!==je?` (via "${je}")`:""} +Required by: ${b.name}@${b.reference} (via ${Re}) +${Fe.map(ut=>`Ancestor breaking the chain: ${ut.name}@${ut.reference} +`).join("")} +`,{request:je,issuer:Re,issuerLocator:Object.assign({},b),dependencyName:P,brokenAncestors:Fe}):X=ys("MISSING_PEER_DEPENDENCY",`${b.name} tried to access ${P} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${P}${P!==je?` (via "${je}")`:""} +Required by: ${b.name}@${b.reference} (via ${Re}) + +${Fe.map(ut=>`Ancestor breaking the chain: ${ut.name}@${ut.reference} +`).join("")} +`,{request:je,issuer:Re,issuerLocator:Object.assign({},b),dependencyName:P,brokenAncestors:Fe})}else F===void 0&&(!be&&(0,ih.isBuiltin)(Ne)?V(b)?X=ys("UNDECLARED_DEPENDENCY",`Your application tried to access ${P}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${P} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${P}${P!==je?` (via "${je}")`:""} +Required by: ${Re} +`,{request:je,issuer:Re,dependencyName:P}):X=ys("UNDECLARED_DEPENDENCY",`${b.name} tried to access ${P}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${P} isn't otherwise declared in ${b.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${P}${P!==je?` (via "${je}")`:""} +Required by: ${Re} +`,{request:je,issuer:Re,issuerLocator:Object.assign({},b),dependencyName:P}):V(b)?X=ys("UNDECLARED_DEPENDENCY",`Your application tried to access ${P}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${P}${P!==je?` (via "${je}")`:""} +Required by: ${Re} +`,{request:je,issuer:Re,dependencyName:P}):X=ys("UNDECLARED_DEPENDENCY",`${b.name} tried to access ${P}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${P}${P!==je?` (via "${je}")`:""} +Required by: ${b.name}@${b.reference} (via ${Re}) +`,{request:je,issuer:Re,issuerLocator:Object.assign({},b),dependencyName:P}));if(F==null){if(z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=z;let Fe=X.message.replace(/\n.*/g,"");X.message=Fe,!E.has(Fe)&&s!==0&&(E.add(Fe),process.emitWarning(X))}let $=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:P,reference:F},se=U($);if(!se.packageLocation)throw ys("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${$.name}@${$.reference}${$.name!==je?` (via "${je}")`:""} +Required by: ${b.name}@${b.reference} (via ${Re}) +`,{request:je,issuer:Re,dependencyLocator:Object.assign({},$)});let xe=se.packageLocation;w?ct=J.join(xe,w):ct=xe}else if(J.isAbsolute(Ne))ct=J.normalize(Ne);else{if(!ke)throw ys("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:je,issuer:Re});let P=J.resolve(ke);ke.match(c)?ct=J.normalize(J.join(P,Ne)):ct=J.normalize(J.join(J.dirname(P),Ne))}return J.normalize(ct)}function De(Ne,ke,be=te,je){if(n.test(Ne))return ke;let Re=ie(ke,be,je);return Re?J.normalize(Re):ke}function Qe(Ne,{extensions:ke=Object.keys(ih.Module._extensions)}={}){let be=[],je=ue(Ne,be,{extensions:ke});if(je)return NW([je]),J.normalize(je);{NW(be);let Re=ff(Ne),ct=me(Ne);if(ct){let{packageLocation:Me}=U(ct),P=!0;try{t.fakeFs.accessSync(Me)}catch(w){if(w?.code==="ENOENT")P=!1;else{let b=(w?.message??w??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw ys("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${b}). + +Missing package: ${ct.name}@${ct.reference} +Expected package location: ${ff(Me)} +`,{unqualifiedPath:Re,extensions:ke})}}if(!P){let w=Me.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ys("QUALIFIED_PATH_RESOLUTION_FAILED",`${w} + +Missing package: ${ct.name}@${ct.reference} +Expected package location: ${ff(Me)} +`,{unqualifiedPath:Re,extensions:ke})}}throw ys("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${Re} +${be.map(Me=>`Not found: ${ff(Me)} +`).join("")}`,{unqualifiedPath:Re,extensions:ke})}}function st(Ne,ke,be){if(!ke)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let je=a1e({name:Ne,base:(0,Wm.pathToFileURL)(fe.fromPortablePath(ke)),conditions:be.conditions??te,readFileSyncFn:ce});if(je instanceof URL)return Qe(fe.toPortablePath((0,Wm.fileURLToPath)(je)),{extensions:be.extensions});if(je.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return _(je,ke,be)}function _(Ne,ke,be={}){try{if(Ne.startsWith("#"))return st(Ne,ke,be);let{considerBuiltins:je,extensions:Re,conditions:ct}=be,Me=Z(Ne,ke,{considerBuiltins:je});if(Ne==="pnpapi")return Me;if(Me===null)return null;let P=()=>ke!==null?Ae(ke):!1,w=(!je||!(0,ih.isBuiltin)(Ne))&&!P()?De(Ne,Me,ct,ke):Me;return Qe(w,{extensions:Re})}catch(je){throw Object.hasOwn(je,"pnpCode")&&Object.assign(je.data,{request:ff(Ne),issuer:ke&&ff(ke)}),je}}function tt(Ne){let ke=J.normalize(Ne),be=mo.resolveVirtual(ke);return be!==ke?be:null}return{VERSIONS:Ce,topLevel:Ee,getLocator:(Ne,ke)=>Array.isArray(ke)?{name:ke[0],reference:ke[1]}:{name:Ne,reference:ke},getDependencyTreeRoots:()=>[...e.dependencyTreeRoots],getAllLocators(){let Ne=[];for(let[ke,be]of S)for(let je of be.keys())ke!==null&&je!==null&&Ne.push({name:ke,reference:je});return Ne},getPackageInformation:Ne=>{let ke=g(Ne);if(ke===null)return null;let be=fe.fromPortablePath(ke.packageLocation);return{...ke,packageLocation:be}},findPackageLocator:Ne=>me(fe.toPortablePath(Ne)),resolveToUnqualified:O("resolveToUnqualified",(Ne,ke,be)=>{let je=ke!==null?fe.toPortablePath(ke):null,Re=Z(fe.toPortablePath(Ne),je,be);return Re===null?null:fe.fromPortablePath(Re)}),resolveUnqualified:O("resolveUnqualified",(Ne,ke)=>fe.fromPortablePath(Qe(fe.toPortablePath(Ne),ke))),resolveRequest:O("resolveRequest",(Ne,ke,be)=>{let je=ke!==null?fe.toPortablePath(ke):null,Re=_(fe.toPortablePath(Ne),je,be);return Re===null?null:fe.fromPortablePath(Re)}),resolveVirtual:O("resolveVirtual",Ne=>{let ke=tt(fe.toPortablePath(Ne));return ke!==null?fe.fromPortablePath(ke):null})}}Dt();var h1e=(e,t,r)=>{let s=RD(e),a=SW(s,{basePath:t}),n=fe.join(t,Er.pnpCjs);return LW(a,{fakeFs:r,pnpapiResolution:n})};var UW=et(d1e());Yt();var mA={};Vt(mA,{checkManifestCompatibility:()=>m1e,extractBuildRequest:()=>qF,getExtractHint:()=>_W,hasBindingGyp:()=>HW});qe();Dt();function m1e(e){return j.isPackageCompatible(e,Ui.getArchitectureSet())}function qF(e,t,r,{configuration:s}){let a=[];for(let n of["preinstall","install","postinstall"])t.manifest.scripts.has(n)&&a.push({type:0,script:n});return!t.manifest.scripts.has("install")&&t.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:e.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${j.prettyLocator(s,e)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${j.prettyLocator(s,e)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!s.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${j.prettyLocator(s,e)} lists build scripts, but all build scripts have been disabled.`)}:m1e(e)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${j.prettyLocator(s,e)} The ${Ui.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var Tht=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function _W(e){return e.packageFs.getExtractHint({relevantExtensions:Tht})}function HW(e){let t=J.join(e.prefixPath,"binding.gyp");return e.packageFs.existsSync(t)}var HD={};Vt(HD,{getUnpluggedPath:()=>_D});qe();Dt();function _D(e,{configuration:t}){return J.resolve(t.get("pnpUnpluggedFolder"),j.slugifyLocator(e))}var Fht=new Set([j.makeIdent(null,"open").identHash,j.makeIdent(null,"opn").identHash]),ng=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(t,r){return this.isEnabled(r)}async findPackageLocation(t,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let s=ig(r.project).cjs;if(!le.existsSync(s))throw new it(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=Ge.getFactoryWithDefault(this.pnpCache,s,()=>Ge.dynamicRequire(s,{cachingStrategy:Ge.CachingStrategy.FsTime})),n={name:j.stringifyIdent(t),reference:t.reference},c=a.getPackageInformation(n);if(!c)throw new it(`Couldn't find ${j.prettyLocator(r.project.configuration,t)} in the currently installed PnP map - running an install might help`);return fe.toPortablePath(c.packageLocation)}async findPackageLocator(t,r){if(!this.isEnabled(r))return null;let s=ig(r.project).cjs;if(!le.existsSync(s))return null;let n=Ge.getFactoryWithDefault(this.pnpCache,s,()=>Ge.dynamicRequire(s,{cachingStrategy:Ge.CachingStrategy.FsTime})).findPackageLocator(fe.fromPortablePath(t));return n?j.makeLocator(j.parseIdent(n.name),n.reference):null}makeInstaller(t){return new Ym(t)}isEnabled(t){return!(t.project.configuration.get("nodeLinker")!=="pnp"||t.project.configuration.get("pnpMode")!==this.mode)}},Ym=class{constructor(t){this.opts=t;this.mode="strict";this.asyncActions=new Ge.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=t}attachCustomData(t){this.customData=t}async installPackage(t,r,s){let a=j.stringifyIdent(t),n=t.reference,c=!!this.opts.project.tryWorkspaceByLocator(t),f=j.isVirtualLocator(t),p=t.peerDependencies.size>0&&!f,h=!p&&!c,E=!p&&t.linkType!=="SOFT",C,S;if(h||E){let te=f?j.devirtualizeLocator(t):t;C=this.customData.store.get(te.locatorHash),typeof C>"u"&&(C=await Nht(r),t.linkType==="HARD"&&this.customData.store.set(te.locatorHash,C)),C.manifest.type==="module"&&(this.isESMLoaderRequired=!0),S=this.opts.project.getDependencyMeta(te,t.version)}let x=h?qF(t,C,S,{configuration:this.opts.project.configuration}):null,I=E?await this.unplugPackageIfNeeded(t,C,r,S,s):r.packageFs;if(J.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let T=J.resolve(I.getRealPath(),r.prefixPath),O=jW(this.opts.project.cwd,T),U=new Map,V=new Set;if(f){for(let te of t.peerDependencies.values())U.set(j.stringifyIdent(te),null),V.add(j.stringifyIdent(te));if(!c){let te=j.devirtualizeLocator(t);this.virtualTemplates.set(te.locatorHash,{location:jW(this.opts.project.cwd,mo.resolveVirtual(T)),locator:te})}}return Ge.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:O,packageDependencies:U,packagePeers:V,linkType:t.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:T,buildRequest:x}}async attachInternalDependencies(t,r){let s=this.getPackageInformation(t);for(let[a,n]of r){let c=j.areIdentsEqual(a,n)?n.reference:[j.stringifyIdent(n),n.reference];s.packageDependencies.set(j.stringifyIdent(a),c)}}async attachExternalDependents(t,r){for(let s of r)this.getDiskInformation(s).packageDependencies.set(j.stringifyIdent(t),t.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let t=ig(this.opts.project);if(this.isEsmEnabled()||await le.removePromise(t.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await le.removePromise(t.cjs),await le.removePromise(t.data),await le.removePromise(t.esmLoader),await le.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:C,location:S}of this.virtualTemplates.values())Ge.getMapWithDefault(this.packageRegistry,j.stringifyIdent(C)).set(C.reference,{packageLocation:S,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});let r=this.opts.project.configuration.get("pnpFallbackMode"),s=this.opts.project.workspaces.map(({anchoredLocator:C})=>({name:j.stringifyIdent(C),reference:C.reference})),a=r!=="none",n=[],c=new Map,f=Ge.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang"),E=this.opts.project.configuration.get("pnpZipBackend");if(r==="dependencies-only")for(let C of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(C)&&n.push({name:j.stringifyIdent(C),reference:C.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:s,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:c,ignorePattern:f,pnpZipBackend:E,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(t){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let t of this.opts.project.workspaces)if(t.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(t){let r=ig(this.opts.project),s=await this.locateNodeModules(t.ignorePattern);if(s.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of s)await le.removePromise(n)}if(await this.transformPnpSettings(t),this.opts.project.configuration.get("pnpEnableInlining")){let n=Wwe(t);await le.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await le.removePromise(r.data)}else{let{dataFile:n,loaderFile:c}=Ywe(t);await le.changeFilePromise(r.cjs,c,{automaticNewlines:!0,mode:493}),await le.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(92,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await le.changeFilePromise(r.esmLoader,(0,UW.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await le.removePromise(a);else for(let n of await le.readdirPromise(a)){let c=J.resolve(a,n);this.unpluggedPaths.has(c)||await le.removePromise(c)}}async locateNodeModules(t){let r=[],s=t?new RegExp(t):null;for(let a of this.opts.project.workspaces){let n=J.join(a.cwd,"node_modules");if(s&&s.test(J.relative(this.opts.project.cwd,a.cwd))||!le.existsSync(n))continue;let c=await le.readdirPromise(n,{withFileTypes:!0}),f=c.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(f.length===c.length)r.push(n);else for(let p of f)r.push(J.join(n,p.name))}return r}async unplugPackageIfNeeded(t,r,s,a,n){return this.shouldBeUnplugged(t,r,a)?this.unplugPackage(t,s,n):s.packageFs}shouldBeUnplugged(t,r,s){return typeof s.unplugged<"u"?s.unplugged:Fht.has(t.identHash)||t.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(qF(t,r,s,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(t,r,s){let a=_D(t,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(t.locatorHash)?new Gf(a,{baseFs:r.packageFs,pathUtils:J}):(this.unpluggedPaths.add(a),s.holdFetchResult(this.asyncActions.set(t.locatorHash,async()=>{let n=J.join(a,r.prefixPath,".ready");await le.existsPromise(n)||(this.opts.project.storedBuildState.delete(t.locatorHash),await le.mkdirPromise(a,{recursive:!0}),await le.copyPromise(a,vt.dot,{baseFs:r.packageFs,overwrite:!1}),await le.writeFilePromise(n,""))})),new bn(a))}getPackageInformation(t){let r=j.stringifyIdent(t),s=t.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${j.prettyIdent(this.opts.project.configuration,t)})`);let n=a.get(s);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${j.prettyLocator(this.opts.project.configuration,t)})`);return n}getDiskInformation(t){let r=Ge.getMapWithDefault(this.packageRegistry,"@@disk"),s=jW(this.opts.project.cwd,t);return Ge.getFactoryWithDefault(r,s,()=>({packageLocation:s,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function jW(e,t){let r=J.relative(e,t);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function Nht(e){let t=await _t.tryFind(e.prefixPath,{baseFs:e.packageFs})??new _t,r=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())r.has(s)||t.scripts.delete(s);return{manifest:{scripts:t.scripts,preferUnplugged:t.preferUnplugged,type:t.type},misc:{extractHint:_W(e),hasBindingGyp:HW(e)}}}qe();qe();Yt();var y1e=et(zo());var mw=class extends At{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=he.Rest()}static{this.paths=[["unplug"]]}static{this.usage=at.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new it("This command can only be used if the `nodeLinker` option is set to `pnp`");await s.restoreInstallState();let c=new Set(this.patterns),f=this.patterns.map(x=>{let I=j.parseDescriptor(x),T=I.range!=="unknown"?I:j.makeDescriptor(I,"*");if(!kr.validRange(T.range))throw new it(`The range of the descriptor patterns must be a valid semver range (${j.prettyDescriptor(r,T)})`);return O=>{let U=j.stringifyIdent(O);return!y1e.default.isMatch(U,j.stringifyIdent(T))||O.version&&!kr.satisfiesWithPrereleases(O.version,T.range)?!1:(c.delete(x),!0)}}),p=()=>{let x=[];for(let I of s.storedPackages.values())!s.tryWorkspaceByLocator(I)&&!j.isVirtualLocator(I)&&f.some(T=>T(I))&&x.push(I);return x},h=x=>{let I=new Set,T=[],O=(U,V)=>{if(I.has(U.locatorHash))return;let te=!!s.tryWorkspaceByLocator(U);if(!(V>0&&!this.recursive&&te)&&(I.add(U.locatorHash),!s.tryWorkspaceByLocator(U)&&f.some(ie=>ie(U))&&T.push(U),!(V>0&&!this.recursive)))for(let ie of U.dependencies.values()){let ue=s.storedResolutions.get(ie.descriptorHash);if(!ue)throw new Error("Assertion failed: The resolution should have been registered");let ae=s.storedPackages.get(ue);if(!ae)throw new Error("Assertion failed: The package should have been registered");O(ae,V+1)}};for(let U of x)O(U.anchoredPackage,0);return T},E,C;if(this.all&&this.recursive?(E=p(),C="the project"):this.all?(E=h(s.workspaces),C="any workspace"):(E=h([a]),C="this workspace"),c.size>1)throw new it(`Patterns ${pe.prettyList(r,c,pe.Type.CODE)} don't match any packages referenced by ${C}`);if(c.size>0)throw new it(`Pattern ${pe.prettyList(r,c,pe.Type.CODE)} doesn't match any packages referenced by ${C}`);E=Ge.sortMap(E,x=>j.stringifyLocator(x));let S=await Ot.start({configuration:r,stdout:this.context.stdout,json:this.json},async x=>{for(let I of E){let T=I.version??"unknown",O=s.topLevelWorkspace.manifest.ensureDependencyMeta(j.makeDescriptor(I,T));O.unplugged=!0,x.reportInfo(0,`Will unpack ${j.prettyLocator(r,I)} to ${pe.pretty(r,_D(I,{configuration:r}),pe.Type.PATH)}`),x.reportJson({locator:j.stringifyLocator(I),version:T})}await s.topLevelWorkspace.persistManifest(),this.json||x.reportSeparator()});return S.hasErrors()?S.exitCode():await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};var ig=e=>({cjs:J.join(e.cwd,Er.pnpCjs),data:J.join(e.cwd,Er.pnpData),esmLoader:J.join(e.cwd,Er.pnpEsmLoader)}),I1e=e=>/\s/.test(e)?JSON.stringify(e):e;async function Oht(e,t,r){let s=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(t.NODE_OPTIONS??"").replace(s," ").replace(a," ").trim();if(e.configuration.get("nodeLinker")!=="pnp"){t.NODE_OPTIONS=n||void 0;return}let c=ig(e),f=`--require ${I1e(fe.fromPortablePath(c.cjs))}`;le.existsSync(c.esmLoader)&&(f=`${f} --experimental-loader ${(0,E1e.pathToFileURL)(fe.fromPortablePath(c.esmLoader)).href}`),le.existsSync(c.cjs)&&(t.NODE_OPTIONS=n?`${f} ${n}`:f)}async function Lht(e,t){let r=ig(e);t(r.cjs),t(r.data),t(r.esmLoader),t(e.configuration.get("pnpUnpluggedFolder"))}var Mht={hooks:{populateYarnPaths:Lht,setupScriptEnvironment:Oht},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},minizip:{description:"Whether Yarn should use minizip to extract archives",type:"BOOLEAN",default:!1},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpZipBackend:{description:"Whether to use the experimental js implementation for the ZipFS",type:"STRING",values:["libzip","js"],default:"libzip"},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[ng],commands:[mw]},Uht=Mht;var P1e=et(S1e());Yt();var zW=et(Ie("crypto")),x1e=et(Ie("fs")),k1e=1,Pi="node_modules",WF=".bin",XW=".yarn-state.yml",r0t=1e3,YF=new Map;function JW(e,{unrollAliases:t}){return`${e.cwd}\0${t?"unroll":"plain"}`}function n0t(e){YF.delete(JW(e,{unrollAliases:!0})),YF.delete(JW(e,{unrollAliases:!1}))}var ZW=(s=>(s.CLASSIC="classic",s.HARDLINKS_LOCAL="hardlinks-local",s.HARDLINKS_GLOBAL="hardlinks-global",s))(ZW||{}),jD=class{getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(t,r){return this.isEnabled(r)}async findPackageLocation(t,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let s=r.project.tryWorkspaceByLocator(t);if(s)return s.cwd;let a=await this.findInstallState(r.project,{unrollAliases:!0});if(a===null)throw new it("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(j.stringifyLocator(t));if(!n){let p=new it(`Couldn't find ${j.prettyLocator(r.project.configuration,t)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let c=n.locations.sort((p,h)=>p.split(J.sep).length-h.split(J.sep).length),f=J.join(r.project.configuration.startingCwd,Pi);return c.find(p=>J.contains(f,p))||n.locations[0]}async findPackageLocator(t,r){if(!this.isEnabled(r))return null;let s=await this.findInstallState(r.project,{unrollAliases:!0});if(s===null)return null;let{locationRoot:a,segments:n}=VF(J.resolve(t),{skipPrefix:r.project.cwd}),c=s.locationTree.get(a);if(!c)return null;let f=c.locator;for(let p of n){if(c=c.children.get(p),!c)break;f=c.locator||f}return j.parseLocator(f)}makeInstaller(t){return new KW(t)}async findInstallState(t,{unrollAliases:r}){let s=JW(t,{unrollAliases:r}),a=await o0t(t),n=YF.get(s);if(n?.statKey===a)return await n.promise;let c=Q1e(t,{unrollAliases:r});return YF.set(s,{statKey:a,promise:c}),await c}isEnabled(t){return t.project.configuration.get("nodeLinker")==="node-modules"}},KW=class{constructor(t){this.opts=t;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(t){this.customData=t}async installPackage(t,r){let s=J.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(t.locatorHash);if(typeof a>"u"&&(a=await i0t(t,r),t.linkType==="HARD"&&this.customData.store.set(t.locatorHash,a)),!j.isPackageCompatible(t,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,c=new Set;n.has(j.stringifyIdent(t))||n.set(j.stringifyIdent(t),t.reference);let f=t;if(j.isVirtualLocator(t)){f=j.devirtualizeLocator(t);for(let E of t.peerDependencies.values())n.set(j.stringifyIdent(E),null),c.add(j.stringifyIdent(E))}let p={packageLocation:`${fe.fromPortablePath(s)}/`,packageDependencies:n,packagePeers:c,linkType:t.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(t.locatorHash,{pkg:t,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(t,t.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(f.locatorHash,h),{packageLocation:s,buildRequest:null}}async attachInternalDependencies(t,r){let s=this.localStore.get(t.locatorHash);if(typeof s>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let c=j.areIdentsEqual(a,n)?n.reference:[j.stringifyIdent(n),n.reference];s.pnpNode.packageDependencies.set(j.stringifyIdent(a),c)}}async attachExternalDependents(t,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let t=new mo({baseFs:new rA({maxOpenFiles:80,readOnlyArchives:!0})}),r=await Q1e(this.opts.project),s=this.opts.project.configuration.get("nmMode");(r===null||s!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:s,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(S=>{let x=this.opts.project.configuration.get("nmHoistingLimits");try{x=Ge.validateEnum(xD,S.manifest.installConfig?.hoistingLimits??x)}catch{let I=j.prettyWorkspace(this.opts.project.configuration,S);this.opts.report.reportWarning(57,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(xD).join(", ")}, using default: "${x}"`)}return[S.relativeCwd,x]})),n=new Map(this.opts.project.workspaces.map(S=>{let x=this.opts.project.configuration.get("nmSelfReferences");return x=S.manifest.installConfig?.selfReferences??x,[S.relativeCwd,x]})),c={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(S,x)=>Array.isArray(x)?{name:x[0],reference:x[1]}:{name:S,reference:x},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(S=>{let x=S.anchoredLocator;return{name:j.stringifyIdent(x),reference:x.reference}}),getPackageInformation:S=>{let x=S.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:j.makeLocator(j.parseIdent(S.name),S.reference),I=this.localStore.get(x.locatorHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return I.pnpNode},findPackageLocator:S=>{let x=this.opts.project.tryWorkspaceByCwd(fe.toPortablePath(S));if(x!==null){let I=x.anchoredLocator;return{name:j.stringifyIdent(I),reference:I.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:S=>fe.fromPortablePath(mo.resolveVirtual(fe.toPortablePath(S)))},{tree:f,errors:p,preserveSymlinksRequired:h}=kD(c,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!f){for(let{messageName:S,text:x}of p)this.opts.report.reportError(S,x);return}let E=BW(f);await A0t(r,E,{baseFs:t,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async S=>{let x=j.parseLocator(S),I=this.localStore.get(x.locatorHash);if(typeof I>"u")throw new Error("Assertion failed: Expected the slot to exist");return I.customPackageData.manifest}});let C=[];for(let[S,x]of E.entries()){if(F1e(S))continue;let I=j.parseLocator(S),T=this.localStore.get(I.locatorHash);if(typeof T>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(T.pkg))continue;let O=mA.extractBuildRequest(T.pkg,T.customPackageData,T.dependencyMeta,{configuration:this.opts.project.configuration});O&&C.push({buildLocations:x.locations,locator:I,buildRequest:O})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${pe.pretty(this.opts.project.configuration,"--preserve-symlinks",pe.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:C}}};async function i0t(e,t){let r=await _t.tryFind(t.prefixPath,{baseFs:t.packageFs})??new _t,s=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())s.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:mA.hasBindingGyp(t)}}}async function s0t(e,t,r,s,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${k1e} +`,n+=` nmMode: ${s.value} +`;let c=Array.from(t.keys()).sort(),f=j.stringifyLocator(e.topLevelWorkspace.anchoredLocator);for(let E of c){let C=t.get(E);n+=` +`,n+=`${JSON.stringify(E)}: +`,n+=` locations: +`;for(let S of C.locations){let x=J.contains(e.cwd,S);if(x===null)throw new Error(`Assertion failed: Expected the path to be within the project (${S})`);n+=` - ${JSON.stringify(x)} +`}if(C.aliases.length>0){n+=` aliases: +`;for(let S of C.aliases)n+=` - ${JSON.stringify(S)} +`}if(E===f&&r.size>0){n+=` bin: +`;for(let[S,x]of r){let I=J.contains(e.cwd,S);if(I===null)throw new Error(`Assertion failed: Expected the path to be within the project (${S})`);n+=` ${JSON.stringify(I)}: +`;for(let[T,O]of x){let U=J.relative(J.join(S,Pi),O);n+=` ${JSON.stringify(T)}: ${JSON.stringify(U)} +`}}}}let p=e.cwd,h=J.join(p,Pi,XW);try{a&&await le.removePromise(h),await le.changeFilePromise(h,n,{automaticNewlines:!0})}finally{n0t(e)}}async function o0t(e){let t=e.cwd,r=J.join(t,Pi,XW);try{let s=await le.statPromise(r);return`${s.mtimeMs}:${s.size}`}catch{return null}}async function Q1e(e,{unrollAliases:t=!1}={}){let r=e.cwd,s=J.join(r,Pi,XW),a;try{a=await le.statPromise(s)}catch{}if(!a)return null;let n=cs(await le.readFilePromise(s,"utf8"));if(n.__metadata.version>k1e)return null;let c=n.__metadata.nmMode||"classic",f=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let C=E.locations.map(x=>J.join(r,x)),S=E.bin;if(S)for(let[x,I]of Object.entries(S)){let T=J.join(r,fe.toPortablePath(x)),O=Ge.getMapWithDefault(p,T);for(let[U,V]of Object.entries(I))O.set(U,fe.toPortablePath([T,Pi,V].join(J.sep)))}if(f.set(h,{target:vt.dot,linkType:"HARD",locations:C,aliases:E.aliases||[]}),t&&E.aliases)for(let x of E.aliases){let{scope:I,name:T}=j.parseLocator(h),O=j.makeLocator(j.makeIdent(I,T),x),U=j.stringifyLocator(O);f.set(U,{target:vt.dot,linkType:"HARD",locations:C,aliases:[]})}}return{locatorMap:f,binSymlinks:p,locationTree:R1e(f,{skipPrefix:e.cwd}),nmMode:c,mtimeMs:a.mtimeMs}}var Ew=async(e,t)=>{if(e.split(J.sep).indexOf(Pi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${e}`);try{let r;if(!t.innerLoop&&(r=await le.lstatPromise(e),!r.isDirectory()&&!r.isSymbolicLink()||r.isSymbolicLink()&&!t.isWorkspaceDir)){await le.unlinkPromise(e);return}let s=await le.readdirPromise(e,{withFileTypes:!0});for(let n of s){let c=J.join(e,n.name);n.isDirectory()?(n.name!==Pi||t&&t.innerLoop)&&await Ew(c,{innerLoop:!0,contentsOnly:!1}):await le.unlinkPromise(c)}let a=!t.innerLoop&&t.isWorkspaceDir&&r?.isSymbolicLink();!t.contentsOnly&&!a&&await le.rmdirPromise(e)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},D1e=4,VF=(e,{skipPrefix:t})=>{let r=J.contains(t,e);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${e} which is outside project root: ${t}`);let s=r.split(J.sep).filter(p=>p!==""),a=s.indexOf(Pi),n=s.slice(0,a).join(J.sep),c=J.join(t,n),f=s.slice(a);return{locationRoot:c,segments:f}},R1e=(e,{skipPrefix:t})=>{let r=new Map;if(e===null)return r;let s=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of e.entries()){if(n.linkType==="SOFT"&&J.contains(t,n.target)!==null){let f=Ge.getFactoryWithDefault(r,n.target,s);f.locator=a,f.linkType=n.linkType}for(let c of n.locations){let{locationRoot:f,segments:p}=VF(c,{skipPrefix:t}),h=Ge.getFactoryWithDefault(r,f,s);for(let E=0;E{if(process.platform==="win32"&&r==="junctions"){let s;try{s=await le.lstatPromise(e)}catch{}if(!s||s.isDirectory()){await le.symlinkPromise(e,t,"junction");return}}await le.symlinkPromise(J.relative(J.dirname(t),e),t)};async function T1e(e,t,r){let s=J.join(e,`${zW.default.randomBytes(16).toString("hex")}.tmp`);try{await le.writeFilePromise(s,r);try{await le.linkPromise(s,t)}catch{}}finally{await le.unlinkPromise(s)}}async function a0t({srcPath:e,dstPath:t,entry:r,globalHardlinksStore:s,baseFs:a,nmMode:n}){if(r.kind==="file"){if(n.value==="hardlinks-global"&&s&&r.digest){let f=J.join(s,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await le.statPromise(f);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs{await le.mkdirPromise(e,{recursive:!0});let f=async(E=vt.dot)=>{let C=J.join(t,E),S=await r.readdirPromise(C,{withFileTypes:!0}),x=new Map;for(let I of S){let T=J.join(E,I.name),O,U=J.join(C,I.name);if(I.isFile()){if(O={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let V=await Ln.checksumFile(U,{baseFs:r,algorithm:"sha1"});O.digest=V}}else if(I.isDirectory())O={kind:"directory"};else if(I.isSymbolicLink())O={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(x.set(T,O),I.isDirectory()&&T!==Pi){let V=await f(T);for(let[te,ie]of V)x.set(te,ie)}}return x},p;if(a.value==="hardlinks-global"&&s&&c){let E=J.join(s,c.substring(0,2),`${c.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await le.readFilePromise(E,"utf8"))))}catch{p=await f()}}else p=await f();let h=!1;for(let[E,C]of p){let S=J.join(t,E),x=J.join(e,E);if(C.kind==="directory")await le.mkdirPromise(x,{recursive:!0});else if(C.kind==="file"){let I=C.mtimeMs;await a0t({srcPath:S,dstPath:x,entry:C,nmMode:a,baseFs:r,globalHardlinksStore:s}),C.mtimeMs!==I&&(h=!0)}else C.kind==="symlink"&&await $W(J.resolve(J.dirname(x),C.symlinkTo),x,n)}if(a.value==="hardlinks-global"&&s&&h&&c){let E=J.join(s,c.substring(0,2),`${c.substring(2)}.json`);await le.removePromise(E),await T1e(s,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function c0t(e,t,r,s){let a=new Map,n=new Map,c=new Map,f=!1,p=(h,E,C,S,x)=>{let I=!0,T=J.join(h,E),O=new Set;if(E===Pi||E.startsWith("@")){let V;try{V=le.statSync(T)}catch{}I=!!V,V?V.mtimeMs>r?(f=!0,O=new Set(le.readdirSync(T))):O=new Set(C.children.get(E).children.keys()):f=!0;let te=t.get(h);if(te){let ie=J.join(h,Pi,WF),ue;try{ue=le.statSync(ie)}catch{}if(!ue)f=!0;else if(ue.mtimeMs>r){f=!0;let ae=new Set(le.readdirSync(ie)),de=new Map;n.set(h,de);for(let[Ae,Ce]of te)ae.has(Ae)&&de.set(Ae,Ce)}else n.set(h,te)}}else I=x.has(E);let U=C.children.get(E);if(I){let{linkType:V,locator:te}=U,ie={children:new Map,linkType:V,locator:te};if(S.children.set(E,ie),te){let ue=Ge.getSetWithDefault(c,te);ue.add(T),c.set(te,ue)}for(let ue of U.children.keys())p(T,ue,U,ie,O)}else U.locator&&s.storedBuildState.delete(j.parseLocator(U.locator).locatorHash)};for(let[h,E]of e){let{linkType:C,locator:S}=E,x={children:new Map,linkType:C,locator:S};if(a.set(h,x),S){let I=Ge.getSetWithDefault(c,E.locator);I.add(h),c.set(E.locator,I)}E.children.has(Pi)&&p(h,Pi,E,x,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:c,installChangedByUser:f}}function F1e(e){let t=j.parseDescriptor(e);return j.isVirtualDescriptor(t)&&(t=j.devirtualizeDescriptor(t)),t.range.startsWith("link:")}async function u0t(e,t,r,{loadManifest:s}){let a=new Map;for(let[f,{locations:p}]of e){let h=F1e(f)?null:await s(f,p[0]),E=new Map;if(h)for(let[C,S]of h.bin){let x=J.join(p[0],S);S!==""&&le.existsSync(x)&&E.set(C,S)}a.set(f,E)}let n=new Map,c=(f,p,h)=>{let E=new Map,C=J.contains(r,f);if(h.locator&&C!==null){let S=a.get(h.locator);for(let[x,I]of S){let T=J.join(f,fe.toPortablePath(I));E.set(x,T)}for(let[x,I]of h.children){let T=J.join(f,x),O=c(T,T,I);O.size>0&&n.set(f,new Map([...n.get(f)||new Map,...O]))}}else for(let[S,x]of h.children){let I=c(J.join(f,S),p,x);for(let[T,O]of I)E.set(T,O)}return E};for(let[f,p]of t){let h=c(f,f,p);h.size>0&&n.set(f,new Map([...n.get(f)||new Map,...h]))}return n}var b1e=(e,t)=>{if(!e||!t)return e===t;let r=j.parseLocator(e);j.isVirtualLocator(r)&&(r=j.devirtualizeLocator(r));let s=j.parseLocator(t);return j.isVirtualLocator(s)&&(s=j.devirtualizeLocator(s)),j.areLocatorsEqual(r,s)};function eY(e){return J.join(e.get("globalFolder"),"store")}function f0t(e,t){let r=s=>{let a=s.split(J.sep),n=a.lastIndexOf(Pi);if(n<0||n==a.length-1)throw new Error(`Assertion failed. Path is outside of any node_modules package ${s}`);return a.slice(0,n+(a[n+1].startsWith("@")?3:2)).join(J.sep)};for(let s of e.values())for(let[a,n]of s)t.has(r(n))&&s.delete(a)}async function A0t(e,t,{baseFs:r,project:s,report:a,loadManifest:n,realLocatorChecksums:c}){let f=J.join(s.cwd,Pi),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:C}=c0t(e.locationTree,e.binSymlinks,e.mtimeMs,s),S=R1e(t,{skipPrefix:s.cwd}),x=[],I=async({srcDir:Ce,dstDir:Ee,linkType:g,globalHardlinksStore:Se,nmMode:Be,windowsLinkType:me,packageChecksum:ce})=>{let Z=(async()=>{try{g==="SOFT"?(await le.mkdirPromise(J.dirname(Ee),{recursive:!0}),await $W(J.resolve(Ce),Ee,me)):await l0t(Ee,Ce,{baseFs:r,globalHardlinksStore:Se,nmMode:Be,windowsLinkType:me,packageChecksum:ce})}catch(De){throw De.message=`While persisting ${Ce} -> ${Ee} ${De.message}`,De}finally{ie.tick()}})().then(()=>x.splice(x.indexOf(Z),1));x.push(Z),x.length>D1e&&await Promise.race(x)},T=async(Ce,Ee,g)=>{let Se=(async()=>{let Be=async(me,ce,Z)=>{try{Z.innerLoop||await le.mkdirPromise(ce,{recursive:!0});let De=await le.readdirPromise(me,{withFileTypes:!0});for(let Qe of De){if(!Z.innerLoop&&Qe.name===WF)continue;let st=J.join(me,Qe.name),_=J.join(ce,Qe.name);Qe.isDirectory()?(Qe.name!==Pi||Z&&Z.innerLoop)&&(await le.mkdirPromise(_,{recursive:!0}),await Be(st,_,{...Z,innerLoop:!0})):de.value==="hardlinks-local"||de.value==="hardlinks-global"?await le.linkPromise(st,_):await le.copyFilePromise(st,_,x1e.default.constants.COPYFILE_FICLONE)}}catch(De){throw Z.innerLoop||(De.message=`While cloning ${me} -> ${ce} ${De.message}`),De}finally{Z.innerLoop||ie.tick()}};await Be(Ce,Ee,g)})().then(()=>x.splice(x.indexOf(Se),1));x.push(Se),x.length>D1e&&await Promise.race(x)},O=async(Ce,Ee,g)=>{if(g)for(let[Se,Be]of Ee.children){let me=g.children.get(Se);await O(J.join(Ce,Se),Be,me)}else{Ee.children.has(Pi)&&await Ew(J.join(Ce,Pi),{contentsOnly:!1});let Se=J.basename(Ce)===Pi&&p.has(J.join(J.dirname(Ce)));await Ew(Ce,{contentsOnly:Ce===f,isWorkspaceDir:Se})}};for(let[Ce,Ee]of p){let g=S.get(Ce);for(let[Se,Be]of Ee.children){if(Se===".")continue;let me=g&&g.children.get(Se),ce=J.join(Ce,Se);await O(ce,Be,me)}}let U=async(Ce,Ee,g)=>{if(g){b1e(Ee.locator,g.locator)||await Ew(Ce,{contentsOnly:Ee.linkType==="HARD"});for(let[Se,Be]of Ee.children){let me=g.children.get(Se);await U(J.join(Ce,Se),Be,me)}}else{Ee.children.has(Pi)&&await Ew(J.join(Ce,Pi),{contentsOnly:!0});let Se=J.basename(Ce)===Pi&&S.has(J.join(J.dirname(Ce)));await Ew(Ce,{contentsOnly:Ee.linkType==="HARD",isWorkspaceDir:Se})}};for(let[Ce,Ee]of S){let g=p.get(Ce);for(let[Se,Be]of Ee.children){if(Se===".")continue;let me=g&&g.children.get(Se);await U(J.join(Ce,Se),Be,me)}}let V=new Map,te=[];for(let[Ce,Ee]of E)for(let g of Ee){let{locationRoot:Se,segments:Be}=VF(g,{skipPrefix:s.cwd}),me=S.get(Se),ce=Se;if(me){for(let Z of Be)if(ce=J.join(ce,Z),me=me.children.get(Z),!me)break;if(me){let Z=b1e(me.locator,Ce),De=t.get(me.locator),Qe=De.target,st=ce,_=De.linkType;if(Z)V.has(Qe)||V.set(Qe,st);else if(Qe!==st){let tt=j.parseLocator(me.locator);j.isVirtualLocator(tt)&&(tt=j.devirtualizeLocator(tt)),te.push({srcDir:Qe,dstDir:st,linkType:_,realLocatorHash:tt.locatorHash})}}}}for(let[Ce,{locations:Ee}]of t.entries())for(let g of Ee){let{locationRoot:Se,segments:Be}=VF(g,{skipPrefix:s.cwd}),me=p.get(Se),ce=S.get(Se),Z=Se,De=t.get(Ce),Qe=j.parseLocator(Ce);j.isVirtualLocator(Qe)&&(Qe=j.devirtualizeLocator(Qe));let st=Qe.locatorHash,_=De.target,tt=g;if(_===tt)continue;let Ne=De.linkType;for(let ke of Be)ce=ce.children.get(ke);if(!me)te.push({srcDir:_,dstDir:tt,linkType:Ne,realLocatorHash:st});else for(let ke of Be)if(Z=J.join(Z,ke),me=me.children.get(ke),!me){te.push({srcDir:_,dstDir:tt,linkType:Ne,realLocatorHash:st});break}}let ie=yo.progressViaCounter(te.length),ue=a.reportProgress(ie),ae=s.configuration.get("nmMode"),de={value:ae},Ae=s.configuration.get("winLinkType");try{let Ce=de.value==="hardlinks-global"?`${eY(s.configuration)}/v1`:null;if(Ce&&!await le.existsPromise(Ce)){await le.mkdirpPromise(Ce);for(let g=0;g<256;g++)await le.mkdirPromise(J.join(Ce,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!V.has(g.srcDir))&&(V.set(g.srcDir,g.dstDir),await I({...g,globalHardlinksStore:Ce,nmMode:de,windowsLinkType:Ae,packageChecksum:c.get(g.realLocatorHash)||null}));await Promise.all(x),x.length=0;for(let g of te){let Se=V.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==Se&&await T(Se,g.dstDir,{nmMode:de})}await Promise.all(x),await le.mkdirPromise(f,{recursive:!0}),f0t(h,new Set(te.map(g=>g.dstDir)));let Ee=await u0t(t,S,s.cwd,{loadManifest:n});await p0t(h,Ee,s.cwd,Ae),await s0t(s,t,Ee,de,{installChangedByUser:C}),ae=="hardlinks-global"&&de.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{ue.stop()}}async function p0t(e,t,r,s){for(let a of e.keys()){if(J.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!t.has(a)){let n=J.join(a,Pi,WF);await le.removePromise(n)}}for(let[a,n]of t){if(J.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let c=J.join(a,Pi,WF),f=e.get(a)||new Map;await le.mkdirPromise(c,{recursive:!0});for(let p of f.keys())n.has(p)||(await le.removePromise(J.join(c,p)),process.platform==="win32"&&await le.removePromise(J.join(c,`${p}.cmd`)));for(let[p,h]of n){let E=f.get(p),C=J.join(c,p);E!==h&&(process.platform==="win32"?await(0,P1e.default)(fe.fromPortablePath(h),fe.fromPortablePath(C),{createPwshFile:!1}):(await le.removePromise(C),await $W(h,C,s),J.contains(r,await le.realpathPromise(h))!==null&&await le.chmodPromise(h,493)))}}}qe();Dt();nA();var GD=class extends ng{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new tY(r)}},tY=class extends Ym{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let s=new mo({baseFs:new rA({maxOpenFiles:80,readOnlyArchives:!0})}),a=h1e(r,this.opts.project.cwd,s),{tree:n,errors:c}=kD(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:C,text:S}of c)this.opts.report.reportError(C,S);return}let f=new Map;r.fallbackPool=f;let p=(C,S)=>{let x=j.parseLocator(S.locator),I=j.stringifyIdent(x);I===C?f.set(C,x.reference):f.set(C,[I,x.reference])},h=J.join(this.opts.project.cwd,Er.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let C of E.dirList){let S=J.join(h,C),x=n.get(S);if(typeof x>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in x)p(C,x);else for(let I of x.dirList){let T=J.join(S,I),O=n.get(T);if(typeof O>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in O)p(`${C}/${I}`,O);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var h0t={hooks:{cleanGlobalArtifacts:async e=>{let t=eY(e);await le.removePromise(t)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[jD,GD]},g0t=h0t;var rK={};Vt(rK,{NpmHttpFetcher:()=>VD,NpmRemapResolver:()=>JD,NpmSemverFetcher:()=>sh,NpmSemverResolver:()=>KD,NpmTagResolver:()=>zD,default:()=>kvt,npmConfigUtils:()=>gi,npmHttpUtils:()=>en,npmPublishUtils:()=>d1});qe();var j1e=et(pi());var ei="npm:";var en={};Vt(en,{AuthType:()=>U1e,customPackageError:()=>Vm,del:()=>R0t,get:()=>Jm,getIdentUrl:()=>WD,getPackageMetadata:()=>Bw,handleInvalidAuthenticationError:()=>sg,post:()=>k0t,put:()=>Q0t});qe();qe();Dt();var sY=et(Vv());zl();var M1e=et(pi());var gi={};Vt(gi,{RegistryType:()=>O1e,getAuditRegistry:()=>d0t,getAuthConfiguration:()=>iY,getDefaultRegistry:()=>qD,getPublishRegistry:()=>m0t,getRegistryConfiguration:()=>L1e,getScopeConfiguration:()=>nY,getScopeRegistry:()=>Iw,isPackageApproved:()=>Cw,normalizeRegistry:()=>Jc});qe();var N1e=et(zo()),O1e=(s=>(s.AUDIT_REGISTRY="npmAuditRegistry",s.FETCH_REGISTRY="npmRegistryServer",s.PUBLISH_REGISTRY="npmPublishRegistry",s))(O1e||{});function Jc(e){return e.replace(/\/$/,"")}function d0t({configuration:e}){return qD({configuration:e,type:"npmAuditRegistry"})}function m0t(e,{configuration:t}){return e.publishConfig?.registry?Jc(e.publishConfig.registry):e.name?Iw(e.name.scope,{configuration:t,type:"npmPublishRegistry"}):qD({configuration:t,type:"npmPublishRegistry"})}function Iw(e,{configuration:t,type:r="npmRegistryServer"}){let s=nY(e,{configuration:t});if(s===null)return qD({configuration:t,type:r});let a=s.get(r);return a===null?qD({configuration:t,type:r}):Jc(a)}function qD({configuration:e,type:t="npmRegistryServer"}){let r=e.get(t);return Jc(r!==null?r:e.get("npmRegistryServer"))}function L1e(e,{configuration:t}){let r=t.get("npmRegistries"),s=Jc(e),a=r.get(s);if(typeof a<"u")return a;let n=r.get(s.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}var y0t=new Map([["npmRegistryServer","https://npm.jsr.io/"]]);function nY(e,{configuration:t}){if(e===null)return null;let s=t.get("npmScopes").get(e);return s||(e==="jsr"?y0t:null)}function iY(e,{configuration:t,ident:r}){let s=r&&nY(r.scope,{configuration:t});return s?.get("npmAuthIdent")||s?.get("npmAuthToken")?s:L1e(e,{configuration:t})||t}function E0t({configuration:e,version:t,publishTimes:r}){let s=e.get("npmMinimalAgeGate");if(s){let a=r?.[t];if(typeof a>"u"||(new Date().getTime()-new Date(a).getTime())/60/1e3I0t(t,r,s))}function Cw(e){return!E0t(e)||C0t(e)}var U1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(U1e||{});async function sg(e,{attemptedAs:t,registry:r,headers:s,configuration:a}){if(KF(e))throw new Lt(41,"Invalid OTP token");if(e.originalError?.name==="HTTPError"&&e.originalError?.response.statusCode===401)throw new Lt(41,`Invalid authentication (${typeof t!="string"?`as ${await F0t(r,s,{configuration:a})}`:`attempted as ${t}`})`)}function Vm(e,t){let r=e.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${pe.applyHyperlink(t,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function WD(e){return e.scope?`/@${encodeURIComponent(e.scope)}%2f${encodeURIComponent(e.name)}`:`/${encodeURIComponent(e.name)}`}var _1e=new Map,w0t=new Map;async function B0t(e){return await Ge.getFactoryWithDefault(_1e,e,async()=>{let t=null;try{t=await le.readJsonPromise(e)}catch{}return t})}async function v0t(e,t,{configuration:r,cached:s,registry:a,headers:n,version:c,...f}){return await Ge.getFactoryWithDefault(w0t,e,async()=>await Jm(WD(t),{...f,customErrorMessage:Vm,configuration:r,registry:a,ident:t,headers:{...n,"If-None-Match":s?.etag,"If-Modified-Since":s?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(s===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:s.metadata}}let E=D0t(JSON.parse(h.body.toString())),C={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return _1e.set(e,Promise.resolve(C)),Promise.resolve().then(async()=>{let S=`${e}-${process.pid}.tmp`;await le.mkdirPromise(J.dirname(S),{recursive:!0}),await le.writeJsonPromise(S,C,{compact:!0}),await le.renamePromise(S,e)}).catch(()=>{}),{...h,body:E}}}))}function S0t(e){return e.scope!==null?`@${e.scope}-${e.name}-${e.scope.length}`:e.name}async function Bw(e,{cache:t,project:r,registry:s,headers:a,version:n,...c}){let{configuration:f}=r;s=YD(f,{ident:e,registry:s});let p=P0t(f,s),h=J.join(p,`${S0t(e)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await B0t(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(f.get("enableOfflineMode")){let C=structuredClone(E.metadata),S=new Set;if(t){for(let I of Object.keys(C.versions)){let T=j.makeLocator(e,`npm:${I}`),O=t.getLocatorMirrorPath(T);(!O||!le.existsSync(O))&&(delete C.versions[I],S.add(I))}let x=C["dist-tags"].latest;if(S.has(x)){let I=Object.keys(E.metadata.versions).sort(M1e.default.compare),T=I.indexOf(x);for(;S.has(I[T])&&T>=0;)T-=1;T>=0?C["dist-tags"].latest=I[T]:delete C["dist-tags"].latest}}return C}}return await v0t(h,e,{...c,configuration:f,cached:E,registry:s,headers:a,version:n})}var H1e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function D0t(e){return{"dist-tags":e["dist-tags"],versions:Object.fromEntries(Object.entries(e.versions).map(([t,r])=>[t,Vd(r,H1e)])),time:e.time}}var b0t=Ln.makeHash("time",...H1e).slice(0,6);function P0t(e,t){let r=x0t(e),s=new URL(t);return J.join(r,b0t,s.hostname)}function x0t(e){return J.join(e.get("globalFolder"),"metadata/npm")}async function Jm(e,{configuration:t,headers:r,ident:s,authType:a,allowOidc:n,registry:c,...f}){c=YD(t,{ident:s,registry:c}),s&&s.scope&&typeof a>"u"&&(a=1);let p=await JF(c,{authType:a,allowOidc:n,configuration:t,ident:s});p&&(r={...r,authorization:p});try{return await nn.get(e.charAt(0)==="/"?`${c}${e}`:e,{configuration:t,headers:r,...f})}catch(h){throw await sg(h,{registry:c,configuration:t,headers:r}),h}}async function k0t(e,t,{attemptedAs:r,configuration:s,headers:a,ident:n,authType:c=3,allowOidc:f,registry:p,otp:h,...E}){p=YD(s,{ident:n,registry:p});let C=await JF(p,{authType:c,allowOidc:f,configuration:s,ident:n});C&&(a={...a,authorization:C}),h&&(a={...a,...ww(h)});try{return await nn.post(p+e,t,{configuration:s,headers:a,...E})}catch(S){if(!KF(S)||h)throw await sg(S,{attemptedAs:r,registry:p,configuration:s,headers:a}),S;h=await oY(S,{configuration:s});let x={...a,...ww(h)};try{return await nn.post(`${p}${e}`,t,{configuration:s,headers:x,...E})}catch(I){throw await sg(I,{attemptedAs:r,registry:p,configuration:s,headers:a}),I}}}async function Q0t(e,t,{attemptedAs:r,configuration:s,headers:a,ident:n,authType:c=3,allowOidc:f,registry:p,otp:h,...E}){p=YD(s,{ident:n,registry:p});let C=await JF(p,{authType:c,allowOidc:f,configuration:s,ident:n});C&&(a={...a,authorization:C}),h&&(a={...a,...ww(h)});try{return await nn.put(p+e,t,{configuration:s,headers:a,...E})}catch(S){if(!KF(S))throw await sg(S,{attemptedAs:r,registry:p,configuration:s,headers:a}),S;h=await oY(S,{configuration:s});let x={...a,...ww(h)};try{return await nn.put(`${p}${e}`,t,{configuration:s,headers:x,...E})}catch(I){throw await sg(I,{attemptedAs:r,registry:p,configuration:s,headers:a}),I}}}async function R0t(e,{attemptedAs:t,configuration:r,headers:s,ident:a,authType:n=3,allowOidc:c,registry:f,otp:p,...h}){f=YD(r,{ident:a,registry:f});let E=await JF(f,{authType:n,allowOidc:c,configuration:r,ident:a});E&&(s={...s,authorization:E}),p&&(s={...s,...ww(p)});try{return await nn.del(f+e,{configuration:r,headers:s,...h})}catch(C){if(!KF(C)||p)throw await sg(C,{attemptedAs:t,registry:f,configuration:r,headers:s}),C;p=await oY(C,{configuration:r});let S={...s,...ww(p)};try{return await nn.del(`${f}${e}`,{configuration:r,headers:S,...h})}catch(x){throw await sg(x,{attemptedAs:t,registry:f,configuration:r,headers:s}),x}}}function YD(e,{ident:t,registry:r}){if(typeof r>"u"&&t)return Iw(t.scope,{configuration:e});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return Jc(r)}async function JF(e,{authType:t=2,allowOidc:r=!1,configuration:s,ident:a}){let n=iY(e,{configuration:s,ident:a}),c=T0t(n,t);if(!c)return null;let f=await s.reduceHook(p=>p.getNpmAuthenticationHeader,void 0,e,{configuration:s,ident:a});if(f)return f;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let p=n.get("npmAuthIdent");return p.includes(":")?`Basic ${Buffer.from(p).toString("base64")}`:`Basic ${p}`}if(r&&a){let p=await N0t(e,{configuration:s,ident:a});if(p)return`Bearer ${p}`}if(c&&t!==1)throw new Lt(33,"No authentication configured for request");return null}function T0t(e,t){switch(t){case 2:return e.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function F0t(e,t,{configuration:r}){if(typeof t>"u"||typeof t.authorization>"u")return"an anonymous user";try{return(await nn.get(new URL(`${e}/-/whoami`).href,{configuration:r,headers:t,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function oY(e,{configuration:t}){let r=e.originalError?.response.headers["npm-notice"];if(r&&(await Ot.start({configuration:t,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,pe.pretty(t,"$1",pe.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&Ui.openUrl){let{openNow:c}=await(0,sY.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});c&&(await Ui.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:s}=await(0,sY.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),s}function KF(e){if(e.originalError?.name!=="HTTPError")return!1;try{return(e.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function ww(e){return{"npm-otp":e}}async function N0t(e,{configuration:t,ident:r}){let s=null;if(process.env.GITLAB_CI)s=process.env.NPM_ID_TOKEN||null;else if(process.env.CIRCLECI)s=process.env.NPM_ID_TOKEN||null;else if(process.env.GITHUB_ACTIONS){if(!(process.env.ACTIONS_ID_TOKEN_REQUEST_URL&&process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN))return null;let a=`npm:${new URL(e).host.replace("registry.yarnpkg.com","registry.npmjs.org").replace("yarn.npmjs.org","registry.npmjs.org")}`,n=new URL(process.env.ACTIONS_ID_TOKEN_REQUEST_URL);n.searchParams.append("audience",a),s=(await nn.get(n.href,{configuration:t,jsonResponse:!0,headers:{Authorization:`Bearer ${process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN}`}})).value}if(!s)return null;try{return(await nn.post(`${e}/-/npm/v1/oidc/token/exchange/package${WD(r)}`,null,{configuration:t,jsonResponse:!0,headers:{Authorization:`Bearer ${s}`}})).token||null}catch{}return null}var VD=class{supports(t,r){if(!t.reference.startsWith(ei))return!1;let{selector:s,params:a}=j.parseRange(t.reference);return!(!j1e.default.valid(s)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),checksum:c}}async fetchFromNetwork(t,r){let{params:s}=j.parseRange(t.reference);if(s===null||typeof s.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await Jm(s.__archiveUrl,{customErrorMessage:Vm,configuration:r.project.configuration,ident:t});return await ds.convertToZip(a,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(t),stripComponents:1})}};qe();var JD=class{supportsDescriptor(t,r){return!(!t.range.startsWith(ei)||!j.tryParseDescriptor(t.range.slice(ei.length),!0))}supportsLocator(t,r){return!1}shouldPersistResolution(t,r){throw new Error("Unreachable")}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){let s=r.project.configuration.normalizeDependency(j.parseDescriptor(t.range.slice(ei.length),!0));return r.resolver.getResolutionDependencies(s,r)}async getCandidates(t,r,s){let a=s.project.configuration.normalizeDependency(j.parseDescriptor(t.range.slice(ei.length),!0));return await s.resolver.getCandidates(a,r,s)}async getSatisfying(t,r,s,a){let n=a.project.configuration.normalizeDependency(j.parseDescriptor(t.range.slice(ei.length),!0));return a.resolver.getSatisfying(n,r,s,a)}resolve(t,r){throw new Error("Unreachable")}};qe();qe();var G1e=et(pi());var sh=class e{supports(t,r){if(!t.reference.startsWith(ei))return!1;let s=new URL(t.reference);return!(!G1e.default.valid(s.pathname)||s.searchParams.has("__archiveUrl"))}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),checksum:c}}async fetchFromNetwork(t,r){let s;try{s=await Jm(e.getLocatorUrl(t),{customErrorMessage:Vm,configuration:r.project.configuration,ident:t})}catch{s=await Jm(e.getLocatorUrl(t).replace(/%2f/g,"/"),{customErrorMessage:Vm,configuration:r.project.configuration,ident:t})}return await ds.convertToZip(s,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(t),stripComponents:1})}static isConventionalTarballUrl(t,r,{configuration:s}){let a=Iw(t.scope,{configuration:s}),n=e.getLocatorUrl(t);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(t){let r=kr.clean(t.reference.slice(ei.length));if(r===null)throw new Lt(10,"The npm semver resolver got selected, but the version isn't semver");let s=encodeURIComponent(t.name),a=encodeURIComponent(r);return`${WD(t)}/-/${s}-${a}.tgz`}};qe();qe();qe();var aY=et(pi());var zF=j.makeIdent(null,"node-gyp"),O0t=/\b(node-gyp|prebuild-install)\b/,KD=class{supportsDescriptor(t,r){return t.range.startsWith(ei)?!!kr.validRange(t.range.slice(ei.length)):!1}supportsLocator(t,r){if(!t.reference.startsWith(ei))return!1;let{selector:s}=j.parseRange(t.reference);return!!aY.default.valid(s)}shouldPersistResolution(t,r){return!0}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){let a=kr.validRange(t.range.slice(ei.length));if(a===null)throw new Error(`Expected a valid range, got ${t.range.slice(ei.length)}`);let n=await Bw(t,{cache:s.fetchOptions?.cache,project:s.project,version:aY.default.valid(a.raw)?a.raw:void 0}),c=Ge.mapAndFilter(Object.keys(n.versions),E=>{try{let C=new kr.SemVer(E);if(a.test(C))return C}catch{}return Ge.mapAndFilter.skip}),f=c.filter(E=>Cw({configuration:s.project.configuration,ident:t,version:E.raw,publishTimes:n.time}));if(c.length>0&&f.length===0)throw new Lt(16,`All versions satisfying "${t.range.slice(ei.length)}" are quarantined`);let p=f.filter(E=>!n.versions[E.raw].deprecated),h=p.length>0?p:f;return h.sort((E,C)=>-E.compare(C)),h.map(E=>{let C=j.makeLocator(t,`${ei}${E.raw}`),S=n.versions[E.raw].dist.tarball;return sh.isConventionalTarballUrl(C,S,{configuration:s.project.configuration})?C:j.bindLocator(C,{__archiveUrl:S})})}async getSatisfying(t,r,s,a){let n=kr.validRange(t.range.slice(ei.length));if(n===null)throw new Error(`Expected a valid range, got ${t.range.slice(ei.length)}`);return{locators:Ge.mapAndFilter(s,p=>{if(p.identHash!==t.identHash)return Ge.mapAndFilter.skip;let h=j.tryParseRange(p.reference,{requireProtocol:ei});if(!h)return Ge.mapAndFilter.skip;let E=new kr.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:Ge.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(t,r){let{selector:s}=j.parseRange(t.reference),a=kr.clean(s);if(a===null)throw new Lt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await Bw(t,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new Lt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new Lt(16,`Registry failed to return reference "${a}"`);let c=new _t;if(c.load(n.versions[a]),!c.dependencies.has(zF.identHash)&&!c.peerDependencies.has(zF.identHash)){for(let f of c.scripts.values())if(f.match(O0t)){c.dependencies.set(zF.identHash,j.makeDescriptor(zF,"latest"));break}}return{...t,version:a,languageName:"node",linkType:"HARD",conditions:c.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(c.dependencies),peerDependencies:c.peerDependencies,dependenciesMeta:c.dependenciesMeta,peerDependenciesMeta:c.peerDependenciesMeta,bin:c.bin}}};qe();qe();var XF=et(pi());var zD=class{supportsDescriptor(t,r){return!(!t.range.startsWith(ei)||!_p.test(t.range.slice(ei.length)))}supportsLocator(t,r){return!1}shouldPersistResolution(t,r){throw new Error("Unreachable")}bindDescriptor(t,r,s){return t}getResolutionDependencies(t,r){return{}}async getCandidates(t,r,s){let a=t.range.slice(ei.length),n=await Bw(t,{cache:s.fetchOptions?.cache,project:s.project});if(!Object.hasOwn(n,"dist-tags"))throw new Lt(15,'Registry returned invalid data - missing "dist-tags" field');let c=n["dist-tags"];if(!Object.hasOwn(c,a))throw new Lt(16,`Registry failed to return tag "${a}"`);let f=Object.keys(n.versions),p=n.time,h=c[a];if(a==="latest"&&!Cw({configuration:s.project.configuration,ident:t,version:h,publishTimes:p})){let S=h.includes("-"),x=XF.default.rsort(f).find(I=>XF.default.lt(I,h)&&(S||!I.includes("-"))&&Cw({configuration:s.project.configuration,ident:t,version:I,publishTimes:p}));if(!x)throw new Lt(16,`The version for tag "${a}" is quarantined, and no lower version is available`);h=x}let E=j.makeLocator(t,`${ei}${h}`),C=n.versions[h].dist.tarball;return sh.isConventionalTarballUrl(E,C,{configuration:s.project.configuration})?[E]:[j.bindLocator(E,{__archiveUrl:C})]}async getSatisfying(t,r,s,a){let n=[];for(let c of s){if(c.identHash!==t.identHash)continue;let f=j.tryParseRange(c.reference,{requireProtocol:ei});if(!(!f||!XF.default.valid(f.selector))){if(f.params?.__archiveUrl){let p=j.makeRange({protocol:ei,selector:f.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(j.makeDescriptor(t,p),r,a);if(c.reference!==h.reference)continue}n.push(c)}}return{locators:n,sorted:!1}}async resolve(t,r){throw new Error("Unreachable")}};var d1={};Vt(d1,{getGitHead:()=>bvt,getPublishAccess:()=>Tbe,getReadmeContent:()=>Fbe,makePublishBody:()=>Dvt});qe();qe();Dt();var KY={};Vt(KY,{PackCommand:()=>Fw,default:()=>gmt,packUtils:()=>IA});qe();qe();qe();Dt();Yt();var IA={};Vt(IA,{genPackList:()=>IN,genPackStream:()=>JY,genPackageManifest:()=>IBe,hasPackScripts:()=>YY,prepareForPack:()=>VY});qe();Dt();var WY=et(zo()),yBe=et(hBe()),EBe=Ie("zlib"),imt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],smt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function YY(e){return!!(Cn.hasWorkspaceScript(e,"prepack")||Cn.hasWorkspaceScript(e,"postpack"))}async function VY(e,{report:t},r){await Cn.maybeExecuteWorkspaceLifecycleScript(e,"prepack",{report:t});try{let s=J.join(e.cwd,_t.fileName);await le.existsPromise(s)&&await e.manifest.loadFile(s,{baseFs:le}),await r()}finally{await Cn.maybeExecuteWorkspaceLifecycleScript(e,"postpack",{report:t})}}async function JY(e,t){typeof t>"u"&&(t=await IN(e));let r=new Set;for(let n of e.manifest.publishConfig?.executableFiles??new Set)r.add(J.normalize(n));for(let n of e.manifest.bin.values())r.add(J.normalize(n));let s=yBe.default.pack();process.nextTick(async()=>{for(let n of t){let c=J.normalize(n),f=J.resolve(e.cwd,c),p=J.join("package",c),h=await le.lstatPromise(f),E={name:p,mtime:new Date(Ai.SAFE_TIME*1e3)},C=r.has(c)?493:420,S,x,I=new Promise((O,U)=>{S=O,x=U}),T=O=>{O?x(O):S()};if(h.isFile()){let O;c==="package.json"?O=Buffer.from(JSON.stringify(await IBe(e),null,2)):O=await le.readFilePromise(f),s.entry({...E,mode:C,type:"file"},O,T)}else h.isSymbolicLink()?s.entry({...E,mode:C,type:"symlink",linkname:await le.readlinkPromise(f)},T):T(new Error(`Unsupported file type ${h.mode} for ${fe.fromPortablePath(c)}`));await I}s.finalize()});let a=(0,EBe.createGzip)();return s.pipe(a),a}async function IBe(e){let t=JSON.parse(JSON.stringify(e.manifest.raw));return await e.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,e,t),t}async function IN(e){let t=e.project,r=t.configuration,s={accept:[],reject:[]};for(let C of smt)s.reject.push(C);for(let C of imt)s.accept.push(C);s.reject.push(r.get("rcFilename"));let a=C=>{if(C===null||!C.startsWith(`${e.cwd}/`))return;let S=J.relative(e.cwd,C),x=J.resolve(vt.root,S);s.reject.push(x)};a(J.resolve(t.cwd,Er.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(C=>C.populateYarnPaths,t,C=>{a(C)});for(let C of t.workspaces){let S=J.relative(e.cwd,C.cwd);S!==""&&!S.match(/^(\.\.)?\//)&&s.reject.push(`/${S}`)}let n={accept:[],reject:[]},c=e.manifest.publishConfig?.main??e.manifest.main,f=e.manifest.publishConfig?.module??e.manifest.module,p=e.manifest.publishConfig?.browser??e.manifest.browser,h=e.manifest.publishConfig?.bin??e.manifest.bin;c!=null&&n.accept.push(J.resolve(vt.root,c)),f!=null&&n.accept.push(J.resolve(vt.root,f)),typeof p=="string"&&n.accept.push(J.resolve(vt.root,p));for(let C of h.values())n.accept.push(J.resolve(vt.root,C));if(p instanceof Map)for(let[C,S]of p.entries())n.accept.push(J.resolve(vt.root,C)),typeof S=="string"&&n.accept.push(J.resolve(vt.root,S));let E=e.manifest.files!==null;if(E){n.reject.push("/*");for(let C of e.manifest.files)CBe(n.accept,C,{cwd:vt.root})}return await omt(e.cwd,{hasExplicitFileList:E,globalList:s,ignoreList:n})}async function omt(e,{hasExplicitFileList:t,globalList:r,ignoreList:s}){let a=[],n=new qf(e),c=[[vt.root,[s]]];for(;c.length>0;){let[f,p]=c.pop(),h=await n.lstatPromise(f);if(!dBe(f,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(f),C=!1,S=!1;if(!t||f!==vt.root)for(let T of E)C=C||T===".gitignore",S=S||T===".npmignore";let x=S?await gBe(n,f,".npmignore"):C?await gBe(n,f,".gitignore"):null,I=x!==null?[x].concat(p):p;dBe(f,{globalList:r,ignoreLists:p})&&(I=[...p,{accept:[],reject:["**/*"]}]);for(let T of E)c.push([J.resolve(f,T),I])}else(h.isFile()||h.isSymbolicLink())&&a.push(J.relative(vt.root,f))}return a.sort()}async function gBe(e,t,r){let s={accept:[],reject:[]},a=await e.readFilePromise(J.join(t,r),"utf8");for(let n of a.split(/\n/g))CBe(s.reject,n,{cwd:t});return s}function amt(e,{cwd:t}){let r=e[0]==="!";return r&&(e=e.slice(1)),e.match(/\.{0,1}\//)&&(e=J.resolve(t,e)),r&&(e=`!${e}`),e}function CBe(e,t,{cwd:r}){let s=t.trim();s===""||s[0]==="#"||e.push(amt(s,{cwd:r}))}function dBe(e,{globalList:t,ignoreLists:r}){let s=EN(e,t.accept);if(s!==0)return s===2;let a=EN(e,t.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let c=EN(e,n.accept);if(c!==0)return c===2;let f=EN(e,n.reject);if(f!==0)return f===1}return!1}function EN(e,t){let r=t,s=[];for(let a=0;a{await VY(a,{report:p},async()=>{p.reportJson({base:fe.fromPortablePath(a.cwd)});let h=await IN(a);for(let E of h)p.reportInfo(null,fe.fromPortablePath(E)),p.reportJson({location:fe.fromPortablePath(E)});if(!this.dryRun){let E=await JY(a,h);await le.mkdirPromise(J.dirname(c),{recursive:!0});let C=le.createWriteStream(c);E.pipe(C),await new Promise(S=>{C.on("finish",S)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${pe.pretty(r,c,pe.Type.PATH)}`),p.reportJson({output:fe.fromPortablePath(c)}))})).exitCode()}};function lmt(e,{workspace:t}){let r=e.replace("%s",cmt(t)).replace("%v",umt(t));return fe.toPortablePath(r)}function cmt(e){return e.manifest.name!==null?j.slugifyIdent(e.manifest.name):"package"}function umt(e){return e.manifest.version!==null?e.manifest.version:"unknown"}var fmt=["dependencies","devDependencies","peerDependencies"],Amt="workspace:",pmt=(e,t)=>{t.publishConfig&&(t.publishConfig.type&&(t.type=t.publishConfig.type),t.publishConfig.main&&(t.main=t.publishConfig.main),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.module&&(t.module=t.publishConfig.module),t.publishConfig.exports&&(t.exports=t.publishConfig.exports),t.publishConfig.imports&&(t.imports=t.publishConfig.imports),t.publishConfig.bin&&(t.bin=t.publishConfig.bin));let r=e.project;for(let s of fmt)for(let a of e.manifest.getForScope(s).values()){let n=r.tryWorkspaceByDescriptor(a),c=j.parseRange(a.range);if(c.protocol===Amt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Lt(21,`${j.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let f;j.areDescriptorsEqual(a,n.anchoredDescriptor)||c.selector==="*"?f=n.manifest.version??"0.0.0":c.selector==="~"||c.selector==="^"?f=`${c.selector}${n.manifest.version??"0.0.0"}`:f=c.selector;let p=s==="dependencies"?j.makeDescriptor(a,"unknown"):null,h=p!==null&&e.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":s;t[h][j.stringifyIdent(a)]=f}}},hmt={hooks:{beforeWorkspacePacking:pmt},commands:[Fw]},gmt=hmt;var Rbe=et(kBe());qe();var kbe=et(xbe()),{env:Bt}=process,mvt="application/vnd.in-toto+json",yvt="https://in-toto.io/Statement/v0.1",Evt="https://in-toto.io/Statement/v1",Ivt="https://slsa.dev/provenance/v0.2",Cvt="https://slsa.dev/provenance/v1",wvt="https://github.com/actions/runner",Bvt="https://slsa-framework.github.io/github-actions-buildtypes/workflow/v1",vvt="https://github.com/npm/cli/gitlab",Svt="v0alpha1",Qbe=async(e,t)=>{let r;if(Bt.GITHUB_ACTIONS){if(!Bt.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Lt(91,'Provenance generation in GitHub Actions requires "write" access to the "id-token" permission');let s=(Bt.GITHUB_WORKFLOW_REF||"").replace(`${Bt.GITHUB_REPOSITORY}/`,""),a=s.indexOf("@"),n=s.slice(0,a),c=s.slice(a+1);r={_type:Evt,subject:e,predicateType:Cvt,predicate:{buildDefinition:{buildType:Bvt,externalParameters:{workflow:{ref:c,repository:`${Bt.GITHUB_SERVER_URL}/${Bt.GITHUB_REPOSITORY}`,path:n}},internalParameters:{github:{event_name:Bt.GITHUB_EVENT_NAME,repository_id:Bt.GITHUB_REPOSITORY_ID,repository_owner_id:Bt.GITHUB_REPOSITORY_OWNER_ID}},resolvedDependencies:[{uri:`git+${Bt.GITHUB_SERVER_URL}/${Bt.GITHUB_REPOSITORY}@${Bt.GITHUB_REF}`,digest:{gitCommit:Bt.GITHUB_SHA}}]},runDetails:{builder:{id:`${wvt}/${Bt.RUNNER_ENVIRONMENT}`},metadata:{invocationId:`${Bt.GITHUB_SERVER_URL}/${Bt.GITHUB_REPOSITORY}/actions/runs/${Bt.GITHUB_RUN_ID}/attempts/${Bt.GITHUB_RUN_ATTEMPT}`}}}}}else if(Bt.GITLAB_CI){if(!Bt.SIGSTORE_ID_TOKEN)throw new Lt(91,`Provenance generation in GitLab CI requires "SIGSTORE_ID_TOKEN" with "sigstore" audience to be present in "id_tokens". For more info see: +https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html`);r={_type:yvt,subject:e,predicateType:Ivt,predicate:{buildType:`${vvt}/${Svt}`,builder:{id:`${Bt.CI_PROJECT_URL}/-/runners/${Bt.CI_RUNNER_ID}`},invocation:{configSource:{uri:`git+${Bt.CI_PROJECT_URL}`,digest:{sha1:Bt.CI_COMMIT_SHA},entryPoint:Bt.CI_JOB_NAME},parameters:{CI:Bt.CI,CI_API_GRAPHQL_URL:Bt.CI_API_GRAPHQL_URL,CI_API_V4_URL:Bt.CI_API_V4_URL,CI_BUILD_BEFORE_SHA:Bt.CI_BUILD_BEFORE_SHA,CI_BUILD_ID:Bt.CI_BUILD_ID,CI_BUILD_NAME:Bt.CI_BUILD_NAME,CI_BUILD_REF:Bt.CI_BUILD_REF,CI_BUILD_REF_NAME:Bt.CI_BUILD_REF_NAME,CI_BUILD_REF_SLUG:Bt.CI_BUILD_REF_SLUG,CI_BUILD_STAGE:Bt.CI_BUILD_STAGE,CI_COMMIT_BEFORE_SHA:Bt.CI_COMMIT_BEFORE_SHA,CI_COMMIT_BRANCH:Bt.CI_COMMIT_BRANCH,CI_COMMIT_REF_NAME:Bt.CI_COMMIT_REF_NAME,CI_COMMIT_REF_PROTECTED:Bt.CI_COMMIT_REF_PROTECTED,CI_COMMIT_REF_SLUG:Bt.CI_COMMIT_REF_SLUG,CI_COMMIT_SHA:Bt.CI_COMMIT_SHA,CI_COMMIT_SHORT_SHA:Bt.CI_COMMIT_SHORT_SHA,CI_COMMIT_TIMESTAMP:Bt.CI_COMMIT_TIMESTAMP,CI_COMMIT_TITLE:Bt.CI_COMMIT_TITLE,CI_CONFIG_PATH:Bt.CI_CONFIG_PATH,CI_DEFAULT_BRANCH:Bt.CI_DEFAULT_BRANCH,CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX:Bt.CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX,CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX:Bt.CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX,CI_DEPENDENCY_PROXY_SERVER:Bt.CI_DEPENDENCY_PROXY_SERVER,CI_DEPENDENCY_PROXY_USER:Bt.CI_DEPENDENCY_PROXY_USER,CI_JOB_ID:Bt.CI_JOB_ID,CI_JOB_NAME:Bt.CI_JOB_NAME,CI_JOB_NAME_SLUG:Bt.CI_JOB_NAME_SLUG,CI_JOB_STAGE:Bt.CI_JOB_STAGE,CI_JOB_STARTED_AT:Bt.CI_JOB_STARTED_AT,CI_JOB_URL:Bt.CI_JOB_URL,CI_NODE_TOTAL:Bt.CI_NODE_TOTAL,CI_PAGES_DOMAIN:Bt.CI_PAGES_DOMAIN,CI_PAGES_URL:Bt.CI_PAGES_URL,CI_PIPELINE_CREATED_AT:Bt.CI_PIPELINE_CREATED_AT,CI_PIPELINE_ID:Bt.CI_PIPELINE_ID,CI_PIPELINE_IID:Bt.CI_PIPELINE_IID,CI_PIPELINE_SOURCE:Bt.CI_PIPELINE_SOURCE,CI_PIPELINE_URL:Bt.CI_PIPELINE_URL,CI_PROJECT_CLASSIFICATION_LABEL:Bt.CI_PROJECT_CLASSIFICATION_LABEL,CI_PROJECT_DESCRIPTION:Bt.CI_PROJECT_DESCRIPTION,CI_PROJECT_ID:Bt.CI_PROJECT_ID,CI_PROJECT_NAME:Bt.CI_PROJECT_NAME,CI_PROJECT_NAMESPACE:Bt.CI_PROJECT_NAMESPACE,CI_PROJECT_NAMESPACE_ID:Bt.CI_PROJECT_NAMESPACE_ID,CI_PROJECT_PATH:Bt.CI_PROJECT_PATH,CI_PROJECT_PATH_SLUG:Bt.CI_PROJECT_PATH_SLUG,CI_PROJECT_REPOSITORY_LANGUAGES:Bt.CI_PROJECT_REPOSITORY_LANGUAGES,CI_PROJECT_ROOT_NAMESPACE:Bt.CI_PROJECT_ROOT_NAMESPACE,CI_PROJECT_TITLE:Bt.CI_PROJECT_TITLE,CI_PROJECT_URL:Bt.CI_PROJECT_URL,CI_PROJECT_VISIBILITY:Bt.CI_PROJECT_VISIBILITY,CI_REGISTRY:Bt.CI_REGISTRY,CI_REGISTRY_IMAGE:Bt.CI_REGISTRY_IMAGE,CI_REGISTRY_USER:Bt.CI_REGISTRY_USER,CI_RUNNER_DESCRIPTION:Bt.CI_RUNNER_DESCRIPTION,CI_RUNNER_ID:Bt.CI_RUNNER_ID,CI_RUNNER_TAGS:Bt.CI_RUNNER_TAGS,CI_SERVER_HOST:Bt.CI_SERVER_HOST,CI_SERVER_NAME:Bt.CI_SERVER_NAME,CI_SERVER_PORT:Bt.CI_SERVER_PORT,CI_SERVER_PROTOCOL:Bt.CI_SERVER_PROTOCOL,CI_SERVER_REVISION:Bt.CI_SERVER_REVISION,CI_SERVER_SHELL_SSH_HOST:Bt.CI_SERVER_SHELL_SSH_HOST,CI_SERVER_SHELL_SSH_PORT:Bt.CI_SERVER_SHELL_SSH_PORT,CI_SERVER_URL:Bt.CI_SERVER_URL,CI_SERVER_VERSION:Bt.CI_SERVER_VERSION,CI_SERVER_VERSION_MAJOR:Bt.CI_SERVER_VERSION_MAJOR,CI_SERVER_VERSION_MINOR:Bt.CI_SERVER_VERSION_MINOR,CI_SERVER_VERSION_PATCH:Bt.CI_SERVER_VERSION_PATCH,CI_TEMPLATE_REGISTRY_HOST:Bt.CI_TEMPLATE_REGISTRY_HOST,GITLAB_CI:Bt.GITLAB_CI,GITLAB_FEATURES:Bt.GITLAB_FEATURES,GITLAB_USER_ID:Bt.GITLAB_USER_ID,GITLAB_USER_LOGIN:Bt.GITLAB_USER_LOGIN,RUNNER_GENERATE_ARTIFACTS_METADATA:Bt.RUNNER_GENERATE_ARTIFACTS_METADATA},environment:{name:Bt.CI_RUNNER_DESCRIPTION,architecture:Bt.CI_RUNNER_EXECUTABLE_ARCH,server:Bt.CI_SERVER_URL,project:Bt.CI_PROJECT_PATH,job:{id:Bt.CI_JOB_ID},pipeline:{id:Bt.CI_PIPELINE_ID,ref:Bt.CI_CONFIG_PATH}}},metadata:{buildInvocationId:`${Bt.CI_JOB_URL}`,completeness:{parameters:!0,environment:!0,materials:!1},reproducible:!1},materials:[{uri:`git+${Bt.CI_PROJECT_URL}`,digest:{sha1:Bt.CI_COMMIT_SHA}}]}}}else throw new Lt(91,"Provenance generation is only supported in GitHub Actions and GitLab CI");return kbe.attest(Buffer.from(JSON.stringify(r)),mvt,t)};async function Dvt(e,t,{access:r,tag:s,registry:a,gitHead:n,provenance:c}){let f=e.manifest.name,p=e.manifest.version,h=j.stringifyIdent(f),E=Rbe.default.fromData(t,{algorithms:["sha1","sha512"]}),C=r??Tbe(e,f),S=await Fbe(e),x=await IA.genPackageManifest(e),I=`${h}-${p}.tgz`,T=new URL(`${Jc(a)}/${h}/-/${I}`),O={[I]:{content_type:"application/octet-stream",data:t.toString("base64"),length:t.length}};if(c){let U={name:`pkg:npm/${h.replace(/^@/,"%40")}@${p}`,digest:{sha512:E.sha512[0].hexDigest()}},V=await Qbe([U]),te=JSON.stringify(V);O[`${h}-${p}.sigstore`]={content_type:V.mediaType,data:te,length:te.length}}return{_id:h,_attachments:O,name:h,access:C,"dist-tags":{[s]:p},versions:{[p]:{...x,_id:`${h}@${p}`,name:h,version:p,gitHead:n,dist:{shasum:E.sha1[0].hexDigest(),integrity:E.sha512[0].toString(),tarball:T.toString()}}},readme:S}}async function bvt(e){try{let{stdout:t}=await qr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:e});return t.trim()===""?void 0:t.trim()}catch{return}}function Tbe(e,t){let r=e.project.configuration;return e.manifest.publishConfig&&typeof e.manifest.publishConfig.access=="string"?e.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):t.scope?"restricted":"public"}async function Fbe(e){let t=fe.toPortablePath(`${e.cwd}/README.md`),r=e.manifest.name,a=`# ${j.stringifyIdent(r)} +`;try{a=await le.readFilePromise(t,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var tK={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Nbe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},Pvt={npmMinimalAgeGate:{description:"Minimum age of a package version according to the publish date on the npm registry to be considered for installation",type:"DURATION",unit:"m",default:"1d"},npmPreapprovedPackages:{description:"Array of package descriptors or package name glob patterns to exclude from the minimum release age check",type:"STRING",isArray:!0,default:[]}},xvt={configuration:{...tK,...Nbe,...Pvt,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...tK,...Nbe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:Jc,valueDefinition:{description:"",type:"SHAPE",properties:{...tK}}}},fetchers:[VD,sh],resolvers:[JD,KD,zD]},kvt=xvt;var AK={};Vt(AK,{NpmAuditCommand:()=>y1,NpmInfoCommand:()=>E1,NpmLoginCommand:()=>I1,NpmLogoutCommand:()=>w1,NpmPublishCommand:()=>B1,NpmTagAddCommand:()=>S1,NpmTagListCommand:()=>v1,NpmTagRemoveCommand:()=>D1,NpmWhoamiCommand:()=>b1,default:()=>jvt,npmAuditTypes:()=>zb,npmAuditUtils:()=>gL});qe();qe();Yt();var aK=et(zo());Al();var zb={};Vt(zb,{Environment:()=>Jb,Severity:()=>Kb});var Jb=(s=>(s.All="all",s.Production="production",s.Development="development",s))(Jb||{}),Kb=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Kb||{});var gL={};Vt(gL,{allSeverities:()=>m1,getPackages:()=>oK,getReportTree:()=>iK,getSeverityInclusions:()=>nK,getTopLevelDependencies:()=>sK});qe();var Obe=et(pi());var m1=["info","low","moderate","high","critical"];function nK(e){if(typeof e>"u")return new Set(m1);let t=m1.indexOf(e),r=m1.slice(t);return new Set(r)}function iK(e){let t={},r={children:t};for(let[s,a]of Ge.sortMap(Object.entries(e),n=>n[0]))for(let n of Ge.sortMap(a,c=>`${c.id}`))t[`${s}/${n.id}`]={value:pe.tuple(pe.Type.IDENT,j.parseIdent(s)),children:{ID:typeof n.id<"u"&&{label:"ID",value:pe.tuple(pe.Type.ID,n.id)},Issue:{label:"Issue",value:pe.tuple(pe.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:pe.tuple(pe.Type.URL,n.url)},Severity:{label:"Severity",value:pe.tuple(pe.Type.NO_HINT,n.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:pe.tuple(pe.Type.RANGE,n.vulnerable_versions)},"Tree Versions":{label:"Tree Versions",children:[...n.versions].sort(Obe.default.compare).map(c=>({value:pe.tuple(pe.Type.REFERENCE,c)}))},Dependents:{label:"Dependents",children:Ge.sortMap(n.dependents,c=>j.stringifyLocator(c)).map(c=>({value:pe.tuple(pe.Type.LOCATOR,c)}))}}};return r}function sK(e,t,{all:r,environment:s}){let a=[],n=r?e.workspaces:[t],c=["all","production"].includes(s),f=["all","development"].includes(s);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!f:!c)||a.push({workspace:p,dependency:h});return a}function oK(e,t,{recursive:r}){let s=new Map,a=new Set,n=[],c=e.configuration.makeResolver(),f={project:e,resolver:c},p=(h,E)=>{let C=e.storedResolutions.get(E.descriptorHash);if(typeof C>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(C))a.add(C);else return;let S=e.storedPackages.get(C);if(typeof S>"u")throw new Error("Assertion failed: The package should have been registered");let x=j.ensureDevirtualizedDescriptor(E);if(c.supportsDescriptor(x,f)){let T=c.getResolutionDependencies(x,f);if(Object.keys(T).length>0)for(let O of Object.values(T))p(h,O)}if(j.ensureDevirtualizedLocator(S).reference.startsWith("npm:")&&S.version!==null){let T=j.stringifyIdent(S),O=Ge.getMapWithDefault(s,T);Ge.getArrayWithDefault(O,S.version).push(h)}if(r)for(let T of S.dependencies.values())n.push([S,T])};for(let{workspace:h,dependency:E}of t)n.push([h.anchoredLocator,E]);for(;n.length>0;){let[h,E]=n.shift();p(h,E)}return s}var y1=class extends At{constructor(){super(...arguments);this.all=he.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=he.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=he.String("--environment","all",{description:"Which environments to cover",validator:ks(Jb)});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=he.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=he.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:ks(Kb)});this.excludes=he.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=he.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}static{this.paths=[["npm","audit"]]}static{this.usage=at.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${m1.map(r=>`\`${r}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. + + If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=sK(s,a,{all:this.all,environment:this.environment}),c=oK(s,n,{recursive:this.recursive}),f=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[O,U]of c)f.some(V=>aK.default.isMatch(O,V))||(p[O]=[...U.keys()]);let h=gi.getAuditRegistry({configuration:r}),E,C=await uA.start({configuration:r,stdout:this.context.stdout},async()=>{let O=en.post("/-/npm/v1/security/advisories/bulk",p,{authType:en.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,ie])=>{let ue=await en.getPackageMetadata(j.parseIdent(te),{project:s});return Ge.mapAndFilter(ie,ae=>{let{deprecated:de}=ue.versions[ae];return de?[te,ae,de]:Ge.mapAndFilter.skip})})),V=await O;for(let[te,ie,ue]of U.flat(1))Object.hasOwn(V,te)&&V[te].some(ae=>kr.satisfiesWithPrereleases(ie,ae.vulnerable_versions))||(V[te]??=[],V[te].push({id:`${te} (deprecation)`,title:(typeof ue=="string"?ue:"").trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:ie}));E=V});if(C.hasErrors())return C.exitCode();let S=nK(this.severity),x=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),I=Object.create(null);for(let[O,U]of Object.entries(E)){let V=U.filter(te=>!aK.default.isMatch(`${te.id}`,x)&&S.has(te.severity));V.length>0&&(I[O]=V.map(te=>{let ie=c.get(O);if(typeof ie>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let ue=[...ie.keys()].filter(de=>kr.satisfiesWithPrereleases(de,te.vulnerable_versions)),ae=new Map;for(let de of ue)for(let Ae of ie.get(de))ae.set(Ae.locatorHash,Ae);return{...te,versions:ue,dependents:[...ae.values()]}}))}let T=Object.keys(I).length>0;return T?(Rs.emitTree(iK(I),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ot.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async O=>{O.reportInfo(1,"No audit suggestions")}),T?1:0)}};qe();qe();Dt();Yt();var lK=et(pi()),cK=Ie("util"),E1=class extends At{constructor(){super(...arguments);this.fields=he.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=he.Rest()}static{this.paths=[["npm","info"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],c=!1,f=await Ot.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let ie=s.topLevelWorkspace;if(!ie.manifest.name)throw new it(`Missing ${pe.pretty(r,"name",pe.Type.CODE)} field in ${fe.fromPortablePath(J.join(ie.cwd,Er.manifest))}`);E=j.makeDescriptor(ie.manifest.name,"unknown")}else E=j.parseDescriptor(h);let C=en.getIdentUrl(E),S=uK(await en.get(C,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:en.customPackageError})),x=Object.keys(S.versions).sort(lK.default.compareLoose),T=S["dist-tags"].latest||x[x.length-1],O=kr.validRange(E.range);if(O){let ie=lK.default.maxSatisfying(x,O);ie!==null?T=ie:(p.reportWarning(0,`Unmet range ${j.prettyRange(r,E.range)}; falling back to the latest version`),c=!0)}else Object.hasOwn(S["dist-tags"],E.range)?T=S["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${j.prettyRange(r,E.range)}; falling back to the latest version`),c=!0);let U=S.versions[T],V={...S,...U,version:T,versions:x},te;if(a!==null){te={};for(let ie of a){let ue=V[ie];if(typeof ue<"u")te[ie]=ue;else{p.reportWarning(1,`The ${pe.pretty(r,ie,pe.Type.CODE)} field doesn't exist inside ${j.prettyIdent(r,E)}'s information`),c=!0;continue}}}else this.json||(delete V.dist,delete V.readme,delete V.users),te=V;p.reportJson(te),this.json||n.push(te)}});cK.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||c)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,cK.inspect)(p,{depth:1/0,colors:!0,compact:!1})} +`);return f.exitCode()}};function uK(e){if(Array.isArray(e)){let t=[];for(let r of e)r=uK(r),r&&t.push(r);return t}else if(typeof e=="object"&&e!==null){let t={};for(let r of Object.keys(e)){if(r.startsWith("_"))continue;let s=uK(e[r]);s&&(t[r]=s)}return t}else return e||null}qe();qe();Yt();var fK=et(Vv()),I1=class extends At{constructor(){super(...arguments);this.scope=he.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=he.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=he.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"});this.webLogin=he.Boolean("--web-login",{description:"Enable web login"})}static{this.paths=[["npm","login"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=await dL({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ot.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let c=await Nvt({registry:s,configuration:r,report:n,webLogin:this.webLogin,stdin:this.context.stdin,stdout:this.context.stdout});return await Lvt(s,c,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};async function dL({scope:e,publish:t,configuration:r,cwd:s}){return e&&t?gi.getScopeRegistry(e,{configuration:r,type:gi.RegistryType.PUBLISH_REGISTRY}):e?gi.getScopeRegistry(e,{configuration:r}):t?gi.getPublishRegistry((await WI(r,s)).manifest,{configuration:r}):gi.getDefaultRegistry({configuration:r})}async function Qvt(e,t){let r;try{r=await en.post("/-/v1/login",null,{configuration:t,registry:e,authType:en.AuthType.NO_AUTH,jsonResponse:!0,headers:{"npm-auth-type":"web"}})}catch{return null}return r}async function Rvt(e,t){let r=await nn.request(e,null,{configuration:t,jsonResponse:!0});if(r.statusCode===202){let s=r.headers["retry-after"]??"1";return{type:"waiting",sleep:parseInt(s,10)}}return r.statusCode===200?{type:"success",token:r.body.token}:null}async function Tvt({registry:e,configuration:t,report:r}){let s=await Qvt(e,t);if(!s)return null;if(Ui.openUrl){r.reportInfo(0,"Starting the web login process..."),r.reportSeparator();let{openNow:a}=await(0,fK.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open your browser now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});r.reportSeparator(),(!a||!await Ui.openUrl(s.loginUrl))&&(r.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice:"),r.reportWarning(0,pe.pretty(t,s.loginUrl,pe.Type.URL)),r.reportSeparator())}for(;;){let a=await Rvt(s.doneUrl,t);if(a===null)return null;if(a.type==="waiting")await new Promise(n=>setTimeout(n,a.sleep*1e3));else return a.token}}var Fvt=["https://registry.yarnpkg.com","https://registry.npmjs.org"];async function Nvt(e){if(e.webLogin??Fvt.includes(e.registry)){let t=await Tvt(e);if(t!==null)return t}return await Ovt(e)}async function Ovt({registry:e,configuration:t,report:r,stdin:s,stdout:a}){let n=await Mvt({configuration:t,registry:e,report:r,stdin:s,stdout:a}),c=`/-/user/org.couchdb.user:${encodeURIComponent(n.name)}`,f={_id:`org.couchdb.user:${n.name}`,name:n.name,password:n.password,type:"user",roles:[],date:new Date().toISOString()},p={attemptedAs:n.name,configuration:t,registry:e,jsonResponse:!0,authType:en.AuthType.NO_AUTH};try{return(await en.put(c,f,p)).token}catch(x){if(!(x.originalError?.name==="HTTPError"&&x.originalError?.response.statusCode===409))throw x}let h={...p,authType:en.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${n.name}:${n.password}`).toString("base64")}`}},E=await en.get(c,h);for(let[x,I]of Object.entries(E))(!f[x]||x==="roles")&&(f[x]=I);let C=`${c}/-rev/${f._rev}`;return(await en.put(C,f,h)).token}async function Lvt(e,t,{alwaysAuth:r,scope:s}){let a=c=>f=>{let p=Ge.isIndexableObject(f)?f:{},h=p[c],E=Ge.isIndexableObject(h)?h:{};return{...p,[c]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:t}}},n=s?{npmScopes:a(s)}:{npmRegistries:a(e)};return await ze.updateHomeConfiguration(n)}async function Mvt({configuration:e,registry:t,report:r,stdin:s,stdout:a}){r.reportInfo(0,`Logging in to ${pe.pretty(e,t,pe.Type.URL)}`);let n=!1;if(t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),e.env.YARN_IS_TEST_ENV)return{name:e.env.YARN_INJECT_NPM_USER||"",password:e.env.YARN_INJECT_NPM_PASSWORD||""};let c=await(0,fK.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:s,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:s,stdout:a}]);return r.reportSeparator(),c}qe();qe();Yt();var C1=new Set(["npmAuthIdent","npmAuthToken"]),w1=class extends At{constructor(){super(...arguments);this.scope=he.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=he.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=he.Boolean("-A,--all",!1,{description:"Logout of all registries"})}static{this.paths=[["npm","logout"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s=async()=>{let n=await dL({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),c=await ze.find(this.context.cwd,this.context.plugins),f=j.makeIdent(this.scope??null,"pkg");return!gi.getAuthConfiguration(n,{configuration:c,ident:f}).get("npmAuthToken")};return(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await _vt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await Lbe("npmScopes",this.scope),await s()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let c=await dL({configuration:r,cwd:this.context.cwd,publish:this.publish});await Lbe("npmRegistries",c),await s()?n.reportInfo(0,`Successfully logged out from ${c}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};function Uvt(e,t){let r=e[t];if(!Ge.isIndexableObject(r))return!1;let s=new Set(Object.keys(r));if([...C1].every(n=>!s.has(n)))return!1;for(let n of C1)s.delete(n);if(s.size===0)return e[t]=void 0,!0;let a={...r};for(let n of C1)delete a[n];return e[t]=a,!0}async function _vt(){let e=t=>{let r=!1,s=Ge.isIndexableObject(t)?{...t}:{};s.npmAuthToken&&(delete s.npmAuthToken,r=!0);for(let a of Object.keys(s))Uvt(s,a)&&(r=!0);if(Object.keys(s).length!==0)return r?s:t};return await ze.updateHomeConfiguration({npmRegistries:e,npmScopes:e})}async function Lbe(e,t){return await ze.updateHomeConfiguration({[e]:r=>{let s=Ge.isIndexableObject(r)?r:{};if(!Object.hasOwn(s,t))return r;let a=s[t],n=Ge.isIndexableObject(a)?a:{},c=new Set(Object.keys(n));if([...C1].every(p=>!c.has(p)))return r;for(let p of C1)c.delete(p);if(c.size===0)return Object.keys(s).length===1?void 0:{...s,[t]:void 0};let f={};for(let p of C1)f[p]=void 0;return{...s,[t]:{...n,...f}}}})}qe();Dt();Yt();var B1=class extends At{constructor(){super(...arguments);this.access=he.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=he.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=he.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=he.String("--otp",{description:"The OTP token to use with the command"});this.provenance=he.Boolean("--provenance",!1,{description:"Generate provenance for the package. Only available in GitHub Actions and GitLab CI. Can be set globally through the `npmPublishProvenance` setting or the `YARN_NPM_CONFIG_PROVENANCE` environment variable, or per-package through the `publishConfig.provenance` field in package.json."});this.dryRun=he.Boolean("-n,--dry-run",!1,{description:"Show what would be published without actually publishing"});this.json=he.Boolean("--json",!1,{description:"Output the result in JSON format"})}static{this.paths=[["npm","publish"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overridden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);if(a.manifest.private)throw new it("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new it("Workspaces must have valid names and versions to be published on an external registry");await s.restoreInstallState();let n=a.manifest.name,c=a.manifest.version,f=gi.getPublishRegistry(a.manifest,{configuration:r});return(await Ot.start({configuration:r,stdout:this.context.stdout,json:this.json},async h=>{if(h.reportInfo(0,`Publishing to ${f} with tag ${this.tag}`),this.tolerateRepublish)try{let E=await en.get(en.getIdentUrl(n),{configuration:r,registry:f,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new Lt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,c)){let C=`Registry already knows about version ${c}; skipping.`;h.reportWarning(0,C),h.reportJson({name:j.stringifyIdent(n),version:c,registry:f,warning:C,skipped:!0});return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await Cn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await IA.prepareForPack(a,{report:h},async()=>{let E=await IA.genPackList(a);for(let V of E)h.reportInfo(null,fe.fromPortablePath(V)),h.reportJson({file:fe.fromPortablePath(V)});let C=await IA.genPackStream(a,E),S=await Ge.bufferStream(C),x=await d1.getGitHead(a.cwd),I=!1,T="";a.manifest.publishConfig&&"provenance"in a.manifest.publishConfig?(I=!!a.manifest.publishConfig.provenance,T=I?"Generating provenance statement because `publishConfig.provenance` field is set.":"Skipping provenance statement because `publishConfig.provenance` field is set to false."):this.provenance?(I=!0,T="Generating provenance statement because `--provenance` flag is set."):r.get("npmPublishProvenance")&&(I=!0,T="Generating provenance statement because `npmPublishProvenance` setting is set."),T&&(h.reportInfo(null,T),h.reportJson({type:"provenance",enabled:I,provenanceMessage:T}));let O=await d1.makePublishBody(a,S,{access:this.access,tag:this.tag,registry:f,gitHead:x,provenance:I});this.dryRun||await en.put(en.getIdentUrl(n),O,{configuration:r,registry:f,ident:n,otp:this.otp,jsonResponse:!0,allowOidc:!!(process.env.CI&&(process.env.GITHUB_ACTIONS||process.env.GITLAB_CI||process.env.CIRCLECI))});let U=this.dryRun?"Package archive not published (dry run)":"Package archive published";h.reportInfo(0,U),h.reportJson({name:j.stringifyIdent(n),version:c,registry:f,tag:this.tag||"latest",files:E.map(V=>fe.fromPortablePath(V)),access:this.access||null,dryRun:this.dryRun,published:!this.dryRun,message:U,provenance:!!I})})})).exitCode()}};qe();Yt();var Mbe=et(pi());qe();Dt();Yt();var v1=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=he.String({required:!1})}static{this.paths=[["npm","tag","list"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=j.parseIdent(this.package);else{if(!a)throw new ar(s.cwd,this.context.cwd);if(!a.manifest.name)throw new it(`Missing 'name' field in ${fe.fromPortablePath(J.join(a.cwd,Er.manifest))}`);n=a.manifest.name}let c=await Xb(n,r),p={children:Ge.sortMap(Object.entries(c),([h])=>h).map(([h,E])=>({value:pe.tuple(pe.Type.RESOLUTION,{descriptor:j.makeDescriptor(n,h),locator:j.makeLocator(n,E)})}))};return Rs.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};async function Xb(e,t){let r=`/-/package${en.getIdentUrl(e)}/dist-tags`;return en.get(r,{configuration:t,ident:e,jsonResponse:!0,customErrorMessage:en.customPackageError})}var S1=class extends At{constructor(){super(...arguments);this.package=he.String();this.tag=he.String()}static{this.paths=[["npm","tag","add"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=j.parseDescriptor(this.package,!0),c=n.range;if(!Mbe.default.valid(c))throw new it(`The range ${pe.pretty(r,n.range,pe.Type.RANGE)} must be a valid semver version`);let f=gi.getPublishRegistry(a.manifest,{configuration:r}),p=pe.pretty(r,n,pe.Type.IDENT),h=pe.pretty(r,c,pe.Type.RANGE),E=pe.pretty(r,this.tag,pe.Type.CODE);return(await Ot.start({configuration:r,stdout:this.context.stdout},async S=>{let x=await Xb(n,r);Object.hasOwn(x,this.tag)&&x[this.tag]===c&&S.reportWarning(0,`Tag ${E} is already set to version ${h}`);let I=`/-/package${en.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await en.put(I,c,{configuration:r,registry:f,ident:n,jsonRequest:!0,jsonResponse:!0}),S.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};qe();Yt();var D1=class extends At{constructor(){super(...arguments);this.package=he.String();this.tag=he.String()}static{this.paths=[["npm","tag","remove"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]})}async execute(){if(this.tag==="latest")throw new it("The 'latest' tag cannot be removed.");let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=j.parseIdent(this.package),c=gi.getPublishRegistry(a.manifest,{configuration:r}),f=pe.pretty(r,this.tag,pe.Type.CODE),p=pe.pretty(r,n,pe.Type.IDENT),h=await Xb(n,r);if(!Object.hasOwn(h,this.tag))throw new it(`${f} is not a tag of package ${p}`);return(await Ot.start({configuration:r,stdout:this.context.stdout},async C=>{let S=`/-/package${en.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await en.del(S,{configuration:r,registry:c,ident:n,jsonResponse:!0}),C.reportInfo(0,`Tag ${f} removed from package ${p}`)})).exitCode()}};qe();qe();Yt();var b1=class extends At{constructor(){super(...arguments);this.scope=he.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=he.Boolean("--publish",!1,{description:"Print username for the publish registry"})}static{this.paths=[["npm","whoami"]]}static{this.usage=at.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),s;return this.scope&&this.publish?s=gi.getScopeRegistry(this.scope,{configuration:r,type:gi.RegistryType.PUBLISH_REGISTRY}):this.scope?s=gi.getScopeRegistry(this.scope,{configuration:r}):this.publish?s=gi.getPublishRegistry((await WI(r,this.context.cwd)).manifest,{configuration:r}):s=gi.getDefaultRegistry({configuration:r}),(await Ot.start({configuration:r,stdout:this.context.stdout},async n=>{let c;try{c=await en.get("/-/whoami",{configuration:r,registry:s,authType:en.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?j.makeIdent(this.scope,""):void 0})}catch(f){if(f.response?.statusCode===401||f.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw f}n.reportInfo(0,c.username)})).exitCode()}};var Hvt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmPublishProvenance:{description:"Whether to generate provenance for the published packages",type:"BOOLEAN",default:!1},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[y1,E1,I1,w1,B1,S1,v1,D1,b1]},jvt=Hvt;var EK={};Vt(EK,{PatchCommand:()=>T1,PatchCommitCommand:()=>R1,PatchFetcher:()=>rP,PatchResolver:()=>nP,default:()=>oSt,patchUtils:()=>yy});qe();qe();Dt();nA();var yy={};Vt(yy,{applyPatchFile:()=>yL,diffFolders:()=>mK,ensureUnpatchedDescriptor:()=>pK,ensureUnpatchedLocator:()=>IL,extractPackageToDisk:()=>dK,extractPatchFlags:()=>Wbe,isParentRequired:()=>gK,isPatchDescriptor:()=>EL,isPatchLocator:()=>Qg,loadPatchFiles:()=>tP,makeDescriptor:()=>CL,makeLocator:()=>hK,makePatchHash:()=>yK,parseDescriptor:()=>$b,parseLocator:()=>eP,parsePatchFile:()=>Zb,unpatchDescriptor:()=>nSt,unpatchLocator:()=>iSt});qe();Dt();qe();Dt();var Gvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function P1(e){return J.relative(vt.root,J.resolve(vt.root,fe.toPortablePath(e)))}function qvt(e){let t=e.trim().match(Gvt);if(!t)throw new Error(`Bad header line: '${e}'`);return{original:{start:Math.max(Number(t[1]),1),length:Number(t[3]||1)},patched:{start:Math.max(Number(t[4]),1),length:Number(t[6]||1)}}}var Wvt=420,Yvt=493;var Ube=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),Vvt=e=>({header:qvt(e),parts:[]}),Jvt={"@":"header","-":"deletion","+":"insertion"," ":"context","\\":"pragma",undefined:"context"};function Kvt(e){let t=[],r=Ube(),s="parsing header",a=null,n=null;function c(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function f(){c(),t.push(r),r=Ube()}for(let p=0;p0?"patch":"mode change",V=null;switch(U){case"rename":{if(!E||!C)throw new Error("Bad parser state: rename from & to not given");t.push({type:"rename",semverExclusivity:s,fromPath:P1(E),toPath:P1(C)}),V=C}break;case"file deletion":{let te=a||I;if(!te)throw new Error("Bad parse state: no path given for file deletion");t.push({type:"file deletion",semverExclusivity:s,hunk:O&&O[0]||null,path:P1(te),mode:mL(p),hash:S})}break;case"file creation":{let te=n||T;if(!te)throw new Error("Bad parse state: no path given for file creation");t.push({type:"file creation",semverExclusivity:s,hunk:O&&O[0]||null,path:P1(te),mode:mL(h),hash:x})}break;case"patch":case"mode change":V=T||n;break;default:Ge.assertNever(U);break}V&&c&&f&&c!==f&&t.push({type:"mode change",semverExclusivity:s,path:P1(V),oldMode:mL(c),newMode:mL(f)}),V&&O&&O.length&&t.push({type:"patch",semverExclusivity:s,path:P1(V),hunks:O,beforeHash:S,afterHash:x})}if(t.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return t}function mL(e){let t=parseInt(e,8)&511;if(t!==Wvt&&t!==Yvt)throw new Error(`Unexpected file mode string: ${e}`);return t}function Zb(e){let t=e.split(/\n/g);return t[t.length-1]===""&&t.pop(),zvt(Kvt(t))}function Xvt(e){let t=0,r=0;for(let{type:s,lines:a}of e.parts)switch(s){case"context":r+=a.length,t+=a.length;break;case"deletion":t+=a.length;break;case"insertion":r+=a.length;break;default:Ge.assertNever(s);break}if(t!==e.header.original.length||r!==e.header.patched.length){let s=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${s(e.header.original.length)} ${s(e.header.patched.length)} @@, got @@ ${s(t)} ${s(r)} @@)`)}}qe();Dt();var x1=class extends Error{constructor(r,s){super(`Cannot apply hunk #${r+1}`);this.hunk=s}};async function k1(e,t,r){let s=await e.lstatPromise(t),a=await r();typeof a<"u"&&(t=a),await e.lutimesPromise(t,s.atime,s.mtime)}async function yL(e,{baseFs:t=new Vn,dryRun:r=!1,version:s=null}={}){for(let a of e)if(!(a.semverExclusivity!==null&&s!==null&&!kr.satisfiesWithPrereleases(s,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!t.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await k1(t,J.dirname(a.path),async()=>{await t.unlinkPromise(a.path)});break;case"rename":if(r){if(!t.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await k1(t,J.dirname(a.fromPath),async()=>{await k1(t,J.dirname(a.toPath),async()=>{await k1(t,a.fromPath,async()=>(await t.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(t.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` +`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await t.mkdirpPromise(J.dirname(a.path),{chmod:493,utimes:[Ai.SAFE_TIME,Ai.SAFE_TIME]}),await t.writeFilePromise(a.path,n,{mode:a.mode}),await t.utimesPromise(a.path,Ai.SAFE_TIME,Ai.SAFE_TIME)}break;case"patch":await k1(t,a.path,async()=>{await eSt(a,{baseFs:t,dryRun:r})});break;case"mode change":{let c=(await t.statPromise(a.path)).mode;if(_be(a.newMode)!==_be(c))continue;await k1(t,a.path,async()=>{await t.chmodPromise(a.path,a.newMode)})}break;default:Ge.assertNever(a);break}}function _be(e){return(e&64)>0}function Hbe(e){return e.replace(/\s+$/,"")}function $vt(e,t){return Hbe(e)===Hbe(t)}async function eSt({hunks:e,path:t},{baseFs:r,dryRun:s=!1}){let a=await r.statSync(t).mode,c=(await r.readFileSync(t,"utf8")).split(/\n/),f=[],p=0,h=0;for(let C of e){let S=Math.max(h,C.header.patched.start+p),x=Math.max(0,S-h),I=Math.max(0,c.length-S-C.header.original.length),T=Math.max(x,I),O=0,U=0,V=null;for(;O<=T;){if(O<=x&&(U=S-O,V=jbe(C,c,U),V!==null)){O=-O;break}if(O<=I&&(U=S+O,V=jbe(C,c,U),V!==null))break;O+=1}if(V===null)throw new x1(e.indexOf(C),C);f.push(V),p+=O,h=U+C.header.original.length}if(s)return;let E=0;for(let C of f)for(let S of C)switch(S.type){case"splice":{let x=S.index+E;c.splice(x,S.numToDelete,...S.linesToInsert),E+=S.linesToInsert.length-S.numToDelete}break;case"pop":c.pop();break;case"push":c.push(S.line);break;default:Ge.assertNever(S);break}await r.writeFilePromise(t,c.join(` +`),{mode:a})}function jbe(e,t,r){let s=[];for(let a of e.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let c=t[r];if(c==null||!$vt(c,n))return null;r+=1}a.type==="deletion"&&(s.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&s.push({type:"push",line:""}))}break;case"insertion":s.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&s.push({type:"pop"});break;default:Ge.assertNever(a.type);break}return s}var rSt=/^builtin<([^>]+)>$/;function Q1(e,t){let{protocol:r,source:s,selector:a,params:n}=j.parseRange(e);if(r!=="patch:")throw new Error("Invalid patch range");if(s===null)throw new Error("Patch locators must explicitly define their source");let c=a?a.split(/&/).map(E=>fe.toPortablePath(E)):[],f=n&&typeof n.locator=="string"?j.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=t(s);return{parentLocator:f,sourceItem:h,patchPaths:c,sourceVersion:p}}function EL(e){return e.range.startsWith("patch:")}function Qg(e){return e.reference.startsWith("patch:")}function $b(e){let{sourceItem:t,...r}=Q1(e.range,j.parseDescriptor);return{...r,sourceDescriptor:t}}function eP(e){let{sourceItem:t,...r}=Q1(e.reference,j.parseLocator);return{...r,sourceLocator:t}}function nSt(e){let{sourceItem:t}=Q1(e.range,j.parseDescriptor);return t}function iSt(e){let{sourceItem:t}=Q1(e.reference,j.parseLocator);return t}function pK(e){if(!EL(e))return e;let{sourceItem:t}=Q1(e.range,j.parseDescriptor);return t}function IL(e){if(!Qg(e))return e;let{sourceItem:t}=Q1(e.reference,j.parseLocator);return t}function Gbe({parentLocator:e,sourceItem:t,patchPaths:r,sourceVersion:s,patchHash:a},n){let c=e!==null?{locator:j.stringifyLocator(e)}:{},f=typeof s<"u"?{version:s}:{},p=typeof a<"u"?{hash:a}:{};return j.makeRange({protocol:"patch:",source:n(t),selector:r.join("&"),params:{...f,...p,...c}})}function CL(e,{parentLocator:t,sourceDescriptor:r,patchPaths:s}){return j.makeDescriptor(e,Gbe({parentLocator:t,sourceItem:r,patchPaths:s},j.stringifyDescriptor))}function hK(e,{parentLocator:t,sourcePackage:r,patchPaths:s,patchHash:a}){return j.makeLocator(e,Gbe({parentLocator:t,sourceItem:r,sourceVersion:r.version,patchPaths:s,patchHash:a},j.stringifyLocator))}function qbe({onAbsolute:e,onRelative:t,onProject:r,onBuiltin:s},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let c=a.match(rSt);return c!==null?s(c[1]):a.startsWith("~/")?r(a.slice(2)):J.isAbsolute(a)?e(a):t(a)}function Wbe(e){let t=e.lastIndexOf("!");return{optional:(t!==-1?new Set(e.slice(0,t).split(/!/)):new Set).has("optional")}}function gK(e){return qbe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},e)}async function tP(e,t,r){let s=e!==null?await r.fetcher.fetch(e,r):null,a=s&&s.localPath?{packageFs:new bn(vt.root),prefixPath:J.relative(vt.root,s.localPath)}:s;s&&s!==a&&s.releaseFs&&s.releaseFs();let n=await Ge.releaseAfterUseAsync(async()=>await Promise.all(t.map(async c=>{let f=Wbe(c),p=await qbe({onAbsolute:async h=>await le.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(J.join(a.prefixPath,h),"utf8")},onProject:async h=>await le.readFilePromise(J.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},c);return{...f,source:p}})));for(let c of n)typeof c.source=="string"&&(c.source=c.source.replace(/\r\n?/g,` +`));return n}async function dK(e,{cache:t,project:r}){let s=r.storedPackages.get(e.locatorHash);if(typeof s>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=IL(e),n=r.storedChecksums,c=new Qi,f=await le.mktempPromise(),p=J.join(f,"source"),h=J.join(f,"user"),E=J.join(f,".yarn-patch.json"),C=r.configuration.makeFetcher(),S=[];try{let x,I;if(e.locatorHash===a.locatorHash){let T=await C.fetch(e,{cache:t,project:r,fetcher:C,checksums:n,report:c});S.push(()=>T.releaseFs?.()),x=T,I=T}else x=await C.fetch(e,{cache:t,project:r,fetcher:C,checksums:n,report:c}),S.push(()=>x.releaseFs?.()),I=await C.fetch(e,{cache:t,project:r,fetcher:C,checksums:n,report:c}),S.push(()=>I.releaseFs?.());await Promise.all([le.copyPromise(p,x.prefixPath,{baseFs:x.packageFs}),le.copyPromise(h,I.prefixPath,{baseFs:I.packageFs}),le.writeJsonPromise(E,{locator:j.stringifyLocator(e),version:s.version})])}finally{for(let x of S)x()}return le.detachTemp(f),h}async function mK(e,t){let r=fe.fromPortablePath(e).replace(/\\/g,"/"),s=fe.fromPortablePath(t).replace(/\\/g,"/"),{stdout:a,stderr:n}=await qr.execvp("git",["-c","core.safecrlf=false","-c","core.quotePath=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,s],{cwd:fe.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${n}`);let c=r.startsWith("/")?f=>f.slice(1):f=>f;return a.replace(new RegExp(`(a|b)(${Ge.escapeRegExp(`/${c(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ge.escapeRegExp(`/${c(s)}/`)}`,"g"),"$1/").replace(new RegExp(Ge.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Ge.escapeRegExp(`${s}/`),"g"),"")}function yK(e,t){let r=[];for(let{source:s}of e){if(s===null)continue;let a=Zb(s);for(let n of a){let{semverExclusivity:c,...f}=n;c!==null&&t!==null&&!kr.satisfiesWithPrereleases(t,c)||r.push(JSON.stringify(f))}}return Ln.makeHash(`${3}`,...r).slice(0,6)}qe();function Ybe(e,{configuration:t,report:r}){for(let s of e.parts)for(let a of s.lines)switch(s.type){case"context":r.reportInfo(null,` ${pe.pretty(t,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${pe.pretty(t,a,pe.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${pe.pretty(t,a,pe.Type.ADDED)}`);break;default:Ge.assertNever(s.type)}}var rP=class{supports(t,r){return!!Qg(t)}getLocalPath(t,r){return null}async fetch(t,r){let s=r.checksums.get(t.locatorHash)||null,[a,n,c]=await r.cache.fetchPackageFromCache(t,s,{onHit:()=>r.report.reportCacheHit(t),onMiss:()=>r.report.reportCacheMiss(t,`${j.prettyLocator(r.project.configuration,t)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(t,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(t),localPath:this.getLocalPath(t,r),checksum:c}}async patchPackage(t,r){let{parentLocator:s,sourceLocator:a,sourceVersion:n,patchPaths:c}=eP(t),f=await tP(s,c,r),p=await le.mktempPromise(),h=J.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),C=j.getIdentVendorPath(t),S=new ps(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await Ge.releaseAfterUseAsync(async()=>{await S.copyPromise(C,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),S.saveAndClose();for(let{source:x,optional:I}of f){if(x===null)continue;let T=new ps(h,{level:r.project.configuration.get("compressionLevel")}),O=new bn(J.resolve(vt.root,C),{baseFs:T});try{await yL(Zb(x),{baseFs:O,version:n})}catch(U){if(!(U instanceof x1))throw U;let V=r.project.configuration.get("enableInlineHunks"),te=!V&&!I?" (set enableInlineHunks for details)":"",ie=`${j.prettyLocator(r.project.configuration,t)}: ${U.message}${te}`,ue=ae=>{V&&Ybe(U.hunk,{configuration:r.project.configuration,report:ae})};if(T.discardAndClose(),I){r.report.reportWarningOnce(66,ie,{reportExtra:ue});continue}else throw new Lt(66,ie,ue)}T.saveAndClose()}return new ps(h,{level:r.project.configuration.get("compressionLevel")})}};qe();var nP=class{supportsDescriptor(t,r){return!!EL(t)}supportsLocator(t,r){return!!Qg(t)}shouldPersistResolution(t,r){return!1}bindDescriptor(t,r,s){let{patchPaths:a}=$b(t);return a.every(n=>!gK(n))?t:j.bindDescriptor(t,{locator:j.stringifyLocator(r)})}getResolutionDependencies(t,r){let{sourceDescriptor:s}=$b(t);return{sourceDescriptor:r.project.configuration.normalizeDependency(s)}}async getCandidates(t,r,s){if(!s.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=$b(t),c=await tP(a,n,s.fetchOptions),f=r.sourceDescriptor;if(typeof f>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=yK(c,f.version);return[hK(t,{parentLocator:a,sourcePackage:f,patchPaths:n,patchHash:p})]}async getSatisfying(t,r,s,a){let[n]=await this.getCandidates(t,r,a);return{locators:s.filter(c=>c.locatorHash===n.locatorHash),sorted:!1}}async resolve(t,r){let{sourceLocator:s}=eP(t);return{...await r.resolver.resolve(s,r),...t}}};qe();Dt();Yt();var R1=class extends At{constructor(){super(...arguments);this.save=he.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=he.String()}static{this.paths=[["patch-commit"]]}static{this.usage=at.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=J.resolve(this.context.cwd,fe.toPortablePath(this.patchFolder)),c=J.join(n,"../source"),f=J.join(n,"../.yarn-patch.json");if(!le.existsSync(c))throw new it("The argument folder didn't get created by 'yarn patch'");let p=await mK(c,n),h=await le.readJsonPromise(f),E=j.parseLocator(h.locator,!0);if(!s.storedPackages.has(E.locatorHash))throw new it("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let C=r.get("patchFolder"),S=J.join(C,`${j.slugifyLocator(E)}.patch`);await le.mkdirPromise(C,{recursive:!0}),await le.writeFilePromise(S,p);let x=[],I=new Map;for(let T of s.storedPackages.values()){if(j.isVirtualLocator(T))continue;let O=T.dependencies.get(E.identHash);if(!O)continue;let U=j.ensureDevirtualizedDescriptor(O),V=pK(U),te=s.storedResolutions.get(V.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!s.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let ue=s.tryWorkspaceByLocator(T);if(ue)x.push(ue);else{let ae=s.originalPackages.get(T.locatorHash);if(!ae)throw new Error("Assertion failed: Expected the original package to have been registered");let de=ae.dependencies.get(O.identHash);if(!de)throw new Error("Assertion failed: Expected the original dependency to have been registered");I.set(de.descriptorHash,de)}}for(let T of x)for(let O of _t.hardDependencies){let U=T.manifest[O].get(E.identHash);if(!U)continue;let V=CL(U,{parentLocator:null,sourceDescriptor:j.convertLocatorToDescriptor(E),patchPaths:[J.join(Er.home,J.relative(s.cwd,S))]});T.manifest[O].set(U.identHash,V)}for(let T of I.values()){let O=CL(T,{parentLocator:null,sourceDescriptor:j.convertLocatorToDescriptor(E),patchPaths:[J.join(Er.home,J.relative(s.cwd,S))]});s.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:j.stringifyIdent(O),description:T.range}},reference:O.range})}await s.persist()}};qe();Dt();Yt();var T1=class extends At{constructor(){super(...arguments);this.update=he.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=he.String()}static{this.paths=[["patch"]]}static{this.usage=at.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let c=j.parseLocator(this.package);if(c.reference==="unknown"){let f=Ge.mapAndFilter([...s.storedPackages.values()],p=>p.identHash!==c.identHash?Ge.mapAndFilter.skip:j.isVirtualLocator(p)?Ge.mapAndFilter.skip:Qg(p)!==this.update?Ge.mapAndFilter.skip:p);if(f.length===0)throw new it("No package found in the project for the given locator");if(f.length>1)throw new it(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${f.map(p=>` +- ${j.prettyLocator(r,p)}`).join("")}`);c=f[0]}if(!s.storedPackages.has(c.locatorHash))throw new it("No package found in the project for the given locator");await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async f=>{let p=IL(c),h=await dK(c,{cache:n,project:s});f.reportJson({locator:j.stringifyLocator(p),path:fe.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";f.reportInfo(0,`Package ${j.prettyLocator(r,p)} got extracted with success${E}!`),f.reportInfo(0,`You can now edit the following folder: ${pe.pretty(r,fe.fromPortablePath(h),"magenta")}`),f.reportInfo(0,`Once you are done run ${pe.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${fe.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};var sSt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[R1,T1],fetchers:[rP],resolvers:[nP]},oSt=sSt;var wK={};Vt(wK,{PnpmLinker:()=>iP,default:()=>ASt});qe();Dt();Yt();var iP=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(t,r){return this.isEnabled(r)}async findPackageLocation(t,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let s=this.getCustomDataKey(),a=r.project.linkersCustomData.get(s);if(!a)throw new it(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(t.locatorHash);if(typeof n>"u")throw new it(`Couldn't find ${j.prettyLocator(r.project.configuration,t)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(t,r){if(!this.isEnabled(r))return null;let s=this.getCustomDataKey(),a=r.project.linkersCustomData.get(s);if(!a)throw new it(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=t.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let c=t,f=t;do{f=c,c=J.dirname(f);let p=a.locatorByPath.get(f);if(p)return p}while(c!==f);return null}makeInstaller(t){return new IK(t)}isEnabled(t){return t.project.configuration.get("nodeLinker")==="pnpm"}},IK=class{constructor(t){this.opts=t;this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.asyncActions=new Ge.AsyncActions(t.project.configuration.get("pnpmInstallConcurrency")),this.indexFolderPromise=$P(le,{indexPath:J.join(t.project.configuration.get("globalFolder"),"index")})}attachCustomData(t){}async installPackage(t,r,s){switch(t.linkType){case"SOFT":return this.installPackageSoft(t,r,s);case"HARD":return this.installPackageHard(t,r,s)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(t,r,s){let a=J.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(t)?J.join(a,Er.nodeModules):null;return this.customData.pathsByLocator.set(t.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(t,r,s){let a=lSt(t,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,j.stringifyLocator(t)),this.customData.pathsByLocator.set(t.locatorHash,a),s.holdFetchResult(this.asyncActions.set(t.locatorHash,async()=>{await le.mkdirPromise(n,{recursive:!0}),await le.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let f=j.isVirtualLocator(t)?j.devirtualizeLocator(t):t,p={manifest:await _t.tryFind(r.prefixPath,{baseFs:r.packageFs})??new _t,misc:{hasBindingGyp:mA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(f,t.version),E=mA.extractBuildRequest(t,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(t,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!Vbe(t,{project:this.opts.project}))return;let s=this.customData.pathsByLocator.get(t.locatorHash);if(typeof s>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${j.stringifyLocator(t)})`);let{dependenciesLocation:a}=s;a&&this.asyncActions.reduce(t.locatorHash,async n=>{await le.mkdirPromise(a,{recursive:!0});let c=await cSt(a),f=new Map(c),p=[n],h=(C,S)=>{let x=S;Vbe(S,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),x=j.devirtualizeLocator(S));let I=this.customData.pathsByLocator.get(x.locatorHash);if(typeof I>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${j.stringifyLocator(S)})`);let T=j.stringifyIdent(C),O=J.join(a,T),U=J.relative(J.dirname(O),I.packageLocation),V=f.get(T);f.delete(T),p.push(Promise.resolve().then(async()=>{if(V){if(V.isSymbolicLink()&&await le.readlinkPromise(O)===U)return;await le.removePromise(O)}await le.mkdirpPromise(J.dirname(O)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await le.symlinkPromise(I.packageLocation,O,"junction"):await le.symlinkPromise(U,O)}))},E=!1;for(let[C,S]of r)C.identHash===t.identHash&&(E=!0),h(C,S);!E&&!this.opts.project.tryWorkspaceByLocator(t)&&h(j.convertLocatorToDescriptor(t),t),p.push(uSt(a,f)),await Promise.all(p)})}async attachExternalDependents(t,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let t=Jbe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await le.removePromise(t);else{let r;try{r=new Set(await le.readdirPromise(t))}catch{r=new Set}for(let{dependenciesLocation:s}of this.customData.pathsByLocator.values()){if(!s)continue;let a=J.contains(t,s);if(a===null)continue;let[n]=a.split(J.sep);r.delete(n)}await Promise.all([...r].map(async s=>{await le.removePromise(J.join(t,s))}))}return await this.asyncActions.wait(),await CK(t),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await CK(aSt(this.opts.project)),{customData:this.customData}}};function aSt(e){return J.join(e.cwd,Er.nodeModules)}function Jbe(e){return e.configuration.get("pnpmStoreFolder")}function lSt(e,{project:t}){let r=j.slugifyLocator(e),s=Jbe(t),a=J.join(s,r,"package"),n=J.join(s,r,Er.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function Vbe(e,{project:t}){return!j.isVirtualLocator(e)||!t.tryWorkspaceByLocator(e)}async function cSt(e){let t=new Map,r=[];try{r=await le.readdirPromise(e,{withFileTypes:!0})}catch(s){if(s.code!=="ENOENT")throw s}try{for(let s of r)if(!s.name.startsWith("."))if(s.name.startsWith("@")){let a=await le.readdirPromise(J.join(e,s.name),{withFileTypes:!0});if(a.length===0)t.set(s.name,s);else for(let n of a)t.set(`${s.name}/${n.name}`,n)}else t.set(s.name,s)}catch(s){if(s.code!=="ENOENT")throw s}return t}async function uSt(e,t){let r=[],s=new Set;for(let a of t.keys()){r.push(le.removePromise(J.join(e,a)));let n=j.tryParseIdent(a)?.scope;n&&s.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...s].map(a=>CK(J.join(e,a)))))}async function CK(e){try{await le.rmdirPromise(e)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY"&&t.code!=="EBUSY")throw t}}var fSt={configuration:{pnpmStoreFolder:{description:"By default, the store is stored in the 'node_modules/.store' of the project. Sometimes in CI scenario's it is convenient to store this in a different location so it can be cached and reused.",type:"ABSOLUTE_PATH",default:"./node_modules/.store"},pnpmInstallConcurrency:{description:`Maximum number of packages the pnpm linker will install in parallel. Lower this on monorepos with very large caches if you hit "Couldn't allocate enough memory" from the bundled libzip WASM heap.`,type:"NUMBER",default:10}},linkers:[iP]},ASt=fSt;var xK={};Vt(xK,{StageCommand:()=>F1,default:()=>BSt,stageUtils:()=>BL});qe();Dt();Yt();qe();Dt();var BL={};Vt(BL,{ActionType:()=>BK,checkConsensus:()=>wL,expandDirectory:()=>DK,findConsensus:()=>bK,findVcsRoot:()=>vK,genCommitMessage:()=>PK,getCommitPrefix:()=>Kbe,isYarnFile:()=>SK});Dt();var BK=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(BK||{});async function vK(e,{marker:t}){do if(!le.existsSync(J.join(e,t)))e=J.dirname(e);else return e;while(e!=="/");return null}function SK(e,{roots:t,names:r}){if(r.has(J.basename(e)))return!0;do if(!t.has(e))e=J.dirname(e);else return!0;while(e!=="/");return!1}function DK(e){let t=[],r=[e];for(;r.length>0;){let s=r.pop(),a=le.readdirSync(s);for(let n of a){let c=J.resolve(s,n);le.lstatSync(c).isDirectory()?r.push(c):t.push(c)}}return t}function wL(e,t){let r=0,s=0;for(let a of e)a!=="wip"&&(t.test(a)?r+=1:s+=1);return r>=s}function bK(e){let t=wL(e,/^(\w\(\w+\):\s*)?\w+s/),r=wL(e,/^(\w\(\w+\):\s*)?[A-Z]/),s=wL(e,/^\w\(\w+\):/);return{useThirdPerson:t,useUpperCase:r,useComponent:s}}function Kbe(e){return e.useComponent?"chore(yarn): ":""}var pSt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function PK(e,t){let r=Kbe(e),s=[],a=t.slice().sort((n,c)=>n[0]-c[0]);for(;a.length>0;){let[n,c]=a.shift(),f=pSt.get(n);e.useUpperCase&&s.length===0&&(f=`${f[0].toUpperCase()}${f.slice(1)}`),e.useThirdPerson&&(f+="s");let p=[c];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),s.push(`${f} ${h}`)}return`${r}${s.join(", ")}`}var hSt="Commit generated via `yarn stage`",gSt=11;async function zbe(e){let{code:t,stdout:r}=await qr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:e});return t===0?r.trim():null}async function dSt(e,t){let r=[],s=t.filter(h=>J.basename(h.path)==="package.json");for(let{action:h,path:E}of s){let C=J.relative(e,E);if(h===4){let S=await zbe(e),{stdout:x}=await qr.execvp("git",["show",`${S}:${C}`],{cwd:e,strict:!0}),I=await _t.fromText(x),T=await _t.fromFile(E),O=new Map([...T.dependencies,...T.devDependencies]),U=new Map([...I.dependencies,...I.devDependencies]);for(let[V,te]of U){let ie=j.stringifyIdent(te),ue=O.get(V);ue?ue.range!==te.range&&r.push([4,`${ie} to ${ue.range}`]):r.push([3,ie])}for(let[V,te]of O)U.has(V)||r.push([2,j.stringifyIdent(te)])}else if(h===0){let S=await _t.fromFile(E);S.name?r.push([0,j.stringifyIdent(S.name)]):r.push([0,"a package"])}else if(h===1){let S=await zbe(e),{stdout:x}=await qr.execvp("git",["show",`${S}:${C}`],{cwd:e,strict:!0}),I=await _t.fromText(x);I.name?r.push([1,j.stringifyIdent(I.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await qr.execvp("git",["log",`-${gSt}`,"--pretty=format:%s"],{cwd:e}),c=a===0?n.split(/\n/g).filter(h=>h!==""):[],f=bK(c);return PK(f,r)}var mSt={0:[" A ","?? "],4:[" M "],1:[" D "]},ySt={0:["A "],4:["M "],1:["D "]},Xbe={async findRoot(e){return await vK(e,{marker:".git"})},async filterChanges(e,t,r,s){let{stdout:a}=await qr.execvp("git",["status","-s"],{cwd:e,strict:!0}),n=a.toString().split(/\n/g),c=s?.staged?ySt:mSt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=J.resolve(e,p.slice(3));if(!s?.staged&&h==="?? "&&p.endsWith("/"))return DK(E).map(C=>({action:0,path:C}));{let S=[0,4,1].find(x=>c[x].includes(h));return S!==void 0?[{action:S,path:E}]:[]}})).filter(p=>SK(p.path,{roots:t,names:r}))},async genCommitMessage(e,t){return await dSt(e,t)},async makeStage(e,t){let r=t.map(s=>fe.fromPortablePath(s.path));await qr.execvp("git",["add","--",...r],{cwd:e,strict:!0})},async makeCommit(e,t,r){let s=t.map(a=>fe.fromPortablePath(a.path));await qr.execvp("git",["add","-N","--",...s],{cwd:e,strict:!0}),await qr.execvp("git",["commit","-m",`${r} + +${hSt} +`,"--",...s],{cwd:e,strict:!0})},async makeReset(e,t){let r=t.map(s=>fe.fromPortablePath(s.path));await qr.execvp("git",["reset","HEAD","--",...r],{cwd:e,strict:!0})}};var ESt=[Xbe],F1=class extends At{constructor(){super(...arguments);this.commit=he.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=he.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=he.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=he.Boolean("-u,--update",!1,{hidden:!0})}static{this.paths=[["stage"]]}static{this.usage=at.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s}=await Rt.find(r,this.context.cwd),{driver:a,root:n}=await ISt(s.cwd),c=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(C=>C.populateYarnPaths,s,C=>{c.push(C)});let f=new Set;for(let C of c)for(let S of CSt(n,C))f.add(S);let p=new Set([r.get("rcFilename"),Er.lockfile,Er.manifest]),h=await a.filterChanges(n,f,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} +`);else for(let C of h)this.context.stdout.write(`${fe.fromPortablePath(C.path)} +`);else if(this.reset){let C=await a.filterChanges(n,f,p,{staged:!0});C.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,C)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};async function ISt(e){let t=null,r=null;for(let s of ESt)if((r=await s.findRoot(e))!==null){t=s;break}if(t===null||r===null)throw new it("No stage driver has been found for your current project");return{driver:t,root:r}}function CSt(e,t){let r=[];if(t===null)return r;for(;;){(t===e||t.startsWith(`${e}/`))&&r.push(t);let s;try{s=le.statSync(t)}catch{break}if(s.isSymbolicLink())t=J.resolve(J.dirname(t),le.readlinkSync(t));else break}return r}var wSt={commands:[F1]},BSt=wSt;var kK={};Vt(kK,{default:()=>QSt});qe();qe();Dt();var ePe=et(pi());qe();var Zbe=et(N9()),vSt="e8e1bd300d860104bb8c58453ffa1eb4",SSt="OFCNCOG2CU",$be=async(e,t)=>{let r=j.stringifyIdent(e),a=DSt(t).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},DSt=e=>(0,Zbe.default)(SSt,vSt,{requester:{async send(r){try{let s=await nn.request(r.url,r.data||null,{configuration:e,headers:r.headers});return{content:s.body,isTimedOut:!1,status:s.statusCode}}catch(s){return{content:s.response.body,isTimedOut:!1,status:s.response.statusCode}}}}});var tPe=e=>e.scope?`${e.scope}__${e.name}`:`${e.name}`,bSt=async(e,t,r,s)=>{if(r.scope==="types")return;let{project:a}=e,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(le.existsSync(J.join(e.cwd,"tsconfig.json"))||le.existsSync(J.join(a.cwd,"tsconfig.json")))))return;let f=n.makeResolver(),p={project:a,resolver:f,report:new Qi};if(!await $be(r,n))return;let E=tPe(r),C=j.parseRange(r.range).selector;if(!kr.validRange(C)){let O=n.normalizeDependency(r),U=await f.getCandidates(O,{},p);C=j.parseRange(U[0].reference).selector}let S=ePe.default.coerce(C);if(S===null)return;let x=`${ef.Modifier.CARET}${S.major}`,I=j.makeDescriptor(j.makeIdent("types",E),x),T=Ge.mapAndFind(a.workspaces,O=>{let U=O.manifest.dependencies.get(r.identHash)?.descriptorHash,V=O.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&V!==r.descriptorHash)return Ge.mapAndFind.skip;let te=[];for(let ie of _t.allDependencies){let ue=O.manifest[ie].get(I.identHash);typeof ue>"u"||te.push([ie,ue])}return te.length===0?Ge.mapAndFind.skip:te});if(typeof T<"u")for(let[O,U]of T)e.manifest[O].set(U.identHash,U);else{try{let O=n.normalizeDependency(I);if((await f.getCandidates(O,{},p)).length===0)return}catch{return}e.manifest[ef.Target.DEVELOPMENT].set(I.identHash,I)}},PSt=async(e,t,r)=>{if(r.scope==="types")return;let{project:s}=e,{configuration:a}=s;if(!(a.get("tsEnableAutoTypes")??(le.existsSync(J.join(e.cwd,"tsconfig.json"))||le.existsSync(J.join(s.cwd,"tsconfig.json")))))return;let c=tPe(r),f=j.makeIdent("types",c);for(let p of _t.allDependencies)typeof e.manifest[p].get(f.identHash)>"u"||e.manifest[p].delete(f.identHash)},xSt=(e,t)=>{t.publishConfig&&t.publishConfig.typings&&(t.typings=t.publishConfig.typings),t.publishConfig&&t.publishConfig.types&&(t.types=t.publishConfig.types)},kSt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:bSt,afterWorkspaceDependencyRemoval:PSt,beforeWorkspacePacking:xSt}},QSt=kSt;var NK={};Vt(NK,{VersionApplyCommand:()=>M1,VersionCheckCommand:()=>U1,VersionCommand:()=>_1,default:()=>OSt,versionUtils:()=>L1});qe();qe();Yt();var L1={};Vt(L1,{Decision:()=>N1,applyPrerelease:()=>rPe,applyReleases:()=>FK,applyStrategy:()=>sP,clearVersionFiles:()=>QK,getUndecidedDependentWorkspaces:()=>aP,getUndecidedWorkspaces:()=>vL,openVersionFile:()=>O1,requireMoreDecisions:()=>TSt,resolveVersionFiles:()=>oP,suggestStrategy:()=>TK,updateVersionFiles:()=>RK,validateReleaseDecision:()=>Ey});qe();Dt();vc();Yt();zl();var RA=et(pi()),RSt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,N1=(h=>(h.UNDECIDED="undecided",h.DECLINE="decline",h.MAJOR="major",h.MINOR="minor",h.PATCH="patch",h.PREMAJOR="premajor",h.PREMINOR="preminor",h.PREPATCH="prepatch",h.PRERELEASE="prerelease",h))(N1||{});function Ey(e){let t=RA.default.valid(e);return t||Ge.validateEnum(C4(N1,"UNDECIDED"),e)}async function oP(e,{prerelease:t=null}={}){let r=new Map,s=e.configuration.get("deferredVersionFolder");if(!le.existsSync(s))return r;let a=await le.readdirPromise(s);for(let n of a){if(!n.endsWith(".yml"))continue;let c=J.join(s,n),f=await le.readFilePromise(c,"utf8"),p=cs(f);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let C=j.parseIdent(h),S=e.tryWorkspaceByIdent(C);if(S===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${J.basename(c)} references ${h})`);if(S.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${j.prettyLocator(e.configuration,S.anchoredLocator)})`);let x=S.manifest.raw.stableVersion??S.manifest.version,I=r.get(S),T=sP(E==="prerelease"?S.manifest.version:x,Ey(E));if(T===null)throw new Error(`Assertion failed: Expected ${x} to support being bumped via strategy ${E}`);let O=typeof I<"u"?RA.default.gt(T,I)?T:I:T;r.set(S,O)}}return t&&(r=new Map([...r].map(([n,c])=>[n,rPe(c,{current:n.manifest.version,prerelease:t})]))),r}async function QK(e){let t=e.configuration.get("deferredVersionFolder");le.existsSync(t)&&await le.removePromise(t)}async function RK(e,t){let r=new Set(t),s=e.configuration.get("deferredVersionFolder");if(!le.existsSync(s))return;let a=await le.readdirPromise(s);for(let n of a){if(!n.endsWith(".yml"))continue;let c=J.join(s,n),f=await le.readFilePromise(c,"utf8"),p=cs(f),h=p?.releases;if(h){for(let E of Object.keys(h)){let C=j.parseIdent(E),S=e.tryWorkspaceByIdent(C);(S===null||r.has(S))&&delete p.releases[E]}Object.keys(p.releases).length>0?await le.changeFilePromise(c,fl(new fl.PreserveOrdering(p))):await le.unlinkPromise(c)}}}async function O1(e,{allowEmpty:t=!1}={}){let r=e.configuration;if(r.projectCwd===null)throw new it("This command can only be run from within a Yarn project");let s=await La.fetchRoot(r.projectCwd),a=s!==null?await La.fetchBase(s,{baseRefs:r.get("changesetBaseRefs")}):null,n=s!==null?await La.fetchChangedFiles(s,{base:a.hash,project:e}):[],c=r.get("deferredVersionFolder"),f=n.filter(x=>J.contains(c,x)!==null);if(f.length>1)throw new it(`Your current branch contains multiple versioning files; this isn't supported: +- ${f.map(x=>fe.fromPortablePath(x)).join(` +- `)}`);let p=new Set(Ge.mapAndFilter(n,x=>{let I=e.tryWorkspaceByFilePath(x);return I===null?Ge.mapAndFilter.skip:I}));if(f.length===0&&p.size===0&&!t)return null;let h=f.length===1?f[0]:J.join(c,`${Ln.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=le.existsSync(h)?await le.readFilePromise(h,"utf8"):"{}",C=cs(E),S=new Map;for(let x of C.declined||[]){let I=j.parseIdent(x),T=e.getWorkspaceByIdent(I);S.set(T,"decline")}for(let[x,I]of Object.entries(C.releases||{})){let T=j.parseIdent(x),O=e.getWorkspaceByIdent(T);S.set(O,Ey(I))}return{project:e,root:s,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(x=>x.manifest.version!==null)),releases:S,async saveAll(){let x={},I=[],T=[];for(let O of e.workspaces){if(O.manifest.version===null)continue;let U=j.stringifyIdent(O.anchoredLocator),V=S.get(O);V==="decline"?I.push(U):typeof V<"u"?x[U]=Ey(V):p.has(O)&&T.push(U)}await le.mkdirPromise(J.dirname(h),{recursive:!0}),await le.changeFilePromise(h,fl(new fl.PreserveOrdering({releases:Object.keys(x).length>0?x:void 0,declined:I.length>0?I:void 0,undecided:T.length>0?T:void 0})))}}}function TSt(e){return vL(e).size>0||aP(e).length>0}function vL(e){let t=new Set;for(let r of e.changedWorkspaces)r.manifest.version!==null&&(e.releases.has(r)||t.add(r));return t}function aP(e,{include:t=new Set}={}){let r=[],s=new Map(Ge.mapAndFilter([...e.releases],([n,c])=>c==="decline"?Ge.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(Ge.mapAndFilter([...e.releases],([n,c])=>c!=="decline"?Ge.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of e.project.workspaces)if(!(!t.has(n)&&(a.has(n.anchoredLocator.locatorHash)||s.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let c of _t.hardDependencies)for(let f of n.manifest.getForScope(c).values()){let p=e.project.tryWorkspaceByDescriptor(f);p!==null&&s.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function TK(e,t){let r=RA.default.clean(t);for(let s of Object.values(N1))if(s!=="undecided"&&s!=="decline"&&RA.default.inc(e,s)===r)return s;return null}function sP(e,t){if(RA.default.valid(t))return t;if(e===null)throw new it(`Cannot apply the release strategy "${t}" unless the workspace already has a valid version`);if(!RA.default.valid(e))throw new it(`Cannot apply the release strategy "${t}" on a non-semver version (${e})`);let r=RA.default.inc(e,t);if(r===null)throw new it(`Cannot apply the release strategy "${t}" on the specified version (${e})`);return r}function FK(e,t,{report:r,exact:s}){let a=new Map;for(let n of e.workspaces)for(let c of _t.allDependencies)for(let f of n.manifest[c].values()){let p=e.tryWorkspaceByDescriptor(f);if(p===null||!t.has(p))continue;Ge.getArrayWithDefault(a,p).push([n,c,f.identHash])}for(let[n,c]of t){let f=n.manifest.version;n.manifest.version=c,RA.default.prerelease(c)===null?delete n.manifest.raw.stableVersion:n.manifest.raw.stableVersion||(n.manifest.raw.stableVersion=f);let p=n.manifest.name!==null?j.stringifyIdent(n.manifest.name):null;r.reportInfo(0,`${j.prettyLocator(e.configuration,n.anchoredLocator)}: Bumped to ${c}`),r.reportJson({cwd:fe.fromPortablePath(n.cwd),ident:p,oldVersion:f,newVersion:c});let h=a.get(n);if(!(typeof h>"u"))for(let[E,C,S]of h){let x=E.manifest[C].get(S);if(typeof x>"u")throw new Error("Assertion failed: The dependency should have existed");let I=x.range,T=!1;if(I.startsWith(Ii.protocol)&&(I=I.slice(Ii.protocol.length),T=!0,I===n.relativeCwd))continue;let O=I.match(RSt);if(!O){r.reportWarning(0,`Couldn't auto-upgrade range ${I} (in ${j.prettyLocator(e.configuration,E.anchoredLocator)})`);continue}let U=s?`${c}`:`${O[1]}${c}`;T&&(U=`${Ii.protocol}${U}`);let V=j.makeDescriptor(x,U);E.manifest[C].set(S,V)}}}var FSt=new Map([["%n",{extract:e=>e.length>=1?[e[0],e.slice(1)]:null,generate:(e=0)=>`${e+1}`}]]);function rPe(e,{current:t,prerelease:r}){let s=new RA.default.SemVer(t),a=s.prerelease.slice(),n=[];s.prerelease=[],s.format()!==e&&(a.length=0);let c=!0,f=r.split(/\./g);for(let p of f){let h=FSt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():c=!1;else{let E=c?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),c=!1)}}return s.prerelease&&(s.prerelease=[]),`${e}-${n.join(".")}`}var M1=class extends At{constructor(){super(...arguments);this.all=he.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=he.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=he.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.exact=he.Boolean("--exact",!1,{description:"Use the exact version of each package, removes any range. Useful for nightly releases where the range might match another version."});this.recursive=he.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["version","apply"]]}static{this.usage=at.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%n\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);if(!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState({restoreResolutions:!1});let c=await Ot.start({configuration:r,json:this.json,stdout:this.context.stdout},async f=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await oP(s,{prerelease:p}),E=new Map;if(this.all)E=h;else{let C=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let S of C){let x=h.get(S);typeof x<"u"&&E.set(S,x)}}if(E.size===0){let C=h.size>0?" Did you want to add --all?":"";f.reportWarning(0,`The current workspace doesn't seem to require a version bump.${C}`);return}FK(s,E,{report:f,exact:this.exact}),this.dryRun||(p||(this.all?await QK(s):await RK(s,[...E.keys()])),f.reportSeparator())});return this.dryRun||c.hasErrors()?c.exitCode():await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};qe();Dt();Yt();var SL=et(pi());var U1=class extends At{constructor(){super(...arguments);this.interactive=he.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}static{this.paths=[["version","check"]]}static{this.usage=at.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){KC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(xF(),nW)),{ScrollableItems:s}=await Promise.resolve().then(()=>(TF(),RF)),{FocusRequest:a}=await Promise.resolve().then(()=>(oW(),hwe)),{useListInput:n}=await Promise.resolve().then(()=>(QF(),gwe)),{renderForm:c}=await Promise.resolve().then(()=>(LF(),OF)),{Box:f,Text:p}=await Promise.resolve().then(()=>et(qc())),{default:h,useCallback:E,useState:C}=await Promise.resolve().then(()=>et(gn())),S=await ze.find(this.context.cwd,this.context.plugins),{project:x,workspace:I}=await Rt.find(S,this.context.cwd);if(!I)throw new ar(x.cwd,this.context.cwd);await x.restoreInstallState();let T=await O1(x);if(T===null||T.releaseRoots.size===0)return 0;if(T.root===null)throw new it("This command can only be run on Git repositories");let O=()=>h.createElement(f,{flexDirection:"row",paddingBottom:1},h.createElement(f,{flexDirection:"column",width:60},h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),h.createElement(f,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),h.createElement(f,{flexDirection:"column"},h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to save.")),h.createElement(f,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),U=({workspace:de,active:Ae,decision:Ce,setDecision:Ee})=>{let g=de.manifest.raw.stableVersion??de.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${j.prettyLocator(S,de.anchoredLocator)})`);if(SL.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let Se=["undecided","decline","patch","minor","major"];n(Ce,Se,{active:Ae,minus:"left",plus:"right",set:Ee});let Be=Ce==="undecided"?h.createElement(p,{color:"yellow"},g):Ce==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},SL.default.valid(Ce)?Ce:SL.default.inc(g,Ce)));return h.createElement(f,{flexDirection:"column"},h.createElement(f,null,h.createElement(p,null,j.prettyLocator(S,de.anchoredLocator)," - ",Be)),h.createElement(f,null,Se.map(me=>h.createElement(f,{key:me,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:me===Ce})," ",me)))))},V=de=>{let Ae=new Set(T.releaseRoots),Ce=new Map([...de].filter(([Ee])=>Ae.has(Ee)));for(;;){let Ee=aP({project:T.project,releases:Ce}),g=!1;if(Ee.length>0){for(let[Se]of Ee)if(!Ae.has(Se)){Ae.add(Se),g=!0;let Be=de.get(Se);typeof Be<"u"&&Ce.set(Se,Be)}}if(!g)break}return{relevantWorkspaces:Ae,relevantReleases:Ce}},te=()=>{let[de,Ae]=C(()=>new Map(T.releases)),Ce=E((Ee,g)=>{let Se=new Map(de);g!=="undecided"?Se.set(Ee,g):Se.delete(Ee);let{relevantReleases:Be}=V(Se);Ae(Be)},[de,Ae]);return[de,Ce]},ie=({workspaces:de,releases:Ae})=>{let Ce=[];Ce.push(`${de.size} total`);let Ee=0,g=0;for(let Se of de){let Be=Ae.get(Se);typeof Be>"u"?g+=1:Be!=="decline"&&(Ee+=1)}return Ce.push(`${Ee} release${Ee===1?"":"s"}`),Ce.push(`${g} remaining`),h.createElement(p,{color:"yellow"},Ce.join(", "))},ae=await c(({useSubmit:de})=>{let[Ae,Ce]=te();de(Ae);let{relevantWorkspaces:Ee}=V(Ae),g=new Set([...Ee].filter(ce=>!T.releaseRoots.has(ce))),[Se,Be]=C(0),me=E(ce=>{switch(ce){case a.BEFORE:Be(Se-1);break;case a.AFTER:Be(Se+1);break}},[Se,Be]);return h.createElement(f,{flexDirection:"column"},h.createElement(O,null),h.createElement(f,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(f,{flexDirection:"column",marginTop:1,paddingLeft:2},[...T.changedFiles].map(ce=>h.createElement(f,{key:ce},h.createElement(p,null,h.createElement(p,{color:"grey"},fe.fromPortablePath(T.root)),fe.sep,fe.relative(fe.fromPortablePath(T.root),fe.fromPortablePath(ce)))))),T.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(f,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(f,{marginTop:1},h.createElement(ie,{workspaces:T.releaseRoots,releases:Ae})):null,h.createElement(f,{marginTop:1,flexDirection:"column"},h.createElement(s,{active:Se%2===0,radius:1,size:2,onFocusRequest:me},[...T.releaseRoots].map(ce=>h.createElement(U,{key:ce.cwd,workspace:ce,decision:Ae.get(ce)||"undecided",setDecision:Z=>Ce(ce,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(f,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(f,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(f,{marginTop:1},h.createElement(ie,{workspaces:g,releases:Ae})):null,h.createElement(f,{marginTop:1,flexDirection:"column"},h.createElement(s,{active:Se%2===1,radius:2,size:2,onFocusRequest:me},[...g].map(ce=>h.createElement(U,{key:ce.cwd,workspace:ce,decision:Ae.get(ce)||"undecided",setDecision:Z=>Ce(ce,Z)}))))):null)},{versionFile:T},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ae>"u")return 1;T.releases.clear();for(let[de,Ae]of ae)T.releases.set(de,Ae);await T.saveAll()}async executeStandard(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);return await s.restoreInstallState(),(await Ot.start({configuration:r,stdout:this.context.stdout},async c=>{let f=await O1(s);if(f===null||f.releaseRoots.size===0)return;if(f.root===null)throw new it("This command can only be run on Git repositories");if(c.reportInfo(0,`Your PR was started right after ${pe.pretty(r,f.baseHash.slice(0,7),"yellow")} ${pe.pretty(r,f.baseTitle,"magenta")}`),f.changedFiles.size>0){c.reportInfo(0,"You have changed the following files since then:"),c.reportSeparator();for(let S of f.changedFiles)c.reportInfo(null,`${pe.pretty(r,fe.fromPortablePath(f.root),"gray")}${fe.sep}${fe.relative(fe.fromPortablePath(f.root),fe.fromPortablePath(S))}`)}let p=!1,h=!1,E=vL(f);if(E.size>0){p||c.reportSeparator();for(let S of E)c.reportError(0,`${j.prettyLocator(r,S.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let C=aP(f);for(let[S,x]of C)h||c.reportSeparator(),c.reportError(0,`${j.prettyLocator(r,S.anchoredLocator)} doesn't have a release strategy attached, but depends on ${j.prettyWorkspace(r,x)} which is planned for release.`),h=!0;(p||h)&&(c.reportSeparator(),c.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),c.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};qe();Yt();var DL=et(pi());var _1=class extends At{constructor(){super(...arguments);this.deferred=he.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=he.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=he.String()}static{this.paths=[["version"]]}static{this.usage=at.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!a)throw new ar(s.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let c=DL.default.valid(this.strategy),f=this.strategy==="decline",p;if(c)if(a.manifest.version!==null){let E=TK(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!f){if(E===null)throw new it("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!DL.default.valid(E))throw new it(`Can't bump the version (${E}) if it's not valid semver`)}p=Ey(this.strategy)}if(!n){let C=(await oP(s)).get(a);if(typeof C<"u"&&p!=="decline"){let S=sP(a.manifest.version,p);if(DL.default.lt(S,C))throw new it(`Can't bump the version to one that would be lower than the current deferred one (${C})`)}}let h=await O1(s,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};var NSt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[M1,U1,_1]},OSt=NSt;var OK={};Vt(OK,{WorkspacesFocusCommand:()=>H1,WorkspacesForeachCommand:()=>G1,default:()=>USt});qe();qe();Yt();var H1=class extends At{constructor(){super(...arguments);this.json=he.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=he.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=he.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=he.Rest()}static{this.paths=[["workspaces","focus"]]}static{this.usage=at.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "})}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd),n=await Kr.find(r);await s.restoreInstallState({restoreResolutions:!1});let c;if(this.all)c=new Set(s.workspaces);else if(this.workspaces.length===0){if(!a)throw new ar(s.cwd,this.context.cwd);c=new Set([a])}else c=new Set(this.workspaces.map(f=>s.getWorkspaceByIdent(j.parseIdent(f))));for(let f of c)for(let p of this.production?["dependencies"]:_t.hardDependencies)for(let h of f.manifest.getForScope(p).values()){let E=s.tryWorkspaceByDescriptor(h);E!==null&&c.add(E)}for(let f of s.workspaces)c.has(f)?this.production&&f.manifest.devDependencies.clear():(f.manifest.installConfig=f.manifest.installConfig||{},f.manifest.installConfig.selfReferences=!1,f.manifest.dependencies.clear(),f.manifest.devDependencies.clear(),f.manifest.peerDependencies.clear(),f.manifest.scripts.clear());return await s.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};qe();qe();qe();Yt();var j1=et(zo()),iPe=et(Nd());Al();var G1=class extends At{constructor(){super(...arguments);this.from=he.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=he.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=he.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=he.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=he.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=he.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=he.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=he.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:e_([ks(["unlimited"]),W2($U(),[r_(),t_(1)])])});this.topological=he.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=he.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=he.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=he.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=he.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=he.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=he.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=he.String();this.args=he.Proxy()}static{this.paths=[["workspaces","foreach"]]}static{this.usage=at.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. You can also use the `--no-private` flag to avoid running the command in private workspaces.\n\n The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A --no-private npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]})}static{this.schema=[V2("all",Vf.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),n_(["all","recursive","since","worktree"],{missingIf:"undefined"})]}async execute(){let r=await ze.find(this.context.cwd,this.context.plugins),{project:s,workspace:a}=await Rt.find(r,this.context.cwd);if(!this.all&&!a)throw new ar(s.cwd,this.context.cwd);await s.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),c=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new it("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let f=Ee=>{this.dryRun&&this.context.stdout.write(`${Ee} +`)},p=()=>{let Ee=this.from.map(g=>j1.default.matcher(g));return s.workspaces.filter(g=>{let Se=j.stringifyIdent(g.anchoredLocator),Be=g.relativeCwd;return Ee.some(me=>me(Se)||me(Be))})},h=[];if(this.since?(f("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await La.fetchChangedWorkspaces({ref:this.since,project:s}))):this.from?(f("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(f("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(f("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(f("Option --all is set; selecting all workspaces"),h=[...s.workspaces]),this.dryRun&&!this.all){for(let Ee of h)f(` +- ${Ee.relativeCwd} + ${j.prettyLocator(r,Ee.anchoredLocator)}`);h.length>0&&f("")}let E;if(this.recursive?this.since?(f("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependents()]).flat())):(f("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(f("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let Ee of E)f(` +- ${Ee.relativeCwd} + ${j.prettyLocator(r,Ee.anchoredLocator)}`);let C=[],S=!1;if(c?.includes(":")){for(let Ee of s.workspaces)if(Ee.manifest.scripts.has(c)&&(S=!S,S===!1))break}for(let Ee of h){if(c&&!Ee.manifest.scripts.has(c)&&!S&&!(await Cn.getWorkspaceAccessibleBinaries(Ee)).has(c)){f(`Excluding ${Ee.relativeCwd} because it doesn't have a "${c}" script`);continue}if(!(c===r.env.npm_lifecycle_event&&Ee.cwd===a.cwd)){if(this.include.length>0&&!j1.default.isMatch(j.stringifyIdent(Ee.anchoredLocator),this.include)&&!j1.default.isMatch(Ee.relativeCwd,this.include)){f(`Excluding ${Ee.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(j1.default.isMatch(j.stringifyIdent(Ee.anchoredLocator),this.exclude)||j1.default.isMatch(Ee.relativeCwd,this.exclude))){f(`Excluding ${Ee.relativeCwd} because it matches the --exclude filter`);continue}if(this.publicOnly&&Ee.manifest.private===!0){f(`Excluding ${Ee.relativeCwd} because it's a private workspace and --no-private was set`);continue}C.push(Ee)}}if(C.sort((Ee,g)=>j.stringifyIdent(Ee.anchoredLocator).localeCompare(j.stringifyIdent(g.anchoredLocator))),this.dryRun)return 0;let x=this.verbose??(this.context.stdout.isTTY?1/0:0),I=x>0,T=x>1,O=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(Ui.availableParallelism()/2):1,U=O===1?!1:this.parallel,V=U?this.interlaced:!0,te=(0,iPe.default)(O),ie=new Map,ue=new Set,ae=0,de=null,Ae=!1,Ce=await Ot.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async Ee=>{let g=async(Se,{commandIndex:Be})=>{if(Ae)return-1;!U&&T&&Be>1&&Ee.reportSeparator();let me=LSt(Se,{configuration:r,label:I,commandIndex:Be}),[ce,Z]=nPe(Ee,{prefix:me,interlaced:V}),[De,Qe]=nPe(Ee,{prefix:me,interlaced:V});try{T&&Ee.reportInfo(null,`${me?`${me} `:""}Process started`);let st=Date.now(),_=await this.cli.run([this.commandName,...this.args],{cwd:Se.cwd,stdout:ce,stderr:De})||0;ce.end(),De.end(),await Z,await Qe;let tt=Date.now();if(T){let Ne=r.get("enableTimers")?`, completed in ${pe.pretty(r,tt-st,pe.Type.DURATION)}`:"";Ee.reportInfo(null,`${me?`${me} `:""}Process exited (exit code ${_})${Ne}`)}return _===130&&(Ae=!0,de=_),_}catch(st){throw ce.end(),De.end(),await Z,await Qe,st}};for(let Se of C)ie.set(Se.anchoredLocator.locatorHash,Se);for(;ie.size>0&&!Ee.hasErrors();){let Se=[];for(let[Z,De]of ie){if(ue.has(De.anchoredDescriptor.descriptorHash))continue;let Qe=!0;if(this.topological||this.topologicalDev){let st=this.topologicalDev?new Map([...De.manifest.dependencies,...De.manifest.devDependencies]):De.manifest.dependencies;for(let _ of st.values()){let tt=s.tryWorkspaceByDescriptor(_);if(Qe=tt===null||!ie.has(tt.anchoredLocator.locatorHash),!Qe)break}}if(Qe&&(ue.add(De.anchoredDescriptor.descriptorHash),Se.push(te(async()=>{let st=await g(De,{commandIndex:++ae});return ie.delete(Z),ue.delete(De.anchoredDescriptor.descriptorHash),{workspace:De,exitCode:st}})),!U))break}if(Se.length===0){let Z=Array.from(ie.values()).map(De=>j.prettyLocator(r,De.anchoredLocator)).join(", ");Ee.reportError(3,`Dependency cycle detected (${Z})`);return}let Be=await Promise.all(Se);Be.forEach(({workspace:Z,exitCode:De})=>{De!==0&&Ee.reportError(0,`The command failed in workspace ${j.prettyLocator(r,Z.anchoredLocator)} with exit code ${De}`)});let ce=Be.map(Z=>Z.exitCode).find(Z=>Z!==0);(this.topological||this.topologicalDev)&&typeof ce<"u"&&Ee.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return de!==null?de:Ce.exitCode()}};function nPe(e,{prefix:t,interlaced:r}){let s=e.createStreamReporter(t),a=new Ge.DefaultStream;a.pipe(s,{end:!1}),a.on("finish",()=>{s.end()});let n=new Promise(f=>{s.on("finish",()=>{f(a.active)})});if(r)return[a,n];let c=new Ge.BufferStream;return c.pipe(a,{end:!1}),c.on("finish",()=>{a.end()}),[c,n]}function LSt(e,{configuration:t,commandIndex:r,label:s}){if(!s)return null;let n=`[${j.stringifyIdent(e.anchoredLocator)}]:`,c=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],f=c[r%c.length];return pe.pretty(t,n,f)}var MSt={commands:[H1,G1]},USt=MSt;var YI=()=>({modules:new Map([["@yarnpkg/cli",Gv],["@yarnpkg/core",jv],["@yarnpkg/fslib",R2],["@yarnpkg/libzip",nv],["@yarnpkg/parsers",_2],["@yarnpkg/shell",cv],["clipanion",Z2],["semver",_St],["typanion",Jo],["@yarnpkg/plugin-essentials",F5],["@yarnpkg/plugin-catalog",M5],["@yarnpkg/plugin-compat",G5],["@yarnpkg/plugin-constraints",o9],["@yarnpkg/plugin-dlx",a9],["@yarnpkg/plugin-exec",u9],["@yarnpkg/plugin-file",A9],["@yarnpkg/plugin-git",T5],["@yarnpkg/plugin-github",g9],["@yarnpkg/plugin-http",d9],["@yarnpkg/plugin-init",m9],["@yarnpkg/plugin-interactive-tools",hW],["@yarnpkg/plugin-jsr",dW],["@yarnpkg/plugin-link",mW],["@yarnpkg/plugin-nm",rY],["@yarnpkg/plugin-npm",rK],["@yarnpkg/plugin-npm-cli",AK],["@yarnpkg/plugin-pack",KY],["@yarnpkg/plugin-patch",EK],["@yarnpkg/plugin-pnp",GW],["@yarnpkg/plugin-pnpm",wK],["@yarnpkg/plugin-stage",xK],["@yarnpkg/plugin-typescript",kK],["@yarnpkg/plugin-version",NK],["@yarnpkg/plugin-workspace-tools",OK]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-catalog","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-jsr","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function aPe({cwd:e,pluginConfiguration:t}){let r=new Sa({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:An??""});return Object.assign(r,{defaultContext:{...Sa.defaultContext,cwd:e,plugins:t,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function HSt(e){if(Ge.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,s=">=18.12.0";if(kr.satisfiesWithPrereleases(r,s))return!0;let a=new it(`This tool requires a Node version compatible with ${s} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return Sa.defaultContext.stdout.write(e.error(a)),!1}async function lPe({selfPath:e,pluginConfiguration:t}){return await ze.find(fe.toPortablePath(process.cwd()),t,{strict:!1,usePathCheck:e})}function jSt(e,t,{yarnPath:r}){if(!le.existsSync(r))return e.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let s={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,sPe.execFileSync)(process.execPath,[fe.fromPortablePath(r),...t],s)}catch(a){return a.status??1}return 0}function GSt(e,t){let r=null,s=t;return t.length>=2&&t[0]==="--cwd"?(r=fe.toPortablePath(t[1]),s=t.slice(2)):t.length>=1&&t[0].startsWith("--cwd=")?(r=fe.toPortablePath(t[0].slice(6)),s=t.slice(1)):t[0]==="add"&&t[t.length-2]==="--cwd"&&(r=fe.toPortablePath(t[t.length-1]),s=t.slice(0,t.length-2)),e.defaultContext.cwd=r!==null?J.resolve(r):J.cwd(),s}function qSt(e,{configuration:t}){if(!t.get("enableTelemetry")||oPe.isCI||!process.stdout.isTTY)return;ze.telemetry=new GI(t,"puba9cdc10ec5790a2cf4969dd413a47270");let s=/^@yarnpkg\/plugin-(.*)$/;for(let a of t.plugins.keys())qI.has(a.match(s)?.[1]??"")&&ze.telemetry?.reportPluginName(a);e.binaryVersion&&ze.telemetry.reportVersion(e.binaryVersion)}function cPe(e,{configuration:t}){for(let r of t.plugins.values())for(let s of r.commands||[])e.register(s)}async function WSt(e,t,{selfPath:r,pluginConfiguration:s}){if(!HSt(e))return 1;let a=await lPe({selfPath:r,pluginConfiguration:s}),n=a.get("yarnPath"),c=a.get("ignorePath");if(n&&!c)return jSt(e,t,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let f=GSt(e,t);qSt(e,{configuration:a}),cPe(e,{configuration:a});let p=e.process(f,e.defaultContext);return p.help||ze.telemetry?.reportCommandName(p.path.join(" ")),await e.run(p,e.defaultContext)}async function y0e({cwd:e=J.cwd(),pluginConfiguration:t=YI()}={}){let r=aPe({cwd:e,pluginConfiguration:t}),s=await lPe({pluginConfiguration:t,selfPath:null});return cPe(r,{configuration:s}),r}async function QT(e,{cwd:t=J.cwd(),selfPath:r,pluginConfiguration:s}){let a=aPe({cwd:t,pluginConfiguration:s});function n(){Sa.defaultContext.stdout.write(`ERROR: Yarn is terminating due to an unexpected empty event loop. +Please report this issue at https://github.com/yarnpkg/berry/issues.`)}process.once("beforeExit",n);try{process.exitCode=42,process.exitCode=await WSt(a,e,{selfPath:r,pluginConfiguration:s})}catch(c){Sa.defaultContext.stdout.write(a.error(c)),process.exitCode=1}finally{process.off("beforeExit",n),await le.rmtempPromise()}}QT(process.argv.slice(2),{cwd:J.cwd(),selfPath:fe.toPortablePath(fe.resolve(process.argv[1])),pluginConfiguration:YI()});})(); +/** + @license + Copyright (c) 2026, Rebecca Turner + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + */ +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +/** + @license + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/*! Bundled license information: + +is-number/index.js: + (*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + *) + +to-regex-range/index.js: + (*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + *) + +fill-range/index.js: + (*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-extglob/index.js: + (*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + *) + +is-glob/index.js: + (*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + *) + +queue-microtask/index.js: + (*! queue-microtask. MIT License. Feross Aboukhadijeh *) + +run-parallel/index.js: + (*! run-parallel. MIT License. Feross Aboukhadijeh *) + +git-url-parse/lib/index.js: + (*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + *) + +object-assign/index.js: + (* + object-assign + (c) Sindre Sorhus + @license MIT + *) + +react/cjs/react.production.min.js: + (** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +scheduler/cjs/scheduler.production.min.js: + (** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-reconciler/cjs/react-reconciler.production.min.js: + (** @license React v0.26.2 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +is-windows/index.js: + (*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + *) +*/ diff --git a/.yarn/releases/yarn-4.8.1.cjs b/.yarn/releases/yarn-4.8.1.cjs deleted file mode 100755 index e635cf224..000000000 --- a/.yarn/releases/yarn-4.8.1.cjs +++ /dev/null @@ -1,935 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var W3e=Object.create;var dT=Object.defineProperty;var Y3e=Object.getOwnPropertyDescriptor;var K3e=Object.getOwnPropertyNames;var V3e=Object.getPrototypeOf,z3e=Object.prototype.hasOwnProperty;var De=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var It=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Kt=(t,e)=>{for(var r in e)dT(t,r,{get:e[r],enumerable:!0})},J3e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of K3e(e))!z3e.call(t,a)&&a!==r&&dT(t,a,{get:()=>e[a],enumerable:!(o=Y3e(e,a))||o.enumerable});return t};var et=(t,e,r)=>(r=t!=null?W3e(V3e(t)):{},J3e(e||!t||!t.__esModule?dT(r,"default",{value:t,enumerable:!0}):r,t));var Pi={};Kt(Pi,{SAFE_TIME:()=>AW,S_IFDIR:()=>VD,S_IFLNK:()=>zD,S_IFMT:()=>Hu,S_IFREG:()=>lw});var Hu,VD,lw,zD,AW,fW=It(()=>{Hu=61440,VD=16384,lw=32768,zD=40960,AW=456789e3});var sr={};Kt(sr,{EBADF:()=>ho,EBUSY:()=>X3e,EEXIST:()=>n_e,EINVAL:()=>$3e,EISDIR:()=>r_e,ENOENT:()=>e_e,ENOSYS:()=>Z3e,ENOTDIR:()=>t_e,ENOTEMPTY:()=>s_e,EOPNOTSUPP:()=>o_e,EROFS:()=>i_e,ERR_DIR_CLOSED:()=>mT});function Ll(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function X3e(t){return Ll("EBUSY",t)}function Z3e(t,e){return Ll("ENOSYS",`${t}, ${e}`)}function $3e(t){return Ll("EINVAL",`invalid argument, ${t}`)}function ho(t){return Ll("EBADF",`bad file descriptor, ${t}`)}function e_e(t){return Ll("ENOENT",`no such file or directory, ${t}`)}function t_e(t){return Ll("ENOTDIR",`not a directory, ${t}`)}function r_e(t){return Ll("EISDIR",`illegal operation on a directory, ${t}`)}function n_e(t){return Ll("EEXIST",`file already exists, ${t}`)}function i_e(t){return Ll("EROFS",`read-only filesystem, ${t}`)}function s_e(t){return Ll("ENOTEMPTY",`directory not empty, ${t}`)}function o_e(t){return Ll("EOPNOTSUPP",`operation not supported, ${t}`)}function mT(){return Ll("ERR_DIR_CLOSED","Directory handle was closed")}var JD=It(()=>{});var wa={};Kt(wa,{BigIntStatsEntry:()=>Am,DEFAULT_MODE:()=>CT,DirEntry:()=>yT,StatEntry:()=>um,areStatsEqual:()=>IT,clearStats:()=>XD,convertToBigIntStats:()=>l_e,makeDefaultStats:()=>pW,makeEmptyStats:()=>a_e});function pW(){return new um}function a_e(){return XD(pW())}function XD(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):ET.types.isDate(r)&&(t[e]=new Date(0))}return t}function l_e(t){let e=new Am;for(let r in t)if(Object.hasOwn(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):ET.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function IT(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var ET,CT,yT,um,Am,wT=It(()=>{ET=et(De("util")),CT=33188,yT=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},um=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=CT;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Am=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(CT);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function p_e(t){let e,r;if(e=t.match(A_e))t=e[1];else if(r=t.match(f_e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function h_e(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(c_e))?t=`/${e[1]}`:(r=t.match(u_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function ZD(t,e){return t===ue?gW(e):BT(e)}var cw,Bt,mr,ue,K,hW,c_e,u_e,A_e,f_e,BT,gW,Ba=It(()=>{cw=et(De("path")),Bt={root:"/",dot:".",parent:".."},mr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},ue=Object.create(cw.default),K=Object.create(cw.default.posix);ue.cwd=()=>process.cwd();K.cwd=process.platform==="win32"?()=>BT(process.cwd()):process.cwd;process.platform==="win32"&&(K.resolve=(...t)=>t.length>0&&K.isAbsolute(t[0])?cw.default.posix.resolve(...t):cw.default.posix.resolve(K.cwd(),...t));hW=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.contains=(t,e)=>hW(ue,t,e);K.contains=(t,e)=>hW(K,t,e);c_e=/^([a-zA-Z]:.*)$/,u_e=/^\/\/(\.\/)?(.*)$/,A_e=/^\/([a-zA-Z]:.*)$/,f_e=/^\/unc\/(\.dot\/)?(.*)$/;BT=process.platform==="win32"?h_e:t=>t,gW=process.platform==="win32"?p_e:t=>t;ue.fromPortablePath=gW;ue.toPortablePath=BT});async function $D(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function dW(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:j0,mtime:j0}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await vT(A,p,t,n,r,u,{...a,didParentExist:!0});for(let w of A)await w();await Promise.all(p.map(w=>w()))}async function vT(t,e,r,o,a,n,u){let A=u.didParentExist?await mW(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:j0,mtime:j0}:p,w;switch(!0){case p.isDirectory():w=await d_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():w=await E_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():w=await C_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(u.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((w||A?.mtime?.getTime()!==E.getTime()||A?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),w=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),w=!0)),w}async function mW(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function d_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(D){if(D.code!=="EEXIST")throw D}}),h=!0);let E=await n.readdirPromise(u),w=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let D of E.sort())await vT(t,e,r,r.pathUtils.join(o,D),n,n.pathUtils.join(u,D),w)&&(h=!0);else(await Promise.all(E.map(async b=>{await vT(t,e,r,r.pathUtils.join(o,b),n,n.pathUtils.join(u,b),w)}))).some(b=>b)&&(h=!0);return h}async function m_e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),w=420,D=A.mode&511,b=`${E}${D!==w?D.toString(8):""}`,C=r.pathUtils.join(h.indexPath,E.slice(0,2),`${b}.dat`),T;(ce=>(ce[ce.Lock=0]="Lock",ce[ce.Rename=1]="Rename"))(T||={});let L=1,U=await mW(r,C);if(a){let le=U&&a.dev===U.dev&&a.ino===U.ino,de=U?.mtimeMs!==g_e;if(le&&de&&h.autoRepair&&(L=0,U=null),!le)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let z=!U&&L===1?`${C}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return t.push(async()=>{if(!U&&(L===0&&await r.lockPromise(C,async()=>{let le=await n.readFilePromise(u);await r.writeFilePromise(C,le)}),L===1&&z)){let le=await n.readFilePromise(u);await r.writeFilePromise(z,le);try{await r.linkPromise(z,C)}catch(de){if(de.code==="EEXIST")te=!0,await r.unlinkPromise(z);else throw de}}a||await r.linkPromise(C,o)}),e.push(async()=>{U||(await r.lutimesPromise(C,j0,j0),D!==w&&await r.chmodPromise(C,D)),z&&!te&&await r.unlinkPromise(z)}),!1}async function y_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function E_e(t,e,r,o,a,n,u,A,p){return p.linkStrategy?.type==="HardlinkFromIndex"?m_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):y_e(t,e,r,o,a,n,u,A,p)}async function C_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(ZD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var j0,g_e,DT=It(()=>{Ba();j0=new Date(456789e3*1e3),g_e=j0.getTime()});function eP(t,e,r,o){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let u=t.pathUtils.join(e,n);return Object.assign(t.statSync(u),{name:n,path:void 0})};return new uw(e,a,o)}var uw,yW=It(()=>{JD();uw=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw mT()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function EW(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var CW,tP,IW=It(()=>{CW=De("events");wT();tP=class t extends CW.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new t(r,o,a);return n.start(),n}start(){EW(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){EW(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let r=this.bigint?new Am:new um;return XD(r)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;IT(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function fm(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=rP.get(t);typeof p>"u"&&rP.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=tP.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function G0(t,e,r){let o=rP.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function W0(t){let e=rP.get(t);if(!(typeof e>"u"))for(let r of e.keys())G0(t,r)}var rP,PT=It(()=>{IW();rP=new WeakMap});function I_e(t){let e=t.match(/\r?\n/g);if(e===null)return BW.EOL;let r=e.filter(a=>a===`\r -`).length,o=e.length-r;return r>o?`\r -`:` -`}function Y0(t,e){return e.replace(/\r?\n/g,I_e(t))}var wW,BW,hf,qu,K0=It(()=>{wW=De("crypto"),BW=De("os");DT();Ba();hf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,wW.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;nsetTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await dW(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(ZD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Y0(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Y0(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r,{compact:o=!1}={}){let a=o?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)} -`)}writeJsonSync(e,r,{compact:o=!1}={}){let a=o?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)} -`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},qu=class extends hf{constructor(){super(K)}}});var ws,gf=It(()=>{K0();ws=class extends hf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var ju,vW=It(()=>{gf();ju=class extends ws{constructor(e,{baseFs:r,pathUtils:o}){super(o),this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}});function DW(t){let e=t;return typeof t.path=="string"&&(e.path=ue.toPortablePath(t.path)),e}var PW,_n,V0=It(()=>{PW=et(De("fs"));K0();Ba();_n=class extends qu{constructor(e=PW.default){super(),this.realFs=e}getExtractHint(){return!1}getRealPath(){return Bt.root}resolve(e){return K.resolve(e)}async openPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.open(ue.fromPortablePath(e),r,o,this.makeCallback(a,n))})}openSync(e,r,o){return this.realFs.openSync(ue.fromPortablePath(e),r,o)}async opendirPromise(e,r){return await new Promise((o,a)=>{typeof r<"u"?this.realFs.opendir(ue.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.opendir(ue.fromPortablePath(e),this.makeCallback(o,a))}).then(o=>{let a=o;return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a})}opendirSync(e,r){let a=typeof r<"u"?this.realFs.opendirSync(ue.fromPortablePath(e),r):this.realFs.opendirSync(ue.fromPortablePath(e));return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a}async readPromise(e,r,o=0,a=0,n=-1){return await new Promise((u,A)=>{this.realFs.read(e,r,o,a,n,(p,h)=>{p?A(p):u(h)})})}readSync(e,r,o,a,n){return this.realFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return await new Promise((u,A)=>typeof r=="string"?this.realFs.write(e,r,o,this.makeCallback(u,A)):this.realFs.write(e,r,o,a,n,this.makeCallback(u,A)))}writeSync(e,r,o,a,n){return typeof r=="string"?this.realFs.writeSync(e,r,o):this.realFs.writeSync(e,r,o,a,n)}async closePromise(e){await new Promise((r,o)=>{this.realFs.close(e,this.makeCallback(r,o))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let o=e!==null?ue.fromPortablePath(e):e;return this.realFs.createReadStream(o,r)}createWriteStream(e,r){let o=e!==null?ue.fromPortablePath(e):e;return this.realFs.createWriteStream(o,r)}async realpathPromise(e){return await new Promise((r,o)=>{this.realFs.realpath(ue.fromPortablePath(e),{},this.makeCallback(r,o))}).then(r=>ue.toPortablePath(r))}realpathSync(e){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(ue.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(ue.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((o,a)=>{this.realFs.access(ue.fromPortablePath(e),r,this.makeCallback(o,a))})}existsSync(e){return this.realFs.existsSync(ue.fromPortablePath(e))}async statPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.stat(ue.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.stat(ue.fromPortablePath(e),this.makeCallback(o,a))})}statSync(e,r){return r?this.realFs.statSync(ue.fromPortablePath(e),r):this.realFs.statSync(ue.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.fstat(e,r,this.makeCallback(o,a)):this.realFs.fstat(e,this.makeCallback(o,a))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.lstat(ue.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.lstat(ue.fromPortablePath(e),this.makeCallback(o,a))})}lstatSync(e,r){return r?this.realFs.lstatSync(ue.fromPortablePath(e),r):this.realFs.lstatSync(ue.fromPortablePath(e))}async fchmodPromise(e,r){return await new Promise((o,a)=>{this.realFs.fchmod(e,r,this.makeCallback(o,a))})}fchmodSync(e,r){return this.realFs.fchmodSync(e,r)}async chmodPromise(e,r){return await new Promise((o,a)=>{this.realFs.chmod(ue.fromPortablePath(e),r,this.makeCallback(o,a))})}chmodSync(e,r){return this.realFs.chmodSync(ue.fromPortablePath(e),r)}async fchownPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.fchown(e,r,o,this.makeCallback(a,n))})}fchownSync(e,r,o){return this.realFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.chown(ue.fromPortablePath(e),r,o,this.makeCallback(a,n))})}chownSync(e,r,o){return this.realFs.chownSync(ue.fromPortablePath(e),r,o)}async renamePromise(e,r){return await new Promise((o,a)=>{this.realFs.rename(ue.fromPortablePath(e),ue.fromPortablePath(r),this.makeCallback(o,a))})}renameSync(e,r){return this.realFs.renameSync(ue.fromPortablePath(e),ue.fromPortablePath(r))}async copyFilePromise(e,r,o=0){return await new Promise((a,n)=>{this.realFs.copyFile(ue.fromPortablePath(e),ue.fromPortablePath(r),o,this.makeCallback(a,n))})}copyFileSync(e,r,o=0){return this.realFs.copyFileSync(ue.fromPortablePath(e),ue.fromPortablePath(r),o)}async appendFilePromise(e,r,o){return await new Promise((a,n)=>{let u=typeof e=="string"?ue.fromPortablePath(e):e;o?this.realFs.appendFile(u,r,o,this.makeCallback(a,n)):this.realFs.appendFile(u,r,this.makeCallback(a,n))})}appendFileSync(e,r,o){let a=typeof e=="string"?ue.fromPortablePath(e):e;o?this.realFs.appendFileSync(a,r,o):this.realFs.appendFileSync(a,r)}async writeFilePromise(e,r,o){return await new Promise((a,n)=>{let u=typeof e=="string"?ue.fromPortablePath(e):e;o?this.realFs.writeFile(u,r,o,this.makeCallback(a,n)):this.realFs.writeFile(u,r,this.makeCallback(a,n))})}writeFileSync(e,r,o){let a=typeof e=="string"?ue.fromPortablePath(e):e;o?this.realFs.writeFileSync(a,r,o):this.realFs.writeFileSync(a,r)}async unlinkPromise(e){return await new Promise((r,o)=>{this.realFs.unlink(ue.fromPortablePath(e),this.makeCallback(r,o))})}unlinkSync(e){return this.realFs.unlinkSync(ue.fromPortablePath(e))}async utimesPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.utimes(ue.fromPortablePath(e),r,o,this.makeCallback(a,n))})}utimesSync(e,r,o){this.realFs.utimesSync(ue.fromPortablePath(e),r,o)}async lutimesPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.lutimes(ue.fromPortablePath(e),r,o,this.makeCallback(a,n))})}lutimesSync(e,r,o){this.realFs.lutimesSync(ue.fromPortablePath(e),r,o)}async mkdirPromise(e,r){return await new Promise((o,a)=>{this.realFs.mkdir(ue.fromPortablePath(e),r,this.makeCallback(o,a))})}mkdirSync(e,r){return this.realFs.mkdirSync(ue.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.rmdir(ue.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.rmdir(ue.fromPortablePath(e),this.makeCallback(o,a))})}rmdirSync(e,r){return this.realFs.rmdirSync(ue.fromPortablePath(e),r)}async rmPromise(e,r){return await new Promise((o,a)=>{r?this.realFs.rm(ue.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.rm(ue.fromPortablePath(e),this.makeCallback(o,a))})}rmSync(e,r){return this.realFs.rmSync(ue.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((o,a)=>{this.realFs.link(ue.fromPortablePath(e),ue.fromPortablePath(r),this.makeCallback(o,a))})}linkSync(e,r){return this.realFs.linkSync(ue.fromPortablePath(e),ue.fromPortablePath(r))}async symlinkPromise(e,r,o){return await new Promise((a,n)=>{this.realFs.symlink(ue.fromPortablePath(e.replace(/\/+$/,"")),ue.fromPortablePath(r),o,this.makeCallback(a,n))})}symlinkSync(e,r,o){return this.realFs.symlinkSync(ue.fromPortablePath(e.replace(/\/+$/,"")),ue.fromPortablePath(r),o)}async readFilePromise(e,r){return await new Promise((o,a)=>{let n=typeof e=="string"?ue.fromPortablePath(e):e;this.realFs.readFile(n,r,this.makeCallback(o,a))})}readFileSync(e,r){let o=typeof e=="string"?ue.fromPortablePath(e):e;return this.realFs.readFileSync(o,r)}async readdirPromise(e,r){return await new Promise((o,a)=>{r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdir(ue.fromPortablePath(e),r,this.makeCallback(n=>o(n.map(DW)),a)):this.realFs.readdir(ue.fromPortablePath(e),r,this.makeCallback(n=>o(n.map(ue.toPortablePath)),a)):this.realFs.readdir(ue.fromPortablePath(e),r,this.makeCallback(o,a)):this.realFs.readdir(ue.fromPortablePath(e),this.makeCallback(o,a))})}readdirSync(e,r){return r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(e),r).map(DW):this.realFs.readdirSync(ue.fromPortablePath(e),r).map(ue.toPortablePath):this.realFs.readdirSync(ue.fromPortablePath(e),r):this.realFs.readdirSync(ue.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,o)=>{this.realFs.readlink(ue.fromPortablePath(e),this.makeCallback(r,o))}).then(r=>ue.toPortablePath(r))}readlinkSync(e){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((o,a)=>{this.realFs.truncate(ue.fromPortablePath(e),r,this.makeCallback(o,a))})}truncateSync(e,r){return this.realFs.truncateSync(ue.fromPortablePath(e),r)}async ftruncatePromise(e,r){return await new Promise((o,a)=>{this.realFs.ftruncate(e,r,this.makeCallback(o,a))})}ftruncateSync(e,r){return this.realFs.ftruncateSync(e,r)}watch(e,r,o){return this.realFs.watch(ue.fromPortablePath(e),r,o)}watchFile(e,r,o){return this.realFs.watchFile(ue.fromPortablePath(e),r,o)}unwatchFile(e,r){return this.realFs.unwatchFile(ue.fromPortablePath(e),r)}makeCallback(e,r){return(o,a)=>{o?r(o):e(a)}}}});var En,SW=It(()=>{V0();gf();Ba();En=class extends ws{constructor(e,{baseFs:r=new _n}={}){super(K),this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?K.normalize(e):this.baseFs.resolve(K.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}});var xW,Gu,bW=It(()=>{V0();gf();Ba();xW=Bt.root,Gu=class extends ws{constructor(e,{baseFs:r=new _n}={}){super(K),this.target=this.pathUtils.resolve(Bt.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Bt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(xW,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(xW,this.pathUtils.relative(this.target,e))}}});var pm,QW=It(()=>{gf();pm=class extends ws{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var z0,va,Wp,kW=It(()=>{z0=De("fs");K0();V0();PT();JD();Ba();va=4278190080,Wp=class extends qu{constructor({baseFs:r=new _n,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=z0.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:w}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=w,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(W0(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(W0(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&va)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&va)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&va)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&va)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw ho("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&va)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw ho("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&va)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw ho("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=ue.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&va)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&va)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&va)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&va)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&va)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw ho("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&va)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw ho("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if(a&z0.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&z0.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if(a&z0.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&z0.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async rmPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,o),async(a,{subPath:n})=>await a.rmPromise(n,o))}rmSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,o),(a,{subPath:n})=>a.rmSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&va)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&va)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw ho("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>fm(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>G0(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.statSync(o).mode&z0.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(Bt.root,r.substring(o.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[u,{childFs:A,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||A.hasOpenFileHandles?.())){if(o>=p){A.saveAndClose?.(),this.mountInstances.delete(u),n-=1;continue}else if(r===null||n<=0){a=p;break}A.saveAndClose?.(),this.mountInstances.delete(u),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await o(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await o(a)}finally{a.saveAndClose?.()}}}getMountSync(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,o(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return o(a)}finally{a.saveAndClose?.()}}}}});var $t,nP,FW=It(()=>{K0();Ba();$t=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),nP=class t extends hf{static{this.instance=new t}constructor(){super(K)}getExtractHint(){throw $t()}getRealPath(){throw $t()}resolve(){throw $t()}async openPromise(){throw $t()}openSync(){throw $t()}async opendirPromise(){throw $t()}opendirSync(){throw $t()}async readPromise(){throw $t()}readSync(){throw $t()}async writePromise(){throw $t()}writeSync(){throw $t()}async closePromise(){throw $t()}closeSync(){throw $t()}createWriteStream(){throw $t()}createReadStream(){throw $t()}async realpathPromise(){throw $t()}realpathSync(){throw $t()}async readdirPromise(){throw $t()}readdirSync(){throw $t()}async existsPromise(e){throw $t()}existsSync(e){throw $t()}async accessPromise(){throw $t()}accessSync(){throw $t()}async statPromise(){throw $t()}statSync(){throw $t()}async fstatPromise(e){throw $t()}fstatSync(e){throw $t()}async lstatPromise(e){throw $t()}lstatSync(e){throw $t()}async fchmodPromise(){throw $t()}fchmodSync(){throw $t()}async chmodPromise(){throw $t()}chmodSync(){throw $t()}async fchownPromise(){throw $t()}fchownSync(){throw $t()}async chownPromise(){throw $t()}chownSync(){throw $t()}async mkdirPromise(){throw $t()}mkdirSync(){throw $t()}async rmdirPromise(){throw $t()}rmdirSync(){throw $t()}async rmPromise(){throw $t()}rmSync(){throw $t()}async linkPromise(){throw $t()}linkSync(){throw $t()}async symlinkPromise(){throw $t()}symlinkSync(){throw $t()}async renamePromise(){throw $t()}renameSync(){throw $t()}async copyFilePromise(){throw $t()}copyFileSync(){throw $t()}async appendFilePromise(){throw $t()}appendFileSync(){throw $t()}async writeFilePromise(){throw $t()}writeFileSync(){throw $t()}async unlinkPromise(){throw $t()}unlinkSync(){throw $t()}async utimesPromise(){throw $t()}utimesSync(){throw $t()}async lutimesPromise(){throw $t()}lutimesSync(){throw $t()}async readFilePromise(){throw $t()}readFileSync(){throw $t()}async readlinkPromise(){throw $t()}readlinkSync(){throw $t()}async truncatePromise(){throw $t()}truncateSync(){throw $t()}async ftruncatePromise(e,r){throw $t()}ftruncateSync(e,r){throw $t()}watch(){throw $t()}watchFile(){throw $t()}unwatchFile(){throw $t()}}});var Yp,RW=It(()=>{gf();Ba();Yp=class extends ws{constructor(e){super(ue),this.baseFs=e}mapFromBase(e){return ue.fromPortablePath(e)}mapToBase(e){return ue.toPortablePath(e)}}});var w_e,ST,B_e,qs,TW=It(()=>{V0();gf();Ba();w_e=/^[0-9]+$/,ST=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,B_e=/^([^/]+-)?[a-f0-9]+$/,qs=class t extends ws{static makeVirtualPath(e,r,o){if(K.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!K.basename(r).match(B_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let n=K.relative(K.dirname(e),o).split("/"),u=0;for(;u{xT=et(De("buffer")),NW=De("url"),LW=De("util");gf();Ba();iP=class extends ws{constructor(e){super(ue),this.baseFs=e}mapFromBase(e){return e}mapToBase(e){if(typeof e=="string")return e;if(e instanceof URL)return(0,NW.fileURLToPath)(e);if(Buffer.isBuffer(e)){let r=e.toString();if(!v_e(e,r))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return r}throw new Error(`Unsupported path type: ${(0,LW.inspect)(e)}`)}}});var qW,go,df,Kp,sP,oP,hm,_c,Hc,MW,UW,_W,HW,Aw,jW=It(()=>{qW=De("readline"),go=Symbol("kBaseFs"),df=Symbol("kFd"),Kp=Symbol("kClosePromise"),sP=Symbol("kCloseResolve"),oP=Symbol("kCloseReject"),hm=Symbol("kRefs"),_c=Symbol("kRef"),Hc=Symbol("kUnref"),Aw=class{constructor(e,r){this[HW]=1;this[_W]=void 0;this[UW]=void 0;this[MW]=void 0;this[go]=r,this[df]=e}get fd(){return this[df]}async appendFile(e,r){try{this[_c](this.appendFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;return await this[go].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Hc]()}}async chown(e,r){try{return this[_c](this.chown),await this[go].fchownPromise(this.fd,e,r)}finally{this[Hc]()}}async chmod(e){try{return this[_c](this.chmod),await this[go].fchmodPromise(this.fd,e)}finally{this[Hc]()}}createReadStream(e){return this[go].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[go].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[_c](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??={},n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??=0,o??=0,o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[go].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Hc]()}}async readFile(e){try{this[_c](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[go].readFilePromise(this.fd,r)}finally{this[Hc]()}}readLines(e){return(0,qW.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[_c](this.stat),await this[go].fstatPromise(this.fd,e)}finally{this[Hc]()}}async truncate(e){try{return this[_c](this.truncate),await this[go].ftruncatePromise(this.fd,e)}finally{this[Hc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[_c](this.writeFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;await this[go].writeFilePromise(this.fd,e,o)}finally{this[Hc]()}}async write(...e){try{if(this[_c](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[go].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[go].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Hc]()}}async writev(e,r){try{this[_c](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Hc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[df]===-1)return Promise.resolve();if(this[Kp])return this[Kp];if(this[hm]--,this[hm]===0){let e=this[df];this[df]=-1,this[Kp]=this[go].closePromise(e).finally(()=>{this[Kp]=void 0})}else this[Kp]=new Promise((e,r)=>{this[sP]=e,this[oP]=r}).finally(()=>{this[Kp]=void 0,this[oP]=void 0,this[sP]=void 0});return this[Kp]}[(go,df,HW=hm,_W=Kp,UW=sP,MW=oP,_c)](e){if(this[df]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[hm]++}[Hc](){if(this[hm]--,this[hm]===0){let e=this[df];this[df]=-1,this[go].closePromise(e).then(this[sP],this[oP])}}}});function fw(t,e){e=new iP(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof u?.[gm.promisify.custom]<"u"&&(n[gm.promisify.custom]=u[gm.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of GW){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of D_e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of GW){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof Aw?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new Aw(n,e)})}t.read[gm.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[gm.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function aP(t,e){let r=Object.create(t);return fw(r,e),r}var gm,D_e,GW,WW=It(()=>{gm=De("util");OW();jW();D_e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),GW=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function YW(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function KW(){if(bT)return bT;let t=ue.toPortablePath(VW.default.tmpdir()),e=ae.realpathSync(t);return process.once("exit",()=>{ae.rmtempSync()}),bT={tmpdir:t,realTmpdir:e}}var VW,qc,bT,ae,zW=It(()=>{VW=et(De("os"));V0();Ba();qc=new Set,bT=null;ae=Object.assign(new _n,{detachTemp(t){qc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=KW();for(;;){let o=YW("xfs-");try{this.mkdirSync(K.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=K.join(r,o);if(qc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(qc.has(a)){qc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=KW();for(;;){let o=YW("xfs-");try{await this.mkdirPromise(K.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=K.join(r,o);if(qc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(qc.has(a)){qc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(qc.values()).map(async t=>{try{await ae.removePromise(t,{maxRetries:0}),qc.delete(t)}catch{}}))},rmtempSync(){for(let t of qc)try{ae.removeSync(t),qc.delete(t)}catch{}}})});var pw={};Kt(pw,{AliasFS:()=>ju,BasePortableFakeFS:()=>qu,CustomDir:()=>uw,CwdFS:()=>En,FakeFS:()=>hf,Filename:()=>mr,JailFS:()=>Gu,LazyFS:()=>pm,MountFS:()=>Wp,NoFS:()=>nP,NodeFS:()=>_n,PortablePath:()=>Bt,PosixFS:()=>Yp,ProxiedFS:()=>ws,VirtualFS:()=>qs,constants:()=>Pi,errors:()=>sr,extendFs:()=>aP,normalizeLineEndings:()=>Y0,npath:()=>ue,opendir:()=>eP,patchFs:()=>fw,ppath:()=>K,setupCopyIndex:()=>$D,statUtils:()=>wa,unwatchAllFiles:()=>W0,unwatchFile:()=>G0,watchFile:()=>fm,xfs:()=>ae});var Pt=It(()=>{fW();JD();wT();DT();yW();PT();K0();Ba();Ba();vW();K0();SW();bW();QW();kW();FW();V0();RW();gf();TW();WW();zW()});var eY=_((WSt,$W)=>{$W.exports=ZW;ZW.sync=S_e;var JW=De("fs");function P_e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o{iY.exports=rY;rY.sync=x_e;var tY=De("fs");function rY(t,e,r){tY.stat(t,function(o,a){r(o,o?!1:nY(a,e))})}function x_e(t,e){return nY(tY.statSync(t),e)}function nY(t,e){return t.isFile()&&b_e(t,e)}function b_e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,w=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return w}});var aY=_((VSt,oY)=>{var KSt=De("fs"),lP;process.platform==="win32"||global.TESTING_WINDOWS?lP=eY():lP=sY();oY.exports=QT;QT.sync=Q_e;function QT(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){QT(t,e||{},function(n,u){n?a(n):o(u)})})}lP(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function Q_e(t,e){try{return lP.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var hY=_((zSt,pY)=>{var dm=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",lY=De("path"),k_e=dm?";":":",cY=aY(),uY=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),AY=(t,e)=>{let r=e.colon||k_e,o=t.match(/\//)||dm&&t.match(/\\/)?[""]:[...dm?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=dm?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=dm?a.split(r):[""];return dm&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},fY=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=AY(t,e),u=[],A=h=>new Promise((E,w)=>{if(h===o.length)return e.all&&u.length?E(u):w(uY(t));let D=o[h],b=/^".*"$/.test(D)?D.slice(1,-1):D,C=lY.join(b,t),T=!b&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(T,h,0))}),p=(h,E,w)=>new Promise((D,b)=>{if(w===a.length)return D(A(E+1));let C=a[w];cY(h+C,{pathExt:n},(T,L)=>{if(!T&&L)if(e.all)u.push(h+C);else return D(h+C);return D(p(h,E,w+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},F_e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=AY(t,e),n=[];for(let u=0;u{"use strict";var gY=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};kT.exports=gY;kT.exports.default=gY});var CY=_((XSt,EY)=>{"use strict";var mY=De("path"),R_e=hY(),T_e=dY();function yY(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=R_e.sync(t.command,{path:r[T_e({env:r})],pathExt:e?mY.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=mY.resolve(a?t.options.cwd:"",u)),u}function N_e(t){return yY(t)||yY(t,!0)}EY.exports=N_e});var IY=_((ZSt,RT)=>{"use strict";var FT=/([()\][%!^"`<>&|;, *?])/g;function L_e(t){return t=t.replace(FT,"^$1"),t}function O_e(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(FT,"^$1"),e&&(t=t.replace(FT,"^$1")),t}RT.exports.command=L_e;RT.exports.argument=O_e});var BY=_(($St,wY)=>{"use strict";wY.exports=/^#!(.*)/});var DY=_((ext,vY)=>{"use strict";var M_e=BY();vY.exports=(t="")=>{let e=t.match(M_e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var SY=_((txt,PY)=>{"use strict";var TT=De("fs"),U_e=DY();function __e(t){let r=Buffer.alloc(150),o;try{o=TT.openSync(t,"r"),TT.readSync(o,r,0,150,0),TT.closeSync(o)}catch{}return U_e(r.toString())}PY.exports=__e});var kY=_((rxt,QY)=>{"use strict";var H_e=De("path"),xY=CY(),bY=IY(),q_e=SY(),j_e=process.platform==="win32",G_e=/\.(?:com|exe)$/i,W_e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Y_e(t){t.file=xY(t);let e=t.file&&q_e(t.file);return e?(t.args.unshift(t.file),t.command=e,xY(t)):t.file}function K_e(t){if(!j_e)return t;let e=Y_e(t),r=!G_e.test(e);if(t.options.forceShell||r){let o=W_e.test(e);t.command=H_e.normalize(t.command),t.command=bY.command(t.command),t.args=t.args.map(n=>bY.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function V_e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:K_e(o)}QY.exports=V_e});var TY=_((nxt,RY)=>{"use strict";var NT=process.platform==="win32";function LT(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function z_e(t,e){if(!NT)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=FY(a,e);if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function FY(t,e){return NT&&t===1&&!e.file?LT(e.original,"spawn"):null}function J_e(t,e){return NT&&t===1&&!e.file?LT(e.original,"spawnSync"):null}RY.exports={hookChildProcess:z_e,verifyENOENT:FY,verifyENOENTSync:J_e,notFoundError:LT}});var UT=_((ixt,mm)=>{"use strict";var NY=De("child_process"),OT=kY(),MT=TY();function LY(t,e,r){let o=OT(t,e,r),a=NY.spawn(o.command,o.args,o.options);return MT.hookChildProcess(a,o),a}function X_e(t,e,r){let o=OT(t,e,r),a=NY.spawnSync(o.command,o.args,o.options);return a.error=a.error||MT.verifyENOENTSync(a.status,o),a}mm.exports=LY;mm.exports.spawn=LY;mm.exports.sync=X_e;mm.exports._parse=OT;mm.exports._enoent=MT});var MY=_((sxt,OY)=>{"use strict";function Z_e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function J0(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,J0)}Z_e(J0,Error);J0.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w0){for(w=1,D=1;w>",S=cr(">>",!1),y=">&",R=cr(">&",!1),J=">",X=cr(">",!1),$="<<<",se=cr("<<<",!1),be="<&",Fe=cr("<&",!1),lt="<",Et=cr("<",!1),qt=function(N){return{type:"argument",segments:[].concat(...N)}},nr=function(N){return N},St="$'",cn=cr("$'",!1),Pr="'",yr=cr("'",!1),Rr=function(N){return[{type:"text",text:N}]},Xr='""',$n=cr('""',!1),Xs=function(){return{type:"text",text:""}},Hi='"',ks=cr('"',!1),Zs=function(N){return N},bi=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Fs=function(N){return{type:"shell",shell:N,quoted:!0}},$s=function(N){return{type:"variable",...N,quoted:!0}},SA=function(N){return{type:"text",text:N}},gu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},ap=function(N){return{type:"shell",shell:N,quoted:!1}},lp=function(N){return{type:"variable",...N,quoted:!1}},Rs=function(N){return{type:"glob",pattern:N}},Ln=/^[^']/,hs=Li(["'"],!0,!1),Ts=function(N){return N.join("")},pc=/^[^$"]/,hc=Li(["$",'"'],!0,!1),gc=`\\ -`,xA=cr(`\\ -`,!1),bA=function(){return""},Ro="\\",To=cr("\\",!1),QA=/^[\\$"`]/,pr=Li(["\\","$",'"',"`"],!1,!1),Me=function(N){return N},ia="\\a",dc=cr("\\a",!1),Er=function(){return"a"},du="\\b",kA=cr("\\b",!1),FA=function(){return"\b"},mc=/^[Ee]/,yc=Li(["E","e"],!1,!1),Il=function(){return"\x1B"},we="\\f",Tt=cr("\\f",!1),wl=function(){return"\f"},Bi="\\n",Ns=cr("\\n",!1),Ft=function(){return` -`},Bn="\\r",No=cr("\\r",!1),Qi=function(){return"\r"},vi="\\t",sa=cr("\\t",!1),un=function(){return" "},qn="\\v",Ec=cr("\\v",!1),cp=function(){return"\v"},oa=/^[\\'"?]/,aa=Li(["\\","'",'"',"?"],!1,!1),la=function(N){return String.fromCharCode(parseInt(N,16))},Ze="\\x",ca=cr("\\x",!1),mu="\\u",Bl=cr("\\u",!1),dn="\\U",Lo=cr("\\U",!1),RA=function(N){return String.fromCodePoint(parseInt(N,16))},TA=/^[0-7]/,Oo=Li([["0","7"]],!1,!1),qa=/^[0-9a-fA-f]/,Ot=Li([["0","9"],["a","f"],["A","f"]],!1,!1),vn=Iu(),Mo="{}",ua=cr("{}",!1),qi=function(){return"{}"},vl="-",Cc=cr("-",!1),Dl="+",Aa=cr("+",!1),Di=".",rs=cr(".",!1),ja=function(N,V,re){return{type:"number",value:(N==="-"?-1:1)*parseFloat(V.join("")+"."+re.join(""))}},yu=function(N,V){return{type:"number",value:(N==="-"?-1:1)*parseInt(V.join(""))}},Pl=function(N){return{type:"variable",...N}},pi=function(N){return{type:"variable",name:N}},Dn=function(N){return N},Sl="*",ze=cr("*",!1),st="/",vt=cr("/",!1),ar=function(N,V,re){return{type:V==="*"?"multiplication":"division",right:re}},ee=function(N,V){return V.reduce((re,he)=>({left:re,...he}),N)},Ee=function(N,V,re){return{type:V==="+"?"addition":"subtraction",right:re}},Le="$((",ht=cr("$((",!1),mt="))",Dt=cr("))",!1),er=function(N){return N},sn="$(",ei=cr("$(",!1),ki=function(N){return N},Pn="${",fa=cr("${",!1),vd=":-",DI=cr(":-",!1),eo=function(N,V){return{name:N,defaultValue:V}},Dd=":-}",up=cr(":-}",!1),PI=function(N){return{name:N,defaultValue:[]}},to=":+",Ap=cr(":+",!1),fp=function(N,V){return{name:N,alternativeValue:V}},Ic=":+}",pp=cr(":+}",!1),a0=function(N){return{name:N,alternativeValue:[]}},l0=function(N){return{name:N}},c0="$",Pd=cr("$",!1),Eu=function(N){return e.isGlobPattern(N)},ro=function(N){return N},Ga=/^[a-zA-Z0-9_]/,hp=Li([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),u0=function(){return Qd()},Wa=/^[$@*?#a-zA-Z0-9_\-]/,Ya=Li(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Sd=/^[()}<>$|&; \t"']/,NA=Li(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),xd=/^[<>&; \t"']/,bd=Li(["<",">","&",";"," "," ",'"',"'"],!1,!1),LA=/^[ \t]/,OA=Li([" "," "],!1,!1),W=0,xt=0,MA=[{line:1,column:1}],no=0,Cu=[],dt=0,wc;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function Qd(){return t.substring(xt,W)}function A0(){return wu(xt,W)}function SI(N,V){throw V=V!==void 0?V:wu(xt,W),UA([f0(N)],t.substring(xt,W),V)}function gp(N,V){throw V=V!==void 0?V:wu(xt,W),oi(N,V)}function cr(N,V){return{type:"literal",text:N,ignoreCase:V}}function Li(N,V,re){return{type:"class",parts:N,inverted:V,ignoreCase:re}}function Iu(){return{type:"any"}}function pa(){return{type:"end"}}function f0(N){return{type:"other",description:N}}function Bc(N){var V=MA[N],re;if(V)return V;for(re=N-1;!MA[re];)re--;for(V=MA[re],V={line:V.line,column:V.column};reno&&(no=W,Cu=[]),Cu.push(N))}function oi(N,V){return new J0(N,null,null,V)}function UA(N,V,re){return new J0(J0.buildMessage(N,V),N,V,re)}function ha(){var N,V,re;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();return V!==r?(re=Uo(),re===r&&(re=null),re!==r?(xt=N,V=n(re),N=V):(W=N,N=r)):(W=N,N=r),N}function Uo(){var N,V,re,he,Ke;if(N=W,V=dp(),V!==r){for(re=[],he=bt();he!==r;)re.push(he),he=bt();re!==r?(he=p0(),he!==r?(Ke=ga(),Ke===r&&(Ke=null),Ke!==r?(xt=N,V=u(V,he,Ke),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;if(N===r)if(N=W,V=dp(),V!==r){for(re=[],he=bt();he!==r;)re.push(he),he=bt();re!==r?(he=p0(),he===r&&(he=null),he!==r?(xt=N,V=A(V,he),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;return N}function ga(){var N,V,re,he,Ke;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r)if(re=Uo(),re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();he!==r?(xt=N,V=p(re),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r;return N}function p0(){var N;return t.charCodeAt(W)===59?(N=h,W++):(N=r,dt===0&&wt(E)),N===r&&(t.charCodeAt(W)===38?(N=w,W++):(N=r,dt===0&&wt(D))),N}function dp(){var N,V,re;return N=W,V=_A(),V!==r?(re=h0(),re===r&&(re=null),re!==r?(xt=N,V=b(V,re),N=V):(W=N,N=r)):(W=N,N=r),N}function h0(){var N,V,re,he,Ke,At,hr;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r)if(re=kd(),re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();if(he!==r)if(Ke=dp(),Ke!==r){for(At=[],hr=bt();hr!==r;)At.push(hr),hr=bt();At!==r?(xt=N,V=C(re,Ke),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;return N}function kd(){var N;return t.substr(W,2)===T?(N=T,W+=2):(N=r,dt===0&&wt(L)),N===r&&(t.substr(W,2)===U?(N=U,W+=2):(N=r,dt===0&&wt(z))),N}function _A(){var N,V,re;return N=W,V=Bu(),V!==r?(re=g0(),re===r&&(re=null),re!==r?(xt=N,V=te(V,re),N=V):(W=N,N=r)):(W=N,N=r),N}function g0(){var N,V,re,he,Ke,At,hr;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r)if(re=vc(),re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();if(he!==r)if(Ke=_A(),Ke!==r){for(At=[],hr=bt();hr!==r;)At.push(hr),hr=bt();At!==r?(xt=N,V=le(re,Ke),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;return N}function vc(){var N;return t.substr(W,2)===de?(N=de,W+=2):(N=r,dt===0&&wt(ce)),N===r&&(t.charCodeAt(W)===124?(N=me,W++):(N=r,dt===0&&wt(pe))),N}function Dc(){var N,V,re,he,Ke,At;if(N=W,V=Ep(),V!==r)if(t.charCodeAt(W)===61?(re=ve,W++):(re=r,dt===0&&wt(Ie)),re!==r)if(he=HA(),he!==r){for(Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();Ke!==r?(xt=N,V=g(V,he),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r;else W=N,N=r;if(N===r)if(N=W,V=Ep(),V!==r)if(t.charCodeAt(W)===61?(re=ve,W++):(re=r,dt===0&&wt(Ie)),re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();he!==r?(xt=N,V=Ce(V),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r;return N}function Bu(){var N,V,re,he,Ke,At,hr,Ir,Rn,ai,ns;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r)if(t.charCodeAt(W)===40?(re=ye,W++):(re=r,dt===0&&wt(Ae)),re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();if(he!==r)if(Ke=Uo(),Ke!==r){for(At=[],hr=bt();hr!==r;)At.push(hr),hr=bt();if(At!==r)if(t.charCodeAt(W)===41?(hr=ie,W++):(hr=r,dt===0&&wt(Z)),hr!==r){for(Ir=[],Rn=bt();Rn!==r;)Ir.push(Rn),Rn=bt();if(Ir!==r){for(Rn=[],ai=On();ai!==r;)Rn.push(ai),ai=On();if(Rn!==r){for(ai=[],ns=bt();ns!==r;)ai.push(ns),ns=bt();ai!==r?(xt=N,V=Pe(Ke,Rn),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;if(N===r){for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r)if(t.charCodeAt(W)===123?(re=Re,W++):(re=r,dt===0&&wt(gt)),re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();if(he!==r)if(Ke=Uo(),Ke!==r){for(At=[],hr=bt();hr!==r;)At.push(hr),hr=bt();if(At!==r)if(t.charCodeAt(W)===125?(hr=q,W++):(hr=r,dt===0&&wt(rt)),hr!==r){for(Ir=[],Rn=bt();Rn!==r;)Ir.push(Rn),Rn=bt();if(Ir!==r){for(Rn=[],ai=On();ai!==r;)Rn.push(ai),ai=On();if(Rn!==r){for(ai=[],ns=bt();ns!==r;)ai.push(ns),ns=bt();ai!==r?(xt=N,V=Te(Ke,Rn),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r}else W=N,N=r;else W=N,N=r;if(N===r){for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r){for(re=[],he=Dc();he!==r;)re.push(he),he=Dc();if(re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();if(he!==r){if(Ke=[],At=Pc(),At!==r)for(;At!==r;)Ke.push(At),At=Pc();else Ke=r;if(Ke!==r){for(At=[],hr=bt();hr!==r;)At.push(hr),hr=bt();At!==r?(xt=N,V=Ne(re,Ke),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}else W=N,N=r}else W=N,N=r;if(N===r){for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r){if(re=[],he=Dc(),he!==r)for(;he!==r;)re.push(he),he=Dc();else re=r;if(re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();he!==r?(xt=N,V=xe(re),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r}}}return N}function gs(){var N,V,re,he,Ke;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r){if(re=[],he=Ci(),he!==r)for(;he!==r;)re.push(he),he=Ci();else re=r;if(re!==r){for(he=[],Ke=bt();Ke!==r;)he.push(Ke),Ke=bt();he!==r?(xt=N,V=Ye(re),N=V):(W=N,N=r)}else W=N,N=r}else W=N,N=r;return N}function Pc(){var N,V,re;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();if(V!==r?(re=On(),re!==r?(xt=N,V=Qe(re),N=V):(W=N,N=r)):(W=N,N=r),N===r){for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();V!==r?(re=Ci(),re!==r?(xt=N,V=Qe(re),N=V):(W=N,N=r)):(W=N,N=r)}return N}function On(){var N,V,re,he,Ke;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();return V!==r?(it.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(Ue)),re===r&&(re=null),re!==r?(he=ji(),he!==r?(Ke=Ci(),Ke!==r?(xt=N,V=x(re,he,Ke),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function ji(){var N;return t.substr(W,2)===I?(N=I,W+=2):(N=r,dt===0&&wt(S)),N===r&&(t.substr(W,2)===y?(N=y,W+=2):(N=r,dt===0&&wt(R)),N===r&&(t.charCodeAt(W)===62?(N=J,W++):(N=r,dt===0&&wt(X)),N===r&&(t.substr(W,3)===$?(N=$,W+=3):(N=r,dt===0&&wt(se)),N===r&&(t.substr(W,2)===be?(N=be,W+=2):(N=r,dt===0&&wt(Fe)),N===r&&(t.charCodeAt(W)===60?(N=lt,W++):(N=r,dt===0&&wt(Et))))))),N}function Ci(){var N,V,re;for(N=W,V=[],re=bt();re!==r;)V.push(re),re=bt();return V!==r?(re=HA(),re!==r?(xt=N,V=Qe(re),N=V):(W=N,N=r)):(W=N,N=r),N}function HA(){var N,V,re;if(N=W,V=[],re=vu(),re!==r)for(;re!==r;)V.push(re),re=vu();else V=r;return V!==r&&(xt=N,V=qt(V)),N=V,N}function vu(){var N,V;return N=W,V=An(),V!==r&&(xt=N,V=nr(V)),N=V,N===r&&(N=W,V=d0(),V!==r&&(xt=N,V=nr(V)),N=V,N===r&&(N=W,V=m0(),V!==r&&(xt=N,V=nr(V)),N=V,N===r&&(N=W,V=Gi(),V!==r&&(xt=N,V=nr(V)),N=V))),N}function An(){var N,V,re,he;return N=W,t.substr(W,2)===St?(V=St,W+=2):(V=r,dt===0&&wt(cn)),V!==r?(re=fn(),re!==r?(t.charCodeAt(W)===39?(he=Pr,W++):(he=r,dt===0&&wt(yr)),he!==r?(xt=N,V=Rr(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function d0(){var N,V,re,he;return N=W,t.charCodeAt(W)===39?(V=Pr,W++):(V=r,dt===0&&wt(yr)),V!==r?(re=Du(),re!==r?(t.charCodeAt(W)===39?(he=Pr,W++):(he=r,dt===0&&wt(yr)),he!==r?(xt=N,V=Rr(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function m0(){var N,V,re,he;if(N=W,t.substr(W,2)===Xr?(V=Xr,W+=2):(V=r,dt===0&&wt($n)),V!==r&&(xt=N,V=Xs()),N=V,N===r)if(N=W,t.charCodeAt(W)===34?(V=Hi,W++):(V=r,dt===0&&wt(ks)),V!==r){for(re=[],he=Ka();he!==r;)re.push(he),he=Ka();re!==r?(t.charCodeAt(W)===34?(he=Hi,W++):(he=r,dt===0&&wt(ks)),he!==r?(xt=N,V=Zs(re),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;return N}function Gi(){var N,V,re;if(N=W,V=[],re=io(),re!==r)for(;re!==r;)V.push(re),re=io();else V=r;return V!==r&&(xt=N,V=Zs(V)),N=V,N}function Ka(){var N,V;return N=W,V=Kr(),V!==r&&(xt=N,V=bi(V)),N=V,N===r&&(N=W,V=yp(),V!==r&&(xt=N,V=Fs(V)),N=V,N===r&&(N=W,V=jA(),V!==r&&(xt=N,V=$s(V)),N=V,N===r&&(N=W,V=Pu(),V!==r&&(xt=N,V=SA(V)),N=V))),N}function io(){var N,V;return N=W,V=Kr(),V!==r&&(xt=N,V=gu(V)),N=V,N===r&&(N=W,V=yp(),V!==r&&(xt=N,V=ap(V)),N=V,N===r&&(N=W,V=jA(),V!==r&&(xt=N,V=lp(V)),N=V,N===r&&(N=W,V=Fd(),V!==r&&(xt=N,V=Rs(V)),N=V,N===r&&(N=W,V=mp(),V!==r&&(xt=N,V=SA(V)),N=V)))),N}function Du(){var N,V,re;for(N=W,V=[],Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs));re!==r;)V.push(re),Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs));return V!==r&&(xt=N,V=Ts(V)),N=V,N}function Pu(){var N,V,re;if(N=W,V=[],re=Va(),re===r&&(pc.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hc))),re!==r)for(;re!==r;)V.push(re),re=Va(),re===r&&(pc.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hc)));else V=r;return V!==r&&(xt=N,V=Ts(V)),N=V,N}function Va(){var N,V,re;return N=W,t.substr(W,2)===gc?(V=gc,W+=2):(V=r,dt===0&&wt(xA)),V!==r&&(xt=N,V=bA()),N=V,N===r&&(N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(QA.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(pr)),re!==r?(xt=N,V=Me(re),N=V):(W=N,N=r)):(W=N,N=r)),N}function fn(){var N,V,re;for(N=W,V=[],re=so(),re===r&&(Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs)));re!==r;)V.push(re),re=so(),re===r&&(Ln.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hs)));return V!==r&&(xt=N,V=Ts(V)),N=V,N}function so(){var N,V,re;return N=W,t.substr(W,2)===ia?(V=ia,W+=2):(V=r,dt===0&&wt(dc)),V!==r&&(xt=N,V=Er()),N=V,N===r&&(N=W,t.substr(W,2)===du?(V=du,W+=2):(V=r,dt===0&&wt(kA)),V!==r&&(xt=N,V=FA()),N=V,N===r&&(N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(mc.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(yc)),re!==r?(xt=N,V=Il(),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===we?(V=we,W+=2):(V=r,dt===0&&wt(Tt)),V!==r&&(xt=N,V=wl()),N=V,N===r&&(N=W,t.substr(W,2)===Bi?(V=Bi,W+=2):(V=r,dt===0&&wt(Ns)),V!==r&&(xt=N,V=Ft()),N=V,N===r&&(N=W,t.substr(W,2)===Bn?(V=Bn,W+=2):(V=r,dt===0&&wt(No)),V!==r&&(xt=N,V=Qi()),N=V,N===r&&(N=W,t.substr(W,2)===vi?(V=vi,W+=2):(V=r,dt===0&&wt(sa)),V!==r&&(xt=N,V=un()),N=V,N===r&&(N=W,t.substr(W,2)===qn?(V=qn,W+=2):(V=r,dt===0&&wt(Ec)),V!==r&&(xt=N,V=cp()),N=V,N===r&&(N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(oa.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(aa)),re!==r?(xt=N,V=Me(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=Sc()))))))))),N}function Sc(){var N,V,re,he,Ke,At,hr,Ir,Rn,ai,ns,GA;return N=W,t.charCodeAt(W)===92?(V=Ro,W++):(V=r,dt===0&&wt(To)),V!==r?(re=_o(),re!==r?(xt=N,V=la(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Ze?(V=Ze,W+=2):(V=r,dt===0&&wt(ca)),V!==r?(re=W,he=W,Ke=_o(),Ke!==r?(At=ds(),At!==r?(Ke=[Ke,At],he=Ke):(W=he,he=r)):(W=he,he=r),he===r&&(he=_o()),he!==r?re=t.substring(re,W):re=he,re!==r?(xt=N,V=la(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===mu?(V=mu,W+=2):(V=r,dt===0&&wt(Bl)),V!==r?(re=W,he=W,Ke=ds(),Ke!==r?(At=ds(),At!==r?(hr=ds(),hr!==r?(Ir=ds(),Ir!==r?(Ke=[Ke,At,hr,Ir],he=Ke):(W=he,he=r)):(W=he,he=r)):(W=he,he=r)):(W=he,he=r),he!==r?re=t.substring(re,W):re=he,re!==r?(xt=N,V=la(re),N=V):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===dn?(V=dn,W+=2):(V=r,dt===0&&wt(Lo)),V!==r?(re=W,he=W,Ke=ds(),Ke!==r?(At=ds(),At!==r?(hr=ds(),hr!==r?(Ir=ds(),Ir!==r?(Rn=ds(),Rn!==r?(ai=ds(),ai!==r?(ns=ds(),ns!==r?(GA=ds(),GA!==r?(Ke=[Ke,At,hr,Ir,Rn,ai,ns,GA],he=Ke):(W=he,he=r)):(W=he,he=r)):(W=he,he=r)):(W=he,he=r)):(W=he,he=r)):(W=he,he=r)):(W=he,he=r)):(W=he,he=r),he!==r?re=t.substring(re,W):re=he,re!==r?(xt=N,V=RA(re),N=V):(W=N,N=r)):(W=N,N=r)))),N}function _o(){var N;return TA.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(Oo)),N}function ds(){var N;return qa.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(Ot)),N}function mp(){var N,V,re,he,Ke;if(N=W,V=[],re=W,t.charCodeAt(W)===92?(he=Ro,W++):(he=r,dt===0&&wt(To)),he!==r?(t.length>W?(Ke=t.charAt(W),W++):(Ke=r,dt===0&&wt(vn)),Ke!==r?(xt=re,he=Me(Ke),re=he):(W=re,re=r)):(W=re,re=r),re===r&&(re=W,t.substr(W,2)===Mo?(he=Mo,W+=2):(he=r,dt===0&&wt(ua)),he!==r&&(xt=re,he=qi()),re=he,re===r&&(re=W,he=W,dt++,Ke=Rd(),dt--,Ke===r?he=void 0:(W=he,he=r),he!==r?(t.length>W?(Ke=t.charAt(W),W++):(Ke=r,dt===0&&wt(vn)),Ke!==r?(xt=re,he=Me(Ke),re=he):(W=re,re=r)):(W=re,re=r))),re!==r)for(;re!==r;)V.push(re),re=W,t.charCodeAt(W)===92?(he=Ro,W++):(he=r,dt===0&&wt(To)),he!==r?(t.length>W?(Ke=t.charAt(W),W++):(Ke=r,dt===0&&wt(vn)),Ke!==r?(xt=re,he=Me(Ke),re=he):(W=re,re=r)):(W=re,re=r),re===r&&(re=W,t.substr(W,2)===Mo?(he=Mo,W+=2):(he=r,dt===0&&wt(ua)),he!==r&&(xt=re,he=qi()),re=he,re===r&&(re=W,he=W,dt++,Ke=Rd(),dt--,Ke===r?he=void 0:(W=he,he=r),he!==r?(t.length>W?(Ke=t.charAt(W),W++):(Ke=r,dt===0&&wt(vn)),Ke!==r?(xt=re,he=Me(Ke),re=he):(W=re,re=r)):(W=re,re=r)));else V=r;return V!==r&&(xt=N,V=Ts(V)),N=V,N}function qA(){var N,V,re,he,Ke,At;if(N=W,t.charCodeAt(W)===45?(V=vl,W++):(V=r,dt===0&&wt(Cc)),V===r&&(t.charCodeAt(W)===43?(V=Dl,W++):(V=r,dt===0&&wt(Aa))),V===r&&(V=null),V!==r){if(re=[],it.test(t.charAt(W))?(he=t.charAt(W),W++):(he=r,dt===0&&wt(Ue)),he!==r)for(;he!==r;)re.push(he),it.test(t.charAt(W))?(he=t.charAt(W),W++):(he=r,dt===0&&wt(Ue));else re=r;if(re!==r)if(t.charCodeAt(W)===46?(he=Di,W++):(he=r,dt===0&&wt(rs)),he!==r){if(Ke=[],it.test(t.charAt(W))?(At=t.charAt(W),W++):(At=r,dt===0&&wt(Ue)),At!==r)for(;At!==r;)Ke.push(At),it.test(t.charAt(W))?(At=t.charAt(W),W++):(At=r,dt===0&&wt(Ue));else Ke=r;Ke!==r?(xt=N,V=ja(V,re,Ke),N=V):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;if(N===r){if(N=W,t.charCodeAt(W)===45?(V=vl,W++):(V=r,dt===0&&wt(Cc)),V===r&&(t.charCodeAt(W)===43?(V=Dl,W++):(V=r,dt===0&&wt(Aa))),V===r&&(V=null),V!==r){if(re=[],it.test(t.charAt(W))?(he=t.charAt(W),W++):(he=r,dt===0&&wt(Ue)),he!==r)for(;he!==r;)re.push(he),it.test(t.charAt(W))?(he=t.charAt(W),W++):(he=r,dt===0&&wt(Ue));else re=r;re!==r?(xt=N,V=yu(V,re),N=V):(W=N,N=r)}else W=N,N=r;if(N===r&&(N=W,V=jA(),V!==r&&(xt=N,V=Pl(V)),N=V,N===r&&(N=W,V=xl(),V!==r&&(xt=N,V=pi(V)),N=V,N===r)))if(N=W,t.charCodeAt(W)===40?(V=ye,W++):(V=r,dt===0&&wt(Ae)),V!==r){for(re=[],he=bt();he!==r;)re.push(he),he=bt();if(re!==r)if(he=Ls(),he!==r){for(Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();Ke!==r?(t.charCodeAt(W)===41?(At=ie,W++):(At=r,dt===0&&wt(Z)),At!==r?(xt=N,V=Dn(he),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r}return N}function Su(){var N,V,re,he,Ke,At,hr,Ir;if(N=W,V=qA(),V!==r){for(re=[],he=W,Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();if(Ke!==r)if(t.charCodeAt(W)===42?(At=Sl,W++):(At=r,dt===0&&wt(ze)),At===r&&(t.charCodeAt(W)===47?(At=st,W++):(At=r,dt===0&&wt(vt))),At!==r){for(hr=[],Ir=bt();Ir!==r;)hr.push(Ir),Ir=bt();hr!==r?(Ir=qA(),Ir!==r?(xt=he,Ke=ar(V,At,Ir),he=Ke):(W=he,he=r)):(W=he,he=r)}else W=he,he=r;else W=he,he=r;for(;he!==r;){for(re.push(he),he=W,Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();if(Ke!==r)if(t.charCodeAt(W)===42?(At=Sl,W++):(At=r,dt===0&&wt(ze)),At===r&&(t.charCodeAt(W)===47?(At=st,W++):(At=r,dt===0&&wt(vt))),At!==r){for(hr=[],Ir=bt();Ir!==r;)hr.push(Ir),Ir=bt();hr!==r?(Ir=qA(),Ir!==r?(xt=he,Ke=ar(V,At,Ir),he=Ke):(W=he,he=r)):(W=he,he=r)}else W=he,he=r;else W=he,he=r}re!==r?(xt=N,V=ee(V,re),N=V):(W=N,N=r)}else W=N,N=r;return N}function Ls(){var N,V,re,he,Ke,At,hr,Ir;if(N=W,V=Su(),V!==r){for(re=[],he=W,Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();if(Ke!==r)if(t.charCodeAt(W)===43?(At=Dl,W++):(At=r,dt===0&&wt(Aa)),At===r&&(t.charCodeAt(W)===45?(At=vl,W++):(At=r,dt===0&&wt(Cc))),At!==r){for(hr=[],Ir=bt();Ir!==r;)hr.push(Ir),Ir=bt();hr!==r?(Ir=Su(),Ir!==r?(xt=he,Ke=Ee(V,At,Ir),he=Ke):(W=he,he=r)):(W=he,he=r)}else W=he,he=r;else W=he,he=r;for(;he!==r;){for(re.push(he),he=W,Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();if(Ke!==r)if(t.charCodeAt(W)===43?(At=Dl,W++):(At=r,dt===0&&wt(Aa)),At===r&&(t.charCodeAt(W)===45?(At=vl,W++):(At=r,dt===0&&wt(Cc))),At!==r){for(hr=[],Ir=bt();Ir!==r;)hr.push(Ir),Ir=bt();hr!==r?(Ir=Su(),Ir!==r?(xt=he,Ke=Ee(V,At,Ir),he=Ke):(W=he,he=r)):(W=he,he=r)}else W=he,he=r;else W=he,he=r}re!==r?(xt=N,V=ee(V,re),N=V):(W=N,N=r)}else W=N,N=r;return N}function Kr(){var N,V,re,he,Ke,At;if(N=W,t.substr(W,3)===Le?(V=Le,W+=3):(V=r,dt===0&&wt(ht)),V!==r){for(re=[],he=bt();he!==r;)re.push(he),he=bt();if(re!==r)if(he=Ls(),he!==r){for(Ke=[],At=bt();At!==r;)Ke.push(At),At=bt();Ke!==r?(t.substr(W,2)===mt?(At=mt,W+=2):(At=r,dt===0&&wt(Dt)),At!==r?(xt=N,V=er(he),N=V):(W=N,N=r)):(W=N,N=r)}else W=N,N=r;else W=N,N=r}else W=N,N=r;return N}function yp(){var N,V,re,he;return N=W,t.substr(W,2)===sn?(V=sn,W+=2):(V=r,dt===0&&wt(ei)),V!==r?(re=Uo(),re!==r?(t.charCodeAt(W)===41?(he=ie,W++):(he=r,dt===0&&wt(Z)),he!==r?(xt=N,V=ki(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N}function jA(){var N,V,re,he,Ke,At;return N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=xl(),re!==r?(t.substr(W,2)===vd?(he=vd,W+=2):(he=r,dt===0&&wt(DI)),he!==r?(Ke=gs(),Ke!==r?(t.charCodeAt(W)===125?(At=q,W++):(At=r,dt===0&&wt(rt)),At!==r?(xt=N,V=eo(re,Ke),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=xl(),re!==r?(t.substr(W,3)===Dd?(he=Dd,W+=3):(he=r,dt===0&&wt(up)),he!==r?(xt=N,V=PI(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=xl(),re!==r?(t.substr(W,2)===to?(he=to,W+=2):(he=r,dt===0&&wt(Ap)),he!==r?(Ke=gs(),Ke!==r?(t.charCodeAt(W)===125?(At=q,W++):(At=r,dt===0&&wt(rt)),At!==r?(xt=N,V=fp(re,Ke),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=xl(),re!==r?(t.substr(W,3)===Ic?(he=Ic,W+=3):(he=r,dt===0&&wt(pp)),he!==r?(xt=N,V=a0(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.substr(W,2)===Pn?(V=Pn,W+=2):(V=r,dt===0&&wt(fa)),V!==r?(re=xl(),re!==r?(t.charCodeAt(W)===125?(he=q,W++):(he=r,dt===0&&wt(rt)),he!==r?(xt=N,V=l0(re),N=V):(W=N,N=r)):(W=N,N=r)):(W=N,N=r),N===r&&(N=W,t.charCodeAt(W)===36?(V=c0,W++):(V=r,dt===0&&wt(Pd)),V!==r?(re=xl(),re!==r?(xt=N,V=l0(re),N=V):(W=N,N=r)):(W=N,N=r)))))),N}function Fd(){var N,V,re;return N=W,V=y0(),V!==r?(xt=W,re=Eu(V),re?re=void 0:re=r,re!==r?(xt=N,V=ro(V),N=V):(W=N,N=r)):(W=N,N=r),N}function y0(){var N,V,re,he,Ke;if(N=W,V=[],re=W,he=W,dt++,Ke=Cp(),dt--,Ke===r?he=void 0:(W=he,he=r),he!==r?(t.length>W?(Ke=t.charAt(W),W++):(Ke=r,dt===0&&wt(vn)),Ke!==r?(xt=re,he=Me(Ke),re=he):(W=re,re=r)):(W=re,re=r),re!==r)for(;re!==r;)V.push(re),re=W,he=W,dt++,Ke=Cp(),dt--,Ke===r?he=void 0:(W=he,he=r),he!==r?(t.length>W?(Ke=t.charAt(W),W++):(Ke=r,dt===0&&wt(vn)),Ke!==r?(xt=re,he=Me(Ke),re=he):(W=re,re=r)):(W=re,re=r);else V=r;return V!==r&&(xt=N,V=Ts(V)),N=V,N}function Ep(){var N,V,re;if(N=W,V=[],Ga.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hp)),re!==r)for(;re!==r;)V.push(re),Ga.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(hp));else V=r;return V!==r&&(xt=N,V=u0()),N=V,N}function xl(){var N,V,re;if(N=W,V=[],Wa.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(Ya)),re!==r)for(;re!==r;)V.push(re),Wa.test(t.charAt(W))?(re=t.charAt(W),W++):(re=r,dt===0&&wt(Ya));else V=r;return V!==r&&(xt=N,V=u0()),N=V,N}function Rd(){var N;return Sd.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(NA)),N}function Cp(){var N;return xd.test(t.charAt(W))?(N=t.charAt(W),W++):(N=r,dt===0&&wt(bd)),N}function bt(){var N,V;if(N=[],LA.test(t.charAt(W))?(V=t.charAt(W),W++):(V=r,dt===0&&wt(OA)),V!==r)for(;V!==r;)N.push(V),LA.test(t.charAt(W))?(V=t.charAt(W),W++):(V=r,dt===0&&wt(OA));else N=r;return N}if(wc=a(),wc!==r&&W===t.length)return wc;throw wc!==r&&W!1}){try{return(0,UY.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function ym(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${AP(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function AP(t){return`${Em(t.chain)}${t.then?` ${_T(t.then)}`:""}`}function _T(t){return`${t.type} ${AP(t.line)}`}function Em(t){return`${qT(t)}${t.then?` ${HT(t.then)}`:""}`}function HT(t){return`${t.type} ${Em(t.chain)}`}function qT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>cP(e)).join(" ")} `:""}${t.args.map(e=>jT(e)).join(" ")}`;case"subshell":return`(${ym(t.subshell)})${t.args.length>0?` ${t.args.map(e=>hw(e)).join(" ")}`:""}`;case"group":return`{ ${ym(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>hw(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>cP(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function cP(t){return`${t.name}=${t.args[0]?X0(t.args[0]):""}`}function jT(t){switch(t.type){case"redirection":return hw(t);case"argument":return X0(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function hw(t){return`${t.subtype} ${t.args.map(e=>X0(e)).join(" ")}`}function X0(t){return t.segments.map(e=>GT(e)).join("")}function GT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?"''":o.match(/[()}<>$|&;"'\n\t ]/)?o.match(/['\t\p{C}]/u)?o.match(/'/)?`"${o.replace(/["$\t\p{C}]/u,t8e)}"`:`$'${o.replace(/[\t\p{C}]/u,HY)}'`:`'${o}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`$(${ym(t.shell)})`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>X0(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>X0(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${fP(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function fP(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(fP(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var UY,_Y,e8e,HY,t8e,qY=It(()=>{UY=et(MY());_Y=new Map([["\f","\\f"],[` -`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),e8e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(_Y,([t,e])=>[t,`"$'${e}'"`])]),HY=t=>_Y.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,t8e=t=>e8e.get(t)??`"$'${HY(t)}'"`});var GY=_((Ext,jY)=>{"use strict";function r8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Z0(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Z0)}r8e(Z0,Error);Z0.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w0){for(w=1,D=1;wde&&(de=z,ce=[]),ce.push(Ue))}function rt(Ue,x){return new Z0(Ue,null,null,x)}function Te(Ue,x,I){return new Z0(Z0.buildMessage(Ue,x),Ue,x,I)}function Ne(){var Ue,x,I,S;return Ue=z,x=xe(),x!==r?(t.charCodeAt(z)===47?(I=n,z++):(I=r,me===0&&q(u)),I!==r?(S=xe(),S!==r?(te=Ue,x=A(x,S),Ue=x):(z=Ue,Ue=r)):(z=Ue,Ue=r)):(z=Ue,Ue=r),Ue===r&&(Ue=z,x=xe(),x!==r&&(te=Ue,x=p(x)),Ue=x),Ue}function xe(){var Ue,x,I,S;return Ue=z,x=Ye(),x!==r?(t.charCodeAt(z)===64?(I=h,z++):(I=r,me===0&&q(E)),I!==r?(S=it(),S!==r?(te=Ue,x=w(x,S),Ue=x):(z=Ue,Ue=r)):(z=Ue,Ue=r)):(z=Ue,Ue=r),Ue===r&&(Ue=z,x=Ye(),x!==r&&(te=Ue,x=D(x)),Ue=x),Ue}function Ye(){var Ue,x,I,S,y;return Ue=z,t.charCodeAt(z)===64?(x=h,z++):(x=r,me===0&&q(E)),x!==r?(I=Qe(),I!==r?(t.charCodeAt(z)===47?(S=n,z++):(S=r,me===0&&q(u)),S!==r?(y=Qe(),y!==r?(te=Ue,x=b(),Ue=x):(z=Ue,Ue=r)):(z=Ue,Ue=r)):(z=Ue,Ue=r)):(z=Ue,Ue=r),Ue===r&&(Ue=z,x=Qe(),x!==r&&(te=Ue,x=b()),Ue=x),Ue}function Qe(){var Ue,x,I;if(Ue=z,x=[],C.test(t.charAt(z))?(I=t.charAt(z),z++):(I=r,me===0&&q(T)),I!==r)for(;I!==r;)x.push(I),C.test(t.charAt(z))?(I=t.charAt(z),z++):(I=r,me===0&&q(T));else x=r;return x!==r&&(te=Ue,x=b()),Ue=x,Ue}function it(){var Ue,x,I;if(Ue=z,x=[],L.test(t.charAt(z))?(I=t.charAt(z),z++):(I=r,me===0&&q(U)),I!==r)for(;I!==r;)x.push(I),L.test(t.charAt(z))?(I=t.charAt(z),z++):(I=r,me===0&&q(U));else x=r;return x!==r&&(te=Ue,x=b()),Ue=x,Ue}if(pe=a(),pe!==r&&z===t.length)return pe;throw pe!==r&&z{WY=et(GY())});var eg=_((Ixt,$0)=>{"use strict";function KY(t){return typeof t>"u"||t===null}function i8e(t){return typeof t=="object"&&t!==null}function s8e(t){return Array.isArray(t)?t:KY(t)?[]:[t]}function o8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r{"use strict";function gw(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}gw.prototype=Object.create(Error.prototype);gw.prototype.constructor=gw;gw.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};VY.exports=gw});var XY=_((Bxt,JY)=>{"use strict";var zY=eg();function WT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}WT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;ur/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),zY.repeat(" ",e)+o+A+n+` -`+zY.repeat(" ",e+this.position-a+o.length)+"^"};WT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: -`+r)),o};JY.exports=WT});var as=_((vxt,$Y)=>{"use strict";var ZY=Cm(),c8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],u8e=["scalar","sequence","mapping"];function A8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function f8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(c8e.indexOf(r)===-1)throw new ZY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=A8e(e.styleAliases||null),u8e.indexOf(this.kind)===-1)throw new ZY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}$Y.exports=f8e});var tg=_((Dxt,tK)=>{"use strict";var eK=eg(),gP=Cm(),p8e=as();function YT(t,e,r){var o=[];return t.include.forEach(function(a){r=YT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function h8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e{"use strict";var g8e=as();rK.exports=new g8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var sK=_((Sxt,iK)=>{"use strict";var d8e=as();iK.exports=new d8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var aK=_((xxt,oK)=>{"use strict";var m8e=as();oK.exports=new m8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var dP=_((bxt,lK)=>{"use strict";var y8e=tg();lK.exports=new y8e({explicit:[nK(),sK(),aK()]})});var uK=_((Qxt,cK)=>{"use strict";var E8e=as();function C8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function I8e(){return null}function w8e(t){return t===null}cK.exports=new E8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:C8e,construct:I8e,predicate:w8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var fK=_((kxt,AK)=>{"use strict";var B8e=as();function v8e(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function D8e(t){return t==="true"||t==="True"||t==="TRUE"}function P8e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}AK.exports=new B8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:v8e,construct:D8e,predicate:P8e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var hK=_((Fxt,pK)=>{"use strict";var S8e=eg(),x8e=as();function b8e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Q8e(t){return 48<=t&&t<=55}function k8e(t){return 48<=t&&t<=57}function F8e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var mK=_((Rxt,dK)=>{"use strict";var gK=eg(),N8e=as(),L8e=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function O8e(t){return!(t===null||!L8e.test(t)||t[t.length-1]==="_")}function M8e(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var U8e=/^[-+]?[0-9]+e/;function _8e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(gK.isNegativeZero(t))return"-0.0";return r=t.toString(10),U8e.test(r)?r.replace("e",".e"):r}function H8e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||gK.isNegativeZero(t))}dK.exports=new N8e("tag:yaml.org,2002:float",{kind:"scalar",resolve:O8e,construct:M8e,predicate:H8e,represent:_8e,defaultStyle:"lowercase"})});var KT=_((Txt,yK)=>{"use strict";var q8e=tg();yK.exports=new q8e({include:[dP()],implicit:[uK(),fK(),hK(),mK()]})});var VT=_((Nxt,EK)=>{"use strict";var j8e=tg();EK.exports=new j8e({include:[KT()]})});var BK=_((Lxt,wK)=>{"use strict";var G8e=as(),CK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),IK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function W8e(t){return t===null?!1:CK.exec(t)!==null||IK.exec(t)!==null}function Y8e(t){var e,r,o,a,n,u,A,p=0,h=null,E,w,D;if(e=CK.exec(t),e===null&&(e=IK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],w=+(e[11]||0),h=(E*60+w)*6e4,e[9]==="-"&&(h=-h)),D=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&D.setTime(D.getTime()-h),D}function K8e(t){return t.toISOString()}wK.exports=new G8e("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:W8e,construct:Y8e,instanceOf:Date,represent:K8e})});var DK=_((Oxt,vK)=>{"use strict";var V8e=as();function z8e(t){return t==="<<"||t===null}vK.exports=new V8e("tag:yaml.org,2002:merge",{kind:"scalar",resolve:z8e})});var xK=_((Mxt,SK)=>{"use strict";var rg;try{PK=De,rg=PK("buffer").Buffer}catch{}var PK,J8e=as(),zT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function X8e(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=zT;for(r=0;r64)){if(e<0)return!1;o+=6}return o%8===0}function Z8e(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=zT,u=0,A=[];for(e=0;e>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),rg?rg.from?rg.from(A):new rg(A):A}function $8e(t){var e="",r=0,o,a,n=t.length,u=zT;for(o=0;o>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function eHe(t){return rg&&rg.isBuffer(t)}SK.exports=new J8e("tag:yaml.org,2002:binary",{kind:"scalar",resolve:X8e,construct:Z8e,predicate:eHe,represent:$8e})});var QK=_((_xt,bK)=>{"use strict";var tHe=as(),rHe=Object.prototype.hasOwnProperty,nHe=Object.prototype.toString;function iHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r{"use strict";var oHe=as(),aHe=Object.prototype.toString;function lHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e{"use strict";var uHe=as(),AHe=Object.prototype.hasOwnProperty;function fHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(AHe.call(r,e)&&r[e]!==null)return!1;return!0}function pHe(t){return t!==null?t:{}}RK.exports=new uHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:fHe,construct:pHe})});var wm=_((jxt,NK)=>{"use strict";var hHe=tg();NK.exports=new hHe({include:[VT()],implicit:[BK(),DK()],explicit:[xK(),QK(),FK(),TK()]})});var OK=_((Gxt,LK)=>{"use strict";var gHe=as();function dHe(){return!0}function mHe(){}function yHe(){return""}function EHe(t){return typeof t>"u"}LK.exports=new gHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:dHe,construct:mHe,predicate:EHe,represent:yHe})});var UK=_((Wxt,MK)=>{"use strict";var CHe=as();function IHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function wHe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function BHe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function vHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}MK.exports=new CHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:IHe,construct:wHe,predicate:vHe,represent:BHe})});var qK=_((Yxt,HK)=>{"use strict";var mP;try{_K=De,mP=_K("esprima")}catch{typeof window<"u"&&(mP=window.esprima)}var _K,DHe=as();function PHe(t){if(t===null)return!1;try{var e="("+t+")",r=mP.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function SHe(t){var e="("+t+")",r=mP.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function xHe(t){return t.toString()}function bHe(t){return Object.prototype.toString.call(t)==="[object Function]"}HK.exports=new DHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:PHe,construct:SHe,predicate:bHe,represent:xHe})});var dw=_((Vxt,GK)=>{"use strict";var jK=tg();GK.exports=jK.DEFAULT=new jK({include:[wm()],explicit:[OK(),UK(),qK()]})});var cV=_((zxt,mw)=>{"use strict";var mf=eg(),XK=Cm(),QHe=XY(),ZK=wm(),kHe=dw(),zp=Object.prototype.hasOwnProperty,yP=1,$K=2,eV=3,EP=4,JT=1,FHe=2,WK=3,RHe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,THe=/[\x85\u2028\u2029]/,NHe=/[,\[\]\{\}]/,tV=/^(?:!|!!|![a-z\-]+!)$/i,rV=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function YK(t){return Object.prototype.toString.call(t)}function Wu(t){return t===10||t===13}function ig(t){return t===9||t===32}function Da(t){return t===9||t===32||t===10||t===13}function Bm(t){return t===44||t===91||t===93||t===123||t===125}function LHe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function OHe(t){return t===120?2:t===117?4:t===85?8:0}function MHe(t){return 48<=t&&t<=57?t-48:-1}function KK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` -`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function UHe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var nV=new Array(256),iV=new Array(256);for(ng=0;ng<256;ng++)nV[ng]=KK(ng)?1:0,iV[ng]=KK(ng);var ng;function _He(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||kHe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function sV(t,e){return new XK(e,new QHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function kr(t,e){throw sV(t,e)}function CP(t,e){t.onWarning&&t.onWarning.call(null,sV(t,e))}var VK={YAML:function(e,r,o){var a,n,u;e.version!==null&&kr(e,"duplication of %YAML directive"),o.length!==1&&kr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&kr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&kr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&CP(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&kr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],tV.test(a)||kr(e,"ill-formed tag handle (first argument) of the TAG directive"),zp.call(e.tagMap,a)&&kr(e,'there is a previously declared suffix for "'+a+'" tag handle'),rV.test(n)||kr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Vp(t,e,r,o){var a,n,u,A;if(e1&&(t.result+=mf.repeat(` -`,e-1))}function HHe(t,e,r){var o,a,n,u,A,p,h,E,w=t.kind,D=t.result,b;if(b=t.input.charCodeAt(t.position),Da(b)||Bm(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96||(b===63||b===45)&&(a=t.input.charCodeAt(t.position+1),Da(a)||r&&Bm(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;b!==0;){if(b===58){if(a=t.input.charCodeAt(t.position+1),Da(a)||r&&Bm(a))break}else if(b===35){if(o=t.input.charCodeAt(t.position-1),Da(o))break}else{if(t.position===t.lineStart&&IP(t)||r&&Bm(b))break;if(Wu(b))if(p=t.line,h=t.lineStart,E=t.lineIndent,Yi(t,!1,-1),t.lineIndent>=e){A=!0,b=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(Vp(t,n,u,!1),ZT(t,t.line-p),n=u=t.position,A=!1),ig(b)||(u=t.position+1),b=t.input.charCodeAt(++t.position)}return Vp(t,n,u,!1),t.result?!0:(t.kind=w,t.result=D,!1)}function qHe(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Vp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Wu(r)?(Vp(t,o,a,!0),ZT(t,Yi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&IP(t)?kr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);kr(t,"unexpected end of the stream within a single quoted scalar")}function jHe(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Vp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Vp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Wu(A))Yi(t,!1,e);else if(A<256&&nV[A])t.result+=iV[A],t.position++;else if((u=OHe(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=LHe(A))>=0?n=(n<<4)+u:kr(t,"expected hexadecimal character");t.result+=UHe(n),t.position++}else kr(t,"unknown escape sequence");r=o=t.position}else Wu(A)?(Vp(t,r,o,!0),ZT(t,Yi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&IP(t)?kr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}kr(t,"unexpected end of the stream within a double quoted scalar")}function GHe(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,w,D={},b,C,T,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,w=!1,n=[];else if(L===123)p=125,w=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Yi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=w?"mapping":"sequence",t.result=n,!0;r||kr(t,"missed comma between flow collection entries"),C=b=T=null,h=E=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Da(A)&&(h=E=!0,t.position++,Yi(t,!0,e))),o=t.line,Dm(t,e,yP,!1,!0),C=t.tag,b=t.result,Yi(t,!0,e),L=t.input.charCodeAt(t.position),(E||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Yi(t,!0,e),Dm(t,e,yP,!1,!0),T=t.result),w?vm(t,n,D,C,b,T):h?n.push(vm(t,null,D,C,b,T)):n.push(b),Yi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}kr(t,"unexpected end of the stream within a flow collection")}function WHe(t,e){var r,o,a=JT,n=!1,u=!1,A=e,p=0,h=!1,E,w;if(w=t.input.charCodeAt(t.position),w===124)o=!1;else if(w===62)o=!0;else return!1;for(t.kind="scalar",t.result="";w!==0;)if(w=t.input.charCodeAt(++t.position),w===43||w===45)JT===a?a=w===43?WK:FHe:kr(t,"repeat of a chomping mode identifier");else if((E=MHe(w))>=0)E===0?kr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?kr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if(ig(w)){do w=t.input.charCodeAt(++t.position);while(ig(w));if(w===35)do w=t.input.charCodeAt(++t.position);while(!Wu(w)&&w!==0)}for(;w!==0;){for(XT(t),t.lineIndent=0,w=t.input.charCodeAt(t.position);(!u||t.lineIndentA&&(A=t.lineIndent),Wu(w)){p++;continue}if(t.lineIndente)&&p!==0)kr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(Dm(t,e,EP,!0,a)&&(C?D=t.result:b=t.result),C||(vm(t,h,E,w,D,b,n,u),w=D=b=null),Yi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)kr(t,"bad indentation of a mapping entry");else if(t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),w=0,D=t.implicitTypes.length;w tag; it should be "'+b.kind+'", not "'+t.kind+'"'),b.resolve(t.result)?(t.result=b.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):kr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):kr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function JHe(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Yi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Da(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&kr(t,"directive name must not be less than one character in length");u!==0;){for(;ig(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Wu(u));break}if(Wu(u))break;for(r=t.position;u!==0&&!Da(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&XT(t),zp.call(VK,o)?VK[o](t,o,a):CP(t,'unknown document directive "'+o+'"')}if(Yi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Yi(t,!0,-1)):n&&kr(t,"directives end mark is expected"),Dm(t,t.lineIndent-1,EP,!1,!0),Yi(t,!0,-1),t.checkLineBreaks&&THe.test(t.input.slice(e,t.position))&&CP(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&IP(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Yi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var o=oV(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a"u"&&(r=e,e=null),aV(t,e,mf.extend({schema:ZK},r))}function ZHe(t,e){return lV(t,mf.extend({schema:ZK},e))}mw.exports.loadAll=aV;mw.exports.load=lV;mw.exports.safeLoadAll=XHe;mw.exports.safeLoad=ZHe});var FV=_((Jxt,rN)=>{"use strict";var Ew=eg(),Cw=Cm(),$He=dw(),e6e=wm(),mV=Object.prototype.toString,yV=Object.prototype.hasOwnProperty,t6e=9,yw=10,r6e=13,n6e=32,i6e=33,s6e=34,EV=35,o6e=37,a6e=38,l6e=39,c6e=42,CV=44,u6e=45,IV=58,A6e=61,f6e=62,p6e=63,h6e=64,wV=91,BV=93,g6e=96,vV=123,d6e=124,DV=125,mo={};mo[0]="\\0";mo[7]="\\a";mo[8]="\\b";mo[9]="\\t";mo[10]="\\n";mo[11]="\\v";mo[12]="\\f";mo[13]="\\r";mo[27]="\\e";mo[34]='\\"';mo[92]="\\\\";mo[133]="\\N";mo[160]="\\_";mo[8232]="\\L";mo[8233]="\\P";var m6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function y6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a0?t.charCodeAt(n-1):null,D=D&&fV(u,A)}else{for(n=0;no&&t[w+1]!==" ",w=n);else if(!Pm(u))return wP;A=n>0?t.charCodeAt(n-1):null,D=D&&fV(u,A)}h=h||E&&n-w-1>o&&t[w+1]!==" "}return!p&&!h?D&&!a(t)?SV:xV:r>9&&PV(t)?wP:h?QV:bV}function v6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&m6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return C6e(t,p)}switch(B6e(e,u,t.indent,n,A)){case SV:return e;case xV:return"'"+e.replace(/'/g,"''")+"'";case bV:return"|"+pV(e,t.indent)+hV(AV(e,a));case QV:return">"+pV(e,t.indent)+hV(AV(D6e(e,n),a));case wP:return'"'+P6e(e,n)+'"';default:throw new Cw("impossible error: invalid scalar style")}}()}function pV(t,e){var r=PV(t)?String(e):"",o=t[t.length-1]===` -`,a=o&&(t[t.length-2]===` -`||t===` -`),n=a?"+":o?"":"-";return r+n+` -`}function hV(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function D6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` -`);return h=h!==-1?h:t.length,r.lastIndex=h,gV(t.slice(0,h),e)}(),a=t[0]===` -`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` -`:"")+gV(p,e),a=n}return o}function gV(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` -`+t.slice(a,n),a=n+1),u=A;return p+=` -`,t.length-a>e&&u>a?p+=t.slice(a,u)+` -`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function P6e(t){for(var e="",r,o,a,n=0;n=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=uV((r-55296)*1024+o-56320+65536),n++;continue}a=mo[r],e+=!a&&Pm(r)?t[n]:a||uV(r)}return e}function S6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),sg(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function Q6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,w,D;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new Cw("sortKeys must be a boolean or a function");for(A=0,p=u.length;A1024,w&&(t.dump&&yw===t.dump.charCodeAt(0)?D+="?":D+="? "),D+=t.dump,w&&(D+=$T(t,e)),sg(t,e+1,E,!0,w)&&(t.dump&&yw===t.dump.charCodeAt(0)?D+=":":D+=": ",D+=t.dump,a+=D));t.tag=n,t.dump=a||"{}"}function dV(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function sg(t,e,r,o,a,n){t.tag=null,t.dump=r,dV(t,r,!1)||dV(t,r,!0);var u=mV.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(Q6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(b6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(x6e(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(S6e(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&v6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new Cw("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function k6e(t,e){var r=[],o=[],a,n;for(eN(t,r,o),a=0,n=o.length;a{"use strict";var BP=cV(),RV=FV();function vP(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Fi.exports.Type=as();Fi.exports.Schema=tg();Fi.exports.FAILSAFE_SCHEMA=dP();Fi.exports.JSON_SCHEMA=KT();Fi.exports.CORE_SCHEMA=VT();Fi.exports.DEFAULT_SAFE_SCHEMA=wm();Fi.exports.DEFAULT_FULL_SCHEMA=dw();Fi.exports.load=BP.load;Fi.exports.loadAll=BP.loadAll;Fi.exports.safeLoad=BP.safeLoad;Fi.exports.safeLoadAll=BP.safeLoadAll;Fi.exports.dump=RV.dump;Fi.exports.safeDump=RV.safeDump;Fi.exports.YAMLException=Cm();Fi.exports.MINIMAL_SCHEMA=dP();Fi.exports.SAFE_SCHEMA=wm();Fi.exports.DEFAULT_SCHEMA=dw();Fi.exports.scan=vP("scan");Fi.exports.parse=vP("parse");Fi.exports.compose=vP("compose");Fi.exports.addConstructor=vP("addConstructor")});var LV=_((Zxt,NV)=>{"use strict";var R6e=TV();NV.exports=R6e});var MV=_(($xt,OV)=>{"use strict";function T6e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function og(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,og)}T6e(og,Error);og.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w0){for(w=1,D=1;w({[ht]:Le})))},de=function(ee){return ee},ce=function(ee){return ee},me=oa("correct indentation"),pe=" ",ve=un(" ",!1),Ie=function(ee){return ee.length===ar*vt},g=function(ee){return ee.length===(ar+1)*vt},Ce=function(){return ar++,!0},ye=function(){return ar--,!0},Ae=function(){return No()},ie=oa("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Pe=qn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Re=/^[^\r\n\t ,\][{}:#"']/,gt=qn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),q=function(){return No().replace(/^ *| *$/g,"")},rt="--",Te=un("--",!1),Ne=/^[a-zA-Z\/0-9]/,xe=qn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ye=/^[^\r\n\t :,]/,Qe=qn(["\r",` -`," "," ",":",","],!0,!1),it="null",Ue=un("null",!1),x=function(){return null},I="true",S=un("true",!1),y=function(){return!0},R="false",J=un("false",!1),X=function(){return!1},$=oa("string"),se='"',be=un('"',!1),Fe=function(){return""},lt=function(ee){return ee},Et=function(ee){return ee.join("")},qt=/^[^"\\\0-\x1F\x7F]/,nr=qn(['"',"\\",["\0",""],"\x7F"],!0,!1),St='\\"',cn=un('\\"',!1),Pr=function(){return'"'},yr="\\\\",Rr=un("\\\\",!1),Xr=function(){return"\\"},$n="\\/",Xs=un("\\/",!1),Hi=function(){return"/"},ks="\\b",Zs=un("\\b",!1),bi=function(){return"\b"},Fs="\\f",$s=un("\\f",!1),SA=function(){return"\f"},gu="\\n",ap=un("\\n",!1),lp=function(){return` -`},Rs="\\r",Ln=un("\\r",!1),hs=function(){return"\r"},Ts="\\t",pc=un("\\t",!1),hc=function(){return" "},gc="\\u",xA=un("\\u",!1),bA=function(ee,Ee,Le,ht){return String.fromCharCode(parseInt(`0x${ee}${Ee}${Le}${ht}`))},Ro=/^[0-9a-fA-F]/,To=qn([["0","9"],["a","f"],["A","F"]],!1,!1),QA=oa("blank space"),pr=/^[ \t]/,Me=qn([" "," "],!1,!1),ia=oa("white space"),dc=/^[ \t\n\r]/,Er=qn([" "," ",` -`,"\r"],!1,!1),du=`\r -`,kA=un(`\r -`,!1),FA=` -`,mc=un(` -`,!1),yc="\r",Il=un("\r",!1),we=0,Tt=0,wl=[{line:1,column:1}],Bi=0,Ns=[],Ft=0,Bn;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function No(){return t.substring(Tt,we)}function Qi(){return la(Tt,we)}function vi(ee,Ee){throw Ee=Ee!==void 0?Ee:la(Tt,we),mu([oa(ee)],t.substring(Tt,we),Ee)}function sa(ee,Ee){throw Ee=Ee!==void 0?Ee:la(Tt,we),ca(ee,Ee)}function un(ee,Ee){return{type:"literal",text:ee,ignoreCase:Ee}}function qn(ee,Ee,Le){return{type:"class",parts:ee,inverted:Ee,ignoreCase:Le}}function Ec(){return{type:"any"}}function cp(){return{type:"end"}}function oa(ee){return{type:"other",description:ee}}function aa(ee){var Ee=wl[ee],Le;if(Ee)return Ee;for(Le=ee-1;!wl[Le];)Le--;for(Ee=wl[Le],Ee={line:Ee.line,column:Ee.column};LeBi&&(Bi=we,Ns=[]),Ns.push(ee))}function ca(ee,Ee){return new og(ee,null,null,Ee)}function mu(ee,Ee,Le){return new og(og.buildMessage(ee,Ee),ee,Ee,Le)}function Bl(){var ee;return ee=RA(),ee}function dn(){var ee,Ee,Le;for(ee=we,Ee=[],Le=Lo();Le!==r;)Ee.push(Le),Le=Lo();return Ee!==r&&(Tt=ee,Ee=n(Ee)),ee=Ee,ee}function Lo(){var ee,Ee,Le,ht,mt;return ee=we,Ee=qa(),Ee!==r?(t.charCodeAt(we)===45?(Le=u,we++):(Le=r,Ft===0&&Ze(A)),Le!==r?(ht=Dn(),ht!==r?(mt=Oo(),mt!==r?(Tt=ee,Ee=p(mt),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee}function RA(){var ee,Ee,Le;for(ee=we,Ee=[],Le=TA();Le!==r;)Ee.push(Le),Le=TA();return Ee!==r&&(Tt=ee,Ee=h(Ee)),ee=Ee,ee}function TA(){var ee,Ee,Le,ht,mt,Dt,er,sn,ei;if(ee=we,Ee=Dn(),Ee===r&&(Ee=null),Ee!==r){if(Le=we,t.charCodeAt(we)===35?(ht=E,we++):(ht=r,Ft===0&&Ze(w)),ht!==r){if(mt=[],Dt=we,er=we,Ft++,sn=st(),Ft--,sn===r?er=void 0:(we=er,er=r),er!==r?(t.length>we?(sn=t.charAt(we),we++):(sn=r,Ft===0&&Ze(D)),sn!==r?(er=[er,sn],Dt=er):(we=Dt,Dt=r)):(we=Dt,Dt=r),Dt!==r)for(;Dt!==r;)mt.push(Dt),Dt=we,er=we,Ft++,sn=st(),Ft--,sn===r?er=void 0:(we=er,er=r),er!==r?(t.length>we?(sn=t.charAt(we),we++):(sn=r,Ft===0&&Ze(D)),sn!==r?(er=[er,sn],Dt=er):(we=Dt,Dt=r)):(we=Dt,Dt=r);else mt=r;mt!==r?(ht=[ht,mt],Le=ht):(we=Le,Le=r)}else we=Le,Le=r;if(Le===r&&(Le=null),Le!==r){if(ht=[],mt=ze(),mt!==r)for(;mt!==r;)ht.push(mt),mt=ze();else ht=r;ht!==r?(Tt=ee,Ee=b(),ee=Ee):(we=ee,ee=r)}else we=ee,ee=r}else we=ee,ee=r;if(ee===r&&(ee=we,Ee=qa(),Ee!==r?(Le=ua(),Le!==r?(ht=Dn(),ht===r&&(ht=null),ht!==r?(t.charCodeAt(we)===58?(mt=C,we++):(mt=r,Ft===0&&Ze(T)),mt!==r?(Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(er=Oo(),er!==r?(Tt=ee,Ee=L(Le,er),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,Ee=qa(),Ee!==r?(Le=qi(),Le!==r?(ht=Dn(),ht===r&&(ht=null),ht!==r?(t.charCodeAt(we)===58?(mt=C,we++):(mt=r,Ft===0&&Ze(T)),mt!==r?(Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(er=Oo(),er!==r?(Tt=ee,Ee=L(Le,er),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r))){if(ee=we,Ee=qa(),Ee!==r)if(Le=qi(),Le!==r)if(ht=Dn(),ht!==r)if(mt=Cc(),mt!==r){if(Dt=[],er=ze(),er!==r)for(;er!==r;)Dt.push(er),er=ze();else Dt=r;Dt!==r?(Tt=ee,Ee=L(Le,mt),ee=Ee):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r;else we=ee,ee=r;else we=ee,ee=r;if(ee===r)if(ee=we,Ee=qa(),Ee!==r)if(Le=qi(),Le!==r){if(ht=[],mt=we,Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(t.charCodeAt(we)===44?(er=U,we++):(er=r,Ft===0&&Ze(z)),er!==r?(sn=Dn(),sn===r&&(sn=null),sn!==r?(ei=qi(),ei!==r?(Tt=mt,Dt=te(Le,ei),mt=Dt):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r),mt!==r)for(;mt!==r;)ht.push(mt),mt=we,Dt=Dn(),Dt===r&&(Dt=null),Dt!==r?(t.charCodeAt(we)===44?(er=U,we++):(er=r,Ft===0&&Ze(z)),er!==r?(sn=Dn(),sn===r&&(sn=null),sn!==r?(ei=qi(),ei!==r?(Tt=mt,Dt=te(Le,ei),mt=Dt):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r)):(we=mt,mt=r);else ht=r;ht!==r?(mt=Dn(),mt===r&&(mt=null),mt!==r?(t.charCodeAt(we)===58?(Dt=C,we++):(Dt=r,Ft===0&&Ze(T)),Dt!==r?(er=Dn(),er===r&&(er=null),er!==r?(sn=Oo(),sn!==r?(Tt=ee,Ee=le(Le,ht,sn),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r}return ee}function Oo(){var ee,Ee,Le,ht,mt,Dt,er;if(ee=we,Ee=we,Ft++,Le=we,ht=st(),ht!==r?(mt=Ot(),mt!==r?(t.charCodeAt(we)===45?(Dt=u,we++):(Dt=r,Ft===0&&Ze(A)),Dt!==r?(er=Dn(),er!==r?(ht=[ht,mt,Dt,er],Le=ht):(we=Le,Le=r)):(we=Le,Le=r)):(we=Le,Le=r)):(we=Le,Le=r),Ft--,Le!==r?(we=Ee,Ee=void 0):Ee=r,Ee!==r?(Le=ze(),Le!==r?(ht=vn(),ht!==r?(mt=dn(),mt!==r?(Dt=Mo(),Dt!==r?(Tt=ee,Ee=de(mt),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,Ee=st(),Ee!==r?(Le=vn(),Le!==r?(ht=RA(),ht!==r?(mt=Mo(),mt!==r?(Tt=ee,Ee=de(ht),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r),ee===r))if(ee=we,Ee=vl(),Ee!==r){if(Le=[],ht=ze(),ht!==r)for(;ht!==r;)Le.push(ht),ht=ze();else Le=r;Le!==r?(Tt=ee,Ee=ce(Ee),ee=Ee):(we=ee,ee=r)}else we=ee,ee=r;return ee}function qa(){var ee,Ee,Le;for(Ft++,ee=we,Ee=[],t.charCodeAt(we)===32?(Le=pe,we++):(Le=r,Ft===0&&Ze(ve));Le!==r;)Ee.push(Le),t.charCodeAt(we)===32?(Le=pe,we++):(Le=r,Ft===0&&Ze(ve));return Ee!==r?(Tt=we,Le=Ie(Ee),Le?Le=void 0:Le=r,Le!==r?(Ee=[Ee,Le],ee=Ee):(we=ee,ee=r)):(we=ee,ee=r),Ft--,ee===r&&(Ee=r,Ft===0&&Ze(me)),ee}function Ot(){var ee,Ee,Le;for(ee=we,Ee=[],t.charCodeAt(we)===32?(Le=pe,we++):(Le=r,Ft===0&&Ze(ve));Le!==r;)Ee.push(Le),t.charCodeAt(we)===32?(Le=pe,we++):(Le=r,Ft===0&&Ze(ve));return Ee!==r?(Tt=we,Le=g(Ee),Le?Le=void 0:Le=r,Le!==r?(Ee=[Ee,Le],ee=Ee):(we=ee,ee=r)):(we=ee,ee=r),ee}function vn(){var ee;return Tt=we,ee=Ce(),ee?ee=void 0:ee=r,ee}function Mo(){var ee;return Tt=we,ee=ye(),ee?ee=void 0:ee=r,ee}function ua(){var ee;return ee=ja(),ee===r&&(ee=Dl()),ee}function qi(){var ee,Ee,Le;if(ee=ja(),ee===r){if(ee=we,Ee=[],Le=Aa(),Le!==r)for(;Le!==r;)Ee.push(Le),Le=Aa();else Ee=r;Ee!==r&&(Tt=ee,Ee=Ae()),ee=Ee}return ee}function vl(){var ee;return ee=Di(),ee===r&&(ee=rs(),ee===r&&(ee=ja(),ee===r&&(ee=Dl()))),ee}function Cc(){var ee;return ee=Di(),ee===r&&(ee=ja(),ee===r&&(ee=Aa())),ee}function Dl(){var ee,Ee,Le,ht,mt,Dt;if(Ft++,ee=we,Z.test(t.charAt(we))?(Ee=t.charAt(we),we++):(Ee=r,Ft===0&&Ze(Pe)),Ee!==r){for(Le=[],ht=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Re.test(t.charAt(we))?(Dt=t.charAt(we),we++):(Dt=r,Ft===0&&Ze(gt)),Dt!==r?(mt=[mt,Dt],ht=mt):(we=ht,ht=r)):(we=ht,ht=r);ht!==r;)Le.push(ht),ht=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Re.test(t.charAt(we))?(Dt=t.charAt(we),we++):(Dt=r,Ft===0&&Ze(gt)),Dt!==r?(mt=[mt,Dt],ht=mt):(we=ht,ht=r)):(we=ht,ht=r);Le!==r?(Tt=ee,Ee=q(),ee=Ee):(we=ee,ee=r)}else we=ee,ee=r;return Ft--,ee===r&&(Ee=r,Ft===0&&Ze(ie)),ee}function Aa(){var ee,Ee,Le,ht,mt;if(ee=we,t.substr(we,2)===rt?(Ee=rt,we+=2):(Ee=r,Ft===0&&Ze(Te)),Ee===r&&(Ee=null),Ee!==r)if(Ne.test(t.charAt(we))?(Le=t.charAt(we),we++):(Le=r,Ft===0&&Ze(xe)),Le!==r){for(ht=[],Ye.test(t.charAt(we))?(mt=t.charAt(we),we++):(mt=r,Ft===0&&Ze(Qe));mt!==r;)ht.push(mt),Ye.test(t.charAt(we))?(mt=t.charAt(we),we++):(mt=r,Ft===0&&Ze(Qe));ht!==r?(Tt=ee,Ee=q(),ee=Ee):(we=ee,ee=r)}else we=ee,ee=r;else we=ee,ee=r;return ee}function Di(){var ee,Ee;return ee=we,t.substr(we,4)===it?(Ee=it,we+=4):(Ee=r,Ft===0&&Ze(Ue)),Ee!==r&&(Tt=ee,Ee=x()),ee=Ee,ee}function rs(){var ee,Ee;return ee=we,t.substr(we,4)===I?(Ee=I,we+=4):(Ee=r,Ft===0&&Ze(S)),Ee!==r&&(Tt=ee,Ee=y()),ee=Ee,ee===r&&(ee=we,t.substr(we,5)===R?(Ee=R,we+=5):(Ee=r,Ft===0&&Ze(J)),Ee!==r&&(Tt=ee,Ee=X()),ee=Ee),ee}function ja(){var ee,Ee,Le,ht;return Ft++,ee=we,t.charCodeAt(we)===34?(Ee=se,we++):(Ee=r,Ft===0&&Ze(be)),Ee!==r?(t.charCodeAt(we)===34?(Le=se,we++):(Le=r,Ft===0&&Ze(be)),Le!==r?(Tt=ee,Ee=Fe(),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r),ee===r&&(ee=we,t.charCodeAt(we)===34?(Ee=se,we++):(Ee=r,Ft===0&&Ze(be)),Ee!==r?(Le=yu(),Le!==r?(t.charCodeAt(we)===34?(ht=se,we++):(ht=r,Ft===0&&Ze(be)),ht!==r?(Tt=ee,Ee=lt(Le),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)),Ft--,ee===r&&(Ee=r,Ft===0&&Ze($)),ee}function yu(){var ee,Ee,Le;if(ee=we,Ee=[],Le=Pl(),Le!==r)for(;Le!==r;)Ee.push(Le),Le=Pl();else Ee=r;return Ee!==r&&(Tt=ee,Ee=Et(Ee)),ee=Ee,ee}function Pl(){var ee,Ee,Le,ht,mt,Dt;return qt.test(t.charAt(we))?(ee=t.charAt(we),we++):(ee=r,Ft===0&&Ze(nr)),ee===r&&(ee=we,t.substr(we,2)===St?(Ee=St,we+=2):(Ee=r,Ft===0&&Ze(cn)),Ee!==r&&(Tt=ee,Ee=Pr()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===yr?(Ee=yr,we+=2):(Ee=r,Ft===0&&Ze(Rr)),Ee!==r&&(Tt=ee,Ee=Xr()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===$n?(Ee=$n,we+=2):(Ee=r,Ft===0&&Ze(Xs)),Ee!==r&&(Tt=ee,Ee=Hi()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===ks?(Ee=ks,we+=2):(Ee=r,Ft===0&&Ze(Zs)),Ee!==r&&(Tt=ee,Ee=bi()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===Fs?(Ee=Fs,we+=2):(Ee=r,Ft===0&&Ze($s)),Ee!==r&&(Tt=ee,Ee=SA()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===gu?(Ee=gu,we+=2):(Ee=r,Ft===0&&Ze(ap)),Ee!==r&&(Tt=ee,Ee=lp()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===Rs?(Ee=Rs,we+=2):(Ee=r,Ft===0&&Ze(Ln)),Ee!==r&&(Tt=ee,Ee=hs()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===Ts?(Ee=Ts,we+=2):(Ee=r,Ft===0&&Ze(pc)),Ee!==r&&(Tt=ee,Ee=hc()),ee=Ee,ee===r&&(ee=we,t.substr(we,2)===gc?(Ee=gc,we+=2):(Ee=r,Ft===0&&Ze(xA)),Ee!==r?(Le=pi(),Le!==r?(ht=pi(),ht!==r?(mt=pi(),mt!==r?(Dt=pi(),Dt!==r?(Tt=ee,Ee=bA(Le,ht,mt,Dt),ee=Ee):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)):(we=ee,ee=r)))))))))),ee}function pi(){var ee;return Ro.test(t.charAt(we))?(ee=t.charAt(we),we++):(ee=r,Ft===0&&Ze(To)),ee}function Dn(){var ee,Ee;if(Ft++,ee=[],pr.test(t.charAt(we))?(Ee=t.charAt(we),we++):(Ee=r,Ft===0&&Ze(Me)),Ee!==r)for(;Ee!==r;)ee.push(Ee),pr.test(t.charAt(we))?(Ee=t.charAt(we),we++):(Ee=r,Ft===0&&Ze(Me));else ee=r;return Ft--,ee===r&&(Ee=r,Ft===0&&Ze(QA)),ee}function Sl(){var ee,Ee;if(Ft++,ee=[],dc.test(t.charAt(we))?(Ee=t.charAt(we),we++):(Ee=r,Ft===0&&Ze(Er)),Ee!==r)for(;Ee!==r;)ee.push(Ee),dc.test(t.charAt(we))?(Ee=t.charAt(we),we++):(Ee=r,Ft===0&&Ze(Er));else ee=r;return Ft--,ee===r&&(Ee=r,Ft===0&&Ze(ia)),ee}function ze(){var ee,Ee,Le,ht,mt,Dt;if(ee=we,Ee=st(),Ee!==r){for(Le=[],ht=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Dt=st(),Dt!==r?(mt=[mt,Dt],ht=mt):(we=ht,ht=r)):(we=ht,ht=r);ht!==r;)Le.push(ht),ht=we,mt=Dn(),mt===r&&(mt=null),mt!==r?(Dt=st(),Dt!==r?(mt=[mt,Dt],ht=mt):(we=ht,ht=r)):(we=ht,ht=r);Le!==r?(Ee=[Ee,Le],ee=Ee):(we=ee,ee=r)}else we=ee,ee=r;return ee}function st(){var ee;return t.substr(we,2)===du?(ee=du,we+=2):(ee=r,Ft===0&&Ze(kA)),ee===r&&(t.charCodeAt(we)===10?(ee=FA,we++):(ee=r,Ft===0&&Ze(mc)),ee===r&&(t.charCodeAt(we)===13?(ee=yc,we++):(ee=r,Ft===0&&Ze(Il)))),ee}let vt=2,ar=0;if(Bn=a(),Bn!==r&&we===t.length)return Bn;throw Bn!==r&&we"u"?!0:typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.keys(t).every(e=>qV(t[e])):!1}function nN(t,e,r){if(t===null)return`null -`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} -`;if(typeof t=="string")return`${_V(t)} -`;if(Array.isArray(t)){if(t.length===0)return`[] -`;let o=" ".repeat(e);return` -${t.map(n=>`${o}- ${nN(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof DP?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=UV.indexOf(p),w=UV.indexOf(h);return E===-1&&w===-1?ph?1:0:E!==-1&&w===-1?-1:E===-1&&w!==-1?1:E-w});let A=u.filter(p=>!qV(o[p])).map((p,h)=>{let E=o[p],w=_V(p),D=nN(E,e+1,!0),b=h>0||r?n:"",C=w.length>1024?`? ${w} -${b}:`:`${w}:`,T=D.startsWith(` -`)?D:` ${D}`;return`${b}${C}${T}`}).join(e===0?` -`:"")||` -`;return r?` -${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Pa(t){try{let e=nN(t,0,!1);return e!==` -`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function O6e(t){return t.endsWith(` -`)||(t+=` -`),(0,HV.parse)(t)}function U6e(t){if(M6e.test(t))return O6e(t);let e=(0,PP.safeLoad)(t,{schema:PP.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ki(t){return U6e(t)}var PP,HV,L6e,UV,DP,M6e,jV=It(()=>{PP=et(LV()),HV=et(MV()),L6e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,UV=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],DP=class{constructor(e){this.data=e}};Pa.PreserveOrdering=DP;M6e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var Iw={};Kt(Iw,{parseResolution:()=>pP,parseShell:()=>uP,parseSyml:()=>Ki,stringifyArgument:()=>jT,stringifyArgumentSegment:()=>GT,stringifyArithmeticExpression:()=>fP,stringifyCommand:()=>qT,stringifyCommandChain:()=>Em,stringifyCommandChainThen:()=>HT,stringifyCommandLine:()=>AP,stringifyCommandLineThen:()=>_T,stringifyEnvSegment:()=>cP,stringifyRedirectArgument:()=>hw,stringifyResolution:()=>hP,stringifyShell:()=>ym,stringifyShellLine:()=>ym,stringifySyml:()=>Pa,stringifyValueArgument:()=>X0});var Ol=It(()=>{qY();YY();jV()});var WV=_((ibt,iN)=>{"use strict";var _6e=t=>{let e=!1,r=!1,o=!1;for(let a=0;a{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=_6e(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};iN.exports=GV;iN.exports.default=GV});var YV=_((sbt,H6e)=>{H6e.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var ag=_(nl=>{"use strict";var VV=YV(),ls=process.env;Object.defineProperty(nl,"_vendors",{value:VV.map(function(t){return t.constant})});nl.name=null;nl.isPR=null;VV.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return KV(o)});if(nl[t.constant]=r,!!r)switch(nl.name=t.name,typeof t.pr){case"string":nl.isPR=!!ls[t.pr];break;case"object":"env"in t.pr?nl.isPR=t.pr.env in ls&&ls[t.pr.env]!==t.pr.ne:"any"in t.pr?nl.isPR=t.pr.any.some(function(o){return!!ls[o]}):nl.isPR=KV(t.pr);break;default:nl.isPR=null}});nl.isCI=!!(ls.CI!=="false"&&(ls.BUILD_ID||ls.BUILD_NUMBER||ls.CI||ls.CI_APP_ID||ls.CI_BUILD_ID||ls.CI_BUILD_NUMBER||ls.CI_NAME||ls.CONTINUOUS_INTEGRATION||ls.RUN_ID||nl.name));function KV(t){return typeof t=="string"?!!ls[t]:"env"in t?ls[t.env]&&ls[t.env].includes(t.includes):"any"in t?t.any.some(function(e){return!!ls[e]}):Object.keys(t).every(function(e){return ls[e]===t[e]})}});var Kn,pn,lg,sN,SP,zV,oN,aN,xP=It(()=>{(function(t){t.StartOfInput="\0",t.EndOfInput="",t.EndOfPartialInput=""})(Kn||(Kn={}));(function(t){t[t.InitialNode=0]="InitialNode",t[t.SuccessNode=1]="SuccessNode",t[t.ErrorNode=2]="ErrorNode",t[t.CustomNode=3]="CustomNode"})(pn||(pn={}));lg=-1,sN=/^(-h|--help)(?:=([0-9]+))?$/,SP=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,zV=/^-[a-zA-Z]{2,}$/,oN=/^([^=]+)=([\s\S]*)$/,aN=process.env.DEBUG_CLI==="1"});var nt,Sm,bP,lN,QP=It(()=>{xP();nt=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Sm=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} - -${this.candidates.map(({usage:a})=>`$ ${a}`).join(` -`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: - -$ ${o} -${lN(e)}`}else this.message=`Command not found; did you mean one of: - -${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` -`)} - -${lN(e)}`}},bP=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: - -${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` -`)} - -${lN(e)}`}},lN=t=>`While running ${t.filter(e=>e!==Kn.EndOfInput&&e!==Kn.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function q6e(t){let e=t.split(` -`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` -`)}function yo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` -`),t=q6e(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 - -`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` -`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` -`)}).join(` - -`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} -`:""}var cN,JV,XV,uN=It(()=>{cN=Array(80).fill("\u2501");for(let t=0;t<=24;++t)cN[cN.length-t]=`\x1B[38;5;${232+t}m\u2501`;JV={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<75?` ${cN.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},XV={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Wo(t){return{...t,[ww]:!0}}function Yu(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function kP(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,o,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=o!=="."||!e?`${o.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function Bw(t,e){return e.length===1?new nt(`${t}${kP(e[0],{mergeName:!0})}`):new nt(`${t}: -${e.map(r=>` -- ${kP(r)}`).join("")}`)}function cg(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw Bw(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var ww,yf=It(()=>{QP();ww=Symbol("clipanion/isOption")});var Yo={};Kt(Yo,{KeyRelationship:()=>Ku,TypeAssertionError:()=>Xp,applyCascade:()=>Pw,as:()=>aqe,assert:()=>iqe,assertWithErrors:()=>sqe,cascade:()=>NP,fn:()=>lqe,hasAtLeastOneKey:()=>mN,hasExactLength:()=>rz,hasForbiddenKeys:()=>Sqe,hasKeyRelationship:()=>xw,hasMaxLength:()=>uqe,hasMinLength:()=>cqe,hasMutuallyExclusiveKeys:()=>xqe,hasRequiredKeys:()=>Pqe,hasUniqueItems:()=>Aqe,isArray:()=>FP,isAtLeast:()=>gN,isAtMost:()=>hqe,isBase64:()=>wqe,isBoolean:()=>J6e,isDate:()=>Z6e,isDict:()=>tqe,isEnum:()=>js,isHexColor:()=>Iqe,isISO8601:()=>Cqe,isInExclusiveRange:()=>dqe,isInInclusiveRange:()=>gqe,isInstanceOf:()=>nqe,isInteger:()=>dN,isJSON:()=>Bqe,isLiteral:()=>$V,isLowerCase:()=>mqe,isMap:()=>eqe,isNegative:()=>fqe,isNullable:()=>Dqe,isNumber:()=>pN,isObject:()=>ez,isOneOf:()=>hN,isOptional:()=>vqe,isPartial:()=>rqe,isPayload:()=>X6e,isPositive:()=>pqe,isRecord:()=>TP,isSet:()=>$6e,isString:()=>bm,isTuple:()=>RP,isUUID4:()=>Eqe,isUnknown:()=>fN,isUpperCase:()=>yqe,makeTrait:()=>tz,makeValidator:()=>qr,matchesRegExp:()=>Dw,softAssert:()=>oqe});function Vn(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function xm(t,e){if(t.length===0)return"nothing";if(t.length===1)return Vn(t[0]);let r=t.slice(0,-1),o=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>Vn(n)).join(", ")}${a}${Vn(o)}`}function Jp(t,e){var r,o,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:j6e.test(e)?`${(o=t?.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function AN(t,e,r){return t===1?e:r}function gr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function V6e(t,e){return r=>{t[e]=r}}function Vu(t,e){return r=>{let o=t[e];return t[e]=r,Vu(t,e).bind(null,o)}}function vw(t,e,r){let o=()=>(t(r()),a),a=()=>(t(e),o);return o}function fN(){return qr({test:(t,e)=>!0})}function $V(t){return qr({test:(e,r)=>e!==t?gr(r,`Expected ${Vn(t)} (got ${Vn(e)})`):!0})}function bm(){return qr({test:(t,e)=>typeof t!="string"?gr(e,`Expected a string (got ${Vn(t)})`):!0})}function js(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),o=new Set(e);return o.size===1?$V([...o][0]):qr({test:(a,n)=>o.has(a)?!0:r?gr(n,`Expected one of ${xm(e,"or")} (got ${Vn(a)})`):gr(n,`Expected a valid enumeration value (got ${Vn(a)})`)})}function J6e(){return qr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return gr(e,"Unbound coercion result");let o=z6e.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return gr(e,`Expected a boolean (got ${Vn(t)})`)}return!0}})}function pN(){return qr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return gr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return gr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return gr(e,`Expected a number (got ${Vn(t)})`)}return!0}})}function X6e(t){return qr({test:(e,r)=>{var o;if(typeof r?.coercions>"u")return gr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return gr(r,"Unbound coercion result");if(typeof e!="string")return gr(r,`Expected a string (got ${Vn(e)})`);let a;try{a=JSON.parse(e)}catch{return gr(r,`Expected a JSON string (got ${Vn(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Vu(n,"value")}))?(r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n.value)]),!0):!1}})}function Z6e(){return qr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return gr(e,"Unbound coercion result");let o;if(typeof t=="string"&&ZV.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return gr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return gr(e,`Expected a date (got ${Vn(t)})`)}return!0}})}function FP(t,{delimiter:e}={}){return qr({test:(r,o)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return gr(o,"Unbound coercion result");r=r.split(e)}if(!Array.isArray(r))return gr(o,`Expected an array (got ${Vn(r)})`);let u=!0;for(let A=0,p=r.length;A{var n,u;if(Object.getPrototypeOf(o).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");let A=[...o],p=[...o];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,w)=>E!==A[w])?new Set(p):o;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",vw(a.coercion,o,h)]),!0}else{let A=!0;for(let p of o)if(A=t(p,Object.assign({},a))&&A,!A&&a?.errors==null)break;return A}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");let A={value:o};return r(o,Object.assign(Object.assign({},a),{coercion:Vu(A,"value")}))?(a.coercions.push([(u=a.p)!==null&&u!==void 0?u:".",vw(a.coercion,o,()=>new Set(A.value))]),!0):!1}return gr(a,`Expected a set (got ${Vn(o)})`)}})}function eqe(t,e){let r=FP(RP([t,e])),o=TP(e,{keys:t});return qr({test:(a,n)=>{var u,A,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return gr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let w=()=>E.some((D,b)=>D[0]!==h[b][0]||D[1]!==h[b][1])?new Map(E):a;return n.coercions.push([(u=n.p)!==null&&u!==void 0?u:".",vw(n.coercion,a,w)]),!0}else{let h=!0;for(let[E,w]of a)if(h=t(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=e(w,Object.assign(Object.assign({},n),{p:Jp(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return gr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(A=n.p)!==null&&A!==void 0?A:".",vw(n.coercion,a,()=>new Map(h.value))]),!0):!1:o(a,Object.assign(Object.assign({},n),{coercion:Vu(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",vw(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return gr(n,`Expected a map (got ${Vn(a)})`)}})}function RP(t,{delimiter:e}={}){let r=rz(t.length);return qr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return gr(a,`Expected a tuple (got ${Vn(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A{var n;if(Array.isArray(o)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?gr(a,"Unbound coercion result"):r(o,Object.assign(Object.assign({},a),{coercion:void 0}))?(o=Object.fromEntries(o),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)]),!0):!1;if(typeof o!="object"||o===null)return gr(a,`Expected an object (got ${Vn(o)})`);let u=Object.keys(o),A=!0;for(let p=0,h=u.length;p{if(typeof a!="object"||a===null)return gr(n,`Expected an object (got ${Vn(a)})`);let u=new Set([...r,...Object.keys(a)]),A={},p=!0;for(let h of u){if(h==="constructor"||h==="__proto__")p=gr(Object.assign(Object.assign({},n),{p:Jp(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(t,h)?t[h]:void 0,w=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(w,Object.assign(Object.assign({},n),{p:Jp(n,h),coercion:Vu(a,h)}))&&p:e===null?p=gr(Object.assign(Object.assign({},n),{p:Jp(n,h)}),`Extraneous property (got ${Vn(w)})`):Object.defineProperty(A,h,{enumerable:!0,get:()=>w,set:V6e(a,h)})}if(!p&&n?.errors==null)break}return e!==null&&(p||n?.errors!=null)&&(p=e(A,n)&&p),p}});return Object.assign(o,{properties:t})}function rqe(t){return ez(t,{extra:TP(fN())})}function tz(t){return()=>t}function qr({test:t}){return tz(t)()}function iqe(t,e){if(!e(t))throw new Xp}function sqe(t,e){let r=[];if(!e(t,{errors:r}))throw new Xp({errors:r})}function oqe(t,e){}function aqe(t,e,{coerce:r=!1,errors:o,throw:a}={}){let n=o?[]:void 0;if(!r){if(e(t,{errors:n}))return a?t:{value:t,errors:void 0};if(a)throw new Xp({errors:n});return{value:void 0,errors:n??!0}}let u={value:t},A=Vu(u,"value"),p=[];if(!e(t,{errors:n,coercion:A,coercions:p})){if(a)throw new Xp({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?u.value:{value:u.value,errors:void 0}}function lqe(t,e){let r=RP(t);return(...o)=>{if(!r(o))throw new Xp;return e(...o)}}function cqe(t){return qr({test:(e,r)=>e.length>=t?!0:gr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)})}function uqe(t){return qr({test:(e,r)=>e.length<=t?!0:gr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)})}function rz(t){return qr({test:(e,r)=>e.length!==t?gr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0})}function Aqe({map:t}={}){return qr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;nt<=0?!0:gr(e,`Expected to be negative (got ${t})`)})}function pqe(){return qr({test:(t,e)=>t>=0?!0:gr(e,`Expected to be positive (got ${t})`)})}function gN(t){return qr({test:(e,r)=>e>=t?!0:gr(r,`Expected to be at least ${t} (got ${e})`)})}function hqe(t){return qr({test:(e,r)=>e<=t?!0:gr(r,`Expected to be at most ${t} (got ${e})`)})}function gqe(t,e){return qr({test:(r,o)=>r>=t&&r<=e?!0:gr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)})}function dqe(t,e){return qr({test:(r,o)=>r>=t&&re!==Math.round(e)?gr(r,`Expected to be an integer (got ${e})`):!t&&!Number.isSafeInteger(e)?gr(r,`Expected to be a safe integer (got ${e})`):!0})}function Dw(t){return qr({test:(e,r)=>t.test(e)?!0:gr(r,`Expected to match the pattern ${t.toString()} (got ${Vn(e)})`)})}function mqe(){return qr({test:(t,e)=>t!==t.toLowerCase()?gr(e,`Expected to be all-lowercase (got ${t})`):!0})}function yqe(){return qr({test:(t,e)=>t!==t.toUpperCase()?gr(e,`Expected to be all-uppercase (got ${t})`):!0})}function Eqe(){return qr({test:(t,e)=>K6e.test(t)?!0:gr(e,`Expected to be a valid UUID v4 (got ${Vn(t)})`)})}function Cqe(){return qr({test:(t,e)=>ZV.test(t)?!0:gr(e,`Expected to be a valid ISO 8601 date string (got ${Vn(t)})`)})}function Iqe({alpha:t=!1}){return qr({test:(e,r)=>(t?G6e.test(e):W6e.test(e))?!0:gr(r,`Expected to be a valid hexadecimal color string (got ${Vn(e)})`)})}function wqe(){return qr({test:(t,e)=>Y6e.test(t)?!0:gr(e,`Expected to be a valid base 64 string (got ${Vn(t)})`)})}function Bqe(t=fN()){return qr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return gr(r,`Expected to be a valid JSON string (got ${Vn(e)})`)}return t(o,r)}})}function NP(t,...e){let r=Array.isArray(e[0])?e[0]:e;return qr({test:(o,a)=>{var n,u;let A={value:o},p=typeof a?.coercions<"u"?Vu(A,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!t(o,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,w]of h)E.push(w());try{if(typeof a?.coercions<"u"){if(A.value!==o){if(typeof a?.coercion>"u")return gr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,A.value)])}(u=a?.coercions)===null||u===void 0||u.push(...h)}return r.every(w=>w(A.value,a))}finally{for(let w of E)w()}}})}function Pw(t,...e){let r=Array.isArray(e[0])?e[0]:e;return NP(t,r)}function vqe(t){return qr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}function Dqe(t){return qr({test:(e,r)=>e===null?!0:t(e,r)})}function Pqe(t,e){var r;let o=new Set(t),a=Sw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)||p.push(h);return p.length>0?gr(u,`Missing required ${AN(p.length,"property","properties")} ${xm(p,"and")}`):!0}})}function mN(t,e){var r;let o=new Set(t),a=Sw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>Object.keys(n).some(h=>a(o,h,n))?!0:gr(u,`Missing at least one property from ${xm(Array.from(o),"or")}`)})}function Sqe(t,e){var r;let o=new Set(t),a=Sw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>0?gr(u,`Forbidden ${AN(p.length,"property","properties")} ${xm(p,"and")}`):!0}})}function xqe(t,e){var r;let o=new Set(t),a=Sw[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return qr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>1?gr(u,`Mutually exclusive properties ${xm(p,"and")}`):!0}})}function xw(t,e,r,o){var a,n;let u=new Set((a=o?.ignore)!==null&&a!==void 0?a:[]),A=Sw[(n=o?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=bqe[e],E=e===Ku.Forbids?"or":"and";return qr({test:(w,D)=>{let b=new Set(Object.keys(w));if(!A(b,t,w)||u.has(w[t]))return!0;let C=[];for(let T of p)(A(b,T,w)&&!u.has(w[T]))!==h.expect&&C.push(T);return C.length>=1?gr(D,`Property "${t}" ${h.message} ${AN(C.length,"property","properties")} ${xm(C,E)}`):!0}})}var j6e,G6e,W6e,Y6e,K6e,ZV,z6e,nqe,hN,Xp,Sw,Ku,bqe,il=It(()=>{j6e=/^[a-zA-Z_][a-zA-Z0-9_]*$/;G6e=/^#[0-9a-f]{6}$/i,W6e=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,Y6e=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,K6e=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ZV=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;z6e=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);nqe=t=>qr({test:(e,r)=>e instanceof t?!0:gr(r,`Expected an instance of ${t.name} (got ${Vn(e)})`)}),hN=(t,{exclusive:e=!1}={})=>qr({test:(r,o)=>{var a,n,u;let A=[],p=typeof o?.errors<"u"?[]:void 0;for(let h=0,E=t.length;h1?gr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o?.errors)===null||u===void 0||u.push(...p),!1}});Xp=class extends Error{constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=` -`;for(let o of e)r+=` -- ${o}`}super(r)}};Sw={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Ku||(Ku={}));bqe={[Ku.Forbids]:{expect:!1,message:"forbids using"},[Ku.Requires]:{expect:!0,message:"requires using"}}});var ot,Zp=It(()=>{yf();ot=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>(il(),Yo)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw Bw("Invalid option schema",p);for(let[,w]of h)w()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};ot.isOption=ww;ot.Default=[]});function Sa(t){aN&&console.log(t)}function iz(){let t={nodes:[]};for(let e=0;e{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let w of h)E.some(({to:D})=>w.to===D)||E.push(w)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:w}])=>p===E&&h.to===w)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(pn.InitialNode)}function Fqe(t,{prefix:e=""}={}){if(aN){Sa(`${e}Nodes are:`);for(let r=0;rE!==pn.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===pn.ErrorNode))throw new Sm(e,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));o=Nqe(h)}if(o.length>0){Sa(" Results:");for(let n of o)Sa(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else Sa(" No results");return o}function Tqe(t,e,{endToken:r=Kn.EndOfInput}={}){let o=Rqe(t,[...e,r]);return Lqe(e,o.map(({state:a})=>a))}function Nqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function Lqe(t,e){let r=e.filter(D=>D.selectedIndex!==null),o=r.filter(D=>!D.partial);if(o.length>0&&(r=o),r.length===0)throw new Error;let a=r.filter(D=>D.selectedIndex===lg||D.requiredOptions.every(b=>b.some(C=>D.options.find(T=>T.name===C))));if(a.length===0)throw new Sm(t,r.map(D=>({usage:D.candidateUsage,reason:null})));let n=0;for(let D of a)D.path.length>n&&(n=D.path.length);let u=a.filter(D=>D.path.length===n),A=D=>D.positionals.filter(({extra:b})=>!b).length+D.options.length,p=u.map(D=>({state:D,positionalCount:A(D)})),h=0;for(let{positionalCount:D}of p)D>h&&(h=D);let E=p.filter(({positionalCount:D})=>D===h).map(({state:D})=>D),w=Oqe(E);if(w.length>1)throw new bP(t,w.map(D=>D.candidateUsage));return w[0]}function Oqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===lg?r.push(o):e.push(o);return r.length>0&&e.push({...nz,path:sz(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function sz(t,e,...r){return e===void 0?Array.from(t):sz(t.filter((o,a)=>o===e[a]),...r)}function sl(){return{dynamics:[],shortcuts:[],statics:{}}}function oz(t){return t===pn.SuccessNode||t===pn.ErrorNode}function yN(t,e=0){return{to:oz(t.to)?t.to:t.to>=pn.CustomNode?t.to+e-pn.CustomNode+1:t.to+e,reducer:t.reducer}}function Mqe(t,e=0){let r=sl();for(let[o,a]of t.dynamics)r.dynamics.push([o,yN(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(yN(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>yN(n,e));return r}function Bs(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function Qm(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function Ko(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function LP(t,e,r,o,a){if(Array.isArray(e)){let[n,...u]=e;return t[n](r,o,a,...u)}else return t[e](r,o,a)}var nz,Uqe,EN,ol,CN,OP,MP=It(()=>{xP();QP();nz={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:lg,partial:!1,tokens:[]};Uqe={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===o,isBatchOption:(t,e,r,o)=>!t.ignoreOptions&&zV.test(e)&&[...e.slice(1)].every(a=>o.has(`-${a}`)),isBoundOption:(t,e,r,o,a)=>{let n=e.match(oN);return!t.ignoreOptions&&!!n&&SP.test(n[1])&&o.has(n[1])&&a.filter(u=>u.nameSet.includes(n[1])).every(u=>u.allowBinding)},isNegatedOption:(t,e,r,o)=>!t.ignoreOptions&&e===`--no-${o.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&sN.test(e),isUnsupportedOption:(t,e,r,o)=>!t.ignoreOptions&&e.startsWith("-")&&SP.test(e)&&!o.has(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!SP.test(e)},EN={setCandidateState:(t,e,r,o)=>({...t,...o}),setSelectedIndex:(t,e,r,o)=>({...t,selectedIndex:o}),setPartialIndex:(t,e,r,o)=>({...t,selectedIndex:o,partial:!0}),pushBatch:(t,e,r,o)=>{let a=t.options.slice(),n=t.tokens.slice();for(let u=1;u{let[,o,a]=e.match(oN),n=t.options.concat({name:o,value:a}),u=t.tokens.concat([{segmentIndex:r,type:"option",slice:[0,o.length],option:o},{segmentIndex:r,type:"assign",slice:[o.length,o.length+1]},{segmentIndex:r,type:"value",slice:[o.length+1,o.length+a.length+1]}]);return{...t,options:n,tokens:u}},pushPath:(t,e,r)=>{let o=t.path.concat(e),a=t.tokens.concat({segmentIndex:r,type:"path"});return{...t,path:o,tokens:a}},pushPositional:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!1}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtra:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!0}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtraNoLimits:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:ol}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushTrue:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushFalse:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!1}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushUndefined:(t,e,r,o)=>{let a=t.options.concat({name:e,value:void 0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:e});return{...t,options:a,tokens:n}},pushStringValue:(t,e,r)=>{var o;let a=t.options[t.options.length-1],n=t.options.slice(),u=t.tokens.concat({segmentIndex:r,type:"value"});return a.value=((o=a.value)!==null&&o!==void 0?o:[]).concat([e]),{...t,options:n,tokens:u}},setStringValue:(t,e,r)=>{let o=t.options[t.options.length-1],a=t.options.slice(),n=t.tokens.concat({segmentIndex:r,type:"value"});return o.value=e,{...t,options:a,tokens:n}},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r,o)=>{let[,,a]=e.match(sN);return typeof a<"u"?{...t,options:[{name:"-c",value:String(o)},{name:"-i",value:a}]}:{...t,options:[{name:"-c",value:String(o)}]}},setError:(t,e,r,o)=>e===Kn.EndOfInput||e===Kn.EndOfPartialInput?{...t,errorMessage:`${o}.`}:{...t,errorMessage:`${o} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},ol=Symbol(),CN=class{constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===ol)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==ol?this.arity.extra.push(e):this.arity.extra!==ol&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===ol)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);let A=e.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of e)this.allOptionNames.set(p,A);this.options.push({preferredName:A,nameSet:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{preferredName:u,nameSet:A,arity:p,hidden:h,description:E,required:w}of this.options){if(h)continue;let D=[];for(let C=0;C`:`[${b}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===ol?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=iz(),r=pn.InitialNode,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.nameSet);r=jc(e,sl()),Ko(e,pn.InitialNode,Kn.StartOfInput,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let D=jc(e,sl());Qm(e,p,D),this.registerOptions(e,D),p=D}for(let D=0;D0||!this.arity.proxy){let D=jc(e,sl());Bs(e,p,"isHelp",D,["useHelp",this.cliIndex]),Bs(e,D,"always",D,"pushExtra"),Ko(e,D,Kn.EndOfInput,pn.SuccessNode,["setSelectedIndex",lg]),this.registerOptions(e,p)}this.arity.leading.length>0&&(Ko(e,p,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,p,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let D=0;D0||D+1!==this.arity.leading.length)&&(Ko(e,b,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,b,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex])),Bs(e,h,"isNotOptionLike",b,"pushPositional"),h=b}let E=h;if(this.arity.extra===ol||this.arity.extra.length>0){let D=jc(e,sl());if(Qm(e,h,D),this.arity.extra===ol){let b=jc(e,sl());this.arity.proxy||this.registerOptions(e,b),Bs(e,h,n,b,"pushExtraNoLimits"),Bs(e,b,n,b,"pushExtraNoLimits"),Qm(e,b,D)}else for(let b=0;b0)&&this.registerOptions(e,C),Bs(e,E,n,C,"pushExtra"),Qm(e,C,D),E=C}E=D}this.arity.trailing.length>0&&(Ko(e,E,Kn.EndOfInput,pn.ErrorNode,["setError","Not enough positional arguments"]),Ko(e,E,Kn.EndOfPartialInput,pn.SuccessNode,["setPartialIndex",this.cliIndex]));let w=E;for(let D=0;D=0&&e{let u=n?Kn.EndOfPartialInput:Kn.EndOfInput;return Tqe(o,a,{endToken:u})}}}}});function lz(){return UP.default&&"getColorDepth"in UP.default.WriteStream.prototype?UP.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function cz(t){let e=az;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=De("async_hooks");e=az=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var UP,az,uz=It(()=>{UP=et(De("tty"),1)});var _P,Az=It(()=>{Zp();_P=class t extends ot{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new t(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: -`),this.context.stdout.write(` -`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` -`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}}});async function hz(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=dz(t);return Vo.from(r,e).runExit(o,a)}async function gz(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=dz(t);return Vo.from(r,e).run(o,a)}function dz(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof ot||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof ot||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function pz(t){return t()}var fz,Vo,mz=It(()=>{xP();MP();uN();uz();Zp();Az();fz=Symbol("clipanion/errorCommand");Vo=class t{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new OP({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new t(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[ot.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{input:o,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:u,process:A}=this.builder.compile(),p=A(o,{partial:n}),h={...t.defaultContext,...a};switch(p.selectedIndex){case lg:{let E=_P.from(p,u);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=u[p.selectedIndex],w=this.registrations.get(E);if(typeof w>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let D=new E;D.context=h,D.tokens=p.tokens,D.path=p.path;try{for(let[b,{transformer:C}]of w.specs.entries())D[b]=C(w.builder,b,p,h);return D}catch(b){throw b[fz]=D,b}}break}}async run(e,r){var o,a;let n,u={...t.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,w)=>this.error(E,w),format:E=>this.format(E),process:(E,w)=>this.process(E,{...u,...w}),run:(E,w)=>this.run(E,{...u,...w}),usage:(E,w)=>this.usage(E,w)};let p=this.enableCapture&&(a=cz(u))!==null&&a!==void 0?a:pz,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:o}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),u=typeof e.usage.category<"u"?yo(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,A=typeof e.usage.description<"u"?yo(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof e.usage.details<"u"?yo(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof e.usage.examples<"u"?e.usage.examples.map(([E,w])=>[yo(E,{format:this.format(r),paragraphs:!1}),w.replace(/\$0/g,this.binaryName)]):void 0;return{path:o,usage:a,category:u,description:A,details:p,examples:h,options:n}}definitions({colored:e=!1}={}){let r=[];for(let o of this.registrations.keys()){let a=this.definition(o,{colored:e});a&&r.push(a)}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(b=>b.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof ot?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=yo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,b=>b.toUpperCase()),A+=` -`),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")} -`,A+=` -`);let{usage:w,options:D}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${w} -`,D.length>0){A+=` -`,A+=`${this.format(r).header("Options")} -`;let b=D.reduce((C,T)=>Math.max(C,T.definition.length),0);A+=` -`;for(let{definition:C,description:T}of D)A+=` ${this.format(r).bold(C.padEnd(b))} ${yo(T,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` -`,A+=`${this.format(r).header("Details")} -`,A+=` -`,A+=yo(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=` -`,A+=`${this.format(r).header("Examples")} -`;for(let[b,C]of E)A+=` -`,A+=yo(b,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} -`}else{let p=new Map;for(let[D,{index:b}]of this.registrations.entries()){if(typeof D.usage>"u")continue;let C=typeof D.usage.category<"u"?yo(D.usage.category,{format:this.format(r),paragraphs:!1}):null,T=p.get(C);typeof T>"u"&&p.set(C,T=[]);let{usage:L}=this.getUsageByIndex(b);T.push({commandClass:D,usage:L})}let h=Array.from(p.keys()).sort((D,b)=>D===null?-1:b===null?1:D.localeCompare(b,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";E||w?(E&&w?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:E?A+=`${this.format(r).header(`${this.binaryLabel}`)} -`:A+=`${this.format(r).header(`${this.binaryVersion}`)} -`,A+=` ${this.format(r).bold(a)}${this.binaryName} -`):A+=`${this.format(r).bold(a)}${this.binaryName} -`;for(let D of h){let b=p.get(D).slice().sort((T,L)=>T.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),C=D!==null?D.trim():"General commands";A+=` -`,A+=`${this.format(r).header(`${C}`)} -`;for(let{commandClass:T,usage:L}of b){let U=T.usage.description||"undocumented";A+=` -`,A+=` ${this.format(r).bold(L)} -`,A+=` ${yo(U,{format:this.format(r),paragraphs:!1})}`}}A+=` -`,A+=yo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[fz])!==null&&o!==void 0?o:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} -`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` -`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} -`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:t.defaultContext.colorDepth>1)?JV:XV}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};Vo.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:lz()}});var bw,yz=It(()=>{Zp();bw=class extends ot{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};bw.paths=[["--clipanion=definitions"]]});var Qw,Ez=It(()=>{Zp();Qw=class extends ot{async execute(){this.context.stdout.write(this.cli.usage())}};Qw.paths=[["-h"],["--help"]]});function HP(t={}){return Wo({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var IN=It(()=>{yf()});var kw,Cz=It(()=>{Zp();IN();kw=class extends ot{constructor(){super(...arguments),this.args=HP()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} -`)}};kw.paths=[["--clipanion=tokens"]]});var Fw,Iz=It(()=>{Zp();Fw=class extends ot{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};Fw.paths=[["-v"],["--version"]]});var wN={};Kt(wN,{DefinitionsCommand:()=>bw,HelpCommand:()=>Qw,TokensCommand:()=>kw,VersionCommand:()=>Fw});var wz=It(()=>{yz();Ez();Cz();Iz()});function Bz(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let w,D=typeof o<"u"?[...o]:void 0;for(let{name:b,value:C}of E.options)A.has(b)&&(w=b,D=D??[],D.push(C));return typeof D<"u"?cg(w??h,D,a.validator):D}})}var vz=It(()=>{yf()});function Dz(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:D}of h.options)u.has(w)&&(E=D);return E}})}var Pz=It(()=>{yf()});function Sz(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:D}of h.options)u.has(w)&&(E??(E=0),D?E+=1:E=0);return E}})}var xz=It(()=>{yf()});function bz(t={}){return Wo({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===ol||A.extra===!1&&uu)}})}var Qz=It(()=>{MP();yf()});function _qe(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,w){let D,b=o;typeof a.env<"u"&&w.env[a.env]&&(D=a.env,b=w.env[a.env]);for(let{name:C,value:T}of E.options)A.has(C)&&(D=C,b=T);return typeof b=="string"?cg(D??h,b,a.validator):b}})}function Hqe(t={}){let{required:e=!0}=t;return Wo({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u{MP();yf()});var ge={};Kt(ge,{Array:()=>Bz,Boolean:()=>Dz,Counter:()=>Sz,Proxy:()=>HP,Rest:()=>bz,String:()=>kz,applyValidator:()=>cg,cleanValidationError:()=>kP,formatError:()=>Bw,isOptionSymbol:()=>ww,makeCommandOption:()=>Wo,rerouteArguments:()=>Yu});var Rz=It(()=>{yf();IN();vz();Pz();xz();Qz();Fz()});var Rw={};Kt(Rw,{Builtins:()=>wN,Cli:()=>Vo,Command:()=>ot,Option:()=>ge,UsageError:()=>nt,formatMarkdownish:()=>yo,run:()=>gz,runExit:()=>hz});var Gt=It(()=>{QP();uN();Zp();mz();wz();Rz()});var Tz=_((fQt,qqe)=>{qqe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Mz=_((pQt,Ef)=>{var Nz=De("fs"),vN=De("path"),jqe=De("os"),Gqe=De("crypto"),Wqe=Tz(),DN=Wqe.version,Yqe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Kqe(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,` -`);let o;for(;(o=Yqe.exec(r))!=null;){let a=o[1],n=o[2]||"";n=n.trim();let u=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),u==='"'&&(n=n.replace(/\\n/g,` -`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function Vqe(t){let e=Oz(t),r=vs.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let o=Lz(t).split(","),a=o.length,n;for(let u=0;u=a)throw A}return vs.parse(n)}function zqe(t){console.log(`[dotenv@${DN}][INFO] ${t}`)}function Jqe(t){console.log(`[dotenv@${DN}][WARN] ${t}`)}function BN(t){console.log(`[dotenv@${DN}][DEBUG] ${t}`)}function Lz(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function Xqe(t,e){let r;try{r=new URL(e)}catch(A){throw A.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):A}let o=r.password;if(!o)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,u=t.parsed[n];if(!u)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:u,key:o}}function Oz(t){let e=vN.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function Zqe(t){return t[0]==="~"?vN.join(jqe.homedir(),t.slice(1)):t}function $qe(t){zqe("Loading env from encrypted .env.vault");let e=vs._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),vs.populate(r,e,t),{parsed:e}}function eje(t){let e=vN.resolve(process.cwd(),".env"),r="utf8",o=!!(t&&t.debug);t&&(t.path!=null&&(e=Zqe(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=vs.parse(Nz.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),vs.populate(n,a,t),{parsed:a}}catch(a){return o&&BN(`Failed to load ${e} ${a.message}`),{error:a}}}function tje(t){let e=Oz(t);return Lz(t).length===0?vs.configDotenv(t):Nz.existsSync(e)?vs._configVault(t):(Jqe(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),vs.configDotenv(t))}function rje(t,e){let r=Buffer.from(e.slice(-64),"hex"),o=Buffer.from(t,"base64"),a=o.slice(0,12),n=o.slice(-16);o=o.slice(12,-16);try{let u=Gqe.createDecipheriv("aes-256-gcm",r,a);return u.setAuthTag(n),`${u.update(o)}${u.final()}`}catch(u){let A=u instanceof RangeError,p=u.message==="Invalid key length",h=u.message==="Unsupported state or unable to authenticate data";if(A||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",u.code),console.error("Error: ",u.message),u}}function nje(t,e,r={}){let o=!!(r&&r.debug),a=!!(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),o&&BN(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var vs={configDotenv:eje,_configVault:$qe,_parseVault:Vqe,config:tje,decrypt:rje,parse:Kqe,populate:nje};Ef.exports.configDotenv=vs.configDotenv;Ef.exports._configVault=vs._configVault;Ef.exports._parseVault=vs._parseVault;Ef.exports.config=vs.config;Ef.exports.decrypt=vs.decrypt;Ef.exports.parse=vs.parse;Ef.exports.populate=vs.populate;Ef.exports=vs});var _z=_((hQt,Uz)=>{"use strict";Uz.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var ug=_((gQt,PN)=>{"use strict";var ije=_z(),Hz=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=ije(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{rnew Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};PN.exports=Hz;PN.exports.default=Hz});function zu(t){return`YN${t.toString(10).padStart(4,"0")}`}function qP(t){let e=Number(t.slice(2));if(typeof vr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var vr,jP=It(()=>{vr=(Me=>(Me[Me.UNNAMED=0]="UNNAMED",Me[Me.EXCEPTION=1]="EXCEPTION",Me[Me.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Me[Me.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Me[Me.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Me[Me.BUILD_DISABLED=5]="BUILD_DISABLED",Me[Me.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Me[Me.MUST_BUILD=7]="MUST_BUILD",Me[Me.MUST_REBUILD=8]="MUST_REBUILD",Me[Me.BUILD_FAILED=9]="BUILD_FAILED",Me[Me.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Me[Me.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Me[Me.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Me[Me.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Me[Me.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Me[Me.REMOTE_INVALID=15]="REMOTE_INVALID",Me[Me.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Me[Me.RESOLUTION_PACK=17]="RESOLUTION_PACK",Me[Me.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Me[Me.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Me[Me.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Me[Me.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Me[Me.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Me[Me.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Me[Me.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Me[Me.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Me[Me.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Me[Me.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Me[Me.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Me[Me.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Me[Me.FETCH_FAILED=30]="FETCH_FAILED",Me[Me.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Me[Me.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Me[Me.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Me[Me.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Me[Me.NETWORK_ERROR=35]="NETWORK_ERROR",Me[Me.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Me[Me.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Me[Me.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Me[Me.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Me[Me.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Me[Me.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Me[Me.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Me[Me.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Me[Me.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Me[Me.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Me[Me.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Me[Me.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Me[Me.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Me[Me.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Me[Me.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Me[Me.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Me[Me.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Me[Me.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Me[Me.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Me[Me.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Me[Me.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Me[Me.INVALID_MANIFEST=57]="INVALID_MANIFEST",Me[Me.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Me[Me.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Me[Me.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Me[Me.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Me[Me.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Me[Me.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Me[Me.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Me[Me.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Me[Me.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Me[Me.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Me[Me.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Me[Me.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Me[Me.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Me[Me.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Me[Me.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Me[Me.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Me[Me.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Me[Me.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Me[Me.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Me[Me.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Me[Me.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Me[Me.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Me[Me.NETWORK_DISABLED=80]="NETWORK_DISABLED",Me[Me.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Me[Me.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Me[Me.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Me[Me.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Me[Me.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Me[Me.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Me[Me.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Me[Me.VERSION_NOTICE=88]="VERSION_NOTICE",Me[Me.TIPS_NOTICE=89]="TIPS_NOTICE",Me[Me.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Me))(vr||{})});var Tw=_((mQt,qz)=>{var sje="2.0.0",oje=Number.MAX_SAFE_INTEGER||9007199254740991,aje=16,lje=250,cje=["major","premajor","minor","preminor","patch","prepatch","prerelease"];qz.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:aje,MAX_SAFE_BUILD_LENGTH:lje,MAX_SAFE_INTEGER:oje,RELEASE_TYPES:cje,SEMVER_SPEC_VERSION:sje,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Nw=_((yQt,jz)=>{var uje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};jz.exports=uje});var km=_((Cf,Gz)=>{var{MAX_SAFE_COMPONENT_LENGTH:SN,MAX_SAFE_BUILD_LENGTH:Aje,MAX_LENGTH:fje}=Tw(),pje=Nw();Cf=Gz.exports={};var hje=Cf.re=[],gje=Cf.safeRe=[],tr=Cf.src=[],rr=Cf.t={},dje=0,xN="[a-zA-Z0-9-]",mje=[["\\s",1],["\\d",fje],[xN,Aje]],yje=t=>{for(let[e,r]of mje)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Gr=(t,e,r)=>{let o=yje(e),a=dje++;pje(t,a,e),rr[t]=a,tr[a]=e,hje[a]=new RegExp(e,r?"g":void 0),gje[a]=new RegExp(o,r?"g":void 0)};Gr("NUMERICIDENTIFIER","0|[1-9]\\d*");Gr("NUMERICIDENTIFIERLOOSE","\\d+");Gr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${xN}*`);Gr("MAINVERSION",`(${tr[rr.NUMERICIDENTIFIER]})\\.(${tr[rr.NUMERICIDENTIFIER]})\\.(${tr[rr.NUMERICIDENTIFIER]})`);Gr("MAINVERSIONLOOSE",`(${tr[rr.NUMERICIDENTIFIERLOOSE]})\\.(${tr[rr.NUMERICIDENTIFIERLOOSE]})\\.(${tr[rr.NUMERICIDENTIFIERLOOSE]})`);Gr("PRERELEASEIDENTIFIER",`(?:${tr[rr.NUMERICIDENTIFIER]}|${tr[rr.NONNUMERICIDENTIFIER]})`);Gr("PRERELEASEIDENTIFIERLOOSE",`(?:${tr[rr.NUMERICIDENTIFIERLOOSE]}|${tr[rr.NONNUMERICIDENTIFIER]})`);Gr("PRERELEASE",`(?:-(${tr[rr.PRERELEASEIDENTIFIER]}(?:\\.${tr[rr.PRERELEASEIDENTIFIER]})*))`);Gr("PRERELEASELOOSE",`(?:-?(${tr[rr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${tr[rr.PRERELEASEIDENTIFIERLOOSE]})*))`);Gr("BUILDIDENTIFIER",`${xN}+`);Gr("BUILD",`(?:\\+(${tr[rr.BUILDIDENTIFIER]}(?:\\.${tr[rr.BUILDIDENTIFIER]})*))`);Gr("FULLPLAIN",`v?${tr[rr.MAINVERSION]}${tr[rr.PRERELEASE]}?${tr[rr.BUILD]}?`);Gr("FULL",`^${tr[rr.FULLPLAIN]}$`);Gr("LOOSEPLAIN",`[v=\\s]*${tr[rr.MAINVERSIONLOOSE]}${tr[rr.PRERELEASELOOSE]}?${tr[rr.BUILD]}?`);Gr("LOOSE",`^${tr[rr.LOOSEPLAIN]}$`);Gr("GTLT","((?:<|>)?=?)");Gr("XRANGEIDENTIFIERLOOSE",`${tr[rr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Gr("XRANGEIDENTIFIER",`${tr[rr.NUMERICIDENTIFIER]}|x|X|\\*`);Gr("XRANGEPLAIN",`[v=\\s]*(${tr[rr.XRANGEIDENTIFIER]})(?:\\.(${tr[rr.XRANGEIDENTIFIER]})(?:\\.(${tr[rr.XRANGEIDENTIFIER]})(?:${tr[rr.PRERELEASE]})?${tr[rr.BUILD]}?)?)?`);Gr("XRANGEPLAINLOOSE",`[v=\\s]*(${tr[rr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tr[rr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tr[rr.XRANGEIDENTIFIERLOOSE]})(?:${tr[rr.PRERELEASELOOSE]})?${tr[rr.BUILD]}?)?)?`);Gr("XRANGE",`^${tr[rr.GTLT]}\\s*${tr[rr.XRANGEPLAIN]}$`);Gr("XRANGELOOSE",`^${tr[rr.GTLT]}\\s*${tr[rr.XRANGEPLAINLOOSE]}$`);Gr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${SN}})(?:\\.(\\d{1,${SN}}))?(?:\\.(\\d{1,${SN}}))?`);Gr("COERCE",`${tr[rr.COERCEPLAIN]}(?:$|[^\\d])`);Gr("COERCEFULL",tr[rr.COERCEPLAIN]+`(?:${tr[rr.PRERELEASE]})?(?:${tr[rr.BUILD]})?(?:$|[^\\d])`);Gr("COERCERTL",tr[rr.COERCE],!0);Gr("COERCERTLFULL",tr[rr.COERCEFULL],!0);Gr("LONETILDE","(?:~>?)");Gr("TILDETRIM",`(\\s*)${tr[rr.LONETILDE]}\\s+`,!0);Cf.tildeTrimReplace="$1~";Gr("TILDE",`^${tr[rr.LONETILDE]}${tr[rr.XRANGEPLAIN]}$`);Gr("TILDELOOSE",`^${tr[rr.LONETILDE]}${tr[rr.XRANGEPLAINLOOSE]}$`);Gr("LONECARET","(?:\\^)");Gr("CARETTRIM",`(\\s*)${tr[rr.LONECARET]}\\s+`,!0);Cf.caretTrimReplace="$1^";Gr("CARET",`^${tr[rr.LONECARET]}${tr[rr.XRANGEPLAIN]}$`);Gr("CARETLOOSE",`^${tr[rr.LONECARET]}${tr[rr.XRANGEPLAINLOOSE]}$`);Gr("COMPARATORLOOSE",`^${tr[rr.GTLT]}\\s*(${tr[rr.LOOSEPLAIN]})$|^$`);Gr("COMPARATOR",`^${tr[rr.GTLT]}\\s*(${tr[rr.FULLPLAIN]})$|^$`);Gr("COMPARATORTRIM",`(\\s*)${tr[rr.GTLT]}\\s*(${tr[rr.LOOSEPLAIN]}|${tr[rr.XRANGEPLAIN]})`,!0);Cf.comparatorTrimReplace="$1$2$3";Gr("HYPHENRANGE",`^\\s*(${tr[rr.XRANGEPLAIN]})\\s+-\\s+(${tr[rr.XRANGEPLAIN]})\\s*$`);Gr("HYPHENRANGELOOSE",`^\\s*(${tr[rr.XRANGEPLAINLOOSE]})\\s+-\\s+(${tr[rr.XRANGEPLAINLOOSE]})\\s*$`);Gr("STAR","(<|>)?=?\\s*\\*");Gr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Gr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var GP=_((EQt,Wz)=>{var Eje=Object.freeze({loose:!0}),Cje=Object.freeze({}),Ije=t=>t?typeof t!="object"?Eje:t:Cje;Wz.exports=Ije});var bN=_((CQt,Vz)=>{var Yz=/^[0-9]+$/,Kz=(t,e)=>{let r=Yz.test(t),o=Yz.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:tKz(e,t);Vz.exports={compareIdentifiers:Kz,rcompareIdentifiers:wje}});var Eo=_((IQt,Zz)=>{var WP=Nw(),{MAX_LENGTH:zz,MAX_SAFE_INTEGER:YP}=Tw(),{safeRe:Jz,t:Xz}=km(),Bje=GP(),{compareIdentifiers:Fm}=bN(),QN=class t{constructor(e,r){if(r=Bje(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>zz)throw new TypeError(`version is longer than ${zz} characters`);WP("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?Jz[Xz.LOOSE]:Jz[Xz.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>YP||this.major<0)throw new TypeError("Invalid major version");if(this.minor>YP||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>YP||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];o===!1&&(n=[r]),Fm(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Zz.exports=QN});var Ag=_((wQt,eJ)=>{var $z=Eo(),vje=(t,e,r=!1)=>{if(t instanceof $z)return t;try{return new $z(t,e)}catch(o){if(!r)return null;throw o}};eJ.exports=vje});var rJ=_((BQt,tJ)=>{var Dje=Ag(),Pje=(t,e)=>{let r=Dje(t,e);return r?r.version:null};tJ.exports=Pje});var iJ=_((vQt,nJ)=>{var Sje=Ag(),xje=(t,e)=>{let r=Sje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};nJ.exports=xje});var aJ=_((DQt,oJ)=>{var sJ=Eo(),bje=(t,e,r,o,a)=>{typeof r=="string"&&(a=o,o=r,r=void 0);try{return new sJ(t instanceof sJ?t.version:t,r).inc(e,o,a).version}catch{return null}};oJ.exports=bje});var uJ=_((PQt,cJ)=>{var lJ=Ag(),Qje=(t,e)=>{let r=lJ(t,null,!0),o=lJ(e,null,!0),a=r.compare(o);if(a===0)return null;let n=a>0,u=n?r:o,A=n?o:r,p=!!u.prerelease.length;if(!!A.prerelease.length&&!p)return!A.patch&&!A.minor?"major":u.patch?"patch":u.minor?"minor":"major";let E=p?"pre":"";return r.major!==o.major?E+"major":r.minor!==o.minor?E+"minor":r.patch!==o.patch?E+"patch":"prerelease"};cJ.exports=Qje});var fJ=_((SQt,AJ)=>{var kje=Eo(),Fje=(t,e)=>new kje(t,e).major;AJ.exports=Fje});var hJ=_((xQt,pJ)=>{var Rje=Eo(),Tje=(t,e)=>new Rje(t,e).minor;pJ.exports=Tje});var dJ=_((bQt,gJ)=>{var Nje=Eo(),Lje=(t,e)=>new Nje(t,e).patch;gJ.exports=Lje});var yJ=_((QQt,mJ)=>{var Oje=Ag(),Mje=(t,e)=>{let r=Oje(t,e);return r&&r.prerelease.length?r.prerelease:null};mJ.exports=Mje});var Ml=_((kQt,CJ)=>{var EJ=Eo(),Uje=(t,e,r)=>new EJ(t,r).compare(new EJ(e,r));CJ.exports=Uje});var wJ=_((FQt,IJ)=>{var _je=Ml(),Hje=(t,e,r)=>_je(e,t,r);IJ.exports=Hje});var vJ=_((RQt,BJ)=>{var qje=Ml(),jje=(t,e)=>qje(t,e,!0);BJ.exports=jje});var KP=_((TQt,PJ)=>{var DJ=Eo(),Gje=(t,e,r)=>{let o=new DJ(t,r),a=new DJ(e,r);return o.compare(a)||o.compareBuild(a)};PJ.exports=Gje});var xJ=_((NQt,SJ)=>{var Wje=KP(),Yje=(t,e)=>t.sort((r,o)=>Wje(r,o,e));SJ.exports=Yje});var QJ=_((LQt,bJ)=>{var Kje=KP(),Vje=(t,e)=>t.sort((r,o)=>Kje(o,r,e));bJ.exports=Vje});var Lw=_((OQt,kJ)=>{var zje=Ml(),Jje=(t,e,r)=>zje(t,e,r)>0;kJ.exports=Jje});var VP=_((MQt,FJ)=>{var Xje=Ml(),Zje=(t,e,r)=>Xje(t,e,r)<0;FJ.exports=Zje});var kN=_((UQt,RJ)=>{var $je=Ml(),eGe=(t,e,r)=>$je(t,e,r)===0;RJ.exports=eGe});var FN=_((_Qt,TJ)=>{var tGe=Ml(),rGe=(t,e,r)=>tGe(t,e,r)!==0;TJ.exports=rGe});var zP=_((HQt,NJ)=>{var nGe=Ml(),iGe=(t,e,r)=>nGe(t,e,r)>=0;NJ.exports=iGe});var JP=_((qQt,LJ)=>{var sGe=Ml(),oGe=(t,e,r)=>sGe(t,e,r)<=0;LJ.exports=oGe});var RN=_((jQt,OJ)=>{var aGe=kN(),lGe=FN(),cGe=Lw(),uGe=zP(),AGe=VP(),fGe=JP(),pGe=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return aGe(t,r,o);case"!=":return lGe(t,r,o);case">":return cGe(t,r,o);case">=":return uGe(t,r,o);case"<":return AGe(t,r,o);case"<=":return fGe(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};OJ.exports=pGe});var UJ=_((GQt,MJ)=>{var hGe=Eo(),gGe=Ag(),{safeRe:XP,t:ZP}=km(),dGe=(t,e)=>{if(t instanceof hGe)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?XP[ZP.COERCEFULL]:XP[ZP.COERCE]);else{let p=e.includePrerelease?XP[ZP.COERCERTLFULL]:XP[ZP.COERCERTL],h;for(;(h=p.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(r===null)return null;let o=r[2],a=r[3]||"0",n=r[4]||"0",u=e.includePrerelease&&r[5]?`-${r[5]}`:"",A=e.includePrerelease&&r[6]?`+${r[6]}`:"";return gGe(`${o}.${a}.${n}${u}${A}`,e)};MJ.exports=dGe});var HJ=_((WQt,_J)=>{"use strict";_J.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var $P=_((YQt,qJ)=>{"use strict";qJ.exports=xn;xn.Node=fg;xn.create=xn;function xn(t){var e=this;if(e instanceof xn||(e=new xn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};xn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};xn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};xn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};xn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new xn;if(ethis.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&othis.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};xn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o{"use strict";var CGe=$P(),pg=Symbol("max"),wf=Symbol("length"),Rm=Symbol("lengthCalculator"),Mw=Symbol("allowStale"),hg=Symbol("maxAge"),If=Symbol("dispose"),jJ=Symbol("noDisposeOnSet"),Ds=Symbol("lruList"),Gc=Symbol("cache"),WJ=Symbol("updateAgeOnGet"),TN=()=>1,LN=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[pg]=e.max||1/0,o=e.length||TN;if(this[Rm]=typeof o!="function"?TN:o,this[Mw]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[hg]=e.maxAge||0,this[If]=e.dispose,this[jJ]=e.noDisposeOnSet||!1,this[WJ]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[pg]=e||1/0,Ow(this)}get max(){return this[pg]}set allowStale(e){this[Mw]=!!e}get allowStale(){return this[Mw]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[hg]=e,Ow(this)}get maxAge(){return this[hg]}set lengthCalculator(e){typeof e!="function"&&(e=TN),e!==this[Rm]&&(this[Rm]=e,this[wf]=0,this[Ds].forEach(r=>{r.length=this[Rm](r.value,r.key),this[wf]+=r.length})),Ow(this)}get lengthCalculator(){return this[Rm]}get length(){return this[wf]}get itemCount(){return this[Ds].length}rforEach(e,r){r=r||this;for(let o=this[Ds].tail;o!==null;){let a=o.prev;GJ(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Ds].head;o!==null;){let a=o.next;GJ(this,e,o,r),o=a}}keys(){return this[Ds].toArray().map(e=>e.key)}values(){return this[Ds].toArray().map(e=>e.value)}reset(){this[If]&&this[Ds]&&this[Ds].length&&this[Ds].forEach(e=>this[If](e.key,e.value)),this[Gc]=new Map,this[Ds]=new CGe,this[wf]=0}dump(){return this[Ds].map(e=>eS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ds]}set(e,r,o){if(o=o||this[hg],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Rm](r,e);if(this[Gc].has(e)){if(n>this[pg])return Tm(this,this[Gc].get(e)),!1;let p=this[Gc].get(e).value;return this[If]&&(this[jJ]||this[If](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[wf]+=n-p.length,p.length=n,this.get(e),Ow(this),!0}let u=new ON(e,r,n,a,o);return u.length>this[pg]?(this[If]&&this[If](e,r),!1):(this[wf]+=u.length,this[Ds].unshift(u),this[Gc].set(e,this[Ds].head),Ow(this),!0)}has(e){if(!this[Gc].has(e))return!1;let r=this[Gc].get(e).value;return!eS(this,r)}get(e){return NN(this,e,!0)}peek(e){return NN(this,e,!1)}pop(){let e=this[Ds].tail;return e?(Tm(this,e),e.value):null}del(e){Tm(this,this[Gc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Gc].forEach((e,r)=>NN(this,r,!1))}},NN=(t,e,r)=>{let o=t[Gc].get(e);if(o){let a=o.value;if(eS(t,a)){if(Tm(t,o),!t[Mw])return}else r&&(t[WJ]&&(o.value.now=Date.now()),t[Ds].unshiftNode(o));return a.value}},eS=(t,e)=>{if(!e||!e.maxAge&&!t[hg])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[hg]&&r>t[hg]},Ow=t=>{if(t[wf]>t[pg])for(let e=t[Ds].tail;t[wf]>t[pg]&&e!==null;){let r=e.prev;Tm(t,e),e=r}},Tm=(t,e)=>{if(e){let r=e.value;t[If]&&t[If](r.key,r.value),t[wf]-=r.length,t[Gc].delete(r.key),t[Ds].removeNode(e)}},ON=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},GJ=(t,e,r,o)=>{let a=r.value;eS(t,a)&&(Tm(t,r),t[Mw]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};YJ.exports=LN});var Ul=_((VQt,XJ)=>{var MN=class t{constructor(e,r){if(r=wGe(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof UN)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!zJ(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&bGe(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&SGe)|(this.options.loose&&xGe))+":"+e,a=VJ.get(o);if(a)return a;let n=this.options.loose,u=n?xa[zo.HYPHENRANGELOOSE]:xa[zo.HYPHENRANGE];e=e.replace(u,UGe(this.options.includePrerelease)),gi("hyphen replace",e),e=e.replace(xa[zo.COMPARATORTRIM],vGe),gi("comparator trim",e),e=e.replace(xa[zo.TILDETRIM],DGe),gi("tilde trim",e),e=e.replace(xa[zo.CARETTRIM],PGe),gi("caret trim",e);let A=e.split(" ").map(w=>QGe(w,this.options)).join(" ").split(/\s+/).map(w=>MGe(w,this.options));n&&(A=A.filter(w=>(gi("loose invalid filter",w,this.options),!!w.match(xa[zo.COMPARATORLOOSE])))),gi("range list",A);let p=new Map,h=A.map(w=>new UN(w,this.options));for(let w of h){if(zJ(w))return[w];p.set(w.value,w)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return VJ.set(o,E),E}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(o=>JJ(o,r)&&e.set.some(a=>JJ(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new BGe(e,this.options)}catch{return!1}for(let r=0;rt.value==="<0.0.0-0",bGe=t=>t.value==="",JJ=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},QGe=(t,e)=>(gi("comp",t,e),t=RGe(t,e),gi("caret",t),t=kGe(t,e),gi("tildes",t),t=NGe(t,e),gi("xrange",t),t=OGe(t,e),gi("stars",t),t),Jo=t=>!t||t.toLowerCase()==="x"||t==="*",kGe=(t,e)=>t.trim().split(/\s+/).map(r=>FGe(r,e)).join(" "),FGe=(t,e)=>{let r=e.loose?xa[zo.TILDELOOSE]:xa[zo.TILDE];return t.replace(r,(o,a,n,u,A)=>{gi("tilde",t,o,a,n,u,A);let p;return Jo(a)?p="":Jo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Jo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(gi("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,gi("tilde return",p),p})},RGe=(t,e)=>t.trim().split(/\s+/).map(r=>TGe(r,e)).join(" "),TGe=(t,e)=>{gi("caret",t,e);let r=e.loose?xa[zo.CARETLOOSE]:xa[zo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{gi("caret",t,a,n,u,A,p);let h;return Jo(n)?h="":Jo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Jo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(gi("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(gi("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),gi("caret return",h),h})},NGe=(t,e)=>(gi("replaceXRanges",t,e),t.split(/\s+/).map(r=>LGe(r,e)).join(" ")),LGe=(t,e)=>{t=t.trim();let r=e.loose?xa[zo.XRANGELOOSE]:xa[zo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{gi("xRange",t,o,a,n,u,A,p);let h=Jo(n),E=h||Jo(u),w=E||Jo(A),D=w;return a==="="&&D&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&D?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:w&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),gi("xRange return",o),o})},OGe=(t,e)=>(gi("replaceStars",t,e),t.trim().replace(xa[zo.STAR],"")),MGe=(t,e)=>(gi("replaceGTE0",t,e),t.trim().replace(xa[e.includePrerelease?zo.GTE0PRE:zo.GTE0],"")),UGe=t=>(e,r,o,a,n,u,A,p,h,E,w,D,b)=>(Jo(o)?r="":Jo(a)?r=`>=${o}.0.0${t?"-0":""}`:Jo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Jo(h)?p="":Jo(E)?p=`<${+h+1}.0.0-0`:Jo(w)?p=`<${h}.${+E+1}.0-0`:D?p=`<=${h}.${E}.${w}-${D}`:t?p=`<${h}.${E}.${+w+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),_Ge=(t,e,r)=>{for(let o=0;o0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var Uw=_((zQt,nX)=>{var _w=Symbol("SemVer ANY"),qN=class t{static get ANY(){return _w}constructor(e,r){if(r=ZJ(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),HN("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===_w?this.value="":this.value=this.operator+this.semver.version,HN("comp",this)}parse(e){let r=this.options.loose?$J[eX.COMPARATORLOOSE]:$J[eX.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new tX(o[2],this.options.loose):this.semver=_w}toString(){return this.value}test(e){if(HN("Comparator.test",e,this.options.loose),this.semver===_w||e===_w)return!0;if(typeof e=="string")try{e=new tX(e,this.options)}catch{return!1}return _N(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new rX(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new rX(this.value,r).test(e.semver):(r=ZJ(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||_N(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||_N(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};nX.exports=qN;var ZJ=GP(),{safeRe:$J,t:eX}=km(),_N=RN(),HN=Nw(),tX=Eo(),rX=Ul()});var Hw=_((JQt,iX)=>{var HGe=Ul(),qGe=(t,e,r)=>{try{e=new HGe(e,r)}catch{return!1}return e.test(t)};iX.exports=qGe});var oX=_((XQt,sX)=>{var jGe=Ul(),GGe=(t,e)=>new jGe(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));sX.exports=GGe});var lX=_((ZQt,aX)=>{var WGe=Eo(),YGe=Ul(),KGe=(t,e,r)=>{let o=null,a=null,n=null;try{n=new YGe(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new WGe(o,r))}),o};aX.exports=KGe});var uX=_(($Qt,cX)=>{var VGe=Eo(),zGe=Ul(),JGe=(t,e,r)=>{let o=null,a=null,n=null;try{n=new zGe(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new VGe(o,r))}),o};cX.exports=JGe});var pX=_((ekt,fX)=>{var jN=Eo(),XGe=Ul(),AX=Lw(),ZGe=(t,e)=>{t=new XGe(t,e);let r=new jN("0.0.0");if(t.test(r)||(r=new jN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o{let A=new jN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||AX(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||AX(r,n))&&(r=n)}return r&&t.test(r)?r:null};fX.exports=ZGe});var gX=_((tkt,hX)=>{var $Ge=Ul(),e5e=(t,e)=>{try{return new $Ge(t,e).range||"*"}catch{return null}};hX.exports=e5e});var tS=_((rkt,EX)=>{var t5e=Eo(),yX=Uw(),{ANY:r5e}=yX,n5e=Ul(),i5e=Hw(),dX=Lw(),mX=VP(),s5e=JP(),o5e=zP(),a5e=(t,e,r,o)=>{t=new t5e(t,o),e=new n5e(e,o);let a,n,u,A,p;switch(r){case">":a=dX,n=s5e,u=mX,A=">",p=">=";break;case"<":a=mX,n=o5e,u=dX,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i5e(t,e,o))return!1;for(let h=0;h{b.semver===r5e&&(b=new yX(">=0.0.0")),w=w||b,D=D||b,a(b.semver,w.semver,o)?w=b:u(b.semver,D.semver,o)&&(D=b)}),w.operator===A||w.operator===p||(!D.operator||D.operator===A)&&n(t,D.semver))return!1;if(D.operator===p&&u(t,D.semver))return!1}return!0};EX.exports=a5e});var IX=_((nkt,CX)=>{var l5e=tS(),c5e=(t,e,r)=>l5e(t,e,">",r);CX.exports=c5e});var BX=_((ikt,wX)=>{var u5e=tS(),A5e=(t,e,r)=>u5e(t,e,"<",r);wX.exports=A5e});var PX=_((skt,DX)=>{var vX=Ul(),f5e=(t,e,r)=>(t=new vX(t,r),e=new vX(e,r),t.intersects(e,r));DX.exports=f5e});var xX=_((okt,SX)=>{var p5e=Hw(),h5e=Ml();SX.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,w)=>h5e(E,w,r));for(let E of u)p5e(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,w]of o)E===w?A.push(E):!w&&E===u[0]?A.push("*"):w?E===u[0]?A.push(`<=${w}`):A.push(`${E} - ${w}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length{var bX=Ul(),WN=Uw(),{ANY:GN}=WN,qw=Hw(),YN=Ml(),g5e=(t,e,r={})=>{if(t===e)return!0;t=new bX(t,r),e=new bX(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=m5e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},d5e=[new WN(">=0.0.0-0")],QX=[new WN(">=0.0.0")],m5e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===GN){if(e.length===1&&e[0].semver===GN)return!0;r.includePrerelease?t=d5e:t=QX}if(e.length===1&&e[0].semver===GN){if(r.includePrerelease)return!0;e=QX}let o=new Set,a,n;for(let b of t)b.operator===">"||b.operator===">="?a=kX(a,b,r):b.operator==="<"||b.operator==="<="?n=FX(n,b,r):o.add(b.semver);if(o.size>1)return null;let u;if(a&&n){if(u=YN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let b of o){if(a&&!qw(b,String(a),r)||n&&!qw(b,String(n),r))return null;for(let C of e)if(!qw(b,String(C),r))return!1;return!0}let A,p,h,E,w=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,D=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;w&&w.prerelease.length===1&&n.operator==="<"&&w.prerelease[0]===0&&(w=!1);for(let b of e){if(E=E||b.operator===">"||b.operator===">=",h=h||b.operator==="<"||b.operator==="<=",a){if(D&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===D.major&&b.semver.minor===D.minor&&b.semver.patch===D.patch&&(D=!1),b.operator===">"||b.operator===">="){if(A=kX(a,b,r),A===b&&A!==a)return!1}else if(a.operator===">="&&!qw(a.semver,String(b),r))return!1}if(n){if(w&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===w.major&&b.semver.minor===w.minor&&b.semver.patch===w.patch&&(w=!1),b.operator==="<"||b.operator==="<="){if(p=FX(n,b,r),p===b&&p!==n)return!1}else if(n.operator==="<="&&!qw(n.semver,String(b),r))return!1}if(!b.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||D||w)},kX=(t,e,r)=>{if(!t)return e;let o=YN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},FX=(t,e,r)=>{if(!t)return e;let o=YN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};RX.exports=g5e});var ni=_((lkt,OX)=>{var KN=km(),NX=Tw(),y5e=Eo(),LX=bN(),E5e=Ag(),C5e=rJ(),I5e=iJ(),w5e=aJ(),B5e=uJ(),v5e=fJ(),D5e=hJ(),P5e=dJ(),S5e=yJ(),x5e=Ml(),b5e=wJ(),Q5e=vJ(),k5e=KP(),F5e=xJ(),R5e=QJ(),T5e=Lw(),N5e=VP(),L5e=kN(),O5e=FN(),M5e=zP(),U5e=JP(),_5e=RN(),H5e=UJ(),q5e=Uw(),j5e=Ul(),G5e=Hw(),W5e=oX(),Y5e=lX(),K5e=uX(),V5e=pX(),z5e=gX(),J5e=tS(),X5e=IX(),Z5e=BX(),$5e=PX(),e9e=xX(),t9e=TX();OX.exports={parse:E5e,valid:C5e,clean:I5e,inc:w5e,diff:B5e,major:v5e,minor:D5e,patch:P5e,prerelease:S5e,compare:x5e,rcompare:b5e,compareLoose:Q5e,compareBuild:k5e,sort:F5e,rsort:R5e,gt:T5e,lt:N5e,eq:L5e,neq:O5e,gte:M5e,lte:U5e,cmp:_5e,coerce:H5e,Comparator:q5e,Range:j5e,satisfies:G5e,toComparators:W5e,maxSatisfying:Y5e,minSatisfying:K5e,minVersion:V5e,validRange:z5e,outside:J5e,gtr:X5e,ltr:Z5e,intersects:$5e,simplifyRange:e9e,subset:t9e,SemVer:y5e,re:KN.re,src:KN.src,tokens:KN.t,SEMVER_SPEC_VERSION:NX.SEMVER_SPEC_VERSION,RELEASE_TYPES:NX.RELEASE_TYPES,compareIdentifiers:LX.compareIdentifiers,rcompareIdentifiers:LX.rcompareIdentifiers}});var UX=_((ckt,MX)=>{"use strict";function r9e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function gg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,gg)}r9e(gg,Error);gg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w0){for(w=1,D=1;w{switch(Fe[1]){case"|":return be|Fe[3];case"&":return be&Fe[3];case"^":return be^Fe[3]}},$)},D="!",b=Te("!",!1),C=function($){return!$},T="(",L=Te("(",!1),U=")",z=Te(")",!1),te=function($){return $},le=/^[^ \t\n\r()!|&\^]/,de=Ne([" "," ",` -`,"\r","(",")","!","|","&","^"],!0,!1),ce=function($){return e.queryPattern.test($)},me=function($){return e.checkFn($)},pe=Qe("whitespace"),ve=/^[ \t\n\r]/,Ie=Ne([" "," ",` -`,"\r"],!1,!1),g=0,Ce=0,ye=[{line:1,column:1}],Ae=0,ie=[],Z=0,Pe;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function Re(){return t.substring(Ce,g)}function gt(){return Ue(Ce,g)}function q($,se){throw se=se!==void 0?se:Ue(Ce,g),S([Qe($)],t.substring(Ce,g),se)}function rt($,se){throw se=se!==void 0?se:Ue(Ce,g),I($,se)}function Te($,se){return{type:"literal",text:$,ignoreCase:se}}function Ne($,se,be){return{type:"class",parts:$,inverted:se,ignoreCase:be}}function xe(){return{type:"any"}}function Ye(){return{type:"end"}}function Qe($){return{type:"other",description:$}}function it($){var se=ye[$],be;if(se)return se;for(be=$-1;!ye[be];)be--;for(se=ye[be],se={line:se.line,column:se.column};be<$;)t.charCodeAt(be)===10?(se.line++,se.column=1):se.column++,be++;return ye[$]=se,se}function Ue($,se){var be=it($),Fe=it(se);return{start:{offset:$,line:be.line,column:be.column},end:{offset:se,line:Fe.line,column:Fe.column}}}function x($){gAe&&(Ae=g,ie=[]),ie.push($))}function I($,se){return new gg($,null,null,se)}function S($,se,be){return new gg(gg.buildMessage($,se),$,se,be)}function y(){var $,se,be,Fe,lt,Et,qt,nr;if($=g,se=R(),se!==r){for(be=[],Fe=g,lt=X(),lt!==r?(t.charCodeAt(g)===124?(Et=n,g++):(Et=r,Z===0&&x(u)),Et===r&&(t.charCodeAt(g)===38?(Et=A,g++):(Et=r,Z===0&&x(p)),Et===r&&(t.charCodeAt(g)===94?(Et=h,g++):(Et=r,Z===0&&x(E)))),Et!==r?(qt=X(),qt!==r?(nr=R(),nr!==r?(lt=[lt,Et,qt,nr],Fe=lt):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);Fe!==r;)be.push(Fe),Fe=g,lt=X(),lt!==r?(t.charCodeAt(g)===124?(Et=n,g++):(Et=r,Z===0&&x(u)),Et===r&&(t.charCodeAt(g)===38?(Et=A,g++):(Et=r,Z===0&&x(p)),Et===r&&(t.charCodeAt(g)===94?(Et=h,g++):(Et=r,Z===0&&x(E)))),Et!==r?(qt=X(),qt!==r?(nr=R(),nr!==r?(lt=[lt,Et,qt,nr],Fe=lt):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);be!==r?(Ce=$,se=w(se,be),$=se):(g=$,$=r)}else g=$,$=r;return $}function R(){var $,se,be,Fe,lt,Et;return $=g,t.charCodeAt(g)===33?(se=D,g++):(se=r,Z===0&&x(b)),se!==r?(be=R(),be!==r?(Ce=$,se=C(be),$=se):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(se=T,g++):(se=r,Z===0&&x(L)),se!==r?(be=X(),be!==r?(Fe=y(),Fe!==r?(lt=X(),lt!==r?(t.charCodeAt(g)===41?(Et=U,g++):(Et=r,Z===0&&x(z)),Et!==r?(Ce=$,se=te(Fe),$=se):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=J())),$}function J(){var $,se,be,Fe,lt;if($=g,se=X(),se!==r){if(be=g,Fe=[],le.test(t.charAt(g))?(lt=t.charAt(g),g++):(lt=r,Z===0&&x(de)),lt!==r)for(;lt!==r;)Fe.push(lt),le.test(t.charAt(g))?(lt=t.charAt(g),g++):(lt=r,Z===0&&x(de));else Fe=r;Fe!==r?be=t.substring(be,g):be=Fe,be!==r?(Ce=g,Fe=ce(be),Fe?Fe=void 0:Fe=r,Fe!==r?(Ce=$,se=me(be),$=se):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,se;for(Z++,$=[],ve.test(t.charAt(g))?(se=t.charAt(g),g++):(se=r,Z===0&&x(Ie));se!==r;)$.push(se),ve.test(t.charAt(g))?(se=t.charAt(g),g++):(se=r,Z===0&&x(Ie));return Z--,$===r&&(se=r,Z===0&&x(pe)),$}if(Pe=a(),Pe!==r&&g===t.length)return Pe;throw Pe!==r&&g{var{parse:i9e}=UX();rS.makeParser=(t=/[a-z]+/)=>(e,r)=>i9e(e,{queryPattern:t,checkFn:r});rS.parse=rS.makeParser()});var qX=_((Akt,HX)=>{"use strict";HX.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var VN=_((fkt,GX)=>{var jw=qX(),jX={};for(let t of Object.keys(jw))jX[jw[t]]=t;var fr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};GX.exports=fr;for(let t of Object.keys(fr)){if(!("channels"in fr[t]))throw new Error("missing channels property: "+t);if(!("labels"in fr[t]))throw new Error("missing channel labels property: "+t);if(fr[t].labels.length!==fr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=fr[t];delete fr[t].channels,delete fr[t].labels,Object.defineProperty(fr[t],"channels",{value:e}),Object.defineProperty(fr[t],"labels",{value:r})}fr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};fr.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),w=function(D){return(h-D)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=w(u),r=w(A),o=w(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};fr.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=fr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};fr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function s9e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}fr.rgb.keyword=function(t){let e=jX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(jw)){let n=jw[a],u=s9e(t,n);u.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};fr.rgb.lab=function(t){let e=fr.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};fr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};fr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};fr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};fr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};fr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,u&1&&(n=1-n);let p=r+n*(A-r),h,E,w;switch(u){default:case 6:case 0:h=A,E=p,w=r;break;case 1:h=p,E=A,w=r;break;case 2:h=r,E=A,w=p;break;case 3:h=r,E=p,w=A;break;case 4:h=p,E=r,w=A;break;case 5:h=A,E=r,w=p;break}return[h*255,E*255,w*255]};fr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};fr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};fr.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};fr.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};fr.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};fr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};fr.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?fr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};fr.hsv.ansi16=function(t){return fr.rgb.ansi16(fr.hsv.rgb(t),t[2])};fr.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};fr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};fr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};fr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};fr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};fr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};fr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};fr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};fr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};fr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};fr.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};fr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};fr.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};fr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};fr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};fr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};fr.gray.hsl=function(t){return[0,0,t[0]]};fr.gray.hsv=fr.gray.hsl;fr.gray.hwb=function(t){return[0,100,t[0]]};fr.gray.cmyk=function(t){return[0,0,0,t[0]]};fr.gray.lab=function(t){return[t[0],0,0]};fr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};fr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var YX=_((pkt,WX)=>{var nS=VN();function o9e(){let t={},e=Object.keys(nS);for(let r=e.length,o=0;o{var zN=VN(),u9e=YX(),Nm={},A9e=Object.keys(zN);function f9e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function p9e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u{Nm[t]={},Object.defineProperty(Nm[t],"channels",{value:zN[t].channels}),Object.defineProperty(Nm[t],"labels",{value:zN[t].labels});let e=u9e(t);Object.keys(e).forEach(o=>{let a=e[o];Nm[t][o]=p9e(a),Nm[t][o].raw=f9e(a)})});KX.exports=Nm});var Gw=_((gkt,$X)=>{"use strict";var zX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,JX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},XX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},iS=t=>t,ZX=(t,e,r)=>[t,e,r],Lm=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},JN,Om=(t,e,r,o)=>{JN===void 0&&(JN=VX());let a=o?10:0,n={};for(let[u,A]of Object.entries(JN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function h9e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",Lm(e.color,"ansi",()=>Om(zX,"ansi16",iS,!1)),Lm(e.color,"ansi256",()=>Om(JX,"ansi256",iS,!1)),Lm(e.color,"ansi16m",()=>Om(XX,"rgb",ZX,!1)),Lm(e.bgColor,"ansi",()=>Om(zX,"ansi16",iS,!0)),Lm(e.bgColor,"ansi256",()=>Om(JX,"ansi256",iS,!0)),Lm(e.bgColor,"ansi16m",()=>Om(XX,"rgb",ZX,!0)),e}Object.defineProperty($X,"exports",{enumerable:!0,get:h9e})});var tZ=_((dkt,eZ)=>{"use strict";eZ.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o{"use strict";var g9e=De("os"),rZ=De("tty"),_l=tZ(),{env:cs}=process,$p;_l("no-color")||_l("no-colors")||_l("color=false")||_l("color=never")?$p=0:(_l("color")||_l("colors")||_l("color=true")||_l("color=always"))&&($p=1);"FORCE_COLOR"in cs&&(cs.FORCE_COLOR==="true"?$p=1:cs.FORCE_COLOR==="false"?$p=0:$p=cs.FORCE_COLOR.length===0?1:Math.min(parseInt(cs.FORCE_COLOR,10),3));function XN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ZN(t,e){if($p===0)return 0;if(_l("color=16m")||_l("color=full")||_l("color=truecolor"))return 3;if(_l("color=256"))return 2;if(t&&!e&&$p===void 0)return 0;let r=$p||0;if(cs.TERM==="dumb")return r;if(process.platform==="win32"){let o=g9e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in cs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in cs)||cs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in cs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(cs.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in cs)return 1;if(cs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in cs){let o=parseInt((cs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(cs.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(cs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(cs.TERM)||"COLORTERM"in cs?1:r}function d9e(t){let e=ZN(t,t&&t.isTTY);return XN(e)}nZ.exports={supportsColor:d9e,stdout:XN(ZN(!0,rZ.isatty(1))),stderr:XN(ZN(!0,rZ.isatty(2)))}});var sZ=_((ykt,iZ)=>{"use strict";var m9e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},y9e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r -`:` -`)+r,a=o+1,o=t.indexOf(` -`,a)}while(o!==-1);return n+=t.substr(a),n};iZ.exports={stringReplaceAll:m9e,stringEncaseCRLFWithFirstIndex:y9e}});var uZ=_((Ekt,cZ)=>{"use strict";var E9e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,oZ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,C9e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,I9e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,w9e=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function lZ(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):w9e.get(t)||t}function B9e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(C9e))r.push(a[2].replace(I9e,(A,p,h)=>p?lZ(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function v9e(t){oZ.lastIndex=0;let e=[],r;for(;(r=oZ.exec(t))!==null;){let o=r[1];if(r[2]){let a=B9e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function aZ(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}cZ.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(E9e,(n,u,A,p,h,E)=>{if(u)a.push(lZ(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:aZ(t,r)(w)),r.push({inverse:A,styles:v9e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(aZ(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var sL=_((Ckt,hZ)=>{"use strict";var Ww=Gw(),{stdout:tL,stderr:rL}=$N(),{stringReplaceAll:D9e,stringEncaseCRLFWithFirstIndex:P9e}=sZ(),AZ=["ansi","ansi","ansi256","ansi16m"],Mm=Object.create(null),S9e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=tL?tL.level:0;t.level=e.level===void 0?r:e.level},nL=class{constructor(e){return fZ(e)}},fZ=t=>{let e={};return S9e(e,t),e.template=(...r)=>Q9e(e.template,...r),Object.setPrototypeOf(e,sS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=nL,e.template};function sS(t){return fZ(t)}for(let[t,e]of Object.entries(Ww))Mm[t]={get(){let r=oS(this,iL(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Mm.visible={get(){let t=oS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var pZ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of pZ)Mm[t]={get(){let{level:e}=this;return function(...r){let o=iL(Ww.color[AZ[e]][t](...r),Ww.color.close,this._styler);return oS(this,o,this._isEmpty)}}};for(let t of pZ){let e="bg"+t[0].toUpperCase()+t.slice(1);Mm[e]={get(){let{level:r}=this;return function(...o){let a=iL(Ww.bgColor[AZ[r]][t](...o),Ww.bgColor.close,this._styler);return oS(this,a,this._isEmpty)}}}}var x9e=Object.defineProperties(()=>{},{...Mm,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),iL=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},oS=(t,e,r)=>{let o=(...a)=>b9e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=x9e,o._generator=t,o._styler=e,o._isEmpty=r,o},b9e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=D9e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` -`);return n!==-1&&(e=P9e(e,a,o,n)),o+e+a},eL,Q9e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";Hl.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Hl.find=(t,e)=>t.nodes.find(r=>r.type===e);Hl.exceedsLimit=(t,e,r=1,o)=>o===!1||!Hl.isInteger(t)||!Hl.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Hl.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];o&&(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Hl.encloseBrace=t=>t.type!=="brace"||t.commas>>0+t.ranges>>0?!1:(t.invalid=!0,!0);Hl.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:!(t.commas>>0+t.ranges>>0)||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Hl.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Hl.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Hl.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a{"use strict";var gZ=aS();dZ.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&gZ.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&gZ.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var yZ=_((Bkt,mZ)=>{"use strict";mZ.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var SZ=_((vkt,PZ)=>{"use strict";var EZ=yZ(),dg=(t,e,r)=>{if(EZ(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(EZ(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(dg.cache.hasOwnProperty(p))return dg.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let T=t+"|"+e;return o.capture?`(${T})`:o.wrap===!1?T:`(?:${T})`}let w=DZ(t)||DZ(e),D={min:t,max:e,a:h,b:E},b=[],C=[];if(w&&(D.isPadded=w,D.maxLen=String(D.max).length),h<0){let T=E<0?Math.abs(E):1;C=CZ(T,Math.abs(h),D,o),h=D.a=0}return E>=0&&(b=CZ(h,E,D,o)),D.negatives=C,D.positives=b,D.result=k9e(C,b,o),o.capture===!0?D.result=`(${D.result})`:o.wrap!==!1&&b.length+C.length>1&&(D.result=`(?:${D.result})`),dg.cache[p]=D,D.result};function k9e(t,e,r){let o=oL(t,e,"-",!1,r)||[],a=oL(e,t,"",!1,r)||[],n=oL(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function F9e(t,e){let r=1,o=1,a=wZ(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=wZ(t,r);for(a=BZ(e+1,o)-1;t1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+vZ(A.count),u=h+1;continue}r.isPadded&&(w=O9e(h,r,o)),E.string=w+E.pattern+vZ(E.count),n.push(E),u=h+1,A=E}return n}function oL(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!IZ(e,"string",A)&&n.push(r+A),o&&IZ(e,"string",A)&&n.push(r+A)}return n}function T9e(t,e){let r=[];for(let o=0;oe?1:e>t?-1:0}function IZ(t,e,r){return t.some(o=>o[e]===r)}function wZ(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function BZ(t,e){return t-t%Math.pow(10,e)}function vZ(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function L9e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function DZ(t){return/^-?(0+)\d/.test(t)}function O9e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}dg.cache={};dg.clearCache=()=>dg.cache={};PZ.exports=dg});var cL=_((Dkt,NZ)=>{"use strict";var M9e=De("util"),QZ=SZ(),xZ=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),U9e=t=>e=>t===!0?Number(e):String(e),aL=t=>typeof t=="number"||typeof t=="string"&&t!=="",Kw=t=>Number.isInteger(+t),lL=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},_9e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,H9e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},bZ=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((u,A)=>uA?1:0),t.positives.sort((u,A)=>uA?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},kZ=(t,e,r,o)=>{if(r)return QZ(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},FZ=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return QZ(t,e,r)},RZ=(...t)=>new RangeError("Invalid range arguments: "+M9e.inspect(...t)),TZ=(t,e,r)=>{if(r.strictRanges===!0)throw RZ([t,e]);return[]},j9e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},G9e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw RZ([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=lL(A)||lL(p)||lL(h),w=E?Math.max(A.length,p.length,h.length):0,D=E===!1&&_9e(t,e,o)===!1,b=o.transform||U9e(D);if(o.toRegex&&r===1)return kZ(bZ(t,w),bZ(e,w),!0,o);let C={negatives:[],positives:[]},T=z=>C[z<0?"negatives":"positives"].push(Math.abs(z)),L=[],U=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?T(a):L.push(H9e(b(a,U),w,D)),a=u?a-r:a+r,U++;return o.toRegex===!0?r>1?q9e(C,o):FZ(L,null,{wrap:!1,...o}):L},W9e=(t,e,r=1,o={})=>{if(!Kw(t)&&t.length>1||!Kw(e)&&e.length>1)return TZ(t,e,o);let a=o.transform||(D=>String.fromCharCode(D)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return kZ(p,h,!1,o);let E=[],w=0;for(;A?n>=u:n<=u;)E.push(a(n,w)),n=A?n-r:n+r,w++;return o.toRegex===!0?FZ(E,null,{wrap:!1,options:o}):E},cS=(t,e,r,o={})=>{if(e==null&&aL(t))return[t];if(!aL(t)||!aL(e))return TZ(t,e,o);if(typeof r=="function")return cS(t,e,1,{transform:r});if(xZ(r))return cS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,Kw(r)?Kw(t)&&Kw(e)?G9e(t,e,r,a):W9e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!xZ(r)?j9e(r,a):cS(t,e,1,r)};NZ.exports=cS});var MZ=_((Pkt,OZ)=>{"use strict";var Y9e=cL(),LZ=aS(),K9e=(t,e={})=>{let r=(o,a={})=>{let n=LZ.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=LZ.reduce(o.nodes),w=Y9e(...E,{...e,wrap:!1,toRegex:!0});if(w.length!==0)return E.length>1&&w.length>1?`(${w})`:w}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};OZ.exports=K9e});var HZ=_((Skt,_Z)=>{"use strict";var V9e=cL(),UZ=lS(),Um=aS(),mg=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Um.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(mg(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?mg(a,n,r):a+n);return Um.flatten(o)},z9e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(mg(A.pop(),UZ(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(mg(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let w=Um.reduce(a.nodes);if(Um.exceedsLimit(...w,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let D=V9e(...w,e);D.length===0&&(D=UZ(a,e)),A.push(mg(A.pop(),D)),a.nodes=[];return}let p=Um.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let w=0;w{"use strict";qZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var VZ=_((bkt,KZ)=>{"use strict";var J9e=lS(),{MAX_LENGTH:GZ,CHAR_BACKSLASH:uL,CHAR_BACKTICK:X9e,CHAR_COMMA:Z9e,CHAR_DOT:$9e,CHAR_LEFT_PARENTHESES:e7e,CHAR_RIGHT_PARENTHESES:t7e,CHAR_LEFT_CURLY_BRACE:r7e,CHAR_RIGHT_CURLY_BRACE:n7e,CHAR_LEFT_SQUARE_BRACKET:WZ,CHAR_RIGHT_SQUARE_BRACKET:YZ,CHAR_DOUBLE_QUOTE:i7e,CHAR_SINGLE_QUOTE:s7e,CHAR_NO_BREAK_SPACE:o7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:a7e}=jZ(),l7e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(GZ,r.maxLength):GZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,w=0,D,b={},C=()=>t[E++],T=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(T({type:"bos"});E0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:J9e(u)}]}T({type:"comma",value:D}),u.commas++;continue}if(D===$9e&&w>0&&u.commas===0){let L=u.nodes;if(w===0||L.length===0){T({type:"text",value:D});continue}if(A.type==="dot"){if(u.range=[],A.value+=D,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let U=L[L.length-1];U.value+=A.value+D,A=U,u.ranges--;continue}T({type:"dot",value:D});continue}T({type:"text",value:D})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(z=>{z.nodes||(z.type==="open"&&(z.isOpen=!0),z.type==="close"&&(z.isClose=!0),z.nodes||(z.type="text"),z.invalid=!0)});let L=n[n.length-1],U=L.nodes.indexOf(u);L.nodes.splice(U,1,...u.nodes)}while(n.length>0);return T({type:"eos"}),a};KZ.exports=l7e});var XZ=_((Qkt,JZ)=>{"use strict";var zZ=lS(),c7e=MZ(),u7e=HZ(),A7e=VZ(),al=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=al.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(al.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};al.parse=(t,e={})=>A7e(t,e);al.stringify=(t,e={})=>zZ(typeof t=="string"?al.parse(t,e):t,e);al.compile=(t,e={})=>(typeof t=="string"&&(t=al.parse(t,e)),c7e(t,e));al.expand=(t,e={})=>{typeof t=="string"&&(t=al.parse(t,e));let r=u7e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};al.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?al.compile(t,e):al.expand(t,e);JZ.exports=al});var Vw=_((kkt,r$)=>{"use strict";var f7e=De("path"),Ju="\\\\/",ZZ=`[^${Ju}]`,Bf="\\.",p7e="\\+",h7e="\\?",uS="\\/",g7e="(?=.)",$Z="[^/]",AL=`(?:${uS}|$)`,e$=`(?:^|${uS})`,fL=`${Bf}{1,2}${AL}`,d7e=`(?!${Bf})`,m7e=`(?!${e$}${fL})`,y7e=`(?!${Bf}{0,1}${AL})`,E7e=`(?!${fL})`,C7e=`[^.${uS}]`,I7e=`${$Z}*?`,t$={DOT_LITERAL:Bf,PLUS_LITERAL:p7e,QMARK_LITERAL:h7e,SLASH_LITERAL:uS,ONE_CHAR:g7e,QMARK:$Z,END_ANCHOR:AL,DOTS_SLASH:fL,NO_DOT:d7e,NO_DOTS:m7e,NO_DOT_SLASH:y7e,NO_DOTS_SLASH:E7e,QMARK_NO_DOT:C7e,STAR:I7e,START_ANCHOR:e$},w7e={...t$,SLASH_LITERAL:`[${Ju}]`,QMARK:ZZ,STAR:`${ZZ}*?`,DOTS_SLASH:`${Bf}{1,2}(?:[${Ju}]|$)`,NO_DOT:`(?!${Bf})`,NO_DOTS:`(?!(?:^|[${Ju}])${Bf}{1,2}(?:[${Ju}]|$))`,NO_DOT_SLASH:`(?!${Bf}{0,1}(?:[${Ju}]|$))`,NO_DOTS_SLASH:`(?!${Bf}{1,2}(?:[${Ju}]|$))`,QMARK_NO_DOT:`[^.${Ju}]`,START_ANCHOR:`(?:^|[${Ju}])`,END_ANCHOR:`(?:[${Ju}]|$)`},B7e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};r$.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:B7e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:f7e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?w7e:t$}}});var zw=_(ba=>{"use strict";var v7e=De("path"),D7e=process.platform==="win32",{REGEX_BACKSLASH:P7e,REGEX_REMOVE_BACKSLASH:S7e,REGEX_SPECIAL_CHARS:x7e,REGEX_SPECIAL_CHARS_GLOBAL:b7e}=Vw();ba.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ba.hasRegexChars=t=>x7e.test(t);ba.isRegexChar=t=>t.length===1&&ba.hasRegexChars(t);ba.escapeRegex=t=>t.replace(b7e,"\\$1");ba.toPosixSlashes=t=>t.replace(P7e,"/");ba.removeBackslashes=t=>t.replace(S7e,e=>e==="\\"?"":e);ba.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};ba.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:D7e===!0||v7e.sep==="\\";ba.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?ba.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};ba.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};ba.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var u$=_((Rkt,c$)=>{"use strict";var n$=zw(),{CHAR_ASTERISK:pL,CHAR_AT:Q7e,CHAR_BACKWARD_SLASH:Jw,CHAR_COMMA:k7e,CHAR_DOT:hL,CHAR_EXCLAMATION_MARK:gL,CHAR_FORWARD_SLASH:l$,CHAR_LEFT_CURLY_BRACE:dL,CHAR_LEFT_PARENTHESES:mL,CHAR_LEFT_SQUARE_BRACKET:F7e,CHAR_PLUS:R7e,CHAR_QUESTION_MARK:i$,CHAR_RIGHT_CURLY_BRACE:T7e,CHAR_RIGHT_PARENTHESES:s$,CHAR_RIGHT_SQUARE_BRACKET:N7e}=Vw(),o$=t=>t===l$||t===Jw,a$=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},L7e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,w=0,D=!1,b=!1,C=!1,T=!1,L=!1,U=!1,z=!1,te=!1,le=!1,de=!1,ce=0,me,pe,ve={value:"",depth:0,isGlob:!1},Ie=()=>h>=o,g=()=>p.charCodeAt(h+1),Ce=()=>(me=pe,p.charCodeAt(++h));for(;h0&&(Ae=p.slice(0,E),p=p.slice(E),w-=E),ye&&C===!0&&w>0?(ye=p.slice(0,w),ie=p.slice(w)):C===!0?(ye="",ie=p):ye=p,ye&&ye!==""&&ye!=="/"&&ye!==p&&o$(ye.charCodeAt(ye.length-1))&&(ye=ye.slice(0,-1)),r.unescape===!0&&(ie&&(ie=n$.removeBackslashes(ie)),ye&&z===!0&&(ye=n$.removeBackslashes(ye)));let Z={prefix:Ae,input:t,start:E,base:ye,glob:ie,isBrace:D,isBracket:b,isGlob:C,isExtglob:T,isGlobstar:L,negated:te,negatedExtglob:le};if(r.tokens===!0&&(Z.maxDepth=0,o$(pe)||u.push(ve),Z.tokens=u),r.parts===!0||r.tokens===!0){let Pe;for(let Re=0;Re{"use strict";var AS=Vw(),ll=zw(),{MAX_LENGTH:fS,POSIX_REGEX_SOURCE:O7e,REGEX_NON_SPECIAL_CHARS:M7e,REGEX_SPECIAL_CHARS_BACKREF:U7e,REPLACEMENTS:A$}=AS,_7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>ll.escapeRegex(a)).join("..")}return r},_m=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,yL=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=A$[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(fS,r.maxLength):fS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=ll.isWindows(e),h=AS.globChars(p),E=AS.extglobChars(h),{DOT_LITERAL:w,PLUS_LITERAL:D,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:T,NO_DOT:L,NO_DOT_SLASH:U,NO_DOTS_SLASH:z,QMARK:te,QMARK_NO_DOT:le,STAR:de,START_ANCHOR:ce}=h,me=x=>`(${A}(?:(?!${ce}${x.dot?T:w}).)*?)`,pe=r.dot?"":L,ve=r.dot?te:le,Ie=r.bash===!0?me(r):de;r.capture&&(Ie=`(${Ie})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=ll.removePrefix(t,g),a=t.length;let Ce=[],ye=[],Ae=[],ie=n,Z,Pe=()=>g.index===a-1,Re=g.peek=(x=1)=>t[g.index+x],gt=g.advance=()=>t[++g.index]||"",q=()=>t.slice(g.index+1),rt=(x="",I=0)=>{g.consumed+=x,g.index+=I},Te=x=>{g.output+=x.output!=null?x.output:x.value,rt(x.value)},Ne=()=>{let x=1;for(;Re()==="!"&&(Re(2)!=="("||Re(3)==="?");)gt(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},xe=x=>{g[x]++,Ae.push(x)},Ye=x=>{g[x]--,Ae.pop()},Qe=x=>{if(ie.type==="globstar"){let I=g.braces>0&&(x.type==="comma"||x.type==="brace"),S=x.extglob===!0||Ce.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!I&&!S&&(g.output=g.output.slice(0,-ie.output.length),ie.type="star",ie.value="*",ie.output=Ie,g.output+=ie.output)}if(Ce.length&&x.type!=="paren"&&(Ce[Ce.length-1].inner+=x.value),(x.value||x.output)&&Te(x),ie&&ie.type==="text"&&x.type==="text"){ie.value+=x.value,ie.output=(ie.output||"")+x.value;return}x.prev=ie,u.push(x),ie=x},it=(x,I)=>{let S={...E[I],conditions:1,inner:""};S.prev=ie,S.parens=g.parens,S.output=g.output;let y=(r.capture?"(":"")+S.open;xe("parens"),Qe({type:x,value:I,output:g.output?"":C}),Qe({type:"paren",extglob:!0,value:gt(),output:y}),Ce.push(S)},Ue=x=>{let I=x.close+(r.capture?")":""),S;if(x.type==="negate"){let y=Ie;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=me(r)),(y!==Ie||Pe()||/^\)+$/.test(q()))&&(I=x.close=`)$))${y}`),x.inner.includes("*")&&(S=q())&&/^\.[^\\/.]+$/.test(S)){let R=yL(S,{...e,fastpaths:!1}).output;I=x.close=`)${R})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}Qe({type:"paren",extglob:!0,value:Z,output:I}),Ye("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let x=!1,I=t.replace(U7e,(S,y,R,J,X,$)=>J==="\\"?(x=!0,S):J==="?"?y?y+J+(X?te.repeat(X.length):""):$===0?ve+(X?te.repeat(X.length):""):te.repeat(R.length):J==="."?w.repeat(R.length):J==="*"?y?y+J+(X?Ie:""):Ie:y?S:`\\${S}`);return x===!0&&(r.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,S=>S.length%2===0?"\\\\":S?"\\":"")),I===t&&r.contains===!0?(g.output=t,g):(g.output=ll.wrapOutput(I,g,e),g)}for(;!Pe();){if(Z=gt(),Z==="\0")continue;if(Z==="\\"){let S=Re();if(S==="/"&&r.bash!==!0||S==="."||S===";")continue;if(!S){Z+="\\",Qe({type:"text",value:Z});continue}let y=/^\\+/.exec(q()),R=0;if(y&&y[0].length>2&&(R=y[0].length,g.index+=R,R%2!==0&&(Z+="\\")),r.unescape===!0?Z=gt():Z+=gt(),g.brackets===0){Qe({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ie.value==="["||ie.value==="[^")){if(r.posix!==!1&&Z===":"){let S=ie.value.slice(1);if(S.includes("[")&&(ie.posix=!0,S.includes(":"))){let y=ie.value.lastIndexOf("["),R=ie.value.slice(0,y),J=ie.value.slice(y+2),X=O7e[J];if(X){ie.value=R+X,g.backtrack=!0,gt(),!n.output&&u.indexOf(ie)===1&&(n.output=C);continue}}}(Z==="["&&Re()!==":"||Z==="-"&&Re()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ie.value==="["||ie.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ie.value==="["&&(Z="^"),ie.value+=Z,Te({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=ll.escapeRegex(Z),ie.value+=Z,Te({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&Qe({type:"text",value:Z});continue}if(Z==="("){xe("parens"),Qe({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(_m("opening","("));let S=Ce[Ce.length-1];if(S&&g.parens===S.parens+1){Ue(Ce.pop());continue}Qe({type:"paren",value:Z,output:g.parens?")":"\\)"}),Ye("parens");continue}if(Z==="["){if(r.nobracket===!0||!q().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(_m("closing","]"));Z=`\\${Z}`}else xe("brackets");Qe({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ie&&ie.type==="bracket"&&ie.value.length===1){Qe({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(_m("opening","["));Qe({type:"text",value:Z,output:`\\${Z}`});continue}Ye("brackets");let S=ie.value.slice(1);if(ie.posix!==!0&&S[0]==="^"&&!S.includes("/")&&(Z=`/${Z}`),ie.value+=Z,Te({value:Z}),r.literalBrackets===!1||ll.hasRegexChars(S))continue;let y=ll.escapeRegex(ie.value);if(g.output=g.output.slice(0,-ie.value.length),r.literalBrackets===!0){g.output+=y,ie.value=y;continue}ie.value=`(${A}${y}|${ie.value})`,g.output+=ie.value;continue}if(Z==="{"&&r.nobrace!==!0){xe("braces");let S={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};ye.push(S),Qe(S);continue}if(Z==="}"){let S=ye[ye.length-1];if(r.nobrace===!0||!S){Qe({type:"text",value:Z,output:Z});continue}let y=")";if(S.dots===!0){let R=u.slice(),J=[];for(let X=R.length-1;X>=0&&(u.pop(),R[X].type!=="brace");X--)R[X].type!=="dots"&&J.unshift(R[X].value);y=_7e(J,r),g.backtrack=!0}if(S.comma!==!0&&S.dots!==!0){let R=g.output.slice(0,S.outputIndex),J=g.tokens.slice(S.tokensIndex);S.value=S.output="\\{",Z=y="\\}",g.output=R;for(let X of J)g.output+=X.output||X.value}Qe({type:"brace",value:Z,output:y}),Ye("braces"),ye.pop();continue}if(Z==="|"){Ce.length>0&&Ce[Ce.length-1].conditions++,Qe({type:"text",value:Z});continue}if(Z===","){let S=Z,y=ye[ye.length-1];y&&Ae[Ae.length-1]==="braces"&&(y.comma=!0,S="|"),Qe({type:"comma",value:Z,output:S});continue}if(Z==="/"){if(ie.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ie=n;continue}Qe({type:"slash",value:Z,output:b});continue}if(Z==="."){if(g.braces>0&&ie.type==="dot"){ie.value==="."&&(ie.output=w);let S=ye[ye.length-1];ie.type="dots",ie.output+=Z,ie.value+=Z,S.dots=!0;continue}if(g.braces+g.parens===0&&ie.type!=="bos"&&ie.type!=="slash"){Qe({type:"text",value:Z,output:w});continue}Qe({type:"dot",value:Z,output:w});continue}if(Z==="?"){if(!(ie&&ie.value==="(")&&r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){it("qmark",Z);continue}if(ie&&ie.type==="paren"){let y=Re(),R=Z;if(y==="<"&&!ll.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ie.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(q()))&&(R=`\\${Z}`),Qe({type:"text",value:Z,output:R});continue}if(r.dot!==!0&&(ie.type==="slash"||ie.type==="bos")){Qe({type:"qmark",value:Z,output:le});continue}Qe({type:"qmark",value:Z,output:te});continue}if(Z==="!"){if(r.noextglob!==!0&&Re()==="("&&(Re(2)!=="?"||!/[!=<:]/.test(Re(3)))){it("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Ne();continue}}if(Z==="+"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){it("plus",Z);continue}if(ie&&ie.value==="("||r.regex===!1){Qe({type:"plus",value:Z,output:D});continue}if(ie&&(ie.type==="bracket"||ie.type==="paren"||ie.type==="brace")||g.parens>0){Qe({type:"plus",value:Z});continue}Qe({type:"plus",value:D});continue}if(Z==="@"){if(r.noextglob!==!0&&Re()==="("&&Re(2)!=="?"){Qe({type:"at",extglob:!0,value:Z,output:""});continue}Qe({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let S=M7e.exec(q());S&&(Z+=S[0],g.index+=S[0].length),Qe({type:"text",value:Z});continue}if(ie&&(ie.type==="globstar"||ie.star===!0)){ie.type="star",ie.star=!0,ie.value+=Z,ie.output=Ie,g.backtrack=!0,g.globstar=!0,rt(Z);continue}let x=q();if(r.noextglob!==!0&&/^\([^?]/.test(x)){it("star",Z);continue}if(ie.type==="star"){if(r.noglobstar===!0){rt(Z);continue}let S=ie.prev,y=S.prev,R=S.type==="slash"||S.type==="bos",J=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!R||x[0]&&x[0]!=="/")){Qe({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(S.type==="comma"||S.type==="brace"),$=Ce.length&&(S.type==="pipe"||S.type==="paren");if(!R&&S.type!=="paren"&&!X&&!$){Qe({type:"star",value:Z,output:""});continue}for(;x.slice(0,3)==="/**";){let se=t[g.index+4];if(se&&se!=="/")break;x=x.slice(3),rt("/**",3)}if(S.type==="bos"&&Pe()){ie.type="globstar",ie.value+=Z,ie.output=me(r),g.output=ie.output,g.globstar=!0,rt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&!J&&Pe()){g.output=g.output.slice(0,-(S.output+ie.output).length),S.output=`(?:${S.output}`,ie.type="globstar",ie.output=me(r)+(r.strictSlashes?")":"|$)"),ie.value+=Z,g.globstar=!0,g.output+=S.output+ie.output,rt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&x[0]==="/"){let se=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(S.output+ie.output).length),S.output=`(?:${S.output}`,ie.type="globstar",ie.output=`${me(r)}${b}|${b}${se})`,ie.value+=Z,g.output+=S.output+ie.output,g.globstar=!0,rt(Z+gt()),Qe({type:"slash",value:"/",output:""});continue}if(S.type==="bos"&&x[0]==="/"){ie.type="globstar",ie.value+=Z,ie.output=`(?:^|${b}|${me(r)}${b})`,g.output=ie.output,g.globstar=!0,rt(Z+gt()),Qe({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ie.output.length),ie.type="globstar",ie.output=me(r),ie.value+=Z,g.output+=ie.output,g.globstar=!0,rt(Z);continue}let I={type:"star",value:Z,output:Ie};if(r.bash===!0){I.output=".*?",(ie.type==="bos"||ie.type==="slash")&&(I.output=pe+I.output),Qe(I);continue}if(ie&&(ie.type==="bracket"||ie.type==="paren")&&r.regex===!0){I.output=Z,Qe(I);continue}(g.index===g.start||ie.type==="slash"||ie.type==="dot")&&(ie.type==="dot"?(g.output+=U,ie.output+=U):r.dot===!0?(g.output+=z,ie.output+=z):(g.output+=pe,ie.output+=pe),Re()!=="*"&&(g.output+=C,ie.output+=C)),Qe(I)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(_m("closing","]"));g.output=ll.escapeLast(g.output,"["),Ye("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(_m("closing",")"));g.output=ll.escapeLast(g.output,"("),Ye("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(_m("closing","}"));g.output=ll.escapeLast(g.output,"{"),Ye("braces")}if(r.strictSlashes!==!0&&(ie.type==="star"||ie.type==="bracket")&&Qe({type:"maybe_slash",value:"",output:`${b}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};yL.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(fS,r.maxLength):fS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=A$[t]||t;let n=ll.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:w,NO_DOTS_SLASH:D,STAR:b,START_ANCHOR:C}=AS.globChars(n),T=r.dot?w:E,L=r.dot?D:E,U=r.capture?"":"?:",z={negated:!1,prefix:""},te=r.bash===!0?".*?":b;r.capture&&(te=`(${te})`);let le=pe=>pe.noglobstar===!0?te:`(${U}(?:(?!${C}${pe.dot?h:u}).)*?)`,de=pe=>{switch(pe){case"*":return`${T}${p}${te}`;case".*":return`${u}${p}${te}`;case"*.*":return`${T}${te}${u}${p}${te}`;case"*/*":return`${T}${te}${A}${p}${L}${te}`;case"**":return T+le(r);case"**/*":return`(?:${T}${le(r)}${A})?${L}${p}${te}`;case"**/*.*":return`(?:${T}${le(r)}${A})?${L}${te}${u}${p}${te}`;case"**/.*":return`(?:${T}${le(r)}${A})?${u}${p}${te}`;default:{let ve=/^(.*?)\.(\w+)$/.exec(pe);if(!ve)return;let Ie=de(ve[1]);return Ie?Ie+u+ve[2]:void 0}}},ce=ll.removePrefix(t,z),me=de(ce);return me&&r.strictSlashes!==!0&&(me+=`${A}?`),me};f$.exports=yL});var g$=_((Nkt,h$)=>{"use strict";var H7e=De("path"),q7e=u$(),EL=p$(),CL=zw(),j7e=Vw(),G7e=t=>t&&typeof t=="object"&&!Array.isArray(t),Mi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(D=>Mi(D,e,r));return D=>{for(let b of E){let C=b(D);if(C)return C}return!1}}let o=G7e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=CL.isWindows(e),u=o?Mi.compileRe(t,e):Mi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Mi(a.ignore,E,r)}let h=(E,w=!1)=>{let{isMatch:D,match:b,output:C}=Mi.test(E,u,e,{glob:t,posix:n}),T={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:b,isMatch:D};return typeof a.onResult=="function"&&a.onResult(T),D===!1?(T.isMatch=!1,w?T:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(T),T.isMatch=!1,w?T:!1):(typeof a.onMatch=="function"&&a.onMatch(T),w?T:!0)};return r&&(h.state=A),h};Mi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?CL.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Mi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:!!A,match:A,output:p}};Mi.matchBase=(t,e,r,o=CL.isWindows(r))=>(e instanceof RegExp?e:Mi.makeRe(e,r)).test(H7e.basename(t));Mi.isMatch=(t,e,r)=>Mi(e,r)(t);Mi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Mi.parse(r,e)):EL(t,{...e,fastpaths:!1});Mi.scan=(t,e)=>q7e(t,e);Mi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Mi.toRegex(A,e);return o===!0&&(p.state=t),p};Mi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=EL.fastpaths(t,e)),a.output||(a=EL(t,e)),Mi.compileRe(a,e,r,o)};Mi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Mi.constants=j7e;h$.exports=Mi});var m$=_((Lkt,d$)=>{"use strict";d$.exports=g$()});var Xo=_((Okt,I$)=>{"use strict";var E$=De("util"),C$=XZ(),Xu=m$(),IL=zw(),y$=t=>t===""||t==="./",Ii=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};Ii.match=Ii;Ii.matcher=(t,e)=>Xu(t,e);Ii.isMatch=(t,e,r)=>Xu(e,r)(t);Ii.any=Ii.isMatch;Ii.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(Ii(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};Ii.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${E$.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>Ii.contains(t,o,r));if(typeof e=="string"){if(y$(t)||y$(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Ii.isMatch(t,e,{...r,contains:!0})};Ii.matchKeys=(t,e,r)=>{if(!IL.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=Ii(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};Ii.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Xu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};Ii.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Xu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};Ii.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${E$.inspect(t)}"`);return[].concat(e).every(o=>Xu(o,r)(t))};Ii.capture=(t,e,r)=>{let o=IL.isWindows(r),n=Xu.makeRe(String(t),{...r,capture:!0}).exec(o?IL.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};Ii.makeRe=(...t)=>Xu.makeRe(...t);Ii.scan=(...t)=>Xu.scan(...t);Ii.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of C$(String(o),e))r.push(Xu.parse(a,e));return r};Ii.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:C$(t,e)};Ii.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Ii.braces(t,{...e,expand:!0})};I$.exports=Ii});var B$=_((Mkt,w$)=>{"use strict";w$.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var pS=_((Ukt,v$)=>{"use strict";var W7e=B$();v$.exports=t=>typeof t=="string"?t.replace(W7e(),""):t});var P$=_((_kt,D$)=>{function Y7e(){this.__data__=[],this.size=0}D$.exports=Y7e});var Hm=_((Hkt,S$)=>{function K7e(t,e){return t===e||t!==t&&e!==e}S$.exports=K7e});var Xw=_((qkt,x$)=>{var V7e=Hm();function z7e(t,e){for(var r=t.length;r--;)if(V7e(t[r][0],e))return r;return-1}x$.exports=z7e});var Q$=_((jkt,b$)=>{var J7e=Xw(),X7e=Array.prototype,Z7e=X7e.splice;function $7e(t){var e=this.__data__,r=J7e(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():Z7e.call(e,r,1),--this.size,!0}b$.exports=$7e});var F$=_((Gkt,k$)=>{var eWe=Xw();function tWe(t){var e=this.__data__,r=eWe(e,t);return r<0?void 0:e[r][1]}k$.exports=tWe});var T$=_((Wkt,R$)=>{var rWe=Xw();function nWe(t){return rWe(this.__data__,t)>-1}R$.exports=nWe});var L$=_((Ykt,N$)=>{var iWe=Xw();function sWe(t,e){var r=this.__data__,o=iWe(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}N$.exports=sWe});var Zw=_((Kkt,O$)=>{var oWe=P$(),aWe=Q$(),lWe=F$(),cWe=T$(),uWe=L$();function qm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var AWe=Zw();function fWe(){this.__data__=new AWe,this.size=0}M$.exports=fWe});var H$=_((zkt,_$)=>{function pWe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}_$.exports=pWe});var j$=_((Jkt,q$)=>{function hWe(t){return this.__data__.get(t)}q$.exports=hWe});var W$=_((Xkt,G$)=>{function gWe(t){return this.__data__.has(t)}G$.exports=gWe});var wL=_((Zkt,Y$)=>{var dWe=typeof global=="object"&&global&&global.Object===Object&&global;Y$.exports=dWe});var ql=_(($kt,K$)=>{var mWe=wL(),yWe=typeof self=="object"&&self&&self.Object===Object&&self,EWe=mWe||yWe||Function("return this")();K$.exports=EWe});var yg=_((eFt,V$)=>{var CWe=ql(),IWe=CWe.Symbol;V$.exports=IWe});var Z$=_((tFt,X$)=>{var z$=yg(),J$=Object.prototype,wWe=J$.hasOwnProperty,BWe=J$.toString,$w=z$?z$.toStringTag:void 0;function vWe(t){var e=wWe.call(t,$w),r=t[$w];try{t[$w]=void 0;var o=!0}catch{}var a=BWe.call(t);return o&&(e?t[$w]=r:delete t[$w]),a}X$.exports=vWe});var eee=_((rFt,$$)=>{var DWe=Object.prototype,PWe=DWe.toString;function SWe(t){return PWe.call(t)}$$.exports=SWe});var Eg=_((nFt,nee)=>{var tee=yg(),xWe=Z$(),bWe=eee(),QWe="[object Null]",kWe="[object Undefined]",ree=tee?tee.toStringTag:void 0;function FWe(t){return t==null?t===void 0?kWe:QWe:ree&&ree in Object(t)?xWe(t):bWe(t)}nee.exports=FWe});var cl=_((iFt,iee)=>{function RWe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}iee.exports=RWe});var hS=_((sFt,see)=>{var TWe=Eg(),NWe=cl(),LWe="[object AsyncFunction]",OWe="[object Function]",MWe="[object GeneratorFunction]",UWe="[object Proxy]";function _We(t){if(!NWe(t))return!1;var e=TWe(t);return e==OWe||e==MWe||e==LWe||e==UWe}see.exports=_We});var aee=_((oFt,oee)=>{var HWe=ql(),qWe=HWe["__core-js_shared__"];oee.exports=qWe});var uee=_((aFt,cee)=>{var BL=aee(),lee=function(){var t=/[^.]+$/.exec(BL&&BL.keys&&BL.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function jWe(t){return!!lee&&lee in t}cee.exports=jWe});var vL=_((lFt,Aee)=>{var GWe=Function.prototype,WWe=GWe.toString;function YWe(t){if(t!=null){try{return WWe.call(t)}catch{}try{return t+""}catch{}}return""}Aee.exports=YWe});var pee=_((cFt,fee)=>{var KWe=hS(),VWe=uee(),zWe=cl(),JWe=vL(),XWe=/[\\^$.*+?()[\]{}|]/g,ZWe=/^\[object .+?Constructor\]$/,$We=Function.prototype,eYe=Object.prototype,tYe=$We.toString,rYe=eYe.hasOwnProperty,nYe=RegExp("^"+tYe.call(rYe).replace(XWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function iYe(t){if(!zWe(t)||VWe(t))return!1;var e=KWe(t)?nYe:ZWe;return e.test(JWe(t))}fee.exports=iYe});var gee=_((uFt,hee)=>{function sYe(t,e){return t?.[e]}hee.exports=sYe});var eh=_((AFt,dee)=>{var oYe=pee(),aYe=gee();function lYe(t,e){var r=aYe(t,e);return oYe(r)?r:void 0}dee.exports=lYe});var gS=_((fFt,mee)=>{var cYe=eh(),uYe=ql(),AYe=cYe(uYe,"Map");mee.exports=AYe});var e1=_((pFt,yee)=>{var fYe=eh(),pYe=fYe(Object,"create");yee.exports=pYe});var Iee=_((hFt,Cee)=>{var Eee=e1();function hYe(){this.__data__=Eee?Eee(null):{},this.size=0}Cee.exports=hYe});var Bee=_((gFt,wee)=>{function gYe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}wee.exports=gYe});var Dee=_((dFt,vee)=>{var dYe=e1(),mYe="__lodash_hash_undefined__",yYe=Object.prototype,EYe=yYe.hasOwnProperty;function CYe(t){var e=this.__data__;if(dYe){var r=e[t];return r===mYe?void 0:r}return EYe.call(e,t)?e[t]:void 0}vee.exports=CYe});var See=_((mFt,Pee)=>{var IYe=e1(),wYe=Object.prototype,BYe=wYe.hasOwnProperty;function vYe(t){var e=this.__data__;return IYe?e[t]!==void 0:BYe.call(e,t)}Pee.exports=vYe});var bee=_((yFt,xee)=>{var DYe=e1(),PYe="__lodash_hash_undefined__";function SYe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=DYe&&e===void 0?PYe:e,this}xee.exports=SYe});var kee=_((EFt,Qee)=>{var xYe=Iee(),bYe=Bee(),QYe=Dee(),kYe=See(),FYe=bee();function jm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Fee=kee(),RYe=Zw(),TYe=gS();function NYe(){this.size=0,this.__data__={hash:new Fee,map:new(TYe||RYe),string:new Fee}}Ree.exports=NYe});var Lee=_((IFt,Nee)=>{function LYe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}Nee.exports=LYe});var t1=_((wFt,Oee)=>{var OYe=Lee();function MYe(t,e){var r=t.__data__;return OYe(e)?r[typeof e=="string"?"string":"hash"]:r.map}Oee.exports=MYe});var Uee=_((BFt,Mee)=>{var UYe=t1();function _Ye(t){var e=UYe(this,t).delete(t);return this.size-=e?1:0,e}Mee.exports=_Ye});var Hee=_((vFt,_ee)=>{var HYe=t1();function qYe(t){return HYe(this,t).get(t)}_ee.exports=qYe});var jee=_((DFt,qee)=>{var jYe=t1();function GYe(t){return jYe(this,t).has(t)}qee.exports=GYe});var Wee=_((PFt,Gee)=>{var WYe=t1();function YYe(t,e){var r=WYe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}Gee.exports=YYe});var dS=_((SFt,Yee)=>{var KYe=Tee(),VYe=Uee(),zYe=Hee(),JYe=jee(),XYe=Wee();function Gm(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var ZYe=Zw(),$Ye=gS(),eKe=dS(),tKe=200;function rKe(t,e){var r=this.__data__;if(r instanceof ZYe){var o=r.__data__;if(!$Ye||o.length{var nKe=Zw(),iKe=U$(),sKe=H$(),oKe=j$(),aKe=W$(),lKe=Vee();function Wm(t){var e=this.__data__=new nKe(t);this.size=e.size}Wm.prototype.clear=iKe;Wm.prototype.delete=sKe;Wm.prototype.get=oKe;Wm.prototype.has=aKe;Wm.prototype.set=lKe;zee.exports=Wm});var Xee=_((QFt,Jee)=>{var cKe="__lodash_hash_undefined__";function uKe(t){return this.__data__.set(t,cKe),this}Jee.exports=uKe});var $ee=_((kFt,Zee)=>{function AKe(t){return this.__data__.has(t)}Zee.exports=AKe});var tte=_((FFt,ete)=>{var fKe=dS(),pKe=Xee(),hKe=$ee();function yS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new fKe;++e{function gKe(t,e){for(var r=-1,o=t==null?0:t.length;++r{function dKe(t,e){return t.has(e)}ite.exports=dKe});var DL=_((NFt,ote)=>{var mKe=tte(),yKe=nte(),EKe=ste(),CKe=1,IKe=2;function wKe(t,e,r,o,a,n){var u=r&CKe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var w=-1,D=!0,b=r&IKe?new mKe:void 0;for(n.set(t,e),n.set(e,t);++w{var BKe=ql(),vKe=BKe.Uint8Array;ate.exports=vKe});var cte=_((OFt,lte)=>{function DKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}lte.exports=DKe});var Ate=_((MFt,ute)=>{function PKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}ute.exports=PKe});var dte=_((UFt,gte)=>{var fte=yg(),pte=PL(),SKe=Hm(),xKe=DL(),bKe=cte(),QKe=Ate(),kKe=1,FKe=2,RKe="[object Boolean]",TKe="[object Date]",NKe="[object Error]",LKe="[object Map]",OKe="[object Number]",MKe="[object RegExp]",UKe="[object Set]",_Ke="[object String]",HKe="[object Symbol]",qKe="[object ArrayBuffer]",jKe="[object DataView]",hte=fte?fte.prototype:void 0,SL=hte?hte.valueOf:void 0;function GKe(t,e,r,o,a,n,u){switch(r){case jKe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case qKe:return!(t.byteLength!=e.byteLength||!n(new pte(t),new pte(e)));case RKe:case TKe:case OKe:return SKe(+t,+e);case NKe:return t.name==e.name&&t.message==e.message;case MKe:case _Ke:return t==e+"";case LKe:var A=bKe;case UKe:var p=o&kKe;if(A||(A=QKe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=FKe,u.set(t,e);var E=xKe(A(t),A(e),o,a,n,u);return u.delete(t),E;case HKe:if(SL)return SL.call(t)==SL.call(e)}return!1}gte.exports=GKe});var ES=_((_Ft,mte)=>{function WKe(t,e){for(var r=-1,o=e.length,a=t.length;++r{var YKe=Array.isArray;yte.exports=YKe});var xL=_((qFt,Ete)=>{var KKe=ES(),VKe=jl();function zKe(t,e,r){var o=e(t);return VKe(t)?o:KKe(o,r(t))}Ete.exports=zKe});var Ite=_((jFt,Cte)=>{function JKe(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r{function XKe(){return[]}wte.exports=XKe});var CS=_((WFt,vte)=>{var ZKe=Ite(),$Ke=bL(),eVe=Object.prototype,tVe=eVe.propertyIsEnumerable,Bte=Object.getOwnPropertySymbols,rVe=Bte?function(t){return t==null?[]:(t=Object(t),ZKe(Bte(t),function(e){return tVe.call(t,e)}))}:$Ke;vte.exports=rVe});var Pte=_((YFt,Dte)=>{function nVe(t,e){for(var r=-1,o=Array(t);++r{function iVe(t){return t!=null&&typeof t=="object"}Ste.exports=iVe});var bte=_((VFt,xte)=>{var sVe=Eg(),oVe=Zu(),aVe="[object Arguments]";function lVe(t){return oVe(t)&&sVe(t)==aVe}xte.exports=lVe});var r1=_((zFt,Fte)=>{var Qte=bte(),cVe=Zu(),kte=Object.prototype,uVe=kte.hasOwnProperty,AVe=kte.propertyIsEnumerable,fVe=Qte(function(){return arguments}())?Qte:function(t){return cVe(t)&&uVe.call(t,"callee")&&!AVe.call(t,"callee")};Fte.exports=fVe});var Tte=_((JFt,Rte)=>{function pVe(){return!1}Rte.exports=pVe});var i1=_((n1,Ym)=>{var hVe=ql(),gVe=Tte(),Ote=typeof n1=="object"&&n1&&!n1.nodeType&&n1,Nte=Ote&&typeof Ym=="object"&&Ym&&!Ym.nodeType&&Ym,dVe=Nte&&Nte.exports===Ote,Lte=dVe?hVe.Buffer:void 0,mVe=Lte?Lte.isBuffer:void 0,yVe=mVe||gVe;Ym.exports=yVe});var s1=_((XFt,Mte)=>{var EVe=9007199254740991,CVe=/^(?:0|[1-9]\d*)$/;function IVe(t,e){var r=typeof t;return e=e??EVe,!!e&&(r=="number"||r!="symbol"&&CVe.test(t))&&t>-1&&t%1==0&&t{var wVe=9007199254740991;function BVe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=wVe}Ute.exports=BVe});var Hte=_(($Ft,_te)=>{var vVe=Eg(),DVe=IS(),PVe=Zu(),SVe="[object Arguments]",xVe="[object Array]",bVe="[object Boolean]",QVe="[object Date]",kVe="[object Error]",FVe="[object Function]",RVe="[object Map]",TVe="[object Number]",NVe="[object Object]",LVe="[object RegExp]",OVe="[object Set]",MVe="[object String]",UVe="[object WeakMap]",_Ve="[object ArrayBuffer]",HVe="[object DataView]",qVe="[object Float32Array]",jVe="[object Float64Array]",GVe="[object Int8Array]",WVe="[object Int16Array]",YVe="[object Int32Array]",KVe="[object Uint8Array]",VVe="[object Uint8ClampedArray]",zVe="[object Uint16Array]",JVe="[object Uint32Array]",di={};di[qVe]=di[jVe]=di[GVe]=di[WVe]=di[YVe]=di[KVe]=di[VVe]=di[zVe]=di[JVe]=!0;di[SVe]=di[xVe]=di[_Ve]=di[bVe]=di[HVe]=di[QVe]=di[kVe]=di[FVe]=di[RVe]=di[TVe]=di[NVe]=di[LVe]=di[OVe]=di[MVe]=di[UVe]=!1;function XVe(t){return PVe(t)&&DVe(t.length)&&!!di[vVe(t)]}_te.exports=XVe});var wS=_((eRt,qte)=>{function ZVe(t){return function(e){return t(e)}}qte.exports=ZVe});var BS=_((o1,Km)=>{var $Ve=wL(),jte=typeof o1=="object"&&o1&&!o1.nodeType&&o1,a1=jte&&typeof Km=="object"&&Km&&!Km.nodeType&&Km,eze=a1&&a1.exports===jte,QL=eze&&$Ve.process,tze=function(){try{var t=a1&&a1.require&&a1.require("util").types;return t||QL&&QL.binding&&QL.binding("util")}catch{}}();Km.exports=tze});var vS=_((tRt,Yte)=>{var rze=Hte(),nze=wS(),Gte=BS(),Wte=Gte&&Gte.isTypedArray,ize=Wte?nze(Wte):rze;Yte.exports=ize});var kL=_((rRt,Kte)=>{var sze=Pte(),oze=r1(),aze=jl(),lze=i1(),cze=s1(),uze=vS(),Aze=Object.prototype,fze=Aze.hasOwnProperty;function pze(t,e){var r=aze(t),o=!r&&oze(t),a=!r&&!o&&lze(t),n=!r&&!o&&!a&&uze(t),u=r||o||a||n,A=u?sze(t.length,String):[],p=A.length;for(var h in t)(e||fze.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||cze(h,p)))&&A.push(h);return A}Kte.exports=pze});var DS=_((nRt,Vte)=>{var hze=Object.prototype;function gze(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||hze;return t===r}Vte.exports=gze});var FL=_((iRt,zte)=>{function dze(t,e){return function(r){return t(e(r))}}zte.exports=dze});var Xte=_((sRt,Jte)=>{var mze=FL(),yze=mze(Object.keys,Object);Jte.exports=yze});var $te=_((oRt,Zte)=>{var Eze=DS(),Cze=Xte(),Ize=Object.prototype,wze=Ize.hasOwnProperty;function Bze(t){if(!Eze(t))return Cze(t);var e=[];for(var r in Object(t))wze.call(t,r)&&r!="constructor"&&e.push(r);return e}Zte.exports=Bze});var l1=_((aRt,ere)=>{var vze=hS(),Dze=IS();function Pze(t){return t!=null&&Dze(t.length)&&!vze(t)}ere.exports=Pze});var PS=_((lRt,tre)=>{var Sze=kL(),xze=$te(),bze=l1();function Qze(t){return bze(t)?Sze(t):xze(t)}tre.exports=Qze});var RL=_((cRt,rre)=>{var kze=xL(),Fze=CS(),Rze=PS();function Tze(t){return kze(t,Rze,Fze)}rre.exports=Tze});var sre=_((uRt,ire)=>{var nre=RL(),Nze=1,Lze=Object.prototype,Oze=Lze.hasOwnProperty;function Mze(t,e,r,o,a,n){var u=r&Nze,A=nre(t),p=A.length,h=nre(e),E=h.length;if(p!=E&&!u)return!1;for(var w=p;w--;){var D=A[w];if(!(u?D in e:Oze.call(e,D)))return!1}var b=n.get(t),C=n.get(e);if(b&&C)return b==e&&C==t;var T=!0;n.set(t,e),n.set(e,t);for(var L=u;++w{var Uze=eh(),_ze=ql(),Hze=Uze(_ze,"DataView");ore.exports=Hze});var cre=_((fRt,lre)=>{var qze=eh(),jze=ql(),Gze=qze(jze,"Promise");lre.exports=Gze});var Are=_((pRt,ure)=>{var Wze=eh(),Yze=ql(),Kze=Wze(Yze,"Set");ure.exports=Kze});var pre=_((hRt,fre)=>{var Vze=eh(),zze=ql(),Jze=Vze(zze,"WeakMap");fre.exports=Jze});var c1=_((gRt,Cre)=>{var TL=are(),NL=gS(),LL=cre(),OL=Are(),ML=pre(),Ere=Eg(),Vm=vL(),hre="[object Map]",Xze="[object Object]",gre="[object Promise]",dre="[object Set]",mre="[object WeakMap]",yre="[object DataView]",Zze=Vm(TL),$ze=Vm(NL),eJe=Vm(LL),tJe=Vm(OL),rJe=Vm(ML),Cg=Ere;(TL&&Cg(new TL(new ArrayBuffer(1)))!=yre||NL&&Cg(new NL)!=hre||LL&&Cg(LL.resolve())!=gre||OL&&Cg(new OL)!=dre||ML&&Cg(new ML)!=mre)&&(Cg=function(t){var e=Ere(t),r=e==Xze?t.constructor:void 0,o=r?Vm(r):"";if(o)switch(o){case Zze:return yre;case $ze:return hre;case eJe:return gre;case tJe:return dre;case rJe:return mre}return e});Cre.exports=Cg});var xre=_((dRt,Sre)=>{var UL=mS(),nJe=DL(),iJe=dte(),sJe=sre(),Ire=c1(),wre=jl(),Bre=i1(),oJe=vS(),aJe=1,vre="[object Arguments]",Dre="[object Array]",SS="[object Object]",lJe=Object.prototype,Pre=lJe.hasOwnProperty;function cJe(t,e,r,o,a,n){var u=wre(t),A=wre(e),p=u?Dre:Ire(t),h=A?Dre:Ire(e);p=p==vre?SS:p,h=h==vre?SS:h;var E=p==SS,w=h==SS,D=p==h;if(D&&Bre(t)){if(!Bre(e))return!1;u=!0,E=!1}if(D&&!E)return n||(n=new UL),u||oJe(t)?nJe(t,e,r,o,a,n):iJe(t,e,p,r,o,a,n);if(!(r&aJe)){var b=E&&Pre.call(t,"__wrapped__"),C=w&&Pre.call(e,"__wrapped__");if(b||C){var T=b?t.value():t,L=C?e.value():e;return n||(n=new UL),a(T,L,r,o,n)}}return D?(n||(n=new UL),sJe(t,e,r,o,a,n)):!1}Sre.exports=cJe});var Fre=_((mRt,kre)=>{var uJe=xre(),bre=Zu();function Qre(t,e,r,o,a){return t===e?!0:t==null||e==null||!bre(t)&&!bre(e)?t!==t&&e!==e:uJe(t,e,r,o,Qre,a)}kre.exports=Qre});var Tre=_((yRt,Rre)=>{var AJe=Fre();function fJe(t,e){return AJe(t,e)}Rre.exports=fJe});var _L=_((ERt,Nre)=>{var pJe=eh(),hJe=function(){try{var t=pJe(Object,"defineProperty");return t({},"",{}),t}catch{}}();Nre.exports=hJe});var xS=_((CRt,Ore)=>{var Lre=_L();function gJe(t,e,r){e=="__proto__"&&Lre?Lre(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Ore.exports=gJe});var HL=_((IRt,Mre)=>{var dJe=xS(),mJe=Hm();function yJe(t,e,r){(r!==void 0&&!mJe(t[e],r)||r===void 0&&!(e in t))&&dJe(t,e,r)}Mre.exports=yJe});var _re=_((wRt,Ure)=>{function EJe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}Ure.exports=EJe});var qre=_((BRt,Hre)=>{var CJe=_re(),IJe=CJe();Hre.exports=IJe});var qL=_((u1,zm)=>{var wJe=ql(),Yre=typeof u1=="object"&&u1&&!u1.nodeType&&u1,jre=Yre&&typeof zm=="object"&&zm&&!zm.nodeType&&zm,BJe=jre&&jre.exports===Yre,Gre=BJe?wJe.Buffer:void 0,Wre=Gre?Gre.allocUnsafe:void 0;function vJe(t,e){if(e)return t.slice();var r=t.length,o=Wre?Wre(r):new t.constructor(r);return t.copy(o),o}zm.exports=vJe});var bS=_((vRt,Vre)=>{var Kre=PL();function DJe(t){var e=new t.constructor(t.byteLength);return new Kre(e).set(new Kre(t)),e}Vre.exports=DJe});var jL=_((DRt,zre)=>{var PJe=bS();function SJe(t,e){var r=e?PJe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}zre.exports=SJe});var QS=_((PRt,Jre)=>{function xJe(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r{var bJe=cl(),Xre=Object.create,QJe=function(){function t(){}return function(e){if(!bJe(e))return{};if(Xre)return Xre(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Zre.exports=QJe});var kS=_((xRt,ene)=>{var kJe=FL(),FJe=kJe(Object.getPrototypeOf,Object);ene.exports=FJe});var WL=_((bRt,tne)=>{var RJe=$re(),TJe=kS(),NJe=DS();function LJe(t){return typeof t.constructor=="function"&&!NJe(t)?RJe(TJe(t)):{}}tne.exports=LJe});var nne=_((QRt,rne)=>{var OJe=l1(),MJe=Zu();function UJe(t){return MJe(t)&&OJe(t)}rne.exports=UJe});var YL=_((kRt,sne)=>{var _Je=Eg(),HJe=kS(),qJe=Zu(),jJe="[object Object]",GJe=Function.prototype,WJe=Object.prototype,ine=GJe.toString,YJe=WJe.hasOwnProperty,KJe=ine.call(Object);function VJe(t){if(!qJe(t)||_Je(t)!=jJe)return!1;var e=HJe(t);if(e===null)return!0;var r=YJe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&ine.call(r)==KJe}sne.exports=VJe});var KL=_((FRt,one)=>{function zJe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}one.exports=zJe});var RS=_((RRt,ane)=>{var JJe=xS(),XJe=Hm(),ZJe=Object.prototype,$Je=ZJe.hasOwnProperty;function eXe(t,e,r){var o=t[e];(!($Je.call(t,e)&&XJe(o,r))||r===void 0&&!(e in t))&&JJe(t,e,r)}ane.exports=eXe});var Ig=_((TRt,lne)=>{var tXe=RS(),rXe=xS();function nXe(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n{function iXe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}cne.exports=iXe});var fne=_((LRt,Ane)=>{var sXe=cl(),oXe=DS(),aXe=une(),lXe=Object.prototype,cXe=lXe.hasOwnProperty;function uXe(t){if(!sXe(t))return aXe(t);var e=oXe(t),r=[];for(var o in t)o=="constructor"&&(e||!cXe.call(t,o))||r.push(o);return r}Ane.exports=uXe});var Jm=_((ORt,pne)=>{var AXe=kL(),fXe=fne(),pXe=l1();function hXe(t){return pXe(t)?AXe(t,!0):fXe(t)}pne.exports=hXe});var gne=_((MRt,hne)=>{var gXe=Ig(),dXe=Jm();function mXe(t){return gXe(t,dXe(t))}hne.exports=mXe});var Ine=_((URt,Cne)=>{var dne=HL(),yXe=qL(),EXe=jL(),CXe=QS(),IXe=WL(),mne=r1(),yne=jl(),wXe=nne(),BXe=i1(),vXe=hS(),DXe=cl(),PXe=YL(),SXe=vS(),Ene=KL(),xXe=gne();function bXe(t,e,r,o,a,n,u){var A=Ene(t,r),p=Ene(e,r),h=u.get(p);if(h){dne(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,w=E===void 0;if(w){var D=yne(p),b=!D&&BXe(p),C=!D&&!b&&SXe(p);E=p,D||b||C?yne(A)?E=A:wXe(A)?E=CXe(A):b?(w=!1,E=yXe(p,!0)):C?(w=!1,E=EXe(p,!0)):E=[]:PXe(p)||mne(p)?(E=A,mne(A)?E=xXe(A):(!DXe(A)||vXe(A))&&(E=IXe(p))):w=!1}w&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),dne(t,r,E)}Cne.exports=bXe});var vne=_((_Rt,Bne)=>{var QXe=mS(),kXe=HL(),FXe=qre(),RXe=Ine(),TXe=cl(),NXe=Jm(),LXe=KL();function wne(t,e,r,o,a){t!==e&&FXe(e,function(n,u){if(a||(a=new QXe),TXe(n))RXe(t,e,u,r,wne,o,a);else{var A=o?o(LXe(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),kXe(t,u,A)}},NXe)}Bne.exports=wne});var VL=_((HRt,Dne)=>{function OXe(t){return t}Dne.exports=OXe});var Sne=_((qRt,Pne)=>{function MXe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}Pne.exports=MXe});var zL=_((jRt,bne)=>{var UXe=Sne(),xne=Math.max;function _Xe(t,e,r){return e=xne(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=xne(o.length-e,0),u=Array(n);++a{function HXe(t){return function(){return t}}Qne.exports=HXe});var Tne=_((WRt,Rne)=>{var qXe=kne(),Fne=_L(),jXe=VL(),GXe=Fne?function(t,e){return Fne(t,"toString",{configurable:!0,enumerable:!1,value:qXe(e),writable:!0})}:jXe;Rne.exports=GXe});var Lne=_((YRt,Nne)=>{var WXe=800,YXe=16,KXe=Date.now;function VXe(t){var e=0,r=0;return function(){var o=KXe(),a=YXe-(o-r);if(r=o,a>0){if(++e>=WXe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Nne.exports=VXe});var JL=_((KRt,One)=>{var zXe=Tne(),JXe=Lne(),XXe=JXe(zXe);One.exports=XXe});var Une=_((VRt,Mne)=>{var ZXe=VL(),$Xe=zL(),eZe=JL();function tZe(t,e){return eZe($Xe(t,e,ZXe),t+"")}Mne.exports=tZe});var Hne=_((zRt,_ne)=>{var rZe=Hm(),nZe=l1(),iZe=s1(),sZe=cl();function oZe(t,e,r){if(!sZe(r))return!1;var o=typeof e;return(o=="number"?nZe(r)&&iZe(e,r.length):o=="string"&&e in r)?rZe(r[e],t):!1}_ne.exports=oZe});var jne=_((JRt,qne)=>{var aZe=Une(),lZe=Hne();function cZe(t){return aZe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&lZe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o{var uZe=vne(),AZe=jne(),fZe=AZe(function(t,e,r,o){uZe(t,e,r,o)});Gne.exports=fZe});var qe={};Kt(qe,{AsyncActions:()=>$L,BufferStream:()=>ZL,CachingStrategy:()=>nie,DefaultStream:()=>eO,allSettledSafe:()=>Wc,assertNever:()=>rO,bufferStream:()=>Zm,buildIgnorePattern:()=>EZe,convertMapsToIndexableObjects:()=>NS,dynamicRequire:()=>Df,escapeRegExp:()=>hZe,getArrayWithDefault:()=>f1,getFactoryWithDefault:()=>Al,getMapWithDefault:()=>nO,getSetWithDefault:()=>vf,groupBy:()=>wZe,isIndexableObject:()=>XL,isPathLike:()=>CZe,isTaggedYarnVersion:()=>pZe,makeDeferred:()=>eie,mapAndFilter:()=>ul,mapAndFind:()=>th,mergeIntoTarget:()=>sie,overrideType:()=>gZe,parseBoolean:()=>p1,parseInt:()=>$m,parseOptionalBoolean:()=>iie,plural:()=>TS,prettifyAsyncErrors:()=>Xm,prettifySyncErrors:()=>iO,releaseAfterUseAsync:()=>mZe,replaceEnvVariables:()=>LS,sortMap:()=>Ps,toMerged:()=>IZe,tryParseOptionalBoolean:()=>sO,validateEnum:()=>dZe});function pZe(t){return!!(Xne.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function TS(t,{one:e,more:r,zero:o=r}){return t===0?o:t===1?e:r}function hZe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function gZe(t){}function rO(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function dZe(t,e){let r=Object.values(t);if(!r.includes(e))throw new nt(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function ul(t,e){let r=[];for(let o of t){let a=e(o);a!==Zne&&r.push(a)}return r}function th(t,e){for(let r of t){let o=e(r);if(o!==$ne)return o}}function XL(t){return typeof t=="object"&&t!==null}async function Wc(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function NS(t){if(t instanceof Map&&(t=Object.fromEntries(t)),XL(t))for(let e of Object.keys(t)){let r=t[e];XL(r)&&(t[e]=NS(r))}return t}function Al(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function f1(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function vf(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function nO(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function mZe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Xm(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function iO(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Zm(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function eie(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function tie(t){return A1(ue.fromPortablePath(t))}function rie(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=A1.cache[physicalPath];delete A1.cache[physicalPath];let result;try{result=tie(physicalPath);let freshCacheEntry=A1.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{A1.cache[physicalPath]=currentCacheEntry}return result}function yZe(t){let e=Yne.get(t),r=ae.statSync(t);if(e?.mtime===r.mtimeMs)return e.instance;let o=rie(t);return Yne.set(t,{mtime:r.mtimeMs,instance:o}),o}function Df(t,{cachingStrategy:e=2}={}){switch(e){case 0:return rie(t);case 1:return yZe(t);case 2:return tie(t);default:throw new Error("Unsupported caching strategy")}}function Ps(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function EZe(t){return t.length===0?null:t.map(e=>`(${zne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function LS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.hasOwn(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new nt(`Environment variable not found (${a})`)})}function p1(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function iie(t){return typeof t>"u"?t:p1(t)}function sO(t){try{return iie(t)}catch{return null}}function CZe(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function sie(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,Vne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,Kne.default)(h,p))||u.push(p);return u}});return n}function IZe(...t){return sie({},...t)}function wZe(t,e){let r=Object.create(null);for(let o of t){let a=o[e];r[a]??=[],r[a].push(o)}return r}function $m(t){return typeof t=="string"?Number.parseInt(t,10):t}var Kne,Vne,zne,Jne,Xne,tO,Zne,$ne,ZL,$L,eO,A1,Yne,nie,Gl=It(()=>{Pt();Gt();Kne=et(Tre()),Vne=et(Wne()),zne=et(Xo()),Jne=et(ug()),Xne=et(ni()),tO=De("stream");Zne=Symbol();ul.skip=Zne;$ne=Symbol();th.skip=$ne;ZL=class extends tO.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};$L=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,Jne.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=eie());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},eO=class extends tO.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},A1=eval("require");Yne=new Map;nie=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(nie||{})});var ey,oO,aO,oie=It(()=>{ey=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(ey||{}),oO=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(oO||{}),aO=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(aO||{})});var fe={};Kt(fe,{LogLevel:()=>HS,Style:()=>MS,Type:()=>Ct,addLogFilterSupport:()=>d1,applyColor:()=>Gs,applyHyperlink:()=>ry,applyStyle:()=>wg,json:()=>Bg,jsonOrPretty:()=>DZe,mark:()=>fO,pretty:()=>Ut,prettyField:()=>$u,prettyList:()=>AO,prettyTruncatedLocatorList:()=>_S,stripAnsi:()=>ty.default,supportsColor:()=>US,supportsHyperlinks:()=>uO,tuple:()=>Yc});function aie(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1024**r;)r-=1;let o=1024**r;return`${Math.floor(t*100/o)/100} ${e[r-1]}`}function Yc(t,e){return[e,t]}function wg(t,e,r){return t.get("enableColors")&&r&2&&(e=g1.default.bold(e)),e}function Gs(t,e,r){if(!t.get("enableColors"))return e;let o=BZe.get(r);if(o===null)return e;let a=typeof o>"u"?r:cO.level>=3?o[0]:o[1],n=typeof a=="number"?lO.ansi256(a):a.startsWith("#")?lO.hex(a):lO[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function ry(t,e,r){return t.get("enableHyperlinks")?vZe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Ut(t,e,r){if(e===null)return Gs(t,"null",Ct.NULL);if(Object.hasOwn(OS,r))return OS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Gs(t,e,r)}function AO(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Ut(t,a,r)).join(o)}function Bg(t,e){if(t===null)return null;if(Object.hasOwn(OS,e))return OS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function DZe(t,e,[r,o]){return t?Bg(r,o):Ut(e,r,o)}function fO(t){return{Check:Gs(t,"\u2713","green"),Cross:Gs(t,"\u2718","red"),Question:Gs(t,"?","cyan")}}function $u(t,{label:e,value:[r,o]}){return`${Ut(t,e,Ct.CODE)}: ${Ut(t,r,o)}`}function _S(t,e,r){let o=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=`${jr(t,h)}, `,w=pO(h).length+2;if(o.length>0&&nh).join("").slice(0,-2);let u="X".repeat(a.length.toString().length),A=`and ${u} more.`,p=a.length;for(;o.length>1&&nh).join(""),A.replace(u,Ut(t,p,Ct.NUMBER))].join("")}function d1(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let w of r){let D=w.get("level");if(typeof D>"u")continue;let b=w.get("code");typeof b<"u"&&o.set(b,D);let C=w.get("text");typeof C<"u"&&a.set(C,D);let T=w.get("pattern");typeof T<"u"&&n.push([lie.default.matcher(T,{contains:!0}),D])}n.reverse();let u=(w,D,b)=>{if(w===null||w===0)return b;let C=a.size>0||n.length>0?(0,ty.default)(D):D;if(a.size>0){let T=a.get(C);if(typeof T<"u")return T??b}if(n.length>0){for(let[T,L]of n)if(T(C))return L??b}if(o.size>0){let T=o.get(zu(w));if(typeof T<"u")return T??b}return b},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(w,D,b,C){switch(u(D,b,C)){case"info":A.call(w,D,b);break;case"warning":p.call(w,D??0,b);break;case"error":h.call(w,D??0,b);break}};t.reportInfo=function(...w){return E(this,...w,"info")},t.reportWarning=function(...w){return E(this,...w,"warning")},t.reportError=function(...w){return E(this,...w,"error")}}var g1,h1,lie,ty,cie,Ct,MS,cO,US,uO,lO,BZe,Co,OS,vZe,HS,Wl=It(()=>{Pt();g1=et(sL()),h1=et(ag());Gt();lie=et(Xo()),ty=et(pS()),cie=De("util");jP();Io();Ct={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},MS=(e=>(e[e.BOLD=2]="BOLD",e))(MS||{}),cO=h1.default.GITHUB_ACTIONS?{level:2}:g1.default.supportsColor?{level:g1.default.supportsColor.level}:{level:0},US=cO.level!==0,uO=US&&!h1.default.GITHUB_ACTIONS&&!h1.default.CIRCLE&&!h1.default.GITLAB,lO=new g1.default.Instance(cO),BZe=new Map([[Ct.NO_HINT,null],[Ct.NULL,["#a853b5",129]],[Ct.SCOPE,["#d75f00",166]],[Ct.NAME,["#d7875f",173]],[Ct.RANGE,["#00afaf",37]],[Ct.REFERENCE,["#87afff",111]],[Ct.NUMBER,["#ffd700",220]],[Ct.PATH,["#d75fd7",170]],[Ct.URL,["#d75fd7",170]],[Ct.ADDED,["#5faf00",70]],[Ct.REMOVED,["#ff3131",160]],[Ct.CODE,["#87afff",111]],[Ct.SIZE,["#ffd700",220]]]),Co=t=>t;OS={[Ct.ID]:Co({pretty:(t,e)=>typeof e=="number"?Gs(t,`${e}`,Ct.NUMBER):Gs(t,e,Ct.CODE),json:t=>t}),[Ct.INSPECT]:Co({pretty:(t,e)=>(0,cie.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Ct.NUMBER]:Co({pretty:(t,e)=>Gs(t,`${e}`,Ct.NUMBER),json:t=>t}),[Ct.IDENT]:Co({pretty:(t,e)=>Ui(t,e),json:t=>rn(t)}),[Ct.LOCATOR]:Co({pretty:(t,e)=>jr(t,e),json:t=>ka(t)}),[Ct.DESCRIPTOR]:Co({pretty:(t,e)=>zn(t,e),json:t=>Qa(t)}),[Ct.RESOLUTION]:Co({pretty:(t,{descriptor:e,locator:r})=>m1(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Qa(t),locator:e!==null?ka(e):null})}),[Ct.DEPENDENT]:Co({pretty:(t,{locator:e,descriptor:r})=>hO(t,e,r),json:({locator:t,descriptor:e})=>({locator:ka(t),descriptor:Qa(e)})}),[Ct.PACKAGE_EXTENSION]:Co({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${Ui(t,e.parentDescriptor)} \u27A4 ${Gs(t,"dependencies",Ct.CODE)} \u27A4 ${Ui(t,e.descriptor)}`;case"PeerDependency":return`${Ui(t,e.parentDescriptor)} \u27A4 ${Gs(t,"peerDependencies",Ct.CODE)} \u27A4 ${Ui(t,e.descriptor)}`;case"PeerDependencyMeta":return`${Ui(t,e.parentDescriptor)} \u27A4 ${Gs(t,"peerDependenciesMeta",Ct.CODE)} \u27A4 ${Ui(t,Zo(e.selector))} \u27A4 ${Gs(t,e.key,Ct.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${rn(t.parentDescriptor)} > ${rn(t.descriptor)}`;case"PeerDependency":return`${rn(t.parentDescriptor)} >> ${rn(t.descriptor)}`;case"PeerDependencyMeta":return`${rn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ct.SETTING]:Co({pretty:(t,e)=>(t.get(e),ry(t,Gs(t,e,Ct.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ct.DURATION]:Co({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[Ct.SIZE]:Co({pretty:(t,e)=>Gs(t,aie(e),Ct.NUMBER),json:t=>t}),[Ct.SIZE_DIFF]:Co({pretty:(t,e)=>{let r=e>=0?"+":"-",o=r==="+"?Ct.REMOVED:Ct.ADDED;return Gs(t,`${r} ${aie(Math.max(Math.abs(e),1))}`,o)},json:t=>t}),[Ct.PATH]:Co({pretty:(t,e)=>Gs(t,ue.fromPortablePath(e),Ct.PATH),json:t=>ue.fromPortablePath(t)}),[Ct.MARKDOWN]:Co({pretty:(t,{text:e,format:r,paragraphs:o})=>yo(e,{format:r,paragraphs:o}),json:({text:t})=>t}),[Ct.MARKDOWN_INLINE]:Co({pretty:(t,e)=>(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,a)=>Ut(t,o+a+o,Ct.CODE)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,a)=>wg(t,a,2)),e),json:t=>t})};vZe=!!process.env.KONSOLE_VERSION;HS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(HS||{})});var uie=_(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.splitWhen=ny.flatten=void 0;function PZe(t){return t.reduce((e,r)=>[].concat(e,r),[])}ny.flatten=PZe;function SZe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}ny.splitWhen=SZe});var Aie=_(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});qS.isEnoentCodeError=void 0;function xZe(t){return t.code==="ENOENT"}qS.isEnoentCodeError=xZe});var fie=_(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});jS.createDirentFromStats=void 0;var gO=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function bZe(t,e){return new gO(t,e)}jS.createDirentFromStats=bZe});var die=_(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.convertPosixPathToPattern=Vi.convertWindowsPathToPattern=Vi.convertPathToPattern=Vi.escapePosixPath=Vi.escapeWindowsPath=Vi.escape=Vi.removeLeadingDotSegment=Vi.makeAbsolute=Vi.unixify=void 0;var QZe=De("os"),kZe=De("path"),pie=QZe.platform()==="win32",FZe=2,RZe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,TZe=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,NZe=/^\\\\([.?])/,LZe=/\\(?![!()+@[\]{}])/g;function OZe(t){return t.replace(/\\/g,"/")}Vi.unixify=OZe;function MZe(t,e){return kZe.resolve(t,e)}Vi.makeAbsolute=MZe;function UZe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(FZe)}return t}Vi.removeLeadingDotSegment=UZe;Vi.escape=pie?dO:mO;function dO(t){return t.replace(TZe,"\\$2")}Vi.escapeWindowsPath=dO;function mO(t){return t.replace(RZe,"\\$2")}Vi.escapePosixPath=mO;Vi.convertPathToPattern=pie?hie:gie;function hie(t){return dO(t).replace(NZe,"//$1").replace(LZe,"/")}Vi.convertWindowsPathToPattern=hie;function gie(t){return mO(t)}Vi.convertPosixPathToPattern=gie});var yie=_((fTt,mie)=>{mie.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Iie=_((pTt,Cie)=>{var _Ze=yie(),Eie={"{":"}","(":")","[":"]"},HZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;ee&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=Eie[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},qZe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var jZe=Iie(),GZe=De("path").posix.dirname,WZe=De("os").platform()==="win32",yO="/",YZe=/\\/g,KZe=/[\{\[].*[\}\]]$/,VZe=/(^|[^\\])([\{\[]|\([^\)]+$)/,zZe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;wie.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&WZe&&e.indexOf(yO)<0&&(e=e.replace(YZe,yO)),KZe.test(e)&&(e+=yO),e+="a";do e=GZe(e);while(jZe(e)||VZe.test(e));return e.replace(zZe,"$1")}});var kie=_(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.removeDuplicateSlashes=Mr.matchAny=Mr.convertPatternsToRe=Mr.makeRe=Mr.getPatternParts=Mr.expandBraceExpansion=Mr.expandPatternsWithBraceExpansion=Mr.isAffectDepthOfReadingPattern=Mr.endsWithSlashGlobStar=Mr.hasGlobStar=Mr.getBaseDirectory=Mr.isPatternRelatedToParentDirectory=Mr.getPatternsOutsideCurrentDirectory=Mr.getPatternsInsideCurrentDirectory=Mr.getPositivePatterns=Mr.getNegativePatterns=Mr.isPositivePattern=Mr.isNegativePattern=Mr.convertToNegativePattern=Mr.convertToPositivePattern=Mr.isDynamicPattern=Mr.isStaticPattern=void 0;var JZe=De("path"),XZe=Bie(),EO=Xo(),vie="**",ZZe="\\",$Ze=/[*?]|^!/,e$e=/\[[^[]*]/,t$e=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,r$e=/[!*+?@]\([^(]*\)/,n$e=/,|\.\./,i$e=/(?!^)\/{2,}/g;function Die(t,e={}){return!Pie(t,e)}Mr.isStaticPattern=Die;function Pie(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(ZZe)||$Ze.test(t)||e$e.test(t)||t$e.test(t)||e.extglob!==!1&&r$e.test(t)||e.braceExpansion!==!1&&s$e(t))}Mr.isDynamicPattern=Pie;function s$e(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return n$e.test(o)}function o$e(t){return GS(t)?t.slice(1):t}Mr.convertToPositivePattern=o$e;function a$e(t){return"!"+t}Mr.convertToNegativePattern=a$e;function GS(t){return t.startsWith("!")&&t[1]!=="("}Mr.isNegativePattern=GS;function Sie(t){return!GS(t)}Mr.isPositivePattern=Sie;function l$e(t){return t.filter(GS)}Mr.getNegativePatterns=l$e;function c$e(t){return t.filter(Sie)}Mr.getPositivePatterns=c$e;function u$e(t){return t.filter(e=>!CO(e))}Mr.getPatternsInsideCurrentDirectory=u$e;function A$e(t){return t.filter(CO)}Mr.getPatternsOutsideCurrentDirectory=A$e;function CO(t){return t.startsWith("..")||t.startsWith("./..")}Mr.isPatternRelatedToParentDirectory=CO;function f$e(t){return XZe(t,{flipBackslashes:!1})}Mr.getBaseDirectory=f$e;function p$e(t){return t.includes(vie)}Mr.hasGlobStar=p$e;function xie(t){return t.endsWith("/"+vie)}Mr.endsWithSlashGlobStar=xie;function h$e(t){let e=JZe.basename(t);return xie(t)||Die(e)}Mr.isAffectDepthOfReadingPattern=h$e;function g$e(t){return t.reduce((e,r)=>e.concat(bie(r)),[])}Mr.expandPatternsWithBraceExpansion=g$e;function bie(t){let e=EO.braces(t,{expand:!0,nodupes:!0,keepEscaping:!0});return e.sort((r,o)=>r.length-o.length),e.filter(r=>r!=="")}Mr.expandBraceExpansion=bie;function d$e(t,e){let{parts:r}=EO.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Mr.getPatternParts=d$e;function Qie(t,e){return EO.makeRe(t,e)}Mr.makeRe=Qie;function m$e(t,e){return t.map(r=>Qie(r,e))}Mr.convertPatternsToRe=m$e;function y$e(t,e){return e.some(r=>r.test(t))}Mr.matchAny=y$e;function E$e(t){return t.replace(i$e,"/")}Mr.removeDuplicateSlashes=E$e});var Nie=_((dTt,Tie)=>{"use strict";var C$e=De("stream"),Fie=C$e.PassThrough,I$e=Array.prototype.slice;Tie.exports=w$e;function w$e(){let t=[],e=I$e.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=Fie(o);function A(){for(let E=0,w=arguments.length;E0||(r=!1,p())}function b(C){function T(){C.removeListener("merge2UnpipeEnd",T),C.removeListener("end",T),n&&C.removeListener("error",L),D()}function L(U){u.emit("error",U)}if(C._readableState.endEmitted)return D();C.on("merge2UnpipeEnd",T),C.on("end",T),n&&C.on("error",L),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});WS.merge=void 0;var B$e=Nie();function v$e(t){let e=B$e(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Lie(t)),e.once("end",()=>Lie(t)),e}WS.merge=v$e;function Lie(t){t.forEach(e=>e.emit("close"))}});var Mie=_(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.isEmpty=iy.isString=void 0;function D$e(t){return typeof t=="string"}iy.isString=D$e;function P$e(t){return t===""}iy.isEmpty=P$e});var Pf=_(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.string=wo.stream=wo.pattern=wo.path=wo.fs=wo.errno=wo.array=void 0;var S$e=uie();wo.array=S$e;var x$e=Aie();wo.errno=x$e;var b$e=fie();wo.fs=b$e;var Q$e=die();wo.path=Q$e;var k$e=kie();wo.pattern=k$e;var F$e=Oie();wo.stream=F$e;var R$e=Mie();wo.string=R$e});var qie=_(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.convertPatternGroupToTask=Bo.convertPatternGroupsToTasks=Bo.groupPatternsByBaseDirectory=Bo.getNegativePatternsAsPositive=Bo.getPositivePatterns=Bo.convertPatternsToTasks=Bo.generate=void 0;var Kc=Pf();function T$e(t,e){let r=Uie(t,e),o=Uie(e.ignore,e),a=_ie(r),n=Hie(r,o),u=a.filter(E=>Kc.pattern.isStaticPattern(E,e)),A=a.filter(E=>Kc.pattern.isDynamicPattern(E,e)),p=IO(u,n,!1),h=IO(A,n,!0);return p.concat(h)}Bo.generate=T$e;function Uie(t,e){let r=t;return e.braceExpansion&&(r=Kc.pattern.expandPatternsWithBraceExpansion(r)),e.baseNameMatch&&(r=r.map(o=>o.includes("/")?o:`**/${o}`)),r.map(o=>Kc.pattern.removeDuplicateSlashes(o))}function IO(t,e,r){let o=[],a=Kc.pattern.getPatternsOutsideCurrentDirectory(t),n=Kc.pattern.getPatternsInsideCurrentDirectory(t),u=wO(a),A=wO(n);return o.push(...BO(u,e,r)),"."in A?o.push(vO(".",n,e,r)):o.push(...BO(A,e,r)),o}Bo.convertPatternsToTasks=IO;function _ie(t){return Kc.pattern.getPositivePatterns(t)}Bo.getPositivePatterns=_ie;function Hie(t,e){return Kc.pattern.getNegativePatterns(t).concat(e).map(Kc.pattern.convertToPositivePattern)}Bo.getNegativePatternsAsPositive=Hie;function wO(t){let e={};return t.reduce((r,o)=>{let a=Kc.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}Bo.groupPatternsByBaseDirectory=wO;function BO(t,e,r){return Object.keys(t).map(o=>vO(o,t[o],e,r))}Bo.convertPatternGroupsToTasks=BO;function vO(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Kc.pattern.convertToNegativePattern))}}Bo.convertPatternGroupToTask=vO});var Gie=_(YS=>{"use strict";Object.defineProperty(YS,"__esModule",{value:!0});YS.read=void 0;function N$e(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){jie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){DO(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){jie(r,n);return}DO(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),DO(r,u)})})}YS.read=N$e;function jie(t,e){t(e)}function DO(t,e){t(null,e)}});var Wie=_(KS=>{"use strict";Object.defineProperty(KS,"__esModule",{value:!0});KS.read=void 0;function L$e(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}KS.read=L$e});var Yie=_(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.createFileSystemAdapter=rh.FILE_SYSTEM_ADAPTER=void 0;var VS=De("fs");rh.FILE_SYSTEM_ADAPTER={lstat:VS.lstat,stat:VS.stat,lstatSync:VS.lstatSync,statSync:VS.statSync};function O$e(t){return t===void 0?rh.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},rh.FILE_SYSTEM_ADAPTER),t)}rh.createFileSystemAdapter=O$e});var Kie=_(SO=>{"use strict";Object.defineProperty(SO,"__esModule",{value:!0});var M$e=Yie(),PO=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=M$e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};SO.default=PO});var vg=_(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.statSync=nh.stat=nh.Settings=void 0;var Vie=Gie(),U$e=Wie(),xO=Kie();nh.Settings=xO.default;function _$e(t,e,r){if(typeof e=="function"){Vie.read(t,bO(),e);return}Vie.read(t,bO(e),r)}nh.stat=_$e;function H$e(t,e){let r=bO(e);return U$e.read(t,r)}nh.statSync=H$e;function bO(t={}){return t instanceof xO.default?t:new xO.default(t)}});var Xie=_((PTt,Jie)=>{var zie;Jie.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):t=>(zie||(zie=Promise.resolve())).then(t).catch(e=>setTimeout(()=>{throw e},0))});var $ie=_((STt,Zie)=>{Zie.exports=j$e;var q$e=Xie();function j$e(t,e){let r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?q$e(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,w){A(h,E,w)})}):u(null),n=!1}});var QO=_(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});JS.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var zS=process.versions.node.split(".");if(zS[0]===void 0||zS[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var ese=Number.parseInt(zS[0],10),G$e=Number.parseInt(zS[1],10),tse=10,W$e=10,Y$e=ese>tse,K$e=ese===tse&&G$e>=W$e;JS.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Y$e||K$e});var rse=_(XS=>{"use strict";Object.defineProperty(XS,"__esModule",{value:!0});XS.createDirentFromStats=void 0;var kO=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function V$e(t,e){return new kO(t,e)}XS.createDirentFromStats=V$e});var FO=_(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});ZS.fs=void 0;var z$e=rse();ZS.fs=z$e});var RO=_($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});$S.joinPathSegments=void 0;function J$e(t,e,r){return t.endsWith(r)?t+e:t+r+e}$S.joinPathSegments=J$e});var lse=_(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});ih.readdir=ih.readdirWithFileTypes=ih.read=void 0;var X$e=vg(),nse=$ie(),Z$e=QO(),ise=FO(),sse=RO();function $$e(t,e,r){if(!e.stats&&Z$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){ose(t,e,r);return}ase(t,e,r)}ih.read=$$e;function ose(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){ex(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:sse.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){TO(r,n);return}let u=n.map(A=>eet(A,e));nse(u,(A,p)=>{if(A!==null){ex(r,A);return}TO(r,p)})})}ih.readdirWithFileTypes=ose;function eet(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=ise.fs.createDirentFromStats(t.name,a),r(null,t)})}}function ase(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){ex(r,o);return}let n=a.map(u=>{let A=sse.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{X$e.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let w={name:u,path:A,dirent:ise.fs.createDirentFromStats(u,E)};e.stats&&(w.stats=E),p(null,w)})}});nse(n,(u,A)=>{if(u!==null){ex(r,u);return}TO(r,A)})})}ih.readdir=ase;function ex(t,e){t(e)}function TO(t,e){t(null,e)}});var pse=_(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.readdir=sh.readdirWithFileTypes=sh.read=void 0;var tet=vg(),ret=QO(),cse=FO(),use=RO();function net(t,e){return!e.stats&&ret.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Ase(t,e):fse(t,e)}sh.read=net;function Ase(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:use.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=cse.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}sh.readdirWithFileTypes=Ase;function fse(t,e){return e.fs.readdirSync(t).map(o=>{let a=use.joinPathSegments(t,o,e.pathSegmentSeparator),n=tet.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:cse.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}sh.readdir=fse});var hse=_(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.createFileSystemAdapter=oh.FILE_SYSTEM_ADAPTER=void 0;var sy=De("fs");oh.FILE_SYSTEM_ADAPTER={lstat:sy.lstat,stat:sy.stat,lstatSync:sy.lstatSync,statSync:sy.statSync,readdir:sy.readdir,readdirSync:sy.readdirSync};function iet(t){return t===void 0?oh.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},oh.FILE_SYSTEM_ADAPTER),t)}oh.createFileSystemAdapter=iet});var gse=_(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});var set=De("path"),oet=vg(),aet=hse(),NO=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=aet.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,set.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new oet.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};LO.default=NO});var tx=_(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});ah.Settings=ah.scandirSync=ah.scandir=void 0;var dse=lse(),cet=pse(),OO=gse();ah.Settings=OO.default;function uet(t,e,r){if(typeof e=="function"){dse.read(t,MO(),e);return}dse.read(t,MO(e),r)}ah.scandir=uet;function Aet(t,e){let r=MO(e);return cet.read(t,r)}ah.scandirSync=Aet;function MO(t={}){return t instanceof OO.default?t:new OO.default(t)}});var yse=_((OTt,mse)=>{"use strict";function fet(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}mse.exports=fet});var Cse=_((MTt,UO)=>{"use strict";var pet=yse();function Ese(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var o=pet(het),a=null,n=null,u=0,A=null,p={push:T,drain:Yl,saturated:Yl,pause:E,paused:!1,get concurrency(){return r},set concurrency(de){if(!(de>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=de,!p.paused)for(;a&&u=r||p.paused?n?(n.next=me,n=me):(a=me,n=me,p.saturated()):(u++,e.call(t,me.value,me.worked))}function L(de,ce){var me=o.get();me.context=t,me.release=U,me.value=de,me.callback=ce||Yl,me.errorHandler=A,u>=r||p.paused?a?(me.next=a,a=me):(a=me,n=me,p.saturated()):(u++,e.call(t,me.value,me.worked))}function U(de){de&&o.release(de);var ce=a;ce&&u<=r?p.paused?u--:(n===a&&(n=null),a=ce.next,ce.next=null,e.call(t,ce.value,ce.worked),n===null&&p.empty()):--u===0&&p.drain()}function z(){a=null,n=null,p.drain=Yl}function te(){a=null,n=null,p.drain(),p.drain=Yl}function le(de){A=de}}function Yl(){}function het(){this.value=null,this.callback=Yl,this.next=null,this.release=Yl,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,o){var a=t.callback,n=t.errorHandler,u=t.value;t.value=null,t.callback=Yl,t.errorHandler&&n(r,u),a.call(t.context,r,o),t.release(t)}}function get(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function o(E,w){e.call(this,E).then(function(D){w(null,D)},w)}var a=Ese(t,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(E){var w=new Promise(function(D,b){n(E,function(C,T){if(C){b(C);return}D(T)})});return w.catch(Yl),w}function p(E){var w=new Promise(function(D,b){u(E,function(C,T){if(C){b(C);return}D(T)})});return w.catch(Yl),w}function h(){if(a.idle())return new Promise(function(D){D()});var E=a.drain,w=new Promise(function(D){a.drain=function(){E(),D()}});return w}}UO.exports=Ese;UO.exports.promise=get});var rx=_(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.joinPathSegments=eA.replacePathSegmentSeparator=eA.isAppliedFilter=eA.isFatalError=void 0;function det(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}eA.isFatalError=det;function met(t,e){return t===null||t(e)}eA.isAppliedFilter=met;function yet(t,e){return t.split(/[/\\]/).join(e)}eA.replacePathSegmentSeparator=yet;function Eet(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}eA.joinPathSegments=Eet});var qO=_(HO=>{"use strict";Object.defineProperty(HO,"__esModule",{value:!0});var Cet=rx(),_O=class{constructor(e,r){this._root=e,this._settings=r,this._root=Cet.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};HO.default=_O});var WO=_(GO=>{"use strict";Object.defineProperty(GO,"__esModule",{value:!0});var Iet=De("events"),wet=tx(),Bet=Cse(),nx=rx(),vet=qO(),jO=class extends vet.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=wet.scandir,this._emitter=new Iet.EventEmitter,this._queue=Bet(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!nx.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=nx.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),nx.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&nx.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};GO.default=jO});var Ise=_(KO=>{"use strict";Object.defineProperty(KO,"__esModule",{value:!0});var Det=WO(),YO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Det.default(this._root,this._settings),this._storage=[]}read(e){this._reader.onError(r=>{Pet(e,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{xet(e,this._storage)}),this._reader.read()}};KO.default=YO;function Pet(t,e){t(e)}function xet(t,e){t(null,e)}});var wse=_(zO=>{"use strict";Object.defineProperty(zO,"__esModule",{value:!0});var bet=De("stream"),Qet=WO(),VO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Qet.default(this._root,this._settings),this._stream=new bet.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};zO.default=VO});var Bse=_(XO=>{"use strict";Object.defineProperty(XO,"__esModule",{value:!0});var ket=tx(),ix=rx(),Fet=qO(),JO=class extends Fet.default{constructor(){super(...arguments),this._scandir=ket.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(ix.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=ix.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),ix.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&ix.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_pushToStorage(e){this._storage.push(e)}};XO.default=JO});var vse=_($O=>{"use strict";Object.defineProperty($O,"__esModule",{value:!0});var Ret=Bse(),ZO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Ret.default(this._root,this._settings)}read(){return this._reader.read()}};$O.default=ZO});var Dse=_(tM=>{"use strict";Object.defineProperty(tM,"__esModule",{value:!0});var Tet=De("path"),Net=tx(),eM=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Tet.sep),this.fsScandirSettings=new Net.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};tM.default=eM});var ox=_(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.Settings=tA.walkStream=tA.walkSync=tA.walk=void 0;var Pse=Ise(),Let=wse(),Oet=vse(),rM=Dse();tA.Settings=rM.default;function Met(t,e,r){if(typeof e=="function"){new Pse.default(t,sx()).read(e);return}new Pse.default(t,sx(e)).read(r)}tA.walk=Met;function Uet(t,e){let r=sx(e);return new Oet.default(t,r).read()}tA.walkSync=Uet;function _et(t,e){let r=sx(e);return new Let.default(t,r).read()}tA.walkStream=_et;function sx(t={}){return t instanceof rM.default?t:new rM.default(t)}});var ax=_(iM=>{"use strict";Object.defineProperty(iM,"__esModule",{value:!0});var Het=De("path"),qet=vg(),Sse=Pf(),nM=class{constructor(e){this._settings=e,this._fsStatSettings=new qet.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Het.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Sse.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Sse.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};iM.default=nM});var aM=_(oM=>{"use strict";Object.defineProperty(oM,"__esModule",{value:!0});var jet=De("stream"),Get=vg(),Wet=ox(),Yet=ax(),sM=class extends Yet.default{constructor(){super(...arguments),this._walkStream=Wet.walkStream,this._stat=Get.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new jet.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;nthis._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};oM.default=sM});var xse=_(cM=>{"use strict";Object.defineProperty(cM,"__esModule",{value:!0});var Ket=ox(),Vet=ax(),zet=aM(),lM=class extends Vet.default{constructor(){super(...arguments),this._walkAsync=Ket.walk,this._readerStream=new zet.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};cM.default=lM});var bse=_(AM=>{"use strict";Object.defineProperty(AM,"__esModule",{value:!0});var y1=Pf(),uM=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){for(let e of this._patterns){let r=this._getPatternSegments(e),o=this._splitSegmentsIntoSections(r);this._storage.push({complete:o.length<=1,pattern:e,segments:r,sections:o})}}_getPatternSegments(e){return y1.pattern.getPatternParts(e,this._micromatchOptions).map(o=>y1.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:y1.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return y1.array.splitWhen(e,r=>r.dynamic&&y1.pattern.hasGlobStar(r.pattern))}};AM.default=uM});var Qse=_(pM=>{"use strict";Object.defineProperty(pM,"__esModule",{value:!0});var Jet=bse(),fM=class extends Jet.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};pM.default=fM});var kse=_(gM=>{"use strict";Object.defineProperty(gM,"__esModule",{value:!0});var lx=Pf(),Xet=Qse(),hM=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new Xet.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(lx.pattern.isAffectDepthOfReadingPattern);return lx.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=lx.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!lx.pattern.matchAny(e,r)}};gM.default=hM});var Fse=_(mM=>{"use strict";Object.defineProperty(mM,"__esModule",{value:!0});var Dg=Pf(),dM=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=Dg.pattern.convertPatternsToRe(e,this._micromatchOptions),a=Dg.pattern.convertPatternsToRe(r,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}));return n=>this._filter(n,o,a)}_filter(e,r,o){let a=Dg.path.removeLeadingDotSegment(e.path);if(this._settings.unique&&this._isDuplicateEntry(a)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(a,o))return!1;let n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(a,o,n);return this._settings.unique&&u&&this._createIndexRecord(a),u}_isDuplicateEntry(e){return this.index.has(e)}_createIndexRecord(e){this.index.set(e,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=Dg.path.makeAbsolute(this._settings.cwd,e);return Dg.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=Dg.pattern.matchAny(e,r);return!a&&o?Dg.pattern.matchAny(e+"/",r):a}};mM.default=dM});var Rse=_(EM=>{"use strict";Object.defineProperty(EM,"__esModule",{value:!0});var Zet=Pf(),yM=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return Zet.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};EM.default=yM});var Nse=_(IM=>{"use strict";Object.defineProperty(IM,"__esModule",{value:!0});var Tse=Pf(),CM=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Tse.path.makeAbsolute(this._settings.cwd,r),r=Tse.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};IM.default=CM});var cx=_(BM=>{"use strict";Object.defineProperty(BM,"__esModule",{value:!0});var $et=De("path"),ett=kse(),ttt=Fse(),rtt=Rse(),ntt=Nse(),wM=class{constructor(e){this._settings=e,this.errorFilter=new rtt.default(this._settings),this.entryFilter=new ttt.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ett.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new ntt.default(this._settings)}_getRootDirectory(e){return $et.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};BM.default=wM});var Lse=_(DM=>{"use strict";Object.defineProperty(DM,"__esModule",{value:!0});var itt=xse(),stt=cx(),vM=class extends stt.default{constructor(){super(...arguments),this._reader=new itt.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};DM.default=vM});var Ose=_(SM=>{"use strict";Object.defineProperty(SM,"__esModule",{value:!0});var ott=De("stream"),att=aM(),ltt=cx(),PM=class extends ltt.default{constructor(){super(...arguments),this._reader=new att.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new ott.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};SM.default=PM});var Mse=_(bM=>{"use strict";Object.defineProperty(bM,"__esModule",{value:!0});var ctt=vg(),utt=ox(),Att=ax(),xM=class extends Att.default{constructor(){super(...arguments),this._walkSync=utt.walkSync,this._statSync=ctt.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};bM.default=xM});var Use=_(kM=>{"use strict";Object.defineProperty(kM,"__esModule",{value:!0});var ftt=Mse(),ptt=cx(),QM=class extends ptt.default{constructor(){super(...arguments),this._reader=new ftt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};kM.default=QM});var _se=_(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var oy=De("fs"),htt=De("os"),gtt=Math.max(htt.cpus().length,1);ay.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:oy.lstat,lstatSync:oy.lstatSync,stat:oy.stat,statSync:oy.statSync,readdir:oy.readdir,readdirSync:oy.readdirSync};var FM=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,gtt),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0),this.ignore=[].concat(this.ignore)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},ay.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};ay.default=FM});var ux=_((cNt,qse)=>{"use strict";var Hse=qie(),dtt=Lse(),mtt=Ose(),ytt=Use(),RM=_se(),Kl=Pf();async function TM(t,e){Vc(t);let r=NM(t,dtt.default,e),o=await Promise.all(r);return Kl.array.flatten(o)}(function(t){t.glob=t,t.globSync=e,t.globStream=r,t.async=t;function e(h,E){Vc(h);let w=NM(h,ytt.default,E);return Kl.array.flatten(w)}t.sync=e;function r(h,E){Vc(h);let w=NM(h,mtt.default,E);return Kl.stream.merge(w)}t.stream=r;function o(h,E){Vc(h);let w=[].concat(h),D=new RM.default(E);return Hse.generate(w,D)}t.generateTasks=o;function a(h,E){Vc(h);let w=new RM.default(E);return Kl.pattern.isDynamicPattern(h,w)}t.isDynamicPattern=a;function n(h){return Vc(h),Kl.path.escape(h)}t.escapePath=n;function u(h){return Vc(h),Kl.path.convertPathToPattern(h)}t.convertPathToPattern=u;let A;(function(h){function E(D){return Vc(D),Kl.path.escapePosixPath(D)}h.escapePath=E;function w(D){return Vc(D),Kl.path.convertPosixPathToPattern(D)}h.convertPathToPattern=w})(A=t.posix||(t.posix={}));let p;(function(h){function E(D){return Vc(D),Kl.path.escapeWindowsPath(D)}h.escapePath=E;function w(D){return Vc(D),Kl.path.convertWindowsPathToPattern(D)}h.convertPathToPattern=w})(p=t.win32||(t.win32={}))})(TM||(TM={}));function NM(t,e,r){let o=[].concat(t),a=new RM.default(r),n=Hse.generate(o,a),u=new e(a);return n.map(u.read,u)}function Vc(t){if(![].concat(t).every(o=>Kl.string.isString(o)&&!Kl.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}qse.exports=TM});var bn={};Kt(bn,{checksumFile:()=>fx,checksumPattern:()=>px,makeHash:()=>zi});function zi(...t){let e=(0,Ax.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function fx(t,{baseFs:e,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,Ax.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function px(t,{cwd:e}){let o=(await(0,LM.default)(t,{cwd:ue.fromPortablePath(e),onlyDirectories:!0})).map(A=>`${A}/**/*`),a=await(0,LM.default)([t,...o],{cwd:ue.fromPortablePath(e),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=K.join(e,ue.toPortablePath(A)),E=await ae.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):E.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,Ax.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var Ax,LM,lh=It(()=>{Pt();Ax=De("crypto"),LM=et(ux())});var G={};Kt(G,{allPeerRequests:()=>S1,areDescriptorsEqual:()=>Kse,areIdentsEqual:()=>w1,areLocatorsEqual:()=>B1,areVirtualPackagesEquivalent:()=>Stt,bindDescriptor:()=>Dtt,bindLocator:()=>Ptt,convertDescriptorToLocator:()=>hx,convertLocatorToDescriptor:()=>MM,convertPackageToLocator:()=>wtt,convertToIdent:()=>Itt,convertToManifestRange:()=>Ott,copyPackage:()=>C1,devirtualizeDescriptor:()=>I1,devirtualizeLocator:()=>cy,ensureDevirtualizedDescriptor:()=>Btt,ensureDevirtualizedLocator:()=>vtt,getIdentVendorPath:()=>qM,isPackageCompatible:()=>Ex,isVirtualDescriptor:()=>Sf,isVirtualLocator:()=>zc,makeDescriptor:()=>Qn,makeIdent:()=>rA,makeLocator:()=>Ss,makeRange:()=>mx,parseDescriptor:()=>ch,parseFileStyleRange:()=>Ntt,parseIdent:()=>Zo,parseLocator:()=>xf,parseRange:()=>Pg,prettyDependent:()=>hO,prettyDescriptor:()=>zn,prettyIdent:()=>Ui,prettyLocator:()=>jr,prettyLocatorNoColors:()=>pO,prettyRange:()=>Ay,prettyReference:()=>D1,prettyResolution:()=>m1,prettyWorkspace:()=>P1,renamePackage:()=>UM,slugifyIdent:()=>OM,slugifyLocator:()=>uy,sortDescriptors:()=>fy,stringifyDescriptor:()=>Qa,stringifyIdent:()=>rn,stringifyLocator:()=>ka,tryParseDescriptor:()=>v1,tryParseIdent:()=>Vse,tryParseLocator:()=>dx,tryParseRange:()=>Ttt,virtualizeDescriptor:()=>_M,virtualizePackage:()=>HM});function rA(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function Qn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Ss(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function Itt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function hx(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function MM(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function wtt(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function UM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function C1(t){return UM(t,t)}function _M(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Qn(t,`virtual:${e}#${t.range}`)}function HM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return UM(t,Ss(t,`virtual:${e}#${t.reference}`))}function Sf(t){return t.range.startsWith(E1)}function zc(t){return t.reference.startsWith(E1)}function I1(t){if(!Sf(t))throw new Error("Not a virtual descriptor");return Qn(t,t.range.replace(gx,""))}function cy(t){if(!zc(t))throw new Error("Not a virtual descriptor");return Ss(t,t.reference.replace(gx,""))}function Btt(t){return Sf(t)?Qn(t,t.range.replace(gx,"")):t}function vtt(t){return zc(t)?Ss(t,t.reference.replace(gx,"")):t}function Dtt(t,e){return t.range.includes("::")?t:Qn(t,`${t.range}::${ly.default.stringify(e)}`)}function Ptt(t,e){return t.reference.includes("::")?t:Ss(t,`${t.reference}::${ly.default.stringify(e)}`)}function w1(t,e){return t.identHash===e.identHash}function Kse(t,e){return t.descriptorHash===e.descriptorHash}function B1(t,e){return t.locatorHash===e.locatorHash}function Stt(t,e){if(!zc(t))throw new Error("Invalid package type");if(!zc(e))throw new Error("Invalid package type");if(!w1(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!Kse(r,o))return!1}return!0}function Zo(t){let e=Vse(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function Vse(t){let e=t.match(xtt);if(!e)return null;let[,r,o]=e;return rA(typeof r<"u"?r:null,o)}function ch(t,e=!1){let r=v1(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function v1(t,e=!1){let r=e?t.match(btt):t.match(Qtt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Qn(rA(u,a),A)}function xf(t,e=!1){let r=dx(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function dx(t,e=!1){let r=e?t.match(ktt):t.match(Ftt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Ss(rA(u,a),A)}function Pg(t,e){let r=t.match(Rtt);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof e?.requireProtocol=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if(e?.requireProtocol&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(e?.requireSource&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e?.parseSelector?ly.default.parse(n):n,A=typeof r[4]<"u"?ly.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function Ttt(t,e){try{return Pg(t,e)}catch{return null}}function Ntt(t,{protocol:e}){let{selector:r,params:o}=Pg(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:xf(o.locator,!0),path:r}}function jse(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A"),t=t.replaceAll("#","%23"),t}function Ltt(t){return t===null?!1:Object.entries(t).length>0}function mx({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${jse(e)}#`),a+=jse(r),Ltt(o)&&(a+=`::${ly.default.stringify(o)}`),a}function Ott(t){let{params:e,protocol:r,source:o,selector:a}=Pg(t);for(let n in e)n.startsWith("__")&&delete e[n];return mx({protocol:r,source:o,params:e,selector:a})}function rn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Qa(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function ka(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function OM(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function uy(t){let{protocol:e,selector:r}=Pg(t.reference),o=e!==null?e.replace(Mtt,""):"exotic",a=Gse.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10;return t.scope?`${OM(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${OM(t)}-${n}-${t.locatorHash.slice(0,u)}`}function Ui(t,e){return e.scope?`${Ut(t,`@${e.scope}/`,Ct.SCOPE)}${Ut(t,e.name,Ct.NAME)}`:`${Ut(t,e.name,Ct.NAME)}`}function yx(t){if(t.startsWith(E1)){let e=yx(t.substring(t.indexOf("#")+1)),r=t.substring(E1.length,E1.length+Ett);return`${e} [${r}]`}else return t.replace(Utt,"?[...]")}function Ay(t,e){return`${Ut(t,yx(e),Ct.RANGE)}`}function zn(t,e){return`${Ui(t,e)}${Ut(t,"@",Ct.RANGE)}${Ay(t,e.range)}`}function D1(t,e){return`${Ut(t,yx(e),Ct.REFERENCE)}`}function jr(t,e){return`${Ui(t,e)}${Ut(t,"@",Ct.REFERENCE)}${D1(t,e.reference)}`}function pO(t){return`${rn(t)}@${yx(t.reference)}`}function fy(t){return Ps(t,[e=>rn(e),e=>e.range])}function P1(t,e){return Ui(t,e.anchoredLocator)}function m1(t,e,r){let o=Sf(e)?I1(e):e;return r===null?`${zn(t,o)} \u2192 ${fO(t).Cross}`:o.identHash===r.identHash?`${zn(t,o)} \u2192 ${D1(t,r.reference)}`:`${zn(t,o)} \u2192 ${jr(t,r)}`}function hO(t,e,r){return r===null?`${jr(t,e)}`:`${jr(t,e)} (via ${Ay(t,r.range)})`}function qM(t){return`node_modules/${rn(t)}`}function Ex(t,e){return t.conditions?Ctt(t.conditions,r=>{let[,o,a]=r.match(Yse),n=e[o];return n?n.includes(a):!0}):!0}function S1(t){let e=new Set;if("children"in t)e.add(t);else for(let r of t.requests.values())e.add(r);for(let r of e)for(let o of r.children.values())e.add(o);return e}var ly,Gse,Wse,E1,Ett,Yse,Ctt,gx,xtt,btt,Qtt,ktt,Ftt,Rtt,Mtt,Utt,Io=It(()=>{ly=et(De("querystring")),Gse=et(ni()),Wse=et(_X());Wl();lh();Gl();Io();E1="virtual:",Ett=5,Yse=/(os|cpu|libc)=([a-z0-9_-]+)/,Ctt=(0,Wse.makeParser)(Yse);gx=/^[^#]*#/;xtt=/^(?:@([^/]+?)\/)?([^@/]+)$/;btt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Qtt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;ktt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Ftt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Rtt=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;Mtt=/:$/;Utt=/\?.*/});var zse,Jse=It(()=>{Io();zse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==rn(r)||e.configuration.normalizeLocator(Ss(Zo(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==rn(t)||e.configuration.normalizeDependency(Qn(xf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(Qn(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=P1(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var ci,Sg=It(()=>{ci=class t{static{this.protocol="workspace:"}supportsDescriptor(e,r){return!!(e.range.startsWith(t.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(t.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(t.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}}});var Ur={};Kt(Ur,{SemVer:()=>toe.SemVer,clean:()=>Htt,getComparator:()=>$se,mergeComparators:()=>jM,satisfiesWithPrereleases:()=>nA,simplifyRanges:()=>GM,stringifyComparator:()=>eoe,validRange:()=>Fa});function nA(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=Xse.get(o);if(typeof a>"u")try{a=new bf.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Xse.set(o,a||null)}else if(a===null)return!1;let n;try{n=new bf.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function Fa(t){if(t.indexOf(":")!==-1)return null;let e=Zse.get(t);if(typeof e<"u")return e;try{e=new bf.default.Range(t)}catch{e=null}return Zse.set(t,e),e}function Htt(t){let e=_tt.exec(t);return e?e[1]:null}function $se(t){if(t.semver===bf.default.Comparator.ANY)return{gt:null,lt:null};switch(t.operator){case"":return{gt:[">=",t.semver],lt:["<=",t.semver]};case">":case">=":return{gt:[t.operator,t.semver],lt:null};case"<":case"<=":return{gt:null,lt:[t.operator,t.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${t.operator})`)}}function jM(t){if(t.length===0)return null;let e=null,r=null;for(let o of t){if(o.gt){let a=e!==null?bf.default.compare(o.gt[1],e[1]):null;(a===null||a>0||a===0&&o.gt[0]===">")&&(e=o.gt)}if(o.lt){let a=r!==null?bf.default.compare(o.lt[1],r[1]):null;(a===null||a<0||a===0&&o.lt[0]==="<")&&(r=o.lt)}}if(e&&r){let o=bf.default.compare(e[1],r[1]);if(o===0&&(e[0]===">"||r[0]==="<")||o>0)return null}return{gt:e,lt:r}}function eoe(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1].version===t.lt[1].version)return t.gt[1].version;if(t.gt[0]===">="&&t.lt[0]==="<"){if(t.lt[1].version===`${t.gt[1].major+1}.0.0-0`)return`^${t.gt[1].version}`;if(t.lt[1].version===`${t.gt[1].major}.${t.gt[1].minor+1}.0-0`)return`~${t.gt[1].version}`}}let e=[];return t.gt&&e.push(t.gt[0]+t.gt[1].version),t.lt&&e.push(t.lt[0]+t.lt[1].version),e.length?e.join(" "):"*"}function GM(t){let e=t.map(qtt).map(o=>Fa(o).set.map(a=>a.map(n=>$se(n)))),r=e.shift().map(o=>jM(o)).filter(o=>o!==null);for(let o of e){let a=[];for(let n of r)for(let u of o){let A=jM([n,...u]);A!==null&&a.push(A)}r=a}return r.length===0?null:r.map(o=>eoe(o)).join(" || ")}function qtt(t){let e=t.split("||");if(e.length>1){let r=new Set;for(let o of e)e.some(a=>a!==o&&bf.default.subset(o,a))||r.add(o);if(r.size{bf=et(ni()),toe=et(ni()),Xse=new Map;Zse=new Map;_tt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function roe(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function noe(t){return t.charCodeAt(0)===65279?t.slice(1):t}function $o(t){return t.replace(/\\/g,"/")}function Cx(t,{yamlCompatibilityMode:e}){return e?sO(t):typeof t>"u"||typeof t=="boolean"?t:null}function ioe(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function WM(t,e){return e.length===1?ioe(t,e[0]):`(${e.map(r=>ioe(t,r)).join(" | ")})`}var soe,_t,py=It(()=>{Pt();Ol();soe=et(ni());Sg();Gl();Qf();Io();_t=class t{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static{this.fileName="package.json"}static{this.allDependencies=["dependencies","devDependencies","peerDependencies"]}static{this.hardDependencies=["dependencies","devDependencies"]}static async tryFind(e,{baseFs:r=new _n}={}){let o=K.join(e,"package.json");try{return await t.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await t.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new _n}={}){let o=new t;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new t;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(noe(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=roe(e)}async loadFile(e,{baseFs:r=new _n}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(noe(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=roe(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Zo(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=$o(e.main):this.main=null,typeof e.module=="string"?this.module=$o(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=$o(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set($o(n),typeof u=="string"?$o(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?o.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,$o(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"||u.trim()===""){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Zo(n);this.bin.set(A.name,$o(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Qn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Qn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(ci.protocol)&&!Fa(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=Qn(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=ch(n),p=this.ensureDependencyMeta(A),h=Cx(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=Cx(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let w=Cx(u.unplugged,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:w})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=ch(n),p=this.ensurePeerDependencyMeta(A),h=Cx(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:pP(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=$o(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=$o(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=$o(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set($o(n),typeof u=="string"?$o(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,$o(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,$o(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add($o(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=Qn(A,u);this.dependencies.set(p.identHash,p);let h=Qn(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(WM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(WM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(WM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!soe.default.valid(e.range))throw new Error(`Invalid meta field range for '${Qa(e)}'`);let r=rn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Qa(e)}'`);let r=rn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=rn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(rn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...fy(o).map(n=>({[rn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...fy(a).map(n=>({[rn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...fy(this.devDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...fy(this.peerDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Ps(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Ps(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?Qa(Qn(Zo(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Ps(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[hP(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??={};for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}}});var aoe=_((vNt,ooe)=>{var jtt=ql(),Gtt=function(){return jtt.Date.now()};ooe.exports=Gtt});var coe=_((DNt,loe)=>{var Wtt=/\s/;function Ytt(t){for(var e=t.length;e--&&Wtt.test(t.charAt(e)););return e}loe.exports=Ytt});var Aoe=_((PNt,uoe)=>{var Ktt=coe(),Vtt=/^\s+/;function ztt(t){return t&&t.slice(0,Ktt(t)+1).replace(Vtt,"")}uoe.exports=ztt});var hy=_((SNt,foe)=>{var Jtt=Eg(),Xtt=Zu(),Ztt="[object Symbol]";function $tt(t){return typeof t=="symbol"||Xtt(t)&&Jtt(t)==Ztt}foe.exports=$tt});var doe=_((xNt,goe)=>{var ert=Aoe(),poe=cl(),trt=hy(),hoe=NaN,rrt=/^[-+]0x[0-9a-f]+$/i,nrt=/^0b[01]+$/i,irt=/^0o[0-7]+$/i,srt=parseInt;function ort(t){if(typeof t=="number")return t;if(trt(t))return hoe;if(poe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=poe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=ert(t);var r=nrt.test(t);return r||irt.test(t)?srt(t.slice(2),r?2:8):rrt.test(t)?hoe:+t}goe.exports=ort});var Eoe=_((bNt,yoe)=>{var art=cl(),YM=aoe(),moe=doe(),lrt="Expected a function",crt=Math.max,urt=Math.min;function Art(t,e,r){var o,a,n,u,A,p,h=0,E=!1,w=!1,D=!0;if(typeof t!="function")throw new TypeError(lrt);e=moe(e)||0,art(r)&&(E=!!r.leading,w="maxWait"in r,n=w?crt(moe(r.maxWait)||0,e):n,D="trailing"in r?!!r.trailing:D);function b(ce){var me=o,pe=a;return o=a=void 0,h=ce,u=t.apply(pe,me),u}function C(ce){return h=ce,A=setTimeout(U,e),E?b(ce):u}function T(ce){var me=ce-p,pe=ce-h,ve=e-me;return w?urt(ve,n-pe):ve}function L(ce){var me=ce-p,pe=ce-h;return p===void 0||me>=e||me<0||w&&pe>=n}function U(){var ce=YM();if(L(ce))return z(ce);A=setTimeout(U,T(ce))}function z(ce){return A=void 0,D&&o?b(ce):(o=a=void 0,u)}function te(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function le(){return A===void 0?u:z(YM())}function de(){var ce=YM(),me=L(ce);if(o=arguments,a=this,p=ce,me){if(A===void 0)return C(p);if(w)return clearTimeout(A),A=setTimeout(U,e),b(p)}return A===void 0&&(A=setTimeout(U,e)),u}return de.cancel=te,de.flush=le,de}yoe.exports=Art});var KM=_((QNt,Coe)=>{var frt=Eoe(),prt=cl(),hrt="Expected a function";function grt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(hrt);return prt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),frt(t,e,{leading:o,maxWait:e,trailing:a})}Coe.exports=grt});function mrt(t){return typeof t.reportCode<"u"}var Ioe,woe,Boe,drt,zt,Ws,Vl=It(()=>{Ioe=et(KM()),woe=De("stream"),Boe=De("string_decoder"),drt=15,zt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Ws=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(e){this.cacheHits.add(e.locatorHash)}reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r{r=u}),a=(0,Ioe.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/drt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),o?.reportExtra?.(this))}reportWarningOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),o?.reportExtra?.(this))}reportErrorOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),o?.reportExtra?.(this))}reportExceptionOnce(e){mrt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new woe.PassThrough,o=new Boe.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` -`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var gy,VM=It(()=>{Vl();Io();gy=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new zt(11,`${jr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var xg,zM=It(()=>{Io();xg=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${zn(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${jr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var dy,JM=It(()=>{Pt();Io();dy=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Ss(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Ss(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return uy(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=qs.makeVirtualPath(n,u,a),p=new ju(A,{baseFs:r.packageFs,pathUtils:K});return{...r,packageFs:p}}}});var Ix,voe=It(()=>{Ix=class t{static{this.protocol="virtual:"}static isVirtualDescriptor(e){return!!e.range.startsWith(t.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(t.protocol)}supportsDescriptor(e,r){return t.isVirtualDescriptor(e)}supportsLocator(e,r){return t.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}});var my,XM=It(()=>{Pt();Sg();my=class{supports(e){return!!e.reference.startsWith(ci.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new En(o),prefixPath:Bt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(ci.protocol.length))}}});function x1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Doe(t){return typeof t>"u"?3:x1(t)?0:Array.isArray(t)?1:2}function e4(t,e){return Object.hasOwn(t,e)}function Ert(t){return x1(t)&&e4(t,"onConflict")&&typeof t.onConflict=="string"}function Crt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!Ert(t))return{onConflict:"default",value:t};if(e4(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function Poe(t,e){let r=x1(t)&&e4(t,e)?t[e]:void 0;return Crt(r)}function yy(t,e){return[t,e,Soe]}function t4(t){return Array.isArray(t)?t[2]===Soe:!1}function ZM(t,e){if(x1(t)){let r={};for(let o of Object.keys(t))r[o]=ZM(t[o],e);return yy(e,r)}return Array.isArray(t)?yy(e,t.map(r=>ZM(r,e))):yy(e,t)}function $M(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[w,D]=t[E],{onConflict:b,value:C}=Poe(D,r),T=Doe(C);if(T!==3){if(n??=T,T!==n||b==="hardReset"){p=A;break}if(T===2)return yy(w,C);if(u.unshift([w,C]),b==="reset"){p=E;break}b==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return yy(h,new Array().concat(...u.map(([E,w])=>w.map(D=>ZM(D,E)))));case 0:{let E=Object.assign({},...u.map(([,T])=>T)),w=Object.keys(E),D={},b=t.map(([T,L])=>[T,Poe(L,r).value]),C=yrt(b,([T,L])=>{let U=Doe(L);return U!==0&&U!==3});if(C!==-1){let T=b.slice(C+1);for(let L of w)D[L]=$M(T,e,L,0,T.length)}else for(let T of w)D[T]=$M(b,e,T,p,b.length);return yy(h,D)}default:throw new Error("Assertion failed: Non-extendable value type")}}function xoe(t){return $M(t.map(([e,r])=>[e,{".":r}]),[],".",0,t.length)}function b1(t){return t4(t)?t[1]:t}function wx(t){let e=t4(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>wx(r));if(x1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=wx(a);return r}return e}function r4(t){return t4(t)?t[0]:null}var yrt,Soe,boe=It(()=>{yrt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Soe=Symbol()});var Bx={};Kt(Bx,{getDefaultGlobalFolder:()=>i4,getHomeFolder:()=>Ey,isFolderInside:()=>s4});function i4(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,n4.homedir)(),"AppData","Local"));return K.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return K.resolve(t,"yarn/berry")}return K.resolve(Ey(),".yarn/berry")}function Ey(){return ue.toPortablePath((0,n4.homedir)()||"/usr/local/share")}function s4(t,e){let r=K.relative(e,t);return r&&!r.startsWith("..")&&!K.isAbsolute(r)}var n4,vx=It(()=>{Pt();n4=De("os")});var Roe=_(Cy=>{"use strict";var jNt=De("net"),wrt=De("tls"),o4=De("http"),Qoe=De("https"),Brt=De("events"),GNt=De("assert"),vrt=De("util");Cy.httpOverHttp=Drt;Cy.httpsOverHttp=Prt;Cy.httpOverHttps=Srt;Cy.httpsOverHttps=xrt;function Drt(t){var e=new kf(t);return e.request=o4.request,e}function Prt(t){var e=new kf(t);return e.request=o4.request,e.createSocket=koe,e.defaultPort=443,e}function Srt(t){var e=new kf(t);return e.request=Qoe.request,e}function xrt(t){var e=new kf(t);return e.request=Qoe.request,e.createSocket=koe,e.defaultPort=443,e}function kf(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||o4.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=Foe(a,n,u),p=0,h=e.requests.length;p=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};kf.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=a4({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),uh("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(w){w.upgrade=!0}function p(w,D,b){process.nextTick(function(){h(w,D,b)})}function h(w,D,b){if(u.removeAllListeners(),D.removeAllListeners(),w.statusCode!==200){uh("tunneling socket could not be established, statusCode=%d",w.statusCode),D.destroy();var C=new Error("tunneling socket could not be established, statusCode="+w.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(b.length>0){uh("got illegal response body from proxy"),D.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return uh("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=D,r(D)}function E(w){u.removeAllListeners(),uh(`tunneling socket could not be established, cause=%s -`,w.message,w.stack);var D=new Error("tunneling socket could not be established, cause="+w.message);D.code="ECONNRESET",e.request.emit("error",D),o.removeSocket(a)}};kf.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function koe(t,e){var r=this;kf.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=a4({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=wrt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function Foe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function a4(t){for(var e=1,r=arguments.length;e{Toe.exports=Roe()});var Rf=_((Ff,Dx)=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Loe=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function brt(t){return Loe.includes(t)}var Qrt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Loe];function krt(t){return Qrt.includes(t)}var Frt=["null","undefined","string","number","bigint","boolean","symbol"];function Rrt(t){return Frt.includes(t)}function Iy(t){return e=>typeof e===t}var{toString:Ooe}=Object.prototype,Q1=t=>{let e=Ooe.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Se.domElement(t))return"HTMLElement";if(krt(e))return e},ii=t=>e=>Q1(e)===t;function Se(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Se.observable(t))return"Observable";if(Se.array(t))return"Array";if(Se.buffer(t))return"Buffer";let e=Q1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Se.undefined=Iy("undefined");Se.string=Iy("string");var Trt=Iy("number");Se.number=t=>Trt(t)&&!Se.nan(t);Se.bigint=Iy("bigint");Se.function_=Iy("function");Se.null_=t=>t===null;Se.class_=t=>Se.function_(t)&&t.toString().startsWith("class ");Se.boolean=t=>t===!0||t===!1;Se.symbol=Iy("symbol");Se.numericString=t=>Se.string(t)&&!Se.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Se.array=(t,e)=>Array.isArray(t)?Se.function_(e)?t.every(e):!0:!1;Se.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};Se.blob=t=>ii("Blob")(t);Se.nullOrUndefined=t=>Se.null_(t)||Se.undefined(t);Se.object=t=>!Se.null_(t)&&(typeof t=="object"||Se.function_(t));Se.iterable=t=>{var e;return Se.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Se.asyncIterable=t=>{var e;return Se.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Se.generator=t=>{var e,r;return Se.iterable(t)&&Se.function_((e=t)===null||e===void 0?void 0:e.next)&&Se.function_((r=t)===null||r===void 0?void 0:r.throw)};Se.asyncGenerator=t=>Se.asyncIterable(t)&&Se.function_(t.next)&&Se.function_(t.throw);Se.nativePromise=t=>ii("Promise")(t);var Nrt=t=>{var e,r;return Se.function_((e=t)===null||e===void 0?void 0:e.then)&&Se.function_((r=t)===null||r===void 0?void 0:r.catch)};Se.promise=t=>Se.nativePromise(t)||Nrt(t);Se.generatorFunction=ii("GeneratorFunction");Se.asyncGeneratorFunction=t=>Q1(t)==="AsyncGeneratorFunction";Se.asyncFunction=t=>Q1(t)==="AsyncFunction";Se.boundFunction=t=>Se.function_(t)&&!t.hasOwnProperty("prototype");Se.regExp=ii("RegExp");Se.date=ii("Date");Se.error=ii("Error");Se.map=t=>ii("Map")(t);Se.set=t=>ii("Set")(t);Se.weakMap=t=>ii("WeakMap")(t);Se.weakSet=t=>ii("WeakSet")(t);Se.int8Array=ii("Int8Array");Se.uint8Array=ii("Uint8Array");Se.uint8ClampedArray=ii("Uint8ClampedArray");Se.int16Array=ii("Int16Array");Se.uint16Array=ii("Uint16Array");Se.int32Array=ii("Int32Array");Se.uint32Array=ii("Uint32Array");Se.float32Array=ii("Float32Array");Se.float64Array=ii("Float64Array");Se.bigInt64Array=ii("BigInt64Array");Se.bigUint64Array=ii("BigUint64Array");Se.arrayBuffer=ii("ArrayBuffer");Se.sharedArrayBuffer=ii("SharedArrayBuffer");Se.dataView=ii("DataView");Se.enumCase=(t,e)=>Object.values(e).includes(t);Se.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Se.urlInstance=t=>ii("URL")(t);Se.urlString=t=>{if(!Se.string(t))return!1;try{return new URL(t),!0}catch{return!1}};Se.truthy=t=>!!t;Se.falsy=t=>!t;Se.nan=t=>Number.isNaN(t);Se.primitive=t=>Se.null_(t)||Rrt(typeof t);Se.integer=t=>Number.isInteger(t);Se.safeInteger=t=>Number.isSafeInteger(t);Se.plainObject=t=>{if(Ooe.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Se.typedArray=t=>brt(Q1(t));var Lrt=t=>Se.safeInteger(t)&&t>=0;Se.arrayLike=t=>!Se.nullOrUndefined(t)&&!Se.function_(t)&&Lrt(t.length);Se.inRange=(t,e)=>{if(Se.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Se.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Ort=1,Mrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];Se.domElement=t=>Se.object(t)&&t.nodeType===Ort&&Se.string(t.nodeName)&&!Se.plainObject(t)&&Mrt.every(e=>e in t);Se.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};Se.nodeStream=t=>Se.object(t)&&Se.function_(t.pipe)&&!Se.observable(t);Se.infinite=t=>t===1/0||t===-1/0;var Moe=t=>e=>Se.integer(e)&&Math.abs(e%2)===t;Se.evenInteger=Moe(0);Se.oddInteger=Moe(1);Se.emptyArray=t=>Se.array(t)&&t.length===0;Se.nonEmptyArray=t=>Se.array(t)&&t.length>0;Se.emptyString=t=>Se.string(t)&&t.length===0;var Urt=t=>Se.string(t)&&!/\S/.test(t);Se.emptyStringOrWhitespace=t=>Se.emptyString(t)||Urt(t);Se.nonEmptyString=t=>Se.string(t)&&t.length>0;Se.nonEmptyStringAndNotWhitespace=t=>Se.string(t)&&!Se.emptyStringOrWhitespace(t);Se.emptyObject=t=>Se.object(t)&&!Se.map(t)&&!Se.set(t)&&Object.keys(t).length===0;Se.nonEmptyObject=t=>Se.object(t)&&!Se.map(t)&&!Se.set(t)&&Object.keys(t).length>0;Se.emptySet=t=>Se.set(t)&&t.size===0;Se.nonEmptySet=t=>Se.set(t)&&t.size>0;Se.emptyMap=t=>Se.map(t)&&t.size===0;Se.nonEmptyMap=t=>Se.map(t)&&t.size>0;Se.propertyKey=t=>Se.any([Se.string,Se.number,Se.symbol],t);Se.formData=t=>ii("FormData")(t);Se.urlSearchParams=t=>ii("URLSearchParams")(t);var Uoe=(t,e,r)=>{if(!Se.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Se.any=(t,...e)=>(Se.array(t)?t:[t]).some(o=>Uoe(Array.prototype.some,o,e));Se.all=(t,...e)=>Uoe(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${Se(u)}\``))].join(", ")}`:`received value of type \`${Se(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Ff.assert={undefined:t=>Mt(Se.undefined(t),"undefined",t),string:t=>Mt(Se.string(t),"string",t),number:t=>Mt(Se.number(t),"number",t),bigint:t=>Mt(Se.bigint(t),"bigint",t),function_:t=>Mt(Se.function_(t),"Function",t),null_:t=>Mt(Se.null_(t),"null",t),class_:t=>Mt(Se.class_(t),"Class",t),boolean:t=>Mt(Se.boolean(t),"boolean",t),symbol:t=>Mt(Se.symbol(t),"symbol",t),numericString:t=>Mt(Se.numericString(t),"string with a number",t),array:(t,e)=>{Mt(Se.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(Se.buffer(t),"Buffer",t),blob:t=>Mt(Se.blob(t),"Blob",t),nullOrUndefined:t=>Mt(Se.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(Se.object(t),"Object",t),iterable:t=>Mt(Se.iterable(t),"Iterable",t),asyncIterable:t=>Mt(Se.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(Se.generator(t),"Generator",t),asyncGenerator:t=>Mt(Se.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(Se.nativePromise(t),"native Promise",t),promise:t=>Mt(Se.promise(t),"Promise",t),generatorFunction:t=>Mt(Se.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(Se.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(Se.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(Se.boundFunction(t),"Function",t),regExp:t=>Mt(Se.regExp(t),"RegExp",t),date:t=>Mt(Se.date(t),"Date",t),error:t=>Mt(Se.error(t),"Error",t),map:t=>Mt(Se.map(t),"Map",t),set:t=>Mt(Se.set(t),"Set",t),weakMap:t=>Mt(Se.weakMap(t),"WeakMap",t),weakSet:t=>Mt(Se.weakSet(t),"WeakSet",t),int8Array:t=>Mt(Se.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(Se.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(Se.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(Se.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(Se.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(Se.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(Se.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(Se.float32Array(t),"Float32Array",t),float64Array:t=>Mt(Se.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(Se.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(Se.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(Se.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(Se.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(Se.dataView(t),"DataView",t),enumCase:(t,e)=>Mt(Se.enumCase(t,e),"EnumCase",t),urlInstance:t=>Mt(Se.urlInstance(t),"URL",t),urlString:t=>Mt(Se.urlString(t),"string with a URL",t),truthy:t=>Mt(Se.truthy(t),"truthy",t),falsy:t=>Mt(Se.falsy(t),"falsy",t),nan:t=>Mt(Se.nan(t),"NaN",t),primitive:t=>Mt(Se.primitive(t),"primitive",t),integer:t=>Mt(Se.integer(t),"integer",t),safeInteger:t=>Mt(Se.safeInteger(t),"integer",t),plainObject:t=>Mt(Se.plainObject(t),"plain object",t),typedArray:t=>Mt(Se.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(Se.arrayLike(t),"array-like",t),domElement:t=>Mt(Se.domElement(t),"HTMLElement",t),observable:t=>Mt(Se.observable(t),"Observable",t),nodeStream:t=>Mt(Se.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(Se.infinite(t),"infinite number",t),emptyArray:t=>Mt(Se.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(Se.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(Se.emptyString(t),"empty string",t),emptyStringOrWhitespace:t=>Mt(Se.emptyStringOrWhitespace(t),"empty string or whitespace",t),nonEmptyString:t=>Mt(Se.nonEmptyString(t),"non-empty string",t),nonEmptyStringAndNotWhitespace:t=>Mt(Se.nonEmptyStringAndNotWhitespace(t),"non-empty string and not whitespace",t),emptyObject:t=>Mt(Se.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(Se.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(Se.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(Se.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(Se.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(Se.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(Se.propertyKey(t),"PropertyKey",t),formData:t=>Mt(Se.formData(t),"FormData",t),urlSearchParams:t=>Mt(Se.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(Se.evenInteger(t),"even integer",t),oddInteger:t=>Mt(Se.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(Se.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(Se.inRange(t,e),"in range",t),any:(t,...e)=>Mt(Se.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(Se.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(Se,{class:{value:Se.class_},function:{value:Se.function_},null:{value:Se.null_}});Object.defineProperties(Ff.assert,{class:{value:Ff.assert.class_},function:{value:Ff.assert.function_},null:{value:Ff.assert.null_}});Ff.default=Se;Dx.exports=Se;Dx.exports.default=Se;Dx.exports.assert=Ff.assert});var _oe=_((KNt,l4)=>{"use strict";var Px=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},Sx=class t{static fn(e){return(...r)=>new t((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Px(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Sx.prototype,Promise.prototype);l4.exports=Sx;l4.exports.CancelError=Px});var Hoe=_((u4,A4)=>{"use strict";Object.defineProperty(u4,"__esModule",{value:!0});function _rt(t){return t.encrypted}var c4=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),_rt(t)&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};u4.default=c4;A4.exports=c4;A4.exports.default=c4});var qoe=_((p4,h4)=>{"use strict";Object.defineProperty(p4,"__esModule",{value:!0});var Hrt=Hoe(),qrt=Number(process.versions.node.split(".")[0]),f4=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||qrt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),Hrt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};p4.default=f4;h4.exports=f4;h4.exports.default=f4});var zoe=_((VNt,m4)=>{"use strict";var{V4MAPPED:jrt,ADDRCONFIG:Grt,ALL:Voe,promises:{Resolver:joe},lookup:Wrt}=De("dns"),{promisify:g4}=De("util"),Yrt=De("os"),wy=Symbol("cacheableLookupCreateConnection"),d4=Symbol("cacheableLookupInstance"),Goe=Symbol("expires"),Krt=typeof Voe=="number",Woe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Vrt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Yoe=()=>{let t=!1,e=!1;for(let r of Object.values(Yrt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},zrt=t=>Symbol.iterator in t,Koe={ttl:!0},Jrt={all:!0},xx=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new joe,lookup:u=Wrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=g4(u),this._resolver instanceof joe?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=g4(this._resolver.resolve4.bind(this._resolver)),this._resolve6=g4(this._resolver.resolve6.bind(this._resolver))),this._iface=Yoe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&jrt&&(Krt&&r.hints&Voe||a.length===0)?Vrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&Grt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,Koe),this._resolve6(e,Koe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[Goe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}zrt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Jrt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[Goe];a>=A?this._cache.delete(n):A("lookup"in r||(r.lookup=this.lookup),e[wy](r,o))}uninstall(e){if(Woe(e),e[wy]){if(e[d4]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[wy],delete e[wy],delete e[d4]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Yoe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};m4.exports=xx;m4.exports.default=xx});var Zoe=_((zNt,y4)=>{"use strict";var Xrt=typeof URL>"u"?De("url").URL:URL,Zrt="text/plain",$rt="us-ascii",Joe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),ent=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[w,D=""]=E.split("=").map(b=>b.trim());return w==="charset"&&(D=D.toLowerCase(),D===$rt)?"":`${w}${D?`=${D}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==Zrt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},Xoe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return ent(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new Xrt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];Joe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])Joe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};y4.exports=Xoe;y4.exports.default=Xoe});var tae=_((JNt,eae)=>{eae.exports=$oe;function $oe(t,e){if(t&&e)return $oe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a{var rae=tae();E4.exports=rae(bx);E4.exports.strict=rae(nae);bx.proto=bx(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return bx(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return nae(this)},configurable:!0})});function bx(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function nae(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var I4=_((ZNt,sae)=>{var tnt=C4(),rnt=function(){},nnt=function(t){return t.setHeader&&typeof t.abort=="function"},int=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},iae=function(t,e,r){if(typeof e=="function")return iae(t,null,e);e||(e={}),r=tnt(r||rnt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},w=function(C){r.call(t,C)},D=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},b=function(){t.req.on("finish",p)};return nnt(t)?(t.on("complete",p),t.on("abort",D),t.req?b():t.on("request",b)):u&&!o&&(t.on("end",A),t.on("close",A)),int(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",w),t.on("close",D),function(){t.removeListener("complete",p),t.removeListener("abort",D),t.removeListener("request",b),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",w),t.removeListener("close",D)}};sae.exports=iae});var lae=_(($Nt,aae)=>{var snt=C4(),ont=I4(),w4=De("fs"),k1=function(){},ant=/^v?\.0/.test(process.version),Qx=function(t){return typeof t=="function"},lnt=function(t){return!ant||!w4?!1:(t instanceof(w4.ReadStream||k1)||t instanceof(w4.WriteStream||k1))&&Qx(t.close)},cnt=function(t){return t.setHeader&&Qx(t.abort)},unt=function(t,e,r,o){o=snt(o);var a=!1;t.on("close",function(){a=!0}),ont(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,lnt(t))return t.close(k1);if(cnt(t))return t.abort();if(Qx(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},oae=function(t){t()},Ant=function(t,e){return t.pipe(e)},fnt=function(){var t=Array.prototype.slice.call(arguments),e=Qx(t[t.length-1]||k1)&&t.pop()||k1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n0;return unt(a,u,A,function(p){r||(r=p),p&&o.forEach(oae),!u&&(o.forEach(oae),e(r))})});return t.reduce(Ant)};aae.exports=fnt});var uae=_((eLt,cae)=>{"use strict";var{PassThrough:pnt}=De("stream");cae.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new pnt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var Aae=_((tLt,By)=>{"use strict";var hnt=lae(),gnt=uae(),kx=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Fx(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=hnt(t,gnt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new kx)})}),o.getBufferedValue()}By.exports=Fx;By.exports.default=Fx;By.exports.buffer=(t,e)=>Fx(t,{...e,encoding:"buffer"});By.exports.array=(t,e)=>Fx(t,{...e,array:!0});By.exports.MaxBufferError=kx});var pae=_((nLt,fae)=>{"use strict";var dnt=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),mnt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),ynt=new Set([500,502,503,504]),Ent={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Cnt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function bg(t){let e=parseInt(t,10);return isFinite(e)?e:0}function Int(t){return t?ynt.has(t.status):!0}function B4(t){let e={};if(!t)return e;let r=t.trim().split(/,/);for(let o of r){let[a,n]=o.split(/=/,2);e[a.trim()]=n===void 0?!0:n.trim().replace(/^"|"$/g,"")}return e}function wnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(e.length)return e.join(", ")}fae.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=B4(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=B4(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":wnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&mnt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||dnt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=B4(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)Ent[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return bg(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return bg(this._rescc["s-maxage"])}if(this._rescc["max-age"])return bg(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||oo)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+bg(this._rescc["stale-if-error"]),o=e+bg(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+bg(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+bg(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Int(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!Cnt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Rx=_((iLt,hae)=>{"use strict";hae.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var dae=_((sLt,gae)=>{"use strict";var Bnt=De("stream").Readable,vnt=Rx(),v4=class extends Bnt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=vnt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};gae.exports=v4});var yae=_((oLt,mae)=>{"use strict";var Dnt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];mae.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Dnt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var Cae=_((aLt,Eae)=>{"use strict";var Pnt=De("stream").PassThrough,Snt=yae(),xnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Pnt;return Snt(t,e),t.pipe(e)};Eae.exports=xnt});var Iae=_(D4=>{D4.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};D4.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Dae=_((cLt,vae)=>{"use strict";var bnt=De("events"),wae=Iae(),Qnt=t=>{let e={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(t.adapter||t.uri){let r=t.adapter||/^[^:+]*/.exec(t.uri)[0];return new(De(e[r]))(t)}return new Map},Bae=["sqlite","postgres","mysql","mongo","redis","tiered"],P4=class extends bnt{constructor(e,{emitErrors:r=!0,...o}={}){if(super(),this.opts={namespace:"keyv",serialize:wae.stringify,deserialize:wae.parse,...typeof e=="string"?{uri:e}:e,...o},!this.opts.store){let n={...this.opts};this.opts.store=Qnt(n)}if(this.opts.compression){let n=this.opts.compression;this.opts.serialize=n.serialize.bind(n),this.opts.deserialize=n.deserialize.bind(n)}typeof this.opts.store.on=="function"&&r&&this.opts.store.on("error",n=>this.emit("error",n)),this.opts.store.namespace=this.opts.namespace;let a=n=>async function*(){for await(let[u,A]of typeof n=="function"?n(this.opts.store.namespace):n){let p=await this.opts.deserialize(A);if(!(this.opts.store.namespace&&!u.includes(this.opts.store.namespace))){if(typeof p.expires=="number"&&Date.now()>p.expires){this.delete(u);continue}yield[this._getKeyUnprefix(u),p.value]}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return Bae.includes(this.opts.store.opts.dialect)||Bae.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(r=>`${this.opts.namespace}:${r}`)}_getKeyUnprefix(e){return e.split(":").splice(1).join(":")}get(e,r){let{store:o}=this.opts,a=Array.isArray(e),n=a?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(a&&o.getMany===void 0){let u=[];for(let A of n)u.push(Promise.resolve().then(()=>o.get(A)).then(p=>typeof p=="string"?this.opts.deserialize(p):this.opts.compression?this.opts.deserialize(p):p).then(p=>{if(p!=null)return typeof p.expires=="number"&&Date.now()>p.expires?this.delete(A).then(()=>{}):r&&r.raw?p:p.value}));return Promise.allSettled(u).then(A=>{let p=[];for(let h of A)p.push(h.value);return p})}return Promise.resolve().then(()=>a?o.getMany(n):o.get(n)).then(u=>typeof u=="string"?this.opts.deserialize(u):this.opts.compression?this.opts.deserialize(u):u).then(u=>{if(u!=null)return a?u.map((A,p)=>{if(typeof A=="string"&&(A=this.opts.deserialize(A)),A!=null){if(typeof A.expires=="number"&&Date.now()>A.expires){this.delete(e[p]).then(()=>{});return}return r&&r.raw?A:A.value}}):typeof u.expires=="number"&&Date.now()>u.expires?this.delete(e).then(()=>{}):r&&r.raw?u:u.value})}set(e,r,o){let a=this._getKeyPrefix(e);typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let u=typeof o=="number"?Date.now()+o:null;return typeof r=="symbol"&&this.emit("error","symbol cannot be serialized"),r={value:r,expires:u},this.opts.serialize(r)}).then(u=>n.set(a,u,o)).then(()=>!0)}delete(e){let{store:r}=this.opts;if(Array.isArray(e)){let a=this._getKeyPrefixArray(e);if(r.deleteMany===void 0){let n=[];for(let u of a)n.push(r.delete(u));return Promise.allSettled(n).then(u=>u.every(A=>A.value===!0))}return Promise.resolve().then(()=>r.deleteMany(a))}let o=this._getKeyPrefix(e);return Promise.resolve().then(()=>r.delete(o))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let r=this._getKeyPrefix(e),{store:o}=this.opts;return Promise.resolve().then(async()=>typeof o.has=="function"?o.has(r):await o.get(r)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect=="function")return e.disconnect()}};vae.exports=P4});var xae=_((ALt,Sae)=>{"use strict";var knt=De("events"),Tx=De("url"),Fnt=Zoe(),Rnt=Aae(),S4=pae(),Pae=dae(),Tnt=Rx(),Nnt=Cae(),Lnt=Dae(),F1=class t{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Lnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=x4(Tx.parse(r)),r={};else if(r instanceof Tx.URL)a=x4(Tx.parse(r.toString())),r={};else{let[w,...D]=(r.path||"").split("?"),b=D.length>0?`?${D.join("?")}`:"";a=x4({...r,pathname:w,search:b})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...Ont(a)},r.headers=Tnt(r.headers);let n=new knt,u=Fnt(Tx.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=w=>{h=!0;let D=!1,b,C=new Promise(L=>{b=()=>{D||(D=!0,L())}}),T=L=>{if(p&&!w.forceRefresh){L.status=L.statusCode;let z=S4.fromObject(p.cachePolicy).revalidatedPolicy(w,L);if(!z.modified){let te=z.policy.responseHeaders();L=new Pae(p.statusCode,te,p.body,p.url),L.cachePolicy=z.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new S4(w,L,w),L.fromCache=!1);let U;w.cache&&L.cachePolicy.storable()?(U=Nnt(L),(async()=>{try{let z=Rnt.buffer(L);if(await Promise.race([C,new Promise(ce=>L.once("end",ce))]),D)return;let te=await z,le={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:te},de=w.strictTtl?L.cachePolicy.timeToLive():void 0;w.maxTtl&&(de=de?Math.min(de,w.maxTtl):w.maxTtl),await this.cache.set(A,le,de)}catch(z){n.emit("error",new t.CacheError(z))}})()):w.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(z){n.emit("error",new t.CacheError(z))}})(),n.emit("response",U||L),typeof o=="function"&&o(U||L)};try{let L=e(w,T);L.once("error",b),L.once("abort",b),n.emit("request",L)}catch(L){n.emit("error",new t.RequestError(L))}};return(async()=>{let w=async b=>{await Promise.resolve();let C=b.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(b);let T=S4.fromObject(C.cachePolicy);if(T.satisfiesWithoutRevalidation(b)&&!b.forceRefresh){let L=T.responseHeaders(),U=new Pae(C.statusCode,L,C.body,C.url);U.cachePolicy=T,U.fromCache=!0,n.emit("response",U),typeof o=="function"&&o(U)}else p=C,b.headers=T.revalidationHeaders(b),E(b)},D=b=>n.emit("error",new t.CacheError(b));this.cache.once("error",D),n.on("response",()=>this.cache.removeListener("error",D));try{await w(r)}catch(b){r.automaticFailover&&!h&&E(r),n.emit("error",new t.CacheError(b))}})(),n}}};function Ont(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function x4(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}F1.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};F1.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};Sae.exports=F1});var Qae=_((hLt,bae)=>{"use strict";var Mnt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];bae.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(Mnt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var Fae=_((gLt,kae)=>{"use strict";var{Transform:Unt,PassThrough:_nt}=De("stream"),b4=De("zlib"),Hnt=Qae();kae.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof b4.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Unt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new _nt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?b4.createBrotliDecompress():b4.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),Hnt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var k4=_((dLt,Rae)=>{"use strict";var Q4=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};Rae.exports=Q4});var R4=_((mLt,Oae)=>{"use strict";var qnt=De("events"),jnt=De("tls"),Gnt=De("http2"),Wnt=k4(),ea=Symbol("currentStreamsCount"),Tae=Symbol("request"),zl=Symbol("cachedOriginSet"),vy=Symbol("gracefullyClosing"),Ynt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Knt=(t,e,r)=>{let o=0,a=t.length;for(;o>>1;r(t[n],e)?o=n+1:a=n}return o},Vnt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,F4=(t,e)=>{for(let r of t)r[zl].lengthe[zl].includes(o))&&r[ea]+e[ea]<=e.remoteSettings.maxConcurrentStreams&&Lae(r)},znt=(t,e)=>{for(let r of t)e[zl].lengthr[zl].includes(o))&&e[ea]+r[ea]<=r.remoteSettings.maxConcurrentStreams&&Lae(e)},Nae=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[Qg.kCurrentStreamsCount]{t[vy]=!0,t[ea]===0&&t.close()},Qg=class t extends qnt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Wnt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of Ynt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=t.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],w=-1,D=-1,b;for(let C of E){let T=C.remoteSettings.maxConcurrentStreams;if(T=T||C[vy]||C.destroyed)continue;b||(w=T),L>D&&(b=C,D=L)}}if(b){if(o.length!==1){for(let{reject:C}of o){let T=new Error(`Expected the length of listeners to be 1, got ${o.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);C(T)}return}o[0].resolve(b);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,w=!1;try{let D=Gnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});D[ea]=0,D[vy]=!1;let b=()=>D[ea]{this.tlsSessionCache.set(E,L)}),D.once("error",L=>{for(let{reject:U}of o)U(L);this.tlsSessionCache.delete(E)}),D.setTimeout(this.timeout,()=>{D.destroy()}),D.once("close",()=>{if(w){C&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(D),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of o)U(L);p()}this._tryToCreateNewSession(u,A)});let T=()=>{if(!(!(u in this.queue)||!b())){for(let L of D[zl])if(L in this.queue[u]){let{listeners:U}=this.queue[u][L];for(;U.length!==0&&b();)U.shift().resolve(D);let z=this.queue[u];if(z[L].listeners.length===0&&(delete z[L],Object.keys(z).length===0)){delete this.queue[u];break}if(!b())break}}};D.on("origin",()=>{D[zl]=D.originSet,b()&&(T(),F4(this.sessions[u],D))}),D.once("remoteSettings",()=>{if(D.ref(),D.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let U of o)U.reject(L);D.destroy();return}D[zl]=D.originSet;{let L=this.sessions;if(u in L){let U=L[u];U.splice(Knt(U,D,Vnt),0,D)}else L[u]=[D]}this._freeSessionsCount+=1,w=!0,this.emit("session",D),T(),p(),D[ea]===0&&this._freeSessionsCount>this.maxFreeSessions&&D.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),D.on("remoteSettings",()=>{T(),F4(this.sessions[u],D)})}),D[Tae]=D.request,D.request=(L,U)=>{if(D[vy])throw new Error("The session is gracefully closing. No new streams are allowed.");let z=D[Tae](L,U);return D.ref(),++D[ea],D[ea]===D.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,z.once("close",()=>{if(C=b(),--D[ea],!D.destroyed&&!D.closed&&(znt(this.sessions[u],D),b()&&!D.closed)){C||(this._freeSessionsCount++,C=!0);let te=D[ea]===0;te&&D.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||D[vy])?D.close():(F4(this.sessions[u],D),T())}}),z}}catch(D){for(let b of o)b.reject(D);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return t.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),jnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[ea]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return Nae({agent:this,isFree:!0})}get busySessions(){return Nae({agent:this,isFree:!1})}};Qg.kCurrentStreamsCount=ea;Qg.kGracefullyClosing=vy;Oae.exports={Agent:Qg,globalAgent:new Qg}});var N4=_((yLt,Mae)=>{"use strict";var{Readable:Jnt}=De("stream"),T4=class extends Jnt{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Mae.exports=T4});var L4=_((ELt,Uae)=>{"use strict";Uae.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Hae=_((CLt,_ae)=>{"use strict";_ae.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var jae=_((ILt,qae)=>{"use strict";qae.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var Wae=_((BLt,Gae)=>{"use strict";var Dy=(t,e,r)=>{Gae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};Dy(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});Dy(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);Dy(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);Dy(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);Dy(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);Dy(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var H4=_((vLt,Zae)=>{"use strict";var Xnt=De("http2"),{Writable:Znt}=De("stream"),{Agent:Yae,globalAgent:$nt}=R4(),eit=N4(),tit=L4(),rit=Hae(),nit=jae(),{ERR_INVALID_ARG_TYPE:O4,ERR_INVALID_PROTOCOL:iit,ERR_HTTP_HEADERS_SENT:Kae,ERR_INVALID_HTTP_TOKEN:sit,ERR_HTTP_INVALID_HEADER_VALUE:oit,ERR_INVALID_CHAR:ait}=Wae(),{HTTP2_HEADER_STATUS:Vae,HTTP2_HEADER_METHOD:zae,HTTP2_HEADER_PATH:Jae,HTTP2_METHOD_CONNECT:lit}=Xnt.constants,vo=Symbol("headers"),M4=Symbol("origin"),U4=Symbol("session"),Xae=Symbol("options"),Nx=Symbol("flushedHeaders"),R1=Symbol("jobs"),cit=/^[\^`\-\w!#$%&*+.|~]+$/,uit=/[^\t\u0020-\u007E\u0080-\u00FF]/,_4=class extends Znt{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=tit(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[U4]=r.h2session;else if(r.agent===!1)this.agent=new Yae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new Yae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=$nt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new O4("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new iit(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[vo]=Object.create(null),this[R1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[vo])&&(this[vo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[Xae]=r,n===443?(this[M4]=`https://${u}`,":authority"in this[vo]||(this[vo][":authority"]=u)):(this[M4]=`https://${u}:${n}`,":authority"in this[vo]||(this[vo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[Nx]=!1}get method(){return this[vo][zae]}set method(e){e&&(this[vo][zae]=e.toUpperCase())}get path(){return this[vo][Jae]}set path(e){e&&(this[vo][Jae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[R1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[R1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Nx]||this.destroyed)return;this[Nx]=!0;let e=this.method===lit,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||rit(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new eit(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[Vae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[Vae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[R1])u();this.emit("socket",this.socket)};if(this[U4])try{r(this[U4].request(this[vo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[M4],this[Xae],this[vo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new O4("name","string",e);return this[vo][e.toLowerCase()]}get headersSent(){return this[Nx]}removeHeader(e){if(typeof e!="string")throw new O4("name","string",e);if(this.headersSent)throw new Kae("remove");delete this[vo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Kae("set");if(typeof e!="string"||!cit.test(e)&&!nit(e))throw new sit("Header name",e);if(typeof r>"u")throw new oit(r,e);if(uit.test(r))throw new ait("header content",e);this[vo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[R1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};Zae.exports=_4});var ele=_((DLt,$ae)=>{"use strict";var Ait=De("tls");$ae.exports=(t={},e=Ait.connect)=>new Promise((r,o)=>{let a=!1,n,u=async()=>{await p,n.off("timeout",A),n.off("error",o),t.resolveSocket?(r({alpnProtocol:n.alpnProtocol,socket:n,timeout:a}),a&&(await Promise.resolve(),n.emit("timeout"))):(n.destroy(),r({alpnProtocol:n.alpnProtocol,timeout:a}))},A=async()=>{a=!0,u()},p=(async()=>{try{n=await e(t,u),n.on("error",o),n.once("timeout",A)}catch(h){o(h)}})()})});var rle=_((PLt,tle)=>{"use strict";var fit=De("net");tle.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),fit.isIP(e)?"":e}});var sle=_((SLt,j4)=>{"use strict";var nle=De("http"),q4=De("https"),pit=ele(),hit=k4(),git=H4(),dit=rle(),mit=L4(),Lx=new hit({maxSize:100}),T1=new Map,ile=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},yit=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Lx.has(e)){if(T1.has(e))return(await T1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=pit(t);T1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(Lx.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=q4,p=q4.Agent.prototype.createConnection;o?o.createConnection===p?ile(o,n,t):n.destroy():A.createConnection===p?ile(A,n,t):n.destroy()}return T1.delete(e),u}catch(n){throw T1.delete(e),n}}return Lx.get(e)};j4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=mit(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||dit(e),e.port=e.port||(o?443:80),e._defaultAgent=o?q4.globalAgent:nle.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await yit(e)==="h2"?(a&&(e.agent=a.http2),new git(e,r)):nle.request(e,r)};j4.exports.protocolCache=Lx});var ale=_((xLt,ole)=>{"use strict";var Eit=De("http2"),Cit=R4(),G4=H4(),Iit=N4(),wit=sle(),Bit=(t,e,r)=>new G4(t,e,r),vit=(t,e,r)=>{let o=new G4(t,e,r);return o.end(),o};ole.exports={...Eit,ClientRequest:G4,IncomingMessage:Iit,...Cit,request:Bit,get:vit,auto:wit}});var Y4=_(W4=>{"use strict";Object.defineProperty(W4,"__esModule",{value:!0});var lle=Rf();W4.default=t=>lle.default.nodeStream(t)&&lle.default.function_(t.getBoundary)});var fle=_(K4=>{"use strict";Object.defineProperty(K4,"__esModule",{value:!0});var ule=De("fs"),Ale=De("util"),cle=Rf(),Dit=Y4(),Pit=Ale.promisify(ule.stat);K4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(cle.default.string(t))return Buffer.byteLength(t);if(cle.default.buffer(t))return t.length;if(Dit.default(t))return Ale.promisify(t.getLength.bind(t))();if(t instanceof ule.ReadStream){let{size:r}=await Pit(t.path);return r===0?void 0:r}}});var z4=_(V4=>{"use strict";Object.defineProperty(V4,"__esModule",{value:!0});function Sit(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}V4.default=Sit});var ple=_(J4=>{"use strict";Object.defineProperty(J4,"__esModule",{value:!0});J4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var gle=_(N1=>{"use strict";Object.defineProperty(N1,"__esModule",{value:!0});N1.TimeoutError=void 0;var xit=De("net"),bit=ple(),hle=Symbol("reentry"),Qit=()=>{},Ox=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};N1.TimeoutError=Ox;N1.default=(t,e,r)=>{if(hle in t)return Qit;t[hle]=!0;let o=[],{once:a,unhandleAll:n}=bit.default(),u=(w,D,b)=>{var C;let T=setTimeout(D,w,w,b);(C=T.unref)===null||C===void 0||C.call(T);let L=()=>{clearTimeout(T)};return o.push(L),L},{host:A,hostname:p}=r,h=(w,D)=>{t.destroy(new Ox(w,D))},E=()=>{for(let w of o)w();n()};if(t.once("error",w=>{if(E(),t.listenerCount("error")===0)throw w}),t.once("close",E),a(t,"response",w=>{a(w,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let w=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,w),o.push(()=>{t.removeListener("timeout",w)})}return a(t,"socket",w=>{var D;let{socketPath:b}=t;if(w.connecting){let C=!!(b??xit.isIP((D=p??A)!==null&&D!==void 0?D:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof w.address().address>"u"){let T=u(e.lookup,h,"lookup");a(w,"lookup",T)}if(typeof e.connect<"u"){let T=()=>u(e.connect,h,"connect");C?a(w,"connect",T()):a(w,"lookup",L=>{L===null&&a(w,"connect",T())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(w,"connect",()=>{let T=u(e.secureConnect,h,"secureConnect");a(w,"secureConnect",T)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");w.connecting?a(w,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let w=u(e.response,h,"response");a(t,"response",w)}),E}});var mle=_(X4=>{"use strict";Object.defineProperty(X4,"__esModule",{value:!0});var dle=Rf();X4.default=t=>{t=t;let e={protocol:t.protocol,hostname:dle.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return dle.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var yle=_(Z4=>{"use strict";Object.defineProperty(Z4,"__esModule",{value:!0});var kit=De("url"),Fit=["protocol","host","hostname","port","pathname","search"];Z4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new kit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of Fit)e[n]&&(a[n]=e[n].toString());return a}});var Ele=_(eU=>{"use strict";Object.defineProperty(eU,"__esModule",{value:!0});var $4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};eU.default=$4});var rU=_(tU=>{"use strict";Object.defineProperty(tU,"__esModule",{value:!0});var Rit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};tU.default=Rit});var Ile=_(kg=>{"use strict";Object.defineProperty(kg,"__esModule",{value:!0});kg.dnsLookupIpVersionToFamily=kg.isDnsLookupIpVersion=void 0;var Cle={auto:0,ipv4:4,ipv6:6};kg.isDnsLookupIpVersion=t=>t in Cle;kg.dnsLookupIpVersionToFamily=t=>{if(kg.isDnsLookupIpVersion(t))return Cle[t];throw new Error("Invalid DNS lookup IP version")}});var nU=_(Mx=>{"use strict";Object.defineProperty(Mx,"__esModule",{value:!0});Mx.isResponseOk=void 0;Mx.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Ble=_(iU=>{"use strict";Object.defineProperty(iU,"__esModule",{value:!0});var wle=new Set;iU.default=t=>{wle.has(t)||(wle.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var vle=_(sU=>{"use strict";Object.defineProperty(sU,"__esModule",{value:!0});var mi=Rf(),Tit=(t,e)=>{if(mi.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mi.assert.any([mi.default.string,mi.default.undefined],t.encoding),mi.assert.any([mi.default.boolean,mi.default.undefined],t.resolveBodyOnly),mi.assert.any([mi.default.boolean,mi.default.undefined],t.methodRewriting),mi.assert.any([mi.default.boolean,mi.default.undefined],t.isStream),mi.assert.any([mi.default.string,mi.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mi.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):mi.default.number(r)&&(t.retry.limit=r),mi.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(mi.default.number))),mi.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!mi.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mi.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mi.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mi.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};sU.default=Tit});var Dle=_(L1=>{"use strict";Object.defineProperty(L1,"__esModule",{value:!0});L1.retryAfterStatusCodes=void 0;L1.retryAfterStatusCodes=new Set([413,429,503]);var Nit=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};L1.default=Nit});var U1=_(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.UnsupportedProtocolError=kn.ReadError=kn.TimeoutError=kn.UploadError=kn.CacheError=kn.HTTPError=kn.MaxRedirectsError=kn.RequestError=kn.setNonEnumerableProperties=kn.knownHookEvents=kn.withoutBody=kn.kIsNormalizedAlready=void 0;var Ple=De("util"),Sle=De("stream"),Lit=De("fs"),Ah=De("url"),xle=De("http"),oU=De("http"),Oit=De("https"),Mit=qoe(),Uit=zoe(),ble=xae(),_it=Fae(),Hit=ale(),qit=Rx(),at=Rf(),jit=fle(),Qle=Y4(),Git=z4(),kle=gle(),Wit=mle(),Fle=yle(),Yit=Ele(),Kit=rU(),Rle=Ile(),Vit=nU(),fh=Ble(),zit=vle(),Jit=Dle(),aU,Ys=Symbol("request"),Hx=Symbol("response"),Py=Symbol("responseSize"),Sy=Symbol("downloadedSize"),xy=Symbol("bodySize"),by=Symbol("uploadedSize"),Ux=Symbol("serverResponsesPiped"),Tle=Symbol("unproxyEvents"),Nle=Symbol("isFromCache"),lU=Symbol("cancelTimeouts"),Lle=Symbol("startedReading"),Qy=Symbol("stopReading"),_x=Symbol("triggerRead"),ph=Symbol("body"),O1=Symbol("jobs"),Ole=Symbol("originalResponse"),Mle=Symbol("retryTimeout");kn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Xit=at.default.string(process.versions.brotli);kn.withoutBody=new Set(["GET","HEAD"]);kn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Zit(t){for(let e in t){let r=t[e];if(!at.default.string(r)&&!at.default.number(r)&&!at.default.boolean(r)&&!at.default.null_(r)&&!at.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function $it(t){return at.default.object(t)&&!("statusCode"in t)}var cU=new Yit.default,est=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),tst=new Set([300,301,302,303,304,307,308]),rst=["context","body","json","form"];kn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(o)for(let a of rst)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Ji=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof Vx?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[Hx]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,at.default.string(r.stack)&&at.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` -`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` -`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` -`)}${A.reverse().join(` -`)}`}}};kn.RequestError=Ji;var qx=class extends Ji{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};kn.MaxRedirectsError=qx;var jx=class extends Ji{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};kn.HTTPError=jx;var Gx=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};kn.CacheError=Gx;var Wx=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};kn.UploadError=Wx;var Yx=class extends Ji{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};kn.TimeoutError=Yx;var M1=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};kn.ReadError=M1;var Kx=class extends Ji{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};kn.UnsupportedProtocolError=Kx;var nst=["socket","connect","continue","information","upgrade","timeout"],Vx=class extends Sle.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[Sy]=0,this[by]=0,this.requestInitialized=!1,this[Ux]=new Set,this.redirects=[],this[Qy]=!1,this[_x]=!1,this[O1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof oU.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),kn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){at.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof Lit.ReadStream&&await est(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[Ys])===null||h===void 0||h.destroy();return}for(let w of this[O1])w();this[O1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof Ji){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(at.default.object(e)&&!at.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),at.default.urlInstance(r.url)&&(r.url=new Ah.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),at.assert.any([at.default.string,at.default.undefined],r.method),at.assert.any([at.default.object,at.default.undefined],r.headers),at.assert.any([at.default.string,at.default.urlInstance,at.default.undefined],r.prefixUrl),at.assert.any([at.default.object,at.default.undefined],r.cookieJar),at.assert.any([at.default.object,at.default.string,at.default.undefined],r.searchParams),at.assert.any([at.default.object,at.default.string,at.default.undefined],r.cache),at.assert.any([at.default.object,at.default.number,at.default.undefined],r.timeout),at.assert.any([at.default.object,at.default.undefined],r.context),at.assert.any([at.default.object,at.default.undefined],r.hooks),at.assert.any([at.default.boolean,at.default.undefined],r.decompress),at.assert.any([at.default.boolean,at.default.undefined],r.ignoreInvalidCookies),at.assert.any([at.default.boolean,at.default.undefined],r.followRedirect),at.assert.any([at.default.number,at.default.undefined],r.maxRedirects),at.assert.any([at.default.boolean,at.default.undefined],r.throwHttpErrors),at.assert.any([at.default.boolean,at.default.undefined],r.http2),at.assert.any([at.default.boolean,at.default.undefined],r.allowGetBody),at.assert.any([at.default.string,at.default.undefined],r.localAddress),at.assert.any([Rle.isDnsLookupIpVersion,at.default.undefined],r.dnsLookupIpVersion),at.assert.any([at.default.object,at.default.undefined],r.https),at.assert.any([at.default.boolean,at.default.undefined],r.rejectUnauthorized),r.https&&(at.assert.any([at.default.boolean,at.default.undefined],r.https.rejectUnauthorized),at.assert.any([at.default.function_,at.default.undefined],r.https.checkServerIdentity),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.certificateAuthority),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.key),at.assert.any([at.default.string,at.default.object,at.default.array,at.default.undefined],r.https.certificate),at.assert.any([at.default.string,at.default.undefined],r.https.passphrase),at.assert.any([at.default.string,at.default.buffer,at.default.array,at.default.undefined],r.https.pfx)),at.assert.any([at.default.object,at.default.undefined],r.cacheOptions),at.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===o?.headers?r.headers={...r.headers}:r.headers=qit({...o?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==o?.searchParams){let b;if(at.default.string(r.searchParams)||r.searchParams instanceof Ah.URLSearchParams)b=new Ah.URLSearchParams(r.searchParams);else{Zit(r.searchParams),b=new Ah.URLSearchParams;for(let C in r.searchParams){let T=r.searchParams[C];T===null?b.append(C,""):T!==void 0&&b.append(C,T)}}(a=o?.searchParams)===null||a===void 0||a.forEach((C,T)=>{b.has(T)||b.append(T,C)}),r.searchParams=b}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",at.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o?.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),at.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Fle.default(r.prefixUrl+r.url,r)}else(at.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Fle.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:b}=r;Object.defineProperty(r,"prefixUrl",{set:T=>{let L=r.url;if(!L.href.startsWith(T))throw new Error(`Cannot change \`prefixUrl\` from ${b} to ${T}: ${L.href}`);r.url=new Ah.URL(T+L.href.slice(b.length)),b=T},get:()=>b});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new Ah.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new Kx(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:b,getCookieString:C}=E;at.assert.function_(b),at.assert.function_(C),b.length===4&&C.length===0&&(b=Ple.promisify(b.bind(r.cookieJar)),C=Ple.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:b,getCookieString:C})}let{cache:w}=r;if(w&&(cU.has(w)||cU.set(w,new ble((b,C)=>{let T=b[Ys](b,C);return at.default.promise(T)&&(T.once=(L,U)=>{if(L==="error")T.catch(U);else if(L==="abort")(async()=>{try{(await T).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return T}),T},w))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)aU||(aU=new Uit.default),r.dnsCache=aU;else if(!at.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${at.default(r.dnsCache)}`);at.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let D=r.hooks===o?.hooks;r.hooks={...r.hooks};for(let b of kn.knownHookEvents)if(b in r.hooks)if(at.default.array(r.hooks[b]))r.hooks[b]=[...r.hooks[b]];else throw new TypeError(`Parameter \`${b}\` must be an Array, got ${at.default(r.hooks[b])}`);else r.hooks[b]=[];if(o&&!D)for(let b of kn.knownHookEvents)o.hooks[b].length>0&&(r.hooks[b]=[...o.hooks[b],...r.hooks[b]]);if("family"in r&&fh.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o?.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&fh.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&fh.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&fh.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&fh.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&fh.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&fh.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&fh.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let b in r.agent)if(b!=="http"&&b!=="https"&&b!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${b}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,kn.setNonEnumerableProperties([o,h],r),zit.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!at.default.undefined(e.form),a=!at.default.undefined(e.json),n=!at.default.undefined(e.body),u=o||a||n,A=kn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof Sle.Readable)&&!at.default.string(e.body)&&!at.default.buffer(e.body)&&!Qle.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!at.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!at.default.string(r["content-type"]);n?(Qle.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ph]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[ph]=new Ah.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[ph]=e.stringifyJson(e.json));let h=await jit.default(this[ph],e.headers);at.default.undefined(r["content-length"])&&at.default.undefined(r["transfer-encoding"])&&!A&&!at.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[xy]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Ole]=e,r.decompress&&(e=_it(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:xle.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Nle]=n.isFromCache,this[Py]=Number(e.headers["content-length"])||void 0,this[Hx]=e,e.once("end",()=>{this[Py]=this[Sy],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new M1(A,this))}),e.once("aborted",()=>{this._beforeError(new M1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(at.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&tst.has(a)){if(e.resume(),this[Ys]&&(this[lU](),delete this[Ys],this[Tle]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[ph]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new qx(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new Ah.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let w of r.hooks.beforeRedirect)await w(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!Vit.isResponseOk(n)){this._beforeError(new jx(n));return}e.on("readable",()=>{this[_x]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[Ux])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;Mit.default(e),this[lU]=kle.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof kle.TimeoutError?new Yx(p,this.timings,this):new Ji(p.message,p,this),this._beforeError(p)}),this[Tle]=Git.default(e,this,nst),this[Ys]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[ph],A=this.redirects.length===0?this:e;at.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new Wx(p,this))})):(this._unlockWrite(),at.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,Wit.default(e)),delete r.url;let n,u=cU.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let U in A)if(at.default.undefined(A[U]))delete A[U];else if(at.default.null_(A[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(u.decompress&&at.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=Xit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let U=await u.cookieJar.getCookieString(u.url.toString());at.default.nonEmptyString(U)&&(u.headers.cookie=U)}for(let U of u.hooks.beforeRequest){let z=await U(u);if(!at.default.undefined(z)){u.request=()=>z;break}}u.body&&this[ph]!==u.body&&(this[ph]=u.body);let{agent:p,request:h,timeout:E,url:w}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),w.hostname==="unix"){let U=/(?.+?):(?.+)/.exec(`${w.pathname}${w.search}`);if(U?.groups){let{socketPath:z,path:te}=U.groups;Object.assign(u,{socketPath:z,path:te,host:""})}}let D=w.protocol==="https:",b;u.http2?b=Hit.auto:b=D?Oit.request:xle.request;let C=(e=u.request)!==null&&e!==void 0?e:b,T=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[D?"https":"http"]),u[Ys]=C,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=Rle.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let U=await T(w,L);at.default.undefined(U)&&(U=b(w,L)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),$it(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof ble.CacheError?new Gx(U,this):new Ji(U.message,U,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ji(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[Qy])return;let{options:r}=this,o=this.retryCount+1;this[Qy]=!0,e instanceof Ji||(e=new Ji(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Kit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Jit.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Ji(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Ji(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Mle]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[_x]=!0;let e=this[Hx];if(e&&!this[Qy]){e.readableLength&&(this[_x]=!1);let r;for(;(r=e.read())!==null;){this[Sy]+=r.length,this[Lle]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[O1].push(a)}_writeRequest(e,r,o){this[Ys].destroyed||(this._progressCallbacks.push(()=>{this[by]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[Ys].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ys in this)){e();return}if(this[Ys].destroyed){e();return}this[Ys].end(o=>{o||(this[xy]=this[by],this.emit("uploadProgress",this.uploadProgress),this[Ys].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[O1].push(r)}_destroy(e,r){var o;this[Qy]=!0,clearTimeout(this[Mle]),Ys in this&&(this[lU](),!((o=this[Hx])===null||o===void 0)&&o.complete||this[Ys].destroy()),e!==null&&!at.default.undefined(e)&&!(e instanceof Ji)&&(e=new Ji(e.message,e,this)),r(e)}get _isAboutToError(){return this[Qy]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[Ys])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Ole])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[Ys])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Py]?e=this[Sy]/this[Py]:this[Py]===this[Sy]?e=1:e=0,{percent:e,transferred:this[Sy],total:this[Py]}}get uploadProgress(){let e;return this[xy]?e=this[by]/this[xy]:this[xy]===this[by]?e=1:e=0,{percent:e,transferred:this[by],total:this[xy]}}get timings(){var e;return(e=this[Ys])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[Nle]}pipe(e,r){if(this[Lle])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof oU.ServerResponse&&this[Ux].add(e),super.pipe(e,r)}unpipe(e){return e instanceof oU.ServerResponse&&this[Ux].delete(e),super.unpipe(e),this}};kn.default=Vx});var _1=_(Jc=>{"use strict";var ist=Jc&&Jc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),sst=Jc&&Jc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ist(e,t,r)};Object.defineProperty(Jc,"__esModule",{value:!0});Jc.CancelError=Jc.ParseError=void 0;var Ule=U1(),uU=class extends Ule.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};Jc.ParseError=uU;var AU=class extends Ule.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Jc.CancelError=AU;sst(U1(),Jc)});var Hle=_(fU=>{"use strict";Object.defineProperty(fU,"__esModule",{value:!0});var _le=_1(),ost=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new _le.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new _le.ParseError(n,t)}};fU.default=ost});var pU=_(hh=>{"use strict";var ast=hh&&hh.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),lst=hh&&hh.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ast(e,t,r)};Object.defineProperty(hh,"__esModule",{value:!0});var cst=De("events"),ust=Rf(),Ast=_oe(),zx=_1(),qle=Hle(),jle=U1(),fst=z4(),pst=rU(),Gle=nU(),hst=["request","response","redirect","uploadProgress","downloadProgress"];function Wle(t){let e,r,o=new cst.EventEmitter,a=new Ast((u,A,p)=>{let h=E=>{let w=new jle.default(void 0,t);w.retryCount=E,w._noPipe=!0,p(()=>w.destroy()),p.shouldReject=!1,p(()=>A(new zx.CancelError(w))),e=w,w.once("response",async C=>{var T;if(C.retryCount=E,C.request.aborted)return;let L;try{L=await pst.default(w),C.rawBody=L}catch{return}if(w._isAboutToError)return;let U=((T=C.headers["content-encoding"])!==null&&T!==void 0?T:"").toLowerCase(),z=["gzip","deflate","br"].includes(U),{options:te}=w;if(z&&!te.decompress)C.body=L;else try{C.body=qle.default(C,te.responseType,te.parseJson,te.encoding)}catch(le){if(C.body=L.toString(),Gle.isResponseOk(C)){w._beforeError(le);return}}try{for(let[le,de]of te.hooks.afterResponse.entries())C=await de(C,async ce=>{let me=jle.default.normalizeArguments(void 0,{...ce,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);me.hooks.afterResponse=me.hooks.afterResponse.slice(0,le);for(let ve of me.hooks.beforeRetry)await ve(me);let pe=Wle(me);return p(()=>{pe.catch(()=>{}),pe.cancel()}),pe})}catch(le){w._beforeError(new zx.RequestError(le.message,le,w));return}if(!Gle.isResponseOk(C)){w._beforeError(new zx.HTTPError(C));return}r=C,u(w.options.resolveBodyOnly?C.body:C)});let D=C=>{if(a.isCanceled)return;let{options:T}=w;if(C instanceof zx.HTTPError&&!T.throwHttpErrors){let{response:L}=C;u(w.options.resolveBodyOnly?L.body:L);return}A(C)};w.once("error",D);let b=w.options.body;w.once("retry",(C,T)=>{var L,U;if(b===((L=T.request)===null||L===void 0?void 0:L.options.body)&&ust.default.nodeStream((U=T.request)===null||U===void 0?void 0:U.options.body)){D(T);return}h(C)}),fst.default(w,o,hst)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return qle.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}hh.default=Wle;lst(_1(),hh)});var Yle=_(hU=>{"use strict";Object.defineProperty(hU,"__esModule",{value:!0});var gst=_1();function dst(t,...e){let r=(async()=>{if(t instanceof gst.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}hU.default=dst});var zle=_(gU=>{"use strict";Object.defineProperty(gU,"__esModule",{value:!0});var Kle=Rf();function Vle(t){for(let e of Object.values(t))(Kle.default.plainObject(e)||Kle.default.array(e))&&Vle(e);return Object.freeze(t)}gU.default=Vle});var Xle=_(Jle=>{"use strict";Object.defineProperty(Jle,"__esModule",{value:!0})});var dU=_(Xl=>{"use strict";var mst=Xl&&Xl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),yst=Xl&&Xl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&mst(e,t,r)};Object.defineProperty(Xl,"__esModule",{value:!0});Xl.defaultHandler=void 0;var Zle=Rf(),Jl=pU(),Est=Yle(),Xx=U1(),Cst=zle(),Ist={RequestError:Jl.RequestError,CacheError:Jl.CacheError,ReadError:Jl.ReadError,HTTPError:Jl.HTTPError,MaxRedirectsError:Jl.MaxRedirectsError,TimeoutError:Jl.TimeoutError,ParseError:Jl.ParseError,CancelError:Jl.CancelError,UnsupportedProtocolError:Jl.UnsupportedProtocolError,UploadError:Jl.UploadError},wst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Jx}=Xx.default,$le=(...t)=>{let e;for(let r of t)e=Jx(void 0,r,e);return e},Bst=t=>t.isStream?new Xx.default(void 0,t):Jl.default(t),vst=t=>"defaults"in t&&"options"in t.defaults,Dst=["get","post","put","patch","head","delete"];Xl.defaultHandler=(t,e)=>e(t);var ece=(t,e)=>{if(t)for(let r of t)r(e)},tce=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:w}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=w}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?Bst:h);if(Zle.default.plainObject(o)){let E={...o,...a};Xx.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{ece(t.options.hooks.init,a),ece((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(D){E=D}let w=Jx(o,a,n??t.options);if(w[Xx.kIsNormalizedAlready]=!0,E)throw new Jl.RequestError(E.message,E,w);return h(w)}catch(E){if(a.isStream)throw E;return Est.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)vst(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Xl.defaultHandler),n.length===0&&n.push(Xl.defaultHandler),tce({options:$le(...a),handlers:n,mutableDefaults:!!u})};let r=async function*(o,a){let n=Jx(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!Zle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of Dst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,Ist),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Cst.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=$le,e};Xl.default=tce;yst(Xle(),Xl)});var ice=_((Tf,Zx)=>{"use strict";var Pst=Tf&&Tf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),rce=Tf&&Tf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Pst(e,t,r)};Object.defineProperty(Tf,"__esModule",{value:!0});var Sst=De("url"),nce=dU(),xst={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Sst.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[nce.defaultHandler],mutableDefaults:!1},mU=nce.default(xst);Tf.default=mU;Zx.exports=mU;Zx.exports.default=mU;Zx.exports.__esModule=!0;rce(dU(),Tf);rce(pU(),Tf)});var on={};Kt(on,{Method:()=>Ace,del:()=>Rst,get:()=>IU,getNetworkSettings:()=>uce,post:()=>wU,put:()=>Fst,request:()=>H1});function ace(t){let e=new URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function yU(t){return Al(oce,t,()=>ae.readFilePromise(t).then(e=>(oce.set(t,e),e)))}function kst({statusCode:t,statusMessage:e},r){let o=Ut(r,t,Ct.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return ry(r,`${o}${e?` (${e})`:""}`,a)}async function $x(t,{configuration:e,customErrorMessage:r}){try{return await t}catch(o){if(o.name!=="HTTPError")throw o;let a=r?.(o,e)??o.response.body?.error;a==null&&(o.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=o.message),o.code==="ETIMEDOUT"&&o.event==="socket"&&(a+=`(can be increased via ${Ut(e,"httpTimeout",Ct.SETTING)})`);let n=new zt(35,a,u=>{o.response&&u.reportError(35,` ${$u(e,{label:"Response Code",value:Yc(Ct.NO_HINT,kst(o.response,e))})}`),o.request&&(u.reportError(35,` ${$u(e,{label:"Request Method",value:Yc(Ct.NO_HINT,o.request.options.method)})}`),u.reportError(35,` ${$u(e,{label:"Request URL",value:Yc(Ct.URL,o.request.requestUrl)})}`)),o.request.redirects.length>0&&u.reportError(35,` ${$u(e,{label:"Request Redirects",value:Yc(Ct.NO_HINT,AO(e,o.request.redirects,Ct.URL))})}`),o.request.retryCount===o.request.options.retry.limit&&u.reportError(35,` ${$u(e,{label:"Request Retry Count",value:Yc(Ct.NO_HINT,`${Ut(e,o.request.retryCount,Ct.NUMBER)} (can be increased via ${Ut(e,"httpRetry",Ct.SETTING)})`)})}`)});throw n.originalError=o,n}}function uce(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new URL(t):t;for(let[u,A]of r)if(CU.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function H1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET",wrapNetworkRequest:A}){let p={target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u},h=async()=>await Tst(t,e,p),E=typeof A<"u"?await A(h,p):h;return await(await r.reduceHook(D=>D.wrapNetworkRequest,E,p))()}async function IU(t,{configuration:e,jsonResponse:r,customErrorMessage:o,wrapNetworkRequest:a,...n}){let u=()=>$x(H1(t,null,{configuration:e,wrapNetworkRequest:a,...n}),{configuration:e,customErrorMessage:o}).then(p=>p.body),A=await(typeof a<"u"?u():Al(sce,t,()=>u().then(p=>(sce.set(t,p),p))));return r?JSON.parse(A.toString()):A}async function Fst(t,e,{customErrorMessage:r,...o}){return(await $x(H1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function wU(t,e,{customErrorMessage:r,...o}){return(await $x(H1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function Rst(t,{customErrorMessage:e,...r}){return(await $x(H1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function Tst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new URL(t):t,p=uce(A,{configuration:r});if(p.enableNetwork===!1)throw new zt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!CU.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new zt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?EU.default.httpOverHttp(ace(p.httpProxy)):bst,https:p.httpsProxy?EU.default.httpsOverHttp(ace(p.httpsProxy)):Qst},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let w=r.get("httpTimeout"),D=r.get("httpRetry"),b=r.get("enableStrictSsl"),C=p.httpsCaFilePath,T=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>et(ice())),z=C?await yU(C):void 0,te=T?await yU(T):void 0,le=L?await yU(L):void 0,de=U.extend({timeout:{socket:w},retry:D,https:{rejectUnauthorized:b,certificateAuthority:z,certificate:te,key:le},...E});return r.getLimit("networkConcurrency")(()=>de(A))}var lce,cce,CU,EU,sce,oce,bst,Qst,Ace,eb=It(()=>{Pt();lce=De("https"),cce=De("http"),CU=et(Xo()),EU=et(Noe());Vl();Wl();Gl();sce=new Map,oce=new Map,bst=new cce.Agent({keepAlive:!0}),Qst=new lce.Agent({keepAlive:!0});Ace=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(Ace||{})});var Xi={};Kt(Xi,{availableParallelism:()=>vU,getArchitecture:()=>q1,getArchitectureName:()=>Ust,getArchitectureSet:()=>BU,getCaller:()=>jst,major:()=>Nst,openUrl:()=>Lst});function Mst(){if(process.platform==="darwin"||process.platform==="win32")return null;let t;try{t=ae.readFileSync(Ost)}catch{}if(typeof t<"u"){if(t&&(t.includes("GLIBC")||t.includes("libc")))return"glibc";if(t&&t.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],o=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return th(r,a=>{let n=a.match(o);if(!n)return th.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function q1(){return pce=pce??{os:process.platform,cpu:process.arch,libc:Mst()}}function Ust(t=q1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function BU(){let t=q1();return hce=hce??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function qst(t){let e=_st.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=Hst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function jst(){let e=new Error().stack.split(` -`)[3];return qst(e)}function vU(){return typeof tb.default.availableParallelism<"u"?tb.default.availableParallelism():Math.max(1,tb.default.cpus().length)}var tb,Nst,fce,Lst,Ost,pce,hce,_st,Hst,rb=It(()=>{Pt();tb=et(De("os"));nb();Gl();Nst=Number(process.versions.node.split(".")[0]),fce=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Lst=typeof fce<"u"?async t=>{try{return await DU(fce,[t],{cwd:K.cwd()}),!0}catch{return!1}}:void 0,Ost="/usr/bin/ldd";_st=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Hst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function QU(t,e,r,o,a){let n=b1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>PU(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>PU(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return PU(t,e,r,o,a)}function PU(t,e,r,o,a){let n=b1(r);switch(o.type){case"ANY":return wx(n);case"SHAPE":return Kst(t,e,r,o,a);case"MAP":return Vst(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if(o.values?.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return p1(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let p=LS(n,{env:t.env});switch(o.type){case"ABSOLUTE_PATH":{let h=a,E=r4(r);return E&&E[0]!=="<"&&(h=K.dirname(E)),K.resolve(h,ue.toPortablePath(p))}case"LOCATOR_LOOSE":return xf(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return xf(p);case"BOOLEAN":return p1(p);default:return p}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function Kst(t,e,r,o,a){let n=b1(r);if(typeof n!="object"||Array.isArray(n))throw new nt(`Object configuration settings "${e}" must be an object`);let u=kU(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new nt(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,QU(t,h,p,o.properties[A],a))}return u}function Vst(t,e,r,o,a){let n=b1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new nt(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,w=o.valueDefinition;u.set(h,QU(t,E,p,w,a))}return u}function kU(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,kU(t,n));return o}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(o=>K.normalize(o)):K.isAbsolute(e.default)?K.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>K.resolve(t.projectCwd,o)):K.resolve(t.projectCwd,e.default);default:return e.default}}function sb(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return Yst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(sb(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=sb(n,e.valueDefinition,r);typeof u<"u"&&o.set(a,u)}return o}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a],A=sb(n,u,r);typeof A<"u"&&o.set(a,A)}return o}return t}function zst(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(ob)&&(e=(0,dce.default)(e.slice(ob.length)),t[e]=r);return t}function xU(){let t=`${ob}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return bU}async function gce(t){try{return await ae.readFilePromise(t)}catch{return Buffer.of()}}async function Jst(t,e){return Buffer.compare(...await Promise.all([gce(t),gce(e)]))===0}async function Xst(t,e){let[r,o]=await Promise.all([ae.statPromise(t),ae.statPromise(e)]);return r.dev===o.dev&&r.ino===o.ino}async function $st({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await Zst(r,e)?null:r}var dce,Nf,mce,yce,Ece,SU,Gst,j1,Wst,ky,ob,bU,Yst,G1,Cce,ab,ib,Zst,Je,W1=It(()=>{Pt();Ol();dce=et(WV()),Nf=et(ag());Gt();mce=et(Mz()),yce=De("module"),Ece=et(ug()),SU=De("stream");Jse();py();VM();zM();JM();voe();XM();Sg();boe();vx();Wl();lh();eb();Gl();rb();Qf();Io();Gst=function(){if(!Nf.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let t=ue.toPortablePath(process.env.GITHUB_EVENT_PATH),e;try{e=ae.readJsonSync(t)}catch{return!1}return!(!("repository"in e)||!e.repository||(e.repository.private??!0))}(),j1=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),Wst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),ky=/^(?!v)[a-z0-9._-]+$/i,ob="yarn_",bU=".yarnrc.yml",Yst="********",G1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(G1||{}),Cce=Ct,ab=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(ab||{}),ib={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:i4()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:xU()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:US,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:uO,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Nf.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Nf.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Nf.isCI,defaultText:""},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:vU()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(HS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Nf.isPR&&Gst,defaultText:""},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},enableCacheClean:{description:"If false, disallows the `cache clean` command",type:"BOOLEAN",default:!0},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};Zst=process.platform==="win32"?Jst:Xst;Je=class t{constructor(e){this.isCI=Nf.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=e}static{this.deleteProperty=Symbol()}static{this.telemetry=null}static create(e,r,o){let a=new t(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(ib);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{strict:o=!0,usePathCheck:a=null,useRc:n=!0}={}){let u=zst();delete u.rcFilename;let A=new t(e),p=await t.findRcFiles(e),h=await t.findFolderRcFile(Ey());h&&(p.find(me=>me.path===h.path)||p.unshift(h));let E=xoe(p.map(ce=>[ce.path,ce.data])),w=Bt.dot,D=new Set(Object.keys(ib)),b=({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:pe})=>({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:pe}),C=({yarnPath:ce,ignorePath:me,injectEnvironmentFiles:pe,...ve})=>{let Ie={};for(let[g,Ce]of Object.entries(ve))D.has(g)&&(Ie[g]=Ce);return Ie},T=({yarnPath:ce,ignorePath:me,...pe})=>{let ve={};for(let[Ie,g]of Object.entries(pe))D.has(Ie)||(ve[Ie]=g);return ve};if(A.importSettings(b(ib)),A.useWithSource("",b(u),e,{strict:!1}),E){let[ce,me]=E;A.useWithSource(ce,b(me),w,{strict:!1})}if(a){if(await $st({configuration:A,selfPath:a})!==null)return A;A.useWithSource("",{ignorePath:!0},e,{strict:!1,overwrite:!0})}let L=await t.findProjectCwd(e);A.startingCwd=e,A.projectCwd=L;let U=Object.assign(Object.create(null),process.env);A.env=U;let z=await Promise.all(A.get("injectEnvironmentFiles").map(async ce=>{let me=ce.endsWith("?")?await ae.readFilePromise(ce.slice(0,-1),"utf8").catch(()=>""):await ae.readFilePromise(ce,"utf8");return(0,mce.parse)(me)}));for(let ce of z)for(let[me,pe]of Object.entries(ce))A.env[me]=LS(pe,{env:U});if(A.importSettings(C(ib)),A.useWithSource("",C(u),e,{strict:o}),E){let[ce,me]=E;A.useWithSource(ce,C(me),w,{strict:o})}let te=ce=>"default"in ce?ce.default:ce,le=new Map([["@@core",zse]]);if(r!==null)for(let ce of r.plugins.keys())le.set(ce,te(r.modules.get(ce)));for(let[ce,me]of le)A.activatePlugin(ce,me);let de=new Map([]);if(r!==null){let ce=new Map;for(let[ve,Ie]of r.modules)ce.set(ve,()=>Ie);let me=new Set,pe=async(ve,Ie)=>{let{factory:g,name:Ce}=Df(ve);if(!g||me.has(Ce))return;let ye=new Map(ce),Ae=Z=>{if((0,yce.isBuiltin)(Z))return Df(Z);if(ye.has(Z))return ye.get(Z)();throw new nt(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ie=await Xm(async()=>te(await g(Ae)),Z=>`${Z} (when initializing ${Ce}, defined in ${Ie})`);ce.set(Ce,()=>ie),me.add(Ce),de.set(Ce,ie)};if(u.plugins)for(let ve of u.plugins.split(";")){let Ie=K.resolve(e,ue.toPortablePath(ve));await pe(Ie,"")}for(let{path:ve,cwd:Ie,data:g}of p)if(n&&Array.isArray(g.plugins))for(let Ce of g.plugins){let ye=typeof Ce!="string"?Ce.path:Ce,Ae=Ce?.spec??"",ie=Ce?.checksum??"";if(j1.has(Ae))continue;let Z=K.resolve(Ie,ue.toPortablePath(ye));if(!await ae.existsPromise(Z)){if(!Ae){let gt=Ut(A,K.basename(Z,".cjs"),Ct.NAME),q=Ut(A,".gitignore",Ct.NAME),rt=Ut(A,A.values.get("rcFilename"),Ct.NAME),Te=Ut(A,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Ct.URL);throw new nt(`Missing source for the ${gt} plugin - please try to remove the plugin from ${rt} then reinstall it manually. This error usually occurs because ${q} is incorrect, check ${Te} to make sure your plugin folder isn't gitignored.`)}if(!Ae.match(/^https?:/)){let gt=Ut(A,K.basename(Z,".cjs"),Ct.NAME),q=Ut(A,A.values.get("rcFilename"),Ct.NAME);throw new nt(`Failed to recognize the source for the ${gt} plugin - please try to delete the plugin from ${q} then reinstall it manually.`)}let Pe=await IU(Ae,{configuration:A}),Re=zi(Pe);if(ie&&ie!==Re){let gt=Ut(A,K.basename(Z,".cjs"),Ct.NAME),q=Ut(A,A.values.get("rcFilename"),Ct.NAME),rt=Ut(A,`yarn plugin import ${Ae}`,Ct.CODE);throw new nt(`Failed to fetch the ${gt} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${q} then run ${rt} to reimport it.`)}await ae.mkdirPromise(K.dirname(Z),{recursive:!0}),await ae.writeFilePromise(Z,Pe)}await pe(Z,ve)}}for(let[ce,me]of de)A.activatePlugin(ce,me);if(A.useWithSource("",T(u),e,{strict:o}),E){let[ce,me]=E;A.useWithSource(ce,T(me),w,{strict:o})}return A.get("enableGlobalCache")&&(A.values.set("cacheFolder",`${A.get("globalFolder")}/cache`),A.sources.set("cacheFolder","")),A}static async findRcFiles(e){let r=xU(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=K.join(n,r);if(ae.existsSync(u)){let A,p;try{p=await ae.readFilePromise(u,"utf8"),A=Ki(p)}catch{let h="";throw p?.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(h=" (in particular, make sure you list the colons after each key name)"),new nt(`Parse error when loading ${u}; please check it's proper Yaml${h}`)}o.unshift({path:u,cwd:n,data:A})}a=K.dirname(n)}return o}static async findFolderRcFile(e){let r=K.join(e,mr.rc),o;try{o=await ae.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=Ki(o);return{path:r,cwd:e,data:a}}static async findProjectCwd(e){let r=null,o=e,a=null;for(;o!==a;){if(a=o,ae.existsSync(K.join(a,mr.lockfile)))return a;ae.existsSync(K.join(a,mr.manifest))&&(r=a),o=K.dirname(a)}return r}static async updateConfiguration(e,r,o={}){let a=xU(),n=K.join(e,a),u=ae.existsSync(n)?Ki(await ae.readFilePromise(n,"utf8")):{},A=!1,p;if(typeof r=="function"){try{p=r(u)}catch{p=r({})}if(p===u)return!1}else{p=u;for(let h of Object.keys(r)){let E=u[h],w=r[h],D;if(typeof w=="function")try{D=w(E)}catch{D=w(void 0)}else D=w;E!==D&&(D===t.deleteProperty?delete p[h]:p[h]=D,A=!0)}if(!A)return!1}return await ae.changeFilePromise(n,Pa(p),{automaticNewlines:!0}),!0}static async addPlugin(e,r){r.length!==0&&await t.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=Ey();return await t.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,kU(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Ut(this,e,Ct.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=r4(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e===""&&Wst.has(u))continue;if(u==="rcFilename")throw new nt(`The rcFilename settings can only be set via ${`${ob}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let w=Ey(),D=e[0]!=="<"?K.dirname(e):null;if(a&&!(D!==null?w===D:!1))throw new nt(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=QU(this,u,A,h,o)}catch(w){throw w.message+=` in ${Ut(this,e,Ct.PATH)}`,w}if(u==="enableStrictSettings"&&e!==""){a=E;continue}if(h.type==="MAP"){let w=this.values.get(u);this.values.set(u,new Map(n?[...w,...E]:[...E,...w])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let w=this.values.get(u);this.values.set(u,n?[...w,...E]:[...E,...w]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new nt(`Couldn't find a configuration settings named "${e}"`);return sb(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Ut(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Ut(this,"STDERR","red")}`);n=new SU.PassThrough,n.pipe(p),n.pipe(A),u=new SU.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} -`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new xg([new Ix,new ci,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new gy([new dy,new my,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=q1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=ul(n,u=>u==="current"?e.libc??ul.skip:u)),{os:o,cpu:a,libc:n}}isInteractive({interactive:e,stdout:r}){return r.isTTY?e??this.get("preferInteractive"):!1}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!Fa(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new _t;u.load(a,{yamlCompatibilityMode:!0});let A=f1(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,w]of u.peerDependenciesMeta)for(let[D,b]of Object.entries(w))p.push({...h,type:"PeerDependencyMeta",selector:E,key:D,value:b})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(ch(o,!0),NS(a),{userProvided:!0});return e}normalizeLocator(e){return Fa(e.reference)?Ss(e,`${this.get("defaultProtocol")}${e.reference}`):ky.test(e.reference)?Ss(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return Fa(e.range)?Qn(e,`${this.get("defaultProtocol")}${e.range}`):ky.test(e.range)?Qn(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e,{packageExtensions:r}){let o=C1(e),a=r.get(e.identHash);if(typeof a<"u"){let u=e.version;if(u!==null){for(let[A,p]of a)if(nA(u,A))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof o.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof o.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=o.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",Al(o.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:rO(h)}}}let n=u=>u.scope?`${u.scope}__${u.name}`:`${u.name}`;for(let u of o.peerDependenciesMeta.keys()){let A=Zo(u);o.peerDependencies.has(A.identHash)||o.peerDependencies.set(A.identHash,Qn(A,"*"))}for(let u of o.peerDependencies.values()){if(u.scope==="types")continue;let A=n(u),p=rA("types",A),h=rn(p);o.peerDependencies.has(p.identHash)||o.peerDependenciesMeta.has(h)||(o.peerDependencies.set(p.identHash,Qn(p,"*")),o.peerDependenciesMeta.set(h,{optional:!0}))}return o.dependencies=new Map(Ps(o.dependencies,([,u])=>Qa(u))),o.peerDependencies=new Map(Ps(o.peerDependencies,([,u])=>Qa(u))),o}getLimit(e){return Al(this.limits,e,()=>(0,Ece.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);n&&await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);A&&(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}}});var Hr={};Kt(Hr,{EndStrategy:()=>NU,ExecError:()=>lb,PipeError:()=>Y1,execvp:()=>DU,pipevp:()=>Xc});function Fg(t){return t!==null&&typeof t.fd=="number"}function FU(){}function RU(){for(let t of Rg)t.kill()}async function Xc(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":Fg(n)&&(h[0]=n),Fg(u)&&(h[1]=u),Fg(A)&&(h[2]=A);let E=(0,TU.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...o,PWD:ue.fromPortablePath(r)},stdio:h});Rg.add(E),Rg.size===1&&(process.on("SIGINT",FU),process.on("SIGTERM",RU)),!Fg(n)&&n!==null&&n.pipe(E.stdin),Fg(u)||E.stdout.pipe(u,{end:!1}),Fg(A)||E.stderr.pipe(A,{end:!1});let w=()=>{for(let D of new Set([u,A]))Fg(D)||D.end()};return new Promise((D,b)=>{E.on("error",C=>{Rg.delete(E),Rg.size===0&&(process.off("SIGINT",FU),process.off("SIGTERM",RU)),(p===2||p===1)&&w(),b(C)}),E.on("close",(C,T)=>{Rg.delete(E),Rg.size===0&&(process.off("SIGINT",FU),process.off("SIGTERM",RU)),(p===2||p===1&&C!==0)&&w(),C===0||!a?D({code:LU(C,T)}):b(new Y1({fileName:t,code:C,signal:T}))})})}async function DU(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=ue.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,TU.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",w=>{A.push(w)}),E.stderr.on("data",w=>{p.push(w)}),await new Promise((w,D)=>{E.on("error",b=>{let C=Je.create(r),T=Ut(C,t,Ct.PATH);D(new zt(1,`Process ${T} failed to spawn`,L=>{L.reportError(1,` ${$u(C,{label:"Thrown Error",value:Yc(Ct.NO_HINT,b.message)})}`)}))}),E.on("close",(b,C)=>{let T=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);b===0||!n?w({code:LU(b,C),stdout:T,stderr:L}):D(new lb({fileName:t,code:b,signal:C,stdout:T,stderr:L}))})})}function LU(t,e){let r=eot.get(e);return typeof r<"u"?128+r:t??1}function tot(t,e,{configuration:r,report:o}){o.reportError(1,` ${$u(r,t!==null?{label:"Exit Code",value:Yc(Ct.NUMBER,t)}:{label:"Exit Signal",value:Yc(Ct.CODE,e)})}`)}var TU,NU,Y1,lb,Rg,eot,nb=It(()=>{Pt();TU=et(UT());W1();Vl();Wl();NU=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(NU||{}),Y1=class extends zt{constructor({fileName:e,code:r,signal:o}){let a=Je.create(K.cwd()),n=Ut(a,e,Ct.PATH);super(1,`Child ${n} reported an error`,u=>{tot(r,o,{configuration:a,report:u})}),this.code=LU(r,o)}},lb=class extends Y1{constructor({fileName:e,code:r,signal:o,stdout:a,stderr:n}){super({fileName:e,code:r,signal:o}),this.stdout=a,this.stderr=n}};Rg=new Set;eot=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function wce(t){Ice=t}function K1(){return typeof OU>"u"&&(OU=Ice()),OU}var OU,Ice,MU=It(()=>{Ice=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var Bce=_((ub,_U)=>{var rot=Object.assign({},De("fs")),UU=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(ze,st){o=ze,a=st});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(ze,st){throw st},E=!1,w=!0,D="";function b(ze){return r.locateFile?r.locateFile(ze,D):D+ze}var C,T,L,U;w&&(E?D=De("path").dirname(D)+"/":D=__dirname+"/",C=function(st,vt){var ar=ia(st);return ar?vt?ar:ar.toString():(L||(L=rot),U||(U=De("path")),st=U.normalize(st),L.readFileSync(st,vt?null:"utf8"))},T=function(st){var vt=C(st,!0);return vt.buffer||(vt=new Uint8Array(vt)),Ce(vt.buffer),vt},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(ze){process.exit(ze)},r.inspect=function(){return"[Emscripten Module object]"});var z=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var le=0,de=function(ze){le=ze},ce;r.wasmBinary&&(ce=r.wasmBinary);var me=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Hi("no native wasm support detected");function pe(ze,st,vt){switch(st=st||"i8",st.charAt(st.length-1)==="*"&&(st="i32"),st){case"i1":return Ye[ze>>0];case"i8":return Ye[ze>>0];case"i16":return lp((ze>>1)*2);case"i32":return Rs((ze>>2)*4);case"i64":return Rs((ze>>2)*4);case"float":return gu((ze>>2)*4);case"double":return ap((ze>>3)*8);default:Hi("invalid type for getValue: "+st)}return null}var ve,Ie=!1,g;function Ce(ze,st){ze||Hi("Assertion failed: "+st)}function ye(ze){var st=r["_"+ze];return Ce(st,"Cannot call unknown function "+ze+", make sure it is exported"),st}function Ae(ze,st,vt,ar,ee){var Ee={string:function(ki){var Pn=0;if(ki!=null&&ki!==0){var fa=(ki.length<<2)+1;Pn=pi(fa),gt(ki,Pn,fa)}return Pn},array:function(ki){var Pn=pi(ki.length);return Te(ki,Pn),Pn}};function Le(ki){return st==="string"?Pe(ki):st==="boolean"?!!ki:ki}var ht=ye(ze),mt=[],Dt=0;if(ar)for(var er=0;er=vt)&&Qe[ar];)++ar;return Z.decode(Qe.subarray(ze,ar))}function Re(ze,st,vt,ar){if(!(ar>0))return 0;for(var ee=vt,Ee=vt+ar-1,Le=0;Le=55296&&ht<=57343){var mt=ze.charCodeAt(++Le);ht=65536+((ht&1023)<<10)|mt&1023}if(ht<=127){if(vt>=Ee)break;st[vt++]=ht}else if(ht<=2047){if(vt+1>=Ee)break;st[vt++]=192|ht>>6,st[vt++]=128|ht&63}else if(ht<=65535){if(vt+2>=Ee)break;st[vt++]=224|ht>>12,st[vt++]=128|ht>>6&63,st[vt++]=128|ht&63}else{if(vt+3>=Ee)break;st[vt++]=240|ht>>18,st[vt++]=128|ht>>12&63,st[vt++]=128|ht>>6&63,st[vt++]=128|ht&63}}return st[vt]=0,vt-ee}function gt(ze,st,vt){return Re(ze,Qe,st,vt)}function q(ze){for(var st=0,vt=0;vt=55296&&ar<=57343&&(ar=65536+((ar&1023)<<10)|ze.charCodeAt(++vt)&1023),ar<=127?++st:ar<=2047?st+=2:ar<=65535?st+=3:st+=4}return st}function rt(ze){var st=q(ze)+1,vt=aa(st);return vt&&Re(ze,Ye,vt,st),vt}function Te(ze,st){Ye.set(ze,st)}function Ne(ze,st){return ze%st>0&&(ze+=st-ze%st),ze}var xe,Ye,Qe,it,Ue,x,I,S,y,R;function J(ze){xe=ze,r.HEAP_DATA_VIEW=R=new DataView(ze),r.HEAP8=Ye=new Int8Array(ze),r.HEAP16=it=new Int16Array(ze),r.HEAP32=x=new Int32Array(ze),r.HEAPU8=Qe=new Uint8Array(ze),r.HEAPU16=Ue=new Uint16Array(ze),r.HEAPU32=I=new Uint32Array(ze),r.HEAPF32=S=new Float32Array(ze),r.HEAPF64=y=new Float64Array(ze)}var X=r.INITIAL_MEMORY||16777216,$,se=[],be=[],Fe=[],lt=!1;function Et(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)St(r.preRun.shift());hs(se)}function qt(){lt=!0,hs(be)}function nr(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Pr(r.postRun.shift());hs(Fe)}function St(ze){se.unshift(ze)}function cn(ze){be.unshift(ze)}function Pr(ze){Fe.unshift(ze)}var yr=0,Rr=null,Xr=null;function $n(ze){yr++,r.monitorRunDependencies&&r.monitorRunDependencies(yr)}function Xs(ze){if(yr--,r.monitorRunDependencies&&r.monitorRunDependencies(yr),yr==0&&(Rr!==null&&(clearInterval(Rr),Rr=null),Xr)){var st=Xr;Xr=null,st()}}r.preloadedImages={},r.preloadedAudios={};function Hi(ze){r.onAbort&&r.onAbort(ze),ze+="",te(ze),Ie=!0,g=1,ze="abort("+ze+"). Build with -s ASSERTIONS=1 for more info.";var st=new WebAssembly.RuntimeError(ze);throw a(st),st}var ks="data:application/octet-stream;base64,";function Zs(ze){return ze.startsWith(ks)}var bi="data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";Zs(bi)||(bi=b(bi));function Fs(ze){try{if(ze==bi&&ce)return new Uint8Array(ce);var st=ia(ze);if(st)return st;if(T)return T(ze);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(vt){Hi(vt)}}function $s(ze,st){var vt,ar,ee;try{ee=Fs(ze),ar=new WebAssembly.Module(ee),vt=new WebAssembly.Instance(ar,st)}catch(Le){var Ee=Le.toString();throw te("failed to compile wasm module: "+Ee),(Ee.includes("imported Memory")||Ee.includes("memory import"))&&te("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Le}return[vt,ar]}function SA(){var ze={a:dc};function st(ee,Ee){var Le=ee.exports;r.asm=Le,ve=r.asm.g,J(ve.buffer),$=r.asm.W,cn(r.asm.h),Xs("wasm-instantiate")}if($n("wasm-instantiate"),r.instantiateWasm)try{var vt=r.instantiateWasm(ze,st);return vt}catch(ee){return te("Module.instantiateWasm callback failed with error: "+ee),!1}var ar=$s(bi,ze);return st(ar[0]),r.asm}function gu(ze){return R.getFloat32(ze,!0)}function ap(ze){return R.getFloat64(ze,!0)}function lp(ze){return R.getInt16(ze,!0)}function Rs(ze){return R.getInt32(ze,!0)}function Ln(ze,st){R.setInt32(ze,st,!0)}function hs(ze){for(;ze.length>0;){var st=ze.shift();if(typeof st=="function"){st(r);continue}var vt=st.func;typeof vt=="number"?st.arg===void 0?$.get(vt)():$.get(vt)(st.arg):vt(st.arg===void 0?null:st.arg)}}function Ts(ze,st){var vt=new Date(Rs((ze>>2)*4)*1e3);Ln((st>>2)*4,vt.getUTCSeconds()),Ln((st+4>>2)*4,vt.getUTCMinutes()),Ln((st+8>>2)*4,vt.getUTCHours()),Ln((st+12>>2)*4,vt.getUTCDate()),Ln((st+16>>2)*4,vt.getUTCMonth()),Ln((st+20>>2)*4,vt.getUTCFullYear()-1900),Ln((st+24>>2)*4,vt.getUTCDay()),Ln((st+36>>2)*4,0),Ln((st+32>>2)*4,0);var ar=Date.UTC(vt.getUTCFullYear(),0,1,0,0,0,0),ee=(vt.getTime()-ar)/(1e3*60*60*24)|0;return Ln((st+28>>2)*4,ee),Ts.GMTString||(Ts.GMTString=rt("GMT")),Ln((st+40>>2)*4,Ts.GMTString),st}function pc(ze,st){return Ts(ze,st)}function hc(ze,st,vt){Qe.copyWithin(ze,st,st+vt)}function gc(ze){try{return ve.grow(ze-xe.byteLength+65535>>>16),J(ve.buffer),1}catch{}}function xA(ze){var st=Qe.length;ze=ze>>>0;var vt=2147483648;if(ze>vt)return!1;for(var ar=1;ar<=4;ar*=2){var ee=st*(1+.2/ar);ee=Math.min(ee,ze+100663296);var Ee=Math.min(vt,Ne(Math.max(ze,ee),65536)),Le=gc(Ee);if(Le)return!0}return!1}function bA(ze){de(ze)}function Ro(ze){var st=Date.now()/1e3|0;return ze&&Ln((ze>>2)*4,st),st}function To(){if(To.called)return;To.called=!0;var ze=new Date().getFullYear(),st=new Date(ze,0,1),vt=new Date(ze,6,1),ar=st.getTimezoneOffset(),ee=vt.getTimezoneOffset(),Ee=Math.max(ar,ee);Ln((ja()>>2)*4,Ee*60),Ln((rs()>>2)*4,+(ar!=ee));function Le(sn){var ei=sn.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ei?ei[1]:"GMT"}var ht=Le(st),mt=Le(vt),Dt=rt(ht),er=rt(mt);ee>2)*4,Dt),Ln((Di()+4>>2)*4,er)):(Ln((Di()>>2)*4,er),Ln((Di()+4>>2)*4,Dt))}function QA(ze){To();var st=Date.UTC(Rs((ze+20>>2)*4)+1900,Rs((ze+16>>2)*4),Rs((ze+12>>2)*4),Rs((ze+8>>2)*4),Rs((ze+4>>2)*4),Rs((ze>>2)*4),0),vt=new Date(st);Ln((ze+24>>2)*4,vt.getUTCDay());var ar=Date.UTC(vt.getUTCFullYear(),0,1,0,0,0,0),ee=(vt.getTime()-ar)/(1e3*60*60*24)|0;return Ln((ze+28>>2)*4,ee),vt.getTime()/1e3|0}var pr=typeof atob=="function"?atob:function(ze){var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",vt="",ar,ee,Ee,Le,ht,mt,Dt,er=0;ze=ze.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Le=st.indexOf(ze.charAt(er++)),ht=st.indexOf(ze.charAt(er++)),mt=st.indexOf(ze.charAt(er++)),Dt=st.indexOf(ze.charAt(er++)),ar=Le<<2|ht>>4,ee=(ht&15)<<4|mt>>2,Ee=(mt&3)<<6|Dt,vt=vt+String.fromCharCode(ar),mt!==64&&(vt=vt+String.fromCharCode(ee)),Dt!==64&&(vt=vt+String.fromCharCode(Ee));while(er0||(Et(),yr>0))return;function st(){Dn||(Dn=!0,r.calledRun=!0,!Ie&&(qt(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),nr()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),st()},1)):st()}if(r.run=Sl,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Sl(),e}}();typeof ub=="object"&&typeof _U=="object"?_U.exports=UU:typeof define=="function"&&define.amd?define([],function(){return UU}):typeof ub=="object"&&(ub.createModule=UU)});var Lf,vce,Dce,Pce=It(()=>{Lf=["number","number"],vce=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(vce||{}),Dce=t=>({get HEAPU8(){return t.HEAPU8},errors:vce,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint32S:t._malloc(4),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...Lf,"number","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...Lf,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...Lf,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...Lf,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...Lf,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...Lf,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...Lf,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...Lf,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...Lf,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"])},struct:{statS:t.cwrap("zipstruct_statS","number",[]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function HU(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==K.sep);){if(t[r-1]===K.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==K.sep?null:t.slice(0,o)}var iA,Sce=It(()=>{Pt();Pt();sA();iA=class t extends Wp{static async openPromise(e,r){let o=new t(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>HU(A,".zip"):A=>{for(let p of r){let h=HU(A,p);if(h)return h}return null},n=(A,p)=>new Zi(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new Zi(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function not(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(xce.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function Ab(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var ta,qU,xce,jU,bce,fb,Zi,GU=It(()=>{Pt();Pt();Pt();Pt();Pt();Pt();ta=De("fs"),qU=De("stream"),xce=De("util"),jU=et(De("zlib"));MU();bce="mixed";fb=class extends Error{constructor(e,r){super(e),this.name="Libzip Error",this.code=r}},Zi=class extends qu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:bce,r??=Ab(),typeof r=="string"){let{baseFs:A=new _n}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=wa.makeDefaultStats();else throw A}else this.stats=wa.makeDefaultStats();this.libzip=K1();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?Ab():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(Bt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;Ar)throw new Error("Overread");let n=Buffer.from(this.libzip.HEAPU8.subarray(o,o+r));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(n=Buffer.concat([n,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),n}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===wa.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return K.resolve(Bt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return eP(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw sr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?sr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw sr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new qU.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new qU.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw sr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=K.resolve(Bt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`access '${r}'`);if(this.readOnly&&o&ta.constants.W_OK)throw sr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw sr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw sr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw sr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,w=512,D=Math.ceil(E/w),b=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=b,T=b,L=b,U=new Date(C),z=new Date(T),te=new Date(L),le=new Date(b),de=this.listings.has(o)?ta.constants.S_IFDIR:this.isSymbolicLink(n)?ta.constants.S_IFLNK:ta.constants.S_IFREG,ce=de===ta.constants.S_IFDIR?493:420,me=de|this.getUnixMode(n,ce)&511,pe=this.libzip.struct.statCrc(u),ve=Object.assign(new wa.StatEntry,{uid:p,gid:h,size:E,blksize:w,blocks:D,atime:U,birthtime:z,ctime:te,mtime:le,atimeMs:C,birthtimeMs:T,ctimeMs:L,mtimeMs:b,mode:me,crc:pe});return a.bigint===!0?wa.convertToBigIntStats(ve):ve}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,w=this.stats.mtimeMs,D=this.stats.mtimeMs,b=this.stats.mtimeMs,C=this.stats.mtimeMs,T=new Date(w),L=new Date(D),U=new Date(b),z=new Date(C),te=ta.constants.S_IFDIR|493,de=Object.assign(new wa.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:T,birthtime:L,ctime:U,mtime:z,atimeMs:w,birthtimeMs:D,ctimeMs:b,mtimeMs:C,mode:te,crc:0});return a.bigint===!0?wa.convertToBigIntStats(de):de}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(K.dirname(r)).add(K.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(K.dirname(r)).add(K.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r),this.listings.get(K.dirname(r))?.delete(K.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw sr.EBUSY(`archive closed, ${r}`);let u=K.resolve(Bt.root,o);if(u==="/")return Bt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,K.resolve(K.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,K.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw sr.ENOENT(r)}if(!h)throw sr.ENOTDIR(r);if(u=K.resolve(p,K.basename(u)),!a||this.symlinkCount===0)break;let w=this.libzip.name.locate(this.zip,u.slice(1),0);if(w===-1)break;if(this.isSymbolicLink(w)){let D=this.getFileSource(w).toString();u=K.resolve(K.dirname(u),D)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=K.relative(Bt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&ta.constants.S_IFMT)===ta.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let w=this.libzip.fread(E,h,A,0);if(w===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(wA)throw new Error("Overread");let D=this.libzip.HEAPU8.subarray(h,h+A),b=Buffer.from(D);if(p===0)return this.fileSources.set(r,b),b;if(o.asyncDecompress)return new Promise((C,T)=>{jU.default.inflateRaw(b,(L,U)=>{L?T(L):(this.fileSources.set(r,U),C(U))})});{let C=jU.default.inflateRawSync(b);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw sr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,ta.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw sr.EROFS(`copyfile '${r} -> '${o}'`);if(a&ta.constants.COPYFILE_FICLONE_FORCE)throw sr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw sr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if(a&(ta.constants.COPYFILE_EXCL|ta.constants.COPYFILE_FICLONE_FORCE)&&typeof p<"u")throw sr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){let a=this.fds.get(r)?.p;if(typeof a>"u")throw sr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw sr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw sr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw sr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw sr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw sr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,not(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw sr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw sr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}async rmPromise(r,o){return this.rmSync(r,o)}rmSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rm '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rm '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rm '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rm '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rm '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,K.relative(Bt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw sr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw sr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw sr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw sr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(ta.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw sr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`scandir '${r}'`);if(o?.recursive)if(o?.withFileTypes){let u=Array.from(n,A=>Object.assign(this.statImpl("lstat",K.join(r,A)),{name:A,path:Bt.dot}));for(let A of u){if(!A.isDirectory())continue;let p=K.join(A.path,A.name),h=this.listings.get(K.join(a,p));for(let E of h)u.push(Object.assign(this.statImpl("lstat",K.join(r,p,E)),{name:E,path:p}))}return u}else{let u=[...n];for(let A of u){let p=this.listings.get(K.join(a,A));if(!(typeof p>"u"))for(let h of p)u.push(K.join(A,h))}return u}else return o?.withFileTypes?Array.from(n,u=>Object.assign(this.statImpl("lstat",K.join(r,u)),{name:u,path:void 0})):[...n]}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw sr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw sr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=K.resolve(Bt.root,r);return fm(this,n,o,a)}unwatchFile(r,o){let a=K.resolve(Bt.root,r);return G0(this,a,o)}}});function kce(t,e,r=Buffer.alloc(0),o){let a=new Zi(r),n=w=>w===e||w.startsWith(`${e}/`)?w.slice(0,e.length):null,u=async(w,D)=>()=>a,A=(w,D)=>a,p={...t},h=new _n(p),E=new Wp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o?.typeCheck});return fw(Qce.default,new Yp(E)),a}var Qce,Fce=It(()=>{Pt();Qce=et(De("fs"));GU()});var Rce=It(()=>{Sce();GU();Fce()});var V1={};Kt(V1,{DEFAULT_COMPRESSION_LEVEL:()=>bce,LibzipError:()=>fb,ZipFS:()=>Zi,ZipOpenFS:()=>iA,getArchivePart:()=>HU,getLibzipPromise:()=>sot,getLibzipSync:()=>iot,makeEmptyArchive:()=>Ab,mountMemoryDrive:()=>kce});function iot(){return K1()}async function sot(){return K1()}var Tce,sA=It(()=>{MU();Tce=et(Bce());Pce();Rce();wce(()=>{let t=(0,Tce.default)();return Dce(t)})});var z1,Nce=It(()=>{Pt();Gt();J1();z1=class extends ot{constructor(){super(...arguments);this.cwd=ge.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=ge.String();this.args=ge.Proxy()}static{this.usage={description:"run a command using yarn's portable shell",details:` - This command will run a command using Yarn's portable shell. - - Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. - - Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. - - Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. - - For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. - `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await Fy(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}}});var fl,Lce=It(()=>{fl=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var gb={};Kt(gb,{fastGlobOptions:()=>Uce,isBraceExpansion:()=>WU,isGlobPattern:()=>oot,match:()=>aot,micromatchOptions:()=>hb});function oot(t){if(!pb.default.scan(t,hb).isGlob)return!1;try{pb.default.parse(t,hb)}catch{return!1}return!0}function aot(t,{cwd:e,baseFs:r}){return(0,Oce.default)(t,{...Uce,cwd:ue.fromPortablePath(e),fs:aP(Mce.default,new Yp(r))})}function WU(t){return pb.default.scan(t,hb).isBrace}var Oce,Mce,pb,hb,Uce,_ce=It(()=>{Pt();Oce=et(ux()),Mce=et(De("fs")),pb=et(Xo()),hb={strictBrackets:!0},Uce={onlyDirectories:!1,onlyFiles:!1}});function YU(){}function KU(){for(let t of Tg)t.kill()}function Gce(t,e,r,o){return a=>{let n=a[0]instanceof oA.Transform?"pipe":a[0],u=a[1]instanceof oA.Transform?"pipe":a[1],A=a[2]instanceof oA.Transform?"pipe":a[2],p=(0,qce.default)(t,e,{...o,stdio:[n,u,A]});return Tg.add(p),Tg.size===1&&(process.on("SIGINT",YU),process.on("SIGTERM",KU)),a[0]instanceof oA.Transform&&a[0].pipe(p.stdin),a[1]instanceof oA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof oA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(Tg.delete(p),Tg.size===0&&(process.off("SIGINT",YU),process.off("SIGTERM",KU)),E.code){case"ENOENT":a[2].write(`command not found: ${t} -`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} -`),h(128);break;default:a[2].write(`uncaught error: ${E.message} -`),h(1);break}}),p.on("close",E=>{Tg.delete(p),Tg.size===0&&(process.off("SIGINT",YU),process.off("SIGTERM",KU)),h(E!==null?E:129)})})}}}function Wce(t){return e=>{let r=e[0]==="pipe"?new oA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function db(t,e){return zU.start(t,e)}function Hce(t,e=null){let r=new oA.PassThrough,o=new jce.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` -`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function Yce(t,{prefix:e}){return{stdout:Hce(r=>t.stdout.write(`${r} -`),t.stdout.isTTY?e:null),stderr:Hce(r=>t.stderr.write(`${r} -`),t.stderr.isTTY?e:null)}}var qce,oA,jce,Tg,Zl,VU,zU,JU=It(()=>{qce=et(UT()),oA=De("stream"),jce=De("string_decoder"),Tg=new Set;Zl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},VU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},zU=class t{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new t(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new t(this,e),a=new VU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var e2={};Kt(e2,{EntryCommand:()=>z1,ShellError:()=>fl,execute:()=>Fy,globUtils:()=>gb});function Kce(t,e,r){let o=new pl.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof pl.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new fl(`Bad file descriptor: "${t}"`)}return o}function yb(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function cot(t,e,r){let o=[],a=new pl.PassThrough;return a.on("data",n=>o.push(n)),await Eb(t,e,yb(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function Vce(t,e,r){let o=t.map(async n=>{let u=await Ng(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function mb(t){return t.match(/[^ \r\n\t]+/g)||[]}async function eue(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=mb(n);for(let A=0;A=0&&n"u"&&(t.defaultValue?u=(await Ng(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new fl(`Unbound argument #${n}`):new fl(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=mb(u);for(let E=0;Eo.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?X1({type:"variable",name:o.join(" ")},e,r):X1({type:"number",value:a},e,r)}else return uot[t.type](await X1(t.left,e,r),await X1(t.right,e,r))}async function Ng(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,w,D)=>{let b=JSON.stringify({type:E,fd:w}),C=o.get(b);typeof C>"u"&&o.set(b,C=[]),C.push(D)};for(let E of t){let w=!1;switch(E.type){case"redirection":{let D=await Ng(E.args,e,r);for(let b of D)h(E.subtype,E.fd,b)}break;case"argument":for(let D of E.segments)switch(D.type){case"text":u(D.text);break;case"glob":u(D.pattern),w=!0;break;case"shell":{let b=await cot(D.shell,e,r);if(D.quoted)u(b);else{let C=mb(b);for(let T=0;T"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let b=await e.glob.match(D,{cwd:r.cwd,baseFs:e.baseFs});if(b.length===0){let C=WU(D)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new fl(`No matches found: "${D}"${C}`)}for(let C of b.sort())p(C)}}if(o.size>0){let E=[];for(let[w,D]of o.entries())E.splice(E.length,0,w,String(D.length),...D);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function Z1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return Gce(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return Wce(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:w,stdout:D,stderr:b}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=w,r.stdout=D,r.stderr=b}})}function Aot(t,e,r){return o=>{let a=new pl.PassThrough,n=Eb(t,e,yb(r,{stdin:a}));return{stdin:a,promise:n}}}function fot(t,e,r){return o=>{let a=new pl.PassThrough,n=Eb(t,e,r);return{stdin:a,promise:n}}}function zce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.hasOwn(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,Z1([...e,"__ysh_run_procedure",a],r,o)}}async function Jce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Ng(o.args,e,r),h=await Vce(o.envs,e,r);A=o.envs.length?Z1(p,e,yb(u,{environment:h})):Z1(p,e,u)}break;case"subshell":{let p=await Ng(o.args,e,r),h=Aot(o.subshell,e,u);A=zce(h,p,e,u)}break;case"group":{let p=await Ng(o.args,e,r),h=fot(o.group,e,u);A=zce(h,p,e,u)}break;case"envs":{let p=await Vce(o.envs,e,r);u.environment={...u.environment,...p},A=Z1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=db(A,{stdin:new Zl(u.stdin),stdout:new Zl(u.stdout),stderr:new Zl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function pot(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return Xce.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=Yce(r,{prefix:p});return r.backgroundJobs.push(Jce(t,e,yb(r,{stdout:h,stderr:E})).catch(w=>E.write(`${w.message} -`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(Em(t))}' has ended -`)})),0}return await Jce(t,e,r)}async function hot(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await pot(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof fl))throw p;return r.stderr.write(`${p.message} -`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function Eb(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await hot(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function tue(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>$1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>$1(e));case"arithmetic":return XU(t.arithmetic);case"shell":return ZU(t.shell);default:return!1}}function $1(t){switch(t.type){case"redirection":return t.args.some(e=>$1(e));case"argument":return t.segments.some(e=>tue(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function XU(t){switch(t.type){case"variable":return tue(t);case"number":return!1;default:return XU(t.left)||XU(t.right)}}function ZU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=ZU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>$1(n)))||r.args.some(a=>$1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Fy(t,e=[],{baseFs:r=new _n,builtins:o={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=gb}={}){let w={};for(let[C,T]of Object.entries(n))typeof T<"u"&&(w[C]=T);let D=new Map(lot);for(let[C,T]of Object.entries(o))D.set(C,T);u===null&&(u=new pl.PassThrough,u.end());let b=uP(t,E);if(!ZU(b)&&b.length>0&&e.length>0){let{command:C}=b[b.length-1];for(;C.then;)C=C.then.line;let T=C.chain;for(;T.then;)T=T.then.chain;T.type==="command"&&(T.args=T.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await Eb(b,{args:e,baseFs:r,builtins:D,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{"?":0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var Xce,Zce,pl,$ce,lot,uot,J1=It(()=>{Pt();Ol();Xce=et(sL()),Zce=De("os"),pl=De("stream"),$ce=De("timers/promises");Nce();Lce();_ce();JU();JU();lot=new Map([["cd",async([t=(0,Zce.homedir)(),...e],r,o)=>{let a=K.resolve(o.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new fl(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new fl(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)} -`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} -`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new fl("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new fl(`sleep: invalid time interval '${t}'`);return await(0,$ce.setTimeout)(1e3*o,0)}],["unset",async(t,e,r)=>{for(let o of t)delete r.environment[o],delete r.variables[o];return 0}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await db(o,{stdin:new Zl(r.stdin),stdout:new Zl(r.stdout),stderr:new Zl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let w=t[h++],{type:D,fd:b}=JSON.parse(w),C=z=>{switch(b){case null:case 0:u.push(z);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},T=z=>{switch(b){case null:case 1:A.push(z);break;case 2:p.push(z);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},L=Number(t[h++]),U=h+L;for(let z=h;ze.baseFs.createReadStream(K.resolve(r.cwd,ue.toPortablePath(t[z]))));break;case"<<<":C(()=>{let te=new pl.PassThrough;return process.nextTick(()=>{te.write(`${t[z]} -`),te.end()}),te});break;case"<&":C(()=>Kce(Number(t[z]),1,r));break;case">":case">>":{let te=K.resolve(r.cwd,ue.toPortablePath(t[z]));T(te==="/dev/null"?new pl.Writable({autoDestroy:!0,emitClose:!0,write(le,de,ce){setImmediate(ce)}}):e.baseFs.createWriteStream(te,D===">>"?{flags:"a"}:void 0))}break;case">&":T(Kce(Number(t[z]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${D}"`)}}if(u.length>0){let w=new pl.PassThrough;o=w;let D=b=>{if(b===u.length)w.end();else{let C=u[b]();C.pipe(w,{end:!1}),C.on("end",()=>{D(b+1)})}};D(0)}if(A.length>0){let w=new pl.PassThrough;a=w;for(let D of A)w.pipe(D)}if(p.length>0){let w=new pl.PassThrough;n=w;for(let D of p)w.pipe(D)}let E=await db(Z1(t.slice(h+1),e,r),{stdin:new Zl(o),stdout:new Zl(a),stderr:new Zl(n)}).run();return await Promise.all(A.map(w=>new Promise((D,b)=>{w.on("error",C=>{b(C)}),w.on("close",()=>{D()}),w.end()}))),await Promise.all(p.map(w=>new Promise((D,b)=>{w.on("error",C=>{b(C)}),w.on("close",()=>{D()}),w.end()}))),E}]]);uot={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Cb=_((HMt,rue)=>{function got(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r{var nue=yg(),dot=Cb(),mot=jl(),yot=hy(),Eot=1/0,iue=nue?nue.prototype:void 0,sue=iue?iue.toString:void 0;function oue(t){if(typeof t=="string")return t;if(mot(t))return dot(t,oue)+"";if(yot(t))return sue?sue.call(t):"";var e=t+"";return e=="0"&&1/t==-Eot?"-0":e}aue.exports=oue});var t2=_((jMt,cue)=>{var Cot=lue();function Iot(t){return t==null?"":Cot(t)}cue.exports=Iot});var $U=_((GMt,uue)=>{function wot(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o{var Bot=$U();function vot(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:Bot(t,e,r)}Aue.exports=vot});var e3=_((YMt,pue)=>{var Dot="\\ud800-\\udfff",Pot="\\u0300-\\u036f",Sot="\\ufe20-\\ufe2f",xot="\\u20d0-\\u20ff",bot=Pot+Sot+xot,Qot="\\ufe0e\\ufe0f",kot="\\u200d",Fot=RegExp("["+kot+Dot+bot+Qot+"]");function Rot(t){return Fot.test(t)}pue.exports=Rot});var gue=_((KMt,hue)=>{function Tot(t){return t.split("")}hue.exports=Tot});var Bue=_((VMt,wue)=>{var due="\\ud800-\\udfff",Not="\\u0300-\\u036f",Lot="\\ufe20-\\ufe2f",Oot="\\u20d0-\\u20ff",Mot=Not+Lot+Oot,Uot="\\ufe0e\\ufe0f",_ot="["+due+"]",t3="["+Mot+"]",r3="\\ud83c[\\udffb-\\udfff]",Hot="(?:"+t3+"|"+r3+")",mue="[^"+due+"]",yue="(?:\\ud83c[\\udde6-\\uddff]){2}",Eue="[\\ud800-\\udbff][\\udc00-\\udfff]",qot="\\u200d",Cue=Hot+"?",Iue="["+Uot+"]?",jot="(?:"+qot+"(?:"+[mue,yue,Eue].join("|")+")"+Iue+Cue+")*",Got=Iue+Cue+jot,Wot="(?:"+[mue+t3+"?",t3,yue,Eue,_ot].join("|")+")",Yot=RegExp(r3+"(?="+r3+")|"+Wot+Got,"g");function Kot(t){return t.match(Yot)||[]}wue.exports=Kot});var Due=_((zMt,vue)=>{var Vot=gue(),zot=e3(),Jot=Bue();function Xot(t){return zot(t)?Jot(t):Vot(t)}vue.exports=Xot});var Sue=_((JMt,Pue)=>{var Zot=fue(),$ot=e3(),eat=Due(),tat=t2();function rat(t){return function(e){e=tat(e);var r=$ot(e)?eat(e):void 0,o=r?r[0]:e.charAt(0),a=r?Zot(r,1).join(""):e.slice(1);return o[t]()+a}}Pue.exports=rat});var bue=_((XMt,xue)=>{var nat=Sue(),iat=nat("toUpperCase");xue.exports=iat});var n3=_((ZMt,Que)=>{var sat=t2(),oat=bue();function aat(t){return oat(sat(t).toLowerCase())}Que.exports=aat});var kue=_(($Mt,Ib)=>{function lat(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,w=11,D=12,b=13,C=14,T=15,L=16,U=17,z=0,te=1,le=2,de=3,ce=4;function me(g,Ce){return 55296<=g.charCodeAt(Ce)&&g.charCodeAt(Ce)<=56319&&56320<=g.charCodeAt(Ce+1)&&g.charCodeAt(Ce+1)<=57343}function pe(g,Ce){Ce===void 0&&(Ce=0);var ye=g.charCodeAt(Ce);if(55296<=ye&&ye<=56319&&Ce=1){var Ae=g.charCodeAt(Ce-1),ie=ye;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(ie-56320)+65536:ie}return ye}function ve(g,Ce,ye){var Ae=[g].concat(Ce).concat([ye]),ie=Ae[Ae.length-2],Z=ye,Pe=Ae.lastIndexOf(C);if(Pe>1&&Ae.slice(1,Pe).every(function(q){return q==o})&&[o,b,U].indexOf(g)==-1)return le;var Re=Ae.lastIndexOf(a);if(Re>0&&Ae.slice(1,Re).every(function(q){return q==a})&&[D,a].indexOf(ie)==-1)return Ae.filter(function(q){return q==a}).length%2==1?de:ce;if(ie==t&&Z==e)return z;if(ie==r||ie==t||ie==e)return Z==C&&Ce.every(function(q){return q==o})?le:te;if(Z==r||Z==t||Z==e)return te;if(ie==u&&(Z==u||Z==A||Z==h||Z==E))return z;if((ie==h||ie==A)&&(Z==A||Z==p))return z;if((ie==E||ie==p)&&Z==p)return z;if(Z==o||Z==T)return z;if(Z==n)return z;if(ie==D)return z;var gt=Ae.indexOf(o)!=-1?Ae.lastIndexOf(o)-1:Ae.length-2;return[b,U].indexOf(Ae[gt])!=-1&&Ae.slice(gt+1,-1).every(function(q){return q==o})&&Z==C||ie==T&&[L,U].indexOf(Z)!=-1?z:Ce.indexOf(a)!=-1?le:ie==a&&Z==a?z:te}this.nextBreak=function(g,Ce){if(Ce===void 0&&(Ce=0),Ce<0)return 0;if(Ce>=g.length-1)return g.length;for(var ye=Ie(pe(g,Ce)),Ae=[],ie=Ce+1;ie{var cat=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,wb;function uat(){if(wb)return wb;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return wb=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=kue(),e=new t;return wb=r=>e.splitGraphemes(r)}}Fue.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(cat)||[t,t,void 0],p=uat()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});var nn,r2=It(()=>{nn=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.8.1"});function Uue(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=zu(t===null?0:t);return!r&&t===null?Ut(e,a,"grey"):a}function i3(t,{configuration:e,json:r}){let o=Uue(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=vr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return ry(e,o,n)}async function Ry({configuration:t,stdout:e,forceError:r},o){let a=await Nt.start({configuration:t,stdout:e,includeFooter:!1},async n=>{let u=!1,A=!1;for(let p of o)typeof p.option<"u"&&(p.error||r?(A=!0,n.reportError(50,p.message)):(u=!0,n.reportWarning(50,p.message)),p.callback?.());u&&!A&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var Oue,Bb,Aat,Tue,Nue,gh,Mue,Lue,fat,pat,vb,hat,Nt,n2=It(()=>{Oue=et(Rue()),Bb=et(ag());jP();Vl();r2();Wl();Aat="\xB7",Tue=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Nue=80,gh=Bb.default.GITHUB_ACTIONS?{start:t=>`::group::${t} -`,end:t=>`::endgroup:: -`}:Bb.default.TRAVIS?{start:t=>`travis_fold:start:${t} -`,end:t=>`travis_fold:end:${t} -`}:Bb.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} -`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,Mue=gh!==null,Lue=new Date,fat=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,pat=t=>t,vb=pat({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),hat=fat&&Object.keys(vb).find(t=>{let e=vb[t];return!(e.date&&(e.date[0]!==Lue.getDate()||e.date[1]!==Lue.getMonth()+1))})||"default";Nt=class extends Ws{constructor({configuration:r,stdout:o,json:a=!1,forceSectionAlignment:n=!1,includeNames:u=!0,includePrefix:A=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:w=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(d1(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=u,this.includePrefix=A,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=w,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let D=r.get("progressBarStyle")||hat;if(!Object.hasOwn(vb,D))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=vb[D];let b=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*b/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,wg(r.configuration,`Yarn ${nn}`,2));try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let o=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,o-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,gh!==null&&!this.json&&this.includeInfos&&this.stdout.write(gh.start(r))},reportFooter:A=>{if(this.indent-=1,gh!==null&&!this.json&&this.includeInfos){this.stdout.write(gh.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Ut(this.configuration,A,Ct.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,o)),this.reportErrorImpl(r,o)}reportErrorImpl(r,o){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportFold(r,o){if(!gh)return;let a=`${gh.start(r)}${o}${gh.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Ut(this.configuration,Date.now()-this.startTime,Ct.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} -`),this.writeProgress()}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} -`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>Nue&&(this.progressFrame=(this.progressFrame+1)%Tue.length,this.progressTime=r);let o=Tue[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Ut(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Nue)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Oue.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Uue(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Ut(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?i3(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${Aat} `}}});var hn={};Kt(hn,{PackageManager:()=>que,detectPackageManager:()=>jue,executePackageAccessibleBinary:()=>Vue,executePackageScript:()=>Db,executePackageShellcode:()=>s3,executeWorkspaceAccessibleBinary:()=>Iat,executeWorkspaceLifecycleScript:()=>Yue,executeWorkspaceScript:()=>Wue,getPackageAccessibleBinaries:()=>Pb,getWorkspaceAccessibleBinaries:()=>Kue,hasPackageScript:()=>yat,hasWorkspaceScript:()=>o3,isNodeScript:()=>a3,makeScriptEnv:()=>i2,maybeExecuteWorkspaceLifecycleScript:()=>Cat,prepareExternalProject:()=>mat});async function dh(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(K.format({dir:t,name:e,ext:".cmd"}),a)}await ae.writeFilePromise(K.join(t,e),`#!/bin/sh -exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`,{mode:493})}async function jue(t){let e=await _t.tryFind(t);if(e?.packageManager){let o=dx(e.packageManager);if(o?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(K.join(t,mr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(K.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(K.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function i2({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let u={};for(let[E,w]of Object.entries(n))typeof w<"u"&&(u[E.toLowerCase()!=="path"?E:"PATH"]=w);let A=ue.fromPortablePath(r);u.BERRY_BIN_FOLDER=ue.fromPortablePath(A);let p=process.env.COREPACK_ROOT&&!o?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([dh(r,"node",process.execPath),...nn!==null?[dh(r,"run",process.execPath,[p,"run"]),dh(r,"yarn",process.execPath,[p]),dh(r,"yarnpkg",process.execPath,[p]),dh(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),t&&(u.INIT_CWD=ue.fromPortablePath(t.configuration.startingCwd),u.PROJECT_CWD=ue.fromPortablePath(t.cwd)),u.PATH=u.PATH?`${A}${ue.delimiter}${u.PATH}`:`${A}`,u.npm_execpath=`${A}${ue.sep}yarn`,u.npm_node_execpath=`${A}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let E=t.tryWorkspaceByLocator(e),w=E?E.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";u.npm_package_name=rn(e),u.npm_package_version=w;let D;if(E)D=E.cwd;else{let b=t.storedPackages.get(e.locatorHash);if(!b)throw new Error(`Package for ${jr(t.configuration,e)} not found in the project`);let C=t.configuration.getLinkers(),T={project:t,report:new Nt({stdout:new mh.PassThrough,configuration:t.configuration})},L=C.find(U=>U.supportsPackage(b,T));if(!L)throw new Error(`The package ${jr(t.configuration,b)} isn't supported by any of the available linkers`);D=await L.findPackageLocation(b,T)}u.npm_package_json=ue.fromPortablePath(K.join(D,mr.manifest))}let h=nn!==null?`yarn/${nn}`:`yarn/${Df("@yarnpkg/core").version}-core`;return u.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(u.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(E=>E.setupScriptEnvironment,t,u,async(E,w,D)=>await dh(r,E,w,D)),u}async function mat(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await dat(async()=>{await ae.mktempPromise(async u=>{let A=K.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:ue.fromPortablePath(t),report:o}),w=n&&zc(n)?cy(n):n,D=w?ka(w):"an external project";h.write(`Packing ${D} from sources -`);let b=await jue(t),C;b!==null?(h.write(`Using ${b.packageManager} for bootstrap. Reason: ${b.reason} - -`),C=b.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn - -`),C="Yarn");let T=C==="Yarn"&&!b?.packageManagerField;await ae.mktempPromise(async L=>{let U=await i2({binFolder:L,ignoreCorepack:T,baseEnv:{...process.env,COREPACK_ENABLE_AUTO_PIN:"0"}}),te=new Map([["Yarn Classic",async()=>{let de=a!==null?["workspace",a]:[],ce=K.join(t,mr.manifest),me=await ae.readFilePromise(ce),pe=await Xc(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(pe.code!==0)return pe.code;await ae.writeFilePromise(ce,me),await ae.appendFilePromise(K.join(t,".npmignore"),`/.yarn -`),h.write(` -`),delete U.NODE_ENV;let ve=await Xc("yarn",["install"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ve.code!==0)return ve.code;h.write(` -`);let Ie=await Xc("yarn",[...de,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return Ie.code!==0?Ie.code:0}],["Yarn",async()=>{let de=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ce=K.join(t,mr.lockfile);await ae.existsPromise(ce)||await ae.writeFilePromise(ce,"");let me=await Xc("yarn",[...de,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return me.code!==0?me.code:0}],["npm",async()=>{if(a!==null){let Ce=new mh.PassThrough,ye=Zm(Ce);Ce.pipe(h,{end:!1});let Ae=await Xc("npm",["--version"],{cwd:t,env:U,stdin:p,stdout:Ce,stderr:E,end:0});if(Ce.end(),Ae.code!==0)return h.end(),E.end(),Ae.code;let ie=(await ye).toString().trim();if(!nA(ie,">=7.x")){let Z=rA(null,"npm"),Pe=Qn(Z,ie),Re=Qn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${zn(r,Pe)}; please upgrade to ${zn(r,Re)} (npm has been detected as the primary package manager for ${Ut(r,t,Ct.PATH)})`)}}let de=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ce=await Xc("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ce.code!==0)return ce.code;let me=new mh.PassThrough,pe=Zm(me);me.pipe(h);let ve=await Xc("npm",["pack","--silent",...de],{cwd:t,env:U,stdin:p,stdout:me,stderr:E});if(ve.code!==0)return ve.code;let Ie=(await pe).toString().trim().replace(/^.*\n/s,""),g=K.resolve(t,ue.toPortablePath(Ie));return await ae.renamePromise(g,e),0}]]).get(C);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let le=await te();if(!(le===0||typeof le>"u"))throw ae.detachTemp(u),new zt(58,`Packing the package failed (exit code ${le}, logs can be found here: ${Ut(r,A,Ct.PATH)})`)})})})}async function yat(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return o3(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${jr(r.configuration,t)} not found in the project`);return await iA.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Nt({stdout:new mh.PassThrough,configuration:u})},h=A.find(b=>b.supportsPackage(a,p));if(!h)throw new Error(`The package ${jr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),w=new En(E,{baseFs:n});return(await _t.find(Bt.dot,{baseFs:w})).scripts.has(e)})}async function Db(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:E,cwd:w}=await Gue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),D=h.scripts.get(e);if(typeof D>"u")return 1;let b=async()=>await Fy(D,r,{cwd:w,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(T=>T.wrapScriptExecution,b,a,t,e,{script:D,args:r,cwd:w,env:E,stdin:n,stdout:u,stderr:A}))()})}async function s3(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:E}=await Gue(t,{project:a,binFolder:p,cwd:o});return await Fy(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function Eat(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await i2({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await l3(e,await Kue(t)),typeof r>"u"&&(r=K.dirname(await ae.realpathPromise(K.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function Gue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Eat(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${jr(e.configuration,t)} not found in the project`);return await iA.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Nt({stdout:new mh.PassThrough,configuration:p})},w=h.find(L=>L.supportsPackage(u,E));if(!w)throw new Error(`The package ${jr(e.configuration,u)} isn't supported by any of the available linkers`);let D=await i2({project:e,locator:t,binFolder:r,lifecycleScript:a});await l3(r,await Pb(t,{project:e}));let b=await w.findPackageLocation(u,E),C=new En(b,{baseFs:A}),T=await _t.find(Bt.dot,{baseFs:C});return typeof o>"u"&&(o=b),{manifest:T,binFolder:r,env:D,cwd:o}})}async function Wue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Db(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function o3(t,e){return t.manifest.scripts.has(e)}async function Yue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await ae.mktempPromise(async u=>{let A=K.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}") -`,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:jr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await Wue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),w!==0)throw ae.detachTemp(u),new zt(36,`${(0,_ue.default)(e)} script failed (exit code ${Ut(a,w,Ct.NUMBER)}, logs can be found here: ${Ut(a,A,Ct.PATH)}); run ${Ut(a,`yarn ${e}`,Ct.CODE)} to investigate`)})}async function Cat(t,e,r){o3(t,e)&&await Yue(t,e,r)}function a3(t){let e=K.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),o;try{o=ae.openSync(t,"r")}catch{return!0}try{ae.readSync(o,r,0,r.length,0)}finally{ae.closeSync(o)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function Pb(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${jr(r,t)} not found in the project`);let n=new mh.Writable,u=r.getLinkers(),A={project:e,report:new Nt({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let w=e.storedResolutions.get(E.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${zn(r,E)}) should have been registered`);p.add(w)}let h=await Promise.all(Array.from(p,async E=>{let w=e.storedPackages.get(E);if(!w)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(w.bin.size===0)return ul.skip;let D=u.find(C=>C.supportsPackage(w,A));if(!D)return ul.skip;let b=null;try{b=await D.findPackageLocation(w,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return ul.skip;throw C}return{dependency:w,packageLocation:b}}));for(let E of h){if(E===ul.skip)continue;let{dependency:w,packageLocation:D}=E;for(let[b,C]of w.bin){let T=K.resolve(D,C);o.set(b,[w,ue.fromPortablePath(T),a3(T)])}}return o}async function Kue(t){return await Pb(t.anchoredLocator,{project:t.project})}async function l3(t,e){await Promise.all(Array.from(e,([r,[,o,a]])=>a?dh(t,r,process.execPath,[o]):dh(t,r,o,[])))}async function Vue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await Pb(t,{project:a});let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${jr(a.configuration,t)}`);return await ae.mktempPromise(async w=>{let[,D]=E,b=await i2({project:a,locator:t,binFolder:w});await l3(b.BERRY_BIN_FOLDER,h);let C=a3(ue.toPortablePath(D))?Xc(process.execPath,[...p,D,...r],{cwd:o,env:b,stdin:n,stdout:u,stderr:A}):Xc(D,r,{cwd:o,env:b,stdin:n,stdout:u,stderr:A}),T;try{T=await C}finally{await ae.removePromise(b.BERRY_BIN_FOLDER)}return T.code})}async function Iat(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await Vue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var _ue,Hue,mh,que,gat,dat,c3=It(()=>{Pt();Pt();sA();J1();_ue=et(n3()),Hue=et(ug()),mh=De("stream");py();Vl();n2();r2();nb();Wl();Gl();Qf();Io();que=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(que||{});gat=2,dat=(0,Hue.default)(gat)});var Ty=_((I4t,Jue)=>{"use strict";var zue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);Jue.exports=t=>t?Object.keys(t).map(e=>[zue.has(e)?zue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Ly=_((w4t,sAe)=>{"use strict";var Xue=typeof process=="object"&&process?process:{stdout:null,stderr:null},wat=De("events"),Zue=De("stream"),$ue=De("string_decoder").StringDecoder,Of=Symbol("EOF"),Mf=Symbol("maybeEmitEnd"),yh=Symbol("emittedEnd"),Sb=Symbol("emittingEnd"),s2=Symbol("emittedError"),xb=Symbol("closed"),eAe=Symbol("read"),bb=Symbol("flush"),tAe=Symbol("flushChunk"),Ra=Symbol("encoding"),Uf=Symbol("decoder"),Qb=Symbol("flowing"),o2=Symbol("paused"),Ny=Symbol("resume"),xs=Symbol("bufferLength"),u3=Symbol("bufferPush"),A3=Symbol("bufferShift"),Do=Symbol("objectMode"),Po=Symbol("destroyed"),f3=Symbol("emitData"),rAe=Symbol("emitEnd"),p3=Symbol("emitEnd2"),_f=Symbol("async"),a2=t=>Promise.resolve().then(t),nAe=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Bat=nAe&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),vat=nAe&&Symbol.iterator||Symbol("iterator not implemented"),Dat=t=>t==="end"||t==="finish"||t==="prefinish",Pat=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Sat=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),kb=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[Ny](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},h3=class extends kb{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};sAe.exports=class iAe extends Zue{constructor(e){super(),this[Qb]=!1,this[o2]=!1,this.pipes=[],this.buffer=[],this[Do]=e&&e.objectMode||!1,this[Do]?this[Ra]=null:this[Ra]=e&&e.encoding||null,this[Ra]==="buffer"&&(this[Ra]=null),this[_f]=e&&!!e.async||!1,this[Uf]=this[Ra]?new $ue(this[Ra]):null,this[Of]=!1,this[yh]=!1,this[Sb]=!1,this[xb]=!1,this[s2]=null,this.writable=!0,this.readable=!0,this[xs]=0,this[Po]=!1}get bufferLength(){return this[xs]}get encoding(){return this[Ra]}set encoding(e){if(this[Do])throw new Error("cannot set encoding in objectMode");if(this[Ra]&&e!==this[Ra]&&(this[Uf]&&this[Uf].lastNeed||this[xs]))throw new Error("cannot change encoding");this[Ra]!==e&&(this[Uf]=e?new $ue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Uf].write(r)))),this[Ra]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Do]}set objectMode(e){this[Do]=this[Do]||!!e}get async(){return this[_f]}set async(e){this[_f]=this[_f]||!!e}write(e,r,o){if(this[Of])throw new Error("write after end");if(this[Po])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[_f]?a2:n=>n();return!this[Do]&&!Buffer.isBuffer(e)&&(Sat(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Pat(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Do]?(this.flowing&&this[xs]!==0&&this[bb](!0),this.flowing?this.emit("data",e):this[u3](e),this[xs]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[Ra]&&!this[Uf].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Ra]&&(e=this[Uf].write(e)),this.flowing&&this[xs]!==0&&this[bb](!0),this.flowing?this.emit("data",e):this[u3](e),this[xs]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[xs]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Po])return null;if(this[xs]===0||e===0||e>this[xs])return this[Mf](),null;this[Do]&&(e=null),this.buffer.length>1&&!this[Do]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[xs])]);let r=this[eAe](e||null,this.buffer[0]);return this[Mf](),r}[eAe](e,r){return e===r.length||e===null?this[A3]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[xs]-=e),this.emit("data",r),!this.buffer.length&&!this[Of]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Of]=!0,this.writable=!1,(this.flowing||!this[o2])&&this[Mf](),this}[Ny](){this[Po]||(this[o2]=!1,this[Qb]=!0,this.emit("resume"),this.buffer.length?this[bb]():this[Of]?this[Mf]():this.emit("drain"))}resume(){return this[Ny]()}pause(){this[Qb]=!1,this[o2]=!0}get destroyed(){return this[Po]}get flowing(){return this[Qb]}get paused(){return this[o2]}[u3](e){this[Do]?this[xs]+=1:this[xs]+=e.length,this.buffer.push(e)}[A3](){return this.buffer.length&&(this[Do]?this[xs]-=1:this[xs]-=this.buffer[0].length),this.buffer.shift()}[bb](e){do;while(this[tAe](this[A3]()));!e&&!this.buffer.length&&!this[Of]&&this.emit("drain")}[tAe](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Po])return;let o=this[yh];return r=r||{},e===Xue.stdout||e===Xue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new h3(this,e,r):new kb(this,e,r)),this[_f]?a2(()=>this[Ny]()):this[Ny]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[Ny]():e==="readable"&&this[xs]!==0?super.emit("readable"):Dat(e)&&this[yh]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[s2]&&(this[_f]?a2(()=>r.call(this,this[s2])):r.call(this,this[s2])),o}get emittedEnd(){return this[yh]}[Mf](){!this[Sb]&&!this[yh]&&!this[Po]&&this.buffer.length===0&&this[Of]&&(this[Sb]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[xb]&&this.emit("close"),this[Sb]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Po&&this[Po])return;if(e==="data")return r?this[_f]?a2(()=>this[f3](r)):this[f3](r):!1;if(e==="end")return this[rAe]();if(e==="close"){if(this[xb]=!0,!this[yh]&&!this[Po])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[s2]=r;let n=super.emit("error",r);return this[Mf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Mf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Mf](),a}[f3](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Mf](),r}[rAe](){this[yh]||(this[yh]=!0,this.readable=!1,this[_f]?a2(()=>this[p3]()):this[p3]())}[p3](){if(this[Uf]){let r=this[Uf].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Do]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[Do]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[Do]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Do]?Promise.reject(new Error("cannot concat in objectMode")):this[Ra]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Po,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[Bat](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Of])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Of]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Po,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[vat](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Po]?(e?this.emit("error",e):this.emit(Po),this):(this[Po]=!0,this.buffer.length=0,this[xs]=0,typeof this.close=="function"&&!this[xb]&&this.close(),e?this.emit("error",e):this.emit(Po),this)}static isStream(e){return!!e&&(e instanceof iAe||e instanceof Zue||e instanceof wat&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var aAe=_((B4t,oAe)=>{var xat=De("zlib").constants||{ZLIB_VERNUM:4736};oAe.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},xat))});var Q3=_(hl=>{"use strict";var E3=De("assert"),Eh=De("buffer").Buffer,uAe=De("zlib"),Lg=hl.constants=aAe(),bat=Ly(),lAe=Eh.concat,Og=Symbol("_superWrite"),My=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Qat=Symbol("opts"),l2=Symbol("flushFlag"),cAe=Symbol("finishFlushFlag"),b3=Symbol("fullFlushFlag"),ui=Symbol("handle"),Fb=Symbol("onError"),Oy=Symbol("sawError"),g3=Symbol("level"),d3=Symbol("strategy"),m3=Symbol("ended"),v4t=Symbol("_defaultFullFlush"),Rb=class extends bat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[Oy]=!1,this[m3]=!1,this[Qat]=e,this[l2]=e.flush,this[cAe]=e.finishFlush;try{this[ui]=new uAe[r](e)}catch(o){throw new My(o)}this[Fb]=o=>{this[Oy]||(this[Oy]=!0,this.close(),this.emit("error",o))},this[ui].on("error",o=>this[Fb](new My(o))),this.once("end",()=>this.close)}close(){this[ui]&&(this[ui].close(),this[ui]=null,this.emit("close"))}reset(){if(!this[Oy])return E3(this[ui],"zlib binding closed"),this[ui].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[b3]),this.write(Object.assign(Eh.alloc(0),{[l2]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[cAe]),this[m3]=!0,super.end(null,null,o)}get ended(){return this[m3]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=Eh.from(e,r)),this[Oy])return;E3(this[ui],"zlib binding closed");let a=this[ui]._handle,n=a.close;a.close=()=>{};let u=this[ui].close;this[ui].close=()=>{},Eh.concat=h=>h;let A;try{let h=typeof e[l2]=="number"?e[l2]:this[l2];A=this[ui]._processChunk(e,h),Eh.concat=lAe}catch(h){Eh.concat=lAe,this[Fb](new My(h))}finally{this[ui]&&(this[ui]._handle=a,a.close=n,this[ui].close=u,this[ui].removeAllListeners("error"))}this[ui]&&this[ui].on("error",h=>this[Fb](new My(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Og](Eh.from(A[0]));for(let h=1;h{this.flush(a),n()};try{this[ui].params(e,r)}finally{this[ui].flush=o}this[ui]&&(this[g3]=e,this[d3]=r)}}}},C3=class extends Hf{constructor(e){super(e,"Deflate")}},I3=class extends Hf{constructor(e){super(e,"Inflate")}},y3=Symbol("_portable"),w3=class extends Hf{constructor(e){super(e,"Gzip"),this[y3]=e&&!!e.portable}[Og](e){return this[y3]?(this[y3]=!1,e[9]=255,super[Og](e)):super[Og](e)}},B3=class extends Hf{constructor(e){super(e,"Gunzip")}},v3=class extends Hf{constructor(e){super(e,"DeflateRaw")}},D3=class extends Hf{constructor(e){super(e,"InflateRaw")}},P3=class extends Hf{constructor(e){super(e,"Unzip")}},Tb=class extends Rb{constructor(e,r){e=e||{},e.flush=e.flush||Lg.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Lg.BROTLI_OPERATION_FINISH,super(e,r),this[b3]=Lg.BROTLI_OPERATION_FLUSH}},S3=class extends Tb{constructor(e){super(e,"BrotliCompress")}},x3=class extends Tb{constructor(e){super(e,"BrotliDecompress")}};hl.Deflate=C3;hl.Inflate=I3;hl.Gzip=w3;hl.Gunzip=B3;hl.DeflateRaw=v3;hl.InflateRaw=D3;hl.Unzip=P3;typeof uAe.BrotliCompress=="function"?(hl.BrotliCompress=S3,hl.BrotliDecompress=x3):hl.BrotliCompress=hl.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Uy=_((S4t,AAe)=>{var kat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;AAe.exports=kat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var Nb=_((b4t,fAe)=>{"use strict";var Fat=Ly(),k3=Uy(),F3=Symbol("slurp");fAe.exports=class extends Fat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=k3(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=k3(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[F3](r),o&&this[F3](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[F3](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?k3(e[o]):e[o])}}});var R3=_(Lb=>{"use strict";Lb.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Lb.code=new Map(Array.from(Lb.name).map(t=>[t[1],t[0]]))});var dAe=_((k4t,gAe)=>{"use strict";var Rat=(t,e)=>{if(Number.isSafeInteger(t))t<0?Nat(t,e):Tat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Tat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},Nat=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=pAe(a):a===0?e[o-1]=0:(r=!0,e[o-1]=hAe(a))}},Lat=t=>{let e=t[0],r=e===128?Mat(t.slice(1,t.length)):e===255?Oat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},Oat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=pAe(n):n===0?u=n:(o=!0,u=hAe(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},Mat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},pAe=t=>(255^t)&255,hAe=t=>(255^t)+1&255;gAe.exports={encode:Rat,parse:Lat}});var Hy=_((F4t,yAe)=>{"use strict";var T3=R3(),_y=De("path").posix,mAe=dAe(),N3=Symbol("slurp"),gl=Symbol("type"),M3=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[gl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Mg(e,r,100),this.mode=Ch(e,r+100,8),this.uid=Ch(e,r+108,8),this.gid=Ch(e,r+116,8),this.size=Ch(e,r+124,12),this.mtime=L3(e,r+136,12),this.cksum=Ch(e,r+148,12),this[N3](o),this[N3](a,!0),this[gl]=Mg(e,r+156,1),this[gl]===""&&(this[gl]="0"),this[gl]==="0"&&this.path.substr(-1)==="/"&&(this[gl]="5"),this[gl]==="5"&&(this.size=0),this.linkpath=Mg(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Mg(e,r+265,32),this.gname=Mg(e,r+297,32),this.devmaj=Ch(e,r+329,8),this.devmin=Ch(e,r+337,8),e[r+475]!==0){let u=Mg(e,r+345,155);this.path=u+"/"+this.path}else{let u=Mg(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=L3(e,r+476,12),this.ctime=L3(e,r+488,12)}let n=8*32;for(let u=r;u=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Uat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Ug(e,r,100,n)||this.needPax,this.needPax=Ih(e,r+100,8,this.mode)||this.needPax,this.needPax=Ih(e,r+108,8,this.uid)||this.needPax,this.needPax=Ih(e,r+116,8,this.gid)||this.needPax,this.needPax=Ih(e,r+124,12,this.size)||this.needPax,this.needPax=O3(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[gl].charCodeAt(0),this.needPax=Ug(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Ug(e,r+265,32,this.uname)||this.needPax,this.needPax=Ug(e,r+297,32,this.gname)||this.needPax,this.needPax=Ih(e,r+329,8,this.devmaj)||this.needPax,this.needPax=Ih(e,r+337,8,this.devmin)||this.needPax,this.needPax=Ug(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Ug(e,r+345,155,u)||this.needPax:(this.needPax=Ug(e,r+345,130,u)||this.needPax,this.needPax=O3(e,r+476,12,this.atime)||this.needPax,this.needPax=O3(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p{let o=t,a="",n,u=_y.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=_y.dirname(o),o=_y.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,99),a,!0]:(o=_y.join(_y.basename(a),o),a=_y.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,99),"",!0])}return n},Mg=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),L3=(t,e,r)=>_at(Ch(t,e,r)),_at=t=>t===null?null:new Date(t*1e3),Ch=(t,e,r)=>t[e]&128?mAe.parse(t.slice(e,e+r)):qat(t,e,r),Hat=t=>isNaN(t)?null:t,qat=(t,e,r)=>Hat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),jat={12:8589934591,8:2097151},Ih=(t,e,r,o)=>o===null?!1:o>jat[r]||o<0?(mAe.encode(o,t.slice(e,e+r)),!0):(Gat(t,e,r,o),!1),Gat=(t,e,r,o)=>t.write(Wat(o,r),e,r,"ascii"),Wat=(t,e)=>Yat(Math.floor(t).toString(8),e),Yat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",O3=(t,e,r,o)=>o===null?!1:Ih(t,e,r,o.getTime()/1e3),Kat=new Array(156).join("\0"),Ug=(t,e,r,o)=>o===null?!1:(t.write(o+Kat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);yAe.exports=M3});var Ob=_((R4t,EAe)=>{"use strict";var Vat=Hy(),zat=De("path"),c2=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new Vat({path:("PaxHeader/"+zat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n=Math.pow(10,n)&&(n+=1),n+a+o}};c2.parse=(t,e,r)=>new c2(Jat(Xat(t),e),r);var Jat=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,Xat=t=>t.replace(/\n$/,"").split(` -`).reduce(Zat,Object.create(null)),Zat=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};EAe.exports=c2});var qy=_((T4t,CAe)=>{CAe.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var Mb=_((N4t,IAe)=>{"use strict";IAe.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var _3=_((O4t,wAe)=>{"use strict";var Ub=["|","<",">","?",":"],U3=Ub.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),$at=new Map(Ub.map((t,e)=>[t,U3[e]])),elt=new Map(U3.map((t,e)=>[t,Ub[e]]));wAe.exports={encode:t=>Ub.reduce((e,r)=>e.split(r).join($at.get(r)),t),decode:t=>U3.reduce((e,r)=>e.split(r).join(elt.get(r)),t)}});var H3=_((M4t,vAe)=>{var{isAbsolute:tlt,parse:BAe}=De("path").win32;vAe.exports=t=>{let e="",r=BAe(t);for(;tlt(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=BAe(t)}return[e,t]}});var PAe=_((U4t,DAe)=>{"use strict";DAe.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var X3=_((q4t,_Ae)=>{"use strict";var RAe=Ly(),TAe=Ob(),NAe=Hy(),lA=De("fs"),SAe=De("path"),aA=Uy(),rlt=qy(),LAe=(t,e)=>e?(t=aA(t).replace(/^\.(\/|$)/,""),rlt(e)+"/"+t):aA(t),nlt=16*1024*1024,xAe=Symbol("process"),bAe=Symbol("file"),QAe=Symbol("directory"),j3=Symbol("symlink"),kAe=Symbol("hardlink"),u2=Symbol("header"),_b=Symbol("read"),G3=Symbol("lstat"),Hb=Symbol("onlstat"),W3=Symbol("onread"),Y3=Symbol("onreadlink"),K3=Symbol("openfile"),V3=Symbol("onopenfile"),wh=Symbol("close"),qb=Symbol("mode"),z3=Symbol("awaitDrain"),q3=Symbol("ondrain"),cA=Symbol("prefix"),FAe=Symbol("hadError"),OAe=Mb(),ilt=_3(),MAe=H3(),UAe=PAe(),jb=OAe(class extends RAe{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=aA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||nlt,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=aA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?aA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=MAe(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=ilt.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=aA(r.absolute||SAe.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[Hb](this.statCache.get(this.absolute)):this[G3]()}emit(e,...r){return e==="error"&&(this[FAe]=!0),super.emit(e,...r)}[G3](){lA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Hb](r)})}[Hb](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=olt(e),this.emit("stat",e),this[xAe]()}[xAe](){switch(this.type){case"File":return this[bAe]();case"Directory":return this[QAe]();case"SymbolicLink":return this[j3]();default:return this.end()}}[qb](e){return UAe(e,this.type==="Directory",this.portable)}[cA](e){return LAe(e,this.prefix)}[u2](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new NAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this[qb](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new TAe({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[QAe](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[u2](),this.end()}[j3](){lA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Y3](r)})}[Y3](e){this.linkpath=aA(e),this[u2](),this.end()}[kAe](e){this.type="Link",this.linkpath=aA(SAe.relative(this.cwd,e)),this.stat.size=0,this[u2](),this.end()}[bAe](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[kAe](r)}this.linkCache.set(e,this.absolute)}if(this[u2](),this.stat.size===0)return this.end();this[K3]()}[K3](){lA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[V3](r)})}[V3](e){if(this.fd=e,this[FAe])return this[wh]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[_b]()}[_b](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;lA.read(e,r,o,a,n,(u,A)=>{if(u)return this[wh](()=>this.emit("error",u));this[W3](A)})}[wh](e){lA.close(this.fd,e)}[W3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[wh](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[wh](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;athis[q3]())}[z3](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[_b]()}}),J3=class extends jb{[G3](){this[Hb](lA.lstatSync(this.absolute))}[j3](){this[Y3](lA.readlinkSync(this.absolute))}[K3](){this[V3](lA.openSync(this.absolute,"r"))}[_b](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=lA.readSync(r,o,a,n,u);this[W3](A),e=!1}finally{if(e)try{this[wh](()=>{})}catch{}}}[z3](e){e()}[wh](e){lA.closeSync(this.fd),e()}},slt=OAe(class extends RAe{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=aA(e.path),this.mode=this[qb](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=aA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=MAe(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new NAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new TAe({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[cA](e){return LAe(e,this.prefix)}[qb](e){return UAe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});jb.Sync=J3;jb.Tar=slt;var olt=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_Ae.exports=jb});var Zb=_((G4t,KAe)=>{"use strict";var Jb=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},alt=Ly(),llt=Q3(),clt=Nb(),o_=X3(),ult=o_.Sync,Alt=o_.Tar,flt=$P(),HAe=Buffer.alloc(1024),Yb=Symbol("onStat"),Gb=Symbol("ended"),uA=Symbol("queue"),jy=Symbol("current"),_g=Symbol("process"),Wb=Symbol("processing"),qAe=Symbol("processJob"),AA=Symbol("jobs"),Z3=Symbol("jobDone"),Kb=Symbol("addFSEntry"),jAe=Symbol("addTarEntry"),r_=Symbol("stat"),n_=Symbol("readdir"),Vb=Symbol("onreaddir"),zb=Symbol("pipe"),GAe=Symbol("entry"),$3=Symbol("entryOpt"),i_=Symbol("writeEntryClass"),YAe=Symbol("write"),e_=Symbol("ondrain"),Xb=De("fs"),WAe=De("path"),plt=Mb(),t_=Uy(),a_=plt(class extends alt{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=t_(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[i_]=o_,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new llt.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[e_]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[e_]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[uA]=new flt,this[AA]=0,this.jobs=+e.jobs||4,this[Wb]=!1,this[Gb]=!1}[YAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[Gb]=!0,this[_g](),this}write(e){if(this[Gb])throw new Error("write after end");return e instanceof clt?this[jAe](e):this[Kb](e),this.flowing}[jAe](e){let r=t_(WAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new Jb(e.path,r,!1);o.entry=new Alt(e,this[$3](o)),o.entry.on("end",a=>this[Z3](o)),this[AA]+=1,this[uA].push(o)}this[_g]()}[Kb](e){let r=t_(WAe.resolve(this.cwd,e));this[uA].push(new Jb(e,r)),this[_g]()}[r_](e){e.pending=!0,this[AA]+=1;let r=this.follow?"stat":"lstat";Xb[r](e.absolute,(o,a)=>{e.pending=!1,this[AA]-=1,o?this.emit("error",o):this[Yb](e,a)})}[Yb](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[_g]()}[n_](e){e.pending=!0,this[AA]+=1,Xb.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[AA]-=1,r)return this.emit("error",r);this[Vb](e,o)})}[Vb](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[_g]()}[_g](){if(!this[Wb]){this[Wb]=!0;for(let e=this[uA].head;e!==null&&this[AA]this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[GAe](e){this[AA]+=1;try{return new this[i_](e.path,this[$3](e)).on("end",()=>this[Z3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[e_](){this[jy]&&this[jy].entry&&this[jy].entry.resume()}[zb](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[Kb](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),s_=class extends a_{constructor(e){super(e),this[i_]=ult}pause(){}resume(){}[r_](e){let r=this.follow?"statSync":"lstatSync";this[Yb](e,Xb[r](e.absolute))}[n_](e,r){this[Vb](e,Xb.readdirSync(e.absolute))}[zb](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[Kb](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[YAe](a)})}};a_.Sync=s_;KAe.exports=a_});var Xy=_(f2=>{"use strict";var hlt=Ly(),glt=De("events").EventEmitter,Ta=De("fs"),u_=Ta.writev;if(!u_){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;u_=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var zy=Symbol("_autoClose"),Zc=Symbol("_close"),A2=Symbol("_ended"),Jn=Symbol("_fd"),VAe=Symbol("_finished"),vh=Symbol("_flags"),l_=Symbol("_flush"),A_=Symbol("_handleChunk"),f_=Symbol("_makeBuf"),nQ=Symbol("_mode"),$b=Symbol("_needDrain"),Ky=Symbol("_onerror"),Jy=Symbol("_onopen"),c_=Symbol("_onread"),Wy=Symbol("_onwrite"),Dh=Symbol("_open"),qf=Symbol("_path"),Hg=Symbol("_pos"),fA=Symbol("_queue"),Yy=Symbol("_read"),zAe=Symbol("_readSize"),Bh=Symbol("_reading"),eQ=Symbol("_remain"),JAe=Symbol("_size"),tQ=Symbol("_write"),Gy=Symbol("_writing"),rQ=Symbol("_defaultFlag"),Vy=Symbol("_errored"),iQ=class extends hlt{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Vy]=!1,this[Jn]=typeof r.fd=="number"?r.fd:null,this[qf]=e,this[zAe]=r.readSize||16*1024*1024,this[Bh]=!1,this[JAe]=typeof r.size=="number"?r.size:1/0,this[eQ]=this[JAe],this[zy]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Jn]=="number"?this[Yy]():this[Dh]()}get fd(){return this[Jn]}get path(){return this[qf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Dh](){Ta.open(this[qf],"r",(e,r)=>this[Jy](e,r))}[Jy](e,r){e?this[Ky](e):(this[Jn]=r,this.emit("open",r),this[Yy]())}[f_](){return Buffer.allocUnsafe(Math.min(this[zAe],this[eQ]))}[Yy](){if(!this[Bh]){this[Bh]=!0;let e=this[f_]();if(e.length===0)return process.nextTick(()=>this[c_](null,0,e));Ta.read(this[Jn],e,0,e.length,null,(r,o,a)=>this[c_](r,o,a))}}[c_](e,r,o){this[Bh]=!1,e?this[Ky](e):this[A_](r,o)&&this[Yy]()}[Zc](){if(this[zy]&&typeof this[Jn]=="number"){let e=this[Jn];this[Jn]=null,Ta.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[Ky](e){this[Bh]=!0,this[Zc](),this.emit("error",e)}[A_](e,r){let o=!1;return this[eQ]-=e,e>0&&(o=super.write(ethis[Jy](e,r))}[Jy](e,r){this[rQ]&&this[vh]==="r+"&&e&&e.code==="ENOENT"?(this[vh]="w",this[Dh]()):e?this[Ky](e):(this[Jn]=r,this.emit("open",r),this[l_]())}end(e,r){return e&&this.write(e,r),this[A2]=!0,!this[Gy]&&!this[fA].length&&typeof this[Jn]=="number"&&this[Wy](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[A2]?(this.emit("error",new Error("write() after end()")),!1):this[Jn]===null||this[Gy]||this[fA].length?(this[fA].push(e),this[$b]=!0,!1):(this[Gy]=!0,this[tQ](e),!0)}[tQ](e){Ta.write(this[Jn],e,0,e.length,this[Hg],(r,o)=>this[Wy](r,o))}[Wy](e,r){e?this[Ky](e):(this[Hg]!==null&&(this[Hg]+=r),this[fA].length?this[l_]():(this[Gy]=!1,this[A2]&&!this[VAe]?(this[VAe]=!0,this[Zc](),this.emit("finish")):this[$b]&&(this[$b]=!1,this.emit("drain"))))}[l_](){if(this[fA].length===0)this[A2]&&this[Wy](null,0);else if(this[fA].length===1)this[tQ](this[fA].pop());else{let e=this[fA];this[fA]=[],u_(this[Jn],e,this[Hg],(r,o)=>this[Wy](r,o))}}[Zc](){if(this[zy]&&typeof this[Jn]=="number"){let e=this[Jn];this[Jn]=null,Ta.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},h_=class extends sQ{[Dh](){let e;if(this[rQ]&&this[vh]==="r+")try{e=Ta.openSync(this[qf],this[vh],this[nQ])}catch(r){if(r.code==="ENOENT")return this[vh]="w",this[Dh]();throw r}else e=Ta.openSync(this[qf],this[vh],this[nQ]);this[Jy](null,e)}[Zc](){if(this[zy]&&typeof this[Jn]=="number"){let e=this[Jn];this[Jn]=null,Ta.closeSync(e),this.emit("close")}}[tQ](e){let r=!0;try{this[Wy](null,Ta.writeSync(this[Jn],e,0,e.length,this[Hg])),r=!1}finally{if(r)try{this[Zc]()}catch{}}}};f2.ReadStream=iQ;f2.ReadStreamSync=p_;f2.WriteStream=sQ;f2.WriteStreamSync=h_});var fQ=_((K4t,nfe)=>{"use strict";var dlt=Mb(),mlt=Hy(),ylt=De("events"),Elt=$P(),Clt=1024*1024,Ilt=Nb(),XAe=Ob(),wlt=Q3(),g_=Buffer.from([31,139]),$l=Symbol("state"),qg=Symbol("writeEntry"),jf=Symbol("readEntry"),d_=Symbol("nextEntry"),ZAe=Symbol("processEntry"),ec=Symbol("extendedHeader"),p2=Symbol("globalExtendedHeader"),Ph=Symbol("meta"),$Ae=Symbol("emitMeta"),yi=Symbol("buffer"),Gf=Symbol("queue"),jg=Symbol("ended"),efe=Symbol("emittedEnd"),Gg=Symbol("emit"),Na=Symbol("unzip"),oQ=Symbol("consumeChunk"),aQ=Symbol("consumeChunkSub"),m_=Symbol("consumeBody"),tfe=Symbol("consumeMeta"),rfe=Symbol("consumeHeader"),lQ=Symbol("consuming"),y_=Symbol("bufferConcat"),E_=Symbol("maybeEnd"),h2=Symbol("writing"),Sh=Symbol("aborted"),cQ=Symbol("onDone"),Wg=Symbol("sawValidEntry"),uQ=Symbol("sawNullBlock"),AQ=Symbol("sawEOF"),Blt=t=>!0;nfe.exports=dlt(class extends ylt{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Wg]=null,this.on(cQ,r=>{(this[$l]==="begin"||this[Wg]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(cQ,e.ondone):this.on(cQ,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Clt,this.filter=typeof e.filter=="function"?e.filter:Blt,this.writable=!0,this.readable=!1,this[Gf]=new Elt,this[yi]=null,this[jf]=null,this[qg]=null,this[$l]="begin",this[Ph]="",this[ec]=null,this[p2]=null,this[jg]=!1,this[Na]=null,this[Sh]=!1,this[uQ]=!1,this[AQ]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[rfe](e,r){this[Wg]===null&&(this[Wg]=!1);let o;try{o=new mlt(e,r,this[ec],this[p2])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[uQ]?(this[AQ]=!0,this[$l]==="begin"&&(this[$l]="header"),this[Gg]("eof")):(this[uQ]=!0,this[Gg]("nullBlock"));else if(this[uQ]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[qg]=new Ilt(o,this[ec],this[p2]);if(!this[Wg])if(n.remain){let u=()=>{n.invalid||(this[Wg]=!0)};n.on("end",u)}else this[Wg]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[Gg]("ignoredEntry",n),this[$l]="ignore",n.resume()):n.size>0&&(this[Ph]="",n.on("data",u=>this[Ph]+=u),this[$l]="meta"):(this[ec]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[Gg]("ignoredEntry",n),this[$l]=n.remain?"ignore":"header",n.resume()):(n.remain?this[$l]="body":(this[$l]="header",n.end()),this[jf]?this[Gf].push(n):(this[Gf].push(n),this[d_]())))}}}[ZAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[jf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[d_]()),r=!1)):(this[jf]=null,r=!1),r}[d_](){do;while(this[ZAe](this[Gf].shift()));if(!this[Gf].length){let e=this[jf];!e||e.flowing||e.size===e.remain?this[h2]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[m_](e,r){let o=this[qg],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[$l]="header",this[qg]=null,o.end()),n.length}[tfe](e,r){let o=this[qg],a=this[m_](e,r);return this[qg]||this[$Ae](o),a}[Gg](e,r,o){!this[Gf].length&&!this[jf]?this.emit(e,r,o):this[Gf].push([e,r,o])}[$Ae](e){switch(this[Gg]("meta",this[Ph]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[ec]=XAe.parse(this[Ph],this[ec],!1);break;case"GlobalExtendedHeader":this[p2]=XAe.parse(this[Ph],this[p2],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[ec]=this[ec]||Object.create(null),this[ec].path=this[Ph].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[ec]=this[ec]||Object.create(null),this[ec].linkpath=this[Ph].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Sh]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Sh])return;if(this[Na]===null&&e){if(this[yi]&&(e=Buffer.concat([this[yi],e]),this[yi]=null),e.lengththis[oQ](n)),this[Na].on("error",n=>this.abort(n)),this[Na].on("end",n=>{this[jg]=!0,this[oQ]()}),this[h2]=!0;let a=this[Na][o?"end":"write"](e);return this[h2]=!1,a}}this[h2]=!0,this[Na]?this[Na].write(e):this[oQ](e),this[h2]=!1;let r=this[Gf].length?!1:this[jf]?this[jf].flowing:!0;return!r&&!this[Gf].length&&this[jf].once("drain",o=>this.emit("drain")),r}[y_](e){e&&!this[Sh]&&(this[yi]=this[yi]?Buffer.concat([this[yi],e]):e)}[E_](){if(this[jg]&&!this[efe]&&!this[Sh]&&!this[lQ]){this[efe]=!0;let e=this[qg];if(e&&e.blockRemain){let r=this[yi]?this[yi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[yi]&&e.write(this[yi]),e.end()}this[Gg](cQ)}}[oQ](e){if(this[lQ])this[y_](e);else if(!e&&!this[yi])this[E_]();else{if(this[lQ]=!0,this[yi]){this[y_](e);let r=this[yi];this[yi]=null,this[aQ](r)}else this[aQ](e);for(;this[yi]&&this[yi].length>=512&&!this[Sh]&&!this[AQ];){let r=this[yi];this[yi]=null,this[aQ](r)}this[lQ]=!1}(!this[yi]||this[jg])&&this[E_]()}[aQ](e){let r=0,o=e.length;for(;r+512<=o&&!this[Sh]&&!this[AQ];)switch(this[$l]){case"begin":case"header":this[rfe](e,r),r+=512;break;case"ignore":case"body":r+=this[m_](e,r);break;case"meta":r+=this[tfe](e,r);break;default:throw new Error("invalid state: "+this[$l])}r{"use strict";var vlt=Ty(),sfe=fQ(),Zy=De("fs"),Dlt=Xy(),ife=De("path"),C_=qy();afe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=vlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Slt(o,e),o.noResume||Plt(o),o.file&&o.sync?xlt(o):o.file?blt(o,r):ofe(o)};var Plt=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},Slt=(t,e)=>{let r=new Map(e.map(n=>[C_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||ife.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(ife.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(C_(n)):n=>a(C_(n))},xlt=t=>{let e=ofe(t),r=t.file,o=!0,a;try{let n=Zy.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size{let r=new sfe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),Zy.stat(a,(p,h)=>{if(p)A(p);else{let E=new Dlt.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},ofe=t=>new sfe(t)});var pfe=_((z4t,ffe)=>{"use strict";var Qlt=Ty(),hQ=Zb(),lfe=Xy(),cfe=pQ(),ufe=De("path");ffe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=Qlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?klt(o,e):o.file?Flt(o,e,r):o.sync?Rlt(o,e):Tlt(o,e)};var klt=(t,e)=>{let r=new hQ.Sync(t),o=new lfe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),Afe(r,e)},Flt=(t,e,r)=>{let o=new hQ(t),a=new lfe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return I_(o,e),r?n.then(r,r):n},Afe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?cfe({file:ufe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},I_=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return cfe({file:ufe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>I_(t,e));t.add(r)}t.end()},Rlt=(t,e)=>{let r=new hQ.Sync(t);return Afe(r,e),r},Tlt=(t,e)=>{let r=new hQ(t);return I_(r,e),r}});var w_=_((J4t,Cfe)=>{"use strict";var Nlt=Ty(),hfe=Zb(),dl=De("fs"),gfe=Xy(),dfe=pQ(),mfe=De("path"),yfe=Hy();Cfe.exports=(t,e,r)=>{let o=Nlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?Llt(o,e):Mlt(o,e,r)};var Llt=(t,e)=>{let r=new hfe.Sync(t),o=!0,a,n;try{try{a=dl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=dl.openSync(t.file,"w+");else throw p}let u=dl.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;nu.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,Olt(t,r,n,a,e)}finally{if(o)try{dl.closeSync(a)}catch{}}},Olt=(t,e,r,o,a)=>{let n=new gfe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Ult(e,a)},Mlt=(t,e,r)=>{e=Array.from(e);let o=new hfe(t),a=(u,A,p)=>{let h=(C,T)=>{C?dl.close(u,L=>p(C)):p(null,T)},E=0;if(A===0)return h(null,0);let w=0,D=Buffer.alloc(512),b=(C,T)=>{if(C)return h(C);if(w+=T,w<512&&T)return dl.read(u,D,w,D.length-w,E+w,b);if(E===0&&D[0]===31&&D[1]===139)return h(new Error("cannot append to compressed archives"));if(w<512)return h(null,E);let L=new yfe(D);if(!L.cksumValid)return h(null,E);let U=512*Math.ceil(L.size/512);if(E+U+512>A||(E+=U+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),w=0,dl.read(u,D,0,512,E,b)};dl.read(u,D,0,512,E,b)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,w)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",dl.open(t.file,p,h);if(E)return A(E);dl.fstat(w,(D,b)=>{if(D)return dl.close(w,()=>A(D));a(w,b.size,(C,T)=>{if(C)return A(C);let L=new gfe.WriteStream(t.file,{fd:w,start:T});o.pipe(L),L.on("error",A),L.on("close",u),Efe(o,e)})})};dl.open(t.file,p,h)});return r?n.then(r,r):n},Ult=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?dfe({file:mfe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},Efe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return dfe({file:mfe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>Efe(t,e));t.add(r)}t.end()}});var wfe=_((X4t,Ife)=>{"use strict";var _lt=Ty(),Hlt=w_();Ife.exports=(t,e,r)=>{let o=_lt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),qlt(o),Hlt(o,e,r)};var qlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var Dfe=_((Z4t,vfe)=>{var{promisify:Bfe}=De("util"),xh=De("fs"),jlt=t=>{if(!t)t={mode:511,fs:xh};else if(typeof t=="object")t={mode:511,fs:xh,...t};else if(typeof t=="number")t={mode:t,fs:xh};else if(typeof t=="string")t={mode:parseInt(t,8),fs:xh};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||xh.mkdir,t.mkdirAsync=Bfe(t.mkdir),t.stat=t.stat||t.fs.stat||xh.stat,t.statAsync=Bfe(t.stat),t.statSync=t.statSync||t.fs.statSync||xh.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||xh.mkdirSync,t};vfe.exports=jlt});var Sfe=_(($4t,Pfe)=>{var Glt=process.platform,{resolve:Wlt,parse:Ylt}=De("path"),Klt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=Wlt(t),Glt==="win32"){let e=/[*|"<>?:]/,{root:r}=Ylt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};Pfe.exports=Klt});var Ffe=_((eUt,kfe)=>{var{dirname:xfe}=De("path"),bfe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?bfe(t,xfe(e),e):void 0),Qfe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?Qfe(t,xfe(e),e):void 0}};kfe.exports={findMade:bfe,findMadeSync:Qfe}});var D_=_((tUt,Tfe)=>{var{dirname:Rfe}=De("path"),B_=(t,e,r)=>{e.recursive=!1;let o=Rfe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return B_(o,e).then(n=>B_(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},v_=(t,e,r)=>{let o=Rfe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return v_(t,e,v_(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};Tfe.exports={mkdirpManual:B_,mkdirpManualSync:v_}});var Ofe=_((rUt,Lfe)=>{var{dirname:Nfe}=De("path"),{findMade:Vlt,findMadeSync:zlt}=Ffe(),{mkdirpManual:Jlt,mkdirpManualSync:Xlt}=D_(),Zlt=(t,e)=>(e.recursive=!0,Nfe(t)===t?e.mkdirAsync(t,e):Vlt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return Jlt(t,e);throw a}))),$lt=(t,e)=>{if(e.recursive=!0,Nfe(t)===t)return e.mkdirSync(t,e);let o=zlt(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return Xlt(t,e);throw a}};Lfe.exports={mkdirpNative:Zlt,mkdirpNativeSync:$lt}});var Hfe=_((nUt,_fe)=>{var Mfe=De("fs"),ect=process.version,P_=ect.replace(/^v/,"").split("."),Ufe=+P_[0]>10||+P_[0]==10&&+P_[1]>=12,tct=Ufe?t=>t.mkdir===Mfe.mkdir:()=>!1,rct=Ufe?t=>t.mkdirSync===Mfe.mkdirSync:()=>!1;_fe.exports={useNative:tct,useNativeSync:rct}});var Kfe=_((iUt,Yfe)=>{var $y=Dfe(),eE=Sfe(),{mkdirpNative:qfe,mkdirpNativeSync:jfe}=Ofe(),{mkdirpManual:Gfe,mkdirpManualSync:Wfe}=D_(),{useNative:nct,useNativeSync:ict}=Hfe(),tE=(t,e)=>(t=eE(t),e=$y(e),nct(e)?qfe(t,e):Gfe(t,e)),sct=(t,e)=>(t=eE(t),e=$y(e),ict(e)?jfe(t,e):Wfe(t,e));tE.sync=sct;tE.native=(t,e)=>qfe(eE(t),$y(e));tE.manual=(t,e)=>Gfe(eE(t),$y(e));tE.nativeSync=(t,e)=>jfe(eE(t),$y(e));tE.manualSync=(t,e)=>Wfe(eE(t),$y(e));Yfe.exports=tE});var epe=_((sUt,$fe)=>{"use strict";var tc=De("fs"),Yg=De("path"),oct=tc.lchown?"lchown":"chown",act=tc.lchownSync?"lchownSync":"chownSync",zfe=tc.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),Vfe=(t,e,r)=>{try{return tc[act](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},lct=(t,e,r)=>{try{return tc.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},cct=zfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):tc.chown(t,e,r,o)}:(t,e,r,o)=>o,S_=zfe?(t,e,r)=>{try{return Vfe(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;lct(t,e,r)}}:(t,e,r)=>Vfe(t,e,r),uct=process.version,Jfe=(t,e,r)=>tc.readdir(t,e,r),Act=(t,e)=>tc.readdirSync(t,e);/^v4\./.test(uct)&&(Jfe=(t,e,r)=>tc.readdir(t,r));var gQ=(t,e,r,o)=>{tc[oct](t,e,r,cct(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},Xfe=(t,e,r,o,a)=>{if(typeof e=="string")return tc.lstat(Yg.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,Xfe(t,u,r,o,a)});if(e.isDirectory())x_(Yg.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=Yg.resolve(t,e.name);gQ(u,r,o,a)});else{let n=Yg.resolve(t,e.name);gQ(n,r,o,a)}},x_=(t,e,r,o)=>{Jfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return gQ(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return gQ(t,e,r,o)}};n.forEach(h=>Xfe(t,h,e,r,p))})},fct=(t,e,r,o)=>{if(typeof e=="string")try{let a=tc.lstatSync(Yg.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&Zfe(Yg.resolve(t,e.name),r,o),S_(Yg.resolve(t,e.name),r,o)},Zfe=(t,e,r)=>{let o;try{o=Act(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return S_(t,e,r);throw a}return o&&o.length&&o.forEach(a=>fct(t,a,e,r)),S_(t,e,r)};$fe.exports=x_;x_.sync=Zfe});var ipe=_((oUt,b_)=>{"use strict";var tpe=Kfe(),rc=De("fs"),dQ=De("path"),rpe=epe(),$c=Uy(),mQ=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},yQ=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},EQ=(t,e)=>t.get($c(e)),g2=(t,e,r)=>t.set($c(e),r),pct=(t,e)=>{rc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new yQ(t,r&&r.code||"ENOTDIR")),e(r)})};b_.exports=(t,e,r)=>{t=$c(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,w=e.cache,D=$c(e.cwd),b=(L,U)=>{L?r(L):(g2(w,t,!0),U&&p?rpe(U,u,A,z=>b(z)):n?rc.chmod(t,a,r):r())};if(w&&EQ(w,t)===!0)return b();if(t===D)return pct(t,b);if(h)return tpe(t,{mode:a}).then(L=>b(null,L),b);let T=$c(dQ.relative(D,t)).split("/");CQ(D,T,a,w,E,D,null,b)};var CQ=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=$c(dQ.resolve(t+"/"+p));if(EQ(o,h))return CQ(h,e,r,o,a,n,u,A);rc.mkdir(h,r,npe(h,e,r,o,a,n,u,A))},npe=(t,e,r,o,a,n,u,A)=>p=>{p?rc.lstat(t,(h,E)=>{if(h)h.path=h.path&&$c(h.path),A(h);else if(E.isDirectory())CQ(t,e,r,o,a,n,u,A);else if(a)rc.unlink(t,w=>{if(w)return A(w);rc.mkdir(t,r,npe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new mQ(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,CQ(t,e,r,o,a,n,u,A))},hct=t=>{let e=!1,r="ENOTDIR";try{e=rc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new yQ(t,r)}};b_.exports.sync=(t,e)=>{t=$c(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,w=$c(e.cwd),D=L=>{g2(E,t,!0),L&&A&&rpe.sync(L,n,u),a&&rc.chmodSync(t,o)};if(E&&EQ(E,t)===!0)return D();if(t===w)return hct(w),D();if(p)return D(tpe.sync(t,o));let C=$c(dQ.relative(w,t)).split("/"),T=null;for(let L=C.shift(),U=w;L&&(U+="/"+L);L=C.shift())if(U=$c(dQ.resolve(U)),!EQ(E,U))try{rc.mkdirSync(U,o),T=T||U,g2(E,U,!0)}catch{let te=rc.lstatSync(U);if(te.isDirectory()){g2(E,U,!0);continue}else if(h){rc.unlinkSync(U),rc.mkdirSync(U,o),T=T||U,g2(E,U,!0);continue}else if(te.isSymbolicLink())return new mQ(U,U+"/"+C.join("/"))}return D(T)}});var k_=_((aUt,spe)=>{var Q_=Object.create(null),{hasOwnProperty:gct}=Object.prototype;spe.exports=t=>(gct.call(Q_,t)||(Q_[t]=t.normalize("NFKD")),Q_[t])});var cpe=_((lUt,lpe)=>{var ope=De("assert"),dct=k_(),mct=qy(),{join:ape}=De("path"),yct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Ect=yct==="win32";lpe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((w,D)=>(w.length&&(D=ape(w[w.length-1],D)),w.push(D||"/"),w),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(w=>t.get(w)),dirs:[...E.dirs].map(w=>t.get(w))}},n=h=>{let{paths:E,dirs:w}=a(h);return E.every(D=>D[0]===h)&&w.every(D=>D[0]instanceof Set&&D[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:w}=e.get(h),D=new Set;return E.forEach(b=>{let C=t.get(b);ope.equal(C[0],h),C.length===1?t.delete(b):(C.shift(),typeof C[0]=="function"?D.add(C[0]):C[0].forEach(T=>D.add(T)))}),w.forEach(b=>{let C=t.get(b);ope(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(b):C[0].size===1?(C.shift(),D.add(C[0])):C[0].delete(h)}),o.delete(h),D.forEach(b=>u(b)),!0};return{check:n,reserve:(h,E)=>{h=Ect?["win32 parallelization disabled"]:h.map(D=>dct(mct(ape(D))).toLowerCase());let w=new Set(h.map(D=>r(D)).reduce((D,b)=>D.concat(b)));return e.set(E,{dirs:w,paths:h}),h.forEach(D=>{let b=t.get(D);b?b.push(E):t.set(D,[E])}),w.forEach(D=>{let b=t.get(D);b?b[b.length-1]instanceof Set?b[b.length-1].add(E):b.push(new Set([E])):t.set(D,[new Set([E])])}),u(E)}}}});var fpe=_((cUt,Ape)=>{var Cct=process.platform,Ict=Cct==="win32",wct=global.__FAKE_TESTING_FS__||De("fs"),{O_CREAT:Bct,O_TRUNC:vct,O_WRONLY:Dct,UV_FS_O_FILEMAP:upe=0}=wct.constants,Pct=Ict&&!!upe,Sct=512*1024,xct=upe|vct|Bct|Dct;Ape.exports=Pct?t=>t"w"});var __=_((uUt,Ppe)=>{"use strict";var bct=De("assert"),Qct=fQ(),Fn=De("fs"),kct=Xy(),Wf=De("path"),Bpe=ipe(),ppe=_3(),Fct=cpe(),Rct=H3(),ml=Uy(),Tct=qy(),Nct=k_(),hpe=Symbol("onEntry"),T_=Symbol("checkFs"),gpe=Symbol("checkFs2"),BQ=Symbol("pruneCache"),N_=Symbol("isReusable"),nc=Symbol("makeFs"),L_=Symbol("file"),O_=Symbol("directory"),vQ=Symbol("link"),dpe=Symbol("symlink"),mpe=Symbol("hardlink"),ype=Symbol("unsupported"),Epe=Symbol("checkPath"),bh=Symbol("mkdir"),So=Symbol("onError"),IQ=Symbol("pending"),Cpe=Symbol("pend"),rE=Symbol("unpend"),F_=Symbol("ended"),R_=Symbol("maybeClose"),M_=Symbol("skip"),d2=Symbol("doChown"),m2=Symbol("uid"),y2=Symbol("gid"),E2=Symbol("checkedCwd"),vpe=De("crypto"),Dpe=fpe(),Lct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,C2=Lct==="win32",Oct=(t,e)=>{if(!C2)return Fn.unlink(t,e);let r=t+".DELETE."+vpe.randomBytes(16).toString("hex");Fn.rename(t,r,o=>{if(o)return e(o);Fn.unlink(r,e)})},Mct=t=>{if(!C2)return Fn.unlinkSync(t);let e=t+".DELETE."+vpe.randomBytes(16).toString("hex");Fn.renameSync(t,e),Fn.unlinkSync(e)},Ipe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,wpe=t=>Nct(Tct(ml(t))).toLowerCase(),Uct=(t,e)=>{e=wpe(e);for(let r of t.keys()){let o=wpe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},_ct=t=>{for(let e of t.keys())t.delete(e)},I2=class extends Qct{constructor(e){if(e||(e={}),e.ondone=r=>{this[F_]=!0,this[R_]()},super(e),this[E2]=!1,this.reservations=Fct(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[IQ]=0,this[F_]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||C2,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=ml(Wf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[hpe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[R_](){this[F_]&&this[IQ]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[Epe](e){if(this.strip){let r=ml(e.path).split("/");if(r.length=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=ml(e.path),o=r.split("/");if(o.includes("..")||C2&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=Rct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Wf.isAbsolute(e.path)?e.absolute=ml(Wf.resolve(e.path)):e.absolute=ml(Wf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:ml(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Wf.win32.parse(e.absolute);e.absolute=r+ppe.encode(e.absolute.substr(r.length));let{root:o}=Wf.win32.parse(e.path);e.path=o+ppe.encode(e.path.substr(o.length))}return!0}[hpe](e){if(!this[Epe](e))return e.resume();switch(bct.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[T_](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[ype](e)}}[So](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[rE](),r.resume())}[bh](e,r,o){Bpe(ml(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[d2](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[m2](e){return Ipe(this.uid,e.uid,this.processUid)}[y2](e){return Ipe(this.gid,e.gid,this.processGid)}[L_](e,r){let o=e.mode&4095||this.fmode,a=new kct.WriteStream(e.absolute,{flags:Dpe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&Fn.close(a.fd,()=>{}),a.write=()=>!0,this[So](p,e),r()});let n=1,u=p=>{if(p){a.fd&&Fn.close(a.fd,()=>{}),this[So](p,e),r();return}--n===0&&Fn.close(a.fd,h=>{h?this[So](h,e):this[rE](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let w=e.atime||new Date,D=e.mtime;Fn.futimes(E,w,D,b=>b?Fn.utimes(h,w,D,C=>u(C&&b)):u())}if(this[d2](e)){n++;let w=this[m2](e),D=this[y2](e);Fn.fchown(E,w,D,b=>b?Fn.chown(h,w,D,C=>u(C&&b)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[So](p,e),r()}),e.pipe(A)),A.pipe(a)}[O_](e,r){let o=e.mode&4095||this.dmode;this[bh](e.absolute,o,a=>{if(a){this[So](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[rE](),e.resume())};e.mtime&&!this.noMtime&&(n++,Fn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[d2](e)&&(n++,Fn.chown(e.absolute,this[m2](e),this[y2](e),u)),u()})}[ype](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[dpe](e,r){this[vQ](e,e.linkpath,"symlink",r)}[mpe](e,r){let o=ml(Wf.resolve(this.cwd,e.linkpath));this[vQ](e,o,"link",r)}[Cpe](){this[IQ]++}[rE](){this[IQ]--,this[R_]()}[M_](e){this[rE](),e.resume()}[N_](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!C2}[T_](e){this[Cpe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[gpe](e,o))}[BQ](e){e.type==="SymbolicLink"?_ct(this.dirCache):e.type!=="Directory"&&Uct(this.dirCache,e.absolute)}[gpe](e,r){this[BQ](e);let o=A=>{this[BQ](e),r(A)},a=()=>{this[bh](this.cwd,this.dmode,A=>{if(A){this[So](A,e),o();return}this[E2]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=ml(Wf.dirname(e.absolute));if(A!==this.cwd)return this[bh](A,this.dmode,p=>{if(p){this[So](p,e),o();return}u()})}u()},u=()=>{Fn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[M_](e),o();return}if(A||this[N_](e,p))return this[nc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=w=>this[nc](w,e,o);return h?Fn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return Fn.rmdir(e.absolute,h=>this[nc](h,e,o))}if(e.absolute===this.cwd)return this[nc](null,e,o);Oct(e.absolute,h=>this[nc](h,e,o))})};this[E2]?n():a()}[nc](e,r,o){if(e){this[So](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[L_](r,o);case"Link":return this[mpe](r,o);case"SymbolicLink":return this[dpe](r,o);case"Directory":case"GNUDumpDir":return this[O_](r,o)}}[vQ](e,r,o,a){Fn[o](r,e.absolute,n=>{n?this[So](n,e):(this[rE](),e.resume()),a()})}},wQ=t=>{try{return[null,t()]}catch(e){return[e,null]}},U_=class extends I2{[nc](e,r){return super[nc](e,r,()=>{})}[T_](e){if(this[BQ](e),!this[E2]){let n=this[bh](this.cwd,this.dmode);if(n)return this[So](n,e);this[E2]=!0}if(e.absolute!==this.cwd){let n=ml(Wf.dirname(e.absolute));if(n!==this.cwd){let u=this[bh](n,this.dmode);if(u)return this[So](u,e)}}let[r,o]=wQ(()=>Fn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[M_](e);if(r||this[N_](e,o))return this[nc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?wQ(()=>{Fn.chmodSync(e.absolute,e.mode)}):[];return this[nc](A,e)}let[n]=wQ(()=>Fn.rmdirSync(e.absolute));this[nc](n,e)}let[a]=e.absolute===this.cwd?[]:wQ(()=>Mct(e.absolute));this[nc](a,e)}[L_](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{Fn.closeSync(n)}catch(h){p=h}(A||p)&&this[So](A||p,e),r()},n;try{n=Fn.openSync(e.absolute,Dpe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[So](A,e)),e.pipe(u)),u.on("data",A=>{try{Fn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{Fn.futimesSync(n,h,E)}catch(w){try{Fn.utimesSync(e.absolute,h,E)}catch{p=w}}}if(this[d2](e)){let h=this[m2](e),E=this[y2](e);try{Fn.fchownSync(n,h,E)}catch(w){try{Fn.chownSync(e.absolute,h,E)}catch{p=p||w}}}a(p)})}[O_](e,r){let o=e.mode&4095||this.dmode,a=this[bh](e.absolute,o);if(a){this[So](a,e),r();return}if(e.mtime&&!this.noMtime)try{Fn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[d2](e))try{Fn.chownSync(e.absolute,this[m2](e),this[y2](e))}catch{}r(),e.resume()}[bh](e,r){try{return Bpe.sync(ml(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[vQ](e,r,o,a){try{Fn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[So](n,e)}}};I2.Sync=U_;Ppe.exports=I2});var kpe=_((AUt,Qpe)=>{"use strict";var Hct=Ty(),DQ=__(),xpe=De("fs"),bpe=Xy(),Spe=De("path"),H_=qy();Qpe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Hct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&qct(o,e),o.file&&o.sync?jct(o):o.file?Gct(o,r):o.sync?Wct(o):Yct(o)};var qct=(t,e)=>{let r=new Map(e.map(n=>[H_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Spe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Spe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(H_(n)):n=>a(H_(n))},jct=t=>{let e=new DQ.Sync(t),r=t.file,o=xpe.statSync(r),a=t.maxReadSize||16*1024*1024;new bpe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},Gct=(t,e)=>{let r=new DQ(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),xpe.stat(a,(p,h)=>{if(p)A(p);else{let E=new bpe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},Wct=t=>new DQ.Sync(t),Yct=t=>new DQ(t)});var Fpe=_(us=>{"use strict";us.c=us.create=pfe();us.r=us.replace=w_();us.t=us.list=pQ();us.u=us.update=wfe();us.x=us.extract=kpe();us.Pack=Zb();us.Unpack=__();us.Parse=fQ();us.ReadEntry=Nb();us.WriteEntry=X3();us.Header=Hy();us.Pax=Ob();us.types=R3()});var q_,Rpe,Qh,w2,B2,Tpe=It(()=>{q_=et(ug()),Rpe=De("worker_threads"),Qh=Symbol("kTaskInfo"),w2=class{constructor(e,r){this.fn=e;this.limit=(0,q_.default)(r.poolSize)}run(e){return this.limit(()=>this.fn(e))}},B2=class{constructor(e,r){this.source=e;this.workers=[];this.limit=(0,q_.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let o=this.workers.pop();o?o.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new Rpe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[Qh])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Qh].resolve(r),e[Qh]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{e[Qh]?.reject(r),e[Qh]=null}),e.on("exit",r=>{r!==0&&e[Qh]?.reject(new Error(`Worker exited with code ${r}`)),e[Qh]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[Qh]={resolve:o,reject:a},r.postMessage(e)})})}}});var Lpe=_((gUt,Npe)=>{var j_;Npe.exports.getContent=()=>(typeof j_>"u"&&(j_=De("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),j_)});var $i={};Kt($i,{convertToZip:()=>Jct,convertToZipWorker:()=>Y_,extractArchiveTo:()=>Hpe,getDefaultTaskPool:()=>Upe,getTaskPoolForConfiguration:()=>_pe,makeArchiveFromDirectory:()=>zct});function Kct(t,e){switch(t){case"async":return new w2(Y_,{poolSize:e});case"workers":return new B2((0,W_.getContent)(),{poolSize:e});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}}function Upe(){return typeof G_>"u"&&(G_=Kct("workers",Xi.availableParallelism())),G_}function _pe(t){return typeof t>"u"?Upe():Al(Vct,t,()=>{let e=t.get("taskPoolMode"),r=t.get("taskPoolConcurrency");switch(e){case"async":return new w2(Y_,{poolSize:r});case"workers":return new B2((0,W_.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}})}async function Y_(t){let{tmpFile:e,tgz:r,compressionLevel:o,extractBufferOpts:a}=t,n=new Zi(e,{create:!0,level:o,stats:wa.makeDefaultStats()}),u=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await Hpe(u,n,a),n.saveAndClose(),e}async function zct(t,{baseFs:e=new _n,prefixPath:r=Bt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new Zi(null,{level:o});else{let A=await ae.mktempPromise(),p=K.join(A,"archive.zip");n=new Zi(p,{create:!0,level:o})}let u=K.resolve(Bt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function Jct(t,e={}){let r=await ae.mktempPromise(),o=K.join(r,"archive.zip"),a=e.compressionLevel??e.configuration?.get("compressionLevel")??"mixed",n={prefixPath:e.prefixPath,stripComponents:e.stripComponents};return await(e.taskPool??_pe(e.configuration)).run({tmpFile:o,tgz:t,compressionLevel:a,extractBufferOpts:n}),new Zi(o,{level:e.compressionLevel})}async function*Xct(t){let e=new Mpe.default.Parse,r=new Ope.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function Hpe(t,e,{stripComponents:r=0,prefixPath:o=Bt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of Xct(t)){if(a(n))continue;let u=K.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=K.join(o,A),h=420;switch((n.type==="Directory"||(n.mode??0)&73)&&(h|=73),n.type){case"Directory":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,Pi.SAFE_TIME,Pi.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),e.writeFileSync(p,await Zm(n),{mode:h}),e.utimesSync(p,Pi.SAFE_TIME,Pi.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(K.dirname(p),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,Pi.SAFE_TIME,Pi.SAFE_TIME);break}}return e}var Ope,Mpe,W_,G_,Vct,qpe=It(()=>{Ve();Pt();sA();Ope=De("stream"),Mpe=et(Fpe());Tpe();Gl();W_=et(Lpe());Vct=new WeakMap});var Gpe=_((K_,jpe)=>{(function(t,e){typeof K_=="object"?jpe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(K_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)a.hasOwnProperty(A)&&(n&&typeof a[A]=="function"||u.push(A));return u}function r(a,n,u,A,p,h,E){var w="",D=0,b,C,T=A.slice(0);if(T.push([n,u])&&A.length>0&&(A.forEach(function(U,z){z>0&&(w+=(U[1]?" ":"\u2502")+" "),!C&&U[0]===n&&(C=!0)}),w+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(w+=": "+n),C&&(w+=" (circular ref.)"),E(w)),!C&&typeof n=="object"){var L=e(n,h);L.forEach(function(U){b=++D===L.length,r(U,n[U],b,T,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` -`}),A},o})});var As={};Kt(As,{emitList:()=>Zct,emitTree:()=>Vpe,treeNodeToJson:()=>Kpe,treeNodeToTreeify:()=>Ype});function Ype(t,{configuration:e}){let r={},o=0,a=(n,u)=>{let A=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of A){if(!h)continue;let{label:E,value:w,children:D}=h,b=[];typeof E<"u"&&b.push(wg(e,E,2)),typeof w<"u"&&b.push(Ut(e,w[0],w[1])),b.length===0&&b.push(wg(e,`${p}`,2));let C=b.join(": ").trim(),T=`\0${o++}\0`,L=u[`${T}${C}`]={};typeof D<"u"&&a(D,L)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function Kpe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Bg(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)u&&(a[$ct(n)]=e(u));return typeof r.value>"u"?a:{value:Bg(r.value[0],r.value[1]),children:a}};return e(t)}function Zct(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));Vpe({children:a},{configuration:e,stdout:r,json:o})}function Vpe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)A&&r.write(`${JSON.stringify(Kpe(A))} -`);return}let n=(0,Wpe.asTree)(Ype(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 -$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function $ct(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var Wpe,zpe=It(()=>{Wpe=et(Gpe());Wl()});var PQ,Jpe=It(()=>{PQ=class{constructor(e){this.releaseFunction=e;this.map=new Map}addOrCreate(e,r){let o=this.map.get(e);if(typeof o<"u"){if(o.refCount<=0)throw new Error(`Race condition in RefCountedMap. While adding a new key the refCount is: ${o.refCount} for ${JSON.stringify(e)}`);return o.refCount++,{value:o.value,release:()=>this.release(e)}}else{let a=r();return this.map.set(e,{refCount:1,value:a}),{value:a,release:()=>this.release(e)}}}release(e){let r=this.map.get(e);if(!r)throw new Error(`Unbalanced calls to release. No known instances of: ${JSON.stringify(e)}`);let o=r.refCount;if(o<=0)throw new Error(`Unbalanced calls to release. Too many release vs alloc refcount would become: ${o-1} of ${JSON.stringify(e)}`);o==1?(this.map.delete(e),this.releaseFunction(r.value)):r.refCount--}}});function v2(t){let e=t.match(eut);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var Xpe,V_,z_,SQ,Wr,eut,J_=It(()=>{Ve();Pt();Pt();sA();Xpe=De("crypto"),V_=et(De("fs"));Jpe();Vl();lh();Gl();Io();z_=$m(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),SQ=$m(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Wr=class t{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.refCountedZipFsCache=new PQ(e=>{e.discardAndClose()});this.cacheId=`-${(0,Xpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let{cacheSpec:n,cacheKey:u}=t.getCacheKey(r);this.cacheSpec=n,this.cacheKey=u}static async find(e,{immutable:r,check:o}={}){let a=new t(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),o=r!=="mixed"?`c${r}`:"";return{cacheKey:[SQ,o].join(""),cacheSpec:o}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${uy(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=v2(r).hash.slice(0,10);return`${uy(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:o}=v2(e);if(r===null||r{let pe=new Zi,ve=K.join(Bt.root,qM(e));return pe.mkdirSync(ve,{recursive:!0}),pe.writeJsonSync(K.join(ve,mr.manifest),{name:rn(e),mocked:!0}),pe},E=async(pe,{isColdHit:ve,controlPath:Ie=null})=>{if(Ie===null&&u.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let g=r&&!ve?v2(r).cacheKey:this.cacheKey,Ce=!u.skipIntegrityCheck||!r?`${g}/${await fx(pe)}`:r;if(Ie!==null){let Ae=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await fx(Ie)}`:r;if(Ce!==Ae)throw new zt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let ye=null;switch(r!==null&&Ce!==r&&(this.check?ye="throw":v2(r).cacheKey!==v2(Ce).cacheKey?ye="update":ye=this.configuration.get("checksumBehavior")),ye){case null:case"update":return{isValid:!0,hash:Ce};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new zt(18,"The remote archive doesn't match the expected checksum")}},w=async pe=>{if(!n)throw new Error(`Cache check required but no loader configured for ${jr(this.configuration,e)}`);let ve=await n(),Ie=ve.getRealPath();ve.saveAndClose(),await ae.chmodPromise(Ie,420);let g=await E(pe,{controlPath:Ie,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},D=async()=>{if(A===null||!await ae.existsPromise(A)){let pe=await n(),ve=pe.getRealPath();return pe.saveAndClose(),{source:"loader",path:ve}}return{source:"mirror",path:A}},b=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${jr(this.configuration,e)}`);if(this.immutable)throw new zt(56,`Cache entry required but missing for ${jr(this.configuration,e)}`);let{path:pe,source:ve}=await D(),{hash:Ie}=await E(pe,{isColdHit:!0}),g=this.getLocatorPath(e,Ie),Ce=[];ve!=="mirror"&&A!==null&&Ce.push(async()=>{let Ae=`${A}${this.cacheId}`;await ae.copyFilePromise(pe,Ae,V_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(Ae,420),await ae.renamePromise(Ae,A)}),(!u.mirrorWriteOnly||A===null)&&Ce.push(async()=>{let Ae=`${g}${this.cacheId}`;await ae.copyFilePromise(pe,Ae,V_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(Ae,420),await ae.renamePromise(Ae,g)});let ye=u.mirrorWriteOnly?A??g:g;return await Promise.all(Ce.map(Ae=>Ae())),[!1,ye,Ie]},C=async()=>{let ve=(async()=>{let Ie=u.unstablePackages?.has(e.locatorHash),g=Ie||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,Ce=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,ye=!!u.mockedPackages?.has(e.locatorHash)&&(!this.check||!Ce),Ae=ye||Ce,ie=Ae?o:a;if(ie&&ie(),Ae){let Z=null,Pe=g;if(!ye)if(this.check)Z=await w(Pe);else{let Re=await E(Pe,{isColdHit:!1});if(Re.isValid)Z=Re.hash;else return b()}return[ye,Pe,Z]}else{if(this.immutable&&Ie)throw new zt(56,`Cache entry required but missing for ${jr(this.configuration,e)}; consider defining ${fe.pretty(this.configuration,"supportedArchitectures",fe.Type.CODE)} to cache packages for multiple systems`);return b()}})();this.mutexes.set(e.locatorHash,ve);try{return await ve}finally{this.mutexes.delete(e.locatorHash)}};for(let pe;pe=this.mutexes.get(e.locatorHash);)await pe;let[T,L,U]=await C();T||this.markedFiles.add(L);let z=()=>this.refCountedZipFsCache.addOrCreate(L,()=>T?h():new Zi(L,{baseFs:p,readOnly:!0})),te,le=new pm(()=>iO(()=>(te=z(),te.value),pe=>`Failed to open the cache entry for ${jr(this.configuration,e)}: ${pe}`),K),de=new ju(L,{baseFs:le,pathUtils:K}),ce=()=>{te?.release()},me=u.unstablePackages?.has(e.locatorHash)?null:U;return[de,ce,me]}},eut=/^(?:(?(?[0-9]+)(?.*))\/)?(?.*)$/});var xQ,Zpe=It(()=>{xQ=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(xQ||{})});var tut,nE,X_=It(()=>{Pt();Ol();Qf();Io();tut=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>mx({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],nE=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=K.join(e.cwd,mr.lockfile);if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Ki(a);if(Object.hasOwn(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=v1(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=Fa(p.range)?Qn(p,`npm:${p.range}`):p,{version:E,resolved:w}=n[A];if(!w)continue;let D;for(let[C,T]of tut){let L=w.match(C);if(L){D=T(E,...L);break}}if(!D){r.reportWarning(14,`${zn(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${w}")`);continue}let b=h;try{let C=Pg(h.range),T=v1(C.selector,!0);T&&(b=T)}catch{}u.set(h.descriptorHash,Ss(b,D))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=MM(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var pA,$pe=It(()=>{Vl();n2();Wl();pA=class extends Ws{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;d1(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} -`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,o){}async finalize(){this.errorCount>0&&(this.stdout.write(` -`),this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. -`),this.suggestInstall&&this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(r){return i3(r,{configuration:this.configuration,json:!1})}}});var iE,Z_=It(()=>{Io();iE=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(hx(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(hx(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Yf(){}function rut(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;nb.length?T:b}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var D=e[u-1];return u>1&&typeof D.value=="string"&&(D.added||D.removed)&&t.equals("",D.value)&&(e[u-2].value+=D.value,e.pop()),e}function nut(t){return{newPos:t.newPos,components:t.components.slice(0)}}function iut(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function rhe(t,e,r){return r=iut(r,{ignoreWhitespace:!0}),n8.diff(t,e,r)}function sut(t,e,r){return i8.diff(t,e,r)}function bQ(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?bQ=function(e){return typeof e}:bQ=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bQ(t)}function $_(t){return lut(t)||cut(t)||uut(t)||Aut()}function lut(t){if(Array.isArray(t))return e8(t)}function cut(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function uut(t,e){if(t){if(typeof t=="string")return e8(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e8(t,e)}}function e8(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r"u"&&(u.context=4);var A=sut(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(U){return U.map(function(z){return" "+z})}for(var h=[],E=0,w=0,D=[],b=1,C=1,T=function(z){var te=A[z],le=te.lines||te.value.replace(/\n$/,"").split(` -`);if(te.lines=le,te.added||te.removed){var de;if(!E){var ce=A[z-1];E=b,w=C,ce&&(D=u.context>0?p(ce.lines.slice(-u.context)):[],E-=D.length,w-=D.length)}(de=D).push.apply(de,$_(le.map(function(Ae){return(te.added?"+":"-")+Ae}))),te.added?C+=le.length:b+=le.length}else{if(E)if(le.length<=u.context*2&&z=A.length-2&&le.length<=u.context){var g=/\n$/.test(r),Ce=/\n$/.test(o),ye=le.length==0&&D.length>Ie.oldLines;!g&&ye&&r.length>0&&D.splice(Ie.oldLines,0,"\\ No newline at end of file"),(!g&&!ye||!Ce)&&D.push("\\ No newline at end of file")}h.push(Ie),E=0,w=0,D=[]}b+=le.length,C+=le.length}},L=0;L{Yf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(T){return a?(setTimeout(function(){a(void 0,T)},0),!0):T}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var w=[{newPos:-1,components:[]}],D=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=A&&D+1>=p)return u([{value:this.join(r),count:r.length}]);function b(){for(var T=-1*h;T<=h;T+=2){var L=void 0,U=w[T-1],z=w[T+1],te=(z?z.newPos:0)-T;U&&(w[T-1]=void 0);var le=U&&U.newPos+1=A&&te+1>=p)return u(rut(n,L.components,r,e,n.useLongestToken));w[T]=L}h++}if(a)(function T(){setTimeout(function(){if(h>E)return a();b()||T()},0)})();else for(;h<=E;){var C=b();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(t8(t,null,null,a),a," ")};D2.equals=function(t,e){return Yf.prototype.equals.call(D2,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};r8=new Yf;r8.tokenize=function(t){return t.slice()};r8.join=r8.removeEmpty=function(t){return t}});var she=_((KUt,ihe)=>{var put=jl(),hut=hy(),gut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dut=/^\w*$/;function mut(t,e){if(put(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||hut(t)?!0:dut.test(t)||!gut.test(t)||e!=null&&t in Object(e)}ihe.exports=mut});var lhe=_((VUt,ahe)=>{var ohe=dS(),yut="Expected a function";function o8(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(yut);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(o8.Cache||ohe),r}o8.Cache=ohe;ahe.exports=o8});var uhe=_((zUt,che)=>{var Eut=lhe(),Cut=500;function Iut(t){var e=Eut(t,function(o){return r.size===Cut&&r.clear(),o}),r=e.cache;return e}che.exports=Iut});var a8=_((JUt,Ahe)=>{var wut=uhe(),But=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vut=/\\(\\)?/g,Dut=wut(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(But,function(r,o,a,n){e.push(a?n.replace(vut,"$1"):o||r)}),e});Ahe.exports=Dut});var Kg=_((XUt,fhe)=>{var Put=jl(),Sut=she(),xut=a8(),but=t2();function Qut(t,e){return Put(t)?t:Sut(t,e)?[t]:xut(but(t))}fhe.exports=Qut});var sE=_((ZUt,phe)=>{var kut=hy(),Fut=1/0;function Rut(t){if(typeof t=="string"||kut(t))return t;var e=t+"";return e=="0"&&1/t==-Fut?"-0":e}phe.exports=Rut});var QQ=_(($Ut,hhe)=>{var Tut=Kg(),Nut=sE();function Lut(t,e){e=Tut(e,t);for(var r=0,o=e.length;t!=null&&r{var Out=RS(),Mut=Kg(),Uut=s1(),ghe=cl(),_ut=sE();function Hut(t,e,r,o){if(!ghe(t))return t;e=Mut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a{var qut=QQ(),jut=l8(),Gut=Kg();function Wut(t,e,r){for(var o=-1,a=e.length,n={};++o{function Yut(t,e){return t!=null&&e in Object(t)}Ehe.exports=Yut});var c8=_((n3t,Ihe)=>{var Kut=Kg(),Vut=r1(),zut=jl(),Jut=s1(),Xut=IS(),Zut=sE();function $ut(t,e,r){e=Kut(e,t);for(var o=-1,a=e.length,n=!1;++o{var eAt=Che(),tAt=c8();function rAt(t,e){return t!=null&&tAt(t,e,eAt)}whe.exports=rAt});var Dhe=_((s3t,vhe)=>{var nAt=yhe(),iAt=Bhe();function sAt(t,e){return nAt(t,e,function(r,o){return iAt(t,o)})}vhe.exports=sAt});var bhe=_((o3t,xhe)=>{var Phe=yg(),oAt=r1(),aAt=jl(),She=Phe?Phe.isConcatSpreadable:void 0;function lAt(t){return aAt(t)||oAt(t)||!!(She&&t&&t[She])}xhe.exports=lAt});var Fhe=_((a3t,khe)=>{var cAt=ES(),uAt=bhe();function Qhe(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=uAt),a||(a=[]);++n0&&r(A)?e>1?Qhe(A,e-1,r,o,a):cAt(a,A):o||(a[a.length]=A)}return a}khe.exports=Qhe});var The=_((l3t,Rhe)=>{var AAt=Fhe();function fAt(t){var e=t==null?0:t.length;return e?AAt(t,1):[]}Rhe.exports=fAt});var u8=_((c3t,Nhe)=>{var pAt=The(),hAt=zL(),gAt=JL();function dAt(t){return gAt(hAt(t,void 0,pAt),t+"")}Nhe.exports=dAt});var A8=_((u3t,Lhe)=>{var mAt=Dhe(),yAt=u8(),EAt=yAt(function(t,e){return t==null?{}:mAt(t,e)});Lhe.exports=EAt});var kQ,Ohe=It(()=>{Vl();kQ=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new zt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Ri,f8=It(()=>{Vl();Ri=class extends Ws{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}reportFold(e,r){}async finalize(){}}});var Mhe,oE,p8=It(()=>{Pt();Mhe=et(ux());py();Sg();Wl();lh();Qf();Io();oE=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await _t.tryFind(this.cwd)??new _t,this.relativeCwd=K.relative(this.project.cwd,this.cwd)||Bt.dot;let e=this.manifest.name?this.manifest.name:rA(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=Qn(e,`${ci.protocol}${this.relativeCwd}`),this.anchoredLocator=Ss(e,`${ci.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let o=await(0,Mhe.default)(r,{cwd:ue.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort(),await o.reduce(async(a,n)=>{let u=K.resolve(this.cwd,ue.toPortablePath(n)),A=await ae.existsPromise(K.join(u,"package.json"));await a,A&&this.workspacesCwds.add(u)},Promise.resolve())}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${P1(this.project.configuration,this)} (${Ut(this.project.configuration,K.join(this.cwd,mr.manifest),Ct.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===ci.protocol&&K.normalize(a)===this.relativeCwd||o===ci.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=Fa(a);return n?o===ci.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${K.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=_t.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=_t.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&B1(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=new Set([this]);for(let r of e)for(let o of r.workspacesCwds){let a=this.project.workspacesByCwd.get(o);a&&e.add(a)}return e.delete(this),Array.from(e)}async persistManifest(){let e={};this.manifest.exportTo(e);let r=K.join(this.cwd,_t.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} -`;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function DAt({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,peerWarnings:A=[],peerRequirementNodes:p=new Map,volatileDescriptors:h=new Set}){let E=new Map,w=[],D=new Map,b=new Map,C=new Map,T=new Map,L=new Map,U=new Map(t.workspaces.map(ce=>{let me=ce.anchoredLocator.locatorHash,pe=o.get(me);if(typeof pe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[me,C1(pe)]})),z=()=>{let ce=ae.mktempSync(),me=K.join(ce,"stacktrace.log"),pe=String(w.length+1).length,ve=w.map((Ie,g)=>`${`${g+1}.`.padStart(pe," ")} ${ka(Ie)} -`).join("");throw ae.writeFileSync(me,ve),ae.detachTemp(ce),new zt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(me)}`)},te=ce=>{let me=r.get(ce.descriptorHash);if(typeof me>"u")throw new Error("Assertion failed: The resolution should have been registered");let pe=o.get(me);if(!pe)throw new Error("Assertion failed: The package could not be found");return pe},le=(ce,me,pe,{top:ve,optional:Ie})=>{w.length>1e3&&z(),w.push(me);let g=de(ce,me,pe,{top:ve,optional:Ie});return w.pop(),g},de=(ce,me,pe,{top:ve,optional:Ie})=>{if(Ie||n.delete(me.locatorHash),a.has(me.locatorHash))return;a.add(me.locatorHash);let g=o.get(me.locatorHash);if(!g)throw new Error(`Assertion failed: The package (${jr(t.configuration,me)}) should have been registered`);let Ce=new Set,ye=new Map,Ae=[],ie=[],Z=[],Pe=[];for(let Re of Array.from(g.dependencies.values())){if(g.peerDependencies.has(Re.identHash)&&g.locatorHash!==ve)continue;if(Sf(Re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");h.delete(Re.descriptorHash);let gt=Ie;if(!gt){let Qe=g.dependenciesMeta.get(rn(Re));if(typeof Qe<"u"){let it=Qe.get(null);typeof it<"u"&&it.optional&&(gt=!0)}}let q=r.get(Re.descriptorHash);if(!q)throw new Error(`Assertion failed: The resolution (${zn(t.configuration,Re)}) should have been registered`);let rt=U.get(q)||o.get(q);if(!rt)throw new Error(`Assertion failed: The package (${q}, resolved from ${zn(t.configuration,Re)}) should have been registered`);if(rt.peerDependencies.size===0){le(Re,rt,new Map,{top:ve,optional:gt});continue}let Te,Ne,xe=new Set,Ye=new Map;Ae.push(()=>{Te=_M(Re,me.locatorHash),Ne=HM(rt,me.locatorHash),g.dependencies.set(Re.identHash,Te),r.set(Te.descriptorHash,Ne.locatorHash),e.set(Te.descriptorHash,Te),o.set(Ne.locatorHash,Ne),vf(T,Ne.locatorHash).add(Te.descriptorHash),Ce.add(Ne.locatorHash)}),ie.push(()=>{L.set(Ne.locatorHash,Ye);for(let Qe of Ne.peerDependencies.values()){let Ue=Al(ye,Qe.identHash,()=>{let x=pe.get(Qe.identHash)??null,I=g.dependencies.get(Qe.identHash);return!I&&w1(me,Qe)&&(ce.identHash===me.identHash?I=ce:(I=Qn(me,ce.range),e.set(I.descriptorHash,I),r.set(I.descriptorHash,me.locatorHash),h.delete(I.descriptorHash),x=null)),I||(I=Qn(Qe,"missing:")),{subject:me,ident:Qe,provided:I,root:!x,requests:new Map,hash:`p${zi(me.locatorHash,Qe.identHash).slice(0,5)}`}}).provided;if(Ue.range==="missing:"&&Ne.dependencies.has(Qe.identHash)){Ne.peerDependencies.delete(Qe.identHash);continue}if(Ye.set(Qe.identHash,{requester:Ne,descriptor:Qe,meta:Ne.peerDependenciesMeta.get(rn(Qe)),children:new Map}),Ne.dependencies.set(Qe.identHash,Ue),Sf(Ue)){let x=r.get(Ue.descriptorHash);vf(C,x).add(Ne.locatorHash)}D.set(Ue.identHash,Ue),Ue.range==="missing:"&&xe.add(Ue.identHash)}Ne.dependencies=new Map(Ps(Ne.dependencies,([Qe,it])=>rn(it)))}),Z.push(()=>{if(!o.has(Ne.locatorHash))return;let Qe=E.get(rt.locatorHash);typeof Qe=="number"&&Qe>=2&&z();let it=E.get(rt.locatorHash),Ue=typeof it<"u"?it+1:1;E.set(rt.locatorHash,Ue),le(Te,Ne,Ye,{top:ve,optional:gt}),E.set(rt.locatorHash,Ue-1)}),Pe.push(()=>{let Qe=r.get(Te.descriptorHash);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let it=L.get(Qe);if(typeof it>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let Ue of ye.values()){let x=it.get(Ue.ident.identHash);x&&(Ue.requests.set(Te.descriptorHash,x),p.set(Ue.hash,Ue),Ue.root||pe.get(Ue.ident.identHash)?.children.set(Te.descriptorHash,x))}if(o.has(Ne.locatorHash))for(let Ue of xe)Ne.dependencies.delete(Ue)})}for(let Re of[...Ae,...ie])Re();for(let Re of Ce){Ce.delete(Re);let gt=o.get(Re),q=zi(cy(gt).locatorHash,...Array.from(gt.dependencies.values(),xe=>{let Ye=xe.range!=="missing:"?r.get(xe.descriptorHash):"missing:";if(typeof Ye>"u")throw new Error(`Assertion failed: Expected the resolution for ${zn(t.configuration,xe)} to have been registered`);return Ye===ve?`${Ye} (top)`:Ye})),rt=b.get(q);if(typeof rt>"u"){b.set(q,gt);continue}let Te=vf(T,rt.locatorHash);for(let xe of T.get(gt.locatorHash)??[])r.set(xe,rt.locatorHash),Te.add(xe);o.delete(gt.locatorHash),a.delete(gt.locatorHash),Ce.delete(gt.locatorHash);let Ne=C.get(gt.locatorHash);if(Ne!==void 0){let xe=vf(C,rt.locatorHash);for(let Ye of Ne)xe.add(Ye),Ce.add(Ye)}}for(let Re of[...Z,...Pe])Re()};for(let ce of t.workspaces){let me=ce.anchoredLocator;h.delete(ce.anchoredDescriptor.descriptorHash),le(ce.anchoredDescriptor,me,new Map,{top:me.locatorHash,optional:!1})}for(let ce of p.values()){if(!ce.root)continue;let me=o.get(ce.subject.locatorHash);if(typeof me>"u")continue;for(let ve of ce.requests.values()){let Ie=`p${zi(ce.subject.locatorHash,rn(ce.ident),ve.requester.locatorHash).slice(0,5)}`;u.set(Ie,{subject:ce.subject.locatorHash,requested:ce.ident,rootRequester:ve.requester.locatorHash,allRequesters:Array.from(S1(ve),g=>g.requester.locatorHash)})}let pe=[...S1(ce)];if(ce.provided.range!=="missing:"){let ve=te(ce.provided),Ie=ve.version??"0.0.0",g=ye=>{if(ye.startsWith(ci.protocol)){if(!t.tryWorkspaceByLocator(ve))return null;ye=ye.slice(ci.protocol.length),(ye==="^"||ye==="~")&&(ye="*")}return ye},Ce=!0;for(let ye of pe){let Ae=g(ye.descriptor.range);if(Ae===null){Ce=!1;continue}if(!nA(Ie,Ae)){Ce=!1;let ie=`p${zi(ce.subject.locatorHash,rn(ce.ident),ye.requester.locatorHash).slice(0,5)}`;A.push({type:1,subject:me,requested:ce.ident,requester:ye.requester,version:Ie,hash:ie,requirementCount:pe.length})}}if(!Ce){let ye=pe.map(Ae=>g(Ae.descriptor.range));A.push({type:3,node:ce,range:ye.includes(null)?null:GM(ye),hash:ce.hash})}}else{let ve=!0;for(let Ie of pe)if(!Ie.meta?.optional){ve=!1;let g=`p${zi(ce.subject.locatorHash,rn(ce.ident),Ie.requester.locatorHash).slice(0,5)}`;A.push({type:0,subject:me,requested:ce.ident,requester:Ie.requester,hash:g})}ve||A.push({type:2,node:ce,hash:ce.hash})}}}function*PAt(t){let e=new Map;if("children"in t)e.set(t,t);else for(let r of t.requests.values())e.set(r,r);for(let[r,o]of e){yield{request:r,root:o};for(let a of r.children.values())e.has(a)||e.set(a,o)}}function SAt(t,e){let r=[],o=[],a=!1;for(let n of t.peerWarnings)if(!(n.type===1||n.type===0)){if(!t.tryWorkspaceByLocator(n.node.subject)){a=!0;continue}if(n.type===3){let u=t.storedResolutions.get(n.node.provided.descriptorHash);if(typeof u>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=t.storedPackages.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the package to be registered");let p=th(PAt(n.node),({request:w,root:D})=>nA(A.version??"0.0.0",w.descriptor.range)?th.skip:w===D?Ui(t.configuration,w.requester):`${Ui(t.configuration,w.requester)} (via ${Ui(t.configuration,D.requester)})`),h=[...S1(n.node)].length>1?"and other dependencies request":"requests",E=n.range?Ay(t.configuration,n.range):Ut(t.configuration,"but they have non-overlapping ranges!","redBright");r.push(`${Ui(t.configuration,n.node.ident)} is listed by your project with version ${D1(t.configuration,A.version??"0.0.0")} (${Ut(t.configuration,n.hash,Ct.CODE)}), which doesn't satisfy what ${p} ${h} (${E}).`)}if(n.type===2){let u=n.node.requests.size>1?" and other dependencies":"";o.push(`${jr(t.configuration,n.node.subject)} doesn't provide ${Ui(t.configuration,n.node.ident)} (${Ut(t.configuration,n.hash,Ct.CODE)}), requested by ${Ui(t.configuration,n.node.requests.values().next().value.requester)}${u}.`)}}e.startSectionSync({reportFooter:()=>{e.reportWarning(86,`Some peer dependencies are incorrectly met by your project; run ${Ut(t.configuration,"yarn explain peer-requirements ",Ct.CODE)} for details, where ${Ut(t.configuration,"",Ct.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of Ps(r,u=>ty.default(u)))e.reportWarning(60,n);for(let n of Ps(o,u=>ty.default(u)))e.reportWarning(2,n)}),a&&e.reportWarning(86,`Some peer dependencies are incorrectly met by dependencies; run ${Ut(t.configuration,"yarn explain peer-requirements",Ct.CODE)} for details.`)}var FQ,RQ,TQ,Hhe,d8,g8,m8,NQ,CAt,IAt,Uhe,wAt,BAt,vAt,yl,h8,LQ,_he,kt,qhe=It(()=>{Pt();Pt();Ol();Gt();FQ=De("crypto");s8();RQ=et(A8()),TQ=et(ug()),Hhe=et(ni()),d8=De("util"),g8=et(De("v8")),m8=et(De("zlib"));J_();W1();X_();Z_();py();zM();Vl();Ohe();n2();f8();Sg();p8();vx();Wl();lh();Gl();rb();c3();Qf();Io();NQ=$m(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),CAt=3,IAt=/ *, */g,Uhe=/\/$/,wAt=32,BAt=(0,d8.promisify)(m8.default.gzip),vAt=(0,d8.promisify)(m8.default.gunzip),yl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(yl||{}),h8={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},LQ=(a=>(a[a.NotProvided=0]="NotProvided",a[a.NotCompatible=1]="NotCompatible",a[a.NodeNotProvided=2]="NodeNotProvided",a[a.NodeNotCompatible=3]="NodeNotCompatible",a))(LQ||{}),_he=t=>zi(`${CAt}`,t),kt=class t{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.peerRequirementNodes=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){if(!e.projectCwd)throw new nt(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,ae.existsSync(K.join(n,mr.manifest))){o=n;break}a=K.dirname(n)}let u=new t(e.projectCwd,{configuration:e});Je.telemetry?.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),Je.telemetry?.reportWorkspaceCount(u.workspaces.length),Je.telemetry?.reportDependencyCount(u.workspaces.reduce((C,T)=>C+T.manifest.dependencies.size+T.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Ut(e,u.cwd,Ct.PATH),E=Ut(e,K.relative(u.cwd,o),Ct.PATH),w=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,D=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,b=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new nt(`The nearest package directory (${Ut(e,o,Ct.PATH)}) doesn't seem to be part of the project declared in ${Ut(e,u.cwd,Ct.PATH)}. - -${[w,D,b].join(` -`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=K.join(this.cwd,mr.lockfile),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(e)){let o=await ae.readFilePromise(e,"utf8");this.lockFileChecksum=_he(o);let a=Ki(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=xf(p.resolution,!0),E=new _t;E.load(p,{yamlCompatibilityMode:!0});let w=E.version,D=E.languageName||r,b=p.linkType.toUpperCase(),C=p.conditions??null,T=E.dependencies,L=E.peerDependencies,U=E.dependenciesMeta,z=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let de=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,de)}let le={...h,version:w,languageName:D,linkType:b,conditions:C,dependencies:T,peerDependencies:L,dependenciesMeta:U,peerDependenciesMeta:z,bin:te};this.originalPackages.set(le.locatorHash,le);for(let de of A.split(IAt)){let ce=ch(de);n<=6&&(ce=this.configuration.normalizeDependency(ce),ce=Qn(ce,ce.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ce.descriptorHash,ce),this.storedResolutions.set(ce.descriptorHash,h.locatorHash)}}}else o.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,TQ.default)(4),o=async(a,n)=>{if(e.has(n))return a;e.add(n);let u=new oE(n,{project:this});await r(()=>u.setup());let A=a.then(()=>{this.addWorkspace(u)});return Array.from(u.workspacesCwds).reduce(o,A)};await o(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${Ui(this.configuration,e.anchoredLocator)}: ${ue.fromPortablePath(e.cwd)} conflicts with ${ue.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){K.isAbsolute(e)||(e=K.resolve(this.cwd,e)),e=K.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)K.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Ui(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(ci.protocol)){let o=e.range.slice(ci.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!Fa(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(Sf(e)&&(e=I1(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${zn(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(zc(e)&&(e=cy(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${jr(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let o=new Set(this.storedResolutions.values());typeof r<"u"&&!o.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,o]of this.storedResolutions)o===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[o,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(o)}for(let o of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(o,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(o.locatorHash);let n=r.get(o.locatorHash);if(n){r.delete(o.locatorHash);for(let u of n)this.deleteDescriptor(u)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)Sf(o)&&e.dependencies.set(r,I1(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(rn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!Hhe.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new Ri,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(Uhe,"")!==e.replace(Uhe,""))continue;return A}}return null}async loadUserConfig(){let e=K.join(this.cwd,".pnp.cjs");await ae.existsPromise(e)&&Df(e).setup();let r=K.join(this.cwd,"yarn.config.cjs");return await ae.existsPromise(r)?Df(r):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(e,{packageExtensions:a});for(let[u,A]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,A,this,n,A,{resolver:r,resolveOptions:o});if(!w1(A,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,o);n.dependencies.set(u,h)}return n}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),o=[];e.lockfileOnly||this.forgetTransientResolutions();let a=e.resolver||this.configuration.makeResolver(),n=new nE(a);await n.setup(this,{report:e.report});let u=e.lockfileOnly?[new kQ(a)]:[n,a],A=new xg([new iE(a),...u]),p=new xg([...u]),h=this.configuration.makeFetcher(),E=e.lockfileOnly?{project:this,report:e.report,resolver:A}:{project:this,report:e.report,resolver:A,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},w=new Map,D=new Map,b=new Map,C=new Map,T=new Map,L=new Map,U=this.topLevelWorkspace.anchoredLocator,z=new Set,te=[],le=BU(),de=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ws.progressViaTitle(),async ie=>{let Z=async rt=>{let Te=await Xm(async()=>await A.resolve(rt,E),Qe=>`${jr(this.configuration,rt)}: ${Qe}`);if(!B1(rt,Te))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${jr(this.configuration,rt)} to ${jr(this.configuration,Te)})`);C.set(Te.locatorHash,Te),!r.delete(Te.locatorHash)&&!this.tryWorkspaceByLocator(Te)&&o.push(Te);let xe=await this.preparePackage(Te,{resolver:A,resolveOptions:E}),Ye=Wc([...xe.dependencies.values()].map(Qe=>q(Qe)));return te.push(Ye),Ye.catch(()=>{}),D.set(xe.locatorHash,xe),xe},Pe=async rt=>{let Te=T.get(rt.locatorHash);if(typeof Te<"u")return Te;let Ne=Promise.resolve().then(()=>Z(rt));return T.set(rt.locatorHash,Ne),Ne},Re=async(rt,Te)=>{let Ne=await q(Te);return w.set(rt.descriptorHash,rt),b.set(rt.descriptorHash,Ne.locatorHash),Ne},gt=async rt=>{ie.setTitle(zn(this.configuration,rt));let Te=this.resolutionAliases.get(rt.descriptorHash);if(typeof Te<"u")return Re(rt,this.storedDescriptors.get(Te));let Ne=A.getResolutionDependencies(rt,E),xe=Object.fromEntries(await Wc(Object.entries(Ne).map(async([it,Ue])=>{let x=A.bindDescriptor(Ue,U,E),I=await q(x);return z.add(I.locatorHash),[it,I]}))),Qe=(await Xm(async()=>await A.getCandidates(rt,xe,E),it=>`${zn(this.configuration,rt)}: ${it}`))[0];if(typeof Qe>"u")throw new zt(82,`${zn(this.configuration,rt)}: No candidates found`);if(e.checkResolutions){let{locators:it}=await p.getSatisfying(rt,xe,[Qe],{...E,resolver:p});if(!it.find(Ue=>Ue.locatorHash===Qe.locatorHash))throw new zt(78,`Invalid resolution ${m1(this.configuration,rt,Qe)}`)}return w.set(rt.descriptorHash,rt),b.set(rt.descriptorHash,Qe.locatorHash),Pe(Qe)},q=rt=>{let Te=L.get(rt.descriptorHash);if(typeof Te<"u")return Te;w.set(rt.descriptorHash,rt);let Ne=Promise.resolve().then(()=>gt(rt));return L.set(rt.descriptorHash,Ne),Ne};for(let rt of this.workspaces){let Te=rt.anchoredDescriptor;te.push(q(Te))}for(;te.length>0;){let rt=[...te];te.length=0,await Wc(rt)}});let ce=ul(r.values(),ie=>this.tryWorkspaceByLocator(ie)?ul.skip:ie);if(o.length>0||ce.length>0){let ie=new Set(this.workspaces.flatMap(rt=>{let Te=D.get(rt.anchoredLocator.locatorHash);if(!Te)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(Te.dependencies.values(),Ne=>{let xe=b.get(Ne.descriptorHash);if(!xe)throw new Error("Assertion failed: The resolution should have been registered");return xe})})),Z=rt=>ie.has(rt.locatorHash)?"0":"1",Pe=rt=>ka(rt),Re=Ps(o,[Z,Pe]),gt=Ps(ce,[Z,Pe]),q=e.report.getRecommendedLength();Re.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"+",Ct.ADDED)} ${_S(this.configuration,Re,q)}`),gt.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"-",Ct.REMOVED)} ${_S(this.configuration,gt,q)}`)}let me=new Set(this.resolutionAliases.values()),pe=new Set(D.keys()),ve=new Set,Ie=new Map,g=[],Ce=new Map;DAt({project:this,accessibleLocators:ve,volatileDescriptors:me,optionalBuilds:pe,peerRequirements:Ie,peerWarnings:g,peerRequirementNodes:Ce,allDescriptors:w,allResolutions:b,allPackages:D});for(let ie of z)pe.delete(ie);for(let ie of me)w.delete(ie),b.delete(ie);let ye=new Set,Ae=new Set;for(let ie of D.values())ie.conditions!=null&&pe.has(ie.locatorHash)&&(Ex(ie,de)||(Ex(ie,le)&&e.report.reportWarningOnce(77,`${jr(this.configuration,ie)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ut(this.configuration,"supportedArchitectures",Ct.SETTING)} setting`),Ae.add(ie.locatorHash)),ye.add(ie.locatorHash));this.storedResolutions=b,this.storedDescriptors=w,this.storedPackages=D,this.accessibleLocators=ve,this.conditionalLocators=ye,this.disabledLocators=Ae,this.originalPackages=C,this.optionalBuilds=pe,this.peerRequirements=Ie,this.peerWarnings=g,this.peerRequirementNodes=Ce}async fetchEverything({cache:e,report:r,fetcher:o,mode:a,persistProject:n=!0}){let u={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},A=o||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:r,cacheOptions:u},h=Array.from(new Set(Ps(this.storedResolutions.values(),[C=>{let T=this.storedPackages.get(C);if(!T)throw new Error("Assertion failed: The locator should have been registered");return ka(T)}])));a==="update-lockfile"&&(h=h.filter(C=>!this.storedChecksums.has(C)));let E=!1,w=Ws.progressViaCounter(h.length);await r.reportProgress(w);let D=(0,TQ.default)(wAt);if(await Wc(h.map(C=>D(async()=>{let T=this.storedPackages.get(C);if(!T)throw new Error("Assertion failed: The locator should have been registered");if(zc(T))return;let L;try{L=await A.fetch(T,p)}catch(U){U.message=`${jr(this.configuration,T)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}L.checksum!=null?this.storedChecksums.set(T.locatorHash,L.checksum):this.storedChecksums.delete(T.locatorHash),L.releaseFs&&L.releaseFs()}).finally(()=>{w.tick()}))),E)throw E;let b=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:e,report:r}):null;if(r.cacheMisses.size>0||b){let T=(await Promise.all([...r.cacheMisses].map(async ce=>{let me=this.storedPackages.get(ce),pe=this.storedChecksums.get(ce)??null,ve=e.getLocatorPath(me,pe);return(await ae.statPromise(ve)).size}))).reduce((ce,me)=>ce+me,0)-(b?.size??0),L=r.cacheMisses.size,U=b?.count??0,z=`${TS(L,{zero:"No new packages",one:"A package was",more:`${Ut(this.configuration,L,Ct.NUMBER)} packages were`})} added to the project`,te=`${TS(U,{zero:"none were",one:"one was",more:`${Ut(this.configuration,U,Ct.NUMBER)} were`})} removed`,le=T!==0?` (${Ut(this.configuration,T,Ct.SIZE_DIFF)})`:"",de=U>0?L>0?`${z}, and ${te}${le}.`:`${z}, but ${te}${le}.`:`${z}${le}.`;r.reportInfo(13,de)}}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(ye=>{let Ae=ye.makeInstaller(h),ie=ye.getCustomDataKey(),Z=this.linkersCustomData.get(ie);return typeof Z<"u"&&Ae.attachCustomData(Z),[ye,Ae]})),w=new Map,D=new Map,b=new Map,C=new Map(await Wc([...this.accessibleLocators].map(async ye=>{let Ae=this.storedPackages.get(ye);if(!Ae)throw new Error("Assertion failed: The locator should have been registered");return[ye,await u.fetch(Ae,A)]}))),T=[],L=new Set,U=[];for(let ye of this.accessibleLocators){let Ae=this.storedPackages.get(ye);if(typeof Ae>"u")throw new Error("Assertion failed: The locator should have been registered");let ie=C.get(Ae.locatorHash);if(typeof ie>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Z=[],Pe=gt=>{Z.push(gt)},Re=this.tryWorkspaceByLocator(Ae);if(Re!==null){let gt=[],{scripts:q}=Re.manifest;for(let Te of["preinstall","install","postinstall"])q.has(Te)&>.push({type:0,script:Te});try{for(let[Te,Ne]of E)if(Te.supportsPackage(Ae,h)&&(await Ne.installPackage(Ae,ie,{holdFetchResult:Pe})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Z.length===0?ie.releaseFs?.():T.push(Wc(Z).catch(()=>{}).then(()=>{ie.releaseFs?.()}))}let rt=K.join(ie.packageFs.getRealPath(),ie.prefixPath);D.set(Ae.locatorHash,rt),!zc(Ae)&>.length>0&&b.set(Ae.locatorHash,{buildDirectives:gt,buildLocations:[rt]})}else{let gt=p.find(Te=>Te.supportsPackage(Ae,h));if(!gt)throw new zt(12,`${jr(this.configuration,Ae)} isn't supported by any available linker`);let q=E.get(gt);if(!q)throw new Error("Assertion failed: The installer should have been registered");let rt;try{rt=await q.installPackage(Ae,ie,{holdFetchResult:Pe})}finally{Z.length===0?ie.releaseFs?.():T.push(Wc(Z).then(()=>{}).then(()=>{ie.releaseFs?.()}))}w.set(Ae.locatorHash,gt),D.set(Ae.locatorHash,rt.packageLocation),rt.buildRequest&&rt.packageLocation&&(rt.buildRequest.skipped?(L.add(Ae.locatorHash),this.skippedBuilds.has(Ae.locatorHash)||U.push([Ae,rt.buildRequest.explain])):b.set(Ae.locatorHash,{buildDirectives:rt.buildRequest.directives,buildLocations:[rt.packageLocation]}))}}let z=new Map;for(let ye of this.accessibleLocators){let Ae=this.storedPackages.get(ye);if(!Ae)throw new Error("Assertion failed: The locator should have been registered");let ie=this.tryWorkspaceByLocator(Ae)!==null,Z=async(Pe,Re)=>{let gt=D.get(Ae.locatorHash);if(typeof gt>"u")throw new Error(`Assertion failed: The package (${jr(this.configuration,Ae)}) should have been registered`);let q=[];for(let rt of Ae.dependencies.values()){let Te=this.storedResolutions.get(rt.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${zn(this.configuration,rt)}, from ${jr(this.configuration,Ae)})should have been registered`);let Ne=this.storedPackages.get(Te);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${zn(this.configuration,rt)}) should have been registered`);let xe=this.tryWorkspaceByLocator(Ne)===null?w.get(Te):null;if(typeof xe>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${zn(this.configuration,rt)}) should have been registered`);xe===Pe||xe===null?D.get(Ne.locatorHash)!==null&&q.push([rt,Ne]):!ie&>!==null&&f1(z,Te).push(gt)}gt!==null&&await Re.attachInternalDependencies(Ae,q)};if(ie)for(let[Pe,Re]of E)Pe.supportsPackage(Ae,h)&&await Z(Pe,Re);else{let Pe=w.get(Ae.locatorHash);if(!Pe)throw new Error("Assertion failed: The linker should have been found");let Re=E.get(Pe);if(!Re)throw new Error("Assertion failed: The installer should have been registered");await Z(Pe,Re)}}for(let[ye,Ae]of z){let ie=this.storedPackages.get(ye);if(!ie)throw new Error("Assertion failed: The package should have been registered");let Z=w.get(ie.locatorHash);if(!Z)throw new Error("Assertion failed: The linker should have been found");let Pe=E.get(Z);if(!Pe)throw new Error("Assertion failed: The installer should have been registered");await Pe.attachExternalDependents(ie,Ae)}let te=new Map;for(let[ye,Ae]of E){let ie=await Ae.finalizeInstall();for(let Z of ie?.records??[])Z.buildRequest.skipped?(L.add(Z.locator.locatorHash),this.skippedBuilds.has(Z.locator.locatorHash)||U.push([Z.locator,Z.buildRequest.explain])):b.set(Z.locator.locatorHash,{buildDirectives:Z.buildRequest.directives,buildLocations:Z.buildLocations});typeof ie?.customData<"u"&&te.set(ye.getCustomDataKey(),ie.customData)}if(this.linkersCustomData=te,await Wc(T),a==="skip-build")return;for(let[,ye]of Ps(U,([Ae])=>ka(Ae)))ye(r);let le=new Set(b.keys()),de=(0,FQ.createHash)("sha512");de.update(process.versions.node),await this.configuration.triggerHook(ye=>ye.globalHashGeneration,this,ye=>{de.update("\0"),de.update(ye)});let ce=de.digest("hex"),me=new Map,pe=ye=>{let Ae=me.get(ye.locatorHash);if(typeof Ae<"u")return Ae;let ie=this.storedPackages.get(ye.locatorHash);if(typeof ie>"u")throw new Error("Assertion failed: The package should have been registered");let Z=(0,FQ.createHash)("sha512");Z.update(ye.locatorHash),me.set(ye.locatorHash,"");for(let Pe of ie.dependencies.values()){let Re=this.storedResolutions.get(Pe.descriptorHash);if(typeof Re>"u")throw new Error(`Assertion failed: The resolution (${zn(this.configuration,Pe)}) should have been registered`);let gt=this.storedPackages.get(Re);if(typeof gt>"u")throw new Error("Assertion failed: The package should have been registered");Z.update(pe(gt))}return Ae=Z.digest("hex"),me.set(ye.locatorHash,Ae),Ae},ve=(ye,Ae)=>{let ie=(0,FQ.createHash)("sha512");ie.update(ce),ie.update(pe(ye));for(let Z of Ae)ie.update(Z);return ie.digest("hex")},Ie=new Map,g=!1,Ce=ye=>{let Ae=new Set([ye.locatorHash]);for(let ie of Ae){let Z=this.storedPackages.get(ie);if(!Z)throw new Error("Assertion failed: The package should have been registered");for(let Pe of Z.dependencies.values()){let Re=this.storedResolutions.get(Pe.descriptorHash);if(!Re)throw new Error(`Assertion failed: The resolution (${zn(this.configuration,Pe)}) should have been registered`);if(Re!==ye.locatorHash&&le.has(Re))return!1;let gt=this.storedPackages.get(Re);if(!gt)throw new Error("Assertion failed: The package should have been registered");let q=this.tryWorkspaceByLocator(gt);if(q){if(q.anchoredLocator.locatorHash!==ye.locatorHash&&le.has(q.anchoredLocator.locatorHash))return!1;Ae.add(q.anchoredLocator.locatorHash)}Ae.add(Re)}}return!0};for(;le.size>0;){let ye=le.size,Ae=[];for(let ie of le){let Z=this.storedPackages.get(ie);if(!Z)throw new Error("Assertion failed: The package should have been registered");if(!Ce(Z))continue;let Pe=b.get(Z.locatorHash);if(!Pe)throw new Error("Assertion failed: The build directive should have been registered");let Re=ve(Z,Pe.buildLocations);if(this.storedBuildState.get(Z.locatorHash)===Re){Ie.set(Z.locatorHash,Re),le.delete(ie);continue}g||(await this.persistInstallStateFile(),g=!0),this.storedBuildState.has(Z.locatorHash)?r.reportInfo(8,`${jr(this.configuration,Z)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${jr(this.configuration,Z)} must be built because it never has been before or the last one failed`);let gt=Pe.buildLocations.map(async q=>{if(!K.isAbsolute(q))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${q})`);for(let rt of Pe.buildDirectives){let Te=`# This file contains the result of Yarn building a package (${ka(Z)}) -`;switch(rt.type){case 0:Te+=`# Script name: ${rt.script} -`;break;case 1:Te+=`# Script code: ${rt.script} -`;break}let Ne=null;if(!await ae.mktempPromise(async Ye=>{let Qe=K.join(Ye,"build.log"),{stdout:it,stderr:Ue}=this.configuration.getSubprocessStreams(Qe,{header:Te,prefix:jr(this.configuration,Z),report:r}),x;try{switch(rt.type){case 0:x=await Db(Z,rt.script,[],{cwd:q,project:this,stdin:Ne,stdout:it,stderr:Ue});break;case 1:x=await s3(Z,rt.script,[],{cwd:q,project:this,stdin:Ne,stdout:it,stderr:Ue});break}}catch(y){Ue.write(y.stack),x=1}if(it.end(),Ue.end(),x===0)return!0;ae.detachTemp(Ye);let I=`${jr(this.configuration,Z)} couldn't be built successfully (exit code ${Ut(this.configuration,x,Ct.NUMBER)}, logs can be found here: ${Ut(this.configuration,Qe,Ct.PATH)})`,S=this.optionalBuilds.has(Z.locatorHash);return S?r.reportInfo(9,I):r.reportError(9,I),Mue&&r.reportFold(ue.fromPortablePath(Qe),ae.readFileSync(Qe,"utf8")),S}))return!1}return!0});Ae.push(...gt,Promise.allSettled(gt).then(q=>{le.delete(ie),q.every(rt=>rt.status==="fulfilled"&&rt.value===!0)&&Ie.set(Z.locatorHash,Re)}))}if(await Wc(Ae),ye===le.size){let ie=Array.from(le).map(Z=>{let Pe=this.storedPackages.get(Z);if(!Pe)throw new Error("Assertion failed: The package should have been registered");return jr(this.configuration,Pe)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ie})`);break}}this.storedBuildState=Ie,this.skippedBuilds=L}async installWithNewReport(e,r){return(await Nt.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");Je.telemetry?.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,w)=>{e.report.reportWarning(E,w)},reportError:(E,w)=>{e.report.reportError(E,w),o=!0}})}),o)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,w]of E)for(let D of w)D.status="inactive";let n=K.join(this.cwd,mr.lockfile),u=null;if(e.immutable)try{u=await ae.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new zt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{SAt(this,e.report);for(let[,E]of a)for(let[,w]of E)for(let D of w)if(D.userProvided){let b=Ut(this.configuration,D,Ct.PACKAGE_EXTENSION);switch(D.status){case"inactive":e.report.reportWarning(68,`${b}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${b}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(u!==null){let E=Y0(u,this.generateLockfile());if(E!==u){let w=nhe(n,n,u,E,void 0,void 0,{maxEditLength:100});if(w){e.report.reportSeparator();for(let D of w.hunks){e.report.reportInfo(null,`@@ -${D.oldStart},${D.oldLines} +${D.newStart},${D.newLines} @@`);for(let b of D.lines)b.startsWith("+")?e.report.reportError(28,Ut(this.configuration,b,Ct.ADDED)):b.startsWith("-")?e.report.reportError(28,Ut(this.configuration,b,Ct.REMOVED)):e.report.reportInfo(null,Ut(this.configuration,b,"grey"))}e.report.reportSeparator()}throw new zt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,w]of E)for(let D of w)D.userProvided&&D.status==="active"&&Je.telemetry?.reportPackageExtension(Bg(D,Ct.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let A=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(A.map(async E=>px(E,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Ut(this.configuration,"mode=update-lockfile",Ct.CODE)}`);return}await this.linkEverything(e);let E=await Promise.all(A.map(async w=>px(w,{cwd:this.cwd})));for(let w=0;w{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,w)=>{e.report.reportWarning(E,w)},reportError:(E,w)=>{e.report.reportError(E,w),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,u]of this.storedResolutions.entries()){let A=e.get(u);A||e.set(u,A=new Set),A.add(n)}let r={},{cacheKey:o}=Wr.getCacheKey(this.configuration);r.__metadata={version:NQ,cacheKey:o};for(let[n,u]of e.entries()){let A=this.originalPackages.get(n);if(!A)continue;let p=[];for(let w of u){let D=this.storedDescriptors.get(w);if(!D)throw new Error("Assertion failed: The descriptor should have been registered");p.push(D)}let h=p.map(w=>Qa(w)).sort().join(", "),E=new _t;E.version=A.linkType==="HARD"?A.version:"0.0.0-use.local",E.languageName=A.languageName,E.dependencies=new Map(A.dependencies),E.peerDependencies=new Map(A.peerDependencies),E.dependenciesMeta=new Map(A.dependenciesMeta),E.peerDependenciesMeta=new Map(A.peerDependenciesMeta),E.bin=new Map(A.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:A.linkType.toLowerCase(),resolution:ka(A),checksum:this.storedChecksums.get(A.locatorHash),conditions:A.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. -`,`# Manual changes might be lost - proceed with caution! -`].join("")} -`+Pa(r)}async persistLockfile(){let e=K.join(this.cwd,mr.lockfile),r="";try{r=await ae.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Y0(r,o);a!==r&&(await ae.writeFilePromise(e,a),this.lockFileChecksum=_he(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(h8))e.push(...u);let r=(0,RQ.default)(this,e),o=g8.default.serialize(r),a=zi(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(K.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await BAt(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await vAt(await ae.readFilePromise(a));n=g8.default.deserialize(u),this.installStateChecksum=zi(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,RQ.default)(n,h8.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,RQ.default)(n,h8.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Ri}),await this.persistInstallStateFile()}async persist(){let e=(0,TQ.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let o=new Set([".gitignore"]);if(!s4(e.cwd,this.cwd)||!await ae.existsPromise(e.cwd))return null;let a=[];for(let u of await ae.readdirPromise(e.cwd)){if(o.has(u))continue;let A=K.resolve(e.cwd,u);e.markedFiles.has(A)||(e.immutable?r.reportError(56,`${Ut(this.configuration,K.basename(A),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(ae.lstatPromise(A).then(async p=>(await ae.removePromise(A),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((u,A)=>u+A,0)}}}});function xAt(t){let o=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),u=n+a,A=t.state.lastTips??o*864e5,p=A+864e5+8*36e5-t.timeZone,h=u<=t.timeNow,E=p<=t.timeNow,w=null;return(h||E||!t.state.lastUpdate||!t.state.lastTips)&&(w={},w.lastUpdate=h?t.timeNow:n,w.lastTips=A,w.blocks=h?{}:t.state.blocks,w.displayedTips=t.state.displayedTips),{nextState:w,triggerUpdate:h,triggerTips:E,nextTips:E?o*864e5:A}}var aE,jhe=It(()=>{Pt();r2();lh();eb();Gl();Qf();aE=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),o=A=>A&&nn?nA(nn,A):!1,a=e.map((A,p)=>p).filter(A=>e[A]&&o(e[A]?.selector));if(a.length===0)return null;let n=a.filter(A=>!r.has(A));if(n.length===0){let A=Math.floor(a.length*.2);this.displayedTips=A>0?this.displayedTips.slice(-A):[],n=a.filter(p=>!r.has(p))}let u=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(u),this.commitTips(),e[u]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){vf(this.values,e).add(r)}reportEnumerator(e,r){vf(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let o=nO(this.hits,e),a=Al(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return K.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let{nextState:a,triggerUpdate:n,triggerTips:u,nextTips:A}=xAt({state:o,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=A,this.displayedTips=o.displayedTips??[],a!==null)try{ae.mkdirSync(K.dirname(r),{recursive:!0}),ae.writeJsonSync(r,a)}catch{return!1}if(u&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=o.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,E=w=>wU(h,w,{configuration:this.configuration}).catch(()=>{});for(let[w,D]of Object.entries(o.blocks??{})){if(Object.keys(D).length===0)continue;let b=D;b.userId=w,b.reportType="primary";for(let L of Object.keys(b.enumerators??{}))b.enumerators[L]=b.enumerators[L].length;E(b);let C=new Map,T=20;for(let[L,U]of Object.entries(b.values))U.length>0&&C.set(L,U.slice(0,T));for(;C.size>0;){let L={};L.userId=w,L.reportType="secondary",L.metrics={};for(let[U,z]of C)L.metrics[U]=z.shift(),z.length===0&&C.delete(U);E(L)}}}}return!0}applyChanges(){let e=this.getRegistryPath(),r;try{r=ae.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),ae.mkdirSync(K.dirname(e),{recursive:!0}),ae.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var P2={};Kt(P2,{BuildDirectiveType:()=>xQ,CACHE_CHECKPOINT:()=>z_,CACHE_VERSION:()=>SQ,Cache:()=>Wr,Configuration:()=>Je,DEFAULT_RC_FILENAME:()=>bU,FormatType:()=>Cce,InstallMode:()=>yl,LEGACY_PLUGINS:()=>j1,LOCKFILE_VERSION:()=>NQ,LegacyMigrationResolver:()=>nE,LightReport:()=>pA,LinkType:()=>ey,LockfileResolver:()=>iE,Manifest:()=>_t,MessageName:()=>vr,MultiFetcher:()=>gy,PackageExtensionStatus:()=>aO,PackageExtensionType:()=>oO,PeerWarningType:()=>LQ,Project:()=>kt,Report:()=>Ws,ReportError:()=>zt,SettingsType:()=>G1,StreamReport:()=>Nt,TAG_REGEXP:()=>ky,TelemetryManager:()=>aE,ThrowReport:()=>Ri,VirtualFetcher:()=>dy,WindowsLinkType:()=>ab,Workspace:()=>oE,WorkspaceFetcher:()=>my,WorkspaceResolver:()=>ci,YarnVersion:()=>nn,execUtils:()=>Hr,folderUtils:()=>Bx,formatUtils:()=>fe,hashUtils:()=>bn,httpUtils:()=>on,miscUtils:()=>qe,nodeUtils:()=>Xi,parseMessageName:()=>qP,reportOptionDeprecations:()=>Ry,scriptUtils:()=>hn,semverUtils:()=>Ur,stringifyMessageName:()=>zu,structUtils:()=>G,tgzUtils:()=>$i,treeUtils:()=>As});var Ve=It(()=>{nb();vx();Wl();lh();eb();Gl();rb();c3();Qf();Io();qpe();zpe();J_();W1();W1();Zpe();X_();$pe();Z_();py();jP();VM();qhe();Vl();n2();jhe();f8();JM();XM();Sg();p8();r2();oie()});var zhe=_((N_t,x2)=>{"use strict";var QAt=process.env.TERM_PROGRAM==="Hyper",kAt=process.platform==="win32",Yhe=process.platform==="linux",y8={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Khe=Object.assign({},y8,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Vhe=Object.assign({},y8,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Yhe?"\u25B8":"\u276F",pointerSmall:Yhe?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});x2.exports=kAt&&!QAt?Khe:Vhe;Reflect.defineProperty(x2.exports,"common",{enumerable:!1,value:y8});Reflect.defineProperty(x2.exports,"windows",{enumerable:!1,value:Khe});Reflect.defineProperty(x2.exports,"other",{enumerable:!1,value:Vhe})});var eu=_((L_t,E8)=>{"use strict";var FAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),RAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Jhe=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let w=u+h+A;return E?w.replace(/\r*\n/g,`${A}$&${u}`):w},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` -`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=RAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!FAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=zhe(),t.define=a,t};E8.exports=Jhe();E8.exports.create=Jhe});var xo=_(an=>{"use strict";var TAt=Object.prototype.toString,ic=eu(),Xhe=!1,C8=[],Zhe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};an.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);an.hasColor=t=>!!t&&ic.hasColor(t);var MQ=an.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);an.nativeType=t=>TAt.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");an.isAsyncFn=t=>an.nativeType(t)==="asyncfunction";an.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";an.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;an.scrollDown=(t=[])=>[...t.slice(1),t[0]];an.scrollUp=(t=[])=>[t.pop(),...t];an.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};an.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};an.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};an.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` -`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};an.unmute=t=>{let e=t.stack.find(o=>ic.keys.color.includes(o));return e?ic[e]:t.stack.find(o=>o.slice(2)==="bg")?ic[e.slice(2)]:o=>o};an.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";an.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o));if(e){let o=ic["bg"+an.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?ic[r.slice(2).toLowerCase()]||t:ic.none};an.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return ic[Zhe[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=Zhe[o];return a&&ic["bg"+an.pascal(a)]||t}return ic.none};an.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};an.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!an.isObject(A)&&n{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};an.mixin=(t,e)=>{if(!MQ(t))return e;if(!MQ(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&MQ(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);MQ(a.value)?t[r]=an.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};an.merge=(...t)=>{let e={};for(let r of t)an.mixin(e,r);return e};an.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?an.define(t,o,a.bind(e)):an.define(t,o,a)}};an.onExit=t=>{let e=(r,o)=>{Xhe||(Xhe=!0,C8.forEach(a=>a()),r===!0&&process.exit(128+o))};C8.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),C8.push(t)};an.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};an.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var $he=_(AE=>{"use strict";AE.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};AE.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};AE.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};AE.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};AE.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var r0e=_((U_t,t0e)=>{"use strict";var e0e=De("readline"),NAt=$he(),LAt=/^(?:\x1b)([a-zA-Z0-9])$/,OAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,MAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function UAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function _At(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var UQ=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` -`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+97-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=LAt.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=OAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=MAt[n],o.shift=UAt(n)||o.shift,o.ctrl=_At(n)||o.ctrl}return o};UQ.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=e0e.createInterface({terminal:!0,input:r});e0e.emitKeypressEvents(r,o);let a=(A,p)=>e(A,UQ(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};UQ.action=(t,e,r)=>{let o={...NAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};t0e.exports=UQ});var i0e=_((__t,n0e)=>{"use strict";n0e.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),HAt(t,r,o)}};function HAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var o0e=_((H_t,s0e)=>{"use strict";var{define:qAt,width:jAt}=xo(),I8=class{constructor(e){let r=e.options;qAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=jAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};s0e.exports=I8});var l0e=_((q_t,a0e)=>{"use strict";var w8=xo(),Ks=eu(),B8={default:Ks.noop,noop:Ks.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||w8.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||w8.complement(this.primary)},primary:Ks.cyan,success:Ks.green,danger:Ks.magenta,strong:Ks.bold,warning:Ks.yellow,muted:Ks.dim,disabled:Ks.gray,dark:Ks.dim.gray,underline:Ks.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};B8.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Ks.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Ks.visible=t.styles.visible);let e=w8.merge({},B8,t.styles);delete e.merge;for(let r of Object.keys(Ks))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ks[r]});for(let r of Object.keys(Ks.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ks[r]});return e};a0e.exports=B8});var u0e=_((j_t,c0e)=>{"use strict";var v8=process.platform==="win32",Kf=eu(),GAt=xo(),D8={...Kf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Kf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Kf.symbols.question,submitted:Kf.symbols.check,cancelled:Kf.symbols.cross},separator:{pending:Kf.symbols.pointerSmall,submitted:Kf.symbols.middot,cancelled:Kf.symbols.middot},radio:{off:v8?"( )":"\u25EF",on:v8?"(*)":"\u25C9",disabled:v8?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};D8.merge=t=>{let e=GAt.merge({},Kf.symbols,D8,t.symbols);return delete e.merge,e};c0e.exports=D8});var f0e=_((G_t,A0e)=>{"use strict";var WAt=l0e(),YAt=u0e(),KAt=xo();A0e.exports=t=>{t.options=KAt.merge({},t.options.theme,t.options),t.symbols=YAt.merge(t.options),t.styles=WAt.merge(t.options)}});var m0e=_((g0e,d0e)=>{"use strict";var p0e=process.env.TERM_PROGRAM==="Apple_Terminal",VAt=eu(),P8=xo(),tu=d0e.exports=g0e,Si="\x1B[",h0e="\x07",S8=!1,kh=tu.code={bell:h0e,beep:h0e,beginning:`${Si}G`,down:`${Si}J`,esc:Si,getPosition:`${Si}6n`,hide:`${Si}?25l`,line:`${Si}2K`,lineEnd:`${Si}K`,lineStart:`${Si}1K`,restorePosition:Si+(p0e?"8":"u"),savePosition:Si+(p0e?"7":"s"),screen:`${Si}2J`,show:`${Si}?25h`,up:`${Si}1J`},Vg=tu.cursor={get hidden(){return S8},hide(){return S8=!0,kh.hide},show(){return S8=!1,kh.show},forward:(t=1)=>`${Si}${t}C`,backward:(t=1)=>`${Si}${t}D`,nextLine:(t=1)=>`${Si}E`.repeat(t),prevLine:(t=1)=>`${Si}F`.repeat(t),up:(t=1)=>t?`${Si}${t}A`:"",down:(t=1)=>t?`${Si}${t}B`:"",right:(t=1)=>t?`${Si}${t}C`:"",left:(t=1)=>t?`${Si}${t}D`:"",to(t,e){return e?`${Si}${e+1};${t+1}H`:`${Si}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Vg.left(-t):t>0?Vg.right(t):"",r+=e<0?Vg.up(-e):e>0?Vg.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=P8.isPrimitive(o)?String(o):"",a=P8.isPrimitive(a)?String(a):"",A=P8.isPrimitive(A)?String(A):"",u){let p=tu.cursor.up(u)+tu.cursor.to(n.length),h=a.length-r;return h>0&&(p+=tu.cursor.left(h)),p}if(A||e){let p=!a&&o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),tu.cursor.move(p)}}},x8=tu.erase={screen:kh.screen,up:kh.up,down:kh.down,line:kh.line,lineEnd:kh.lineEnd,lineStart:kh.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return x8.line+Vg.to(0);let r=n=>[...VAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(x8.line+Vg.prevLine()).repeat(a-1)+x8.line+Vg.to(0)}});var fE=_((W_t,E0e)=>{"use strict";var zAt=De("events"),y0e=eu(),b8=r0e(),JAt=i0e(),XAt=o0e(),ZAt=f0e(),La=xo(),zg=m0e(),Q8=class t extends zAt{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,ZAt(this),JAt(this),this.state=new XAt(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=eft(this.options.margin),this.setMaxListeners(0),$At(this)}async keypress(e,r={}){this.keypressed=!0;let o=b8.action(e,b8(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(zg.code.beep)}cursorHide(){this.stdout.write(zg.cursor.hide()),La.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(zg.cursor.show())}write(e){e&&(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(zg.cursor.down(e)+zg.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=zg.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=y0e.unstyle(o);let a=y0e.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` -`),h=p[0],E=p[p.length-1],D=(o+(r?" "+r:"")).length,b=De.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let w=await this.resolve(E,n,r,o);return!w&&r&&r[e]?this.resolve(h,n,r,o):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,La.isObject(e)&&(e=e[o.status]||e.pending),La.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return La.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return La.isObject(n)&&(n=n[o.status]||n.pending),La.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&La.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=La.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&La.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return La.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return La.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return La.resolve(this,e,...r)}get base(){return t.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||La.height(this.stdout,25)}get width(){return this.options.columns||La.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function $At(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function eft(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` -`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}E0e.exports=Q8});var w0e=_((Y_t,I0e)=>{"use strict";var tft=xo(),C0e={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return C0e.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};I0e.exports=(t,e={})=>{let r=tft.merge({},C0e,e.roles);return r[t]||r.default}});var b2=_((K_t,D0e)=>{"use strict";var rft=eu(),nft=fE(),ift=w0e(),_Q=xo(),{reorder:k8,scrollUp:sft,scrollDown:oft,isObject:B0e,swap:aft}=_Q,F8=class extends nft{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");B0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=ift(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,_Q.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,rft.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return v0e(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=k8(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(w=>!h.includes(w));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&+(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=k8(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=k8(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=sft(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=oft(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){aft(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(B0e(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=_Q.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return v0e(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function v0e(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(_Q.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}D0e.exports=F8});var Fh=_((V_t,P0e)=>{"use strict";var lft=b2(),R8=xo(),T8=class extends lft{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!R8.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!R8.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(R8.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` -`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` -`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,w].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};P0e.exports=T8});var x0e=_((z_t,S0e)=>{"use strict";var cft=Fh(),uft=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},N8=class extends cft{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=uft(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};S0e.exports=N8});var O8=_((J_t,b0e)=>{"use strict";var L8=xo();b0e.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=L8.inverse(t.styles.primary),h=T=>p(t.styles.black(T)),E=r,w=" ",D=h(w);if(t.blink&&t.blink.off===!0&&(h=T=>T,D=""),n&&a===0&&o===""&&r==="")return h(w);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=L8.isPrimitive(o)?`${o}`:"",r=L8.isPrimitive(r)?`${r}`:"";let b=o&&o.startsWith(r)&&o!==r,C=b?h(o[r.length]):D;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),b){let T=t.styles.unstyle(E+C);return E+C+A(o.slice(T.length))}return E+C}});var HQ=_((X_t,Q0e)=>{"use strict";var Aft=eu(),fft=Fh(),pft=O8(),M8=class extends fft{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:w,primary:D,danger:b}=a,C=p,T=this.index===r,L=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),z=e.message;this.align==="right"&&(z=z.padStart(this.longest+1," ")),this.align==="left"&&(z=z.padEnd(this.longest+1," "));let te=this.values[A]=h||u,le=h?"success":"dark";await L.call(e,te,this.state)!==!0&&(le="danger");let de=a[le],ce=de(await this.indicator(e,r))+(e.pad||""),me=this.indent(e),pe=()=>[me,ce,z+U,h,C].filter(Boolean).join(" ");if(o.submitted)return z=Aft.unstyle(z),h=w(h),C="",pe();if(e.format)h=await e.format.call(this,h,e,r);else{let ve=this.styles.muted;h=pft(this,{input:h,initial:u,pos:n,showCursor:T,color:ve})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,te,e,r)),T&&(z=D(z)),e.error?h+=(h?" ":"")+b(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),pe()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Q0e.exports=M8});var U8=_((Z_t,F0e)=>{"use strict";var hft=HQ(),gft=()=>{throw new Error("expected prompt to have a custom authenticate method")},k0e=(t=gft)=>{class e extends hft{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return k0e(o)}}return e};F0e.exports=k0e()});var N0e=_(($_t,T0e)=>{"use strict";var dft=U8();function mft(t,e){return t.username===this.options.username&&t.password===this.options.password}var R0e=(t=mft)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends dft.create(t){constructor(a){super({...a,choices:e})}static create(a){return R0e(a)}}return r};T0e.exports=R0e()});var qQ=_((e8t,L0e)=>{"use strict";var yft=fE(),{isPrimitive:Eft,hasColor:Cft}=xo(),_8=class extends yft{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Eft(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Cft(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),w=await this.error()||await this.hint(),D=await this.footer();w&&!A.includes(w)&&(E+=" "+w),A+=" "+E,this.clear(r),this.write([p,A,D].filter(Boolean).join(` -`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};L0e.exports=_8});var M0e=_((t8t,O0e)=>{"use strict";var Ift=qQ(),H8=class extends Ift{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};O0e.exports=H8});var _0e=_((r8t,U0e)=>{"use strict";var wft=Fh(),Bft=HQ(),pE=Bft.prototype,q8=class extends wft{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():pE.dispatch.call(this,e,r)}append(e,r){return pE.append.call(this,e,r)}delete(e,r){return pE.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?pE.next.call(this):super.next()}prev(){return this.focused.editable?pE.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?pE.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};U0e.exports=q8});var Jg=_((n8t,H0e)=>{"use strict";var vft=fE(),Dft=O8(),{isPrimitive:Pft}=xo(),j8=class extends vft{constructor(e){super(e),this.initial=Pft(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` -`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):Dft(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` -`)),this.restore()}};H0e.exports=j8});var j0e=_((i8t,q0e)=>{"use strict";var Sft=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),jQ=t=>Sft(t).filter(Boolean);q0e.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:jQ([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:jQ([...n,r]),present:u};case"save":return{past:jQ([...o,r]),present:""};case"remove":return u=jQ(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var W8=_((s8t,W0e)=>{"use strict";var xft=Jg(),G0e=j0e(),G8=class extends xft{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=G0e(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){this.store&&(this.data=G0e("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};W0e.exports=G8});var K0e=_((o8t,Y0e)=>{"use strict";var bft=Jg(),Y8=class extends bft{format(){return""}};Y0e.exports=Y8});var z0e=_((a8t,V0e)=>{"use strict";var Qft=Jg(),K8=class extends Qft{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};V0e.exports=K8});var X0e=_((l8t,J0e)=>{"use strict";var kft=Fh(),V8=class extends kft{constructor(e){super({...e,multiple:!0})}};J0e.exports=V8});var J8=_((c8t,Z0e)=>{"use strict";var Fft=Jg(),z8=class extends Fft{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return othis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};Z0e.exports=z8});var ege=_((u8t,$0e)=>{$0e.exports=J8()});var rge=_((A8t,tge)=>{"use strict";var Rft=Jg(),X8=class extends Rft{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};tge.exports=X8});var sge=_((f8t,ige)=>{"use strict";var Tft=eu(),Nft=b2(),nge=xo(),Z8=class extends Nft{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` - `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` -`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!nge.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=Tft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let b=nge.wordWrap(h,{width:this.widths[0],newline:A}).split(` -`).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),b=b.map(C=>this.styles.info(C))),b[0]+=E,this.linebreak&&b.push(""),[p+a,b.join(` -`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` -`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),w=await this.renderChoices(),D=await this.footer(),b=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!w.trim()&&this.multiple&&b!=null&&(u+=this.styles.danger(b)),this.clear(r),this.write([A,u,h,w,D].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};ige.exports=Z8});var lge=_((p8t,age)=>{"use strict";var oge=eu(),Lft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",eH=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=Lft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Oft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,w=()=>n[++E],D=()=>n[E+1],b=C=>{C.line=h,u.push(C)};for(b({type:"bos",value:""});Ele.name===U.key);U.field=a.find(le=>le.name===U.key),te||(te=new eH(U),A.push(te)),te.lines.push(U.line-1);continue}let T=u[u.length-1];T.type==="text"&&T.line===h?T.value+=C:b({type:"text",value:C})}return b({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};age.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await Oft(e,o),A=$8("result",t,e),p=$8("format",t,e),h=$8("validate",t,e,!0),E=t.isValue.bind(t);return async(w={},D=!1)=>{let b=0;w.required=r,w.items=n,w.keys=u,w.output="";let C=async(z,te,le,de)=>{let ce=await h(z,te,le,de);return ce===!1?"Invalid field "+le.name:ce};for(let z of a){let te=z.value,le=z.key;if(z.type!=="template"){te&&(w.output+=te);continue}if(z.type==="template"){let de=n.find(Ie=>Ie.name===le);e.required===!0&&w.required.add(de.name);let ce=[de.input,w.values[de.value],de.value,te].find(E),pe=(de.field||{}).message||z.inner;if(D){let Ie=await C(w.values[le],w,de,b);if(Ie&&typeof Ie=="string"||Ie===!1){w.invalid.set(le,Ie);continue}w.invalid.delete(le);let g=await A(w.values[le],w,de,b);w.output+=oge.unstyle(g);continue}de.placeholder=!1;let ve=te;te=await p(te,w,de,b),ce!==te?(w.values[le]=ce,te=t.styles.typing(ce),w.missing.delete(pe)):(w.values[le]=void 0,ce=`<${pe}>`,te=t.styles.primary(ce),de.placeholder=!0,w.required.has(le)&&w.missing.add(pe)),w.missing.has(pe)&&w.validating&&(te=t.styles.warning(ce)),w.invalid.has(le)&&w.validating&&(te=t.styles.danger(ce)),b===w.index&&(ve!==te?te=t.styles.underline(te):te=t.styles.heading(oge.unstyle(te))),b++}te&&(w.output+=te)}let T=w.output.split(` -`).map(z=>" "+z),L=n.length,U=0;for(let z of n)w.invalid.has(z.name)&&z.lines.forEach(te=>{T[te][0]===" "&&(T[te]=w.styles.danger(w.symbols.bullet)+T[te].slice(1))}),t.isValue(w.values[z.name])&&U++;return w.completed=(U/L*100).toFixed(0),w.output=T.join(` -`),w.output}};function $8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var uge=_((h8t,cge)=>{"use strict";var Mft=eu(),Uft=lge(),_ft=fE(),tH=class extends _ft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Uft(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` -`].find(z=>z!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),w=await this.error()||"",D=await this.hint()||"",b=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",T=await this.format(C),L=await this.footer();T&&(h+=" "+T),D&&!T&&this.state.completed===0&&(h+=" "+D),this.clear(a);let U=[E,h,b,L,w.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} -`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=Mft.unstyle(o).split(` -`).map(A=>A.slice(1)).join(` -`);return this.value={values:a,result:u},super.submit()}};cge.exports=tH});var fge=_((g8t,Age)=>{"use strict";var Hft="(Use + to sort)",qft=Fh(),rH=class extends qft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,Hft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Age.exports=rH});var hge=_((d8t,pge)=>{"use strict";var jft=b2(),nH=class extends jft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` - `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=Gft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",w=o?this.styles.heading:this.styles.noop,D=await this.resolve(e.message,this.state,e,r),b=this.indent(e),C=b+e.scale.map((te,le)=>h(le===e.scaleIdx)).join(A),T=te=>te===e.scaleIdx?w(te):te,L=b+e.scale.map((te,le)=>T(le)).join(p),U=()=>[E,D].filter(Boolean).join(" "),z=()=>[U(),C,L," "].filter(Boolean).join(` -`);return o&&(C=this.styles.cyan(C),L=this.styles.cyan(L)),z()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` -`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,w].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function Gft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o{gge.exports=W8()});var yge=_((y8t,mge)=>{"use strict";var Wft=qQ(),iH=class extends Wft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};mge.exports=iH});var Cge=_((E8t,Ege)=>{"use strict";var Yft=Fh(),sH=class extends Yft{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ege.exports=sH});var wge=_(oH=>{"use strict";var Ige=xo(),fs=(t,e)=>{Ige.defineExport(oH,t,e),Ige.defineExport(oH,t.toLowerCase(),e)};fs("AutoComplete",()=>x0e());fs("BasicAuth",()=>N0e());fs("Confirm",()=>M0e());fs("Editable",()=>_0e());fs("Form",()=>HQ());fs("Input",()=>W8());fs("Invisible",()=>K0e());fs("List",()=>z0e());fs("MultiSelect",()=>X0e());fs("Numeral",()=>ege());fs("Password",()=>rge());fs("Scale",()=>sge());fs("Select",()=>Fh());fs("Snippet",()=>uge());fs("Sort",()=>fge());fs("Survey",()=>hge());fs("Text",()=>dge());fs("Toggle",()=>yge());fs("Quiz",()=>Cge())});var vge=_((I8t,Bge)=>{Bge.exports={ArrayPrompt:b2(),AuthPrompt:U8(),BooleanPrompt:qQ(),NumberPrompt:J8(),StringPrompt:Jg()}});var k2=_((w8t,Pge)=>{"use strict";var Dge=De("assert"),lH=De("events"),Rh=xo(),ru=class extends lH{constructor(e,r){super(),this.options=Rh.merge({},e),this.answers={...r}}register(e,r){if(Rh.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}Dge.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(Rh.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=Rh.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=Rh;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];Dge(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||fE()}static get prompts(){return wge()}static get types(){return vge()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return Rh.mixinEmitter(e,new lH),e}};Rh.mixinEmitter(ru,new lH);var aH=ru.prompts;for(let t of Object.keys(aH)){let e=t.toLowerCase(),r=o=>new aH[t](o).run();ru.prompt[e]=r,ru[e]=r,ru[t]||Reflect.defineProperty(ru,t,{get:()=>aH[t]})}var Q2=t=>{Rh.defineExport(ru,t,()=>ru.types[t])};Q2("ArrayPrompt");Q2("AuthPrompt");Q2("BooleanPrompt");Q2("NumberPrompt");Q2("StringPrompt");Pge.exports=ru});var N2=_((iHt,Rge)=>{var Zft=QQ();function $ft(t,e,r){var o=t==null?void 0:Zft(t,e);return o===void 0?r:o}Rge.exports=$ft});var Lge=_((uHt,Nge)=>{function ept(t,e){for(var r=-1,o=t==null?0:t.length;++r{var tpt=Ig(),rpt=PS();function npt(t,e){return t&&tpt(e,rpt(e),t)}Oge.exports=npt});var _ge=_((fHt,Uge)=>{var ipt=Ig(),spt=Jm();function opt(t,e){return t&&ipt(e,spt(e),t)}Uge.exports=opt});var qge=_((pHt,Hge)=>{var apt=Ig(),lpt=CS();function cpt(t,e){return apt(t,lpt(t),e)}Hge.exports=cpt});var hH=_((hHt,jge)=>{var upt=ES(),Apt=kS(),fpt=CS(),ppt=bL(),hpt=Object.getOwnPropertySymbols,gpt=hpt?function(t){for(var e=[];t;)upt(e,fpt(t)),t=Apt(t);return e}:ppt;jge.exports=gpt});var Wge=_((gHt,Gge)=>{var dpt=Ig(),mpt=hH();function ypt(t,e){return dpt(t,mpt(t),e)}Gge.exports=ypt});var gH=_((dHt,Yge)=>{var Ept=xL(),Cpt=hH(),Ipt=Jm();function wpt(t){return Ept(t,Ipt,Cpt)}Yge.exports=wpt});var Vge=_((mHt,Kge)=>{var Bpt=Object.prototype,vpt=Bpt.hasOwnProperty;function Dpt(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&vpt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Kge.exports=Dpt});var Jge=_((yHt,zge)=>{var Ppt=bS();function Spt(t,e){var r=e?Ppt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}zge.exports=Spt});var Zge=_((EHt,Xge)=>{var xpt=/\w*$/;function bpt(t){var e=new t.constructor(t.source,xpt.exec(t));return e.lastIndex=t.lastIndex,e}Xge.exports=bpt});var nde=_((CHt,rde)=>{var $ge=yg(),ede=$ge?$ge.prototype:void 0,tde=ede?ede.valueOf:void 0;function Qpt(t){return tde?Object(tde.call(t)):{}}rde.exports=Qpt});var sde=_((IHt,ide)=>{var kpt=bS(),Fpt=Jge(),Rpt=Zge(),Tpt=nde(),Npt=jL(),Lpt="[object Boolean]",Opt="[object Date]",Mpt="[object Map]",Upt="[object Number]",_pt="[object RegExp]",Hpt="[object Set]",qpt="[object String]",jpt="[object Symbol]",Gpt="[object ArrayBuffer]",Wpt="[object DataView]",Ypt="[object Float32Array]",Kpt="[object Float64Array]",Vpt="[object Int8Array]",zpt="[object Int16Array]",Jpt="[object Int32Array]",Xpt="[object Uint8Array]",Zpt="[object Uint8ClampedArray]",$pt="[object Uint16Array]",eht="[object Uint32Array]";function tht(t,e,r){var o=t.constructor;switch(e){case Gpt:return kpt(t);case Lpt:case Opt:return new o(+t);case Wpt:return Fpt(t,r);case Ypt:case Kpt:case Vpt:case zpt:case Jpt:case Xpt:case Zpt:case $pt:case eht:return Npt(t,r);case Mpt:return new o;case Upt:case qpt:return new o(t);case _pt:return Rpt(t);case Hpt:return new o;case jpt:return Tpt(t)}}ide.exports=tht});var ade=_((wHt,ode)=>{var rht=c1(),nht=Zu(),iht="[object Map]";function sht(t){return nht(t)&&rht(t)==iht}ode.exports=sht});var Ade=_((BHt,ude)=>{var oht=ade(),aht=wS(),lde=BS(),cde=lde&&lde.isMap,lht=cde?aht(cde):oht;ude.exports=lht});var pde=_((vHt,fde)=>{var cht=c1(),uht=Zu(),Aht="[object Set]";function fht(t){return uht(t)&&cht(t)==Aht}fde.exports=fht});var mde=_((DHt,dde)=>{var pht=pde(),hht=wS(),hde=BS(),gde=hde&&hde.isSet,ght=gde?hht(gde):pht;dde.exports=ght});var dH=_((PHt,Ide)=>{var dht=mS(),mht=Lge(),yht=RS(),Eht=Mge(),Cht=_ge(),Iht=qL(),wht=QS(),Bht=qge(),vht=Wge(),Dht=RL(),Pht=gH(),Sht=c1(),xht=Vge(),bht=sde(),Qht=WL(),kht=jl(),Fht=i1(),Rht=Ade(),Tht=cl(),Nht=mde(),Lht=PS(),Oht=Jm(),Mht=1,Uht=2,_ht=4,yde="[object Arguments]",Hht="[object Array]",qht="[object Boolean]",jht="[object Date]",Ght="[object Error]",Ede="[object Function]",Wht="[object GeneratorFunction]",Yht="[object Map]",Kht="[object Number]",Cde="[object Object]",Vht="[object RegExp]",zht="[object Set]",Jht="[object String]",Xht="[object Symbol]",Zht="[object WeakMap]",$ht="[object ArrayBuffer]",e0t="[object DataView]",t0t="[object Float32Array]",r0t="[object Float64Array]",n0t="[object Int8Array]",i0t="[object Int16Array]",s0t="[object Int32Array]",o0t="[object Uint8Array]",a0t="[object Uint8ClampedArray]",l0t="[object Uint16Array]",c0t="[object Uint32Array]",Ai={};Ai[yde]=Ai[Hht]=Ai[$ht]=Ai[e0t]=Ai[qht]=Ai[jht]=Ai[t0t]=Ai[r0t]=Ai[n0t]=Ai[i0t]=Ai[s0t]=Ai[Yht]=Ai[Kht]=Ai[Cde]=Ai[Vht]=Ai[zht]=Ai[Jht]=Ai[Xht]=Ai[o0t]=Ai[a0t]=Ai[l0t]=Ai[c0t]=!0;Ai[Ght]=Ai[Ede]=Ai[Zht]=!1;function WQ(t,e,r,o,a,n){var u,A=e&Mht,p=e&Uht,h=e&_ht;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!Tht(t))return t;var E=kht(t);if(E){if(u=xht(t),!A)return wht(t,u)}else{var w=Sht(t),D=w==Ede||w==Wht;if(Fht(t))return Iht(t,A);if(w==Cde||w==yde||D&&!a){if(u=p||D?{}:Qht(t),!A)return p?vht(t,Cht(u,t)):Bht(t,Eht(u,t))}else{if(!Ai[w])return a?t:{};u=bht(t,w,A)}}n||(n=new dht);var b=n.get(t);if(b)return b;n.set(t,u),Nht(t)?t.forEach(function(L){u.add(WQ(L,e,r,L,t,n))}):Rht(t)&&t.forEach(function(L,U){u.set(U,WQ(L,e,r,U,t,n))});var C=h?p?Pht:Dht:p?Oht:Lht,T=E?void 0:C(t);return mht(T||t,function(L,U){T&&(U=L,L=t[U]),yht(u,U,WQ(L,e,r,U,t,n))}),u}Ide.exports=WQ});var mH=_((SHt,wde)=>{var u0t=dH(),A0t=1,f0t=4;function p0t(t){return u0t(t,A0t|f0t)}wde.exports=p0t});var yH=_((xHt,Bde)=>{var h0t=l8();function g0t(t,e,r){return t==null?t:h0t(t,e,r)}Bde.exports=g0t});var xde=_((THt,Sde)=>{var d0t=Object.prototype,m0t=d0t.hasOwnProperty;function y0t(t,e){return t!=null&&m0t.call(t,e)}Sde.exports=y0t});var Qde=_((NHt,bde)=>{var E0t=xde(),C0t=c8();function I0t(t,e){return t!=null&&C0t(t,e,E0t)}bde.exports=I0t});var Fde=_((LHt,kde)=>{function w0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}kde.exports=w0t});var Tde=_((OHt,Rde)=>{var B0t=QQ(),v0t=$U();function D0t(t,e){return e.length<2?t:B0t(t,v0t(e,0,-1))}Rde.exports=D0t});var CH=_((MHt,Nde)=>{var P0t=Kg(),S0t=Fde(),x0t=Tde(),b0t=sE();function Q0t(t,e){return e=P0t(e,t),t=x0t(t,e),t==null||delete t[b0t(S0t(e))]}Nde.exports=Q0t});var IH=_((UHt,Lde)=>{var k0t=CH();function F0t(t,e){return t==null?!0:k0t(t,e)}Lde.exports=F0t});var Hde=_((h6t,N0t)=>{N0t.exports={name:"@yarnpkg/cli",version:"4.8.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^4.0.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"git+https://github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var QH=_((WGt,$de)=>{"use strict";$de.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var tme=_((YGt,eme)=>{"use strict";var tgt=QH();function rgt(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=tgt(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}eme.exports=rgt});var ime=_((KGt,nme)=>{"use strict";var ngt=tme();function igt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var sgt=igt(ngt),ogt="text/plain",agt="us-ascii",rme=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),lgt=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(w=>{let[D,b=""]=w.split("=").map(C=>C.trim());return D==="charset"&&(b=b.toLowerCase(),b===agt)?"":`${D}${b?`=${b}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==ogt)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function cgt(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return lgt(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let w=E[0],D=E.index,b=a.pathname.slice(A,D);p+=b.replace(/\/{2,}/g,"/"),p+=w,A=D+w.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];rme(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])rme(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var kH=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>kH.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=cgt(t,e));let a=sgt.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};kH.MAX_INPUT_LENGTH=2048;nme.exports=kH});var ame=_((VGt,ome)=>{"use strict";var ugt=QH();function sme(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=ugt(t);if(t=t.substring(t.indexOf("://")+3),sme(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@"){"use strict";var Agt=ime(),lme=ame();function fgt(t){var e=Agt(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),lme(e.protocols)||e.protocols.length===0&&lme(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}cme.exports=fgt});var fme=_((JGt,Ame)=>{"use strict";var pgt=ume();function FH(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=pgt(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return FH.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),w=a.indexOf("raw",2),D=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:w>0?w-1:D>0?D-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var b=a.length>n&&a[n+1]==="-"?n+1:n;a.length>b+2&&["raw","src","blob","tree","edit"].indexOf(a[b+1])>=0&&(r.filepathtype=a[b+1],r.ref=a[b+2],a.length>b+3&&(r.filepath=a.slice(b+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,T=C.exec(r.pathname);return T!=null&&(r.source="bitbucket-server",T[1]==="users"?r.owner="~"+T[2]:r.owner=T[2],r.organization=r.owner,r.name=T[3],a=T[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}FH.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?hgt(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+ggt(t)+a;default:return t.href}};function hgt(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function ggt(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}Ame.exports=FH});var xme=_((b9t,Sme)=>{var Pgt=Cb(),Sgt=QS(),xgt=jl(),bgt=hy(),Qgt=a8(),kgt=sE(),Fgt=t2();function Rgt(t){return xgt(t)?Pgt(t,kgt):bgt(t)?[t]:Sgt(Qgt(Fgt(t)))}Sme.exports=Rgt});function Ogt(t,e){return e===1&&Lgt.has(t[0])}function q2(t){let e=Array.isArray(t)?t:(0,kme.default)(t);return e.map((o,a)=>Tgt.test(o)?`[${o}]`:Ngt.test(o)&&!Ogt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function Mgt(t,e){let r=[];if(e.methodName!==null&&r.push(fe.pretty(t,e.methodName,fe.Type.CODE)),e.file!==null){let o=[];o.push(fe.pretty(t,e.file,fe.Type.PATH)),e.line!==null&&(o.push(fe.pretty(t,e.line,fe.Type.NUMBER)),e.column!==null&&o.push(fe.pretty(t,e.column,fe.Type.NUMBER))),r.push(`(${o.join(fe.pretty(t,":","grey"))})`)}return r.join(" ")}function zQ(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){let a=new Map,n=new Map,u=[...r.keys()].map(A=>[A,new Map]);for(let[A,p]of[...u,...e]){let h=r.get(A)?.map(b=>({text:b,fixable:!1}))??[],E=!1,w=t.getWorkspaceByCwd(A),D=w.manifest.exportTo({});for(let[b,C]of p){if(C.size>1){let T=[...C].map(([L,U])=>{let z=fe.pretty(t.configuration,L,fe.Type.INSPECT),te=U.size>0?Mgt(t.configuration,U.values().next().value):null;return te!==null?` -${z} at ${te}`:` -${z}`}).join("");h.push({text:`Conflict detected in constraint targeting ${fe.pretty(t.configuration,b,fe.Type.CODE)}; conflicting values are:${T}`,fixable:!1})}else{let[[T]]=C,L=(0,bme.default)(D,b);if(JSON.stringify(L)===JSON.stringify(T))continue;if(!o){let U=typeof L>"u"?`Missing field ${fe.pretty(t.configuration,b,fe.Type.CODE)}; expected ${fe.pretty(t.configuration,T,fe.Type.INSPECT)}`:typeof T>"u"?`Extraneous field ${fe.pretty(t.configuration,b,fe.Type.CODE)} currently set to ${fe.pretty(t.configuration,L,fe.Type.INSPECT)}`:`Invalid field ${fe.pretty(t.configuration,b,fe.Type.CODE)}; expected ${fe.pretty(t.configuration,T,fe.Type.INSPECT)}, found ${fe.pretty(t.configuration,L,fe.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof T>"u"?(0,Fme.default)(D,b):(0,Qme.default)(D,b,T),E=!0}E&&a.set(w,D)}h.length>0&&n.set(w,h)}return{changedWorkspaces:a,remainingErrors:n}}function Rme(t,{configuration:e}){let r={children:[]};for(let[o,a]of t){let n=[];for(let A of a){let p=A.text.split(/\n/);A.fixable&&(p[0]=`${fe.pretty(e,"\u2699","gray")} ${p[0]}`),n.push({value:fe.tuple(fe.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:fe.tuple(fe.Type.NO_HINT,h)}))})}let u={value:fe.tuple(fe.Type.LOCATOR,o.anchoredLocator),children:qe.sortMap(n,A=>A.value[1])};r.children.push(u)}return r.children=qe.sortMap(r.children,o=>o.value[1]),r}var bme,Qme,kme,Fme,eC,Tgt,Ngt,Lgt,j2=It(()=>{Ve();bme=et(N2()),Qme=et(yH()),kme=et(xme()),Fme=et(IH()),eC=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.hasOwn(e,r)?e[r]:void 0;if(typeof o>"u")continue;qe.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let w of a)E.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.hasOwn(u,A)&&u[A]===p:Object.hasOwn(u,A)===!1))return!1;return!0})),n}},Tgt=/^[0-9]+$/,Ngt=/^[a-zA-Z0-9_]+$/,Lgt=new Set(["scripts",..._t.allDependencies])});var Tme=_((H9t,YH)=>{var Ugt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E0;w--)E[w].equals(E[w-1])&&E.splice(w,1);for(var D=new t.type.Term("[]"),w=E.length-1;w>=0;w--)D=new t.type.Term(".",[E[w],D]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[D,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=new t.type.Term("[]"),D=E.length-1;D>=0;D--)w=new t.type.Term(".",[E[D],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var w=p.sort(t.compare),D=new t.type.Term("[]"),b=w.length-1;b>=0;b--)D=new t.type.Term(".",[new t.type.Term("-",[w[b],w[b].pair]),D]),delete w[b].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[D,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;if(h===0){for(var D=new t.type.Term("[]"),h=E.length-1;h>=0;h--)D=new t.type.Term(".",[E[h],D]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[D,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,w=new t.type.Term("[]",[]);E.indicator==="./2";)w=new t.type.Term(".",[E.args[0],w]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],w=new t.type.Term("[]",[]),D,b=0;b=0;b--)w=new t.type.Term(".",[E[b],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,w])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof YH<"u"?YH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(Ugt)});var zme=_(Vr=>{"use strict";var $g=process.platform==="win32",KH="aes-256-cbc",_gt="sha256",Ome="The current environment doesn't support interactive reading from TTY.",Xn=De("fs"),Nme=process.binding("tty_wrap").TTY,zH=De("child_process"),Lh=De("path"),JH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Vf="none",iu,rC,Lme=!1,Nh,XQ,VH,Hgt=0,t6="",Zg=[],ZQ,Mme=!1,XH=!1,G2=!1;function Ume(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return XQ.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function qgt(t,e){function r(U){var z,te="",le;for(VH=VH||De("os").tmpdir();;){z=Lh.join(VH,U+te);try{le=Xn.openSync(z,"wx")}catch(de){if(de.code==="EEXIST"){te++;continue}else throw de}Xn.closeSync(le);break}return z}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),w=r("readline-sync.exit"),D=r("readline-sync.done"),b=De("crypto"),C,T,L;C=b.createHash(_gt),C.update(""+process.pid+Hgt+++Math.random()),L=C.digest("hex"),T=b.createDecipher(KH,L),o=Ume(t),$g?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+Nh+"%Q%"+o.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+w+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+KH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+D+"%Q%"]):(a="/bin/sh",n=["-c",'("'+Nh+'"'+o.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+w+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+KH+'" "'+L+'" >"'+h+'"; echo 1 >"'+D+'"']),G2&&G2("_execFileSync",o);try{zH.spawn(a,n,e)}catch(U){u.error=new Error(U.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Xn.readFileSync(D,{encoding:t.encoding}).trim()!=="1";);return(A=Xn.readFileSync(w,{encoding:t.encoding}).trim())==="0"?u.input=T.update(Xn.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+T.final(t.encoding):(p=Xn.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(Ome+(p?` -`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Xn.unlinkSync(h),Xn.unlinkSync(E),Xn.unlinkSync(w),Xn.unlinkSync(D),u}function jgt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(Nh||($g?process.env.PSModulePath?(Nh="powershell.exe",XQ=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(Nh="cscript.exe",XQ=["//nologo",__dirname+"\\read.cs.js"]):(Nh="/bin/sh",XQ=[__dirname+"/read.sh"])),$g&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),zH.execFileSync){e=Ume(t),G2&&G2("execFileSync",e);try{r.input=zH.execFileSync(Nh,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(Ome+(o?` -`+o:"")),r.error.method="execFileSync",r.error.program=Nh,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=qgt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function ZH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=jgt(t);if(n.error)throw n.error;return n.input}return XH&&XH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Vf=="string")if(Vf=null,$g){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),w=0;return(E[0]=+E[0])&&(w+=E[0]*1e4),(E[1]=+E[1])&&(w+=E[1]*100),(E[2]=+E[2])&&(w+=E[2]),w}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Vf=process.stdin.fd,rC=process.stdin._handle;else try{Vf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),rC=new Nme(Vf,!0)}catch{}if(process.stdout.isTTY)iu=process.stdout.fd;else{try{iu=Xn.openSync("\\\\.\\CON","w")}catch{}if(typeof iu!="number")try{iu=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Vf=Xn.openSync("/dev/tty","r"),rC=process.stdin._handle}catch{}}else try{Vf=Xn.openSync("/dev/tty","r"),rC=new Nme(Vf,!1)}catch{}if(process.stdout.isTTY)iu=process.stdout.fd;else try{iu=Xn.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,w,D;ZQ="";function b(C){return C===Lme?!0:rC.setRawMode(C)!==0?!1:(Lme=C,!0)}if(Mme||!rC||typeof iu!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Xn.writeSync(iu,t.display),t.display=""),!t.displayOnly){if(!b(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Xn.readSync(Vf,p,0,h)}catch(C){if(C.code!=="EOF"){b(!1),e+=a();return}}if(E>0?(w=p.toString(t.encoding,0,E),ZQ+=w):(w=` -`,ZQ+="\0"),w&&typeof(D=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=D,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&u&&(w=w.replace(u,"")),w&&(A||(t.hideEchoBack?t.mask&&Xn.writeSync(iu,new Array(w.length+1).join(t.mask)):Xn.writeSync(iu,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Xn.writeSync(iu,` -`),b(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` -`),t.encoding),t.displayOnly?"":t6=t.keepWhitespace||t.keyIn?e:e.trim()}function Ggt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function r6(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function bs(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(JH),t.unshift(JH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=Ggt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function $H(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function n6(t,e){var r=Lh.normalize($g?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=Lh.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+r6(r)+"(?=\\/|\\\\|$)",$g?"i":""),"~")}function nC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,w){var D;return A||typeof(D=e(E))!="string"?p:D?(h||"")+D+(w||""):""}return t.replace(o,n).replace(a,n)}function _me(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,w){return w.length>3?(E.push(w[0]+"..."+w[w.length-1]),p=!0):w.length&&(E=E.concat(w)),E}return o=t.reduce(function(E,w){return E.concat((w+"").split(""))},[]).reduce(function(E,w){var D,b;return e||(w=w.toLowerCase()),D=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&D===0?A+=w:(b=w.charCodeAt(0),D&&D===n&&b===u+1?a.push(w):(E=h(E,a),a=[w],n=D),u=b),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Hme(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function qme(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=_me(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Hme(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=t6;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=Lh.basename(r):t==="cwdHome"&&(r=n6(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Zg[Zg.length-n]||"")}return r}function jme(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o -And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(b){return b==="charlist"?r.text:b==="length"?o+"..."+a:null}}),u,A,p,h,E,w,D;for(e=e||{},u=nC(e.charlist?e.charlist+"":"$",jme),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+r6(u)+"]{"+o+","+a+"}$"),r=_me([u],n.caseSensitive,!0),r.text=Hme(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!D;)n.limit=h,n.limitMessage=E,w=Vr.question(t,n),n.limit=[w,""],n.limitMessage=p,D=Vr.question(A,n);return w};function Yme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return Vr.question(t,bs({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}Vr.questionInt=function(t,e){return Yme(t,e,function(r){return parseInt(r,10)})};Vr.questionFloat=function(t,e){return Yme(t,e,parseFloat)};Vr.questionPath=function(t,e){var r,o="",a=bs({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=n6(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(w,D){var b=Lh.resolve(w+=D+Lh.sep);if(!Xn.existsSync(b))Xn.mkdirSync(b);else if(!Xn.statSync(b).isDirectory())throw new Error("Non directory already exists: "+b);return w},"")}try{if(u=Xn.existsSync(n),r=u?Xn.realpathSync(n):Lh.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(Lh.dirname(r)),Xn.closeSync(Xn.openSync(r,"w"))),r=Xn.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Xn.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),Vr.question(t,a),r};function Kme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=e6(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=e6(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}Vr.promptCL=function(t,e){var r=bs({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Kme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,Vr.prompt(r),o.args};Vr.promptLoop=function(t,e){for(var r=bs({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(Vr.prompt(r)););};Vr.promptCLLoop=function(t,e){var r=bs({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Kme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;Vr.prompt(r),!o.hRes;);};Vr.promptSimShell=function(t){return Vr.prompt(bs({hideEchoBack:!1,history:!0},t,{prompt:function(){return $g?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function Vme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=Vr.keyIn(t,bs(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}Vr.keyInYN=function(t,e){return Vme(t,e)};Vr.keyInYNStrict=function(t,e){return Vme(t,e,"yn")};Vr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),Vr.keyIn(t,bs({limit:null},e,{hideEchoBack:!0,mask:""}))};Vr.keyInSelect=function(t,e,r){var o=bs({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` -`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+` -`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` -`),o.limit=a,A+=` -`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$]: "),A+=e),n[Vr.keyIn(A,o).toLowerCase()]};Vr.getRawInput=function(){return ZQ};function W2(t,e){var r;return e.length&&(r={},r[t]=e[0]),Vr.setDefaultOptions(r)[t]}Vr.setPrint=function(){return W2("print",arguments)};Vr.setPrompt=function(){return W2("prompt",arguments)};Vr.setEncoding=function(){return W2("encoding",arguments)};Vr.setMask=function(){return W2("mask",arguments)};Vr.setBufferSize=function(){return W2("bufferSize",arguments)}});var i6=_((j9t,El)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(I,S,y){var R=tau_file_system.files[I];if(!R){if(y==="read")return null;R={path:I,text:"",type:S,get:function(J,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+J)},put:function(J,X){return X==="end_of_file"?(this.text+=J,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+J+this.text.substring(X+J.length),!0)},get_byte:function(J){if(J==="end_of_stream")return-1;var X=Math.floor(J/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(J/2)],0);return J%2===0?$&255:$/256>>>0},put_byte:function(J,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var se=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(se=se/256>>>0,se=(se&255)<<8|J&255):(se=se&255,se=(J&255)<<8|se&255),this.text.length===$?this.text+=u(se):this.text=this.text.substring(0,$)+u(se)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var J=tau_file_system.files[this.path];return J?!0:null}},tau_file_system.files[I]=R}return y==="write"&&(R.text=""),R}},tau_user_input={buffer:"",get:function(I,S){for(var y;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(I,S){return I.get_flag("char_conversion").id==="on"?S.replace(/./g,function(y){return I.get_char_conversion(y)}):S}function U(I){this.thread=I,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(I){return this.tokens=I},U.prototype.new_text=function(I){this.text=I,this.tokens=[]},U.prototype.get_tokens=function(I){var S,y=0,R=0,J=0,X=[],$=!1;if(I){var se=this.tokens[I-1];y=se.len,S=L(this.thread,this.text.substr(se.len)),R=se.line,J=se.start}else S=this.text;if(/^\s*$/.test(S))return null;for(;S!=="";){var be=[],Fe=!1;if(/^\n/.exec(S)!==null){R++,J=0,y++,S=S.replace(/\n/,""),$=!0;continue}for(var lt in T)if(T.hasOwnProperty(lt)){var Et=T[lt].exec(S);Et&&be.push({value:Et[0],name:lt,matches:Et})}if(!be.length)return this.set_last_tokens([{value:S,matches:[],name:"lexical",line:R,start:J}]);var se=r(be,function(Pr,yr){return Pr.value.length>=yr.value.length?Pr:yr});switch(se.start=J,se.line=R,S=S.replace(se.value,""),J+=se.value.length,y+=se.value.length,se.name){case"atom":se.raw=se.value,se.value.charAt(0)==="'"&&(se.value=D(se.value.substr(1,se.value.length-2),"'"),se.value===null&&(se.name="lexical",se.value="unknown escape sequence"));break;case"number":se.float=se.value.substring(0,2)!=="0x"&&se.value.match(/[.eE]/)!==null&&se.value!=="0'.",se.value=C(se.value),se.blank=Fe;break;case"string":var qt=se.value.charAt(0);se.value=D(se.value.substr(1,se.value.length-2),qt),se.value===null&&(se.name="lexical",se.value="unknown escape sequence");break;case"whitespace":var nr=X[X.length-1];nr&&(nr.space=!0),Fe=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(se=X.pop(),se.name="atom",se.value="{}",se.raw="{}",se.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(se=X.pop(),se.name="atom",se.value="[]",se.raw="[]",se.space=!1);break}se.len=y,X.push(se),Fe=!1}var St=this.set_last_tokens(X);return St.length===0?null:St};function z(I,S,y,R,J){if(!S[y])return{type:A,value:x.error.syntax(S[y-1],"expression expected",!0)};var X;if(R==="0"){var $=S[y];switch($.name){case"number":return{type:p,len:y+1,value:new x.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var($.value)};case"string":var se;switch(I.get_flag("double_quotes").id){case"atom":se=new q($.value,[]);break;case"codes":se=new q("[]",[]);for(var be=$.value.length-1;be>=0;be--)se=new q(".",[new x.type.Num(n($.value,be),!1),se]);break;case"chars":se=new q("[]",[]);for(var be=$.value.length-1;be>=0;be--)se=new q(".",[new x.type.Term($.value.charAt(be),[]),se]);break}return{type:p,len:y+1,value:se};case"l_paren":var St=z(I,S,y+1,I.__get_max_priority(),!0);return St.type!==p?St:S[St.len]&&S[St.len].name==="r_paren"?(St.len++,St):{type:A,derived:!0,value:x.error.syntax(S[St.len]?S[St.len]:S[St.len-1],") or operator expected",!S[St.len])};case"l_bracket":var St=z(I,S,y+1,I.__get_max_priority(),!0);return St.type!==p?St:S[St.len]&&S[St.len].name==="r_bracket"?(St.len++,St.value=new q("{}",[St.value]),St):{type:A,derived:!0,value:x.error.syntax(S[St.len]?S[St.len]:S[St.len-1],"} or operator expected",!S[St.len])}}var Fe=te(I,S,y,J);return Fe.type===p||Fe.derived||(Fe=le(I,S,y),Fe.type===p||Fe.derived)?Fe:{type:A,derived:!1,value:x.error.syntax(S[y],"unexpected token")}}var lt=I.__get_max_priority(),Et=I.__get_next_priority(R),qt=y;if(S[y].name==="atom"&&S[y+1]&&(S[y].space||S[y+1].name!=="l_paren")){var $=S[y++],nr=I.__lookup_operator_classes(R,$.value);if(nr&&nr.indexOf("fy")>-1){var St=z(I,S,y,R,J);if(St.type!==A)return $.value==="-"&&!$.space&&x.type.is_number(St.value)?{value:new x.type.Num(-St.value.value,St.value.is_float),len:St.len,type:p}:{value:new x.type.Term($.value,[St.value]),len:St.len,type:p};X=St}else if(nr&&nr.indexOf("fx")>-1){var St=z(I,S,y,Et,J);if(St.type!==A)return{value:new x.type.Term($.value,[St.value]),len:St.len,type:p};X=St}}y=qt;var St=z(I,S,y,Et,J);if(St.type===p){y=St.len;var $=S[y];if(S[y]&&(S[y].name==="atom"&&I.__lookup_operator_classes(R,$.value)||S[y].name==="bar"&&I.__lookup_operator_classes(R,"|"))){var cn=Et,Pr=R,nr=I.__lookup_operator_classes(R,$.value);if(nr.indexOf("xf")>-1)return{value:new x.type.Term($.value,[St.value]),len:++St.len,type:p};if(nr.indexOf("xfx")>-1){var yr=z(I,S,y+1,cn,J);return yr.type===p?{value:new x.type.Term($.value,[St.value,yr.value]),len:yr.len,type:p}:(yr.derived=!0,yr)}else if(nr.indexOf("xfy")>-1){var yr=z(I,S,y+1,Pr,J);return yr.type===p?{value:new x.type.Term($.value,[St.value,yr.value]),len:yr.len,type:p}:(yr.derived=!0,yr)}else if(St.type!==A)for(;;){y=St.len;var $=S[y];if($&&$.name==="atom"&&I.__lookup_operator_classes(R,$.value)){var nr=I.__lookup_operator_classes(R,$.value);if(nr.indexOf("yf")>-1)St={value:new x.type.Term($.value,[St.value]),len:++y,type:p};else if(nr.indexOf("yfx")>-1){var yr=z(I,S,++y,cn,J);if(yr.type===A)return yr.derived=!0,yr;y=yr.len,St={value:new x.type.Term($.value,[St.value,yr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:x.error.syntax(S[St.len-1],"operator expected")};return St}return St}function te(I,S,y,R){if(!S[y]||S[y].name==="atom"&&S[y].raw==="."&&!R&&(S[y].space||!S[y+1]||S[y+1].name!=="l_paren"))return{type:A,derived:!1,value:x.error.syntax(S[y-1],"unfounded token")};var J=S[y],X=[];if(S[y].name==="atom"&&S[y].raw!==","){if(y++,S[y-1].space)return{type:p,len:y,value:new x.type.Term(J.value,X)};if(S[y]&&S[y].name==="l_paren"){if(S[y+1]&&S[y+1].name==="r_paren")return{type:A,derived:!0,value:x.error.syntax(S[y+1],"argument expected")};var $=z(I,S,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(S[y]?S[y]:S[y-1],"argument expected",!S[y])};for(X.push($.value),y=$.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if($=z(I,S,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X.push($.value),y=$.len}if(S[y]&&S[y].name==="r_paren")y++;else return{type:A,derived:!0,value:x.error.syntax(S[y]?S[y]:S[y-1],", or ) expected",!S[y])}}return{type:p,len:y,value:new x.type.Term(J.value,X)}}return{type:A,derived:!1,value:x.error.syntax(S[y],"term expected")}}function le(I,S,y){if(!S[y])return{type:A,derived:!1,value:x.error.syntax(S[y-1],"[ expected")};if(S[y]&&S[y].name==="l_brace"){var R=z(I,S,++y,"999",!0),J=[R.value],X=void 0;if(R.type===A)return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:A,derived:!0,value:x.error.syntax(S[y],"] expected")};for(y=R.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if(R=z(I,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:x.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};J.push(R.value),y=R.len}var $=!1;if(S[y]&&S[y].name==="bar"){if($=!0,R=z(I,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:x.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X=R.value,y=R.len}return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:g(J,X)}:{type:A,derived:!0,value:x.error.syntax(S[y]?S[y]:S[y-1],$?"] expected":", or | or ] expected",!S[y])}}return{type:A,derived:!1,value:x.error.syntax(S[y],"list expected")}}function de(I,S,y){var R=S[y].line,J=z(I,S,y,I.__get_max_priority(),!1),X=null,$;if(J.type!==A)if(y=J.len,S[y]&&S[y].name==="atom"&&S[y].raw===".")if(y++,x.type.is_term(J.value)){if(J.value.indicator===":-/2"?(X=new x.type.Rule(J.value.args[0],Ie(J.value.args[1])),$={value:X,len:y,type:p}):J.value.indicator==="-->/2"?(X=pe(new x.type.Rule(J.value.args[0],J.value.args[1]),I),X.body=Ie(X.body),$={value:X,len:y,type:x.type.is_rule(X)?p:A}):(X=new x.type.Rule(J.value,null),$={value:X,len:y,type:p}),X){var se=X.singleton_variables();se.length>0&&I.throw_warning(x.warning.singleton(se,X.head.indicator,R))}return $}else return{type:A,value:x.error.syntax(S[y],"callable expected")};else return{type:A,value:x.error.syntax(S[y]?S[y]:S[y-1],". or operator expected")};return J}function ce(I,S,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var R=new U(I),J={},X;R.new_text(S);var $=0,se=R.get_tokens($);do{if(se===null||!se[$])break;var be=de(I,se,$);if(be.type===A)return new q("throw",[be.value]);if(be.value.body===null&&be.value.head.indicator==="?-/1"){var Fe=new it(I.session);Fe.add_goal(be.value.head.args[0]),Fe.answer(function(Et){x.type.is_error(Et)?I.throw_warning(Et.args[0]):(Et===!1||Et===null)&&I.throw_warning(x.warning.failed_goal(be.value.head.args[0],be.len))}),$=be.len;var lt=!0}else if(be.value.body===null&&be.value.head.indicator===":-/1"){var lt=I.run_directive(be.value.head.args[0]);$=be.len,be.value.head.args[0].indicator==="char_conversion/2"&&(se=R.get_tokens($),$=0)}else{X=be.value.head.indicator,y.reconsult!==!1&&J[X]!==!0&&!I.is_multifile_predicate(X)&&(I.session.rules[X]=a(I.session.rules[X]||[],function(qt){return qt.dynamic}),J[X]=!0);var lt=I.add_rule(be.value,y);$=be.len}if(!lt)return lt}while(!0);return!0}function me(I,S){var y=new U(I);y.new_text(S);var R=0;do{var J=y.get_tokens(R);if(J===null)break;var X=z(I,J,0,I.__get_max_priority(),!1);if(X.type!==A){var $=X.len,se=$;if(J[$]&&J[$].name==="atom"&&J[$].raw===".")I.add_goal(Ie(X.value));else{var be=J[$];return new q("throw",[x.error.syntax(be||J[$-1],". or operator expected",!be)])}R=X.len+1}else return new q("throw",[X.value])}while(!0);return!0}function pe(I,S){I=I.rename(S);var y=S.next_free_variable(),R=ve(I.body,y,S);return R.error?R.value:(I.body=R.value,I.head.args=I.head.args.concat([y,R.variable]),I.head=new q(I.head.id,I.head.args),I)}function ve(I,S,y){var R;if(x.type.is_term(I)&&I.indicator==="!/0")return{value:I,variable:S,error:!1};if(x.type.is_term(I)&&I.indicator===",/2"){var J=ve(I.args[0],S,y);if(J.error)return J;var X=ve(I.args[1],J.variable,y);return X.error?X:{value:new q(",",[J.value,X.value]),variable:X.variable,error:!1}}else{if(x.type.is_term(I)&&I.indicator==="{}/1")return{value:I.args[0],variable:S,error:!1};if(x.type.is_empty_list(I))return{value:new q("true",[]),variable:S,error:!1};if(x.type.is_list(I)){R=y.next_free_variable();for(var $=I,se;$.indicator==="./2";)se=$,$=$.args[1];return x.type.is_variable($)?{value:x.error.instantiation("DCG"),variable:S,error:!0}:x.type.is_empty_list($)?(se.args[1]=R,{value:new q("=",[S,I]),variable:R,error:!1}):{value:x.error.type("list",I,"DCG"),variable:S,error:!0}}else return x.type.is_callable(I)?(R=y.next_free_variable(),I.args=I.args.concat([S,R]),I=new q(I.id,I.args),{value:I,variable:R,error:!1}):{value:x.error.type("callable",I,"DCG"),variable:S,error:!0}}}function Ie(I){return x.type.is_variable(I)?new q("call",[I]):x.type.is_term(I)&&[",/2",";/2","->/2"].indexOf(I.indicator)!==-1?new q(I.id,[Ie(I.args[0]),Ie(I.args[1])]):I}function g(I,S){for(var y=S||new x.type.Term("[]",[]),R=I.length-1;R>=0;R--)y=new x.type.Term(".",[I[R],y]);return y}function Ce(I,S){for(var y=I.length-1;y>=0;y--)I[y]===S&&I.splice(y,1)}function ye(I){for(var S={},y=[],R=0;R=0;S--)if(I.charAt(S)==="/")return new q("/",[new q(I.substring(0,S)),new Re(parseInt(I.substring(S+1)),!1)])}function Pe(I){this.id=I}function Re(I,S){this.is_float=S!==void 0?S:parseInt(I)!==I,this.value=this.is_float?I:parseInt(I)}var gt=0;function q(I,S,y){this.ref=y||++gt,this.id=I,this.args=S||[],this.indicator=I+"/"+this.args.length}var rt=0;function Te(I,S,y,R,J,X){this.id=rt++,this.stream=I,this.mode=S,this.alias=y,this.type=R!==void 0?R:"text",this.reposition=J!==void 0?J:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Ne(I){I=I||{},this.links=I}function xe(I,S,y){S=S||new Ne,y=y||null,this.goal=I,this.substitution=S,this.parent=y}function Ye(I,S,y){this.head=I,this.body=S,this.dynamic=y||!1}function Qe(I){I=I===void 0||I<=0?1e3:I,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new it(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=I,this.streams={user_input:new Te(typeof El<"u"&&El.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Te(typeof El<"u"&&El.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof El<"u"&&El.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(S){return S.substitution},this.format_error=function(S){return S.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function it(I){this.epoch=Date.now(),this.session=I,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Ue(I,S,y){this.id=I,this.rules=S,this.exports=y,x.module[I]=this}Ue.prototype.exports_predicate=function(I){return this.exports.indexOf(I)!==-1},Pe.prototype.unify=function(I,S){if(S&&e(I.variables(),this.id)!==-1&&!x.type.is_variable(I))return null;var y={};return y[this.id]=I,new Ne(y)},Re.prototype.unify=function(I,S){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float?new Ne:null},q.prototype.unify=function(I,S){if(x.type.is_term(I)&&this.indicator===I.indicator){for(var y=new Ne,R=0;R=0){var R=this.args[0].value,J=Math.floor(R/26),X=R%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(J!==0?J:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(I)+"}";case"./2":for(var $="["+this.args[0].toString(I),se=this.args[1];se.indicator==="./2";)$+=", "+se.args[0].toString(I),se=se.args[1];return se.indicator!=="[]/0"&&($+="|"+se.toString(I)),$+="]",$;case",/2":return"("+this.args[0].toString(I)+", "+this.args[1].toString(I)+")";default:var be=this.id,Fe=I.session?I.session.lookup_operator(this.id,this.args.length):null;if(I.session===void 0||I.ignore_ops||Fe===null)return I.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(be)&&be!=="{}"&&be!=="[]"&&(be="'"+b(be)+"'"),be+(this.args.length?"("+o(this.args,function(nr){return nr.toString(I)}).join(", ")+")":"");var lt=Fe.priority>S.priority||Fe.priority===S.priority&&(Fe.class==="xfy"&&this.indicator!==S.indicator||Fe.class==="yfx"&&this.indicator!==S.indicator||this.indicator===S.indicator&&Fe.class==="yfx"&&y==="right"||this.indicator===S.indicator&&Fe.class==="xfy"&&y==="left");Fe.indicator=this.indicator;var Et=lt?"(":"",qt=lt?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Fe.class)!==-1?Et+be+" "+this.args[0].toString(I,Fe)+qt:["yf","xf"].indexOf(Fe.class)!==-1?Et+this.args[0].toString(I,Fe)+" "+be+qt:Et+this.args[0].toString(I,Fe,"left")+" "+this.id+" "+this.args[1].toString(I,Fe,"right")+qt}},Te.prototype.toString=function(I){return"("+this.id+")"},Ne.prototype.toString=function(I){var S="{";for(var y in this.links)this.links.hasOwnProperty(y)&&(S!=="{"&&(S+=", "),S+=y+"/"+this.links[y].toString(I));return S+="}",S},xe.prototype.toString=function(I){return this.goal===null?"<"+this.substitution.toString(I)+">":"<"+this.goal.toString(I)+", "+this.substitution.toString(I)+">"},Ye.prototype.toString=function(I){return this.body?this.head.toString(I)+" :- "+this.body.toString(I)+".":this.head.toString(I)+"."},Qe.prototype.toString=function(I){for(var S="",y=0;y=0;J--)R=new q(".",[S[J],R]);return R}return new q(this.id,o(this.args,function(X){return X.apply(I)}),this.ref)},Te.prototype.apply=function(I){return this},Ye.prototype.apply=function(I){return new Ye(this.head.apply(I),this.body!==null?this.body.apply(I):null)},Ne.prototype.apply=function(I){var S,y={};for(S in this.links)this.links.hasOwnProperty(S)&&(y[S]=this.links[S].apply(I));return new Ne(y)},q.prototype.select=function(){for(var I=this;I.indicator===",/2";)I=I.args[0];return I},q.prototype.replace=function(I){return this.indicator===",/2"?this.args[0].indicator===",/2"?new q(",",[this.args[0].replace(I),this.args[1]]):I===null?this.args[1]:new q(",",[I,this.args[1]]):I},q.prototype.search=function(I){if(x.type.is_term(I)&&I.ref!==void 0&&this.ref===I.ref)return!0;for(var S=0;SS&&R0&&(S=this.head_point().substitution.domain());e(S,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(I.id==="_")return new Pe(x.format_variable(this.session.rename));this.session.renamed_variables[I.id]=x.format_variable(this.session.rename)}return new Pe(this.session.renamed_variables[I.id])},Qe.prototype.next_free_variable=function(){return this.thread.next_free_variable()},it.prototype.next_free_variable=function(){this.session.rename++;var I=[];for(this.points.length>0&&(I=this.head_point().substitution.domain());e(I,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new Pe(x.format_variable(this.session.rename))},Qe.prototype.is_public_predicate=function(I){return!this.public_predicates.hasOwnProperty(I)||this.public_predicates[I]===!0},it.prototype.is_public_predicate=function(I){return this.session.is_public_predicate(I)},Qe.prototype.is_multifile_predicate=function(I){return this.multifile_predicates.hasOwnProperty(I)&&this.multifile_predicates[I]===!0},it.prototype.is_multifile_predicate=function(I){return this.session.is_multifile_predicate(I)},Qe.prototype.prepend=function(I){return this.thread.prepend(I)},it.prototype.prepend=function(I){for(var S=I.length-1;S>=0;S--)this.points.push(I[S])},Qe.prototype.success=function(I,S){return this.thread.success(I,S)},it.prototype.success=function(I,y){var y=typeof y>"u"?I:y;this.prepend([new xe(I.goal.replace(null),I.substitution,y)])},Qe.prototype.throw_error=function(I){return this.thread.throw_error(I)},it.prototype.throw_error=function(I){this.prepend([new xe(new q("throw",[I]),new Ne,null,null)])},Qe.prototype.step_rule=function(I,S){return this.thread.step_rule(I,S)},it.prototype.step_rule=function(I,S){var y=S.indicator;if(I==="user"&&(I=null),I===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var R=I===null?this.session.modules:e(this.session.modules,I)===-1?[]:[I],J=0;J1)&&this.again()},Qe.prototype.answers=function(I,S,y){return this.thread.answers(I,S,y)},it.prototype.answers=function(I,S,y){var R=S||1e3,J=this;if(S<=0){y&&y();return}this.answer(function(X){I(X),X!==!1?setTimeout(function(){J.answers(I,S-1,y)},1):y&&y()})},Qe.prototype.again=function(I){return this.thread.again(I)},it.prototype.again=function(I){for(var S,y=Date.now();this.__calls.length>0;){for(this.warnings=[],I!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var R=Date.now();this.cpu_time_last=R-y,this.cpu_time+=this.cpu_time_last;var J=this.__calls.shift();this.current_limit<=0?J(null):this.points.length===0?J(!1):x.type.is_error(this.head_point().goal)?(S=this.session.format_error(this.points.pop()),this.points=[],J(S)):(this.debugger&&this.debugger_states.push(this.head_point()),S=this.session.format_success(this.points.pop()),J(S))}},Qe.prototype.unfold=function(I){if(I.body===null)return!1;var S=I.head,y=I.body,R=y.select(),J=new it(this),X=[];J.add_goal(R),J.step();for(var $=J.points.length-1;$>=0;$--){var se=J.points[$],be=S.apply(se.substitution),Fe=y.replace(se.goal);Fe!==null&&(Fe=Fe.apply(se.substitution)),X.push(new Ye(be,Fe))}var lt=this.rules[S.indicator],Et=e(lt,I);return X.length>0&&Et!==-1?(lt.splice.apply(lt,[Et,1].concat(X)),!0):!1},it.prototype.unfold=function(I){return this.session.unfold(I)},Pe.prototype.interpret=function(I){return x.error.instantiation(I.level)},Re.prototype.interpret=function(I){return this},q.prototype.interpret=function(I){return x.type.is_unitary_list(this)?this.args[0].interpret(I):x.operate(I,this)},Pe.prototype.compare=function(I){return this.idI.id?1:0},Re.prototype.compare=function(I){if(this.value===I.value&&this.is_float===I.is_float)return 0;if(this.valueI.value)return 1},q.prototype.compare=function(I){if(this.args.lengthI.args.length||this.args.length===I.args.length&&this.id>I.id)return 1;for(var S=0;SR)return 1;if(I.constructor===Re){if(I.is_float&&S.is_float)return 0;if(I.is_float)return-1;if(S.is_float)return 1}return 0},is_substitution:function(I){return I instanceof Ne},is_state:function(I){return I instanceof xe},is_rule:function(I){return I instanceof Ye},is_variable:function(I){return I instanceof Pe},is_stream:function(I){return I instanceof Te},is_anonymous_var:function(I){return I instanceof Pe&&I.id==="_"},is_callable:function(I){return I instanceof q},is_number:function(I){return I instanceof Re},is_integer:function(I){return I instanceof Re&&!I.is_float},is_float:function(I){return I instanceof Re&&I.is_float},is_term:function(I){return I instanceof q},is_atom:function(I){return I instanceof q&&I.args.length===0},is_ground:function(I){if(I instanceof Pe)return!1;if(I instanceof q){for(var S=0;S0},is_list:function(I){return I instanceof q&&(I.indicator==="[]/0"||I.indicator==="./2")},is_empty_list:function(I){return I instanceof q&&I.indicator==="[]/0"},is_non_empty_list:function(I){return I instanceof q&&I.indicator==="./2"},is_fully_list:function(I){for(;I instanceof q&&I.indicator==="./2";)I=I.args[1];return I instanceof Pe||I instanceof q&&I.indicator==="[]/0"},is_instantiated_list:function(I){for(;I instanceof q&&I.indicator==="./2";)I=I.args[1];return I instanceof q&&I.indicator==="[]/0"},is_unitary_list:function(I){return I instanceof q&&I.indicator==="./2"&&I.args[1]instanceof q&&I.args[1].indicator==="[]/0"},is_character:function(I){return I instanceof q&&(I.id.length===1||I.id.length>0&&I.id.length<=2&&n(I.id,0)>=65536)},is_character_code:function(I){return I instanceof Re&&!I.is_float&&I.value>=0&&I.value<=1114111},is_byte:function(I){return I instanceof Re&&!I.is_float&&I.value>=0&&I.value<=255},is_operator:function(I){return I instanceof q&&x.arithmetic.evaluation[I.indicator]},is_directive:function(I){return I instanceof q&&x.directive[I.indicator]!==void 0},is_builtin:function(I){return I instanceof q&&x.predicate[I.indicator]!==void 0},is_error:function(I){return I instanceof q&&I.indicator==="throw/1"},is_predicate_indicator:function(I){return I instanceof q&&I.indicator==="//2"&&I.args[0]instanceof q&&I.args[0].args.length===0&&I.args[1]instanceof Re&&I.args[1].is_float===!1},is_flag:function(I){return I instanceof q&&I.args.length===0&&x.flag[I.id]!==void 0},is_value_flag:function(I,S){if(!x.type.is_flag(I))return!1;for(var y in x.flag[I.id].allowed)if(x.flag[I.id].allowed.hasOwnProperty(y)&&x.flag[I.id].allowed[y].equals(S))return!0;return!1},is_io_mode:function(I){return x.type.is_atom(I)&&["read","write","append"].indexOf(I.id)!==-1},is_stream_option:function(I){return x.type.is_term(I)&&(I.indicator==="alias/1"&&x.type.is_atom(I.args[0])||I.indicator==="reposition/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="type/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary")||I.indicator==="eof_action/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))},is_stream_position:function(I){return x.type.is_integer(I)&&I.value>=0||x.type.is_atom(I)&&(I.id==="end_of_stream"||I.id==="past_end_of_stream")},is_stream_property:function(I){return x.type.is_term(I)&&(I.indicator==="input/0"||I.indicator==="output/0"||I.indicator==="alias/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="file_name/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="position/1"&&(x.type.is_variable(I.args[0])||x.type.is_stream_position(I.args[0]))||I.indicator==="reposition/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))||I.indicator==="type/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary"))||I.indicator==="mode/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="read"||I.args[0].id==="write"||I.args[0].id==="append"))||I.indicator==="eof_action/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))||I.indicator==="end_of_stream/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="at"||I.args[0].id==="past"||I.args[0].id==="not")))},is_streamable:function(I){return I.__proto__.stream!==void 0},is_read_option:function(I){return x.type.is_term(I)&&["variables/1","variable_names/1","singletons/1"].indexOf(I.indicator)!==-1},is_write_option:function(I){return x.type.is_term(I)&&(I.indicator==="quoted/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="ignore_ops/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="numbervars/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))},is_close_option:function(I){return x.type.is_term(I)&&I.indicator==="force/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")},is_modifiable_flag:function(I){return x.type.is_flag(I)&&x.flag[I.id].changeable},is_module:function(I){return I instanceof q&&I.indicator==="library/1"&&I.args[0]instanceof q&&I.args[0].args.length===0&&x.module[I.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(I){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(I){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(I){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(I){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(I,S){return I}},"-/1":{type_args:null,type_result:null,fn:function(I,S){return-I}},"\\/1":{type_args:!1,type_result:!1,fn:function(I,S){return~I}},"abs/1":{type_args:null,type_result:null,fn:function(I,S){return Math.abs(I)}},"sign/1":{type_args:null,type_result:null,fn:function(I,S){return Math.sign(I)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(I,S){return parseInt(I)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(I,S){return I-parseInt(I)}},"float/1":{type_args:null,type_result:!0,fn:function(I,S){return parseFloat(I)}},"floor/1":{type_args:!0,type_result:!1,fn:function(I,S){return Math.floor(I)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(I,S){return parseInt(I)}},"round/1":{type_args:!0,type_result:!1,fn:function(I,S){return Math.round(I)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(I,S){return Math.ceil(I)}},"sin/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.sin(I)}},"cos/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.cos(I)}},"tan/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.tan(I)}},"asin/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.asin(I)}},"acos/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.acos(I)}},"atan/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.atan(I)}},"atan2/2":{type_args:null,type_result:!0,fn:function(I,S,y){return Math.atan2(I,S)}},"exp/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.exp(I)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(I,S){return Math.sqrt(I)}},"log/1":{type_args:null,type_result:!0,fn:function(I,S){return I>0?Math.log(I):x.error.evaluation("undefined",S.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(I,S,y){return I+S}},"-/2":{type_args:null,type_result:null,fn:function(I,S,y){return I-S}},"*/2":{type_args:null,type_result:null,fn:function(I,S,y){return I*S}},"//2":{type_args:null,type_result:!0,fn:function(I,S,y){return S?I/S:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(I,S,y){return S?parseInt(I/S):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(I,S,y){return Math.pow(I,S)}},"^/2":{type_args:null,type_result:null,fn:function(I,S,y){return Math.pow(I,S)}},"<>/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I>>S}},"/\\/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I&S}},"\\//2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I|S}},"xor/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return I^S}},"rem/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return S?I%S:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(I,S,y){return S?I-parseInt(I/S)*S:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(I,S,y){return Math.max(I,S)}},"min/2":{type_args:null,type_result:null,fn:function(I,S,y){return Math.min(I,S)}}}},directive:{"dynamic/1":function(I,S){var y=S.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(S.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y,S.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(S.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],S.indicator));else if(!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],S.indicator));else{var R=S.args[0].args[0].id+"/"+S.args[0].args[1].value;I.session.public_predicates[R]=!0,I.session.rules[R]||(I.session.rules[R]=[])}},"multifile/1":function(I,S){var y=S.args[0];x.type.is_variable(y)?I.throw_error(x.error.instantiation(S.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?I.throw_error(x.error.type("predicate_indicator",y,S.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?I.throw_error(x.error.instantiation(S.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?I.session.multifile_predicates[S.args[0].args[0].id+"/"+S.args[0].args[1].value]=!0:I.throw_error(x.error.type("integer",y.args[1],S.indicator)):I.throw_error(x.error.type("atom",y.args[0],S.indicator))},"set_prolog_flag/2":function(I,S){var y=S.args[0],R=S.args[1];x.type.is_variable(y)||x.type.is_variable(R)?I.throw_error(x.error.instantiation(S.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,R)?x.type.is_modifiable_flag(y)?I.session.flag[y.id]=R:I.throw_error(x.error.permission("modify","flag",y)):I.throw_error(x.error.domain("flag_value",new q("+",[y,R]),S.indicator)):I.throw_error(x.error.domain("prolog_flag",y,S.indicator)):I.throw_error(x.error.type("atom",y,S.indicator))},"use_module/1":function(I,S){var y=S.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(S.indicator));else if(!x.type.is_term(y))I.throw_error(x.error.type("term",y,S.indicator));else if(x.type.is_module(y)){var R=y.args[0].id;e(I.session.modules,R)===-1&&I.session.modules.push(R)}},"char_conversion/2":function(I,S){var y=S.args[0],R=S.args[1];x.type.is_variable(y)||x.type.is_variable(R)?I.throw_error(x.error.instantiation(S.indicator)):x.type.is_character(y)?x.type.is_character(R)?y.id===R.id?delete I.session.__char_conversion[y.id]:I.session.__char_conversion[y.id]=R.id:I.throw_error(x.error.type("character",R,S.indicator)):I.throw_error(x.error.type("character",y,S.indicator))},"op/3":function(I,S){var y=S.args[0],R=S.args[1],J=S.args[2];if(x.type.is_variable(y)||x.type.is_variable(R)||x.type.is_variable(J))I.throw_error(x.error.instantiation(S.indicator));else if(!x.type.is_integer(y))I.throw_error(x.error.type("integer",y,S.indicator));else if(!x.type.is_atom(R))I.throw_error(x.error.type("atom",R,S.indicator));else if(!x.type.is_atom(J))I.throw_error(x.error.type("atom",J,S.indicator));else if(y.value<0||y.value>1200)I.throw_error(x.error.domain("operator_priority",y,S.indicator));else if(J.id===",")I.throw_error(x.error.permission("modify","operator",J,S.indicator));else if(J.id==="|"&&(y.value<1001||R.id.length!==3))I.throw_error(x.error.permission("modify","operator",J,S.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(R.id)===-1)I.throw_error(x.error.domain("operator_specifier",R,S.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in I.session.__operators)if(I.session.__operators.hasOwnProperty($)){var se=I.session.__operators[$][J.id];se&&(e(se,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(se,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(se,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(se,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(se,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(se,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(se,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var be;switch(R.id){case"fy":case"fx":be="prefix";break;case"yf":case"xf":be="postfix";break;default:be="infix";break}if(((X.prefix&&be==="prefix"||X.postfix&&be==="postfix"||X.infix&&be==="infix")&&X[be].type!==R.id||X.infix&&be==="postfix"||X.postfix&&be==="infix")&&y.value!==0)I.throw_error(x.error.permission("create","operator",J,S.indicator));else return X[be]&&(Ce(I.session.__operators[X[be].priority][J.id],R.id),I.session.__operators[X[be].priority][J.id].length===0&&delete I.session.__operators[X[be].priority][J.id]),y.value>0&&(I.session.__operators[y.value]||(I.session.__operators[y.value.toString()]={}),I.session.__operators[y.value][J.id]||(I.session.__operators[y.value][J.id]=[]),I.session.__operators[y.value][J.id].push(R.id)),!0}}},predicate:{"op/3":function(I,S,y){x.directive["op/3"](I,y)&&I.success(S)},"current_op/3":function(I,S,y){var R=y.args[0],J=y.args[1],X=y.args[2],$=[];for(var se in I.session.__operators)for(var be in I.session.__operators[se])for(var Fe=0;Fe/2"){var R=I.points,J=I.session.format_success,X=I.session.format_error;I.session.format_success=function(Fe){return Fe.substitution},I.session.format_error=function(Fe){return Fe.goal},I.points=[new xe(y.args[0].args[0],S.substitution,S)];var $=function(Fe){I.points=R,I.session.format_success=J,I.session.format_error=X,Fe===!1?I.prepend([new xe(S.goal.replace(y.args[1]),S.substitution,S)]):x.type.is_error(Fe)?I.throw_error(Fe.args[0]):Fe===null?(I.prepend([S]),I.__calls.shift()(null)):I.prepend([new xe(S.goal.replace(y.args[0].args[1]).apply(Fe),S.substitution.apply(Fe),S)])};I.__calls.unshift($)}else{var se=new xe(S.goal.replace(y.args[0]),S.substitution,S),be=new xe(S.goal.replace(y.args[1]),S.substitution,S);I.prepend([se,be])}},"!/0":function(I,S,y){var R,J,X=[];for(R=S,J=null;R.parent!==null&&R.parent.goal.search(y);)if(J=R,R=R.parent,R.goal!==null){var $=R.goal.select();if($&&$.id==="call"&&$.search(y)){R=J;break}}for(var se=I.points.length-1;se>=0;se--){for(var be=I.points[se],Fe=be.parent;Fe!==null&&Fe!==R.parent;)Fe=Fe.parent;Fe===null&&Fe!==R.parent&&X.push(be)}I.points=X.reverse(),I.success(S)},"\\+/1":function(I,S,y){var R=y.args[0];x.type.is_variable(R)?I.throw_error(x.error.instantiation(I.level)):x.type.is_callable(R)?I.prepend([new xe(S.goal.replace(new q(",",[new q(",",[new q("call",[R]),new q("!",[])]),new q("fail",[])])),S.substitution,S),new xe(S.goal.replace(null),S.substitution,S)]):I.throw_error(x.error.type("callable",R,I.level))},"->/2":function(I,S,y){var R=S.goal.replace(new q(",",[y.args[0],new q(",",[new q("!"),y.args[1]])]));I.prepend([new xe(R,S.substitution,S)])},"fail/0":function(I,S,y){},"false/0":function(I,S,y){},"true/0":function(I,S,y){I.success(S)},"call/1":ie(1),"call/2":ie(2),"call/3":ie(3),"call/4":ie(4),"call/5":ie(5),"call/6":ie(6),"call/7":ie(7),"call/8":ie(8),"once/1":function(I,S,y){var R=y.args[0];I.prepend([new xe(S.goal.replace(new q(",",[new q("call",[R]),new q("!",[])])),S.substitution,S)])},"forall/2":function(I,S,y){var R=y.args[0],J=y.args[1];I.prepend([new xe(S.goal.replace(new q("\\+",[new q(",",[new q("call",[R]),new q("\\+",[new q("call",[J])])])])),S.substitution,S)])},"repeat/0":function(I,S,y){I.prepend([new xe(S.goal.replace(null),S.substitution,S),S])},"throw/1":function(I,S,y){x.type.is_variable(y.args[0])?I.throw_error(x.error.instantiation(I.level)):I.throw_error(y.args[0])},"catch/3":function(I,S,y){var R=I.points;I.points=[],I.prepend([new xe(y.args[0],S.substitution,S)]);var J=I.session.format_success,X=I.session.format_error;I.session.format_success=function(se){return se.substitution},I.session.format_error=function(se){return se.goal};var $=function(se){var be=I.points;if(I.points=R,I.session.format_success=J,I.session.format_error=X,x.type.is_error(se)){for(var Fe=[],lt=I.points.length-1;lt>=0;lt--){for(var nr=I.points[lt],Et=nr.parent;Et!==null&&Et!==S.parent;)Et=Et.parent;Et===null&&Et!==S.parent&&Fe.push(nr)}I.points=Fe;var qt=I.get_flag("occurs_check").indicator==="true/0",nr=new xe,St=x.unify(se.args[0],y.args[1],qt);St!==null?(nr.substitution=S.substitution.apply(St),nr.goal=S.goal.replace(y.args[2]).apply(St),nr.parent=S,I.prepend([nr])):I.throw_error(se.args[0])}else if(se!==!1){for(var cn=se===null?[]:[new xe(S.goal.apply(se).replace(null),S.substitution.apply(se),S)],Pr=[],lt=be.length-1;lt>=0;lt--){Pr.push(be[lt]);var yr=be[lt].goal!==null?be[lt].goal.select():null;if(x.type.is_term(yr)&&yr.indicator==="!/0")break}var Rr=o(Pr,function(Xr){return Xr.goal===null&&(Xr.goal=new q("true",[])),Xr=new xe(S.goal.replace(new q("catch",[Xr.goal,y.args[1],y.args[2]])),S.substitution.apply(Xr.substitution),Xr.parent),Xr.exclude=y.args[0].variables(),Xr}).reverse();I.prepend(Rr),I.prepend(cn),se===null&&(this.current_limit=0,I.__calls.shift()(null))}};I.__calls.unshift($)},"=/2":function(I,S,y){var R=I.get_flag("occurs_check").indicator==="true/0",J=new xe,X=x.unify(y.args[0],y.args[1],R);X!==null&&(J.goal=S.goal.apply(X).replace(null),J.substitution=S.substitution.apply(X),J.parent=S,I.prepend([J]))},"unify_with_occurs_check/2":function(I,S,y){var R=new xe,J=x.unify(y.args[0],y.args[1],!0);J!==null&&(R.goal=S.goal.apply(J).replace(null),R.substitution=S.substitution.apply(J),R.parent=S,I.prepend([R]))},"\\=/2":function(I,S,y){var R=I.get_flag("occurs_check").indicator==="true/0",J=x.unify(y.args[0],y.args[1],R);J===null&&I.success(S)},"subsumes_term/2":function(I,S,y){var R=I.get_flag("occurs_check").indicator==="true/0",J=x.unify(y.args[1],y.args[0],R);J!==null&&y.args[1].apply(J).equals(y.args[1])&&I.success(S)},"findall/3":function(I,S,y){var R=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(J))I.throw_error(x.error.type("callable",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=I.next_free_variable(),se=new q(",",[J,new q("=",[$,R])]),be=I.points,Fe=I.session.limit,lt=I.session.format_success;I.session.format_success=function(nr){return nr.substitution},I.add_goal(se,!0,S);var Et=[],qt=function(nr){if(nr!==!1&&nr!==null&&!x.type.is_error(nr))I.__calls.unshift(qt),Et.push(nr.links[$.id]),I.session.limit=I.current_limit;else if(I.points=be,I.session.limit=Fe,I.session.format_success=lt,x.type.is_error(nr))I.throw_error(nr.args[0]);else if(I.current_limit>0){for(var St=new q("[]"),cn=Et.length-1;cn>=0;cn--)St=new q(".",[Et[cn],St]);I.prepend([new xe(S.goal.replace(new q("=",[X,St])),S.substitution,S)])}};I.__calls.unshift(qt)}},"bagof/3":function(I,S,y){var R,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var se=I.next_free_variable(),be;X.indicator==="^/2"?(be=X.args[0].variables(),X=X.args[1]):be=[],be=be.concat(J.variables());for(var Fe=X.variables().filter(function(Rr){return e(be,Rr)===-1}),lt=new q("[]"),Et=Fe.length-1;Et>=0;Et--)lt=new q(".",[new Pe(Fe[Et]),lt]);var qt=new q(",",[X,new q("=",[se,new q(",",[lt,J])])]),nr=I.points,St=I.session.limit,cn=I.session.format_success;I.session.format_success=function(Rr){return Rr.substitution},I.add_goal(qt,!0,S);var Pr=[],yr=function(Rr){if(Rr!==!1&&Rr!==null&&!x.type.is_error(Rr)){I.__calls.unshift(yr);var Xr=!1,$n=Rr.links[se.id].args[0],Xs=Rr.links[se.id].args[1];for(var Hi in Pr)if(Pr.hasOwnProperty(Hi)){var ks=Pr[Hi];if(ks.variables.equals($n)){ks.answers.push(Xs),Xr=!0;break}}Xr||Pr.push({variables:$n,answers:[Xs]}),I.session.limit=I.current_limit}else if(I.points=nr,I.session.limit=St,I.session.format_success=cn,x.type.is_error(Rr))I.throw_error(Rr.args[0]);else if(I.current_limit>0){for(var Zs=[],bi=0;bi=0;$s--)Fs=new q(".",[Rr[$s],Fs]);Zs.push(new xe(S.goal.replace(new q(",",[new q("=",[lt,Pr[bi].variables]),new q("=",[$,Fs])])),S.substitution,S))}I.prepend(Zs)}};I.__calls.unshift(yr)}},"setof/3":function(I,S,y){var R,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var se=I.next_free_variable(),be;X.indicator==="^/2"?(be=X.args[0].variables(),X=X.args[1]):be=[],be=be.concat(J.variables());for(var Fe=X.variables().filter(function(Rr){return e(be,Rr)===-1}),lt=new q("[]"),Et=Fe.length-1;Et>=0;Et--)lt=new q(".",[new Pe(Fe[Et]),lt]);var qt=new q(",",[X,new q("=",[se,new q(",",[lt,J])])]),nr=I.points,St=I.session.limit,cn=I.session.format_success;I.session.format_success=function(Rr){return Rr.substitution},I.add_goal(qt,!0,S);var Pr=[],yr=function(Rr){if(Rr!==!1&&Rr!==null&&!x.type.is_error(Rr)){I.__calls.unshift(yr);var Xr=!1,$n=Rr.links[se.id].args[0],Xs=Rr.links[se.id].args[1];for(var Hi in Pr)if(Pr.hasOwnProperty(Hi)){var ks=Pr[Hi];if(ks.variables.equals($n)){ks.answers.push(Xs),Xr=!0;break}}Xr||Pr.push({variables:$n,answers:[Xs]}),I.session.limit=I.current_limit}else if(I.points=nr,I.session.limit=St,I.session.format_success=cn,x.type.is_error(Rr))I.throw_error(Rr.args[0]);else if(I.current_limit>0){for(var Zs=[],bi=0;bi=0;$s--)Fs=new q(".",[Rr[$s],Fs]);Zs.push(new xe(S.goal.replace(new q(",",[new q("=",[lt,Pr[bi].variables]),new q("=",[$,Fs])])),S.substitution,S))}I.prepend(Zs)}};I.__calls.unshift(yr)}},"functor/3":function(I,S,y){var R,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(J)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(X)&&!x.type.is_atomic(X))I.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(X)&&x.type.is_integer($)&&$.value!==0)I.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(J)){if(y.args[2].value>=0){for(var se=[],be=0;be<$.value;be++)se.push(I.next_free_variable());var Fe=x.type.is_integer(X)?X:new q(X.id,se);I.prepend([new xe(S.goal.replace(new q("=",[J,Fe])),S.substitution,S)])}}else{var lt=x.type.is_integer(J)?J:new q(J.id,[]),Et=x.type.is_integer(J)?new Re(0,!1):new Re(J.args.length,!1),qt=new q(",",[new q("=",[lt,X]),new q("=",[Et,$])]);I.prepend([new xe(S.goal.replace(qt),S.substitution,S)])}},"arg/3":function(I,S,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))I.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var R=y.args[0].value;if(R>0&&R<=y.args[1].args.length){var J=new q("=",[y.args[1].args[R-1],y.args[2]]);I.prepend([new xe(S.goal.replace(J),S.substitution,S)])}}},"=../2":function(I,S,y){var R;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))I.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var X=[];for(R=y.args[1].args[1];R.indicator==="./2";)X.push(R.args[0]),R=R.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(R)?I.throw_error(x.error.instantiation(y.indicator)):X.length===0&&x.type.is_compound(y.args[1].args[0])?I.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?I.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?I.prepend([new xe(S.goal.replace(new q("=",[y.args[1].args[0],y.args[0]],S)),S.substitution,S)]):I.prepend([new xe(S.goal.replace(new q("=",[new q(y.args[1].args[0].id,X),y.args[0]])),S.substitution,S)])}}else{if(x.type.is_atomic(y.args[0]))R=new q(".",[y.args[0],new q("[]")]);else{R=new q("[]");for(var J=y.args[0].args.length-1;J>=0;J--)R=new q(".",[y.args[0].args[J],R]);R=new q(".",[new q(y.args[0].id),R])}I.prepend([new xe(S.goal.replace(new q("=",[R,y.args[1]])),S.substitution,S)])}},"copy_term/2":function(I,S,y){var R=y.args[0].rename(I);I.prepend([new xe(S.goal.replace(new q("=",[R,y.args[1]])),S.substitution,S.parent)])},"term_variables/2":function(I,S,y){var R=y.args[0],J=y.args[1];if(!x.type.is_fully_list(J))I.throw_error(x.error.type("list",J,y.indicator));else{var X=g(o(ye(R.variables()),function($){return new Pe($)}));I.prepend([new xe(S.goal.replace(new q("=",[J,X])),S.substitution,S)])}},"clause/2":function(I,S,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))I.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(I.session.rules[y.args[0].indicator]!==void 0)if(I.is_public_predicate(y.args[0].indicator)){var R=[];for(var J in I.session.rules[y.args[0].indicator])if(I.session.rules[y.args[0].indicator].hasOwnProperty(J)){var X=I.session.rules[y.args[0].indicator][J];I.session.renamed_variables={},X=X.rename(I),X.body===null&&(X.body=new q("true"));var $=new q(",",[new q("=",[X.head,y.args[0]]),new q("=",[X.body,y.args[1]])]);R.push(new xe(S.goal.replace($),S.substitution,S))}I.prepend(R)}else I.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(I,S,y){var R=y.args[0];if(!x.type.is_variable(R)&&(!x.type.is_compound(R)||R.indicator!=="//2"))I.throw_error(x.error.type("predicate_indicator",R,y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_variable(R.args[0])&&!x.type.is_atom(R.args[0]))I.throw_error(x.error.type("atom",R.args[0],y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_variable(R.args[1])&&!x.type.is_integer(R.args[1]))I.throw_error(x.error.type("integer",R.args[1],y.indicator));else{var J=[];for(var X in I.session.rules)if(I.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),se=X.substr(0,$),be=parseInt(X.substr($+1,X.length-($+1))),Fe=new q("/",[new q(se),new Re(be,!1)]),lt=new q("=",[Fe,R]);J.push(new xe(S.goal.replace(lt),S.substitution,S))}I.prepend(J)}},"asserta/1":function(I,S,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var R,J;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],J=Ie(y.args[0].args[1])):(R=y.args[0],J=null),x.type.is_callable(R)?J!==null&&!x.type.is_callable(J)?I.throw_error(x.error.type("callable",J,y.indicator)):I.is_public_predicate(R.indicator)?(I.session.rules[R.indicator]===void 0&&(I.session.rules[R.indicator]=[]),I.session.public_predicates[R.indicator]=!0,I.session.rules[R.indicator]=[new Ye(R,J,!0)].concat(I.session.rules[R.indicator]),I.success(S)):I.throw_error(x.error.permission("modify","static_procedure",R.indicator,y.indicator)):I.throw_error(x.error.type("callable",R,y.indicator))}},"assertz/1":function(I,S,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var R,J;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],J=Ie(y.args[0].args[1])):(R=y.args[0],J=null),x.type.is_callable(R)?J!==null&&!x.type.is_callable(J)?I.throw_error(x.error.type("callable",J,y.indicator)):I.is_public_predicate(R.indicator)?(I.session.rules[R.indicator]===void 0&&(I.session.rules[R.indicator]=[]),I.session.public_predicates[R.indicator]=!0,I.session.rules[R.indicator].push(new Ye(R,J,!0)),I.success(S)):I.throw_error(x.error.permission("modify","static_procedure",R.indicator,y.indicator)):I.throw_error(x.error.type("callable",R,y.indicator))}},"retract/1":function(I,S,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var R,J;if(y.args[0].indicator===":-/2"?(R=y.args[0].args[0],J=y.args[0].args[1]):(R=y.args[0],J=new q("true")),typeof S.retract>"u")if(I.is_public_predicate(R.indicator)){if(I.session.rules[R.indicator]!==void 0){for(var X=[],$=0;$I.get_flag("max_arity").value)I.throw_error(x.error.representation("max_arity",y.indicator));else{var R=y.args[0].args[0].id+"/"+y.args[0].args[1].value;I.is_public_predicate(R)?(delete I.session.rules[R],I.success(S)):I.throw_error(x.error.permission("modify","static_procedure",R,y.indicator))}},"atom_length/2":function(I,S,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var R=new Re(y.args[0].id.length,!1);I.prepend([new xe(S.goal.replace(new q("=",[R,y.args[1]])),S.substitution,S)])}},"atom_concat/3":function(I,S,y){var R,J,X=y.args[0],$=y.args[1],se=y.args[2];if(x.type.is_variable(se)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_atom($))I.throw_error(x.error.type("atom",$,y.indicator));else if(!x.type.is_variable(se)&&!x.type.is_atom(se))I.throw_error(x.error.type("atom",se,y.indicator));else{var be=x.type.is_variable(X),Fe=x.type.is_variable($);if(!be&&!Fe)J=new q("=",[se,new q(X.id+$.id)]),I.prepend([new xe(S.goal.replace(J),S.substitution,S)]);else if(be&&!Fe)R=se.id.substr(0,se.id.length-$.id.length),R+$.id===se.id&&(J=new q("=",[X,new q(R)]),I.prepend([new xe(S.goal.replace(J),S.substitution,S)]));else if(Fe&&!be)R=se.id.substr(X.id.length),X.id+R===se.id&&(J=new q("=",[$,new q(R)]),I.prepend([new xe(S.goal.replace(J),S.substitution,S)]));else{for(var lt=[],Et=0;Et<=se.id.length;Et++){var qt=new q(se.id.substr(0,Et)),nr=new q(se.id.substr(Et));J=new q(",",[new q("=",[qt,X]),new q("=",[nr,$])]),lt.push(new xe(S.goal.replace(J),S.substitution,S))}I.prepend(lt)}}},"sub_atom/5":function(I,S,y){var R,J=y.args[0],X=y.args[1],$=y.args[2],se=y.args[3],be=y.args[4];if(x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",$,y.indicator));else if(!x.type.is_variable(se)&&!x.type.is_integer(se))I.throw_error(x.error.type("integer",se,y.indicator));else if(x.type.is_integer(X)&&X.value<0)I.throw_error(x.error.domain("not_less_than_zero",X,y.indicator));else if(x.type.is_integer($)&&$.value<0)I.throw_error(x.error.domain("not_less_than_zero",$,y.indicator));else if(x.type.is_integer(se)&&se.value<0)I.throw_error(x.error.domain("not_less_than_zero",se,y.indicator));else{var Fe=[],lt=[],Et=[];if(x.type.is_variable(X))for(R=0;R<=J.id.length;R++)Fe.push(R);else Fe.push(X.value);if(x.type.is_variable($))for(R=0;R<=J.id.length;R++)lt.push(R);else lt.push($.value);if(x.type.is_variable(se))for(R=0;R<=J.id.length;R++)Et.push(R);else Et.push(se.value);var qt=[];for(var nr in Fe)if(Fe.hasOwnProperty(nr)){R=Fe[nr];for(var St in lt)if(lt.hasOwnProperty(St)){var cn=lt[St],Pr=J.id.length-R-cn;if(e(Et,Pr)!==-1&&R+cn+Pr===J.id.length){var yr=J.id.substr(R,cn);if(J.id===J.id.substr(0,R)+yr+J.id.substr(R+cn,Pr)){var Rr=new q("=",[new q(yr),be]),Xr=new q("=",[X,new Re(R)]),$n=new q("=",[$,new Re(cn)]),Xs=new q("=",[se,new Re(Pr)]),Hi=new q(",",[new q(",",[new q(",",[Xr,$n]),Xs]),Rr]);qt.push(new xe(S.goal.replace(Hi),S.substitution,S))}}}}I.prepend(qt)}},"atom_chars/2":function(I,S,y){var R=y.args[0],J=y.args[1];if(x.type.is_variable(R)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_atom(R))I.throw_error(x.error.type("atom",R,y.indicator));else if(x.type.is_variable(R)){for(var se=J,be=x.type.is_variable(R),Fe="";se.indicator==="./2";){if(x.type.is_character(se.args[0]))Fe+=se.args[0].id;else if(x.type.is_variable(se.args[0])&&be){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(se.args[0])){I.throw_error(x.error.type("character",se.args[0],y.indicator));return}se=se.args[1]}x.type.is_variable(se)&&be?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(se)&&!x.type.is_variable(se)?I.throw_error(x.error.type("list",J,y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[new q(Fe),R])),S.substitution,S)])}else{for(var X=new q("[]"),$=R.id.length-1;$>=0;$--)X=new q(".",[new q(R.id.charAt($)),X]);I.prepend([new xe(S.goal.replace(new q("=",[J,X])),S.substitution,S)])}},"atom_codes/2":function(I,S,y){var R=y.args[0],J=y.args[1];if(x.type.is_variable(R)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_atom(R))I.throw_error(x.error.type("atom",R,y.indicator));else if(x.type.is_variable(R)){for(var se=J,be=x.type.is_variable(R),Fe="";se.indicator==="./2";){if(x.type.is_character_code(se.args[0]))Fe+=u(se.args[0].value);else if(x.type.is_variable(se.args[0])&&be){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(se.args[0])){I.throw_error(x.error.representation("character_code",y.indicator));return}se=se.args[1]}x.type.is_variable(se)&&be?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(se)&&!x.type.is_variable(se)?I.throw_error(x.error.type("list",J,y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[new q(Fe),R])),S.substitution,S)])}else{for(var X=new q("[]"),$=R.id.length-1;$>=0;$--)X=new q(".",[new Re(n(R.id,$),!1),X]);I.prepend([new xe(S.goal.replace(new q("=",[J,X])),S.substitution,S)])}},"char_code/2":function(I,S,y){var R=y.args[0],J=y.args[1];if(x.type.is_variable(R)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_character(R))I.throw_error(x.error.type("character",R,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",J,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character_code(J))I.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(J)){var X=new Re(n(R.id,0),!1);I.prepend([new xe(S.goal.replace(new q("=",[X,J])),S.substitution,S)])}else{var $=new q(u(J.value));I.prepend([new xe(S.goal.replace(new q("=",[$,R])),S.substitution,S)])}},"number_chars/2":function(I,S,y){var R,J=y.args[0],X=y.args[1];if(x.type.is_variable(J)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_number(J))I.throw_error(x.error.type("number",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(J);if(!x.type.is_variable(X)){var se=X,be=!0;for(R="";se.indicator==="./2";){if(x.type.is_character(se.args[0]))R+=se.args[0].id;else if(x.type.is_variable(se.args[0]))be=!1;else if(!x.type.is_variable(se.args[0])){I.throw_error(x.error.type("character",se.args[0],y.indicator));return}se=se.args[1]}if(be=be&&x.type.is_empty_list(se),!x.type.is_empty_list(se)&&!x.type.is_variable(se)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!be&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(be)if(x.type.is_variable(se)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Fe=I.parse(R),lt=Fe.value;!x.type.is_number(lt)||Fe.tokens[Fe.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[J,lt])),S.substitution,S)]);return}}if(!$){R=J.toString();for(var Et=new q("[]"),qt=R.length-1;qt>=0;qt--)Et=new q(".",[new q(R.charAt(qt)),Et]);I.prepend([new xe(S.goal.replace(new q("=",[X,Et])),S.substitution,S)])}}},"number_codes/2":function(I,S,y){var R,J=y.args[0],X=y.args[1];if(x.type.is_variable(J)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_number(J))I.throw_error(x.error.type("number",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(J);if(!x.type.is_variable(X)){var se=X,be=!0;for(R="";se.indicator==="./2";){if(x.type.is_character_code(se.args[0]))R+=u(se.args[0].value);else if(x.type.is_variable(se.args[0]))be=!1;else if(!x.type.is_variable(se.args[0])){I.throw_error(x.error.type("character_code",se.args[0],y.indicator));return}se=se.args[1]}if(be=be&&x.type.is_empty_list(se),!x.type.is_empty_list(se)&&!x.type.is_variable(se)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!be&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(be)if(x.type.is_variable(se)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Fe=I.parse(R),lt=Fe.value;!x.type.is_number(lt)||Fe.tokens[Fe.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[J,lt])),S.substitution,S)]);return}}if(!$){R=J.toString();for(var Et=new q("[]"),qt=R.length-1;qt>=0;qt--)Et=new q(".",[new Re(n(R,qt),!1),Et]);I.prepend([new xe(S.goal.replace(new q("=",[X,Et])),S.substitution,S)])}}},"upcase_atom/2":function(I,S,y){var R=y.args[0],J=y.args[1];x.type.is_variable(R)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(R)?!x.type.is_variable(J)&&!x.type.is_atom(J)?I.throw_error(x.error.type("atom",J,y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[J,new q(R.id.toUpperCase(),[])])),S.substitution,S)]):I.throw_error(x.error.type("atom",R,y.indicator))},"downcase_atom/2":function(I,S,y){var R=y.args[0],J=y.args[1];x.type.is_variable(R)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(R)?!x.type.is_variable(J)&&!x.type.is_atom(J)?I.throw_error(x.error.type("atom",J,y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[J,new q(R.id.toLowerCase(),[])])),S.substitution,S)]):I.throw_error(x.error.type("atom",R,y.indicator))},"atomic_list_concat/2":function(I,S,y){var R=y.args[0],J=y.args[1];I.prepend([new xe(S.goal.replace(new q("atomic_list_concat",[R,new q("",[]),J])),S.substitution,S)])},"atomic_list_concat/3":function(I,S,y){var R=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(J)||x.type.is_variable(R)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_list(R))I.throw_error(x.error.type("list",R,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(x.type.is_variable(X)){for(var se="",be=R;x.type.is_term(be)&&be.indicator==="./2";){if(!x.type.is_atom(be.args[0])&&!x.type.is_number(be.args[0])){I.throw_error(x.error.type("atomic",be.args[0],y.indicator));return}se!==""&&(se+=J.id),x.type.is_atom(be.args[0])?se+=be.args[0].id:se+=""+be.args[0].value,be=be.args[1]}se=new q(se,[]),x.type.is_variable(be)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(be)||be.indicator!=="[]/0"?I.throw_error(x.error.type("list",R,y.indicator)):I.prepend([new xe(S.goal.replace(new q("=",[se,X])),S.substitution,S)])}else{var $=g(o(X.id.split(J.id),function(Fe){return new q(Fe,[])}));I.prepend([new xe(S.goal.replace(new q("=",[$,R])),S.substitution,S)])}},"@=/2":function(I,S,y){x.compare(y.args[0],y.args[1])>0&&I.success(S)},"@>=/2":function(I,S,y){x.compare(y.args[0],y.args[1])>=0&&I.success(S)},"compare/3":function(I,S,y){var R=y.args[0],J=y.args[1],X=y.args[2];if(!x.type.is_variable(R)&&!x.type.is_atom(R))I.throw_error(x.error.type("atom",R,y.indicator));else if(x.type.is_atom(R)&&["<",">","="].indexOf(R.id)===-1)I.throw_error(x.type.domain("order",R,y.indicator));else{var $=x.compare(J,X);$=$===0?"=":$===-1?"<":">",I.prepend([new xe(S.goal.replace(new q("=",[R,new q($,[])])),S.substitution,S)])}},"is/2":function(I,S,y){var R=y.args[1].interpret(I);x.type.is_number(R)?I.prepend([new xe(S.goal.replace(new q("=",[y.args[0],R],I.level)),S.substitution,S)]):I.throw_error(R)},"between/3":function(I,S,y){var R=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(R)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(R))I.throw_error(x.error.type("integer",R,y.indicator));else if(!x.type.is_integer(J))I.throw_error(x.error.type("integer",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(x.type.is_variable(X)){var $=[new xe(S.goal.replace(new q("=",[X,R])),S.substitution,S)];R.value=X.value&&I.success(S)},"succ/2":function(I,S,y){var R=y.args[0],J=y.args[1];x.type.is_variable(R)&&x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(R)&&!x.type.is_integer(R)?I.throw_error(x.error.type("integer",R,y.indicator)):!x.type.is_variable(J)&&!x.type.is_integer(J)?I.throw_error(x.error.type("integer",J,y.indicator)):!x.type.is_variable(R)&&R.value<0?I.throw_error(x.error.domain("not_less_than_zero",R,y.indicator)):!x.type.is_variable(J)&&J.value<0?I.throw_error(x.error.domain("not_less_than_zero",J,y.indicator)):(x.type.is_variable(J)||J.value>0)&&(x.type.is_variable(R)?I.prepend([new xe(S.goal.replace(new q("=",[R,new Re(J.value-1,!1)])),S.substitution,S)]):I.prepend([new xe(S.goal.replace(new q("=",[J,new Re(R.value+1,!1)])),S.substitution,S)]))},"=:=/2":function(I,S,y){var R=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(R)?I.throw_error(R):R===0&&I.success(S)},"=\\=/2":function(I,S,y){var R=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(R)?I.throw_error(R):R!==0&&I.success(S)},"/2":function(I,S,y){var R=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(R)?I.throw_error(R):R>0&&I.success(S)},">=/2":function(I,S,y){var R=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(R)?I.throw_error(R):R>=0&&I.success(S)},"var/1":function(I,S,y){x.type.is_variable(y.args[0])&&I.success(S)},"atom/1":function(I,S,y){x.type.is_atom(y.args[0])&&I.success(S)},"atomic/1":function(I,S,y){x.type.is_atomic(y.args[0])&&I.success(S)},"compound/1":function(I,S,y){x.type.is_compound(y.args[0])&&I.success(S)},"integer/1":function(I,S,y){x.type.is_integer(y.args[0])&&I.success(S)},"float/1":function(I,S,y){x.type.is_float(y.args[0])&&I.success(S)},"number/1":function(I,S,y){x.type.is_number(y.args[0])&&I.success(S)},"nonvar/1":function(I,S,y){x.type.is_variable(y.args[0])||I.success(S)},"ground/1":function(I,S,y){y.variables().length===0&&I.success(S)},"acyclic_term/1":function(I,S,y){for(var R=S.substitution.apply(S.substitution),J=y.args[0].variables(),X=0;X0?St[St.length-1]:null,St!==null&&(qt=z(I,St,0,I.__get_max_priority(),!1))}if(qt.type===p&&qt.len===St.length-1&&cn.value==="."){qt=qt.value.rename(I);var Pr=new q("=",[J,qt]);if(se.variables){var yr=g(o(ye(qt.variables()),function(Rr){return new Pe(Rr)}));Pr=new q(",",[Pr,new q("=",[se.variables,yr])])}if(se.variable_names){var yr=g(o(ye(qt.variables()),function(Xr){var $n;for($n in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty($n)&&I.session.renamed_variables[$n]===Xr)break;return new q("=",[new q($n,[]),new Pe(Xr)])}));Pr=new q(",",[Pr,new q("=",[se.variable_names,yr])])}if(se.singletons){var yr=g(o(new Ye(qt,null).singleton_variables(),function(Xr){var $n;for($n in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty($n)&&I.session.renamed_variables[$n]===Xr)break;return new q("=",[new q($n,[]),new Pe(Xr)])}));Pr=new q(",",[Pr,new q("=",[se.singletons,yr])])}I.prepend([new xe(S.goal.replace(Pr),S.substitution,S)])}else qt.type===p?I.throw_error(x.error.syntax(St[qt.len],"unexpected token",!1)):I.throw_error(qt.value)}}},"write/1":function(I,S,y){var R=y.args[0];I.prepend([new xe(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("write",[new Pe("S"),R])])),S.substitution,S)])},"write/2":function(I,S,y){var R=y.args[0],J=y.args[1];I.prepend([new xe(S.goal.replace(new q("write_term",[R,J,new q(".",[new q("quoted",[new q("false",[])]),new q(".",[new q("ignore_ops",[new q("false")]),new q(".",[new q("numbervars",[new q("true")]),new q("[]",[])])])])])),S.substitution,S)])},"writeq/1":function(I,S,y){var R=y.args[0];I.prepend([new xe(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("writeq",[new Pe("S"),R])])),S.substitution,S)])},"writeq/2":function(I,S,y){var R=y.args[0],J=y.args[1];I.prepend([new xe(S.goal.replace(new q("write_term",[R,J,new q(".",[new q("quoted",[new q("true",[])]),new q(".",[new q("ignore_ops",[new q("false")]),new q(".",[new q("numbervars",[new q("true")]),new q("[]",[])])])])])),S.substitution,S)])},"write_canonical/1":function(I,S,y){var R=y.args[0];I.prepend([new xe(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("write_canonical",[new Pe("S"),R])])),S.substitution,S)])},"write_canonical/2":function(I,S,y){var R=y.args[0],J=y.args[1];I.prepend([new xe(S.goal.replace(new q("write_term",[R,J,new q(".",[new q("quoted",[new q("true",[])]),new q(".",[new q("ignore_ops",[new q("true")]),new q(".",[new q("numbervars",[new q("false")]),new q("[]",[])])])])])),S.substitution,S)])},"write_term/2":function(I,S,y){var R=y.args[0],J=y.args[1];I.prepend([new xe(S.goal.replace(new q(",",[new q("current_output",[new Pe("S")]),new q("write_term",[new Pe("S"),R,J])])),S.substitution,S)])},"write_term/3":function(I,S,y){var R=y.args[0],J=y.args[1],X=y.args[2],$=x.type.is_stream(R)?R:I.get_stream_by_alias(R.id);if(x.type.is_variable(R)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(R)&&!x.type.is_atom(R))I.throw_error(x.error.domain("stream_or_alias",R,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",R,y.indicator));else if($.input)I.throw_error(x.error.permission("output","stream",R,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("output","binary_stream",R,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("output","past_end_of_stream",R,y.indicator));else{for(var se={},be=X,Fe;x.type.is_term(be)&&be.indicator==="./2";){if(Fe=be.args[0],x.type.is_variable(Fe)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Fe)){I.throw_error(x.error.domain("write_option",Fe,y.indicator));return}se[Fe.id]=Fe.args[0].id==="true",be=be.args[1]}if(be.indicator!=="[]/0"){x.type.is_variable(be)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{se.session=I.session;var lt=J.toString(se);$.stream.put(lt,$.position),typeof $.position=="number"&&($.position+=lt.length),I.success(S)}}},"halt/0":function(I,S,y){I.points=[]},"halt/1":function(I,S,y){var R=y.args[0];x.type.is_variable(R)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(R)?I.points=[]:I.throw_error(x.error.type("integer",R,y.indicator))},"current_prolog_flag/2":function(I,S,y){var R=y.args[0],J=y.args[1];if(!x.type.is_variable(R)&&!x.type.is_atom(R))I.throw_error(x.error.type("atom",R,y.indicator));else if(!x.type.is_variable(R)&&!x.type.is_flag(R))I.throw_error(x.error.domain("prolog_flag",R,y.indicator));else{var X=[];for(var $ in x.flag)if(x.flag.hasOwnProperty($)){var se=new q(",",[new q("=",[new q($),R]),new q("=",[I.get_flag($),J])]);X.push(new xe(S.goal.replace(se),S.substitution,S))}I.prepend(X)}},"set_prolog_flag/2":function(I,S,y){var R=y.args[0],J=y.args[1];x.type.is_variable(R)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(R)?x.type.is_flag(R)?x.type.is_value_flag(R,J)?x.type.is_modifiable_flag(R)?(I.session.flag[R.id]=J,I.success(S)):I.throw_error(x.error.permission("modify","flag",R)):I.throw_error(x.error.domain("flag_value",new q("+",[R,J]),y.indicator)):I.throw_error(x.error.domain("prolog_flag",R,y.indicator)):I.throw_error(x.error.type("atom",R,y.indicator))}},flag:{bounded:{allowed:[new q("true"),new q("false")],value:new q("true"),changeable:!1},max_integer:{allowed:[new Re(Number.MAX_SAFE_INTEGER)],value:new Re(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Re(Number.MIN_SAFE_INTEGER)],value:new Re(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new q("down"),new q("toward_zero")],value:new q("toward_zero"),changeable:!1},char_conversion:{allowed:[new q("on"),new q("off")],value:new q("on"),changeable:!0},debug:{allowed:[new q("on"),new q("off")],value:new q("off"),changeable:!0},max_arity:{allowed:[new q("unbounded")],value:new q("unbounded"),changeable:!1},unknown:{allowed:[new q("error"),new q("fail"),new q("warning")],value:new q("error"),changeable:!0},double_quotes:{allowed:[new q("chars"),new q("codes"),new q("atom")],value:new q("codes"),changeable:!0},occurs_check:{allowed:[new q("false"),new q("true")],value:new q("false"),changeable:!0},dialect:{allowed:[new q("tau")],value:new q("tau"),changeable:!1},version_data:{allowed:[new q("tau",[new Re(t.major,!1),new Re(t.minor,!1),new Re(t.patch,!1),new q(t.status)])],value:new q("tau",[new Re(t.major,!1),new Re(t.minor,!1),new Re(t.patch,!1),new q(t.status)]),changeable:!1},nodejs:{allowed:[new q("yes"),new q("no")],value:new q(typeof El<"u"&&El.exports?"yes":"no"),changeable:!1}},unify:function(I,S,y){y=y===void 0?!1:y;for(var R=[{left:I,right:S}],J={};R.length!==0;){var X=R.pop();if(I=X.left,S=X.right,x.type.is_term(I)&&x.type.is_term(S)){if(I.indicator!==S.indicator)return null;for(var $=0;$J.value?1:0:J}else return R},operate:function(I,S){if(x.type.is_operator(S)){for(var y=x.type.is_operator(S),R=[],J,X=!1,$=0;$I.get_flag("max_integer").value||J0?I.start+I.matches[0].length:I.start,J=y?new q("token_not_found"):new q("found",[new q(I.value.toString())]),X=new q(".",[new q("line",[new Re(I.line+1)]),new q(".",[new q("column",[new Re(R+1)]),new q(".",[J,new q("[]",[])])])]);return new q("error",[new q("syntax_error",[new q(S)]),X])},syntax_by_predicate:function(I,S){return new q("error",[new q("syntax_error",[new q(I)]),Z(S)])}},warning:{singleton:function(I,S,y){for(var R=new q("[]"),J=I.length-1;J>=0;J--)R=new q(".",[new Pe(I[J]),R]);return new q("warning",[new q("singleton_variables",[R,Z(S)]),new q(".",[new q("line",[new Re(y,!1)]),new q("[]")])])},failed_goal:function(I,S){return new q("warning",[new q("failed_goal",[I]),new q(".",[new q("line",[new Re(S,!1)]),new q("[]")])])}},format_variable:function(I){return"_"+I},format_answer:function(I,S,R){S instanceof Qe&&(S=S.thread);var R=R||{};if(R.session=S?S.session:void 0,x.type.is_error(I))return"uncaught exception: "+I.args[0].toString();if(I===!1)return"false.";if(I===null)return"limit exceeded ;";var J=0,X="";if(x.type.is_substitution(I)){var $=I.domain(!0);I=I.filter(function(Fe,lt){return!x.type.is_variable(lt)||$.indexOf(lt.id)!==-1&&Fe!==lt.id})}for(var se in I.links)I.links.hasOwnProperty(se)&&(J++,X!==""&&(X+=", "),X+=se.toString(R)+" = "+I.links[se].toString(R));var be=typeof S>"u"||S.points.length>0?" ;":".";return J===0?"true"+be:X+be},flatten_error:function(I){if(!x.type.is_error(I))return null;I=I.args[0];var S={};return S.type=I.args[0].id,S.thrown=S.type==="syntax_error"?null:I.args[1].id,S.expected=null,S.found=null,S.representation=null,S.existence=null,S.existence_type=null,S.line=null,S.column=null,S.permission_operation=null,S.permission_type=null,S.evaluation_type=null,S.type==="type_error"||S.type==="domain_error"?(S.expected=I.args[0].args[0].id,S.found=I.args[0].args[1].toString()):S.type==="syntax_error"?I.args[1].indicator==="./2"?(S.expected=I.args[0].args[0].id,S.found=I.args[1].args[1].args[1].args[0],S.found=S.found.id==="token_not_found"?S.found.id:S.found.args[0].id,S.line=I.args[1].args[0].args[0].value,S.column=I.args[1].args[1].args[0].args[0].value):S.thrown=I.args[1].id:S.type==="permission_error"?(S.found=I.args[0].args[2].toString(),S.permission_operation=I.args[0].args[0].id,S.permission_type=I.args[0].args[1].id):S.type==="evaluation_error"?S.evaluation_type=I.args[0].args[0].id:S.type==="representation_error"?S.representation=I.args[0].args[0].id:S.type==="existence_error"&&(S.existence=I.args[0].args[1].toString(),S.existence_type=I.args[0].args[0].id),S},create:function(I){return new x.type.Session(I)}};typeof El<"u"?El.exports=x:window.pl=x})()});function Jme(t,e,r){t.prepend(r.map(o=>new Oa.default.type.State(e.goal.replace(o),e.substitution,e)))}function s6(t){let e=Zme.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function $me(t,e){Zme.set(t,e),t.consult(`:- use_module(library(${Kgt.id})).`)}var o6,Oa,Xme,Oh,Wgt,Ygt,Zme,Kgt,eye=It(()=>{Ve();o6=et(N2()),Oa=et(i6()),Xme=et(De("vm")),{is_atom:Oh,is_variable:Wgt,is_instantiated_list:Ygt}=Oa.default.type;Zme=new WeakMap;Kgt=new Oa.default.type.Module("constraints",{"project_workspaces_by_descriptor/3":(t,e,r)=>{let[o,a,n]=r.args;if(!Oh(o)||!Oh(a)){t.throw_error(Oa.default.error.instantiation(r.indicator));return}let u=G.parseIdent(o.id),A=G.makeDescriptor(u,a.id),h=s6(t).tryWorkspaceByDescriptor(A);Wgt(n)&&h!==null&&Jme(t,e,[new Oa.default.type.Term("=",[n,new Oa.default.type.Term(String(h.relativeCwd))])]),Oh(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},"workspace_field/3":(t,e,r)=>{let[o,a,n]=r.args;if(!Oh(o)||!Oh(a)){t.throw_error(Oa.default.error.instantiation(r.indicator));return}let A=s6(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,o6.default)(A.manifest.raw,a.id);typeof p>"u"||Jme(t,e,[new Oa.default.type.Term("=",[n,new Oa.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},"workspace_field_test/3":(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Oa.default.type.State(e.goal.replace(new Oa.default.type.Term("workspace_field_test",[o,a,n,new Oa.default.type.Term("[]",[])])),e.substitution,e)])},"workspace_field_test/4":(t,e,r)=>{let[o,a,n,u]=r.args;if(!Oh(o)||!Oh(a)||!Oh(n)||!Ygt(u)){t.throw_error(Oa.default.error.instantiation(r.indicator));return}let p=s6(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,o6.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[D,b]of u.toJavaScript().entries())E[`$${D}`]=b;Xme.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var Y2={};Kt(Y2,{Constraints:()=>l6,DependencyType:()=>iye});function Vs(t){if(t instanceof iC.default.type.Num)return t.value;if(t instanceof iC.default.type.Term)switch(t.indicator){case"throw/1":return Vs(t.args[0]);case"error/1":return Vs(t.args[0]);case"error/2":if(t.args[0]instanceof iC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(Vs(t.args[0]),...Vs(t.args[1]));{let e=Vs(t.args[0]);return e.message+=` (in ${Vs(t.args[1])})`,e}case"syntax_error/1":return new zt(43,`Syntax error: ${Vs(t.args[0])}`);case"existence_error/2":return new zt(44,`Existence error: ${Vs(t.args[0])} ${Vs(t.args[1])} not found`);case"instantiation_error/0":return new zt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Vs(t.args[0])};case"column/1":return{column:Vs(t.args[0])};case"found/1":return{found:Vs(t.args[0])};case"./2":return[Vs(t.args[0])].concat(Vs(t.args[1]));case"//2":return`${Vs(t.args[0])}/${Vs(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function rye(t){let e;try{e=Vs(t)}catch(r){throw typeof r=="string"?new zt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function ed(t){return t.id==="null"?null:`${t.toJavaScript()}`}function Vgt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function Mh(t){return typeof t=="string"?`'${t}'`:"[]"}var nye,iC,iye,tye,a6,l6,K2=It(()=>{Ve();Ve();Pt();nye=et(Tme()),iC=et(i6());j2();eye();(0,nye.default)(iC.default);iye=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(iye||{}),tye=["dependencies","devDependencies","peerDependencies"];a6=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=iC.default.create(o),$me(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw rye(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new zt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw rye(o);yield o}}};l6=class t{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(e){return new t(e)}getProjectDatabase(){let e="";for(let r of tye)e+=`dependency_type(${r}). -`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${Mh(o)}). -`,e+=`workspace_ident(${Mh(o)}, ${Mh(G.stringifyIdent(r.anchoredLocator))}). -`,e+=`workspace_version(${Mh(o)}, ${Mh(r.manifest.version)}). -`;for(let a of tye)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${Mh(o)}, ${Mh(G.stringifyIdent(n))}, ${Mh(n.range)}, ${a}). -`}return e+=`workspace(_) :- false. -`,e+=`workspace_ident(_, _) :- false. -`,e+=`workspace_version(_, _) :- false. -`,e+=`workspace_has_dependency(_, _, _, _) :- false. -`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false. -`,e+=`gen_enforced_field(_, _, _) :- false. -`,e}get fullSource(){return`${this.getProjectDatabase()} -${this.source} -${this.getDeclarations()}`}createSession(){return new a6(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=q2([A,G.stringifyIdent(n)]),h=qe.getMapWithDefault(o,a.cwd);qe.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=q2(n),p=qe.getMapWithDefault(o,a.cwd);qe.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=K.resolve(this.project.cwd,ed(o.links.WorkspaceCwd)),n=ed(o.links.DependencyIdent),u=ed(o.links.DependencyRange),A=ed(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=G.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return qe.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>G.stringifyIdent(o.anchoredLocator),({dependencyIdent:o})=>G.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=K.resolve(this.project.cwd,ed(o.links.WorkspaceCwd)),n=ed(o.links.FieldPath),u=Vgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return qe.sortMap(r,[({workspace:o})=>G.stringifyIdent(o.anchoredLocator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=ed(u));yield a}}}});var pye=_(rk=>{"use strict";Object.defineProperty(rk,"__esModule",{value:!0});function lB(t){let e=[...t.caches],r=e.shift();return r===void 0?fye():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>lB({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>lB({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>lB({caches:e}).delete(o))},clear(){return r.clear().catch(()=>lB({caches:e}).clear())}}}function fye(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}rk.createFallbackableCache=lB;rk.createNullCache=fye});var gye=_((BYt,hye)=>{hye.exports=pye()});var dye=_(w6=>{"use strict";Object.defineProperty(w6,"__esModule",{value:!0});function pdt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}w6.createInMemoryCache=pdt});var yye=_((DYt,mye)=>{mye.exports=dye()});var Cye=_(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});function hdt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===B6.WithinHeaders?o:{}},queryParameters(){return t===B6.WithinQueryParameters?o:{}}}}function gdt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function Eye(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return Eye(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function ddt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function mdt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function ydt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Edt="4.22.1",Cdt=t=>()=>t.transporter.requester.destroy(),B6={WithinQueryParameters:0,WithinHeaders:1};su.AuthMode=B6;su.addMethods=mdt;su.createAuth=hdt;su.createRetryablePromise=gdt;su.createWaitablePromise=Eye;su.destroy=Cdt;su.encode=ydt;su.shuffle=ddt;su.version=Edt});var cB=_((SYt,Iye)=>{Iye.exports=Cye()});var wye=_(v6=>{"use strict";Object.defineProperty(v6,"__esModule",{value:!0});var Idt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};v6.MethodEnum=Idt});var uB=_((bYt,Bye)=>{Bye.exports=wye()});var Mye=_(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});var Dye=uB();function D6(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var AB={Read:1,Write:2,Any:3},hC={Up:1,Down:2,Timeouted:3},Pye=2*60*1e3;function S6(t,e=hC.Up){return{...t,status:e,lastUpdate:Date.now()}}function Sye(t){return t.status===hC.Up||Date.now()-t.lastUpdate>Pye}function xye(t){return t.status===hC.Timeouted&&Date.now()-t.lastUpdate<=Pye}function x6(t){return typeof t=="string"?{protocol:"https",url:t,accept:AB.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||AB.Any}}function wdt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(S6(r))))).then(r=>{let o=r.filter(A=>Sye(A)),a=r.filter(A=>xye(A)),n=[...o,...a],u=n.length>0?n.map(A=>x6(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Bdt=({isTimedOut:t,status:e})=>!t&&~~e===0,vdt=t=>{let e=t.status;return t.isTimedOut||Bdt(t)||~~(e/100)!==2&&~~(e/100)!==4},Ddt=({status:t})=>~~(t/100)===2,Pdt=(t,e)=>vdt(t)?e.onRetry(t):Ddt(t)?e.onSuccess(t):e.onFail(t);function vye(t,e,r,o){let a=[],n=Rye(r,o),u=Tye(t,o),A=r.method,p=r.method!==Dye.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,w=(D,b)=>{let C=D.pop();if(C===void 0)throw Oye(P6(a));let T={data:n,headers:u,method:A,url:kye(C,r.path,h),connectTimeout:b(E,t.timeouts.connect),responseTimeout:b(E,o.timeout)},L=z=>{let te={request:T,response:z,host:C,triesLeft:D.length};return a.push(te),te},U={onSuccess:z=>bye(z),onRetry(z){let te=L(z);return z.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",b6(te)),t.hostsCache.set(C,S6(C,z.isTimedOut?hC.Timeouted:hC.Down))]).then(()=>w(D,b))},onFail(z){throw L(z),Qye(z,P6(a))}};return t.requester.send(T).then(z=>Pdt(z,U))};return wdt(t.hostsCache,e).then(D=>w([...D.statelessHosts].reverse(),D.getTimeout))}function Sdt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,w={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(D=>x6(D)),read(D,b){let C=D6(b,w.timeouts.read),T=()=>vye(w,w.hosts.filter(z=>(z.accept&AB.Read)!==0),D,C);if((C.cacheable!==void 0?C.cacheable:D.cacheable)!==!0)return T();let U={request:D,mappedRequestOptions:C,transporter:{queryParameters:w.queryParameters,headers:w.headers}};return w.responsesCache.get(U,()=>w.requestsCache.get(U,()=>w.requestsCache.set(U,T()).then(z=>Promise.all([w.requestsCache.delete(U),z]),z=>Promise.all([w.requestsCache.delete(U),Promise.reject(z)])).then(([z,te])=>te)),{miss:z=>w.responsesCache.set(U,z)})},write(D,b){return vye(w,w.hosts.filter(C=>(C.accept&AB.Write)!==0),D,D6(b,w.timeouts.write))}};return w}function xdt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function bye(t){try{return JSON.parse(t.content)}catch(e){throw Lye(e.message,t)}}function Qye({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return Nye(o,e,r)}function bdt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function kye(t,e,r){let o=Fye(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function Fye(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>bdt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function Rye(t,e){if(t.method===Dye.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function Tye(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function P6(t){return t.map(e=>b6(e))}function b6(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function Nye(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Lye(t,e){return{name:"DeserializationError",message:t,response:e}}function Oye(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}Ti.CallEnum=AB;Ti.HostStatusEnum=hC;Ti.createApiError=Nye;Ti.createDeserializationError=Lye;Ti.createMappedRequestOptions=D6;Ti.createRetryError=Oye;Ti.createStatefulHost=S6;Ti.createStatelessHost=x6;Ti.createTransporter=Sdt;Ti.createUserAgent=xdt;Ti.deserializeFailure=Qye;Ti.deserializeSuccess=bye;Ti.isStatefulHostTimeouted=xye;Ti.isStatefulHostUp=Sye;Ti.serializeData=Rye;Ti.serializeHeaders=Tye;Ti.serializeQueryParameters=Fye;Ti.serializeUrl=kye;Ti.stackFrameWithoutCredentials=b6;Ti.stackTraceWithoutCredentials=P6});var fB=_((kYt,Uye)=>{Uye.exports=Mye()});var _ye=_(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});var gC=cB(),Qdt=fB(),pB=uB(),kdt=t=>{let e=t.region||"us",r=gC.createAuth(gC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Qdt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return gC.addMethods({appId:a,transporter:o},t.methods)},Fdt=t=>(e,r)=>t.transporter.write({method:pB.MethodEnum.Post,path:"2/abtests",data:e},r),Rdt=t=>(e,r)=>t.transporter.write({method:pB.MethodEnum.Delete,path:gC.encode("2/abtests/%s",e)},r),Tdt=t=>(e,r)=>t.transporter.read({method:pB.MethodEnum.Get,path:gC.encode("2/abtests/%s",e)},r),Ndt=t=>e=>t.transporter.read({method:pB.MethodEnum.Get,path:"2/abtests"},e),Ldt=t=>(e,r)=>t.transporter.write({method:pB.MethodEnum.Post,path:gC.encode("2/abtests/%s/stop",e)},r);_h.addABTest=Fdt;_h.createAnalyticsClient=kdt;_h.deleteABTest=Rdt;_h.getABTest=Tdt;_h.getABTests=Ndt;_h.stopABTest=Ldt});var qye=_((RYt,Hye)=>{Hye.exports=_ye()});var Gye=_(hB=>{"use strict";Object.defineProperty(hB,"__esModule",{value:!0});var Q6=cB(),Odt=fB(),jye=uB(),Mdt=t=>{let e=t.region||"us",r=Q6.createAuth(Q6.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Odt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return Q6.addMethods({appId:t.appId,transporter:o},t.methods)},Udt=t=>e=>t.transporter.read({method:jye.MethodEnum.Get,path:"1/strategies/personalization"},e),_dt=t=>(e,r)=>t.transporter.write({method:jye.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);hB.createPersonalizationClient=Mdt;hB.getPersonalizationStrategy=Udt;hB.setPersonalizationStrategy=_dt});var Yye=_((NYt,Wye)=>{Wye.exports=Gye()});var oEe=_(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});var Wt=cB(),Ma=fB(),Dr=uB(),Hdt=De("crypto");function nk(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var qdt=t=>{let e=t.appId,r=Wt.createAuth(t.authMode!==void 0?t.authMode:Wt.AuthMode.WithinHeaders,e,t.apiKey),o=Ma.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Ma.CallEnum.Read},{url:`${e}.algolia.net`,accept:Ma.CallEnum.Write}].concat(Wt.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Wt.addMethods(a,t.methods)};function Kye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function Vye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function zye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var jdt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Wt.createRetryablePromise(h=>gB(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:"1/keys",data:n},a),u)},Gdt=t=>(e,r,o)=>{let a=Ma.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Dr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Wdt=t=>(e,r,o)=>t.transporter.write({method:Dr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),Ydt=t=>(e,r)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>dC(t)(o.taskID,a)),ik=t=>(e,r,o)=>{let a=(n,u)=>dB(t)(e,{methods:{waitTask:es}}).waitTask(n.taskID,u);return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},Kdt=t=>(e,r,o)=>ik(t)(e,r,{...o,scope:[ok.Rules]}),Vdt=t=>(e,r,o)=>ik(t)(e,r,{...o,scope:[ok.Settings]}),zdt=t=>(e,r,o)=>ik(t)(e,r,{...o,scope:[ok.Synonyms]}),Jdt=t=>(e,r)=>e.method===Dr.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),Xdt=t=>(e,r)=>{let o=(a,n)=>Wt.createRetryablePromise(u=>gB(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/keys/%s",e)},r),o)},Zdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>dC(t)(n.taskID,u))},$dt=()=>(t,e)=>{let r=Ma.serializeQueryParameters(e),o=Hdt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},gB=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/keys/%s",e)},r),Jye=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/task/%s",e.toString())},r),emt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),tmt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/logs"},e),rmt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw zye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},nmt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters/mapping/top"},e),imt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/clusters/mapping/%s",e)},r),smt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},dB=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Wt.addMethods(o,r.methods)},omt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/keys"},e),amt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters"},e),lmt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/indexes"},e),cmt=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:"1/clusters/mapping"},e),umt=t=>(e,r,o)=>{let a=(n,u)=>dB(t)(e,{methods:{waitTask:es}}).waitTask(n.taskID,u);return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},Amt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>dB(t)(u,{methods:{waitTask:es}}).waitTask(a.taskID[u],n)));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},fmt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),pmt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Ma.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:Dr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},hmt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return dB(t)(o.indexName,{methods:{searchForFacetValues:nEe}}).searchForFacetValues(a,n,{...r,...u})})),gmt=t=>(e,r)=>{let o=Ma.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Dr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},dmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>dC(t)(n.taskID,u))},mmt=t=>(e,r)=>{let o=(a,n)=>Wt.createRetryablePromise(u=>gB(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/keys/%s/restore",e)},r),o)},ymt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>dC(t)(n.taskID,u))},Emt=t=>(e,r,o)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Cmt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),Imt=t=>(e,r)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>dC(t)(o.taskID,a)),wmt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(w=>A.indexOf(w)!==-1).every(w=>{if(Array.isArray(E[w])&&Array.isArray(o[w])){let D=E[w];return D.length===o[w].length&&D.every((b,C)=>b===o[w][C])}else return E[w]===o[w]}),h=(E,w)=>Wt.createRetryablePromise(D=>gB(t)(e,w).then(b=>p(b)?Promise.resolve():D()));return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Put,path:Wt.encode("1/keys/%s",e),data:u},n),h)},dC=t=>(e,r)=>Wt.createRetryablePromise(o=>Jye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Xye=t=>(e,r)=>{let o=(a,n)=>es(t)(a.taskID,n);return Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Bmt=t=>e=>nk({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),vmt=t=>e=>{let r={hitsPerPage:1e3,...e};return nk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Dmt=t=>e=>{let r={hitsPerPage:1e3,...e};return nk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},sk=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E({action:r,body:w})),n).then(w=>(u.objectIDs=u.objectIDs.concat(w.objectIDs),u.taskIDs.push(w.taskID),E++,A(E)))};return Wt.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>es(t)(E,h))))},Pmt=t=>e=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>es(t)(r.taskID,o)),Smt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ma.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>es(t)(n.taskID,u))},xmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ma.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>es(t)(n.taskID,u))},bmt=t=>(e,r)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>es(t)(o.taskID,a)),Qmt=t=>e=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/indexes/%s",t.indexName)},e),(r,o)=>es(t)(r.taskID,o)),kmt=t=>(e,r)=>Wt.createWaitablePromise(Zye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>es(t)(o.taskID,a)),Zye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return sk(t)(o,rd.DeleteObject,r)},Fmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ma.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>es(t)(u.taskID,A))},Rmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ma.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>es(t)(u.taskID,A))},Tmt=t=>e=>$ye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),Nmt=t=>(e,r,o)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),Lmt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>rEe(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw Vye();return A()});return A()},Omt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/%s",t.indexName,e)},r),Mmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},Umt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:Dr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},_mt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),$ye=t=>e=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Hmt=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),eEe=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Get,path:Wt.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),qmt=t=>(e,r)=>Wt.createWaitablePromise(tEe(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>es(t)(o.taskID,a)),tEe=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?rd.PartialUpdateObject:rd.PartialUpdateObjectNoCreate;return sk(t)(e,n,a)},jmt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,T,L,U)=>Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",C),data:{operation:L,destination:T}},U),(z,te)=>es(t)(z.taskID,te)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=k6({appId:t.appId,transporter:t.transporter,indexName:h}),w=[],D=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});w.push(D);let b=(o?D.wait(u):D).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return w.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return w.push(C),o?C.wait(u):C}).then(()=>Promise.all(w)).then(([C,T,L])=>({objectIDs:T.objectIDs,taskIDs:[C.taskID,...T.taskIDs,L.taskID]}));return Wt.createWaitablePromise(b,(C,T)=>Promise.all(w.map(L=>L.wait(T))))},Gmt=t=>(e,r)=>F6(t)(e,{...r,clearExistingRules:!0}),Wmt=t=>(e,r)=>R6(t)(e,{...r,clearExistingSynonyms:!0}),Ymt=t=>(e,r)=>Wt.createWaitablePromise(k6(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>es(t)(o.taskID,a)),k6=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?rd.AddObject:rd.UpdateObject;if(n===rd.UpdateObject){for(let u of e)if(u.objectID===void 0)return Wt.createWaitablePromise(Promise.reject(Kye()))}return sk(t)(e,n,a)},Kmt=t=>(e,r)=>F6(t)([e],r),F6=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Ma.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>es(t)(A.taskID,p))},Vmt=t=>(e,r)=>R6(t)([e],r),R6=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Ma.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>es(t)(p.taskID,h))},rEe=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),nEe=t=>(e,r,o)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),iEe=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),sEe=t=>(e,r)=>t.transporter.read({method:Dr.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),zmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ma.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(t.transporter.write({method:Dr.MethodEnum.Put,path:Wt.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>es(t)(u.taskID,A))},es=t=>(e,r)=>Wt.createRetryablePromise(o=>eEe(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Jmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",Inference:"inference",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},rd={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},ok={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Xmt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Zmt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Rt.ApiKeyACLEnum=Jmt;Rt.BatchActionEnum=rd;Rt.ScopeEnum=ok;Rt.StrategyEnum=Xmt;Rt.SynonymEnum=Zmt;Rt.addApiKey=jdt;Rt.assignUserID=Gdt;Rt.assignUserIDs=Wdt;Rt.batch=Xye;Rt.browseObjects=Bmt;Rt.browseRules=vmt;Rt.browseSynonyms=Dmt;Rt.chunkedBatch=sk;Rt.clearDictionaryEntries=Ydt;Rt.clearObjects=Pmt;Rt.clearRules=Smt;Rt.clearSynonyms=xmt;Rt.copyIndex=ik;Rt.copyRules=Kdt;Rt.copySettings=Vdt;Rt.copySynonyms=zdt;Rt.createBrowsablePromise=nk;Rt.createMissingObjectIDError=Kye;Rt.createObjectNotFoundError=Vye;Rt.createSearchClient=qdt;Rt.createValidUntilNotFoundError=zye;Rt.customRequest=Jdt;Rt.deleteApiKey=Xdt;Rt.deleteBy=bmt;Rt.deleteDictionaryEntries=Zdt;Rt.deleteIndex=Qmt;Rt.deleteObject=kmt;Rt.deleteObjects=Zye;Rt.deleteRule=Fmt;Rt.deleteSynonym=Rmt;Rt.exists=Tmt;Rt.findAnswers=Nmt;Rt.findObject=Lmt;Rt.generateSecuredApiKey=$dt;Rt.getApiKey=gB;Rt.getAppTask=Jye;Rt.getDictionarySettings=emt;Rt.getLogs=tmt;Rt.getObject=Omt;Rt.getObjectPosition=Mmt;Rt.getObjects=Umt;Rt.getRule=_mt;Rt.getSecuredApiKeyRemainingValidity=rmt;Rt.getSettings=$ye;Rt.getSynonym=Hmt;Rt.getTask=eEe;Rt.getTopUserIDs=nmt;Rt.getUserID=imt;Rt.hasPendingMappings=smt;Rt.initIndex=dB;Rt.listApiKeys=omt;Rt.listClusters=amt;Rt.listIndices=lmt;Rt.listUserIDs=cmt;Rt.moveIndex=umt;Rt.multipleBatch=Amt;Rt.multipleGetObjects=fmt;Rt.multipleQueries=pmt;Rt.multipleSearchForFacetValues=hmt;Rt.partialUpdateObject=qmt;Rt.partialUpdateObjects=tEe;Rt.removeUserID=gmt;Rt.replaceAllObjects=jmt;Rt.replaceAllRules=Gmt;Rt.replaceAllSynonyms=Wmt;Rt.replaceDictionaryEntries=dmt;Rt.restoreApiKey=mmt;Rt.saveDictionaryEntries=ymt;Rt.saveObject=Ymt;Rt.saveObjects=k6;Rt.saveRule=Kmt;Rt.saveRules=F6;Rt.saveSynonym=Vmt;Rt.saveSynonyms=R6;Rt.search=rEe;Rt.searchDictionaryEntries=Emt;Rt.searchForFacetValues=nEe;Rt.searchRules=iEe;Rt.searchSynonyms=sEe;Rt.searchUserIDs=Cmt;Rt.setDictionarySettings=Imt;Rt.setSettings=zmt;Rt.updateApiKey=wmt;Rt.waitAppTask=dC;Rt.waitTask=es});var lEe=_((OYt,aEe)=>{aEe.exports=oEe()});var cEe=_(ak=>{"use strict";Object.defineProperty(ak,"__esModule",{value:!0});function $mt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var eyt={Debug:1,Info:2,Error:3};ak.LogLevelEnum=eyt;ak.createNullLogger=$mt});var AEe=_((UYt,uEe)=>{uEe.exports=cEe()});var gEe=_(T6=>{"use strict";Object.defineProperty(T6,"__esModule",{value:!0});var fEe=De("http"),pEe=De("https"),tyt=De("url"),hEe={keepAlive:!0},ryt=new fEe.Agent(hEe),nyt=new pEe.Agent(hEe);function iyt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||ryt,n=r||t||nyt;return{send(u){return new Promise(A=>{let p=tyt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},w=(p.protocol==="https:"?pEe:fEe).request(E,T=>{let L=[];T.on("data",U=>{L=L.concat(U)}),T.on("end",()=>{clearTimeout(b),clearTimeout(C),A({status:T.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),D=(T,L)=>setTimeout(()=>{w.abort(),A({status:0,content:L,isTimedOut:!0})},T*1e3),b=D(u.connectTimeout,"Connection timeout"),C;w.on("error",T=>{clearTimeout(b),clearTimeout(C),A({status:0,content:T.message,isTimedOut:!1})}),w.once("response",()=>{clearTimeout(b),C=D(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&w.write(u.data),w.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}T6.createNodeHttpRequester=iyt});var mEe=_((HYt,dEe)=>{dEe.exports=gEe()});var IEe=_((qYt,CEe)=>{"use strict";var yEe=gye(),syt=yye(),mC=qye(),L6=cB(),N6=Yye(),Ht=lEe(),oyt=AEe(),ayt=mEe(),lyt=fB();function EEe(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:ayt.createNodeHttpRequester(),logger:oyt.createNullLogger(),responsesCache:yEe.createNullCache(),requestsCache:yEe.createNullCache(),hostsCache:syt.createInMemoryCache(),userAgent:lyt.createUserAgent(L6.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>N6.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:N6.getPersonalizationStrategy,setPersonalizationStrategy:N6.setPersonalizationStrategy}});return Ht.createSearchClient({...a,methods:{search:Ht.multipleQueries,searchForFacetValues:Ht.multipleSearchForFacetValues,multipleBatch:Ht.multipleBatch,multipleGetObjects:Ht.multipleGetObjects,multipleQueries:Ht.multipleQueries,copyIndex:Ht.copyIndex,copySettings:Ht.copySettings,copyRules:Ht.copyRules,copySynonyms:Ht.copySynonyms,moveIndex:Ht.moveIndex,listIndices:Ht.listIndices,getLogs:Ht.getLogs,listClusters:Ht.listClusters,multipleSearchForFacetValues:Ht.multipleSearchForFacetValues,getApiKey:Ht.getApiKey,addApiKey:Ht.addApiKey,listApiKeys:Ht.listApiKeys,updateApiKey:Ht.updateApiKey,deleteApiKey:Ht.deleteApiKey,restoreApiKey:Ht.restoreApiKey,assignUserID:Ht.assignUserID,assignUserIDs:Ht.assignUserIDs,getUserID:Ht.getUserID,searchUserIDs:Ht.searchUserIDs,listUserIDs:Ht.listUserIDs,getTopUserIDs:Ht.getTopUserIDs,removeUserID:Ht.removeUserID,hasPendingMappings:Ht.hasPendingMappings,generateSecuredApiKey:Ht.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Ht.getSecuredApiKeyRemainingValidity,destroy:L6.destroy,clearDictionaryEntries:Ht.clearDictionaryEntries,deleteDictionaryEntries:Ht.deleteDictionaryEntries,getDictionarySettings:Ht.getDictionarySettings,getAppTask:Ht.getAppTask,replaceDictionaryEntries:Ht.replaceDictionaryEntries,saveDictionaryEntries:Ht.saveDictionaryEntries,searchDictionaryEntries:Ht.searchDictionaryEntries,setDictionarySettings:Ht.setDictionarySettings,waitAppTask:Ht.waitAppTask,customRequest:Ht.customRequest,initIndex:u=>A=>Ht.initIndex(u)(A,{methods:{batch:Ht.batch,delete:Ht.deleteIndex,findAnswers:Ht.findAnswers,getObject:Ht.getObject,getObjects:Ht.getObjects,saveObject:Ht.saveObject,saveObjects:Ht.saveObjects,search:Ht.search,searchForFacetValues:Ht.searchForFacetValues,waitTask:Ht.waitTask,setSettings:Ht.setSettings,getSettings:Ht.getSettings,partialUpdateObject:Ht.partialUpdateObject,partialUpdateObjects:Ht.partialUpdateObjects,deleteObject:Ht.deleteObject,deleteObjects:Ht.deleteObjects,deleteBy:Ht.deleteBy,clearObjects:Ht.clearObjects,browseObjects:Ht.browseObjects,getObjectPosition:Ht.getObjectPosition,findObject:Ht.findObject,exists:Ht.exists,saveSynonym:Ht.saveSynonym,saveSynonyms:Ht.saveSynonyms,getSynonym:Ht.getSynonym,searchSynonyms:Ht.searchSynonyms,browseSynonyms:Ht.browseSynonyms,deleteSynonym:Ht.deleteSynonym,clearSynonyms:Ht.clearSynonyms,replaceAllObjects:Ht.replaceAllObjects,replaceAllSynonyms:Ht.replaceAllSynonyms,searchRules:Ht.searchRules,getRule:Ht.getRule,deleteRule:Ht.deleteRule,saveRule:Ht.saveRule,saveRules:Ht.saveRules,replaceAllRules:Ht.replaceAllRules,browseRules:Ht.browseRules,clearRules:Ht.clearRules}}),initAnalytics:()=>u=>mC.createAnalyticsClient({...o,...u,methods:{addABTest:mC.addABTest,getABTest:mC.getABTest,getABTests:mC.getABTests,stopABTest:mC.stopABTest,deleteABTest:mC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}EEe.version=L6.version;CEe.exports=EEe});var M6=_((jYt,O6)=>{var wEe=IEe();O6.exports=wEe;O6.exports.default=wEe});var H6=_((WYt,DEe)=>{"use strict";var vEe=Object.getOwnPropertySymbols,uyt=Object.prototype.hasOwnProperty,Ayt=Object.prototype.propertyIsEnumerable;function fyt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function pyt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}DEe.exports=pyt()?Object.assign:function(t,e){for(var r,o=fyt(t),a,n=1;n{"use strict";var j6=H6(),yC=60103,xEe=60106;Cn.Fragment=60107;Cn.StrictMode=60108;Cn.Profiler=60114;var bEe=60109,QEe=60110,kEe=60112;Cn.Suspense=60113;var FEe=60115,REe=60116;typeof Symbol=="function"&&Symbol.for&&(sc=Symbol.for,yC=sc("react.element"),xEe=sc("react.portal"),Cn.Fragment=sc("react.fragment"),Cn.StrictMode=sc("react.strict_mode"),Cn.Profiler=sc("react.profiler"),bEe=sc("react.provider"),QEe=sc("react.context"),kEe=sc("react.forward_ref"),Cn.Suspense=sc("react.suspense"),FEe=sc("react.memo"),REe=sc("react.lazy"));var sc,PEe=typeof Symbol=="function"&&Symbol.iterator;function hyt(t){return t===null||typeof t!="object"?null:(t=PEe&&t[PEe]||t["@@iterator"],typeof t=="function"?t:null)}function mB(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r{"use strict";qEe.exports=HEe()});var z6=_((VYt,V6)=>{"use strict";var gn=V6.exports;V6.exports.default=gn;var Gn="\x1B[",yB="\x1B]",CC="\x07",uk=";",jEe=process.env.TERM_PROGRAM==="Apple_Terminal";gn.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?Gn+(t+1)+"G":Gn+(e+1)+";"+(t+1)+"H"};gn.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=Gn+-t+"D":t>0&&(r+=Gn+t+"C"),e<0?r+=Gn+-e+"A":e>0&&(r+=Gn+e+"B"),r};gn.cursorUp=(t=1)=>Gn+t+"A";gn.cursorDown=(t=1)=>Gn+t+"B";gn.cursorForward=(t=1)=>Gn+t+"C";gn.cursorBackward=(t=1)=>Gn+t+"D";gn.cursorLeft=Gn+"G";gn.cursorSavePosition=jEe?"\x1B7":Gn+"s";gn.cursorRestorePosition=jEe?"\x1B8":Gn+"u";gn.cursorGetPosition=Gn+"6n";gn.cursorNextLine=Gn+"E";gn.cursorPrevLine=Gn+"F";gn.cursorHide=Gn+"?25l";gn.cursorShow=Gn+"?25h";gn.eraseLines=t=>{let e="";for(let r=0;r[yB,"8",uk,uk,e,CC,t,yB,"8",uk,uk,CC].join("");gn.image=(t,e={})=>{let r=`${yB}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+CC};gn.iTerm={setCwd:(t=process.cwd())=>`${yB}50;CurrentDir=${t}${CC}`,annotation:(t,e={})=>{let r=`${yB}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+CC}}});var WEe=_((zYt,J6)=>{"use strict";var GEe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};J6.exports=GEe;J6.exports.default=GEe});var KEe=_((JYt,fk)=>{"use strict";var Eyt=WEe(),Ak=new WeakMap,YEe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"",n=function(...u){if(Ak.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Eyt(n,t),Ak.set(n,o),n};fk.exports=YEe;fk.exports.default=YEe;fk.exports.callCount=t=>{if(!Ak.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return Ak.get(t)}});var VEe=_((XYt,pk)=>{pk.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&pk.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&pk.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var $6=_((ZYt,BC)=>{var wi=global.process,nd=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};nd(wi)?(zEe=De("assert"),IC=VEe(),JEe=/^win/i.test(wi.platform),EB=De("events"),typeof EB!="function"&&(EB=EB.EventEmitter),wi.__signal_exit_emitter__?Qs=wi.__signal_exit_emitter__:(Qs=wi.__signal_exit_emitter__=new EB,Qs.count=0,Qs.emitted={}),Qs.infinite||(Qs.setMaxListeners(1/0),Qs.infinite=!0),BC.exports=function(t,e){if(!nd(global.process))return function(){};zEe.equal(typeof t,"function","a callback must be provided for exit handler"),wC===!1&&X6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){Qs.removeListener(r,t),Qs.listeners("exit").length===0&&Qs.listeners("afterexit").length===0&&hk()};return Qs.on(r,t),o},hk=function(){!wC||!nd(global.process)||(wC=!1,IC.forEach(function(e){try{wi.removeListener(e,gk[e])}catch{}}),wi.emit=dk,wi.reallyExit=Z6,Qs.count-=1)},BC.exports.unload=hk,id=function(e,r,o){Qs.emitted[e]||(Qs.emitted[e]=!0,Qs.emit(e,r,o))},gk={},IC.forEach(function(t){gk[t]=function(){if(nd(global.process)){var r=wi.listeners(t);r.length===Qs.count&&(hk(),id("exit",null,t),id("afterexit",null,t),JEe&&t==="SIGHUP"&&(t="SIGINT"),wi.kill(wi.pid,t))}}}),BC.exports.signals=function(){return IC},wC=!1,X6=function(){wC||!nd(global.process)||(wC=!0,Qs.count+=1,IC=IC.filter(function(e){try{return wi.on(e,gk[e]),!0}catch{return!1}}),wi.emit=ZEe,wi.reallyExit=XEe)},BC.exports.load=X6,Z6=wi.reallyExit,XEe=function(e){nd(global.process)&&(wi.exitCode=e||0,id("exit",wi.exitCode,null),id("afterexit",wi.exitCode,null),Z6.call(wi,wi.exitCode))},dk=wi.emit,ZEe=function(e,r){if(e==="exit"&&nd(global.process)){r!==void 0&&(wi.exitCode=r);var o=dk.apply(this,arguments);return id("exit",wi.exitCode,null),id("afterexit",wi.exitCode,null),o}else return dk.apply(this,arguments)}):BC.exports=function(){return function(){}};var zEe,IC,JEe,EB,Qs,hk,id,gk,wC,X6,Z6,XEe,dk,ZEe});var eCe=_(($Yt,$Ee)=>{"use strict";var Cyt=KEe(),Iyt=$6();$Ee.exports=Cyt(()=>{Iyt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var eq=_(vC=>{"use strict";var wyt=eCe(),mk=!1;vC.show=(t=process.stderr)=>{t.isTTY&&(mk=!1,t.write("\x1B[?25h"))};vC.hide=(t=process.stderr)=>{t.isTTY&&(wyt(),mk=!0,t.write("\x1B[?25l"))};vC.toggle=(t,e)=>{t!==void 0&&(mk=t),mk?vC.show(e):vC.hide(e)}});var iCe=_(CB=>{"use strict";var nCe=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var tCe=nCe(z6()),rCe=nCe(eq()),Byt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(rCe.default.hide(),a=!0);let A=u+` -`;A!==o&&(o=A,t.write(tCe.default.eraseLines(r)+A),r=A.split(` -`).length)};return n.clear=()=>{t.write(tCe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(rCe.default.show(),a=!1)},n};CB.default={create:Byt}});var sCe=_((rKt,vyt)=>{vyt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var lCe=_(Cl=>{"use strict";var aCe=sCe(),gA=process.env;Object.defineProperty(Cl,"_vendors",{value:aCe.map(function(t){return t.constant})});Cl.name=null;Cl.isPR=null;aCe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return oCe(o)});if(Cl[t.constant]=r,r)switch(Cl.name=t.name,typeof t.pr){case"string":Cl.isPR=!!gA[t.pr];break;case"object":"env"in t.pr?Cl.isPR=t.pr.env in gA&&gA[t.pr.env]!==t.pr.ne:"any"in t.pr?Cl.isPR=t.pr.any.some(function(o){return!!gA[o]}):Cl.isPR=oCe(t.pr);break;default:Cl.isPR=null}});Cl.isCI=!!(gA.CI||gA.CONTINUOUS_INTEGRATION||gA.BUILD_NUMBER||gA.RUN_ID||Cl.name);function oCe(t){return typeof t=="string"?!!gA[t]:Object.keys(t).every(function(e){return gA[e]===t[e]})}});var uCe=_((iKt,cCe)=>{"use strict";cCe.exports=lCe().isCI});var fCe=_((sKt,ACe)=>{"use strict";var Dyt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};ACe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of Dyt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var yCe=_(Hn=>{"use strict";var PC,BB,Ik,aq;typeof performance=="object"&&typeof performance.now=="function"?(pCe=performance,Hn.unstable_now=function(){return pCe.now()}):(tq=Date,hCe=tq.now(),Hn.unstable_now=function(){return tq.now()-hCe});var pCe,tq,hCe;typeof window>"u"||typeof MessageChannel!="function"?(DC=null,rq=null,nq=function(){if(DC!==null)try{var t=Hn.unstable_now();DC(!0,t),DC=null}catch(e){throw setTimeout(nq,0),e}},PC=function(t){DC!==null?setTimeout(PC,0,t):(DC=t,setTimeout(nq,0))},BB=function(t,e){rq=setTimeout(t,e)},Ik=function(){clearTimeout(rq)},Hn.unstable_shouldYield=function(){return!1},aq=Hn.unstable_forceFrameRate=function(){}):(gCe=window.setTimeout,dCe=window.clearTimeout,typeof console<"u"&&(mCe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof mCe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),IB=!1,wB=null,yk=-1,iq=5,sq=0,Hn.unstable_shouldYield=function(){return Hn.unstable_now()>=sq},aq=function(){},Hn.unstable_forceFrameRate=function(t){0>t||125>>1,a=t[o];if(a!==void 0&&0Ck(u,r))p!==void 0&&0>Ck(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>Ck(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function Ck(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var dA=[],Hh=[],Pyt=1,oc=null,bo=3,Bk=!1,sd=!1,vB=!1;function cq(t){for(var e=ou(Hh);e!==null;){if(e.callback===null)wk(Hh);else if(e.startTime<=t)wk(Hh),e.sortIndex=e.expirationTime,lq(dA,e);else break;e=ou(Hh)}}function uq(t){if(vB=!1,cq(t),!sd)if(ou(dA)!==null)sd=!0,PC(Aq);else{var e=ou(Hh);e!==null&&BB(uq,e.startTime-t)}}function Aq(t,e){sd=!1,vB&&(vB=!1,Ik()),Bk=!0;var r=bo;try{for(cq(e),oc=ou(dA);oc!==null&&(!(oc.expirationTime>e)||t&&!Hn.unstable_shouldYield());){var o=oc.callback;if(typeof o=="function"){oc.callback=null,bo=oc.priorityLevel;var a=o(oc.expirationTime<=e);e=Hn.unstable_now(),typeof a=="function"?oc.callback=a:oc===ou(dA)&&wk(dA),cq(e)}else wk(dA);oc=ou(dA)}if(oc!==null)var n=!0;else{var u=ou(Hh);u!==null&&BB(uq,u.startTime-e),n=!1}return n}finally{oc=null,bo=r,Bk=!1}}var Syt=aq;Hn.unstable_IdlePriority=5;Hn.unstable_ImmediatePriority=1;Hn.unstable_LowPriority=4;Hn.unstable_NormalPriority=3;Hn.unstable_Profiling=null;Hn.unstable_UserBlockingPriority=2;Hn.unstable_cancelCallback=function(t){t.callback=null};Hn.unstable_continueExecution=function(){sd||Bk||(sd=!0,PC(Aq))};Hn.unstable_getCurrentPriorityLevel=function(){return bo};Hn.unstable_getFirstCallbackNode=function(){return ou(dA)};Hn.unstable_next=function(t){switch(bo){case 1:case 2:case 3:var e=3;break;default:e=bo}var r=bo;bo=e;try{return t()}finally{bo=r}};Hn.unstable_pauseExecution=function(){};Hn.unstable_requestPaint=Syt;Hn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=bo;bo=t;try{return e()}finally{bo=r}};Hn.unstable_scheduleCallback=function(t,e,r){var o=Hn.unstable_now();switch(typeof r=="object"&&r!==null?(r=r.delay,r=typeof r=="number"&&0o?(t.sortIndex=r,lq(Hh,t),ou(dA)===null&&t===ou(Hh)&&(vB?Ik():vB=!0,BB(uq,r-o))):(t.sortIndex=a,lq(dA,t),sd||Bk||(sd=!0,PC(Aq))),t};Hn.unstable_wrapCallback=function(t){var e=bo;return function(){var r=bo;bo=e;try{return t.apply(this,arguments)}finally{bo=r}}}});var fq=_((aKt,ECe)=>{"use strict";ECe.exports=yCe()});var CCe=_((lKt,DB)=>{DB.exports=function(e){var r={},o=H6(),a=ln(),n=fq();function u(v){for(var P="https://reactjs.org/docs/error-decoder.html?invariant="+v,k=1;k_e||Y[Be]!==ne[_e])return` -`+Y[Be].replace(" at new "," at ");while(1<=Be&&0<=_e);break}}}finally{we=!1,Error.prepareStackTrace=k}return(v=v?v.displayName||v.name:"")?Il(v):""}var wl=[],Bi=-1;function Ns(v){return{current:v}}function Ft(v){0>Bi||(v.current=wl[Bi],wl[Bi]=null,Bi--)}function Bn(v,P){Bi++,wl[Bi]=v.current,v.current=P}var No={},Qi=Ns(No),vi=Ns(!1),sa=No;function un(v,P){var k=v.type.contextTypes;if(!k)return No;var H=v.stateNode;if(H&&H.__reactInternalMemoizedUnmaskedChildContext===P)return H.__reactInternalMemoizedMaskedChildContext;var Y={},ne;for(ne in k)Y[ne]=P[ne];return H&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=P,v.__reactInternalMemoizedMaskedChildContext=Y),Y}function qn(v){return v=v.childContextTypes,v!=null}function Ec(){Ft(vi),Ft(Qi)}function cp(v,P,k){if(Qi.current!==No)throw Error(u(168));Bn(Qi,P),Bn(vi,k)}function oa(v,P,k){var H=v.stateNode;if(v=P.childContextTypes,typeof H.getChildContext!="function")return k;H=H.getChildContext();for(var Y in H)if(!(Y in v))throw Error(u(108,g(P)||"Unknown",Y));return o({},k,H)}function aa(v){return v=(v=v.stateNode)&&v.__reactInternalMemoizedMergedChildContext||No,sa=Qi.current,Bn(Qi,v),Bn(vi,vi.current),!0}function la(v,P,k){var H=v.stateNode;if(!H)throw Error(u(169));k?(v=oa(v,P,sa),H.__reactInternalMemoizedMergedChildContext=v,Ft(vi),Ft(Qi),Bn(Qi,v)):Ft(vi),Bn(vi,k)}var Ze=null,ca=null,mu=n.unstable_now;mu();var Bl=0,dn=8;function Lo(v){if(1&v)return dn=15,1;if(2&v)return dn=14,2;if(4&v)return dn=13,4;var P=24&v;return P!==0?(dn=12,P):v&32?(dn=11,32):(P=192&v,P!==0?(dn=10,P):v&256?(dn=9,256):(P=3584&v,P!==0?(dn=8,P):v&4096?(dn=7,4096):(P=4186112&v,P!==0?(dn=6,P):(P=62914560&v,P!==0?(dn=5,P):v&67108864?(dn=4,67108864):v&134217728?(dn=3,134217728):(P=805306368&v,P!==0?(dn=2,P):1073741824&v?(dn=1,1073741824):(dn=8,v))))))}function RA(v){switch(v){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}function TA(v){switch(v){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(u(358,v))}}function Oo(v,P){var k=v.pendingLanes;if(k===0)return dn=0;var H=0,Y=0,ne=v.expiredLanes,Be=v.suspendedLanes,_e=v.pingedLanes;if(ne!==0)H=ne,Y=dn=15;else if(ne=k&134217727,ne!==0){var ft=ne&~Be;ft!==0?(H=Lo(ft),Y=dn):(_e&=ne,_e!==0&&(H=Lo(_e),Y=dn))}else ne=k&~Be,ne!==0?(H=Lo(ne),Y=dn):_e!==0&&(H=Lo(_e),Y=dn);if(H===0)return 0;if(H=31-qi(H),H=k&((0>H?0:1<k;k++)P.push(v);return P}function ua(v,P,k){v.pendingLanes|=P;var H=P-1;v.suspendedLanes&=H,v.pingedLanes&=H,v=v.eventTimes,P=31-qi(P),v[P]=k}var qi=Math.clz32?Math.clz32:Dl,vl=Math.log,Cc=Math.LN2;function Dl(v){return v===0?32:31-(vl(v)/Cc|0)|0}var Aa=n.unstable_runWithPriority,Di=n.unstable_scheduleCallback,rs=n.unstable_cancelCallback,ja=n.unstable_shouldYield,yu=n.unstable_requestPaint,Pl=n.unstable_now,pi=n.unstable_getCurrentPriorityLevel,Dn=n.unstable_ImmediatePriority,Sl=n.unstable_UserBlockingPriority,ze=n.unstable_NormalPriority,st=n.unstable_LowPriority,vt=n.unstable_IdlePriority,ar={},ee=yu!==void 0?yu:function(){},Ee=null,Le=null,ht=!1,mt=Pl(),Dt=1e4>mt?Pl:function(){return Pl()-mt};function er(){switch(pi()){case Dn:return 99;case Sl:return 98;case ze:return 97;case st:return 96;case vt:return 95;default:throw Error(u(332))}}function sn(v){switch(v){case 99:return Dn;case 98:return Sl;case 97:return ze;case 96:return st;case 95:return vt;default:throw Error(u(332))}}function ei(v,P){return v=sn(v),Aa(v,P)}function ki(v,P,k){return v=sn(v),Di(v,P,k)}function Pn(){if(Le!==null){var v=Le;Le=null,rs(v)}fa()}function fa(){if(!ht&&Ee!==null){ht=!0;var v=0;try{var P=Ee;ei(99,function(){for(;vSn?(Tn=xr,xr=null):Tn=xr.sibling;var Yr=Xt($e,xr,pt[Sn],Jt);if(Yr===null){xr===null&&(xr=Tn);break}v&&xr&&Yr.alternate===null&&P($e,xr),je=ne(Yr,je,Sn),Wn===null?Br=Yr:Wn.sibling=Yr,Wn=Yr,xr=Tn}if(Sn===pt.length)return k($e,xr),Br;if(xr===null){for(;SnSn?(Tn=xr,xr=null):Tn=xr.sibling;var ti=Xt($e,xr,Yr.value,Jt);if(ti===null){xr===null&&(xr=Tn);break}v&&xr&&ti.alternate===null&&P($e,xr),je=ne(ti,je,Sn),Wn===null?Br=ti:Wn.sibling=ti,Wn=ti,xr=Tn}if(Yr.done)return k($e,xr),Br;if(xr===null){for(;!Yr.done;Sn++,Yr=pt.next())Yr=Tr($e,Yr.value,Jt),Yr!==null&&(je=ne(Yr,je,Sn),Wn===null?Br=Yr:Wn.sibling=Yr,Wn=Yr);return Br}for(xr=H($e,xr);!Yr.done;Sn++,Yr=pt.next())Yr=jn(xr,$e,Sn,Yr.value,Jt),Yr!==null&&(v&&Yr.alternate!==null&&xr.delete(Yr.key===null?Sn:Yr.key),je=ne(Yr,je,Sn),Wn===null?Br=Yr:Wn.sibling=Yr,Wn=Yr);return v&&xr.forEach(function(Rc){return P($e,Rc)}),Br}return function($e,je,pt,Jt){var Br=typeof pt=="object"&&pt!==null&&pt.type===E&&pt.key===null;Br&&(pt=pt.props.children);var Wn=typeof pt=="object"&&pt!==null;if(Wn)switch(pt.$$typeof){case p:e:{for(Wn=pt.key,Br=je;Br!==null;){if(Br.key===Wn){switch(Br.tag){case 7:if(pt.type===E){k($e,Br.sibling),je=Y(Br,pt.props.children),je.return=$e,$e=je;break e}break;default:if(Br.elementType===pt.type){k($e,Br.sibling),je=Y(Br,pt.props),je.ref=dt($e,Br,pt),je.return=$e,$e=je;break e}}k($e,Br);break}else P($e,Br);Br=Br.sibling}pt.type===E?(je=Ru(pt.props.children,$e.mode,Jt,pt.key),je.return=$e,$e=je):(Jt=F0(pt.type,pt.key,pt.props,null,$e.mode,Jt),Jt.ref=dt($e,je,pt),Jt.return=$e,$e=Jt)}return Be($e);case h:e:{for(Br=pt.key;je!==null;){if(je.key===Br)if(je.tag===4&&je.stateNode.containerInfo===pt.containerInfo&&je.stateNode.implementation===pt.implementation){k($e,je.sibling),je=Y(je,pt.children||[]),je.return=$e,$e=je;break e}else{k($e,je);break}else P($e,je);je=je.sibling}je=ao(pt,$e.mode,Jt),je.return=$e,$e=je}return Be($e)}if(typeof pt=="string"||typeof pt=="number")return pt=""+pt,je!==null&&je.tag===6?(k($e,je.sibling),je=Y(je,pt),je.return=$e,$e=je):(k($e,je),je=ew(pt,$e.mode,Jt),je.return=$e,$e=je),Be($e);if(Cu(pt))return li($e,je,pt,Jt);if(Ie(pt))return Ea($e,je,pt,Jt);if(Wn&&wc($e,pt),typeof pt>"u"&&!Br)switch($e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(u(152,g($e.type)||"Component"))}return k($e,je)}}var A0=Qd(!0),SI=Qd(!1),gp={},cr=Ns(gp),Li=Ns(gp),Iu=Ns(gp);function pa(v){if(v===gp)throw Error(u(174));return v}function f0(v,P){Bn(Iu,P),Bn(Li,v),Bn(cr,gp),v=gt(P),Ft(cr),Bn(cr,v)}function Bc(){Ft(cr),Ft(Li),Ft(Iu)}function wu(v){var P=pa(Iu.current),k=pa(cr.current);P=q(k,v.type,P),k!==P&&(Bn(Li,v),Bn(cr,P))}function wt(v){Li.current===v&&(Ft(cr),Ft(Li))}var oi=Ns(0);function UA(v){for(var P=v;P!==null;){if(P.tag===13){var k=P.memoizedState;if(k!==null&&(k=k.dehydrated,k===null||pr(k)||Me(k)))return P}else if(P.tag===19&&P.memoizedProps.revealOrder!==void 0){if(P.flags&64)return P}else if(P.child!==null){P.child.return=P,P=P.child;continue}if(P===v)break;for(;P.sibling===null;){if(P.return===null||P.return===v)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}return null}var ha=null,Uo=null,ga=!1;function p0(v,P){var k=ya(5,null,null,0);k.elementType="DELETED",k.type="DELETED",k.stateNode=P,k.return=v,k.flags=8,v.lastEffect!==null?(v.lastEffect.nextEffect=k,v.lastEffect=k):v.firstEffect=v.lastEffect=k}function dp(v,P){switch(v.tag){case 5:return P=To(P,v.type,v.pendingProps),P!==null?(v.stateNode=P,!0):!1;case 6:return P=QA(P,v.pendingProps),P!==null?(v.stateNode=P,!0):!1;case 13:return!1;default:return!1}}function h0(v){if(ga){var P=Uo;if(P){var k=P;if(!dp(v,P)){if(P=ia(k),!P||!dp(v,P)){v.flags=v.flags&-1025|2,ga=!1,ha=v;return}p0(ha,k)}ha=v,Uo=dc(P)}else v.flags=v.flags&-1025|2,ga=!1,ha=v}}function kd(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;ha=v}function _A(v){if(!X||v!==ha)return!1;if(!ga)return kd(v),ga=!0,!1;var P=v.type;if(v.tag!==5||P!=="head"&&P!=="body"&&!it(P,v.memoizedProps))for(P=Uo;P;)p0(v,P),P=ia(P);if(kd(v),v.tag===13){if(!X)throw Error(u(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(u(317));Uo=kA(v)}else Uo=ha?ia(v.stateNode):null;return!0}function g0(){X&&(Uo=ha=null,ga=!1)}var vc=[];function Dc(){for(var v=0;vne))throw Error(u(301));ne+=1,Ci=ji=null,P.updateQueue=null,Bu.current=re,v=k(H,Y)}while(vu)}if(Bu.current=bt,P=ji!==null&&ji.next!==null,Pc=0,Ci=ji=On=null,HA=!1,P)throw Error(u(300));return v}function Gi(){var v={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ci===null?On.memoizedState=Ci=v:Ci=Ci.next=v,Ci}function Ka(){if(ji===null){var v=On.alternate;v=v!==null?v.memoizedState:null}else v=ji.next;var P=Ci===null?On.memoizedState:Ci.next;if(P!==null)Ci=P,ji=v;else{if(v===null)throw Error(u(310));ji=v,v={memoizedState:ji.memoizedState,baseState:ji.baseState,baseQueue:ji.baseQueue,queue:ji.queue,next:null},Ci===null?On.memoizedState=Ci=v:Ci=Ci.next=v}return Ci}function io(v,P){return typeof P=="function"?P(v):P}function Du(v){var P=Ka(),k=P.queue;if(k===null)throw Error(u(311));k.lastRenderedReducer=v;var H=ji,Y=H.baseQueue,ne=k.pending;if(ne!==null){if(Y!==null){var Be=Y.next;Y.next=ne.next,ne.next=Be}H.baseQueue=Y=ne,k.pending=null}if(Y!==null){Y=Y.next,H=H.baseState;var _e=Be=ne=null,ft=Y;do{var jt=ft.lane;if((Pc&jt)===jt)_e!==null&&(_e=_e.next={lane:0,action:ft.action,eagerReducer:ft.eagerReducer,eagerState:ft.eagerState,next:null}),H=ft.eagerReducer===v?ft.eagerState:v(H,ft.action);else{var wr={lane:jt,action:ft.action,eagerReducer:ft.eagerReducer,eagerState:ft.eagerState,next:null};_e===null?(Be=_e=wr,ne=H):_e=_e.next=wr,On.lanes|=jt,D0|=jt}ft=ft.next}while(ft!==null&&ft!==Y);_e===null?ne=H:_e.next=Be,eo(H,P.memoizedState)||(Ke=!0),P.memoizedState=H,P.baseState=ne,P.baseQueue=_e,k.lastRenderedState=H}return[P.memoizedState,k.dispatch]}function Pu(v){var P=Ka(),k=P.queue;if(k===null)throw Error(u(311));k.lastRenderedReducer=v;var H=k.dispatch,Y=k.pending,ne=P.memoizedState;if(Y!==null){k.pending=null;var Be=Y=Y.next;do ne=v(ne,Be.action),Be=Be.next;while(Be!==Y);eo(ne,P.memoizedState)||(Ke=!0),P.memoizedState=ne,P.baseQueue===null&&(P.baseState=ne),k.lastRenderedState=ne}return[ne,H]}function Va(v,P,k){var H=P._getVersion;H=H(P._source);var Y=y?P._workInProgressVersionPrimary:P._workInProgressVersionSecondary;if(Y!==null?v=Y===H:(v=v.mutableReadLanes,(v=(Pc&v)===v)&&(y?P._workInProgressVersionPrimary=H:P._workInProgressVersionSecondary=H,vc.push(P))),v)return k(P._source);throw vc.push(P),Error(u(350))}function fn(v,P,k,H){var Y=Os;if(Y===null)throw Error(u(349));var ne=P._getVersion,Be=ne(P._source),_e=Bu.current,ft=_e.useState(function(){return Va(Y,P,k)}),jt=ft[1],wr=ft[0];ft=Ci;var Tr=v.memoizedState,Xt=Tr.refs,jn=Xt.getSnapshot,li=Tr.source;Tr=Tr.subscribe;var Ea=On;return v.memoizedState={refs:Xt,source:P,subscribe:H},_e.useEffect(function(){Xt.getSnapshot=k,Xt.setSnapshot=jt;var $e=ne(P._source);if(!eo(Be,$e)){$e=k(P._source),eo(wr,$e)||(jt($e),$e=ss(Ea),Y.mutableReadLanes|=$e&Y.pendingLanes),$e=Y.mutableReadLanes,Y.entangledLanes|=$e;for(var je=Y.entanglements,pt=$e;0k?98:k,function(){v(!0)}),ei(97GI&&(P.flags|=64,Y=!0,KA(H,!1),P.lanes=33554432)}else{if(!Y)if(v=UA(ne),v!==null){if(P.flags|=64,Y=!0,v=v.updateQueue,v!==null&&(P.updateQueue=v,P.flags|=4),KA(H,!0),H.tail===null&&H.tailMode==="hidden"&&!ne.alternate&&!ga)return P=P.lastEffect=H.lastEffect,P!==null&&(P.nextEffect=null),null}else 2*Dt()-H.renderingStartTime>GI&&k!==1073741824&&(P.flags|=64,Y=!0,KA(H,!1),P.lanes=33554432);H.isBackwards?(ne.sibling=P.child,P.child=ne):(v=H.last,v!==null?v.sibling=ne:P.child=ne,H.last=ne)}return H.tail!==null?(v=H.tail,H.rendering=v,H.tail=v.sibling,H.lastEffect=P.lastEffect,H.renderingStartTime=Dt(),v.sibling=null,P=oi.current,Bn(oi,Y?P&1|2:P&1),v):null;case 23:case 24:return JI(),v!==null&&v.memoizedState!==null!=(P.memoizedState!==null)&&H.mode!=="unstable-defer-without-hiding"&&(P.flags|=4),null}throw Error(u(156,P.tag))}function jF(v){switch(v.tag){case 1:qn(v.type)&&Ec();var P=v.flags;return P&4096?(v.flags=P&-4097|64,v):null;case 3:if(Bc(),Ft(vi),Ft(Qi),Dc(),P=v.flags,P&64)throw Error(u(285));return v.flags=P&-4097|64,v;case 5:return wt(v),null;case 13:return Ft(oi),P=v.flags,P&4096?(v.flags=P&-4097|64,v):null;case 19:return Ft(oi),null;case 4:return Bc(),null;case 10:return c0(v),null;case 23:case 24:return JI(),null;default:return null}}function E0(v,P){try{var k="",H=P;do k+=PI(H),H=H.return;while(H);var Y=k}catch(ne){Y=` -Error generating stack: `+ne.message+` -`+ne.stack}return{value:v,source:P,stack:Y}}function C0(v,P){try{console.error(P.value)}catch(k){setTimeout(function(){throw k})}}var GF=typeof WeakMap=="function"?WeakMap:Map;function kI(v,P,k){k=Wa(-1,k),k.tag=3,k.payload={element:null};var H=P.value;return k.callback=function(){Kd||(Kd=!0,WI=H),C0(v,P)},k}function I0(v,P,k){k=Wa(-1,k),k.tag=3;var H=v.type.getDerivedStateFromError;if(typeof H=="function"){var Y=P.value;k.payload=function(){return C0(v,P),H(Y)}}var ne=v.stateNode;return ne!==null&&typeof ne.componentDidCatch=="function"&&(k.callback=function(){typeof H!="function"&&(bl===null?bl=new Set([this]):bl.add(this),C0(v,P));var Be=P.stack;this.componentDidCatch(P.value,{componentStack:Be!==null?Be:""})}),k}var WF=typeof WeakSet=="function"?WeakSet:Set;function FI(v){var P=v.ref;if(P!==null)if(typeof P=="function")try{P(null)}catch(k){Fu(v,k)}else P.current=null}function Ld(v,P){switch(P.tag){case 0:case 11:case 15:case 22:return;case 1:if(P.flags&256&&v!==null){var k=v.memoizedProps,H=v.memoizedState;v=P.stateNode,P=v.getSnapshotBeforeUpdate(P.elementType===P.type?k:to(P.type,k),H),v.__reactInternalSnapshotBeforeUpdate=P}return;case 3:R&&P.flags&256&&hs(P.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(u(163))}function Bp(v,P){if(P=P.updateQueue,P=P!==null?P.lastEffect:null,P!==null){var k=P=P.next;do{if((k.tag&v)===v){var H=k.destroy;k.destroy=void 0,H!==void 0&&H()}k=k.next}while(k!==P)}}function uD(v,P,k){switch(k.tag){case 0:case 11:case 15:case 22:if(P=k.updateQueue,P=P!==null?P.lastEffect:null,P!==null){v=P=P.next;do{if((v.tag&3)===3){var H=v.create;v.destroy=H()}v=v.next}while(v!==P)}if(P=k.updateQueue,P=P!==null?P.lastEffect:null,P!==null){v=P=P.next;do{var Y=v;H=Y.next,Y=Y.tag,Y&4&&Y&1&&(vD(k,v),eR(k,v)),v=H}while(v!==P)}return;case 1:v=k.stateNode,k.flags&4&&(P===null?v.componentDidMount():(H=k.elementType===k.type?P.memoizedProps:to(k.type,P.memoizedProps),v.componentDidUpdate(H,P.memoizedState,v.__reactInternalSnapshotBeforeUpdate))),P=k.updateQueue,P!==null&&xd(k,P,v);return;case 3:if(P=k.updateQueue,P!==null){if(v=null,k.child!==null)switch(k.child.tag){case 5:v=Re(k.child.stateNode);break;case 1:v=k.child.stateNode}xd(k,P,v)}return;case 5:v=k.stateNode,P===null&&k.flags&4&&ks(v,k.type,k.memoizedProps,k);return;case 6:return;case 4:return;case 12:return;case 13:X&&k.memoizedState===null&&(k=k.alternate,k!==null&&(k=k.memoizedState,k!==null&&(k=k.dehydrated,k!==null&&mc(k))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(u(163))}function AD(v,P){if(R)for(var k=v;;){if(k.tag===5){var H=k.stateNode;P?ap(H):Rs(k.stateNode,k.memoizedProps)}else if(k.tag===6)H=k.stateNode,P?lp(H):Ln(H,k.memoizedProps);else if((k.tag!==23&&k.tag!==24||k.memoizedState===null||k===v)&&k.child!==null){k.child.return=k,k=k.child;continue}if(k===v)break;for(;k.sibling===null;){if(k.return===null||k.return===v)return;k=k.return}k.sibling.return=k.return,k=k.sibling}}function Od(v,P){if(ca&&typeof ca.onCommitFiberUnmount=="function")try{ca.onCommitFiberUnmount(Ze,P)}catch{}switch(P.tag){case 0:case 11:case 14:case 15:case 22:if(v=P.updateQueue,v!==null&&(v=v.lastEffect,v!==null)){var k=v=v.next;do{var H=k,Y=H.destroy;if(H=H.tag,Y!==void 0)if(H&4)vD(P,k);else{H=P;try{Y()}catch(ne){Fu(H,ne)}}k=k.next}while(k!==v)}break;case 1:if(FI(P),v=P.stateNode,typeof v.componentWillUnmount=="function")try{v.props=P.memoizedProps,v.state=P.memoizedState,v.componentWillUnmount()}catch(ne){Fu(P,ne)}break;case 5:FI(P);break;case 4:R?gD(v,P):J&&J&&(P=P.stateNode.containerInfo,v=pc(P),xA(P,v))}}function fD(v,P){for(var k=P;;)if(Od(v,k),k.child===null||R&&k.tag===4){if(k===P)break;for(;k.sibling===null;){if(k.return===null||k.return===P)return;k=k.return}k.sibling.return=k.return,k=k.sibling}else k.child.return=k,k=k.child}function Md(v){v.alternate=null,v.child=null,v.dependencies=null,v.firstEffect=null,v.lastEffect=null,v.memoizedProps=null,v.memoizedState=null,v.pendingProps=null,v.return=null,v.updateQueue=null}function pD(v){return v.tag===5||v.tag===3||v.tag===4}function hD(v){if(R){e:{for(var P=v.return;P!==null;){if(pD(P))break e;P=P.return}throw Error(u(160))}var k=P;switch(P=k.stateNode,k.tag){case 5:var H=!1;break;case 3:P=P.containerInfo,H=!0;break;case 4:P=P.containerInfo,H=!0;break;default:throw Error(u(161))}k.flags&16&&(gu(P),k.flags&=-17);e:t:for(k=v;;){for(;k.sibling===null;){if(k.return===null||pD(k.return)){k=null;break e}k=k.return}for(k.sibling.return=k.return,k=k.sibling;k.tag!==5&&k.tag!==6&&k.tag!==18;){if(k.flags&2||k.child===null||k.tag===4)continue t;k.child.return=k,k=k.child}if(!(k.flags&2)){k=k.stateNode;break e}}H?RI(v,k,P):TI(v,k,P)}}function RI(v,P,k){var H=v.tag,Y=H===5||H===6;if(Y)v=Y?v.stateNode:v.stateNode.instance,P?Fs(k,v,P):Xs(k,v);else if(H!==4&&(v=v.child,v!==null))for(RI(v,P,k),v=v.sibling;v!==null;)RI(v,P,k),v=v.sibling}function TI(v,P,k){var H=v.tag,Y=H===5||H===6;if(Y)v=Y?v.stateNode:v.stateNode.instance,P?bi(k,v,P):$n(k,v);else if(H!==4&&(v=v.child,v!==null))for(TI(v,P,k),v=v.sibling;v!==null;)TI(v,P,k),v=v.sibling}function gD(v,P){for(var k=P,H=!1,Y,ne;;){if(!H){H=k.return;e:for(;;){if(H===null)throw Error(u(160));switch(Y=H.stateNode,H.tag){case 5:ne=!1;break e;case 3:Y=Y.containerInfo,ne=!0;break e;case 4:Y=Y.containerInfo,ne=!0;break e}H=H.return}H=!0}if(k.tag===5||k.tag===6)fD(v,k),ne?SA(Y,k.stateNode):$s(Y,k.stateNode);else if(k.tag===4){if(k.child!==null){Y=k.stateNode.containerInfo,ne=!0,k.child.return=k,k=k.child;continue}}else if(Od(v,k),k.child!==null){k.child.return=k,k=k.child;continue}if(k===P)break;for(;k.sibling===null;){if(k.return===null||k.return===P)return;k=k.return,k.tag===4&&(H=!1)}k.sibling.return=k.return,k=k.sibling}}function NI(v,P){if(R){switch(P.tag){case 0:case 11:case 14:case 15:case 22:Bp(3,P);return;case 1:return;case 5:var k=P.stateNode;if(k!=null){var H=P.memoizedProps;v=v!==null?v.memoizedProps:H;var Y=P.type,ne=P.updateQueue;P.updateQueue=null,ne!==null&&Zs(k,ne,Y,v,H,P)}return;case 6:if(P.stateNode===null)throw Error(u(162));k=P.memoizedProps,Hi(P.stateNode,v!==null?v.memoizedProps:k,k);return;case 3:X&&(P=P.stateNode,P.hydrate&&(P.hydrate=!1,FA(P.containerInfo)));return;case 12:return;case 13:dD(P),w0(P);return;case 19:w0(P);return;case 17:return;case 23:case 24:AD(P,P.memoizedState!==null);return}throw Error(u(163))}switch(P.tag){case 0:case 11:case 14:case 15:case 22:Bp(3,P);return;case 12:return;case 13:dD(P),w0(P);return;case 19:w0(P);return;case 3:X&&(k=P.stateNode,k.hydrate&&(k.hydrate=!1,FA(k.containerInfo)));break;case 23:case 24:return}e:if(J){switch(P.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:P=P.stateNode,xA(P.containerInfo,P.pendingChildren);break e}throw Error(u(163))}}function dD(v){v.memoizedState!==null&&(jI=Dt(),R&&AD(v.child,!0))}function w0(v){var P=v.updateQueue;if(P!==null){v.updateQueue=null;var k=v.stateNode;k===null&&(k=v.stateNode=new WF),P.forEach(function(H){var Y=rR.bind(null,v,H);k.has(H)||(k.add(H),H.then(Y,Y))})}}function YF(v,P){return v!==null&&(v=v.memoizedState,v===null||v.dehydrated!==null)?(P=P.memoizedState,P!==null&&P.dehydrated===null):!1}var Ud=0,_d=1,Hd=2,B0=3,qd=4;if(typeof Symbol=="function"&&Symbol.for){var v0=Symbol.for;Ud=v0("selector.component"),_d=v0("selector.has_pseudo_class"),Hd=v0("selector.role"),B0=v0("selector.test_id"),qd=v0("selector.text")}function jd(v){var P=$(v);if(P!=null){if(typeof P.memoizedProps["data-testname"]!="string")throw Error(u(364));return P}if(v=nr(v),v===null)throw Error(u(362));return v.stateNode.current}function xu(v,P){switch(P.$$typeof){case Ud:if(v.type===P.value)return!0;break;case _d:e:{P=P.value,v=[v,0];for(var k=0;k";case _d:return":has("+(bu(v)||"")+")";case Hd:return'[role="'+v.value+'"]';case qd:return'"'+v.value+'"';case B0:return'[data-testname="'+v.value+'"]';default:throw Error(u(365,v))}}function LI(v,P){var k=[];v=[v,0];for(var H=0;HY&&(Y=Be),k&=~ne}if(k=Y,k=Dt()-k,k=(120>k?120:480>k?480:1080>k?1080:1920>k?1920:3e3>k?3e3:4320>k?4320:1960*VF(k/1960))-k,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}is!==5&&(is=2),ft=E0(ft,_e),Xt=Be;do{switch(Xt.tag){case 3:ne=ft,Xt.flags|=4096,P&=-P,Xt.lanes|=P;var Wn=kI(Xt,ne,P);Sd(Xt,Wn);break e;case 1:ne=ft;var xr=Xt.type,Sn=Xt.stateNode;if(!(Xt.flags&64)&&(typeof xr.getDerivedStateFromError=="function"||Sn!==null&&typeof Sn.componentDidCatch=="function"&&(bl===null||!bl.has(Sn)))){Xt.flags|=4096,P&=-P,Xt.lanes|=P;var Tn=I0(Xt,ne,P);Sd(Xt,Tn);break e}}Xt=Xt.return}while(Xt!==null)}BD(k)}catch(Yr){P=Yr,Oi===k&&k!==null&&(Oi=k=k.return);continue}break}while(!0)}function ID(){var v=Wd.current;return Wd.current=bt,v===null?bt:v}function k0(v,P){var k=Sr;Sr|=16;var H=ID();Os===v&&ms===P||Sp(v,P);do try{JF();break}catch(Y){CD(v,Y)}while(!0);if(a0(),Sr=k,Wd.current=H,Oi!==null)throw Error(u(261));return Os=null,ms=0,is}function JF(){for(;Oi!==null;)wD(Oi)}function XF(){for(;Oi!==null&&!ja();)wD(Oi)}function wD(v){var P=SD(v.alternate,v,VA);v.memoizedProps=v.pendingProps,P===null?BD(v):Oi=P,MI.current=null}function BD(v){var P=v;do{var k=P.alternate;if(v=P.return,P.flags&2048){if(k=jF(P),k!==null){k.flags&=2047,Oi=k;return}v!==null&&(v.firstEffect=v.lastEffect=null,v.flags|=2048)}else{if(k=qF(k,P,VA),k!==null){Oi=k;return}if(k=P,k.tag!==24&&k.tag!==23||k.memoizedState===null||VA&1073741824||!(k.mode&4)){for(var H=0,Y=k.child;Y!==null;)H|=Y.lanes|Y.childLanes,Y=Y.sibling;k.childLanes=H}v!==null&&!(v.flags&2048)&&(v.firstEffect===null&&(v.firstEffect=P.firstEffect),P.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=P.firstEffect),v.lastEffect=P.lastEffect),1Dt()-jI?Sp(v,0):HI|=k),qo(v,P)}function rR(v,P){var k=v.stateNode;k!==null&&k.delete(P),P=0,P===0&&(P=v.mode,P&2?P&4?(Qc===0&&(Qc=vp),P=vn(62914560&~Qc),P===0&&(P=4194304)):P=er()===99?1:2:P=1),k=oo(),v=Jd(v,P),v!==null&&(ua(v,P,k),qo(v,k))}var SD;SD=function(v,P,k){var H=P.lanes;if(v!==null)if(v.memoizedProps!==P.pendingProps||vi.current)Ke=!0;else if(k&H)Ke=!!(v.flags&16384);else{switch(Ke=!1,P.tag){case 3:Td(P),g0();break;case 5:wu(P);break;case 1:qn(P.type)&&aa(P);break;case 4:f0(P,P.stateNode.containerInfo);break;case 10:l0(P,P.memoizedProps.value);break;case 13:if(P.memoizedState!==null)return k&P.child.childLanes?bI(v,P,k):(Bn(oi,oi.current&1),P=Mn(v,P,k),P!==null?P.sibling:null);Bn(oi,oi.current&1);break;case 19:if(H=(k&P.childLanes)!==0,v.flags&64){if(H)return cD(v,P,k);P.flags|=64}var Y=P.memoizedState;if(Y!==null&&(Y.rendering=null,Y.tail=null,Y.lastEffect=null),Bn(oi,oi.current),H)break;return null;case 23:case 24:return P.lanes=0,ai(v,P,k)}return Mn(v,P,k)}else Ke=!1;switch(P.lanes=0,P.tag){case 2:if(H=P.type,v!==null&&(v.alternate=null,P.alternate=null,P.flags|=2),v=P.pendingProps,Y=un(P,Qi.current),Eu(P,k),Y=m0(null,P,H,v,Y,k),P.flags|=1,typeof Y=="object"&&Y!==null&&typeof Y.render=="function"&&Y.$$typeof===void 0){if(P.tag=1,P.memoizedState=null,P.updateQueue=null,qn(H)){var ne=!0;aa(P)}else ne=!1;P.memoizedState=Y.state!==null&&Y.state!==void 0?Y.state:null,hp(P);var Be=H.getDerivedStateFromProps;typeof Be=="function"&&LA(P,H,Be,v),Y.updater=OA,P.stateNode=Y,Y._reactInternals=P,no(P,H,v,k),P=xI(null,P,H,!0,ne,k)}else P.tag=0,At(null,P,Y,k),P=P.child;return P;case 16:Y=P.elementType;e:{switch(v!==null&&(v.alternate=null,P.alternate=null,P.flags|=2),v=P.pendingProps,ne=Y._init,Y=ne(Y._payload),P.type=Y,ne=P.tag=iR(Y),v=to(Y,v),ne){case 0:P=GA(null,P,Y,v,k);break e;case 1:P=lD(null,P,Y,v,k);break e;case 11:P=hr(null,P,Y,v,k);break e;case 14:P=Ir(null,P,Y,to(Y.type,v),H,k);break e}throw Error(u(306,Y,""))}return P;case 0:return H=P.type,Y=P.pendingProps,Y=P.elementType===H?Y:to(H,Y),GA(v,P,H,Y,k);case 1:return H=P.type,Y=P.pendingProps,Y=P.elementType===H?Y:to(H,Y),lD(v,P,H,Y,k);case 3:if(Td(P),H=P.updateQueue,v===null||H===null)throw Error(u(282));if(H=P.pendingProps,Y=P.memoizedState,Y=Y!==null?Y.element:null,u0(v,P),NA(P,H,null,k),H=P.memoizedState.element,H===Y)g0(),P=Mn(v,P,k);else{if(Y=P.stateNode,(ne=Y.hydrate)&&(X?(Uo=dc(P.stateNode.containerInfo),ha=P,ne=ga=!0):ne=!1),ne){if(X&&(v=Y.mutableSourceEagerHydrationData,v!=null))for(Y=0;Y=jt&&ne>=Tr&&Y<=wr&&Be<=Xt){v.splice(P,1);break}else if(H!==jt||k.width!==ft.width||XtBe){if(!(ne!==Tr||k.height!==ft.height||wrY)){jt>H&&(ft.width+=jt-H,ft.x=H),wrne&&(ft.height+=Tr-ne,ft.y=ne),Xtk&&(k=Be)),Be ")+` - -No matching component was found for: - `)+v.join(" > ")}return null},r.getPublicRootInstance=function(v){if(v=v.current,!v.child)return null;switch(v.child.tag){case 5:return Re(v.child.stateNode);default:return v.child.stateNode}},r.injectIntoDevTools=function(v){if(v={bundleType:v.bundleType,version:v.version,rendererPackageName:v.rendererPackageName,rendererConfig:v.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:A.ReactCurrentDispatcher,findHostInstanceByFiber:oR,findFiberByHostInstance:v.findFiberByHostInstance||aR,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")v=!1;else{var P=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!P.isDisabled&&P.supportsFiber)try{Ze=P.inject(v),ca=P}catch{}v=!0}return v},r.observeVisibleRects=function(v,P,k,H){if(!qt)throw Error(u(363));v=OI(v,P);var Y=Xr(v,k,H).disconnect;return{disconnect:function(){Y()}}},r.registerMutableSourceForHydration=function(v,P){var k=P._getVersion;k=k(P._source),v.mutableSourceEagerHydrationData==null?v.mutableSourceEagerHydrationData=[P,k]:v.mutableSourceEagerHydrationData.push(P,k)},r.runWithPriority=function(v,P){var k=Bl;try{return Bl=v,P()}finally{Bl=k}},r.shouldSuspend=function(){return!1},r.unbatchedUpdates=function(v,P){var k=Sr;Sr&=-2,Sr|=8;try{return v(P)}finally{Sr=k,Sr===0&&(Qu(),Pn())}},r.updateContainer=function(v,P,k,H){var Y=P.current,ne=oo(),Be=ss(Y);e:if(k){k=k._reactInternals;t:{if(Ce(k)!==k||k.tag!==1)throw Error(u(170));var _e=k;do{switch(_e.tag){case 3:_e=_e.stateNode.context;break t;case 1:if(qn(_e.type)){_e=_e.stateNode.__reactInternalMemoizedMergedChildContext;break t}}_e=_e.return}while(_e!==null);throw Error(u(171))}if(k.tag===1){var ft=k.type;if(qn(ft)){k=oa(k,ft,_e);break e}}k=_e}else k=No;return P.context===null?P.context=k:P.pendingContext=k,P=Wa(ne,Be),P.payload={element:v},H=H===void 0?null:H,H!==null&&(P.callback=H),Ya(Y,P),Xa(Y,Be,ne),Be},r}});var wCe=_((cKt,ICe)=>{"use strict";ICe.exports=CCe()});var vCe=_((uKt,BCe)=>{"use strict";var xyt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};BCe.exports=xyt});var xCe=_((AKt,SCe)=>{"use strict";var byt=Object.assign||function(t){for(var e=1;e"}}]),t}(),DCe=function(){vk(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){hq(this,t),this.width=e,this.height=r}return vk(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return""}}]),t}(),PCe=function(){function t(e,r){hq(this,t),this.unit=e,this.value=r}return vk(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case au.UNIT_POINT:return String(this.value);case au.UNIT_PERCENT:return this.value+"%";case au.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();SCe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,w=Array(E),D=0;D1?w-1:0),b=1;b1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:au.DIRECTION_LTR;return u.call(this,A,p,h)}),byt({Config:e.Config,Node:e.Node,Layout:t("Layout",Qyt),Size:t("Size",DCe),Value:t("Value",PCe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},au)}});var bCe=_((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof De=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o>2]=0;for(p=A+n;o>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,w,D;h>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` -`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,w=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=w:(w=w+.5,Browser.mainLoop.remainingBlockers=(8*E+w)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(b){Runtime.warnOnce("Blob constructor present but fails: "+b+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var w=Browser.URLObject.createObjectURL(h),D=new Image;D.onload=function(){assert(D.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=D.width,C.height=D.height;var T=C.getContext("2d");T.drawImage(D,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(w),A&&A(n)},D.onerror=function(C){console.log("Image "+w+" could not be decoded"),p&&p()},D.src=w},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(T){h||(h=!0,Module.preloadedAudios[u]=T,A&&A(n))}function w(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var D=new Blob([n],{type:Browser.getMimetype(u)})}catch{return w()}var b=Browser.URLObject.createObjectURL(D),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function U(z){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",le="=",de="",ce=0,me=0,pe=0;pe=6;){var ve=ce>>me-6&63;me-=6,de+=te[ve]}return me==2?(de+=te[(ce&3)<<4],de+=le+le):me==4&&(de+=te[(ce&15)<<2],de+=le),de}C.src="data:audio/x-"+u.substr(-3)+";base64,"+U(n),E(C)},C.src=b,Browser.safeSetTimeout(function(){E(C)},1e4)}else return w()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var w=t.pageX-(a+e.left),D=t.pageY-(n+e.top);w=w*(r/e.width),D=D*(o/e.height),Browser.mouseMovementX=w-Browser.mouseX,Browser.mouseMovementY=D-Browser.mouseY,Browser.mouseX=w,Browser.mouseY=D}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function r(p,h,E,w,D,b){if(h==1){var C=w&896;(C==128||C==256||C==384)&&(p="X const")}var T;return b?T=E.replace("X",p).replace("Y",D):T=p.replace("X",E).replace("Y",D),T.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,w,D){throw new Error(p+" type "+E.replace("X",h+"?")+(w?" with flag "+w:"")+" in "+D)}function a(p,h,E,w,D,b,C,T){b===void 0&&(b="X"),T===void 0&&(T=1);var L=E(p);if(L)return L;var U=w(p),z=U.placeholderFlag,te=e[z];C&&te&&(b=r(C[2],C[0],b,te[0],"?",!0));var le;z==0&&(le="Unbound"),z>=10&&(le="Corrupt"),T>20&&(le="Deeply nested"),le&&o(le,p,b,z,D||"?");var de=U.paramList[0],ce=a(de,h,E,w,D,b,te,T+1),me,pe={flags:te[0],id:p,name:"",paramList:[ce]},ve=[],Ie="?";switch(U.placeholderFlag){case 1:me=ce.spec;break;case 2:if((ce.flags&15360)==1024&&ce.spec.ptrSize==1){pe.flags=7168;break}case 3:case 6:case 5:me=ce.spec,ce.flags&15360;break;case 8:Ie=""+U.paramList[1],pe.paramList.push(U.paramList[1]);break;case 9:for(var g=0,Ce=U.paramList[1];g>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,w){var D=___syscall146.buffers[E];assert(D),w===0||w===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(D,0)),D.length=0):D.push(w)});for(var u=0;u>2],p=HEAP32[o+(u*8+4)>>2],h=0;h"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;tt.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,w=A,D=p;if(n!==_nbind.ptrMarker){var b=h.__nbindConstructor.apply(h,arguments);E=4608,D=HEAPU32[b/4],w=HEAPU32[b/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},T={__nbindFlags:E,__nbindPtr:w};D&&(T.__nbindShared=D,_nbind.mark(h));for(var L=0,U=Object.keys(T);L>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),w=e.DYNAMICTOP_PTR|0,D=e.tempDoublePtr|0,b=e.ABORT|0,C=e.STACKTOP|0,T=e.STACK_MAX|0,L=e.cttz_i8|0,U=e.___dso_handle|0,z=0,te=0,le=0,de=0,ce=t.NaN,me=t.Infinity,pe=0,ve=0,Ie=0,g=0,Ce=0,ye=0,Ae=t.Math.floor,ie=t.Math.abs,Z=t.Math.sqrt,Pe=t.Math.pow,Re=t.Math.cos,gt=t.Math.sin,q=t.Math.tan,rt=t.Math.acos,Te=t.Math.asin,Ne=t.Math.atan,xe=t.Math.atan2,Ye=t.Math.exp,Qe=t.Math.log,it=t.Math.ceil,Ue=t.Math.imul,x=t.Math.min,I=t.Math.max,S=t.Math.clz32,y=t.Math.fround,R=e.abort,J=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,se=e.abortOnCannotGrowMemory,be=e.invoke_viiiii,Fe=e.invoke_vif,lt=e.invoke_vid,Et=e.invoke_fiff,qt=e.invoke_vi,nr=e.invoke_vii,St=e.invoke_ii,cn=e.invoke_viddi,Pr=e.invoke_vidd,yr=e.invoke_iiii,Rr=e.invoke_diii,Xr=e.invoke_di,$n=e.invoke_iid,Xs=e.invoke_iii,Hi=e.invoke_viiddi,ks=e.invoke_viiiiii,Zs=e.invoke_dii,bi=e.invoke_i,Fs=e.invoke_iiiiii,$s=e.invoke_viiid,SA=e.invoke_viififi,gu=e.invoke_viii,ap=e.invoke_v,lp=e.invoke_viid,Rs=e.invoke_idd,Ln=e.invoke_viiii,hs=e._emscripten_asm_const_iiiii,Ts=e._emscripten_asm_const_iiidddddd,pc=e._emscripten_asm_const_iiiid,hc=e.__nbind_reference_external,gc=e._emscripten_asm_const_iiiiiiii,xA=e._removeAccessorPrefix,bA=e._typeModule,Ro=e.__nbind_register_pool,To=e.__decorate,QA=e._llvm_stackrestore,pr=e.___cxa_atexit,Me=e.__extends,ia=e.__nbind_get_value_object,dc=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Er=e._emscripten_set_main_loop_timing,du=e.__nbind_register_primitive,kA=e.__nbind_register_type,FA=e._emscripten_memcpy_big,mc=e.__nbind_register_function,yc=e.___setErrNo,Il=e.__nbind_register_class,we=e.__nbind_finish,Tt=e._abort,wl=e._nbind_value,Bi=e._llvm_stacksave,Ns=e.___syscall54,Ft=e._defineHidden,Bn=e._emscripten_set_main_loop,No=e._emscripten_get_now,Qi=e.__nbind_register_callback_signature,vi=e._emscripten_asm_const_iiiiii,sa=e.__nbind_free_external,un=e._emscripten_asm_const_iiii,qn=e._emscripten_asm_const_iiididi,Ec=e.___syscall6,cp=e._atexit,oa=e.___syscall140,aa=e.___syscall146,la=y(0);let Ze=y(0);function ca(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function mu(){return C|0}function Bl(s){s=s|0,C=s}function dn(s,l){s=s|0,l=l|0,C=s,T=l}function Lo(s,l){s=s|0,l=l|0,z||(z=s,te=l)}function RA(s){s=s|0,ye=s}function TA(){return ye|0}function Oo(){var s=0,l=0;br(8104,8,400)|0,br(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,pr(17,8104,U|0)|0}function qa(s){s=s|0,ht(s+948|0)}function Ot(s){return s=y(s),((AD(s)|0)&2147483647)>>>0>2139095040|0}function vn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(!1);return s|0}function Mo(s){s=s|0;var l=0;return l=_D(1e3)|0,ua(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,br(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function ua(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,y0(s,5,3197,f)),C=d}function qi(){return Mo(956)|0}function vl(s){s=s|0;var l=0;return l=Yt(1e3)|0,Cc(l,s),ua(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function Cc(s,l){s=s|0,l=l|0;var c=0;br(s|0,l|0,948)|0,Rd(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function Dl(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Aa(c+948|0,s)|0,n[l>>2]=0),c=Di(s)|0,c|0){l=0;do n[(rs(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ja(c),HD(s),n[2276]=(n[2276]|0)+-1}function Aa(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0;f=n[s>>2]|0,Q=s+4|0,c=n[Q>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(!1);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(iw(d|0,f|0,s|0)|0,c=n[Q>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[Q>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function Di(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function rs(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function ja(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Od(l,d,d,s+8|0),fD(s,l),Md(l)),C=f}function yu(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0;M=Di(s)|0;do if(M|0){if((n[(rs(s,0)|0)+944>>2]|0)==(s|0)){if(!(Aa(s+948|0,l)|0))break;br(l+400|0,8504,540)|0,n[l+944>>2]=0,Le(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,Q=s+948|0,F=(B|0)==0,c=0,m=0;do f=n[(n[Q>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?Le(s):(d=vl(f)|0,n[(n[Q>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,F||gT[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0>>0){F=s+948|0,Q=s+952|0,B=c,c=n[Q>>2]|0;do m=(n[F>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(iw(m|0,f|0,d|0)|0,c=n[Q>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[Q>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(!1)}function Pl(s){s=s|0;var l=0,c=0,f=0,d=0;pi(s,(Di(s)|0)==0,2491),pi(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),ja(l),l=s+976|0,c=n[l>>2]|0,br(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function pi(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,so(s,5,3197,f)),C=d}function Dn(){return n[2276]|0}function Sl(){var s=0;return s=_D(20)|0,ze((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function ze(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,so(0,5,3197,c)),C=f}function st(s){s=s|0,HD(s),n[2277]=(n[2277]|0)+-1}function vt(s,l){s=s|0,l=l|0;var c=0;l?(pi(s,(Di(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function ar(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,pi(s,(n[l+944>>2]|0)==0,2709),pi(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],Ee(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,Le(s),C=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;if(c=Di(s)|0,c|0&&(n[(rs(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,Q=vl(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=Q,n[Q+944>>2]=s,m||gT[f&15](B,Q,s,l),l=l+1|0;while((l|0)!=(c|0))}}function Ee(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0,tt=0,Xe=0;tt=C,C=C+64|0,j=tt+52|0,Q=tt+48|0,oe=tt+28|0,We=tt+24|0,Oe=tt+20|0,ke=tt,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}pD(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0>>0&&Zr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Od(ke,M>>2>>>0>>1>>>0?m>>>0>>0?f:m:d,l-O>>2,s+8|0),O=ke+8|0,f=n[O>>2]|0,m=ke+12|0,M=n[m>>2]|0,B=M,F=f;do if((f|0)==(M|0)){if(M=ke+4|0,f=n[M>>2]|0,Xe=n[ke>>2]|0,d=Xe,f>>>0<=Xe>>>0){f=B-d>>1,f=f|0?f:1,Od(oe,f,f>>>2,n[ke+16>>2]|0),n[We>>2]=n[M>>2],n[Oe>>2]=n[O>>2],n[Q>>2]=n[We>>2],n[j>>2]=n[Oe>>2],RI(oe,Q,j),f=n[ke>>2]|0,n[ke>>2]=n[oe>>2],n[oe>>2]=f,f=oe+4|0,Xe=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Xe,f=oe+8|0,Xe=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Xe,f=oe+12|0,Xe=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Xe,Md(oe),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,Q=f+(B<<2)|0,d=F-m|0,m=d>>2,m&&(iw(Q|0,f|0,d|0)|0,f=n[M>>2]|0),Xe=Q+(m<<2)|0,n[O>>2]=Xe,n[M>>2]=f+(B<<2),f=Xe}while(!1);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=hD(s,ke,l)|0,Md(ke)}while(!1);return C=tt,l|0}function Le(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(ce),s=n[s+944>>2]|0}while(s|0)}function ht(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),yt(c))}function mt(s){return s=s|0,n[s+944>>2]|0}function Dt(s){s=s|0,pi(s,(n[s+964>>2]|0)!=0,2832),Le(s)}function er(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function sn(s,l){s=s|0,l=l|0,vUe(s,l,400)|0&&(br(s|0,l|0,400)|0,Le(s))}function ei(s){s=s|0;var l=Ze;return l=y(h[s+44>>2]),s=Ot(l)|0,y(s?y(0):l)}function ki(s){s=s|0;var l=Ze;return l=y(h[s+48>>2]),Ot(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function Pn(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function fa(s){return s=s|0,n[s+980>>2]|0}function vd(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function DI(s){return s=s|0,n[s+4>>2]|0}function eo(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Dd(s){return s=s|0,n[s+8>>2]|0}function up(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function PI(s){return s=s|0,n[s+12>>2]|0}function to(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Ap(s){return s=s|0,n[s+16>>2]|0}function fp(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Ic(s){return s=s|0,n[s+20>>2]|0}function pp(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function a0(s){return s=s|0,n[s+24>>2]|0}function l0(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function c0(s){return s=s|0,n[s+28>>2]|0}function Pd(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Eu(s){return s=s|0,n[s+32>>2]|0}function ro(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Le(s))}function Ga(s){return s=s|0,n[s+36>>2]|0}function hp(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function u0(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Wa(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function Ya(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Sd(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,Le(s))}function NA(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function xd(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function bd(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function LA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function OA(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function W(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function xt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function MA(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(ce),n[c>>2]=3,Le(s))}function no(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Cu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Le(s))}function Qd(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function A0(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function SI(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,Le(s))}function gp(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(ce),n[l>>2]=3,Le(s))}function cr(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Li(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function Iu(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,Le(s))}function pa(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(ce),n[l>>2]=3,Le(s))}function f0(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Bc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function wu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function wt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function oi(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function UA(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function ha(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Uo(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function ga(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function p0(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function dp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function h0(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Le(s))}function kd(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function _A(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,Le(s))}function g0(s){return s=s|0,y(h[s+396>>2])}function vc(s){return s=s|0,y(h[s+400>>2])}function Dc(s){return s=s|0,y(h[s+404>>2])}function Bu(s){return s=s|0,y(h[s+408>>2])}function gs(s){return s=s|0,y(h[s+412>>2])}function Pc(s){return s=s|0,y(h[s+416>>2])}function On(s){return s=s|0,y(h[s+420>>2])}function ji(s,l){switch(s=s|0,l=l|0,pi(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function Ci(s,l){switch(s=s|0,l=l|0,pi(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function HA(s,l){switch(s=s|0,l=l|0,pi(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function vu(s,l){s=s|0,l=l|0;var c=0,f=Ze;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ie(y(f-y(h[l>>2]))))>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,dc(f|0,s|0,l|0,0),so(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),KUe(f),C=c}function Gi(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=Ze;s=y(s*l),d=y(cT(s,y(1)));do if(An(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),An(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=An(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(!1);return y(s/l)}function Ka(s,l,c,f,d,m,B,Q,F,M,O,j,oe){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,Q=y(Q),F=y(F),M=y(M),O=y(O),j=y(j),oe=oe|0;var We=0,Oe=Ze,ke=Ze,tt=Ze,Xe=Ze,ct=Ze,He=Ze;return F>2]),Oe!=y(0))?(tt=y(Gi(l,Oe,0,0)),Xe=y(Gi(f,Oe,0,0)),ke=y(Gi(m,Oe,0,0)),Oe=y(Gi(Q,Oe,0,0))):(ke=m,tt=l,Oe=Q,Xe=f),(d|0)==(s|0)?We=An(ke,tt)|0:We=0,(B|0)==(c|0)?oe=An(Oe,Xe)|0:oe=0,!We&&(ct=y(l-O),!(io(s,ct,F)|0))&&!(Du(s,ct,d,F)|0)?We=Pu(s,ct,d,m,F)|0:We=1,!oe&&(He=y(f-j),!(io(c,He,M)|0))&&!(Du(c,He,B,M)|0)?oe=Pu(c,He,B,Q,M)|0:oe=1,oe=We&oe),oe|0}function io(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=An(l,c)|0:s=0,s|0}function Du(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=An(l,f)|0:s=0,s|0}function Pu(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=An(l,d)|0:s=0,s|0}function Va(s,l,c,f,d,m,B,Q,F,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),F=F|0,M=M|0,O=O|0;var j=0,oe=0,We=0,Oe=0,ke=Ze,tt=Ze,Xe=0,ct=0,He=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,Qr=0,Or=0,lr=0,Nn=Ze,lo=Ze,co=Ze,uo=0,Ia=0;lr=C,C=C+160|0,Zt=lr+152|0,ur=lr+120|0,_r=lr+104|0,He=lr+72|0,Oe=lr+56|0,Lt=lr+8|0,ct=lr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,Qr=s+984|0,o[Qr>>0]|0&&(n[s+512>>2]|0)!=(n[2278]|0)?Xe=4:(n[s+516>>2]|0)==(f|0)?Or=0:Xe=4,(Xe|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Or=1);e:do if(n[s+964>>2]|0)if(ke=y(fn(s,2,B)),tt=y(fn(s,0,B)),j=s+916|0,co=y(h[j>>2]),lo=y(h[s+920>>2]),Nn=y(h[s+932>>2]),Ka(d,l,m,c,n[s+924>>2]|0,co,n[s+928>>2]|0,lo,Nn,y(h[s+936>>2]),ke,tt,O)|0)Xe=22;else if(We=n[s+520>>2]|0,!We)Xe=21;else for(oe=0;;){if(j=s+524+(oe*24|0)|0,Nn=y(h[j>>2]),lo=y(h[s+524+(oe*24|0)+4>>2]),co=y(h[s+524+(oe*24|0)+16>>2]),Ka(d,l,m,c,n[s+524+(oe*24|0)+8>>2]|0,Nn,n[s+524+(oe*24|0)+12>>2]|0,lo,co,y(h[s+524+(oe*24|0)+20>>2]),ke,tt,O)|0){Xe=22;break e}if(oe=oe+1|0,oe>>>0>=We>>>0){Xe=21;break}}else{if(F){if(j=s+916|0,!(An(y(h[j>>2]),l)|0)){Xe=21;break}if(!(An(y(h[s+920>>2]),c)|0)){Xe=21;break}if((n[s+924>>2]|0)!=(d|0)){Xe=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Xe=22;break}if(We=n[s+520>>2]|0,!We)Xe=21;else for(oe=0;;){if(j=s+524+(oe*24|0)|0,An(y(h[j>>2]),l)|0&&An(y(h[s+524+(oe*24|0)+4>>2]),c)|0&&(n[s+524+(oe*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(oe*24|0)+12>>2]|0)==(m|0)){Xe=22;break e}if(oe=oe+1|0,oe>>>0>=We>>>0){Xe=21;break}}}while(!1);do if((Xe|0)==21)o[11697]|0?(j=0,Xe=28):(j=0,Xe=31);else if((Xe|0)==22){if(oe=(o[11697]|0)!=0,!((j|0)!=0&(Or^1)))if(oe){Xe=28;break}else{Xe=31;break}Oe=j+16|0,n[s+908>>2]=n[Oe>>2],We=j+20|0,n[s+912>>2]=n[We>>2],(o[11698]|0)==0|oe^1||(n[ct>>2]=Sc(Ge)|0,n[ct+4>>2]=Ge,so(s,4,2972,ct),oe=n[s+972>>2]|0,oe|0&&ef[oe&127](s),d=_o(d,F)|0,m=_o(m,F)|0,Ia=+y(h[Oe>>2]),uo=+y(h[We>>2]),n[Lt>>2]=d,n[Lt+4>>2]=m,E[Lt+8>>3]=+l,E[Lt+16>>3]=+c,E[Lt+24>>3]=Ia,E[Lt+32>>3]=uo,n[Lt+40>>2]=M,so(s,4,2989,Lt))}while(!1);return(Xe|0)==28&&(oe=Sc(Ge)|0,n[Oe>>2]=oe,n[Oe+4>>2]=Ge,n[Oe+8>>2]=Or?3047:11699,so(s,4,3038,Oe),oe=n[s+972>>2]|0,oe|0&&ef[oe&127](s),Lt=_o(d,F)|0,Xe=_o(m,F)|0,n[He>>2]=Lt,n[He+4>>2]=Xe,E[He+8>>3]=+l,E[He+16>>3]=+c,n[He+24>>2]=M,so(s,4,3049,He),Xe=31),(Xe|0)==31&&(ds(s,l,c,f,d,m,B,Q,F,O),o[11697]|0&&(oe=n[2279]|0,Lt=Sc(oe)|0,n[_r>>2]=Lt,n[_r+4>>2]=oe,n[_r+8>>2]=Or?3047:11699,so(s,4,3083,_r),oe=n[s+972>>2]|0,oe|0&&ef[oe&127](s),Lt=_o(d,F)|0,_r=_o(m,F)|0,uo=+y(h[s+908>>2]),Ia=+y(h[s+912>>2]),n[ur>>2]=Lt,n[ur+4>>2]=_r,E[ur+8>>3]=uo,E[ur+16>>3]=Ia,n[ur+24>>2]=M,so(s,4,3092,ur)),n[s+516>>2]=f,j||(oe=s+520|0,j=n[oe>>2]|0,(j|0)==16&&(o[11697]|0&&so(s,4,3124,Zt),n[oe>>2]=0,j=0),F?j=s+916|0:(n[oe>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),F&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Qr>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=lr,Or|(j|0)==0|0}function fn(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(V(s,l,c)),y(f+y(re(s,l,c)))}function so(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,Ep(f,s,l,c,d),C=m}function Sc(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function _o(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function ds(s,l,c,f,d,m,B,Q,F,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),F=F|0,M=M|0;var O=0,j=0,oe=0,We=0,Oe=Ze,ke=Ze,tt=Ze,Xe=Ze,ct=Ze,He=Ze,Ge=Ze,Lt=0,_r=0,ur=0,Zt=Ze,Qr=Ze,Or=0,lr=Ze,Nn=0,lo=0,co=0,uo=0,Ia=0,Lp=0,Op=0,Ql=0,Mp=0,Lu=0,Ou=0,Up=0,_p=0,Hp=0,$r=0,kl=0,qp=0,Nc=0,jp=Ze,Gp=Ze,Mu=Ze,Uu=Ze,Lc=Ze,Ms=0,rl=0,Go=0,Fl=0,rf=0,nf=Ze,_u=Ze,sf=Ze,of=Ze,Us=Ze,Cs=Ze,Rl=0,Un=Ze,af=Ze,Ao=Ze,Oc=Ze,fo=Ze,Mc=Ze,lf=0,cf=0,Uc=Ze,_s=Ze,Tl=0,uf=0,Af=0,ff=0,Fr=Ze,ri=0,Is=0,po=0,Hs=0,Nr=0,Ar=0,Nl=0,Vt=Ze,pf=0,hi=0;Nl=C,C=C+16|0,Ms=Nl+12|0,rl=Nl+8|0,Go=Nl+4|0,Fl=Nl,pi(s,(d|0)==0|(Ot(l)|0)^1,3326),pi(s,(m|0)==0|(Ot(c)|0)^1,3406),Is=At(s,f)|0,n[s+496>>2]=Is,Nr=hr(2,Is)|0,Ar=hr(0,Is)|0,h[s+440>>2]=y(V(s,Nr,B)),h[s+444>>2]=y(re(s,Nr,B)),h[s+428>>2]=y(V(s,Ar,B)),h[s+436>>2]=y(re(s,Ar,B)),h[s+464>>2]=y(Ir(s,Nr)),h[s+468>>2]=y(Rn(s,Nr)),h[s+452>>2]=y(Ir(s,Ar)),h[s+460>>2]=y(Rn(s,Ar)),h[s+488>>2]=y(ai(s,Nr,B)),h[s+492>>2]=y(ns(s,Nr,B)),h[s+476>>2]=y(ai(s,Ar,B)),h[s+484>>2]=y(ns(s,Ar,B));do if(n[s+964>>2]|0)GA(s,l,c,d,m,B,Q);else{if(po=s+948|0,Hs=(n[s+952>>2]|0)-(n[po>>2]|0)>>2,!Hs){lD(s,l,c,d,m,B,Q);break}if(!F&&xI(s,l,c,d,m,B,Q)|0)break;ee(s),kl=s+508|0,o[kl>>0]=0,Nr=hr(n[s+4>>2]|0,Is)|0,Ar=Td(Nr,Is)|0,ri=he(Nr)|0,qp=n[s+8>>2]|0,uf=s+28|0,Nc=(n[uf>>2]|0)!=0,fo=ri?B:Q,Uc=ri?Q:B,jp=y(Ip(s,Nr,B)),Gp=y(bI(s,Nr,B)),Oe=y(Ip(s,Ar,B)),Mc=y(da(s,Nr,B)),_s=y(da(s,Ar,B)),ur=ri?d:m,Tl=ri?m:d,Fr=ri?Mc:_s,ct=ri?_s:Mc,Oc=y(fn(s,2,B)),Xe=y(fn(s,0,B)),ke=y(y(Kr(s+364|0,B))-Fr),tt=y(y(Kr(s+380|0,B))-Fr),He=y(y(Kr(s+372|0,Q))-ct),Ge=y(y(Kr(s+388|0,Q))-ct),Mu=ri?ke:He,Uu=ri?tt:Ge,Oc=y(l-Oc),l=y(Oc-Fr),Ot(l)|0?Fr=l:Fr=y(Yn(y(_0(l,tt)),ke)),af=y(c-Xe),l=y(af-ct),Ot(l)|0?Ao=l:Ao=y(Yn(y(_0(l,Ge)),He)),ke=ri?Fr:Ao,Un=ri?Ao:Fr;e:do if((ur|0)==1)for(f=0,j=0;;){if(O=rs(s,j)|0,!f)y(WA(O))>y(0)&&y(wp(O))>y(0)?f=O:f=0;else if(QI(O)|0){We=0;break e}if(j=j+1|0,j>>>0>=Hs>>>0){We=f;break}}else We=0;while(!1);Lt=We+500|0,_r=We+504|0,f=0,O=0,l=y(0),oe=0;do{if(j=n[(n[po>>2]|0)+(oe<<2)>>2]|0,(n[j+36>>2]|0)==1)Nd(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Su(j),F&&yp(j,At(j,Is)|0,ke,Un,Fr);do if((n[j+24>>2]|0)!=1)if((j|0)==(We|0)){n[Lt>>2]=n[2278],h[_r>>2]=y(0);break}else{cD(s,j,Fr,d,Ao,Fr,Ao,m,Is,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=f|0?f:j;while(!1);Cs=y(h[j+504>>2]),l=y(l+y(Cs+y(fn(j,Nr,Fr))))}oe=oe+1|0}while((oe|0)!=(Hs|0));for(co=l>ke,Rl=Nc&((ur|0)==2&co)?1:ur,Nn=(Tl|0)==1,Ia=Nn&(F^1),Lp=(Rl|0)==1,Op=(Rl|0)==2,Ql=976+(Nr<<2)|0,Mp=(Tl|2|0)==2,Hp=Nn&(Nc^1),Lu=1040+(Ar<<2)|0,Ou=1040+(Nr<<2)|0,Up=976+(Ar<<2)|0,_p=(Tl|0)!=1,co=Nc&((ur|0)!=0&co),lo=s+976|0,Nn=Nn^1,l=ke,Or=0,uo=0,Cs=y(0),Lc=y(0);;){e:do if(Or>>>0>>0)for(_r=n[po>>2]|0,oe=0,Ge=y(0),He=y(0),tt=y(0),ke=y(0),j=0,O=0,We=Or;;){if(Lt=n[_r+(We<<2)>>2]|0,(n[Lt+36>>2]|0)!=1&&(n[Lt+940>>2]=uo,(n[Lt+24>>2]|0)!=1)){if(Xe=y(fn(Lt,Nr,Fr)),$r=n[Ql>>2]|0,c=y(Kr(Lt+380+($r<<3)|0,fo)),ct=y(h[Lt+504>>2]),c=y(_0(c,ct)),c=y(Yn(y(Kr(Lt+364+($r<<3)|0,fo)),c)),Nc&(oe|0)!=0&y(Xe+y(He+c))>l){m=oe,Xe=Ge,ur=We;break e}Xe=y(Xe+c),c=y(He+Xe),Xe=y(Ge+Xe),QI(Lt)|0&&(tt=y(tt+y(WA(Lt))),ke=y(ke-y(ct*y(wp(Lt))))),O|0&&(n[O+960>>2]=Lt),n[Lt+960>>2]=0,oe=oe+1|0,O=Lt,j=j|0?j:Lt}else Xe=Ge,c=He;if(We=We+1|0,We>>>0>>0)Ge=Xe,He=c;else{m=oe,ur=We;break}}else m=0,Xe=y(0),tt=y(0),ke=y(0),j=0,ur=Or;while(!1);$r=tt>y(0)&tty(0)&keUu&((Ot(Uu)|0)^1))l=Uu,$r=51;else if(o[(n[lo>>2]|0)+3>>0]|0)$r=51;else{if(Zt!=y(0)&&y(WA(s))!=y(0)){$r=53;break}l=Xe,$r=53}while(!1);if(($r|0)==51&&($r=0,Ot(l)|0?$r=53:(Qr=y(l-Xe),lr=l)),($r|0)==53&&($r=0,Xe>2]|0,We=Qry(0),He=y(Qr/Zt),tt=y(0),Xe=y(0),l=y(0),O=j;do c=y(Kr(O+380+(oe<<3)|0,fo)),ke=y(Kr(O+364+(oe<<3)|0,fo)),ke=y(_0(c,y(Yn(ke,y(h[O+504>>2]))))),We?(c=y(ke*y(wp(O))),c!=y(-0)&&(Vt=y(ke-y(ct*c)),nf=y(Mn(O,Nr,Vt,lr,Fr)),Vt!=nf)&&(tt=y(tt-y(nf-ke)),l=y(l+c))):Lt&&(_u=y(WA(O)),_u!=y(0))&&(Vt=y(ke+y(He*_u)),sf=y(Mn(O,Nr,Vt,lr,Fr)),Vt!=sf)&&(tt=y(tt-y(sf-ke)),Xe=y(Xe-_u)),O=n[O+960>>2]|0;while(O|0);if(l=y(Ge+l),ke=y(Qr+tt),rf)l=y(0);else{ct=y(Zt+Xe),We=n[Ql>>2]|0,Lt=key(0),ct=y(ke/ct),l=y(0);do{Vt=y(Kr(j+380+(We<<3)|0,fo)),tt=y(Kr(j+364+(We<<3)|0,fo)),tt=y(_0(Vt,y(Yn(tt,y(h[j+504>>2]))))),Lt?(Vt=y(tt*y(wp(j))),ke=y(-Vt),Vt!=y(-0)?(Vt=y(He*ke),ke=y(Mn(j,Nr,y(tt+(_r?ke:Vt)),lr,Fr))):ke=tt):oe&&(of=y(WA(j)),of!=y(0))?ke=y(Mn(j,Nr,y(tt+y(ct*of)),lr,Fr)):ke=tt,l=y(l-y(ke-tt)),Xe=y(fn(j,Nr,Fr)),c=y(fn(j,Ar,Fr)),ke=y(ke+Xe),h[rl>>2]=ke,n[Fl>>2]=1,tt=y(h[j+396>>2]);e:do if(Ot(tt)|0){O=Ot(Un)|0;do if(!O){if(co|(Ls(j,Ar,Un)|0|Nn)||(Wi(s,j)|0)!=4||(n[(za(j,Ar)|0)+4>>2]|0)==3||(n[(Ja(j,Ar)|0)+4>>2]|0)==3)break;h[Ms>>2]=Un,n[Go>>2]=1;break e}while(!1);if(Ls(j,Ar,Un)|0){O=n[j+992+(n[Up>>2]<<2)>>2]|0,Vt=y(c+y(Kr(O,Un))),h[Ms>>2]=Vt,O=_p&(n[O+4>>2]|0)==2,n[Go>>2]=((Ot(Vt)|0|O)^1)&1;break}else{h[Ms>>2]=Un,n[Go>>2]=O?0:2;break}}else Vt=y(ke-Xe),Zt=y(Vt/tt),Vt=y(tt*Vt),n[Go>>2]=1,h[Ms>>2]=y(c+(ri?Zt:Vt));while(!1);xc(j,Nr,lr,Fr,Fl,rl),xc(j,Ar,Un,Fr,Go,Ms);do if(!(Ls(j,Ar,Un)|0)&&(Wi(s,j)|0)==4){if((n[(za(j,Ar)|0)+4>>2]|0)==3){O=0;break}O=(n[(Ja(j,Ar)|0)+4>>2]|0)!=3}else O=0;while(!1);Vt=y(h[rl>>2]),Zt=y(h[Ms>>2]),pf=n[Fl>>2]|0,hi=n[Go>>2]|0,Va(j,ri?Vt:Zt,ri?Zt:Vt,Is,ri?pf:hi,ri?hi:pf,Fr,Ao,F&(O^1),3488,M)|0,o[kl>>0]=o[kl>>0]|o[j+508>>0],j=n[j+960>>2]|0}while(j|0)}}else l=y(0);if(l=y(Qr+l),hi=l>0]=hi|u[kl>>0],Op&l>y(0)?(O=n[Ql>>2]|0,n[s+364+(O<<3)+4>>2]|0&&(Us=y(Kr(s+364+(O<<3)|0,fo)),Us>=y(0))?ke=y(Yn(y(0),y(Us-y(lr-l)))):ke=y(0)):ke=l,Lt=Or>>>0>>0,Lt){We=n[po>>2]|0,oe=Or,O=0;do j=n[We+(oe<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(za(j,Nr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Ja(j,Nr)|0)+4>>2]|0)==3&1)|0),oe=oe+1|0;while((oe|0)!=(ur|0));O?(Xe=y(0),c=y(0)):$r=101}else $r=101;e:do if(($r|0)==101)switch($r=0,qp|0){case 1:{O=0,Xe=y(ke*y(.5)),c=y(0);break e}case 2:{O=0,Xe=ke,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Xe=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Xe=y(0),c=y(y(Yn(ke,y(0)))/c);break e}case 5:{c=y(ke/y((m+1|0)>>>0)),O=0,Xe=c;break e}case 4:{c=y(ke/y(m>>>0)),O=0,Xe=y(c*y(.5));break e}default:{O=0,Xe=y(0),c=y(0);break e}}while(!1);if(l=y(jp+Xe),Lt){tt=y(ke/y(O|0)),oe=n[po>>2]|0,j=Or,ke=y(0);do{O=n[oe+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(Ho(O,Nr)|0){if(!F)break e;Vt=y(YA(O,Nr,lr)),Vt=y(Vt+y(Ir(s,Nr))),Vt=y(Vt+y(V(O,Nr,Fr))),h[O+400+(n[Ou>>2]<<2)>>2]=Vt;break e}break}case 0:if(hi=(n[(za(O,Nr)|0)+4>>2]|0)==3,Vt=y(tt+l),l=hi?Vt:l,F&&(hi=O+400+(n[Ou>>2]<<2)|0,h[hi>>2]=y(l+y(h[hi>>2]))),hi=(n[(Ja(O,Nr)|0)+4>>2]|0)==3,Vt=y(tt+l),l=hi?Vt:l,Ia){Vt=y(c+y(fn(O,Nr,Fr))),ke=Un,l=y(l+y(Vt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(KA(O,Nr,Fr)))),ke=y(Yn(ke,y(KA(O,Ar,Fr))));break e}default:}F&&(Vt=y(Xe+y(Ir(s,Nr))),hi=O+400+(n[Ou>>2]<<2)|0,h[hi>>2]=y(Vt+y(h[hi>>2])))}while(!1);j=j+1|0}while((j|0)!=(ur|0))}else ke=y(0);if(c=y(Gp+l),Mp?Xe=y(y(Mn(s,Ar,y(_s+ke),Uc,B))-_s):Xe=Un,tt=y(y(Mn(s,Ar,y(_s+(Hp?Un:ke)),Uc,B))-_s),Lt&F){j=Or;do{oe=n[(n[po>>2]|0)+(j<<2)>>2]|0;do if((n[oe+36>>2]|0)!=1){if((n[oe+24>>2]|0)==1){if(Ho(oe,Ar)|0){if(Vt=y(YA(oe,Ar,Un)),Vt=y(Vt+y(Ir(s,Ar))),Vt=y(Vt+y(V(oe,Ar,Fr))),O=n[Lu>>2]|0,h[oe+400+(O<<2)>>2]=Vt,!(Ot(Vt)|0))break}else O=n[Lu>>2]|0;Vt=y(Ir(s,Ar)),h[oe+400+(O<<2)>>2]=y(Vt+y(V(oe,Ar,Fr)));break}O=Wi(s,oe)|0;do if((O|0)==4){if((n[(za(oe,Ar)|0)+4>>2]|0)==3){$r=139;break}if((n[(Ja(oe,Ar)|0)+4>>2]|0)==3){$r=139;break}if(Ls(oe,Ar,Un)|0){l=Oe;break}pf=n[oe+908+(n[Ql>>2]<<2)>>2]|0,n[Ms>>2]=pf,l=y(h[oe+396>>2]),hi=Ot(l)|0,ke=(n[D>>2]=pf,y(h[D>>2])),hi?l=tt:(Qr=y(fn(oe,Ar,Fr)),Vt=y(ke/l),l=y(l*ke),l=y(Qr+(ri?Vt:l))),h[rl>>2]=l,h[Ms>>2]=y(y(fn(oe,Nr,Fr))+ke),n[Go>>2]=1,n[Fl>>2]=1,xc(oe,Nr,lr,Fr,Go,Ms),xc(oe,Ar,Un,Fr,Fl,rl),l=y(h[Ms>>2]),Qr=y(h[rl>>2]),Vt=ri?l:Qr,l=ri?Qr:l,hi=((Ot(Vt)|0)^1)&1,Va(oe,Vt,l,Is,hi,((Ot(l)|0)^1)&1,Fr,Ao,1,3493,M)|0,l=Oe}else $r=139;while(!1);e:do if(($r|0)==139){$r=0,l=y(Xe-y(KA(oe,Ar,Fr)));do if((n[(za(oe,Ar)|0)+4>>2]|0)==3){if((n[(Ja(oe,Ar)|0)+4>>2]|0)!=3)break;l=y(Oe+y(Yn(y(0),y(l*y(.5)))));break e}while(!1);if((n[(Ja(oe,Ar)|0)+4>>2]|0)==3){l=Oe;break}if((n[(za(oe,Ar)|0)+4>>2]|0)==3){l=y(Oe+y(Yn(y(0),l)));break}switch(O|0){case 1:{l=Oe;break e}case 2:{l=y(Oe+y(l*y(.5)));break e}default:{l=y(Oe+l);break e}}}while(!1);Vt=y(Cs+l),hi=oe+400+(n[Lu>>2]<<2)|0,h[hi>>2]=y(Vt+y(h[hi>>2]))}while(!1);j=j+1|0}while((j|0)!=(ur|0))}if(Cs=y(Cs+tt),Lc=y(Yn(Lc,c)),m=uo+1|0,ur>>>0>=Hs>>>0)break;l=lr,Or=ur,uo=m}do if(F){if(O=m>>>0>1,!O&&!(qF(s)|0))break;if(!(Ot(Un)|0)){l=y(Un-Cs);e:do switch(n[s+12>>2]|0){case 3:{Oe=y(Oe+l),He=y(0);break}case 2:{Oe=y(Oe+y(l*y(.5))),He=y(0);break}case 4:{Un>Cs?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Un>Cs){Oe=y(Oe+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=O?He:y(0);break e}else{Oe=y(Oe+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(uo>>>0)),He=Un>Cs&O?He:y(0);break}default:He=y(0)}while(!1);if(m|0)for(Lt=1040+(Ar<<2)|0,_r=976+(Ar<<2)|0,We=0,j=0;;){e:do if(j>>>0>>0)for(ke=y(0),tt=y(0),l=y(0),oe=j;;){O=n[(n[po>>2]|0)+(oe<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&!(n[O+24>>2]|0)){if((n[O+940>>2]|0)!=(We|0))break e;if(jF(O,Ar)|0&&(Vt=y(h[O+908+(n[_r>>2]<<2)>>2]),l=y(Yn(l,y(Vt+y(fn(O,Ar,Fr)))))),(Wi(s,O)|0)!=5)break;Us=y(E0(O)),Us=y(Us+y(V(O,0,Fr))),Vt=y(h[O+912>>2]),Vt=y(y(Vt+y(fn(O,0,Fr)))-Us),Us=y(Yn(tt,Us)),Vt=y(Yn(ke,Vt)),ke=Vt,tt=Us,l=y(Yn(l,y(Us+Vt)))}while(!1);if(O=oe+1|0,O>>>0>>0)oe=O;else{oe=O;break}}else tt=y(0),l=y(0),oe=j;while(!1);if(ct=y(He+l),c=Oe,Oe=y(Oe+ct),j>>>0>>0){Xe=y(c+tt),O=j;do{j=n[(n[po>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&!(n[j+24>>2]|0))switch(Wi(s,j)|0){case 1:{Vt=y(c+y(V(j,Ar,Fr))),h[j+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 3:{Vt=y(y(Oe-y(re(j,Ar,Fr)))-y(h[j+908+(n[_r>>2]<<2)>>2])),h[j+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 2:{Vt=y(c+y(y(ct-y(h[j+908+(n[_r>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Lt>>2]<<2)>>2]=Vt;break e}case 4:{if(Vt=y(c+y(V(j,Ar,Fr))),h[j+400+(n[Lt>>2]<<2)>>2]=Vt,Ls(j,Ar,Un)|0||(ri?(ke=y(h[j+908>>2]),l=y(ke+y(fn(j,Nr,Fr))),tt=ct):(tt=y(h[j+912>>2]),tt=y(tt+y(fn(j,Ar,Fr))),l=ct,ke=y(h[j+908>>2])),An(l,ke)|0&&An(tt,y(h[j+912>>2]))|0))break e;Va(j,l,tt,Is,1,1,Fr,Ao,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Xe-y(E0(j)))+y(YA(j,0,Un)));break e}default:break e}while(!1);O=O+1|0}while((O|0)!=(oe|0))}if(We=We+1|0,(We|0)==(m|0))break;j=oe}}}while(!1);if(h[s+908>>2]=y(Mn(s,2,Oc,B,B)),h[s+912>>2]=y(Mn(s,0,af,Q,B)),Rl|0&&(lf=n[s+32>>2]|0,cf=(Rl|0)==2,!(cf&(lf|0)!=2))?cf&(lf|0)==2&&(l=y(Mc+lr),l=y(Yn(y(_0(l,y(C0(s,Nr,Lc,fo)))),Mc)),$r=198):(l=y(Mn(s,Nr,Lc,fo,B)),$r=198),($r|0)==198&&(h[s+908+(n[976+(Nr<<2)>>2]<<2)>>2]=l),Tl|0&&(Af=n[s+32>>2]|0,ff=(Tl|0)==2,!(ff&(Af|0)!=2))?ff&(Af|0)==2&&(l=y(_s+Un),l=y(Yn(y(_0(l,y(C0(s,Ar,y(_s+Cs),Uc)))),_s)),$r=204):(l=y(Mn(s,Ar,y(_s+Cs),Uc,B)),$r=204),($r|0)==204&&(h[s+908+(n[976+(Ar<<2)>>2]<<2)>>2]=l),F){if((n[uf>>2]|0)==2){j=976+(Ar<<2)|0,oe=1040+(Ar<<2)|0,O=0;do We=rs(s,O)|0,n[We+24>>2]|0||(pf=n[j>>2]|0,Vt=y(h[s+908+(pf<<2)>>2]),hi=We+400+(n[oe>>2]<<2)|0,Vt=y(Vt-y(h[hi>>2])),h[hi>>2]=y(Vt-y(h[We+908+(pf<<2)>>2]))),O=O+1|0;while((O|0)!=(Hs|0))}if(f|0){O=ri?Rl:d;do GF(s,f,Fr,O,Ao,Is,M),f=n[f+960>>2]|0;while(f|0)}if(O=(Nr|2|0)==3,j=(Ar|2|0)==3,O|j){f=0;do oe=n[(n[po>>2]|0)+(f<<2)>>2]|0,(n[oe+36>>2]|0)!=1&&(O&&kI(s,oe,Nr),j&&kI(s,oe,Ar)),f=f+1|0;while((f|0)!=(Hs|0))}}}while(!1);C=Nl}function mp(s,l){s=s|0,l=y(l);var c=0;ua(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function qA(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=Ze,m=Ze,B=0,Q=0,F=0;n[2278]=(n[2278]|0)+1,Su(s),Ls(s,2,l)|0?(d=y(Kr(n[s+992>>2]|0,l)),F=1,d=y(d+y(fn(s,2,l)))):(d=y(Kr(s+380|0,l)),d>=y(0)?F=2:(F=((Ot(l)|0)^1)&1,d=l)),Ls(s,0,c)|0?(m=y(Kr(n[s+996>>2]|0,c)),Q=1,m=y(m+y(fn(s,0,l)))):(m=y(Kr(s+388|0,c)),m>=y(0)?Q=2:(Q=((Ot(c)|0)^1)&1,m=c)),B=s+976|0,Va(s,d,m,f,F,Q,l,c,1,3189,n[B>>2]|0)|0&&(yp(s,n[s+496>>2]|0,l,c,l),jA(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&d0(s,7)}function Su(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;Q=C,C=C+32|0,B=Q+24|0,m=Q+16|0,f=Q+8|0,d=Q,c=0;do l=s+380+(c<<3)|0,n[s+380+(c<<3)+4>>2]|0&&(F=l,M=n[F+4>>2]|0,O=f,n[O>>2]=n[F>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,F=d,n[F>>2]=n[O>>2],n[F+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],vu(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=Q}function Ls(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])>2])>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(ce)}return y(l)}function yp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=Ze;l=n[s+944>>2]|0?l:1,m=hr(n[s+4>>2]|0,l)|0,l=Td(m,l)|0,c=y(uD(s,m,c)),f=y(uD(s,l,f)),B=y(c+y(V(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(re(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(V(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(re(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function jA(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=Ze,Q=Ze,F=0,M=0,O=Ze,j=0,oe=Ze,We=Ze,Oe=Ze,ke=Ze;if(l!=y(0)&&(d=s+400|0,ke=y(h[d>>2]),m=s+404|0,Oe=y(h[m>>2]),j=s+416|0,We=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),oe=y(ke+c),O=y(Oe+f),f=y(oe+We),Q=y(O+B),F=(n[s+988>>2]|0)==1,h[d>>2]=y(Gi(ke,l,0,F)),h[m>>2]=y(Gi(Oe,l,0,F)),c=y(cT(y(We*l),y(1))),An(c,y(0))|0?m=0:m=(An(c,y(1))|0)^1,c=y(cT(y(B*l),y(1))),An(c,y(0))|0?d=0:d=(An(c,y(1))|0)^1,ke=y(Gi(f,l,F&m,F&(m^1))),h[j>>2]=y(ke-y(Gi(oe,l,0,F))),ke=y(Gi(Q,l,F&d,F&(d^1))),h[M>>2]=y(ke-y(Gi(O,l,0,F))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do jA(rs(s,d)|0,l,oe,O),d=d+1|0;while((d|0)!=(m|0))}}function Fd(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=_7(n[489]|0,f,d)|0;break}default:s=jUe(f,d)|0}return s|0}function y0(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,Ep(s,0,l,c,m),C=d}function Ep(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,aW[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Tt();else return}function xl(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Rd(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(Cp(s,f),bt(s,n[l>>2]|0,n[c>>2]|0,f))}function Cp(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0>>0&&Zr(s),l>>>0>1073741823)Tt();else{c=Yt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function bt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(br(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function V(s,l,c){return s=s|0,l=l|0,c=y(c),he(l)|0&&n[s+96>>2]|0?s=s+92|0:s=vn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(Ke(s,c))}function re(s,l,c){return s=s|0,l=l|0,c=y(c),he(l)|0&&n[s+104>>2]|0?s=s+100|0:s=vn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(Ke(s,c))}function he(s){return s=s|0,(s|1|0)==3|0}function Ke(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Kr(s,l)),y(l)}function At(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,(s|0?s:(l|0)>1?l:1)|0}function hr(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(!1);return s|0}function Ir(s,l){s=s|0,l=l|0;var c=Ze;return he(l)|0&&n[s+312>>2]|0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Yn(y(h[(vn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function Rn(s,l){s=s|0,l=l|0;var c=Ze;return he(l)|0&&n[s+320>>2]|0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Yn(y(h[(vn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function ai(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return he(l)|0&&n[s+240>>2]|0&&(f=y(Kr(s+236|0,c)),f>=y(0))||(f=y(Yn(y(Kr(vn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return he(l)|0&&n[s+248>>2]|0&&(f=y(Kr(s+244|0,c)),f>=y(0))||(f=y(Yn(y(Kr(vn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function GA(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=Ze,F=Ze,M=Ze,O=Ze,j=Ze,oe=Ze,We=0,Oe=0,ke=0;ke=C,C=C+16|0,We=ke,Oe=s+964|0,pi(s,(n[Oe>>2]|0)!=0,3519),Q=y(da(s,2,l)),F=y(da(s,0,l)),M=y(fn(s,2,l)),O=y(fn(s,0,l)),Ot(l)|0?j=l:j=y(Yn(y(0),y(y(l-M)-Q))),Ot(c)|0?oe=c:oe=y(Yn(y(0),y(y(c-O)-F))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Mn(s,2,y(l-M),m,m)),l=y(Mn(s,0,y(c-O),B,m))):(lW[n[Oe>>2]&1](We,s,j,f,oe,d),j=y(Q+y(h[We>>2])),oe=y(l-M),h[s+908>>2]=y(Mn(s,2,(f|2|0)==2?j:oe,m,m)),oe=y(F+y(h[We+4>>2])),l=y(c-O),l=y(Mn(s,0,(d|2|0)==2?oe:l,B,m))),h[s+912>>2]=l,C=ke}function lD(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=Ze,F=Ze,M=Ze,O=Ze;M=y(da(s,2,m)),Q=y(da(s,0,m)),O=y(fn(s,2,m)),F=y(fn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Mn(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-F),h[s+912>>2]=y(Mn(s,0,(d|2|0)==2?Q:c,B,m))}function xI(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=0,F=Ze,M=Ze;return Q=(f|0)==2,!(l<=y(0)&Q)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(F=y(fn(s,0,m)),M=y(fn(s,2,m)),Q=l>2]=y(Mn(s,2,Q?y(0):l,m,m)),l=y(c-F),Q=c>2]=y(Mn(s,0,Q?y(0):l,B,m)),s=1),s|0}function Td(s,l){return s=s|0,l=l|0,I0(s)|0?s=hr(2,l)|0:s=0,s|0}function Ip(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ai(s,l,c)),y(c+y(Ir(s,l)))}function bI(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ns(s,l,c)),y(c+y(Rn(s,l)))}function da(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(Ip(s,l,c)),y(f+y(bI(s,l,c)))}function QI(s){return s=s|0,n[s+24>>2]|0?s=0:y(WA(s))!=y(0)?s=1:s=y(wp(s))!=y(0),s|0}function WA(s){s=s|0;var l=Ze;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ot(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ot(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function wp(s){s=s|0;var l=Ze,c=0,f=Ze;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ot(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,!(c<<24>>24)&&(f=y(h[s+40>>2]),f>24?y(1):y(0)}}else l=y(0);while(!1);return y(l)}function Nd(s){s=s|0;var l=0,c=0;if(am(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=Di(s)|0,c|0){l=s+948|0,s=0;do Nd(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function cD(s,l,c,f,d,m,B,Q,F,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),Q=Q|0,F=F|0,M=M|0;var O=0,j=Ze,oe=0,We=0,Oe=Ze,ke=Ze,tt=0,Xe=Ze,ct=0,He=Ze,Ge=0,Lt=0,_r=0,ur=0,Zt=0,Qr=0,Or=0,lr=0,Nn=0,lo=0;Nn=C,C=C+16|0,_r=Nn+12|0,ur=Nn+8|0,Zt=Nn+4|0,Qr=Nn,lr=hr(n[s+4>>2]|0,F)|0,Ge=he(lr)|0,j=y(Kr(WF(l)|0,Ge?m:B)),Lt=Ls(l,2,m)|0,Or=Ls(l,0,B)|0;do if(!(Ot(j)|0)&&!(Ot(Ge?c:d)|0)){if(O=l+504|0,!(Ot(y(h[O>>2]))|0)&&(!(FI(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Yn(j,y(da(l,lr,m))))}else oe=7;while(!1);do if((oe|0)==7){if(ct=Ge^1,!(ct|Lt^1)){B=y(Kr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Yn(B,y(da(l,2,m))));break}if(!(Ge|Or^1)){B=y(Kr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Yn(B,y(da(l,0,m))));break}h[_r>>2]=y(ce),h[ur>>2]=y(ce),n[Zt>>2]=0,n[Qr>>2]=0,Xe=y(fn(l,2,m)),He=y(fn(l,0,m)),Lt?(Oe=y(Xe+y(Kr(n[l+992>>2]|0,m))),h[_r>>2]=Oe,n[Zt>>2]=1,We=1):(We=0,Oe=y(ce)),Or?(j=y(He+y(Kr(n[l+996>>2]|0,B))),h[ur>>2]=j,n[Qr>>2]=1,O=1):(O=0,j=y(ce)),oe=n[s+32>>2]|0,Ge&(oe|0)==2?oe=2:Ot(Oe)|0&&!(Ot(c)|0)&&(h[_r>>2]=c,n[Zt>>2]=2,We=2,Oe=c),!((oe|0)==2&ct)&&Ot(j)|0&&!(Ot(d)|0)&&(h[ur>>2]=d,n[Qr>>2]=2,O=2,j=d),ke=y(h[l+396>>2]),tt=Ot(ke)|0;do if(tt)oe=We;else{if((We|0)==1&ct){h[ur>>2]=y(y(Oe-Xe)/ke),n[Qr>>2]=1,O=1,oe=1;break}Ge&(O|0)==1?(h[_r>>2]=y(ke*y(j-He)),n[Zt>>2]=1,O=1,oe=1):oe=We}while(!1);lo=Ot(c)|0,We=(Wi(s,l)|0)!=4,!(Ge|Lt|((f|0)!=1|lo)|(We|(oe|0)==1))&&(h[_r>>2]=c,n[Zt>>2]=1,!tt)&&(h[ur>>2]=y(y(c-Xe)/ke),n[Qr>>2]=1,O=1),!(Or|ct|((Q|0)!=1|(Ot(d)|0))|(We|(O|0)==1))&&(h[ur>>2]=d,n[Qr>>2]=1,!tt)&&(h[_r>>2]=y(ke*y(d-He)),n[Zt>>2]=1),xc(l,2,m,m,Zt,_r),xc(l,0,B,m,Qr,ur),c=y(h[_r>>2]),d=y(h[ur>>2]),Va(l,c,d,F,n[Zt>>2]|0,n[Qr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(lr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Yn(B,y(da(l,lr,m))))}while(!1);n[l+500>>2]=n[2278],C=Nn}function Mn(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(C0(s,l,c,f)),y(Yn(f,y(da(s,l,d))))}function Wi(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[(n[l>>2]|0?l:s+16|0)>>2]|0,(l|0)==5&&I0(n[s+4>>2]|0)|0&&(l=1),l|0}function za(s,l){return s=s|0,l=l|0,he(l)|0&&n[s+96>>2]|0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Ja(s,l){return s=s|0,l=l|0,he(l)|0&&n[s+104>>2]|0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function xc(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Kr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(fn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ot(c)|0,f=y(h[m>>2]),h[m>>2]=d|f>2]=2,h[m>>2]=c);break}default:}}function Ho(s,l){return s=s|0,l=l|0,s=s+132|0,he(l)|0&&n[(vn(s,4,948)|0)+4>>2]|0?s=1:s=(n[(vn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function YA(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,he(l)|0&&(f=vn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=vn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Kr(f,c))),y(c)}function KA(s,l,c){s=s|0,l=l|0,c=y(c);var f=Ze;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(V(s,l,c))),y(f+y(re(s,l,c)))}function qF(s){s=s|0;var l=0,c=0,f=0;e:do if(I0(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=Di(s)|0,!c)l=0;else for(l=0;;){if(f=rs(s,l)|0,!(n[f+24>>2]|0)&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(!1);return l|0}function jF(s,l){s=s|0,l=l|0;var c=Ze;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ot(c)|0)^1)|0}function E0(s){s=s|0;var l=Ze,c=0,f=0,d=0,m=0,B=0,Q=0,F=Ze;if(c=n[s+968>>2]|0,c)F=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(nW[c&0](s,F,l)),pi(s,(Ot(l)|0)^1,3573);else{m=Di(s)|0;do if(m|0){for(c=0,d=0;;){if(f=rs(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(Q=(Wi(s,f)|0)==5,Q){c=f;break}else c=c|0?c:f;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(E0(c)),y(l+y(h[c+404>>2]))}while(!1);l=y(h[s+912>>2])}return y(l)}function C0(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=Ze,m=0;return I0(l)|0?(l=1,m=3):he(l)|0?(l=0,m=3):(f=y(ce),d=y(ce)),(m|0)==3&&(d=y(Kr(s+364+(l<<3)|0,f)),f=y(Kr(s+380+(l<<3)|0,f))),m=f=y(0)&((Ot(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ot(d)|0)^1)&c>2]|0,m)|0,Oe=Td(tt,m)|0,ke=he(tt)|0,j=y(fn(l,2,c)),oe=y(fn(l,0,c)),Ls(l,2,c)|0?Q=y(j+y(Kr(n[l+992>>2]|0,c))):Ho(l,2)|0&&Ld(l,2)|0?(Q=y(h[s+908>>2]),F=y(Ir(s,2)),F=y(Q-y(F+y(Rn(s,2)))),Q=y(YA(l,2,c)),Q=y(Mn(l,2,y(F-y(Q+y(Bp(l,2,c)))),c,c))):Q=y(ce),Ls(l,0,d)|0?F=y(oe+y(Kr(n[l+996>>2]|0,d))):Ho(l,0)|0&&Ld(l,0)|0?(F=y(h[s+912>>2]),ct=y(Ir(s,0)),ct=y(F-y(ct+y(Rn(s,0)))),F=y(YA(l,0,d)),F=y(Mn(l,0,y(ct-y(F+y(Bp(l,0,d)))),d,c))):F=y(ce),M=Ot(Q)|0,O=Ot(F)|0;do if(M^O&&(We=y(h[l+396>>2]),!(Ot(We)|0)))if(M){Q=y(j+y(y(F-oe)*We));break}else{ct=y(oe+y(y(Q-j)/We)),F=O?ct:F;break}while(!1);O=Ot(Q)|0,M=Ot(F)|0,O|M&&(He=(O^1)&1,f=c>y(0)&((f|0)!=0&O),Q=ke?Q:f?c:Q,Va(l,Q,F,m,ke?He:f?2:He,O&(M^1)&1,Q,F,0,3623,B)|0,Q=y(h[l+908>>2]),Q=y(Q+y(fn(l,2,c))),F=y(h[l+912>>2]),F=y(F+y(fn(l,0,c)))),Va(l,Q,F,m,1,1,Q,F,1,3635,B)|0,Ld(l,tt)|0&&!(Ho(l,tt)|0)?(He=n[976+(tt<<2)>>2]|0,ct=y(h[s+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),ct=y(ct-y(Rn(s,tt))),ct=y(ct-y(re(l,tt,c))),ct=y(ct-y(Bp(l,tt,ke?c:d))),h[l+400+(n[1040+(tt<<2)>>2]<<2)>>2]=ct):Xe=21;do if((Xe|0)==21){if(!(Ho(l,tt)|0)&&(n[s+8>>2]|0)==1){He=n[976+(tt<<2)>>2]|0,ct=y(h[s+908+(He<<2)>>2]),ct=y(y(ct-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(tt<<2)>>2]<<2)>>2]=ct;break}!(Ho(l,tt)|0)&&(n[s+8>>2]|0)==2&&(He=n[976+(tt<<2)>>2]|0,ct=y(h[s+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(tt<<2)>>2]<<2)>>2]=ct)}while(!1);Ld(l,Oe)|0&&!(Ho(l,Oe)|0)?(He=n[976+(Oe<<2)>>2]|0,ct=y(h[s+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),ct=y(ct-y(Rn(s,Oe))),ct=y(ct-y(re(l,Oe,c))),ct=y(ct-y(Bp(l,Oe,ke?d:c))),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=ct):Xe=30;do if((Xe|0)==30&&!(Ho(l,Oe)|0)){if((Wi(s,l)|0)==2){He=n[976+(Oe<<2)>>2]|0,ct=y(h[s+908+(He<<2)>>2]),ct=y(y(ct-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=ct;break}He=(Wi(s,l)|0)==3,He^(n[s+28>>2]|0)==2&&(He=n[976+(Oe<<2)>>2]|0,ct=y(h[s+908+(He<<2)>>2]),ct=y(ct-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=ct)}while(!1)}function kI(s,l,c){s=s|0,l=l|0,c=c|0;var f=Ze,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function I0(s){return s=s|0,(s|1|0)==1|0}function WF(s){s=s|0;var l=Ze;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ot(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function FI(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function Ld(s,l){return s=s|0,l=l|0,s=s+132|0,he(l)|0&&n[(vn(s,5,948)|0)+4>>2]|0?s=1:s=(n[(vn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Bp(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,he(l)|0&&(f=vn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=vn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Kr(f,c))),y(c)}function uD(s,l,c){return s=s|0,l=l|0,c=y(c),Ho(s,l)|0?c=y(YA(s,l,c)):c=y(-y(Bp(s,l,c))),y(c)}function AD(s){return s=y(s),h[D>>2]=s,n[D>>2]|0|0}function Od(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Yt(l<<2)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function fD(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Md(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&yt(s)}function pD(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;if(B=s+4|0,Q=n[B>>2]|0,d=Q-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0>>0){f=Q;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0>>0)}m|0&&iw(Q+(0-m<<2)|0,l|0,d|0)|0}function hD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0;return Q=l+4|0,F=n[Q>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=F+(0-(m>>2)<<2)|0,n[Q>>2]=f,(m|0)>0&&br(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(br(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[Q>>2],n[Q>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[Q>>2],F|0}function RI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function TI(){Oo()}function gD(){var s=0;return s=Yt(4)|0,NI(s),s|0}function NI(s){s=s|0,n[s>>2]=Sl()|0}function dD(s){s=s|0,s|0&&(w0(s),yt(s))}function w0(s){s=s|0,st(n[s>>2]|0)}function YF(s,l,c){s=s|0,l=l|0,c=c|0,xl(n[s>>2]|0,l,c)}function Ud(s,l){s=s|0,l=y(l),mp(n[s>>2]|0,l)}function _d(s,l){return s=s|0,l=l|0,FI(n[s>>2]|0,l)|0}function Hd(){var s=0;return s=Yt(8)|0,B0(s,0),s|0}function B0(s,l){s=s|0,l=l|0,l?l=Mo(n[l>>2]|0)|0:l=qi()|0,n[s>>2]=l,n[s+4>>2]=0,Pn(l,s)}function qd(s){s=s|0;var l=0;return l=Yt(8)|0,B0(l,s),l|0}function v0(s){s=s|0,s|0&&(jd(s),yt(s))}function jd(s){s=s|0;var l=0;Dl(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(xu(s),yt(s))}function xu(s){s=s|0,bu(s)}function bu(s){s=s|0,s=n[s>>2]|0,s|0&&sa(s|0)}function LI(s){return s=s|0,fa(s)|0}function OI(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(xu(l),yt(l)),Pl(n[s>>2]|0)}function Gd(s,l){s=s|0,l=l|0,sn(n[s>>2]|0,n[l>>2]|0)}function KF(s,l){s=s|0,l=l|0,pp(n[s>>2]|0,l)}function VF(s,l,c){s=s|0,l=l|0,c=+c,xd(n[s>>2]|0,l,y(c))}function Wd(s,l,c){s=s|0,l=l|0,c=+c,bd(n[s>>2]|0,l,y(c))}function MI(s,l){s=s|0,l=l|0,up(n[s>>2]|0,l)}function UI(s,l){s=s|0,l=l|0,to(n[s>>2]|0,l)}function Sr(s,l){s=s|0,l=l|0,fp(n[s>>2]|0,l)}function Os(s,l){s=s|0,l=l|0,vd(n[s>>2]|0,l)}function Oi(s,l){s=s|0,l=l|0,l0(n[s>>2]|0,l)}function ms(s,l){s=s|0,l=l|0,eo(n[s>>2]|0,l)}function VA(s,l,c){s=s|0,l=l|0,c=+c,OA(n[s>>2]|0,l,y(c))}function _I(s,l,c){s=s|0,l=l|0,c=+c,W(n[s>>2]|0,l,y(c))}function is(s,l){s=s|0,l=l|0,MA(n[s>>2]|0,l)}function Yd(s,l){s=s|0,l=l|0,Pd(n[s>>2]|0,l)}function vp(s,l){s=s|0,l=l|0,ro(n[s>>2]|0,l)}function D0(s,l){s=s|0,l=+l,hp(n[s>>2]|0,y(l))}function Dp(s,l){s=s|0,l=+l,Ya(n[s>>2]|0,y(l))}function HI(s,l){s=s|0,l=+l,Sd(n[s>>2]|0,y(l))}function qI(s,l){s=s|0,l=+l,u0(n[s>>2]|0,y(l))}function jI(s,l){s=s|0,l=+l,Wa(n[s>>2]|0,y(l))}function GI(s,l){s=s|0,l=+l,A0(n[s>>2]|0,y(l))}function Qu(s,l){s=s|0,l=+l,SI(n[s>>2]|0,y(l))}function ir(s){s=s|0,gp(n[s>>2]|0)}function Kd(s,l){s=s|0,l=+l,Li(n[s>>2]|0,y(l))}function WI(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function bl(s){s=s|0,pa(n[s>>2]|0)}function ku(s,l){s=s|0,l=+l,Bc(n[s>>2]|0,y(l))}function P0(s,l){s=s|0,l=+l,wu(n[s>>2]|0,y(l))}function S0(s,l){s=s|0,l=+l,oi(n[s>>2]|0,y(l))}function YI(s,l){s=s|0,l=+l,UA(n[s>>2]|0,y(l))}function KI(s,l){s=s|0,l=+l,Uo(n[s>>2]|0,y(l))}function bc(s,l){s=s|0,l=+l,ga(n[s>>2]|0,y(l))}function x0(s,l){s=s|0,l=+l,dp(n[s>>2]|0,y(l))}function VI(s,l){s=s|0,l=+l,h0(n[s>>2]|0,y(l))}function Vd(s,l){s=s|0,l=+l,_A(n[s>>2]|0,y(l))}function Qc(s,l,c){s=s|0,l=l|0,c=+c,wc(n[s>>2]|0,l,y(c))}function zd(s,l,c){s=s|0,l=l|0,c=+c,no(n[s>>2]|0,l,y(c))}function b0(s,l,c){s=s|0,l=l|0,c=+c,Cu(n[s>>2]|0,l,y(c))}function Q0(s){return s=s|0,a0(n[s>>2]|0)|0}function oo(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,LA(d,n[l>>2]|0,c),ss(s,d),C=f}function ss(s,l){s=s|0,l=l|0,Xa(s,n[l+4>>2]|0,+y(h[l>>2]))}function Xa(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function Jd(s){return s=s|0,PI(n[s>>2]|0)|0}function qo(s){return s=s|0,Ap(n[s>>2]|0)|0}function mD(s){return s=s|0,Ic(n[s>>2]|0)|0}function Pp(s){return s=s|0,DI(n[s>>2]|0)|0}function zI(s){return s=s|0,c0(n[s>>2]|0)|0}function zF(s){return s=s|0,Dd(n[s>>2]|0)|0}function yD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,xt(d,n[l>>2]|0,c),ss(s,d),C=f}function ED(s){return s=s|0,Eu(n[s>>2]|0)|0}function Xd(s){return s=s|0,Ga(n[s>>2]|0)|0}function JI(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,NA(f,n[l>>2]|0),ss(s,f),C=c}function Sp(s){return s=s|0,+ +y(ei(n[s>>2]|0))}function CD(s){return s=s|0,+ +y(ki(n[s>>2]|0))}function ID(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,cr(f,n[l>>2]|0),ss(s,f),C=c}function k0(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,f0(f,n[l>>2]|0),ss(s,f),C=c}function JF(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,wt(f,n[l>>2]|0),ss(s,f),C=c}function XF(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ha(f,n[l>>2]|0),ss(s,f),C=c}function wD(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,p0(f,n[l>>2]|0),ss(s,f),C=c}function BD(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,kd(f,n[l>>2]|0),ss(s,f),C=c}function zA(s){return s=s|0,+ +y(g0(n[s>>2]|0))}function ZF(s,l){return s=s|0,l=l|0,+ +y(Qd(n[s>>2]|0,l))}function $F(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,dt(d,n[l>>2]|0,c),ss(s,d),C=f}function kc(s,l,c){s=s|0,l=l|0,c=c|0,ar(n[s>>2]|0,n[l>>2]|0,c)}function eR(s,l){s=s|0,l=l|0,yu(n[s>>2]|0,n[l>>2]|0)}function vD(s){return s=s|0,Di(n[s>>2]|0)|0}function tR(s){return s=s|0,s=mt(n[s>>2]|0)|0,s?s=LI(s)|0:s=0,s|0}function DD(s,l){return s=s|0,l=l|0,s=rs(n[s>>2]|0,l)|0,s?s=LI(s)|0:s=0,s|0}function Fu(s,l){s=s|0,l=l|0;var c=0,f=0;f=Yt(4)|0,PD(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(xu(l),yt(l)),vt(n[s>>2]|0,1)}function PD(s,l){s=s|0,l=l|0,sR(s,l)}function rR(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,Q=0;B=C,C=C+16|0,Q=B,SD(Q,fa(l)|0,+c,f,+d,m),h[s>>2]=y(+E[Q>>3]),h[s+4>>2]=y(+E[Q+8>>3]),C=B}function SD(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,Q=0,F=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,F=B,Q=B+16|0,E[O>>3]=c,n[M>>2]=f,E[F>>3]=d,n[Q>>2]=m,Zd(s,n[l+4>>2]|0,O,M,F,Q),C=B}function Zd(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0;B=C,C=C+16|0,Q=B,$a(Q),l=ys(l)|0,xD(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),el(Q),C=B}function ys(s){return s=s|0,n[s>>2]|0}function xD(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=jo(XI()|0)|0,c=+ma(c),f=$d(f)|0,d=+ma(d),nR(s,qn(0,B|0,l|0,+c,f|0,+d,$d(m)|0)|0)}function XI(){var s=0;return o[7608]|0||($I(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function jo(s){return s=s|0,n[s+8>>2]|0}function ma(s){return s=+s,+ +Ru(s)}function $d(s){return s=s|0,F0(s)|0}function nR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(ya(c,0),ia(f|0,c|0)|0,ZI(s,c),iR(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function ya(s,l){s=s|0,l=l|0,Fc(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function ZI(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function iR(s){s=s|0,o[s+24>>0]=0}function Fc(s,l){s=s|0,l=l|0,n[s>>2]=l}function F0(s){return s=s|0,s|0}function Ru(s){return s=+s,+s}function $I(s){s=s|0,ao(s,ew()|0,4)}function ew(){return 1064}function ao(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=Qi(l|0,c+1|0)|0}function sR(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,hc(l|0)}function bD(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(xu(l),yt(l)),vt(n[s>>2]|0,0)}function QD(s){s=s|0,Dt(n[s>>2]|0)}function em(s){return s=s|0,er(n[s>>2]|0)|0}function oR(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,qA(n[s>>2]|0,y(l),y(c),f)}function aR(s){return s=s|0,+ +y(vc(n[s>>2]|0))}function v(s){return s=s|0,+ +y(Bu(n[s>>2]|0))}function P(s){return s=s|0,+ +y(Dc(n[s>>2]|0))}function k(s){return s=s|0,+ +y(gs(n[s>>2]|0))}function H(s){return s=s|0,+ +y(Pc(n[s>>2]|0))}function Y(s){return s=s|0,+ +y(On(n[s>>2]|0))}function ne(s,l){s=s|0,l=l|0,E[s>>3]=+y(vc(n[l>>2]|0)),E[s+8>>3]=+y(Bu(n[l>>2]|0)),E[s+16>>3]=+y(Dc(n[l>>2]|0)),E[s+24>>3]=+y(gs(n[l>>2]|0)),E[s+32>>3]=+y(Pc(n[l>>2]|0)),E[s+40>>3]=+y(On(n[l>>2]|0))}function Be(s,l){return s=s|0,l=l|0,+ +y(ji(n[s>>2]|0,l))}function _e(s,l){return s=s|0,l=l|0,+ +y(Ci(n[s>>2]|0,l))}function ft(s,l){return s=s|0,l=l|0,+ +y(HA(n[s>>2]|0,l))}function jt(){return Dn()|0}function wr(){Tr(),Xt(),jn(),li(),Ea(),$e()}function Tr(){bNe(11713,4938,1)}function Xt(){VTe(10448)}function jn(){bTe(10408)}function li(){ZRe(10324)}function Ea(){oFe(10096)}function $e(){je(9132)}function je(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0,tt=0,Xe=0,ct=0,He=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,Qr=0,Or=0,lr=0,Nn=0,lo=0,co=0,uo=0,Ia=0,Lp=0,Op=0,Ql=0,Mp=0,Lu=0,Ou=0,Up=0,_p=0,Hp=0,$r=0,kl=0,qp=0,Nc=0,jp=0,Gp=0,Mu=0,Uu=0,Lc=0,Ms=0,rl=0,Go=0,Fl=0,rf=0,nf=0,_u=0,sf=0,of=0,Us=0,Cs=0,Rl=0,Un=0,af=0,Ao=0,Oc=0,fo=0,Mc=0,lf=0,cf=0,Uc=0,_s=0,Tl=0,uf=0,Af=0,ff=0,Fr=0,ri=0,Is=0,po=0,Hs=0,Nr=0,Ar=0,Nl=0;l=C,C=C+672|0,c=l+656|0,Nl=l+648|0,Ar=l+640|0,Nr=l+632|0,Hs=l+624|0,po=l+616|0,Is=l+608|0,ri=l+600|0,Fr=l+592|0,ff=l+584|0,Af=l+576|0,uf=l+568|0,Tl=l+560|0,_s=l+552|0,Uc=l+544|0,cf=l+536|0,lf=l+528|0,Mc=l+520|0,fo=l+512|0,Oc=l+504|0,Ao=l+496|0,af=l+488|0,Un=l+480|0,Rl=l+472|0,Cs=l+464|0,Us=l+456|0,of=l+448|0,sf=l+440|0,_u=l+432|0,nf=l+424|0,rf=l+416|0,Fl=l+408|0,Go=l+400|0,rl=l+392|0,Ms=l+384|0,Lc=l+376|0,Uu=l+368|0,Mu=l+360|0,Gp=l+352|0,jp=l+344|0,Nc=l+336|0,qp=l+328|0,kl=l+320|0,$r=l+312|0,Hp=l+304|0,_p=l+296|0,Up=l+288|0,Ou=l+280|0,Lu=l+272|0,Mp=l+264|0,Ql=l+256|0,Op=l+248|0,Lp=l+240|0,Ia=l+232|0,uo=l+224|0,co=l+216|0,lo=l+208|0,Nn=l+200|0,lr=l+192|0,Or=l+184|0,Qr=l+176|0,Zt=l+168|0,ur=l+160|0,_r=l+152|0,Lt=l+144|0,Ge=l+136|0,He=l+128|0,ct=l+120|0,Xe=l+112|0,tt=l+104|0,ke=l+96|0,Oe=l+88|0,We=l+80|0,oe=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,F=l+40|0,Q=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,pt(s,3646),Jt(s,3651,2)|0,Br(s,3665,2)|0,Wn(s,3682,18)|0,n[Nl>>2]=19,n[Nl+4>>2]=0,n[c>>2]=n[Nl>>2],n[c+4>>2]=n[Nl+4>>2],xr(s,3690,c)|0,n[Ar>>2]=1,n[Ar+4>>2]=0,n[c>>2]=n[Ar>>2],n[c+4>>2]=n[Ar+4>>2],Sn(s,3696,c)|0,n[Nr>>2]=2,n[Nr+4>>2]=0,n[c>>2]=n[Nr>>2],n[c+4>>2]=n[Nr+4>>2],Tn(s,3706,c)|0,n[Hs>>2]=1,n[Hs+4>>2]=0,n[c>>2]=n[Hs>>2],n[c+4>>2]=n[Hs+4>>2],Yr(s,3722,c)|0,n[po>>2]=2,n[po+4>>2]=0,n[c>>2]=n[po>>2],n[c+4>>2]=n[po+4>>2],Yr(s,3734,c)|0,n[Is>>2]=3,n[Is+4>>2]=0,n[c>>2]=n[Is>>2],n[c+4>>2]=n[Is+4>>2],Tn(s,3753,c)|0,n[ri>>2]=4,n[ri+4>>2]=0,n[c>>2]=n[ri>>2],n[c+4>>2]=n[ri+4>>2],Tn(s,3769,c)|0,n[Fr>>2]=5,n[Fr+4>>2]=0,n[c>>2]=n[Fr>>2],n[c+4>>2]=n[Fr+4>>2],Tn(s,3783,c)|0,n[ff>>2]=6,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],Tn(s,3796,c)|0,n[Af>>2]=7,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],Tn(s,3813,c)|0,n[uf>>2]=8,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],Tn(s,3825,c)|0,n[Tl>>2]=3,n[Tl+4>>2]=0,n[c>>2]=n[Tl>>2],n[c+4>>2]=n[Tl+4>>2],Yr(s,3843,c)|0,n[_s>>2]=4,n[_s+4>>2]=0,n[c>>2]=n[_s>>2],n[c+4>>2]=n[_s+4>>2],Yr(s,3853,c)|0,n[Uc>>2]=9,n[Uc+4>>2]=0,n[c>>2]=n[Uc>>2],n[c+4>>2]=n[Uc+4>>2],Tn(s,3870,c)|0,n[cf>>2]=10,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],Tn(s,3884,c)|0,n[lf>>2]=11,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Tn(s,3896,c)|0,n[Mc>>2]=1,n[Mc+4>>2]=0,n[c>>2]=n[Mc>>2],n[c+4>>2]=n[Mc+4>>2],ti(s,3907,c)|0,n[fo>>2]=2,n[fo+4>>2]=0,n[c>>2]=n[fo>>2],n[c+4>>2]=n[fo+4>>2],ti(s,3915,c)|0,n[Oc>>2]=3,n[Oc+4>>2]=0,n[c>>2]=n[Oc>>2],n[c+4>>2]=n[Oc+4>>2],ti(s,3928,c)|0,n[Ao>>2]=4,n[Ao+4>>2]=0,n[c>>2]=n[Ao>>2],n[c+4>>2]=n[Ao+4>>2],ti(s,3948,c)|0,n[af>>2]=5,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],ti(s,3960,c)|0,n[Un>>2]=6,n[Un+4>>2]=0,n[c>>2]=n[Un>>2],n[c+4>>2]=n[Un+4>>2],ti(s,3974,c)|0,n[Rl>>2]=7,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],ti(s,3983,c)|0,n[Cs>>2]=20,n[Cs+4>>2]=0,n[c>>2]=n[Cs>>2],n[c+4>>2]=n[Cs+4>>2],xr(s,3999,c)|0,n[Us>>2]=8,n[Us+4>>2]=0,n[c>>2]=n[Us>>2],n[c+4>>2]=n[Us+4>>2],ti(s,4012,c)|0,n[of>>2]=9,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],ti(s,4022,c)|0,n[sf>>2]=21,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],xr(s,4039,c)|0,n[_u>>2]=10,n[_u+4>>2]=0,n[c>>2]=n[_u>>2],n[c+4>>2]=n[_u+4>>2],ti(s,4053,c)|0,n[nf>>2]=11,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],ti(s,4065,c)|0,n[rf>>2]=12,n[rf+4>>2]=0,n[c>>2]=n[rf>>2],n[c+4>>2]=n[rf+4>>2],ti(s,4084,c)|0,n[Fl>>2]=13,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],ti(s,4097,c)|0,n[Go>>2]=14,n[Go+4>>2]=0,n[c>>2]=n[Go>>2],n[c+4>>2]=n[Go+4>>2],ti(s,4117,c)|0,n[rl>>2]=15,n[rl+4>>2]=0,n[c>>2]=n[rl>>2],n[c+4>>2]=n[rl+4>>2],ti(s,4129,c)|0,n[Ms>>2]=16,n[Ms+4>>2]=0,n[c>>2]=n[Ms>>2],n[c+4>>2]=n[Ms+4>>2],ti(s,4148,c)|0,n[Lc>>2]=17,n[Lc+4>>2]=0,n[c>>2]=n[Lc>>2],n[c+4>>2]=n[Lc+4>>2],ti(s,4161,c)|0,n[Uu>>2]=18,n[Uu+4>>2]=0,n[c>>2]=n[Uu>>2],n[c+4>>2]=n[Uu+4>>2],ti(s,4181,c)|0,n[Mu>>2]=5,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],Yr(s,4196,c)|0,n[Gp>>2]=6,n[Gp+4>>2]=0,n[c>>2]=n[Gp>>2],n[c+4>>2]=n[Gp+4>>2],Yr(s,4206,c)|0,n[jp>>2]=7,n[jp+4>>2]=0,n[c>>2]=n[jp>>2],n[c+4>>2]=n[jp+4>>2],Yr(s,4217,c)|0,n[Nc>>2]=3,n[Nc+4>>2]=0,n[c>>2]=n[Nc>>2],n[c+4>>2]=n[Nc+4>>2],Rc(s,4235,c)|0,n[qp>>2]=1,n[qp+4>>2]=0,n[c>>2]=n[qp>>2],n[c+4>>2]=n[qp+4>>2],lR(s,4251,c)|0,n[kl>>2]=4,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],Rc(s,4263,c)|0,n[$r>>2]=5,n[$r+4>>2]=0,n[c>>2]=n[$r>>2],n[c+4>>2]=n[$r+4>>2],Rc(s,4279,c)|0,n[Hp>>2]=6,n[Hp+4>>2]=0,n[c>>2]=n[Hp>>2],n[c+4>>2]=n[Hp+4>>2],Rc(s,4293,c)|0,n[_p>>2]=7,n[_p+4>>2]=0,n[c>>2]=n[_p>>2],n[c+4>>2]=n[_p+4>>2],Rc(s,4306,c)|0,n[Up>>2]=8,n[Up+4>>2]=0,n[c>>2]=n[Up>>2],n[c+4>>2]=n[Up+4>>2],Rc(s,4323,c)|0,n[Ou>>2]=9,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],Rc(s,4335,c)|0,n[Lu>>2]=2,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],lR(s,4353,c)|0,n[Mp>>2]=12,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],R0(s,4363,c)|0,n[Ql>>2]=1,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],JA(s,4376,c)|0,n[Op>>2]=2,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],JA(s,4388,c)|0,n[Lp>>2]=13,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],R0(s,4402,c)|0,n[Ia>>2]=14,n[Ia+4>>2]=0,n[c>>2]=n[Ia>>2],n[c+4>>2]=n[Ia+4>>2],R0(s,4411,c)|0,n[uo>>2]=15,n[uo+4>>2]=0,n[c>>2]=n[uo>>2],n[c+4>>2]=n[uo+4>>2],R0(s,4421,c)|0,n[co>>2]=16,n[co+4>>2]=0,n[c>>2]=n[co>>2],n[c+4>>2]=n[co+4>>2],R0(s,4433,c)|0,n[lo>>2]=17,n[lo+4>>2]=0,n[c>>2]=n[lo>>2],n[c+4>>2]=n[lo+4>>2],R0(s,4446,c)|0,n[Nn>>2]=18,n[Nn+4>>2]=0,n[c>>2]=n[Nn>>2],n[c+4>>2]=n[Nn+4>>2],R0(s,4458,c)|0,n[lr>>2]=3,n[lr+4>>2]=0,n[c>>2]=n[lr>>2],n[c+4>>2]=n[lr+4>>2],JA(s,4471,c)|0,n[Or>>2]=1,n[Or+4>>2]=0,n[c>>2]=n[Or>>2],n[c+4>>2]=n[Or+4>>2],kD(s,4486,c)|0,n[Qr>>2]=10,n[Qr+4>>2]=0,n[c>>2]=n[Qr>>2],n[c+4>>2]=n[Qr+4>>2],Rc(s,4496,c)|0,n[Zt>>2]=11,n[Zt+4>>2]=0,n[c>>2]=n[Zt>>2],n[c+4>>2]=n[Zt+4>>2],Rc(s,4508,c)|0,n[ur>>2]=3,n[ur+4>>2]=0,n[c>>2]=n[ur>>2],n[c+4>>2]=n[ur+4>>2],lR(s,4519,c)|0,n[_r>>2]=4,n[_r+4>>2]=0,n[c>>2]=n[_r>>2],n[c+4>>2]=n[_r+4>>2],Ove(s,4530,c)|0,n[Lt>>2]=19,n[Lt+4>>2]=0,n[c>>2]=n[Lt>>2],n[c+4>>2]=n[Lt+4>>2],Mve(s,4542,c)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],Uve(s,4554,c)|0,n[He>>2]=13,n[He+4>>2]=0,n[c>>2]=n[He>>2],n[c+4>>2]=n[He+4>>2],_ve(s,4568,c)|0,n[ct>>2]=2,n[ct+4>>2]=0,n[c>>2]=n[ct>>2],n[c+4>>2]=n[ct+4>>2],Hve(s,4578,c)|0,n[Xe>>2]=20,n[Xe+4>>2]=0,n[c>>2]=n[Xe>>2],n[c+4>>2]=n[Xe+4>>2],qve(s,4587,c)|0,n[tt>>2]=22,n[tt+4>>2]=0,n[c>>2]=n[tt>>2],n[c+4>>2]=n[tt+4>>2],xr(s,4602,c)|0,n[ke>>2]=23,n[ke+4>>2]=0,n[c>>2]=n[ke>>2],n[c+4>>2]=n[ke+4>>2],xr(s,4619,c)|0,n[Oe>>2]=14,n[Oe+4>>2]=0,n[c>>2]=n[Oe>>2],n[c+4>>2]=n[Oe+4>>2],jve(s,4629,c)|0,n[We>>2]=1,n[We+4>>2]=0,n[c>>2]=n[We>>2],n[c+4>>2]=n[We+4>>2],Gve(s,4637,c)|0,n[oe>>2]=4,n[oe+4>>2]=0,n[c>>2]=n[oe>>2],n[c+4>>2]=n[oe+4>>2],JA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],JA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],JA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],JA(s,4701,c)|0,n[F>>2]=8,n[F+4>>2]=0,n[c>>2]=n[F>>2],n[c+4>>2]=n[F+4>>2],JA(s,4719,c)|0,n[Q>>2]=9,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],JA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],Wve(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],kD(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],kD(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],kD(s,4808,c)|0,C=l}function pt(s,l){s=s|0,l=l|0;var c=0;c=Xke()|0,n[s>>2]=c,Zke(c,l),Rp(n[s>>2]|0)}function Jt(s,l,c){return s=s|0,l=l|0,c=c|0,Oke(s,mn(l)|0,c,0),s|0}function Br(s,l,c){return s=s|0,l=l|0,c=c|0,Ike(s,mn(l)|0,c,0),s|0}function Wn(s,l,c){return s=s|0,l=l|0,c=c|0,ake(s,mn(l)|0,c,0),s|0}function xr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WQe(s,l,d),C=f,s|0}function Sn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PQe(s,l,d),C=f,s|0}function Tn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uQe(s,l,d),C=f,s|0}function Yr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Vbe(s,l,d),C=f,s|0}function ti(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Fbe(s,l,d),C=f,s|0}function Rc(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],dbe(s,l,d),C=f,s|0}function lR(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ebe(s,l,d),C=f,s|0}function R0(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Pxe(s,l,d),C=f,s|0}function JA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uxe(s,l,d),C=f,s|0}function kD(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],VSe(s,l,d),C=f,s|0}function Ove(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],FSe(s,l,d),C=f,s|0}function Mve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],dSe(s,l,d),C=f,s|0}function Uve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tSe(s,l,d),C=f,s|0}function _ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Pe(s,l,d),C=f,s|0}function Hve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BPe(s,l,d),C=f,s|0}function qve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oPe(s,l,d),C=f,s|0}function jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GDe(s,l,d),C=f,s|0}function Gve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PDe(s,l,d),C=f,s|0}function Wve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Yve(s,l,d),C=f,s|0}function Yve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Kve(s,c,d,1),C=f}function mn(s){return s=s|0,s|0}function Kve(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=cR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Vve(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,zve(m,f)|0,f),C=d}function cR(){var s=0,l=0;if(o[7616]|0||(O5(9136),pr(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O5(9136)}return 9136}function Vve(s){return s=s|0,0}function zve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=cR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Zve(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function yn(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0;B=C,C=C+32|0,oe=B+24|0,j=B+20|0,F=B+16|0,O=B+12|0,M=B+8|0,Q=B+4|0,We=B,n[j>>2]=l,n[F>>2]=c,n[O>>2]=f,n[M>>2]=d,n[Q>>2]=m,m=s+28|0,n[We>>2]=n[m>>2],n[oe>>2]=n[We>>2],Jve(s+24|0,oe,j,O,M,F,Q)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function Jve(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=Xve(l)|0,l=Yt(24)|0,N5(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function Xve(s){return s=s|0,n[s>>2]|0}function N5(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function dr(s,l){return s=s|0,l=l|0,l|s|0}function L5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=$ve(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,eDe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L5(m,f,c),n[F>>2]=(n[F>>2]|0)+12,tDe(s,Q),rDe(Q),C=M;return}}function $ve(s){return s=s|0,357913941}function eDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function tDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function O5(s){s=s|0,sDe(s)}function nDe(s){s=s|0,iDe(s+24|0)}function Lr(s){return s=s|0,n[s>>2]|0}function iDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function sDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,3,l,oDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zr(){return 9228}function oDe(){return 1140}function aDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=lDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=cDe(l,f)|0,C=c,l|0}function Jr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function lDe(s){return s=s|0,(n[(cR()|0)+24>>2]|0)+(s*12|0)|0}function cDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&31](f,s),f=uDe(f)|0,C=d,f|0}function uDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=uR(M5()|0)|0,f?(AR(l,f),fR(c,l),ADe(s,c),s=pR(l)|0):s=fDe(s)|0,C=d,s|0}function M5(){var s=0;return o[7632]|0||(wDe(9184),pr(25,9184,U|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function uR(s){return s=s|0,n[s+36>>2]|0}function AR(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function fR(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function ADe(s,l){s=s|0,l=l|0,dDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function pR(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function fDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,F=0;F=C,C=C+16|0,c=F+4|0,f=F,d=Za(8)|0,m=d,B=Yt(48)|0,Q=B,l=Q+48|0;do n[Q>>2]=n[s>>2],Q=Q+4|0,s=s+4|0;while((Q|0)<(l|0));return l=m+4|0,n[l>>2]=B,Q=Yt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],U5(Q,B,c),n[d>>2]=Q,C=F,m|0}function U5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function pDe(s){s=s|0,om(s),yt(s)}function hDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function gDe(s){s=s|0,yt(s)}function dDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=mDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function mDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var Q=0,F=0;return Q=C,C=C+16|0,F=Q,$a(F),s=ys(s)|0,B=yDe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,el(F),C=Q,B|0}function yDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var Q=0;return Q=jo(EDe()|0)|0,l=+ma(l),c=+ma(c),f=+ma(f),d=+ma(d),m=+ma(m),Ts(0,Q|0,s|0,+l,+c,+f,+d,+m,+ +ma(B))|0}function EDe(){var s=0;return o[7624]|0||(CDe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function CDe(s){s=s|0,ao(s,IDe()|0,6)}function IDe(){return 1112}function wDe(s){s=s|0,xp(s)}function BDe(s){s=s|0,_5(s+24|0),H5(s+16|0)}function _5(s){s=s|0,DDe(s)}function H5(s){s=s|0,vDe(s)}function vDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,yt(c);while(l|0);n[s>>2]=0}function DDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,yt(c);while(l|0);n[s>>2]=0}function xp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function PDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],SDe(s,c,d,0),C=f}function SDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=hR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=xDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,bDe(m,f)|0,f),C=d}function hR(){var s=0,l=0;if(o[7640]|0||(j5(9232),pr(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j5(9232)}return 9232}function xDe(s){return s=s|0,0}function bDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=hR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(QDe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function QDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=kDe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,FDe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q5(m,f,c),n[F>>2]=(n[F>>2]|0)+12,RDe(s,Q),TDe(Q),C=M;return}}function kDe(s){return s=s|0,357913941}function FDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function RDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function TDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function j5(s){s=s|0,ODe(s)}function NDe(s){s=s|0,LDe(s+24|0)}function LDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function ODe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,MDe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function MDe(){return 1144}function UDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,F=0;m=C,C=C+16|0,B=m+8|0,Q=m,F=_De(s)|0,s=n[F+4>>2]|0,n[Q>>2]=n[F>>2],n[Q+4>>2]=s,n[B>>2]=n[Q>>2],n[B+4>>2]=n[Q+4>>2],HDe(l,B,c,f,d),C=m}function _De(s){return s=s|0,(n[(hR()|0)+24>>2]|0)+(s*12|0)|0}function HDe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,F=0,M=0;M=C,C=C+16|0,B=M+2|0,Q=M+1|0,F=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Tu(B,c),c=+Nu(B,c),Tu(Q,f),f=+Nu(Q,f),XA(F,d),F=ZA(F,d)|0,iW[m&1](s,c,f,F),C=M}function Tu(s,l){s=s|0,l=+l}function Nu(s,l){return s=s|0,l=+l,+ +jDe(l)}function XA(s,l){s=s|0,l=l|0}function ZA(s,l){return s=s|0,l=l|0,qDe(l)|0}function qDe(s){return s=s|0,s|0}function jDe(s){return s=+s,+s}function GDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WDe(s,c,d,1),C=f}function WDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=gR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=YDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,KDe(m,f)|0,f),C=d}function gR(){var s=0,l=0;if(o[7648]|0||(W5(9268),pr(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W5(9268)}return 9268}function YDe(s){return s=s|0,0}function KDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=gR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],G5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(VDe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function VDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=zDe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,JDe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],G5(m,f,c),n[F>>2]=(n[F>>2]|0)+12,XDe(s,Q),ZDe(Q),C=M;return}}function zDe(s){return s=s|0,357913941}function JDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function XDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function W5(s){s=s|0,tPe(s)}function $De(s){s=s|0,ePe(s+24|0)}function ePe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function tPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,4,l,rPe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rPe(){return 1160}function nPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=iPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=sPe(l,f)|0,C=c,l|0}function iPe(s){return s=s|0,(n[(gR()|0)+24>>2]|0)+(s*12|0)|0}function sPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Y5(q0[c&31](s)|0)|0}function Y5(s){return s=s|0,s&1|0}function oPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aPe(s,c,d,0),C=f}function aPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=dR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=lPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,cPe(m,f)|0,f),C=d}function dR(){var s=0,l=0;if(o[7656]|0||(V5(9304),pr(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(9304)}return 9304}function lPe(s){return s=s|0,0}function cPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=dR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],K5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(uPe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function K5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function uPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=APe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,fPe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],K5(m,f,c),n[F>>2]=(n[F>>2]|0)+12,pPe(s,Q),hPe(Q),C=M;return}}function APe(s){return s=s|0,357913941}function fPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function pPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function V5(s){s=s|0,mPe(s)}function gPe(s){s=s|0,dPe(s+24|0)}function dPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function mPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,yPe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yPe(){return 1164}function EPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=CPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IPe(l,d,c),C=f}function CPe(s){return s=s|0,(n[(dR()|0)+24>>2]|0)+(s*12|0)|0}function IPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),bp(d,c),c=Qp(d,c)|0,tf[f&31](s,c),kp(d),C=m}function bp(s,l){s=s|0,l=l|0,wPe(s,l)}function Qp(s,l){return s=s|0,l=l|0,s|0}function kp(s){s=s|0,xu(s)}function wPe(s,l){s=s|0,l=l|0,mR(s,l)}function mR(s,l){s=s|0,l=l|0,n[s>>2]=l}function BPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vPe(s,c,d,0),C=f}function vPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=yR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=DPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,PPe(m,f)|0,f),C=d}function yR(){var s=0,l=0;if(o[7664]|0||(J5(9340),pr(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));J5(9340)}return 9340}function DPe(s){return s=s|0,0}function PPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=yR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],z5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SPe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function z5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xPe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,bPe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],z5(m,f,c),n[F>>2]=(n[F>>2]|0)+12,QPe(s,Q),kPe(Q),C=M;return}}function xPe(s){return s=s|0,357913941}function bPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function QPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function J5(s){s=s|0,TPe(s)}function FPe(s){s=s|0,RPe(s+24|0)}function RPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function TPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,4,l,NPe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function NPe(){return 1180}function LPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=OPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=MPe(l,d,c)|0,C=f,c|0}function OPe(s){return s=s|0,(n[(yR()|0)+24>>2]|0)+(s*12|0)|0}function MPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),T0(d,c),d=N0(d,c)|0,d=FD(hT[f&15](s,d)|0)|0,C=m,d|0}function T0(s,l){s=s|0,l=l|0}function N0(s,l){return s=s|0,l=l|0,UPe(l)|0}function FD(s){return s=s|0,s|0}function UPe(s){return s=s|0,s|0}function _Pe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HPe(s,c,d,0),C=f}function HPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=ER()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,jPe(m,f)|0,f),C=d}function ER(){var s=0,l=0;if(o[7672]|0||(Z5(9376),pr(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Z5(9376)}return 9376}function qPe(s){return s=s|0,0}function jPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=ER()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],X5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(GPe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function X5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function GPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=WPe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,YPe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],X5(m,f,c),n[F>>2]=(n[F>>2]|0)+12,KPe(s,Q),VPe(Q),C=M;return}}function WPe(s){return s=s|0,357913941}function YPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function KPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function Z5(s){s=s|0,XPe(s)}function zPe(s){s=s|0,JPe(s+24|0)}function JPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function XPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,$5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function $5(){return 1196}function ZPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=$Pe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=eSe(l,f)|0,C=c,l|0}function $Pe(s){return s=s|0,(n[(ER()|0)+24>>2]|0)+(s*12|0)|0}function eSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),FD(q0[c&31](s)|0)|0}function tSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rSe(s,c,d,1),C=f}function rSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=CR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=nSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,iSe(m,f)|0,f),C=d}function CR(){var s=0,l=0;if(o[7680]|0||(t9(9412),pr(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t9(9412)}return 9412}function nSe(s){return s=s|0,0}function iSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=CR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],e9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(sSe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function e9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function sSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=oSe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,aSe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],e9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,lSe(s,Q),cSe(Q),C=M;return}}function oSe(s){return s=s|0,357913941}function aSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function lSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function t9(s){s=s|0,fSe(s)}function uSe(s){s=s|0,ASe(s+24|0)}function ASe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function fSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,r9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function r9(){return 1200}function pSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=hSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=gSe(l,f)|0,C=c,l|0}function hSe(s){return s=s|0,(n[(CR()|0)+24>>2]|0)+(s*12|0)|0}function gSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),RD(q0[c&31](s)|0)|0}function RD(s){return s=s|0,s|0}function dSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mSe(s,c,d,0),C=f}function mSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=IR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ySe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,ESe(m,f)|0,f),C=d}function IR(){var s=0,l=0;if(o[7688]|0||(i9(9448),pr(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));i9(9448)}return 9448}function ySe(s){return s=s|0,0}function ESe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=IR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],n9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(CSe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function n9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function CSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ISe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,wSe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],n9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,BSe(s,Q),vSe(Q),C=M;return}}function ISe(s){return s=s|0,357913941}function wSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function BSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function vSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function i9(s){s=s|0,SSe(s)}function DSe(s){s=s|0,PSe(s+24|0)}function PSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function SSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,s9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function s9(){return 1204}function xSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=bSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QSe(l,d,c),C=f}function bSe(s){return s=s|0,(n[(IR()|0)+24>>2]|0)+(s*12|0)|0}function QSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),wR(d,c),d=BR(d,c)|0,tf[f&31](s,d),C=m}function wR(s,l){s=s|0,l=l|0}function BR(s,l){return s=s|0,l=l|0,kSe(l)|0}function kSe(s){return s=s|0,s|0}function FSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RSe(s,c,d,0),C=f}function RSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=vR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=TSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,NSe(m,f)|0,f),C=d}function vR(){var s=0,l=0;if(o[7696]|0||(a9(9484),pr(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a9(9484)}return 9484}function TSe(s){return s=s|0,0}function NSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=vR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(LSe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function LSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=OSe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,MSe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,USe(s,Q),_Se(Q),C=M;return}}function OSe(s){return s=s|0,357913941}function MSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function USe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _Se(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function a9(s){s=s|0,jSe(s)}function HSe(s){s=s|0,qSe(s+24|0)}function qSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function jSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,GSe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GSe(){return 1212}function WSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=YSe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],KSe(l,m,c,f),C=d}function YSe(s){return s=s|0,(n[(vR()|0)+24>>2]|0)+(s*12|0)|0}function KSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),wR(m,c),m=BR(m,c)|0,T0(B,f),B=N0(B,f)|0,aw[d&15](s,m,B),C=Q}function VSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zSe(s,c,d,1),C=f}function zSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=DR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=JSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,XSe(m,f)|0,f),C=d}function DR(){var s=0,l=0;if(o[7704]|0||(c9(9520),pr(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c9(9520)}return 9520}function JSe(s){return s=s|0,0}function XSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=DR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ZSe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ZSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=$Se(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,exe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,txe(s,Q),rxe(Q),C=M;return}}function $Se(s){return s=s|0,357913941}function exe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function txe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function c9(s){s=s|0,sxe(s)}function nxe(s){s=s|0,ixe(s+24|0)}function ixe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function sxe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,oxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function oxe(){return 1224}function axe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;return d=C,C=C+16|0,m=d+8|0,B=d,Q=lxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+cxe(l,m,c),C=d,+f}function lxe(s){return s=s|0,(n[(DR()|0)+24>>2]|0)+(s*12|0)|0}function cxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(d,c),d=ZA(d,c)|0,B=+Ru(+oW[f&7](s,d)),C=m,+B}function uxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Axe(s,c,d,1),C=f}function Axe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=PR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=fxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,pxe(m,f)|0,f),C=d}function PR(){var s=0,l=0;if(o[7712]|0||(A9(9556),pr(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));A9(9556)}return 9556}function fxe(s){return s=s|0,0}function pxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=PR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],u9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(hxe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function u9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function hxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=gxe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,dxe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],u9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,mxe(s,Q),yxe(Q),C=M;return}}function gxe(s){return s=s|0,357913941}function dxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function mxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function yxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function A9(s){s=s|0,Ixe(s)}function Exe(s){s=s|0,Cxe(s+24|0)}function Cxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Ixe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,wxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function wxe(){return 1232}function Bxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=vxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+Dxe(l,d),C=f,+c}function vxe(s){return s=s|0,(n[(PR()|0)+24>>2]|0)+(s*12|0)|0}function Dxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +Ru(+sW[c&15](s))}function Pxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Sxe(s,c,d,1),C=f}function Sxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=SR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=xxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,bxe(m,f)|0,f),C=d}function SR(){var s=0,l=0;if(o[7720]|0||(p9(9592),pr(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));p9(9592)}return 9592}function xxe(s){return s=s|0,0}function bxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=SR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],f9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Qxe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function f9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Qxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=kxe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Fxe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],f9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Rxe(s,Q),Txe(Q),C=M;return}}function kxe(s){return s=s|0,357913941}function Fxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Rxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Txe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function p9(s){s=s|0,Oxe(s)}function Nxe(s){s=s|0,Lxe(s+24|0)}function Lxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Oxe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,7,l,Mxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Mxe(){return 1276}function Uxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=_xe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Hxe(l,f)|0,C=c,l|0}function _xe(s){return s=s|0,(n[(SR()|0)+24>>2]|0)+(s*12|0)|0}function Hxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&31](f,s),f=h9(f)|0,C=d,f|0}function h9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=uR(g9()|0)|0,f?(AR(l,f),fR(c,l),qxe(s,c),s=pR(l)|0):s=jxe(s)|0,C=d,s|0}function g9(){var s=0;return o[7736]|0||($xe(9640),pr(25,9640,U|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function qxe(s,l){s=s|0,l=l|0,Kxe(l,s,s+8|0)|0}function jxe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Za(8)|0,l=f,Q=Yt(16)|0,n[Q>>2]=n[s>>2],n[Q+4>>2]=n[s+4>>2],n[Q+8>>2]=n[s+8>>2],n[Q+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=Q,s=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],xR(s,m,d),n[f>>2]=s,C=c,l|0}function xR(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function Gxe(s){s=s|0,om(s),yt(s)}function Wxe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function Yxe(s){s=s|0,yt(s)}function Kxe(s,l,c){return s=s|0,l=l|0,c=c|0,l=Vxe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function Vxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,$a(d),s=ys(s)|0,c=zxe(s,n[l>>2]|0,+E[c>>3])|0,el(d),C=f,c|0}function zxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=jo(Jxe()|0)|0,l=$d(l)|0,pc(0,f|0,s|0,l|0,+ +ma(c))|0}function Jxe(){var s=0;return o[7728]|0||(Xxe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function Xxe(s){s=s|0,ao(s,Zxe()|0,2)}function Zxe(){return 1264}function $xe(s){s=s|0,xp(s)}function ebe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tbe(s,c,d,1),C=f}function tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=bR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,nbe(m,f)|0,f),C=d}function bR(){var s=0,l=0;if(o[7744]|0||(m9(9684),pr(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));m9(9684)}return 9684}function rbe(s){return s=s|0,0}function nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=bR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],d9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ibe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function d9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sbe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,obe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],d9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,abe(s,Q),lbe(Q),C=M;return}}function sbe(s){return s=s|0,357913941}function obe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function abe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function m9(s){s=s|0,Abe(s)}function cbe(s){s=s|0,ube(s+24|0)}function ube(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Abe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,fbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fbe(){return 1280}function pbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=hbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=gbe(l,d,c)|0,C=f,c|0}function hbe(s){return s=s|0,(n[(bR()|0)+24>>2]|0)+(s*12|0)|0}function gbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(m,c),m=ZA(m,c)|0,aw[f&15](d,s,m),m=h9(d)|0,C=B,m|0}function dbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mbe(s,c,d,1),C=f}function mbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=QR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ybe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,Ebe(m,f)|0,f),C=d}function QR(){var s=0,l=0;if(o[7752]|0||(E9(9720),pr(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E9(9720)}return 9720}function ybe(s){return s=s|0,0}function Ebe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=QR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Cbe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Cbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Ibe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,wbe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Bbe(s,Q),vbe(Q),C=M;return}}function Ibe(s){return s=s|0,357913941}function wbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Bbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function vbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function E9(s){s=s|0,Sbe(s)}function Dbe(s){s=s|0,Pbe(s+24|0)}function Pbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function Sbe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,xbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xbe(){return 1288}function bbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=Qbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=kbe(l,f)|0,C=c,l|0}function Qbe(s){return s=s|0,(n[(QR()|0)+24>>2]|0)+(s*12|0)|0}function kbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),F0(q0[c&31](s)|0)|0}function Fbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Rbe(s,c,d,0),C=f}function Rbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=kR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Tbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,Nbe(m,f)|0,f),C=d}function kR(){var s=0,l=0;if(o[7760]|0||(I9(9756),pr(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I9(9756)}return 9756}function Tbe(s){return s=s|0,0}function Nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=kR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],C9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Lbe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function C9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Lbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Obe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,Mbe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],C9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,Ube(s,Q),_be(Q),C=M;return}}function Obe(s){return s=s|0,357913941}function Mbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Ube(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _be(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function I9(s){s=s|0,jbe(s)}function Hbe(s){s=s|0,qbe(s+24|0)}function qbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function jbe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Gbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Gbe(){return 1292}function Wbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Ybe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Kbe(l,d,c),C=f}function Ybe(s){return s=s|0,(n[(kR()|0)+24>>2]|0)+(s*12|0)|0}function Kbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Tu(d,c),c=+Nu(d,c),rW[f&31](s,c),C=m}function Vbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zbe(s,c,d,0),C=f}function zbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=FR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Jbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,Xbe(m,f)|0,f),C=d}function FR(){var s=0,l=0;if(o[7768]|0||(B9(9792),pr(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));B9(9792)}return 9792}function Jbe(s){return s=s|0,0}function Xbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=FR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Zbe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Zbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=$be(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,eQe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,tQe(s,Q),rQe(Q),C=M;return}}function $be(s){return s=s|0,357913941}function eQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function tQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function B9(s){s=s|0,sQe(s)}function nQe(s){s=s|0,iQe(s+24|0)}function iQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function sQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,oQe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function oQe(){return 1300}function aQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=lQe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],cQe(l,m,c,f),C=d}function lQe(s){return s=s|0,(n[(FR()|0)+24>>2]|0)+(s*12|0)|0}function cQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),XA(m,c),m=ZA(m,c)|0,Tu(B,f),f=+Nu(B,f),uW[d&15](s,m,f),C=Q}function uQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],AQe(s,c,d,0),C=f}function AQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=RR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=fQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,pQe(m,f)|0,f),C=d}function RR(){var s=0,l=0;if(o[7776]|0||(D9(9828),pr(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D9(9828)}return 9828}function fQe(s){return s=s|0,0}function pQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=RR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(hQe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function hQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=gQe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,dQe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,mQe(s,Q),yQe(Q),C=M;return}}function gQe(s){return s=s|0,357913941}function dQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function mQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function yQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function D9(s){s=s|0,IQe(s)}function EQe(s){s=s|0,CQe(s+24|0)}function CQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function IQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,7,l,wQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function wQe(){return 1312}function BQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=vQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],DQe(l,d,c),C=f}function vQe(s){return s=s|0,(n[(RR()|0)+24>>2]|0)+(s*12|0)|0}function DQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(d,c),d=ZA(d,c)|0,tf[f&31](s,d),C=m}function PQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],SQe(s,c,d,0),C=f}function SQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=TR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=xQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,bQe(m,f)|0,f),C=d}function TR(){var s=0,l=0;if(o[7784]|0||(S9(9864),pr(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));S9(9864)}return 9864}function xQe(s){return s=s|0,0}function bQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=TR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],P9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(QQe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function P9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function QQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=kQe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,FQe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],P9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,RQe(s,Q),TQe(Q),C=M;return}}function kQe(s){return s=s|0,357913941}function FQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function RQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function TQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function S9(s){s=s|0,OQe(s)}function NQe(s){s=s|0,LQe(s+24|0)}function LQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function OQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,MQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function MQe(){return 1320}function UQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=_Qe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HQe(l,d,c),C=f}function _Qe(s){return s=s|0,(n[(TR()|0)+24>>2]|0)+(s*12|0)|0}function HQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),qQe(d,c),d=jQe(d,c)|0,tf[f&31](s,d),C=m}function qQe(s,l){s=s|0,l=l|0}function jQe(s,l){return s=s|0,l=l|0,GQe(l)|0}function GQe(s){return s=s|0,s|0}function WQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YQe(s,c,d,0),C=f}function YQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=NR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=KQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,VQe(m,f)|0,f),C=d}function NR(){var s=0,l=0;if(o[7792]|0||(b9(9900),pr(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));b9(9900)}return 9900}function KQe(s){return s=s|0,0}function VQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=NR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],x9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zQe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function x9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JQe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,XQe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],x9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,ZQe(s,Q),$Qe(Q),C=M;return}}function JQe(s){return s=s|0,357913941}function XQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ZQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function $Qe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function b9(s){s=s|0,rke(s)}function eke(s){s=s|0,tke(s+24|0)}function tke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function rke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,22,l,nke()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function nke(){return 1344}function ike(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=ske(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],oke(l,f),C=c}function ske(s){return s=s|0,(n[(NR()|0)+24>>2]|0)+(s*12|0)|0}function oke(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ef[c&127](s)}function ake(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=LR()|0,s=lke(c)|0,yn(m,l,d,s,cke(c,f)|0,f)}function LR(){var s=0,l=0;if(o[7800]|0||(k9(9936),pr(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));k9(9936)}return 9936}function lke(s){return s=s|0,s|0}function cke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=LR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(Q9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(uke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function Q9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function uke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Ake(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,fke(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,Q9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,pke(s,d),hke(d),C=Q;return}}function Ake(s){return s=s|0,536870911}function fke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function pke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function k9(s){s=s|0,mke(s)}function gke(s){s=s|0,dke(s+24|0)}function dke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function mke(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,23,l,s9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yke(s,l){s=s|0,l=l|0,Cke(n[(Eke(s)|0)>>2]|0,l)}function Eke(s){return s=s|0,(n[(LR()|0)+24>>2]|0)+(s<<3)|0}function Cke(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,wR(f,l),l=BR(f,l)|0,ef[s&127](l),C=c}function Ike(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=OR()|0,s=wke(c)|0,yn(m,l,d,s,Bke(c,f)|0,f)}function OR(){var s=0,l=0;if(o[7808]|0||(R9(9972),pr(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Lr(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));R9(9972)}return 9972}function wke(s){return s=s|0,s|0}function Bke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=OR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(F9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(vke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function F9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function vke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Dke(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,Pke(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,F9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Ske(s,d),xke(d),C=Q;return}}function Dke(s){return s=s|0,536870911}function Pke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function xke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function R9(s){s=s|0,kke(s)}function bke(s){s=s|0,Qke(s+24|0)}function Qke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function kke(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,9,l,Fke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Fke(){return 1348}function Rke(s,l){return s=s|0,l=l|0,Nke(n[(Tke(s)|0)>>2]|0,l)|0}function Tke(s){return s=s|0,(n[(OR()|0)+24>>2]|0)+(s<<3)|0}function Nke(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,T9(f,l),l=N9(f,l)|0,l=FD(q0[s&31](l)|0)|0,C=c,l|0}function T9(s,l){s=s|0,l=l|0}function N9(s,l){return s=s|0,l=l|0,Lke(l)|0}function Lke(s){return s=s|0,s|0}function Oke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=MR()|0,s=Mke(c)|0,yn(m,l,d,s,Uke(c,f)|0,f)}function MR(){var s=0,l=0;if(o[7816]|0||(O9(10008),pr(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O9(10008)}return 10008}function Mke(s){return s=s|0,s|0}function Uke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=MR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(L9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(_ke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function L9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function _ke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Hke(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,qke(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,L9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,jke(s,d),Gke(d),C=Q;return}}function Hke(s){return s=s|0,536870911}function qke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function jke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Gke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function O9(s){s=s|0,Kke(s)}function Wke(s){s=s|0,Yke(s+24|0)}function Yke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function Kke(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,15,l,$5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Vke(s){return s=s|0,Jke(n[(zke(s)|0)>>2]|0)|0}function zke(s){return s=s|0,(n[(MR()|0)+24>>2]|0)+(s<<3)|0}function Jke(s){return s=s|0,FD(KD[s&7]()|0)|0}function Xke(){var s=0;return o[7832]|0||(sFe(10052),pr(25,10052,U|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function Zke(s,l){s=s|0,l=l|0,n[s>>2]=$ke()|0,n[s+4>>2]=eFe()|0,n[s+12>>2]=l,n[s+8>>2]=tFe()|0,n[s+32>>2]=2}function $ke(){return 11709}function eFe(){return 1188}function tFe(){return TD()|0}function rFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(nFe(c),yt(c)):l|0&&(jd(l),yt(l))}function Fp(s,l){return s=s|0,l=l|0,l&s|0}function nFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function TD(){var s=0;return o[7824]|0||(n[2511]=iFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function iFe(){return 0}function sFe(s){s=s|0,xp(s)}function oFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,aFe(s,4827),lFe(s,4834,3)|0,cFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],uFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],AFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],fFe(s,4891,c)|0,C=l}function aFe(s,l){s=s|0,l=l|0;var c=0;c=GRe()|0,n[s>>2]=c,WRe(c,l),Rp(n[s>>2]|0)}function lFe(s,l,c){return s=s|0,l=l|0,c=c|0,xRe(s,mn(l)|0,c,0),s|0}function cFe(s,l,c){return s=s|0,l=l|0,c=c|0,pRe(s,mn(l)|0,c,0),s|0}function uFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],VFe(s,l,d),C=f,s|0}function AFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bFe(s,l,d),C=f,s|0}function fFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],pFe(s,l,d),C=f,s|0}function pFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hFe(s,c,d,1),C=f}function hFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=UR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=gFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,dFe(m,f)|0,f),C=d}function UR(){var s=0,l=0;if(o[7840]|0||(U9(10100),pr(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U9(10100)}return 10100}function gFe(s){return s=s|0,0}function dFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=UR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(mFe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function mFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=yFe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,EFe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,CFe(s,Q),IFe(Q),C=M;return}}function yFe(s){return s=s|0,357913941}function EFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function CFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function IFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function U9(s){s=s|0,vFe(s)}function wFe(s){s=s|0,BFe(s+24|0)}function BFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function vFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,DFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DFe(){return 1364}function PFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=SFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=xFe(l,d,c)|0,C=f,c|0}function SFe(s){return s=s|0,(n[(UR()|0)+24>>2]|0)+(s*12|0)|0}function xFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),XA(d,c),d=ZA(d,c)|0,d=Y5(hT[f&15](s,d)|0)|0,C=m,d|0}function bFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QFe(s,c,d,0),C=f}function QFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=_R()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=kFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,FFe(m,f)|0,f),C=d}function _R(){var s=0,l=0;if(o[7848]|0||(H9(10136),pr(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H9(10136)}return 10136}function kFe(s){return s=s|0,0}function FFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=_R()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(RFe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function RFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=TFe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,NFe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,LFe(s,Q),OFe(Q),C=M;return}}function TFe(s){return s=s|0,357913941}function NFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function LFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function OFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function H9(s){s=s|0,_Fe(s)}function MFe(s){s=s|0,UFe(s+24|0)}function UFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function _Fe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,9,l,HFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HFe(){return 1372}function qFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=jFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GFe(l,d,c),C=f}function jFe(s){return s=s|0,(n[(_R()|0)+24>>2]|0)+(s*12|0)|0}function GFe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=Ze;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),WFe(d,c),B=y(YFe(d,c)),tW[f&1](s,B),C=m}function WFe(s,l){s=s|0,l=+l}function YFe(s,l){return s=s|0,l=+l,y(KFe(l))}function KFe(s){return s=+s,y(s)}function VFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=mn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zFe(s,c,d,0),C=f}function zFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,F=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,F=n[c+4>>2]|0,B=n[s>>2]|0,s=HR()|0,n[O>>2]=M,n[O+4>>2]=F,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=JFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=F,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],yn(B,l,s,c,XFe(m,f)|0,f),C=d}function HR(){var s=0,l=0;if(o[7856]|0||(j9(10172),pr(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j9(10172)}return 10172}function JFe(s){return s=s|0,0}function XFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,F=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=HR()|0,M=j+24|0,s=dr(l,4)|0,n[F>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ZFe(M,Q,F),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ZFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,F=s+4|0,d=(((n[F>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=$Fe(s)|0,m>>>0>>0)Zr(s);else{O=n[s>>2]|0,oe=((n[s+8>>2]|0)-O|0)/12|0,j=oe<<1,eRe(Q,oe>>>0>>1>>>0?j>>>0>>0?d:j:m,((n[F>>2]|0)-O|0)/12|0,s+8|0),F=Q+8|0,m=n[F>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q9(m,f,c),n[F>>2]=(n[F>>2]|0)+12,tRe(s,Q),rRe(Q),C=M;return}}function $Fe(s){return s=s|0,357913941}function eRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Yt(l*12|0)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function tRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&yt(s)}function j9(s){s=s|0,sRe(s)}function nRe(s){s=s|0,iRe(s+24|0)}function iRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),yt(c))}function sRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,3,l,oRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function oRe(){return 1380}function aRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=lRe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],cRe(l,m,c,f),C=d}function lRe(s){return s=s|0,(n[(HR()|0)+24>>2]|0)+(s*12|0)|0}function cRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),XA(m,c),m=ZA(m,c)|0,uRe(B,f),B=ARe(B,f)|0,aw[d&15](s,m,B),C=Q}function uRe(s,l){s=s|0,l=l|0}function ARe(s,l){return s=s|0,l=l|0,fRe(l)|0}function fRe(s){return s=s|0,(s|0)!=0|0}function pRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=qR()|0,s=hRe(c)|0,yn(m,l,d,s,gRe(c,f)|0,f)}function qR(){var s=0,l=0;if(o[7864]|0||(W9(10208),pr(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(10208)}return 10208}function hRe(s){return s=s|0,s|0}function gRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=qR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(G9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(dRe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function G9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function dRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=mRe(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,yRe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,G9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,ERe(s,d),CRe(d),C=Q;return}}function mRe(s){return s=s|0,536870911}function yRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function ERe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function CRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function W9(s){s=s|0,BRe(s)}function IRe(s){s=s|0,wRe(s+24|0)}function wRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function BRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,24,l,vRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function vRe(){return 1392}function DRe(s,l){s=s|0,l=l|0,SRe(n[(PRe(s)|0)>>2]|0,l)}function PRe(s){return s=s|0,(n[(qR()|0)+24>>2]|0)+(s<<3)|0}function SRe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,T9(f,l),l=N9(f,l)|0,ef[s&127](l),C=c}function xRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=jR()|0,s=bRe(c)|0,yn(m,l,d,s,QRe(c,f)|0,f)}function jR(){var s=0,l=0;if(o[7872]|0||(K9(10244),pr(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K9(10244)}return 10244}function bRe(s){return s=s|0,s|0}function QRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=jR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(Y9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(kRe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function Y9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function kRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FRe(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,RRe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,Y9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,TRe(s,d),NRe(d),C=Q;return}}function FRe(s){return s=s|0,536870911}function RRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function TRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function K9(s){s=s|0,MRe(s)}function LRe(s){s=s|0,ORe(s+24|0)}function ORe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function MRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,16,l,URe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function URe(){return 1400}function _Re(s){return s=s|0,qRe(n[(HRe(s)|0)>>2]|0)|0}function HRe(s){return s=s|0,(n[(jR()|0)+24>>2]|0)+(s<<3)|0}function qRe(s){return s=s|0,jRe(KD[s&7]()|0)|0}function jRe(s){return s=s|0,s|0}function GRe(){var s=0;return o[7880]|0||(XRe(10280),pr(25,10280,U|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function WRe(s,l){s=s|0,l=l|0,n[s>>2]=YRe()|0,n[s+4>>2]=KRe()|0,n[s+12>>2]=l,n[s+8>>2]=VRe()|0,n[s+32>>2]=4}function YRe(){return 11711}function KRe(){return 1356}function VRe(){return TD()|0}function zRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(JRe(c),yt(c)):l|0&&(w0(l),yt(l))}function JRe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function XRe(s){s=s|0,xp(s)}function ZRe(s){s=s|0,$Re(s,4920),eTe(s)|0,tTe(s)|0}function $Re(s,l){s=s|0,l=l|0;var c=0;c=g9()|0,n[s>>2]=c,wTe(c,l),Rp(n[s>>2]|0)}function eTe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,fTe()|0),s|0}function tTe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,rTe()|0),s|0}function rTe(){var s=0;return o[7888]|0||(V9(10328),pr(53,10328,U|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),Lr(10328)|0||V9(10328),10328}function L0(s,l){s=s|0,l=l|0,yn(s,0,l,0,0,0)}function V9(s){s=s|0,sTe(s),O0(s,10)}function nTe(s){s=s|0,iTe(s+24|0)}function iTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function sTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,1,l,cTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function oTe(s,l,c){s=s|0,l=l|0,c=+c,aTe(s,l,c)}function O0(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function aTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,m=f+8|0,Q=f+13|0,d=f,B=f+12|0,XA(Q,l),n[m>>2]=ZA(Q,l)|0,Tu(B,c),E[d>>3]=+Nu(B,c),lTe(s,m,d),C=f}function lTe(s,l,c){s=s|0,l=l|0,c=c|0,Xa(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function cTe(){return 1404}function uTe(s,l){return s=s|0,l=+l,ATe(s,l)|0}function ATe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,Q=f,d=Za(8)|0,c=d,F=Yt(16)|0,XA(m,s),s=ZA(m,s)|0,Tu(B,l),Xa(F,s,+Nu(B,l)),B=c+4|0,n[B>>2]=F,s=Yt(8)|0,B=n[B>>2]|0,n[Q>>2]=0,n[m>>2]=n[Q>>2],xR(s,B,m),n[d>>2]=s,C=f,c|0}function fTe(){var s=0;return o[7896]|0||(z9(10364),pr(54,10364,U|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),Lr(10364)|0||z9(10364),10364}function z9(s){s=s|0,gTe(s),O0(s,55)}function pTe(s){s=s|0,hTe(s+24|0)}function hTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function gTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,4,l,ETe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function dTe(s){s=s|0,mTe(s)}function mTe(s){s=s|0,yTe(s)}function yTe(s){s=s|0,J9(s+8|0),o[s+24>>0]=1}function J9(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function ETe(){return 1424}function CTe(){return ITe()|0}function ITe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Za(8)|0,s=c,f=Yt(16)|0,J9(f),m=s+4|0,n[m>>2]=f,f=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],xR(f,m,d),n[c>>2]=f,C=l,s|0}function wTe(s,l){s=s|0,l=l|0,n[s>>2]=BTe()|0,n[s+4>>2]=vTe()|0,n[s+12>>2]=l,n[s+8>>2]=DTe()|0,n[s+32>>2]=5}function BTe(){return 11710}function vTe(){return 1416}function DTe(){return ND()|0}function PTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(STe(c),yt(c)):l|0&&yt(l)}function STe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function ND(){var s=0;return o[7904]|0||(n[2600]=xTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function xTe(){return n[357]|0}function bTe(s){s=s|0,QTe(s,4926),kTe(s)|0}function QTe(s,l){s=s|0,l=l|0;var c=0;c=M5()|0,n[s>>2]=c,qTe(c,l),Rp(n[s>>2]|0)}function kTe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,FTe()|0),s|0}function FTe(){var s=0;return o[7912]|0||(X9(10412),pr(56,10412,U|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),Lr(10412)|0||X9(10412),10412}function X9(s){s=s|0,NTe(s),O0(s,57)}function RTe(s){s=s|0,TTe(s+24|0)}function TTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function NTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,5,l,UTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function LTe(s){s=s|0,OTe(s)}function OTe(s){s=s|0,MTe(s)}function MTe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function UTe(){return 1432}function _Te(){return HTe()|0}function HTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Za(8)|0,f=c,d=Yt(48)|0,m=d,Q=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(Q|0));return m=f+4|0,n[m>>2]=d,Q=Yt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],U5(Q,m,s),n[c>>2]=Q,C=B,f|0}function qTe(s,l){s=s|0,l=l|0,n[s>>2]=jTe()|0,n[s+4>>2]=GTe()|0,n[s+12>>2]=l,n[s+8>>2]=WTe()|0,n[s+32>>2]=6}function jTe(){return 11704}function GTe(){return 1436}function WTe(){return ND()|0}function YTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(KTe(c),yt(c)):l|0&&yt(l)}function KTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function VTe(s){s=s|0,zTe(s,4933),JTe(s)|0,XTe(s)|0}function zTe(s,l){s=s|0,l=l|0;var c=0;c=INe()|0,n[s>>2]=c,wNe(c,l),Rp(n[s>>2]|0)}function JTe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,ANe()|0),s|0}function XTe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,ZTe()|0),s|0}function ZTe(){var s=0;return o[7920]|0||(Z9(10452),pr(58,10452,U|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),Lr(10452)|0||Z9(10452),10452}function Z9(s){s=s|0,tNe(s),O0(s,1)}function $Te(s){s=s|0,eNe(s+24|0)}function eNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function tNe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,1,l,sNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rNe(s,l,c){s=s|0,l=+l,c=+c,nNe(s,l,c)}function nNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,m=f+8|0,Q=f+17|0,d=f,B=f+16|0,Tu(Q,l),E[m>>3]=+Nu(Q,l),Tu(B,c),E[d>>3]=+Nu(B,c),iNe(s,m,d),C=f}function iNe(s,l,c){s=s|0,l=l|0,c=c|0,$9(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function $9(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function sNe(){return 1472}function oNe(s,l){return s=+s,l=+l,aNe(s,l)|0}function aNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return f=C,C=C+16|0,B=f+4|0,Q=f+8|0,F=f,d=Za(8)|0,c=d,m=Yt(16)|0,Tu(B,s),s=+Nu(B,s),Tu(Q,l),$9(m,s,+Nu(Q,l)),Q=c+4|0,n[Q>>2]=m,m=Yt(8)|0,Q=n[Q>>2]|0,n[F>>2]=0,n[B>>2]=n[F>>2],e7(m,Q,B),n[d>>2]=m,C=f,c|0}function e7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function lNe(s){s=s|0,om(s),yt(s)}function cNe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function uNe(s){s=s|0,yt(s)}function ANe(){var s=0;return o[7928]|0||(t7(10488),pr(59,10488,U|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),Lr(10488)|0||t7(10488),10488}function t7(s){s=s|0,hNe(s),O0(s,60)}function fNe(s){s=s|0,pNe(s+24|0)}function pNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function hNe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,6,l,yNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function gNe(s){s=s|0,dNe(s)}function dNe(s){s=s|0,mNe(s)}function mNe(s){s=s|0,r7(s+8|0),o[s+24>>0]=1}function r7(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function yNe(){return 1492}function ENe(){return CNe()|0}function CNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Za(8)|0,s=c,f=Yt(16)|0,r7(f),m=s+4|0,n[m>>2]=f,f=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],e7(f,m,d),n[c>>2]=f,C=l,s|0}function INe(){var s=0;return o[7936]|0||(xNe(10524),pr(25,10524,U|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function wNe(s,l){s=s|0,l=l|0,n[s>>2]=BNe()|0,n[s+4>>2]=vNe()|0,n[s+12>>2]=l,n[s+8>>2]=DNe()|0,n[s+32>>2]=7}function BNe(){return 11700}function vNe(){return 1484}function DNe(){return ND()|0}function PNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(SNe(c),yt(c)):l|0&&yt(l)}function SNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function xNe(s){s=s|0,xp(s)}function bNe(s,l,c){s=s|0,l=l|0,c=c|0,s=mn(l)|0,l=QNe(c)|0,c=kNe(c,0)|0,aLe(s,l,c,GR()|0,0)}function QNe(s){return s=s|0,s|0}function kNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=GR()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(i7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(MNe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function GR(){var s=0,l=0;if(o[7944]|0||(n7(10568),pr(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n7(10568)}return 10568}function n7(s){s=s|0,TNe(s)}function FNe(s){s=s|0,RNe(s+24|0)}function RNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function TNe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,17,l,r9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function NNe(s){return s=s|0,ONe(n[(LNe(s)|0)>>2]|0)|0}function LNe(s){return s=s|0,(n[(GR()|0)+24>>2]|0)+(s<<3)|0}function ONe(s){return s=s|0,RD(KD[s&7]()|0)|0}function i7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function MNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=UNe(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,_Ne(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,i7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,HNe(s,d),qNe(d),C=Q;return}}function UNe(s){return s=s|0,536870911}function _Ne(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function HNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qNe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function jNe(){GNe()}function GNe(){WNe(10604)}function WNe(s){s=s|0,YNe(s,4955)}function YNe(s,l){s=s|0,l=l|0;var c=0;c=KNe()|0,n[s>>2]=c,VNe(c,l),Rp(n[s>>2]|0)}function KNe(){var s=0;return o[7952]|0||(nLe(10612),pr(25,10612,U|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function VNe(s,l){s=s|0,l=l|0,n[s>>2]=ZNe()|0,n[s+4>>2]=$Ne()|0,n[s+12>>2]=l,n[s+8>>2]=eLe()|0,n[s+32>>2]=8}function Rp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,tm()|0,n[c>>2]=s,zNe(10608,c),C=l}function tm(){return o[11714]|0||(n[2652]=0,pr(62,10608,U|0)|0,o[11714]=1),10608}function zNe(s,l){s=s|0,l=l|0;var c=0;c=Yt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function JNe(s){s=s|0,XNe(s)}function XNe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,yt(c);while(l|0);n[s>>2]=0}function ZNe(){return 11715}function $Ne(){return 1496}function eLe(){return TD()|0}function tLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(rLe(c),yt(c)):l|0&&yt(l)}function rLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function nLe(s){s=s|0,xp(s)}function iLe(s,l){s=s|0,l=l|0;var c=0,f=0;tm()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&!(U7(WR(f)|0,s)|0));)if(c=n[c>>2]|0,!c)break e;sLe(f,l)}while(!1)}function WR(s){return s=s|0,n[s+12>>2]|0}function sLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(xu(c),yt(c)),c=Yt(4)|0,PD(c,l),n[s>>2]=c}function YR(){return o[11716]|0||(n[2664]=0,pr(63,10656,U|0)|0,o[11716]=1),10656}function s7(){var s=0;return o[11717]|0?s=n[2665]|0:(oLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function oLe(){o[11740]|0||(o[11718]=dr(dr(8,0)|0,0)|0,o[11719]=dr(dr(0,0)|0,0)|0,o[11720]=dr(dr(0,16)|0,0)|0,o[11721]=dr(dr(8,0)|0,0)|0,o[11722]=dr(dr(0,0)|0,0)|0,o[11723]=dr(dr(8,0)|0,0)|0,o[11724]=dr(dr(0,0)|0,0)|0,o[11725]=dr(dr(8,0)|0,0)|0,o[11726]=dr(dr(0,0)|0,0)|0,o[11727]=dr(dr(8,0)|0,0)|0,o[11728]=dr(dr(0,0)|0,0)|0,o[11729]=dr(dr(0,0)|0,32)|0,o[11730]=dr(dr(0,0)|0,32)|0,o[11740]=1)}function o7(){return 1572}function aLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,F=m+8|0,Q=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[F>>2]=c,n[Q>>2]=f,n[B>>2]=d,YR()|0,lLe(10656,O,M,F,Q,B),C=m}function lLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Yt(24)|0,N5(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function a7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0,tt=0,Xe=0,ct=0;if(ct=C,C=C+32|0,Oe=ct+20|0,ke=ct+8|0,tt=ct+4|0,Xe=ct,l=n[l>>2]|0,l|0){We=Oe+4|0,F=Oe+8|0,M=ke+4|0,O=ke+8|0,j=ke+8|0,oe=Oe+8|0;do{if(B=l+4|0,Q=KR(B)|0,Q|0){if(d=tw(Q)|0,n[Oe>>2]=0,n[We>>2]=0,n[F>>2]=0,f=(rw(Q)|0)+1|0,cLe(Oe,f),f|0)for(;f=f+-1|0,Tc(ke,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[oe>>2]|0)>>>0?(n[m>>2]=n[ke>>2],n[We>>2]=(n[We>>2]|0)+4):VR(Oe,ke),f;)d=d+4|0;f=nw(Q)|0,n[ke>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?uLe(ke,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(!1);n[tt>>2]=LD(B)|0,n[Xe>>2]=Lr(Q)|0,ALe(c,s,tt,Xe,Oe,ke),zR(ke),$A(Oe)}l=n[l>>2]|0}while(l|0)}C=ct}function KR(s){return s=s|0,n[s+12>>2]|0}function tw(s){return s=s|0,n[s+12>>2]|0}function rw(s){return s=s|0,n[s+16>>2]|0}function cLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0>>0&&(g7(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),d7(s,c),m7(c)),C=d}function VR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=h7(s)|0,m>>>0>>0)Zr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,F=M>>1,g7(c,M>>2>>>0>>1>>>0?F>>>0>>0?d:F:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,d7(s,c),m7(c),C=B;return}}function nw(s){return s=s|0,n[s+8>>2]|0}function uLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=p7(s)|0,m>>>0>>0)Zr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,F=M>>1,QLe(c,M>>2>>>0>>1>>>0?F>>>0>>0?d:F:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,kLe(s,c),FLe(c),C=B;return}}function LD(s){return s=s|0,n[s>>2]|0}function ALe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,fLe(s,l,c,f,d,m)}function zR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),yt(c))}function $A(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),yt(c))}function fLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,F=0,M=0,O=0,j=0;B=C,C=C+48|0,O=B+40|0,Q=B+32|0,j=B+24|0,F=B+12|0,M=B,$a(Q),s=ys(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,JR(F,d),pLe(M,m),n[O>>2]=n[j>>2],hLe(s,O,c,f,F,M),zR(M),$A(F),el(Q),C=B}function JR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(xLe(s,f),bLe(s,n[l>>2]|0,n[c>>2]|0,f))}function pLe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(PLe(s,f),SLe(s,n[l>>2]|0,n[c>>2]|0,f))}function hLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,F=0,M=0,O=0,j=0;B=C,C=C+32|0,O=B+28|0,j=B+24|0,Q=B+12|0,F=B,M=jo(gLe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=M0(O)|0,c=l7(c)|0,f=XR(f)|0,n[Q>>2]=n[d>>2],O=d+4|0,n[Q+4>>2]=n[O>>2],j=d+8|0,n[Q+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=ZR(Q)|0,n[F>>2]=n[m>>2],O=m+4|0,n[F+4>>2]=n[O>>2],j=m+8|0,n[F+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,gc(0,M|0,s|0,l|0,c|0,f|0,d|0,dLe(F)|0)|0,zR(F),$A(Q),C=B}function gLe(){var s=0;return o[7968]|0||(vLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function M0(s){return s=s|0,u7(s)|0}function l7(s){return s=s|0,c7(s)|0}function XR(s){return s=s|0,RD(s)|0}function ZR(s){return s=s|0,yLe(s)|0}function dLe(s){return s=s|0,mLe(s)|0}function mLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Za(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=c7(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function c7(s){return s=s|0,s|0}function yLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Za(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=u7((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function u7(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=uR(A7()|0)|0,f?(AR(l,f),fR(c,l),eUe(s,c),s=pR(l)|0):s=ELe(s)|0,C=d,s|0}function A7(){var s=0;return o[7960]|0||(BLe(10664),pr(25,10664,U|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function ELe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Za(8)|0,l=f,Q=Yt(4)|0,n[Q>>2]=n[s>>2],m=l+4|0,n[m>>2]=Q,s=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],f7(s,m,d),n[f>>2]=s,C=c,l|0}function f7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function CLe(s){s=s|0,om(s),yt(s)}function ILe(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function wLe(s){s=s|0,yt(s)}function BLe(s){s=s|0,xp(s)}function vLe(s){s=s|0,ao(s,DLe()|0,5)}function DLe(){return 1676}function PLe(s,l){s=s|0,l=l|0;var c=0;if((p7(s)|0)>>>0>>0&&Zr(s),l>>>0>1073741823)Tt();else{c=Yt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function SLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(br(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function p7(s){return s=s|0,1073741823}function xLe(s,l){s=s|0,l=l|0;var c=0;if((h7(s)|0)>>>0>>0&&Zr(s),l>>>0>1073741823)Tt();else{c=Yt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function bLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(br(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function h7(s){return s=s|0,1073741823}function QLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Yt(l<<2)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function kLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function FLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&yt(s)}function g7(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Yt(l<<2)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function d7(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function m7(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&yt(s)}function RLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0;if(ke=C,C=C+32|0,O=ke+20|0,j=ke+12|0,M=ke+16|0,oe=ke+4|0,We=ke,Oe=ke+8|0,Q=s7()|0,m=n[Q>>2]|0,B=n[m>>2]|0,B|0)for(F=n[Q+8>>2]|0,Q=n[Q+4>>2]|0;Tc(O,B),TLe(s,O,Q,F),m=m+4|0,B=n[m>>2]|0,B;)F=F+1|0,Q=Q+1|0;if(m=o7()|0,B=n[m>>2]|0,B|0)do Tc(O,B),n[j>>2]=n[m+4>>2],NLe(l,O,j),m=m+8|0,B=n[m>>2]|0;while(B|0);if(m=n[(tm()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,Tc(O,n[(rm(l)|0)>>2]|0),n[j>>2]=WR(l)|0,LLe(c,O,j),m=n[m>>2]|0;while(m|0);if(Tc(M,0),m=YR()|0,n[O>>2]=n[M>>2],a7(O,m,d),m=n[(tm()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(F=n[m+4>>2]|0,Tc(j,n[(rm(F)|0)>>2]|0),OLe(oe,y7(F)|0),B=n[oe>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do Tc(We,n[(rm(n[B+4>>2]|0)|0)>>2]|0),Q=n[s>>2]|0,Q>>>0<(n[c>>2]|0)>>>0?(n[Q>>2]=n[We>>2],n[s>>2]=(n[s>>2]|0)+4):VR(O,We),B=n[B>>2]|0;while(B|0);MLe(f,j,O),$A(O)}n[Oe>>2]=n[j>>2],M=E7(F)|0,n[O>>2]=n[Oe>>2],a7(O,M,d),H5(oe),m=n[m>>2]|0}while(m|0)}C=ke}function TLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,JLe(s,l,c,f)}function NLe(s,l,c){s=s|0,l=l|0,c=c|0,zLe(s,l,c)}function rm(s){return s=s|0,s|0}function LLe(s,l,c){s=s|0,l=l|0,c=c|0,WLe(s,l,c)}function y7(s){return s=s|0,s+16|0}function OLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=GLe(c)|0,f|0){if(f=Yt(12)|0,B=(C7(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Yt(12)|0,F=(C7(d)|0)+4|0,Q=n[F+4>>2]|0,B=s+4|0,n[B>>2]=n[F>>2],n[B+4>>2]=Q,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function MLe(s,l,c){s=s|0,l=l|0,c=c|0,ULe(s,l,c)}function E7(s){return s=s|0,s+24|0}function ULe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,Q=f+12|0,m=f,$a(d),s=ys(s)|0,n[Q>>2]=n[l>>2],JR(m,c),n[B>>2]=n[Q>>2],_Le(s,B,m),$A(m),el(d),C=f}function _Le(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,B=f+16|0,Q=f+12|0,d=f,m=jo(HLe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=M0(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],Q=c+8|0,n[d+8>>2]=n[Q>>2],n[Q>>2]=0,n[B>>2]=0,n[c>>2]=0,hs(0,m|0,s|0,l|0,ZR(d)|0)|0,$A(d),C=f}function HLe(){var s=0;return o[7976]|0||(qLe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function qLe(s){s=s|0,ao(s,jLe()|0,2)}function jLe(){return 1732}function GLe(s){return s=s|0,n[s>>2]|0}function C7(s){return s=s|0,n[s>>2]|0}function WLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,$a(d),s=ys(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],I7(s,m,c),el(d),C=f}function I7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=jo(YLe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=M0(m)|0,hs(0,d|0,s|0,l|0,l7(c)|0)|0,C=f}function YLe(){var s=0;return o[7984]|0||(KLe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function KLe(s){s=s|0,ao(s,VLe()|0,2)}function VLe(){return 1744}function zLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,$a(d),s=ys(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],I7(s,m,c),el(d),C=f}function JLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,Q=d,$a(m),s=ys(s)|0,n[Q>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[Q>>2],XLe(s,B,c,f),el(m),C=d}function XLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,B=d+4|0,Q=d,m=jo(ZLe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=M0(B)|0,c=nm(c)|0,vi(0,m|0,s|0,l|0,c|0,nm(f)|0)|0,C=d}function ZLe(){var s=0;return o[7992]|0||(eOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function nm(s){return s=s|0,$Le(s)|0}function $Le(s){return s=s|0,s&255|0}function eOe(s){s=s|0,ao(s,tOe()|0,3)}function tOe(){return 1756}function rOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;switch(oe=C,C=C+32|0,Q=oe+8|0,F=oe+4|0,M=oe+20|0,O=oe,mR(s,0),f=$4e(l)|0,n[Q>>2]=0,j=Q+4|0,n[j>>2]=0,n[Q+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,nOe(F,c,M),OD(s,F)|0,bu(F);break}case 8:{j=iT(l)|0,o[M>>0]=8,Tc(O,n[j+4>>2]|0),iOe(F,c,M,O,j+8|0),OD(s,F)|0,bu(F);break}case 9:{if(m=iT(l)|0,l=n[m+4>>2]|0,l|0)for(B=Q+8|0,d=m+12|0;l=l+-1|0,Tc(F,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[F>>2],n[j>>2]=(n[j>>2]|0)+4):VR(Q,F),l;)d=d+4|0;o[M>>0]=9,Tc(O,n[m+8>>2]|0),sOe(F,c,M,O,Q),OD(s,F)|0,bu(F);break}default:j=iT(l)|0,o[M>>0]=f,Tc(O,n[j+4>>2]|0),oOe(F,c,M,O),OD(s,F)|0,bu(F)}$A(Q),C=oe}function nOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,$a(d),l=ys(l)|0,EOe(s,l,o[c>>0]|0),el(d),C=f}function OD(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&sa(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function iOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0;m=C,C=C+32|0,Q=m+16|0,B=m+8|0,F=m,$a(B),l=ys(l)|0,c=o[c>>0]|0,n[F>>2]=n[f>>2],d=n[d>>2]|0,n[Q>>2]=n[F>>2],gOe(s,l,c,Q,d),el(B),C=m}function sOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0,M=0;m=C,C=C+32|0,F=m+24|0,B=m+16|0,M=m+12|0,Q=m,$a(B),l=ys(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],JR(Q,d),n[F>>2]=n[M>>2],AOe(s,l,c,F,Q),$A(Q),el(B),C=m}function oOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,Q=d,$a(m),l=ys(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],n[B>>2]=n[Q>>2],aOe(s,l,c,B),el(m),C=d}function aOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+4|0,Q=d,B=jo(lOe()|0)|0,c=nm(c)|0,n[Q>>2]=n[f>>2],n[m>>2]=n[Q>>2],MD(s,hs(0,B|0,l|0,c|0,M0(m)|0)|0),C=d}function lOe(){var s=0;return o[8e3]|0||(cOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function MD(s,l){s=s|0,l=l|0,mR(s,l)}function cOe(s){s=s|0,ao(s,uOe()|0,2)}function uOe(){return 1772}function AOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0,M=0;m=C,C=C+32|0,F=m+16|0,M=m+12|0,B=m,Q=jo(fOe()|0)|0,c=nm(c)|0,n[M>>2]=n[f>>2],n[F>>2]=n[M>>2],f=M0(F)|0,n[B>>2]=n[d>>2],F=d+4|0,n[B+4>>2]=n[F>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[F>>2]=0,n[d>>2]=0,MD(s,vi(0,Q|0,l|0,c|0,f|0,ZR(B)|0)|0),$A(B),C=m}function fOe(){var s=0;return o[8008]|0||(pOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function pOe(s){s=s|0,ao(s,hOe()|0,3)}function hOe(){return 1784}function gOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0;m=C,C=C+16|0,Q=m+4|0,F=m,B=jo(dOe()|0)|0,c=nm(c)|0,n[F>>2]=n[f>>2],n[Q>>2]=n[F>>2],f=M0(Q)|0,MD(s,vi(0,B|0,l|0,c|0,f|0,XR(d)|0)|0),C=m}function dOe(){var s=0;return o[8016]|0||(mOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function mOe(s){s=s|0,ao(s,yOe()|0,3)}function yOe(){return 1800}function EOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=jo(COe()|0)|0,MD(s,un(0,f|0,l|0,nm(c)|0)|0)}function COe(){var s=0;return o[8024]|0||(IOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function IOe(s){s=s|0,ao(s,wOe()|0,1)}function wOe(){return 1816}function BOe(){vOe(),DOe(),POe()}function vOe(){n[2702]=z7(65536)|0}function DOe(){YOe(10856)}function POe(){SOe(10816)}function SOe(s){s=s|0,xOe(s,5044),bOe(s)|0}function xOe(s,l){s=s|0,l=l|0;var c=0;c=A7()|0,n[s>>2]=c,_Oe(c,l),Rp(n[s>>2]|0)}function bOe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,QOe()|0),s|0}function QOe(){var s=0;return o[8032]|0||(w7(10820),pr(64,10820,U|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),Lr(10820)|0||w7(10820),10820}function w7(s){s=s|0,ROe(s),O0(s,25)}function kOe(s){s=s|0,FOe(s+24|0)}function FOe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function ROe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,18,l,OOe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TOe(s,l){s=s|0,l=l|0,NOe(s,l)}function NOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,T0(d,l),n[f>>2]=N0(d,l)|0,LOe(s,f),C=c}function LOe(s,l){s=s|0,l=l|0,B7(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function B7(s,l){s=s|0,l=l|0,n[s>>2]=l}function OOe(){return 1824}function MOe(s){return s=s|0,UOe(s)|0}function UOe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Za(8)|0,l=f,Q=Yt(4)|0,T0(d,s),B7(Q,N0(d,s)|0),m=l+4|0,n[m>>2]=Q,s=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],f7(s,m,d),n[f>>2]=s,C=c,l|0}function Za(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=z7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function _Oe(s,l){s=s|0,l=l|0,n[s>>2]=HOe()|0,n[s+4>>2]=qOe()|0,n[s+12>>2]=l,n[s+8>>2]=jOe()|0,n[s+32>>2]=9}function HOe(){return 11744}function qOe(){return 1832}function jOe(){return ND()|0}function GOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(WOe(c),yt(c)):l|0&&yt(l)}function WOe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function YOe(s){s=s|0,KOe(s,5052),VOe(s)|0,zOe(s,5058,26)|0,JOe(s,5069,1)|0,XOe(s,5077,10)|0,ZOe(s,5087,19)|0,$Oe(s,5094,27)|0}function KOe(s,l){s=s|0,l=l|0;var c=0;c=W4e()|0,n[s>>2]=c,Y4e(c,l),Rp(n[s>>2]|0)}function VOe(s){s=s|0;var l=0;return l=n[s>>2]|0,L0(l,k4e()|0),s|0}function zOe(s,l,c){return s=s|0,l=l|0,c=c|0,p4e(s,mn(l)|0,c,0),s|0}function JOe(s,l,c){return s=s|0,l=l|0,c=c|0,ZMe(s,mn(l)|0,c,0),s|0}function XOe(s,l,c){return s=s|0,l=l|0,c=c|0,QMe(s,mn(l)|0,c,0),s|0}function ZOe(s,l,c){return s=s|0,l=l|0,c=c|0,gMe(s,mn(l)|0,c,0),s|0}function v7(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}yt(c)}n[2701]=s}function $Oe(s,l,c){return s=s|0,l=l|0,c=c|0,eMe(s,mn(l)|0,c,0),s|0}function eMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=$R()|0,s=tMe(c)|0,yn(m,l,d,s,rMe(c,f)|0,f)}function $R(){var s=0,l=0;if(o[8040]|0||(P7(10860),pr(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P7(10860)}return 10860}function tMe(s){return s=s|0,s|0}function rMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=$R()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(D7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(nMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function D7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function nMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=iMe(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,sMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,D7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,oMe(s,d),aMe(d),C=Q;return}}function iMe(s){return s=s|0,536870911}function sMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function oMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function aMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function P7(s){s=s|0,uMe(s)}function lMe(s){s=s|0,cMe(s+24|0)}function cMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function uMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,11,l,AMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function AMe(){return 1840}function fMe(s,l,c){s=s|0,l=l|0,c=c|0,hMe(n[(pMe(s)|0)>>2]|0,l,c)}function pMe(s){return s=s|0,(n[($R()|0)+24>>2]|0)+(s<<3)|0}function hMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,T0(m,l),l=N0(m,l)|0,T0(d,c),c=N0(d,c)|0,tf[s&31](l,c),C=f}function gMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eT()|0,s=dMe(c)|0,yn(m,l,d,s,mMe(c,f)|0,f)}function eT(){var s=0,l=0;if(o[8048]|0||(x7(10896),pr(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));x7(10896)}return 10896}function dMe(s){return s=s|0,s|0}function mMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=eT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(S7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(yMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function S7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function yMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=EMe(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,CMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,S7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,IMe(s,d),wMe(d),C=Q;return}}function EMe(s){return s=s|0,536870911}function CMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function IMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function x7(s){s=s|0,DMe(s)}function BMe(s){s=s|0,vMe(s+24|0)}function vMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function DMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,11,l,PMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function PMe(){return 1852}function SMe(s,l){return s=s|0,l=l|0,bMe(n[(xMe(s)|0)>>2]|0,l)|0}function xMe(s){return s=s|0,(n[(eT()|0)+24>>2]|0)+(s<<3)|0}function bMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,T0(f,l),l=N0(f,l)|0,l=RD(q0[s&31](l)|0)|0,C=c,l|0}function QMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=tT()|0,s=kMe(c)|0,yn(m,l,d,s,FMe(c,f)|0,f)}function tT(){var s=0,l=0;if(o[8056]|0||(Q7(10932),pr(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Q7(10932)}return 10932}function kMe(s){return s=s|0,s|0}function FMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=tT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(b7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(RMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function b7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function RMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=TMe(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,NMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,b7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,LMe(s,d),OMe(d),C=Q;return}}function TMe(s){return s=s|0,536870911}function NMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function LMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function OMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function Q7(s){s=s|0,_Me(s)}function MMe(s){s=s|0,UMe(s+24|0)}function UMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function _Me(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,7,l,HMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HMe(){return 1860}function qMe(s,l,c){return s=s|0,l=l|0,c=c|0,GMe(n[(jMe(s)|0)>>2]|0,l,c)|0}function jMe(s){return s=s|0,(n[(tT()|0)+24>>2]|0)+(s<<3)|0}function GMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,Q=f,F=f+16|0,d=f+4|0,WMe(F,l),YMe(Q,F,l),bp(d,c),c=Qp(d,c)|0,n[B>>2]=n[Q>>2],aw[s&15](m,B,c),c=KMe(m)|0,bu(m),kp(d),C=f,c|0}function WMe(s,l){s=s|0,l=l|0}function YMe(s,l,c){s=s|0,l=l|0,c=c|0,VMe(s,c)}function KMe(s){return s=s|0,ys(s)|0}function VMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(zMe(c,0),ia(f|0,c|0)|0,JMe(s,c),XMe(c)):n[s>>2]=n[l>>2],C=d}function zMe(s,l){s=s|0,l=l|0,Fc(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function JMe(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function XMe(s){s=s|0,o[s+8>>0]=0}function ZMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=rT()|0,s=$Me(c)|0,yn(m,l,d,s,e4e(c,f)|0,f)}function rT(){var s=0,l=0;if(o[8064]|0||(F7(10968),pr(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Lr(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));F7(10968)}return 10968}function $Me(s){return s=s|0,s|0}function e4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=rT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(k7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(t4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function k7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function t4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=r4e(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,n4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,k7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,i4e(s,d),s4e(d),C=Q;return}}function r4e(s){return s=s|0,536870911}function n4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function i4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function s4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function F7(s){s=s|0,l4e(s)}function o4e(s){s=s|0,a4e(s+24|0)}function a4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function l4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,1,l,c4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function c4e(){return 1872}function u4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,f4e(n[(A4e(s)|0)>>2]|0,l,c,f,d,m)}function A4e(s){return s=s|0,(n[(rT()|0)+24>>2]|0)+(s<<3)|0}function f4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,F=0,M=0,O=0,j=0;B=C,C=C+32|0,Q=B+16|0,F=B+12|0,M=B+8|0,O=B+4|0,j=B,bp(Q,l),l=Qp(Q,l)|0,bp(F,c),c=Qp(F,c)|0,bp(M,f),f=Qp(M,f)|0,bp(O,d),d=Qp(O,d)|0,bp(j,m),m=Qp(j,m)|0,eW[s&1](l,c,f,d,m),kp(j),kp(O),kp(M),kp(F),kp(Q),C=B}function p4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=nT()|0,s=h4e(c)|0,yn(m,l,d,s,g4e(c,f)|0,f)}function nT(){var s=0,l=0;if(o[8072]|0||(T7(11004),pr(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Lr(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));T7(11004)}return 11004}function h4e(s){return s=s|0,s|0}function g4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,F=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,F=nT()|0,B=F+24|0,l=dr(l,4)|0,n[m>>2]=l,c=F+28|0,f=n[c>>2]|0,f>>>0<(n[F+32>>2]|0)>>>0?(R7(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(d4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function R7(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function d4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=m4e(s)|0,f>>>0>>0)Zr(s);else{F=n[s>>2]|0,O=(n[s+8>>2]|0)-F|0,M=O>>2,y4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-F>>3,s+8|0),B=d+8|0,R7(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,E4e(s,d),C4e(d),C=Q;return}}function m4e(s){return s=s|0,536870911}function y4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Yt(l<<3)|0;break}else d=0;while(!1);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function E4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(br(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function C4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&yt(s)}function T7(s){s=s|0,B4e(s)}function I4e(s){s=s|0,w4e(s+24|0)}function w4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function B4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,12,l,v4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function v4e(){return 1896}function D4e(s,l,c){s=s|0,l=l|0,c=c|0,S4e(n[(P4e(s)|0)>>2]|0,l,c)}function P4e(s){return s=s|0,(n[(nT()|0)+24>>2]|0)+(s<<3)|0}function S4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,x4e(m,l),l=b4e(m,l)|0,bp(d,c),c=Qp(d,c)|0,tf[s&31](l,c),kp(d),C=f}function x4e(s,l){s=s|0,l=l|0}function b4e(s,l){return s=s|0,l=l|0,Q4e(l)|0}function Q4e(s){return s=s|0,s|0}function k4e(){var s=0;return o[8080]|0||(N7(11040),pr(70,11040,U|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),Lr(11040)|0||N7(11040),11040}function N7(s){s=s|0,T4e(s),O0(s,71)}function F4e(s){s=s|0,R4e(s+24|0)}function R4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),yt(c))}function T4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,7,l,M4e()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function N4e(s){s=s|0,L4e(s)}function L4e(s){s=s|0,O4e(s)}function O4e(s){s=s|0,o[s+8>>0]=1}function M4e(){return 1936}function U4e(){return _4e()|0}function _4e(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Za(8)|0,s=c,m=s+4|0,n[m>>2]=Yt(1)|0,f=Yt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],H4e(f,m,d),n[c>>2]=f,C=l,s|0}function H4e(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Yt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function q4e(s){s=s|0,om(s),yt(s)}function j4e(s){s=s|0,s=n[s+12>>2]|0,s|0&&yt(s)}function G4e(s){s=s|0,yt(s)}function W4e(){var s=0;return o[8088]|0||(Z4e(11076),pr(25,11076,U|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function Y4e(s,l){s=s|0,l=l|0,n[s>>2]=K4e()|0,n[s+4>>2]=V4e()|0,n[s+12>>2]=l,n[s+8>>2]=z4e()|0,n[s+32>>2]=10}function K4e(){return 11745}function V4e(){return 1940}function z4e(){return TD()|0}function J4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Fp(f,896)|0)==512?c|0&&(X4e(c),yt(c)):l|0&&yt(l)}function X4e(s){s=s|0,s=n[s+4>>2]|0,s|0&&Tp(s)}function Z4e(s){s=s|0,xp(s)}function Tc(s,l){s=s|0,l=l|0,n[s>>2]=l}function iT(s){return s=s|0,n[s>>2]|0}function $4e(s){return s=s|0,o[n[s>>2]>>0]|0}function eUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],tUe(l,f)|0,C=c}function tUe(s,l){s=s|0,l=l|0;var c=0;return c=rUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function rUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,$a(f),s=ys(s)|0,l=nUe(s,n[l>>2]|0)|0,el(f),C=c,l|0}function $a(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function nUe(s,l){s=s|0,l=l|0;var c=0;return c=jo(iUe()|0)|0,un(0,c|0,s|0,XR(l)|0)|0}function el(s){s=s|0,v7(n[s>>2]|0,n[s+4>>2]|0)}function iUe(){var s=0;return o[8096]|0||(sUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function sUe(s){s=s|0,ao(s,oUe()|0,1)}function oUe(){return 1948}function aUe(){lUe()}function lUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0;if(Oe=C,C=C+16|0,O=Oe+4|0,j=Oe,Ro(65536,10804,n[2702]|0,10812),c=s7()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;du(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=o7()|0,l=n[s>>2]|0,l|0)do kA(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while(l|0);kA(cUe()|0,5167),M=tm()|0,s=n[M>>2]|0;e:do if(s|0){do uUe(n[s+4>>2]|0),s=n[s>>2]|0;while(s|0);if(s=n[M>>2]|0,s|0){F=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(AUe(d)|0);)if(n[j>>2]=F,n[O>>2]=n[j>>2],fUe(M,O)|0,!s)break e;if(pUe(d),F=n[F>>2]|0,l=L7(d)|0,m=Bi()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,Q=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(y7(d)|0)>>2]|0,l|0)for(c=B,f=Q;n[c>>2]=n[(rm(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;ke=rm(d)|0,l=hUe(d)|0,c=L7(d)|0,f=gUe(d)|0,Il(ke|0,l|0,B|0,Q|0,c|0,f|0,WR(d)|0),QA(m|0)}while(s|0)}}while(!1);if(s=n[(YR()|0)>>2]|0,s|0)do ke=s+4|0,M=KR(ke)|0,d=nw(M)|0,m=tw(M)|0,B=(rw(M)|0)+1|0,Q=UD(M)|0,F=O7(ke)|0,M=Lr(M)|0,O=LD(ke)|0,j=sT(ke)|0,mc(0,d|0,m|0,B|0,Q|0,F|0,M|0,O|0,j|0,oT(ke)|0),s=n[s>>2]|0;while(s|0);s=n[(tm()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(oe=n[(rm(l)|0)>>2]|0,We=n[(E7(l)|0)>>2]|0,We|0)){c=We;do{l=c+4|0,f=KR(l)|0;r:do if(f|0)switch(Lr(f)|0){case 0:break t;case 4:case 3:case 2:{Q=nw(f)|0,F=tw(f)|0,M=(rw(f)|0)+1|0,O=UD(f)|0,j=Lr(f)|0,ke=LD(l)|0,mc(oe|0,Q|0,F|0,M|0,O|0,0,j|0,ke|0,sT(l)|0,oT(l)|0);break r}case 1:{B=nw(f)|0,Q=tw(f)|0,F=(rw(f)|0)+1|0,M=UD(f)|0,O=O7(l)|0,j=Lr(f)|0,ke=LD(l)|0,mc(oe|0,B|0,Q|0,F|0,M|0,O|0,j|0,ke|0,sT(l)|0,oT(l)|0);break r}case 5:{M=nw(f)|0,O=tw(f)|0,j=(rw(f)|0)+1|0,ke=UD(f)|0,mc(oe|0,M|0,O|0,j|0,ke|0,dUe(f)|0,Lr(f)|0,0,0,0);break r}default:break r}while(!1);c=n[c>>2]|0}while(c|0)}if(s=n[s>>2]|0,!s)break e}Tt()}while(!1);we(),C=Oe}function cUe(){return 11703}function uUe(s){s=s|0,o[s+40>>0]=0}function AUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function fUe(s,l){return s=s|0,l=l|0,l=mUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],yt(s),n[l>>2]|0}function pUe(s){s=s|0,o[s+40>>0]=1}function L7(s){return s=s|0,n[s+20>>2]|0}function hUe(s){return s=s|0,n[s+8>>2]|0}function gUe(s){return s=s|0,n[s+32>>2]|0}function UD(s){return s=s|0,n[s+4>>2]|0}function O7(s){return s=s|0,n[s+4>>2]|0}function sT(s){return s=s|0,n[s+8>>2]|0}function oT(s){return s=s|0,n[s+16>>2]|0}function dUe(s){return s=s|0,n[s+20>>2]|0}function mUe(s){return s=s|0,n[s>>2]|0}function _D(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0,tt=0,Xe=0,ct=0,He=0,Ge=0,Lt=0;Lt=C,C=C+16|0,oe=Lt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<>2]=s,n[c>>2]=m),Ge=l<<3,n[f+4>>2]=Ge|3,Ge=f+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,C=Lt,Ge|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,Ge=B,C=Lt,Ge|0;if(Q=n[2784]|0,Q){if(c=(Q&0-Q)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,F=c>>>2&4,c=c>>>F,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|F|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)F=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,F=B>>>0>>0,c=F?B:c,s=F?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while(f|0);F=s,m=c}if(B=F+M|0,F>>>0>>0){d=n[F+24>>2]|0,l=n[F+12>>2]|0;do if((l|0)==(F|0)){if(s=F+20|0,l=n[s>>2]|0,!l&&(s=F+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[F+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(!1);do if(d|0){if(l=n[F+28>>2]|0,s=11436+(l<<2)|0,(F|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=Q&~(1<>2]|0)!=(F|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[F+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[F+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(!1);return m>>>0<16?(Ge=m+M|0,n[F+4>>2]=Ge|3,Ge=F+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[F+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),Ge=F+8|0,C=Lt,Ge|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,F=n[2784]|0,F){f=0-M|0,s=s>>>8,s?M>>>0>16777215?Q=31:(j=(s+1048320|0)>>>16&8,He=s<>>16&4,He=He<>>16&2,Q=14-(O|j|Q)+(He<>>15)|0,Q=M>>>(Q+7|0)&1|Q<<1):Q=0,c=n[11436+(Q<<2)>>2]|0;e:do if(!c)c=0,s=0,He=57;else for(s=0,B=M<<((Q|0)==31?0:25-(Q>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,He=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,He=57;break}else B=B<<((d^1)&1)}while(!1);if((He|0)==57){if((c|0)==0&(s|0)==0){if(s=2<>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,Q=j>>>2&4,j=j>>>Q,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|Q|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,He=61):(Q=s,B=f)}if((He|0)==61)for(;;)if(He=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,He=61;else{Q=s,B=c;break}if(Q|0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=Q+M|0,Q>>>0>=m>>>0)return Ge=0,C=Lt,Ge|0;d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else Ge=n[Q+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(!1);do if(d){if(s=n[Q+28>>2]|0,c=11436+(s<<2)|0,(Q|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=F&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=l,!l){f=F;break}n[l+24>>2]=d,s=n[Q+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[Q+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=F}else f=F;while(!1);do if(B>>>0>=16){if(n[Q+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ge=l<>>16&4,Ge=Ge<>>16&2,l=14-(ct|He|l)+(Ge<>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){He=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=96;break}}if((He|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=c,n[m+24>>2]=0;break}}else Ge=B+M|0,n[Q+4>>2]=Ge|3,Ge=Q+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(!1);return Ge=Q+8|0,C=Lt,Ge|0}else j=M}else j=M;else j=-1;while(!1);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(Ge=s+j|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,Ge=s+c+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=s+8|0,C=Lt,Ge|0;if(B=n[2786]|0,B>>>0>j>>>0)return ct=B-j|0,n[2786]=ct,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=ct|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Lt,Ge|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=oe&-16^1431655768,n[oe>>2]=s,n[2901]=s,s=4096),Q=j+48|0,F=j+47|0,m=s+F|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,oe=O+M|0,oe>>>0<=O>>>0|oe>>>0>s>>>0)))return Ge=0,C=Lt,Ge|0;e:do if(n[2894]&4)l=0,He=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(ke=f+4|0,(s+(n[ke>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=Np(l|0)|0,(s|0)==((n[f>>2]|0)+(n[ke>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,He=135;break e}}else f=s,He=126;else l=0}else He=118;while(!1);do if((He|0)==118)if(c=Np(0)|0,(c|0)!=-1&&(l=c,We=n[2902]|0,Oe=We+-1|0,l=(Oe&l|0?(Oe+l&0-We)-l|0:0)+M|0,We=n[2891]|0,Oe=l+We|0,l>>>0>j>>>0&l>>>0<2147483647)){if(ke=n[2893]|0,ke|0&&Oe>>>0<=We>>>0|Oe>>>0>ke>>>0){l=0;break}if(s=Np(l|0)|0,(s|0)==(c|0)){B=l,m=c,He=135;break e}else f=s,He=126}else l=0;while(!1);do if((He|0)==126){if(c=0-l|0,!(Q>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,He=135;break e}if(s=n[2903]|0,s=F-l+s&0-s,s>>>0>=2147483647){B=l,m=f,He=135;break e}if((Np(s|0)|0)==-1){Np(c|0)|0,l=0;break}else{B=s+l|0,m=f,He=135;break e}}while(!1);n[2894]=n[2894]|4,He=133}while(!1);if((He|0)==133&&M>>>0<2147483647&&(ct=Np(M|0)|0,ke=Np(0)|0,tt=ke-ct|0,Xe=tt>>>0>(j+40|0)>>>0,!((ct|0)==-1|Xe^1|ct>>>0>>0&((ct|0)!=-1&(ke|0)!=-1)^1))&&(B=Xe?tt:l,m=ct,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),F=n[2789]|0;do if(F){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&!(n[l+12>>2]&8|0)&&F>>>0>>0&F>>>0>=s>>>0){n[c>>2]=f+B,Ge=F+8|0,Ge=Ge&7|0?0-Ge&7:0,He=F+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){He=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((He|0)==153&&!(n[l+12>>2]&8|0)){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+(O&7|0?0-O&7:0)|0,l=c+8|0,l=c+(l&7|0?0-l&7:0)|0,M=O+j|0,Q=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(F|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+Q|0,n[2785]=Ge,n[2788]=M,n[M+4>>2]=Ge|1,n[M+Ge>>2]=Ge;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=s,n[s+8>>2]=Ge;while(!1);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(!1);l=l+B|0,d=B+Q|0}else d=Q;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ge=l<>>16&4,Ge=Ge<>>16&2,l=14-(ct|He|l)+(Ge<>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){He=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=193;break}}if((He|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((He|0)==194){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=M,n[He>>2]=M,n[M+8>>2]=Ge,n[M+12>>2]=c,n[M+24>>2]=0;break}}else Ge=(n[2786]|0)+Q|0,n[2786]=Ge,n[2789]=M,n[M+4>>2]=Ge|1;while(!1);return Ge=O+8|0,C=Lt,Ge|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=F>>>0&&(Ge=s+(n[l+4>>2]|0)|0,Ge>>>0>F>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,s=d+8|0,s=d+(s&7|0?0-s&7:0)|0,d=F+16|0,s=s>>>0>>0?F:s,l=s+8|0,c=m+8|0,c=c&7|0?0-c&7:0,He=m+c|0,c=B+-40-c|0,n[2789]=He,n[2786]=c,n[He+4>>2]=c|1,n[He+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0>>0);if((s|0)!=(F|0)){if(m=s-F|0,n[c>>2]=n[c>>2]&-2,n[F+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=F,n[l+12>>2]=F,n[F+8>>2]=l,n[F+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(He=(l+1048320|0)>>>16&8,Ge=l<>>16&4,Ge=Ge<>>16&2,c=14-(ct|He|c)+(Ge<>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[F+28>>2]=c,n[F+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<>2]=F,n[F+24>>2]=f,n[F+12>>2]=F,n[F+8>>2]=F;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){He=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=215;break}}if((He|0)==215){n[f>>2]=F,n[F+24>>2]=c,n[F+12>>2]=F,n[F+8>>2]=F;break}else if((He|0)==216){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=F,n[He>>2]=F,n[F+8>>2]=Ge,n[F+12>>2]=c,n[F+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=Ge&7|0?0-Ge&7:0,He=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905]}while(!1);if(l=n[2786]|0,l>>>0>j>>>0)return ct=l-j|0,n[2786]=ct,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=ct|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Lt,Ge|0}return n[(im()|0)>>2]=12,Ge=0,C=Lt,Ge|0}function HD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,F=0;if(s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,F=c+l|0;do if(s&1)Q=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0>>0))return;if((B|0)==(n[2788]|0)){if(s=F+4|0,l=n[s>>2]|0,(l&3|0)!=3){Q=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=l,n[l+8>>2]=s,Q=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else Q=n[B+8>>2]|0,n[Q+12>>2]=s,n[s+8>>2]=Q;while(!1);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){Q=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,Q=B,l=m):(Q=B,l=m)}else Q=B,l=m}while(!1);if(!(B>>>0>=F>>>0)&&(s=F+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[Q+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(F|0)==(n[2789]|0)){if(F=(n[2786]|0)+l|0,n[2786]=F,n[2789]=Q,n[Q+4>>2]=F|1,(Q|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((F|0)==(s|0)){F=(n[2785]|0)+l|0,n[2785]=F,n[2788]=B,n[Q+4>>2]=F|1,n[B+F>>2]=F;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[F+8>>2]|0,s=n[F+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<>2]=s,n[s+8>>2]=l;break}else{m=n[F+24>>2]|0,s=n[F+12>>2]|0;do if((s|0)==(F|0)){if(c=F+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[F+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(!1);if(m|0){if(s=n[F+28>>2]|0,l=11436+(s<<2)|0,(F|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<>2]|0)!=(F|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=F+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(!1);if(n[Q+4>>2]=d|1,n[B+d>>2]=d,(Q|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=Q,n[s+12>>2]=Q,n[Q+8>>2]=s,n[Q+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,F=s<>>16&4,F=F<>>16&2,s=14-(m|B|s)+(F<>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[Q+28>>2]=s,n[Q+20>>2]=0,n[Q+16>>2]=0,l=n[2784]|0,c=1<>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((s|0)==73){B=c+8|0,F=n[B>>2]|0,n[F+12>>2]=Q,n[B>>2]=Q,n[Q+8>>2]=F,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;while(!1);if(F=(n[2791]|0)+-1|0,n[2791]=F,!F)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function yUe(){return 11628}function EUe(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=wUe(n[s+60>>2]|0)|0,s=qD(Ec(6,c|0)|0)|0,C=l,s|0}function M7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0;j=C,C=C+48|0,M=j+16|0,m=j,d=j+32|0,Q=s+28|0,f=n[Q>>2]|0,n[d>>2]=f,F=s+20|0,f=(n[F>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=qD(aa(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,We=n[d+4>>2]|0,oe=m>>>0>We>>>0,d=oe?d+8|0:d,l=(oe<<31>>31)+l|0,We=m-(oe?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,oe=d+4|0,n[oe>>2]=(n[oe>>2]|0)-We,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=qD(aa(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[Q>>2]=0,n[F>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(!1);return(O|0)==3&&(We=n[s+44>>2]|0,n[s+16>>2]=We+(n[s+48>>2]|0),n[Q>>2]=We,n[F>>2]=We),C=j,c|0}function CUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(qD(oa(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function qD(s){return s=s|0,s>>>0>4294963200&&(n[(im()|0)>>2]=0-s,s=-1),s|0}function im(){return(IUe()|0)+64|0}function IUe(){return aT()|0}function aT(){return 2084}function wUe(s){return s=s|0,s|0}function BUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,!(n[s>>2]&64|0)&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,Ns(54,f|0)|0)&&(o[s+75>>0]=-1),f=M7(s,l,c)|0,C=d,f|0}function U7(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,!(c<<24>>24)||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(!(c<<24>>24)||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function vUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(!1);return s|0}function _7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0;ke=C,C=C+224|0,O=ke+120|0,j=ke+80|0,We=ke,Oe=ke+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(lT(0,l,O,We,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?oe=DUe(s)|0:oe=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=lT(s,l,O,We,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Oe,B=s+28|0,n[B>>2]=Oe,Q=s+20|0,n[Q>>2]=Oe,n[f>>2]=80,F=s+16|0,n[F>>2]=Oe+80,c=lT(s,l,O,We,j)|0,m&&(YD[n[s+36>>2]&7](s,0,0)|0,c=n[Q>>2]|0?c:-1,n[d>>2]=m,n[f>>2]=0,n[F>>2]=0,n[B>>2]=0,n[Q>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,oe|0&&PUe(s),c=f&32|0?-1:c),C=ke,c|0}function lT(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0,tt=0,Xe=0,ct=0,He=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,Qr=0,Or=0,lr=0;lr=C,C=C+64|0,ur=lr+16|0,Zt=lr,Lt=lr+24|0,Qr=lr+8|0,Or=lr+20|0,n[ur>>2]=l,ct=(s|0)!=0,He=Lt+40|0,Ge=He,Lt=Lt+39|0,_r=Qr+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(im()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(!1);if(B=o[l>>0]|0,B<<24>>24)Q=l;else{Xe=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=Q,Xe=9;break t}case 0:{B=Q;break t}default:}tt=Q+1|0,n[ur>>2]=tt,B=o[tt>>0]|0,Q=tt}t:do if((Xe|0)==9)for(;;){if(Xe=0,(o[Q+1>>0]|0)!=37)break t;if(B=B+1|0,Q=Q+2|0,n[ur>>2]=Q,(o[Q>>0]|0)==37)Xe=9;else break}while(!1);if(B=B-l|0,ct&&os(s,l,B),B|0){l=Q;continue}F=Q+1|0,B=(o[F>>0]|0)+-48|0,B>>>0<10?(tt=(o[Q+2>>0]|0)==36,ke=tt?B:-1,O=tt?1:O,F=tt?Q+3|0:F):ke=-1,n[ur>>2]=F,B=o[F>>0]|0,Q=(B<<24>>24)+-32|0;t:do if(Q>>>0<32)for(M=0,j=B;;){if(B=1<>2]=F,B=o[F>>0]|0,Q=(B<<24>>24)+-32|0,Q>>>0>=32)break;j=B}else M=0;while(!1);if(B<<24>>24==42){if(Q=F+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10&&(o[F+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[Q>>0]|0)+-48<<3)>>2]|0,O=1,F=F+3|0;else{if(O|0){m=-1;break}ct?(O=(n[c>>2]|0)+3&-4,B=n[O>>2]|0,n[c>>2]=O+4,O=0,F=Q):(B=0,O=0,F=Q)}n[ur>>2]=F,tt=(B|0)<0,B=tt?0-B|0:B,M=tt?M|8192:M}else{if(B=H7(ur)|0,(B|0)<0){m=-1;break}F=n[ur>>2]|0}do if((o[F>>0]|0)==46){if((o[F+1>>0]|0)!=42){n[ur>>2]=F+1,Q=H7(ur)|0,F=n[ur>>2]|0;break}if(j=F+2|0,Q=(o[j>>0]|0)+-48|0,Q>>>0<10&&(o[F+3>>0]|0)==36){n[d+(Q<<2)>>2]=10,Q=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,F=F+4|0,n[ur>>2]=F;break}if(O|0){m=-1;break e}ct?(tt=(n[c>>2]|0)+3&-4,Q=n[tt>>2]|0,n[c>>2]=tt+4):Q=0,n[ur>>2]=j,F=j}else Q=-1;while(!1);for(Oe=0;;){if(((o[F>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(tt=F+1|0,n[ur>>2]=tt,j=o[(o[F>>0]|0)+-65+(5178+(Oe*58|0))>>0]|0,oe=j&255,(oe+-1|0)>>>0<8)Oe=oe,F=tt;else break}if(!(j<<24>>24)){m=-1;break}We=(ke|0)>-1;do if(j<<24>>24==19)if(We){m=-1;break e}else Xe=49;else{if(We){n[d+(ke<<2)>>2]=oe,We=f+(ke<<3)|0,ke=n[We+4>>2]|0,Xe=Zt,n[Xe>>2]=n[We>>2],n[Xe+4>>2]=ke,Xe=49;break}if(!ct){m=0;break e}q7(Zt,oe,c)}while(!1);if((Xe|0)==49&&(Xe=0,!ct)){B=0,l=tt;continue}F=o[F>>0]|0,F=(Oe|0)!=0&(F&15|0)==3?F&-33:F,We=M&-65537,ke=M&8192|0?We:M;t:do switch(F|0){case 110:switch((Oe&255)<<24>>24){case 0:{n[n[Zt>>2]>>2]=m,B=0,l=tt;continue e}case 1:{n[n[Zt>>2]>>2]=m,B=0,l=tt;continue e}case 2:{B=n[Zt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=tt;continue e}case 3:{a[n[Zt>>2]>>1]=m,B=0,l=tt;continue e}case 4:{o[n[Zt>>2]>>0]=m,B=0,l=tt;continue e}case 6:{n[n[Zt>>2]>>2]=m,B=0,l=tt;continue e}case 7:{B=n[Zt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=tt;continue e}default:{B=0,l=tt;continue e}}case 112:{F=120,Q=Q>>>0>8?Q:8,l=ke|8,Xe=61;break}case 88:case 120:{l=ke,Xe=61;break}case 111:{F=Zt,l=n[F>>2]|0,F=n[F+4>>2]|0,oe=xUe(l,F,He)|0,We=Ge-oe|0,M=0,j=5642,Q=(ke&8|0)==0|(Q|0)>(We|0)?Q:We+1|0,We=ke,Xe=67;break}case 105:case 100:if(F=Zt,l=n[F>>2]|0,F=n[F+4>>2]|0,(F|0)<0){l=jD(0,0,l|0,F|0)|0,F=ye,M=Zt,n[M>>2]=l,n[M+4>>2]=F,M=1,j=5642,Xe=66;break t}else{M=(ke&2049|0)!=0&1,j=ke&2048|0?5643:ke&1|0?5644:5642,Xe=66;break t}case 117:{F=Zt,M=0,j=5642,l=n[F>>2]|0,F=n[F+4>>2]|0,Xe=66;break}case 99:{o[Lt>>0]=n[Zt>>2],l=Lt,M=0,j=5642,oe=He,F=1,Q=We;break}case 109:{F=bUe(n[(im()|0)>>2]|0)|0,Xe=71;break}case 115:{F=n[Zt>>2]|0,F=F|0?F:5652,Xe=71;break}case 67:{n[Qr>>2]=n[Zt>>2],n[_r>>2]=0,n[Zt>>2]=Qr,oe=-1,F=Qr,Xe=75;break}case 83:{l=n[Zt>>2]|0,Q?(oe=Q,F=l,Xe=75):(Es(s,32,B,0,ke),l=0,Xe=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=kUe(s,+E[Zt>>3],B,Q,ke,F)|0,l=tt;continue e}default:M=0,j=5642,oe=He,F=Q,Q=ke}while(!1);t:do if((Xe|0)==61)ke=Zt,Oe=n[ke>>2]|0,ke=n[ke+4>>2]|0,oe=SUe(Oe,ke,He,F&32)|0,j=(l&8|0)==0|(Oe|0)==0&(ke|0)==0,M=j?0:2,j=j?5642:5642+(F>>4)|0,We=l,l=Oe,F=ke,Xe=67;else if((Xe|0)==66)oe=sm(l,F,He)|0,We=ke,Xe=67;else if((Xe|0)==71)Xe=0,ke=QUe(F,0,Q)|0,Oe=(ke|0)==0,l=F,M=0,j=5642,oe=Oe?F+Q|0:ke,F=Oe?Q:ke-F|0,Q=We;else if((Xe|0)==75){for(Xe=0,j=F,l=0,Q=0;M=n[j>>2]|0,!(!M||(Q=j7(Or,M)|0,(Q|0)<0|Q>>>0>(oe-l|0)>>>0));)if(l=Q+l|0,oe>>>0>l>>>0)j=j+4|0;else break;if((Q|0)<0){m=-1;break e}if(Es(s,32,B,l,ke),!l)l=0,Xe=84;else for(M=0;;){if(Q=n[F>>2]|0,!Q){Xe=84;break t}if(Q=j7(Or,Q)|0,M=Q+M|0,(M|0)>(l|0)){Xe=84;break t}if(os(s,Or,Q),M>>>0>=l>>>0){Xe=84;break}else F=F+4|0}}while(!1);if((Xe|0)==67)Xe=0,F=(l|0)!=0|(F|0)!=0,ke=(Q|0)!=0|F,F=((F^1)&1)+(Ge-oe)|0,l=ke?oe:He,oe=He,F=ke?(Q|0)>(F|0)?Q:F:Q,Q=(Q|0)>-1?We&-65537:We;else if((Xe|0)==84){Xe=0,Es(s,32,B,l,ke^8192),B=(B|0)>(l|0)?B:l,l=tt;continue}Oe=oe-l|0,We=(F|0)<(Oe|0)?Oe:F,ke=We+M|0,B=(B|0)<(ke|0)?ke:B,Es(s,32,B,ke,Q),os(s,j,M),Es(s,48,B,ke,Q^65536),Es(s,48,We,Oe,0),os(s,l,Oe),Es(s,32,B,ke,Q^8192),l=tt}e:do if((Xe|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(q7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(!1);return C=lr,m|0}function DUe(s){return s=s|0,0}function PUe(s){s=s|0}function os(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||_Ue(l,c,s)|0}function H7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function q7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+3&-4,l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+3&-4,l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+3&-4,l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+7&-8,l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+3&-4,f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+7&-8,m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+7&-8,m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(!1);while(!1)}function SUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=GD(s|0,l|0,4)|0,l=ye;while(!((s|0)==0&(l|0)==0));return c|0}function xUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=GD(s|0,l|0,3)|0,l=ye;while(!((s|0)==0&(l|0)==0));return c|0}function sm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=fT(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=AT(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=ye;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function bUe(s){return s=s|0,LUe(s,n[(NUe()|0)+188>>2]|0)|0}function QUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(!1);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Ue(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(!1);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(!1);return(c|0?s:0)|0}function Es(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,am(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do os(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}os(s,m,d)}C=B}function j7(s,l){return s=s|0,l=l|0,s?s=RUe(s,l,0)|0:s=0,s|0}function kUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0,ke=0,tt=0,Xe=0,ct=0,He=0,Ge=0,Lt=0,_r=0,ur=0,Zt=0,Qr=0,Or=0,lr=0,Nn=0;Nn=C,C=C+560|0,F=Nn+8|0,tt=Nn,lr=Nn+524|0,Or=lr,M=Nn+512|0,n[tt>>2]=0,Qr=M+12|0,G7(l)|0,(ye|0)<0?(l=-l,ur=1,_r=5659):(ur=(d&2049|0)!=0&1,_r=d&2048|0?5662:d&1|0?5665:5660),G7(l)|0,Zt=ye&2146435072;do if(Zt>>>0<2146435072|(Zt|0)==2146435072&!1){if(We=+FUe(l,tt)*2,B=We!=0,B&&(n[tt>>2]=(n[tt>>2]|0)+-1),ct=m|32,(ct|0)==97){Oe=m&32,oe=Oe|0?_r+9|0:_r,j=ur|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while(B|0);if((o[oe>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(!1);Q=n[tt>>2]|0,B=(Q|0)<0?0-Q|0:Q,B=sm(B,((B|0)<0)<<31>>31,Qr)|0,(B|0)==(Qr|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(Q>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,F=(d&8|0)==0,B=lr;do Zt=~~l,Q=B+1|0,o[B>>0]=u[5694+Zt>>0]|Oe,l=(l-+(Zt|0))*16,(Q-Or|0)==1&&!(F&(M&l==0))?(o[Q>>0]=46,B=B+2|0):B=Q;while(l!=0);Zt=B-Or|0,Or=Qr-O|0,Qr=(f|0)!=0&(Zt+-2|0)<(f|0)?f+2|0:Zt,B=Or+j+Qr|0,Es(s,32,c,B,d),os(s,oe,j),Es(s,48,c,B,d^65536),os(s,lr,Zt),Es(s,48,Qr-Zt|0,0,0),os(s,O,Or),Es(s,32,c,B,d^8192);break}Q=(f|0)<0?6:f,B?(B=(n[tt>>2]|0)+-28|0,n[tt>>2]=B,l=We*268435456):(l=We,B=n[tt>>2]|0),Zt=(B|0)<0?F:F+288|0,F=Zt;do Ge=~~l>>>0,n[F>>2]=Ge,F=F+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Zt,j=F;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){F=0;do He=J7(n[B>>2]|0,0,O|0)|0,He=uT(He|0,ye|0,F|0,0)|0,Ge=ye,Xe=fT(He|0,Ge|0,1e9,0)|0,n[B>>2]=Xe,F=AT(He|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);F&&(M=M+-4|0,n[M>>2]=F)}for(F=j;!(F>>>0<=M>>>0);)if(B=F+-4|0,!(n[B>>2]|0))F=B;else break;if(B=(n[tt>>2]|0)-O|0,n[tt>>2]=B,(B|0)>0)j=F;else break}else M=Zt;if((B|0)<0){f=((Q+25|0)/9|0)+1|0,ke=(ct|0)==102;do{if(Oe=0-B|0,Oe=(Oe|0)<9?Oe:9,M>>>0>>0){O=(1<>>Oe,oe=0,B=M;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Oe)+oe,oe=Ue(Ge&O,j)|0,B=B+4|0;while(B>>>0>>0);B=n[M>>2]|0?M:M+4|0,oe?(n[F>>2]=oe,M=B,B=F+4|0):(M=B,B=F)}else M=n[M>>2]|0?M:M+4|0,B=F;F=ke?Zt:M,F=(B-F>>2|0)>(f|0)?F+(f<<2)|0:B,B=(n[tt>>2]|0)+Oe|0,n[tt>>2]=B}while((B|0)<0);B=M,f=F}else B=M,f=F;if(Ge=Zt,B>>>0>>0){if(F=(Ge-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,F=F+1|0;while(O>>>0>=M>>>0)}}else F=0;if(ke=(ct|0)==103,Xe=(Q|0)!=0,M=Q-((ct|0)!=102?F:0)+((Xe&ke)<<31>>31)|0,(M|0)<(((f-Ge>>2)*9|0)+-9|0)){if(M=M+9216|0,Oe=Zt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Oe>>2]|0,oe=(j>>>0)%(O>>>0)|0,M=(Oe+4|0)==(f|0),M&(oe|0)==0)M=Oe;else if(We=((j>>>0)/(O>>>0)|0)&1|0?9007199254740994:9007199254740992,He=(O|0)/2|0,l=oe>>>0>>0?.5:M&(oe|0)==(He|0)?1:1.5,ur&&(He=(o[_r>>0]|0)==45,l=He?-l:l,We=He?-We:We),M=j-oe|0,n[Oe>>2]=M,We+l!=We){if(He=M+O|0,n[Oe>>2]=He,He>>>0>999999999)for(F=Oe;M=F+-4|0,n[F>>2]=0,M>>>0>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[M>>2]|0)+1|0,n[M>>2]=He,He>>>0>999999999;)F=M;else M=Oe;if(F=(Ge-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,F=F+1|0;while(j>>>0>=O>>>0)}}else M=Oe;M=M+4|0,M=f>>>0>M>>>0?M:f,He=B}else M=f,He=B;for(ct=M;;){if(ct>>>0<=He>>>0){tt=0;break}if(B=ct+-4|0,!(n[B>>2]|0))ct=B;else{tt=1;break}}f=0-F|0;do if(ke)if(B=((Xe^1)&1)+Q|0,(B|0)>(F|0)&(F|0)>-5?(O=m+-1|0,Q=B+-1-F|0):(O=m+-2|0,Q=B+-1|0),B=d&8,B)Oe=B;else{if(tt&&(Lt=n[ct+-4>>2]|0,(Lt|0)!=0))if((Lt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Lt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((ct-Ge>>2)*9|0)+-9|0,(O|32|0)==102){Oe=B-M|0,Oe=(Oe|0)>0?Oe:0,Q=(Q|0)<(Oe|0)?Q:Oe,Oe=0;break}else{Oe=B+F-M|0,Oe=(Oe|0)>0?Oe:0,Q=(Q|0)<(Oe|0)?Q:Oe,Oe=0;break}}else O=m,Oe=d&8;while(!1);if(ke=Q|Oe,j=(ke|0)!=0&1,oe=(O|32|0)==102,oe)Xe=0,B=(F|0)>0?F:0;else{if(B=(F|0)<0?f:F,B=sm(B,((B|0)<0)<<31>>31,Qr)|0,M=Qr,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(F>>31&2)+43,B=B+-2|0,o[B>>0]=O,Xe=B,B=M-B|0}if(B=ur+1+Q+j+B|0,Es(s,32,c,B,d),os(s,_r,ur),Es(s,48,c,B,d^65536),oe){O=He>>>0>Zt>>>0?Zt:He,Oe=lr+9|0,j=Oe,oe=lr+8|0,M=O;do{if(F=sm(n[M>>2]|0,0,Oe)|0,(M|0)==(O|0))(F|0)==(Oe|0)&&(o[oe>>0]=48,F=oe);else if(F>>>0>lr>>>0){am(lr|0,48,F-Or|0)|0;do F=F+-1|0;while(F>>>0>lr>>>0)}os(s,F,j-F|0),M=M+4|0}while(M>>>0<=Zt>>>0);if(ke|0&&os(s,5710,1),M>>>0>>0&(Q|0)>0)for(;;){if(F=sm(n[M>>2]|0,0,Oe)|0,F>>>0>lr>>>0){am(lr|0,48,F-Or|0)|0;do F=F+-1|0;while(F>>>0>lr>>>0)}if(os(s,F,(Q|0)<9?Q:9),M=M+4|0,F=Q+-9|0,M>>>0>>0&(Q|0)>9)Q=F;else{Q=F;break}}Es(s,48,Q+9|0,9,0)}else{if(ke=tt?ct:He+4|0,(Q|0)>-1){tt=lr+9|0,Oe=(Oe|0)==0,f=tt,j=0-Or|0,oe=lr+8|0,O=He;do{F=sm(n[O>>2]|0,0,tt)|0,(F|0)==(tt|0)&&(o[oe>>0]=48,F=oe);do if((O|0)==(He|0)){if(M=F+1|0,os(s,F,1),Oe&(Q|0)<1){F=M;break}os(s,5710,1),F=M}else{if(F>>>0<=lr>>>0)break;am(lr|0,48,F+j|0)|0;do F=F+-1|0;while(F>>>0>lr>>>0)}while(!1);Or=f-F|0,os(s,F,(Q|0)>(Or|0)?Or:Q),Q=Q-Or|0,O=O+4|0}while(O>>>0>>0&(Q|0)>-1)}Es(s,48,Q+18|0,18,0),os(s,Xe,Qr-Xe|0)}Es(s,32,c,B,d^8192)}else lr=(m&32|0)!=0,B=ur+3|0,Es(s,32,c,B,d&-65537),os(s,_r,ur),os(s,l!=l|!1?lr?5686:5690:lr?5678:5682,3),Es(s,32,c,B,d^8192);while(!1);return C=Nn,((B|0)<(c|0)?c:B)|0}function G7(s){s=+s;var l=0;return E[D>>3]=s,l=n[D>>2]|0,ye=n[D+4>>2]|0,l|0}function FUe(s,l){return s=+s,l=l|0,+ +W7(s,l)}function W7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[D>>3]=s,c=n[D>>2]|0,f=n[D+4>>2]|0,d=GD(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+W7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[D>>2]=c,n[D+4>>2]=f&-2146435073|1071644672,s=+E[D>>3]}return+s}function RUe(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(TUe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(im()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(im()|0)>>2]=84,s=-1;break}}else s=1;while(!1);return s|0}function TUe(){return aT()|0}function NUe(){return aT()|0}function LUe(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while(o[s>>0]|0);if(f=f+-1|0,f)s=5;else break}return OUe(c,n[l+20>>2]|0)|0}function OUe(s,l){return s=s|0,l=l|0,MUe(s,l)|0}function MUe(s,l){return s=s|0,l=l|0,l?l=UUe(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function UUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0;oe=(n[s>>2]|0)+1794895138|0,m=U0(n[s+8>>2]|0,oe)|0,f=U0(n[s+12>>2]|0,oe)|0,d=U0(n[s+16>>2]|0,oe)|0;e:do if(m>>>0>>2>>>0&&(j=l-(m<<2)|0,f>>>0>>0&d>>>0>>0)&&!((d|f)&3|0)){for(j=f>>>2,O=d>>>2,M=0;;){if(Q=m>>>1,F=M+Q|0,B=F<<1,d=B+j|0,f=U0(n[s+(d<<2)>>2]|0,oe)|0,d=U0(n[s+(d+1<<2)>>2]|0,oe)|0,!(d>>>0>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=U7(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:F,m=f?Q:m-Q|0}f=B+O|0,d=U0(n[s+(f<<2)>>2]|0,oe)|0,f=U0(n[s+(f+1<<2)>>2]|0,oe)|0,f>>>0>>0&d>>>0<(l-f|0)>>>0?f=o[s+(f+d)>>0]|0?0:s+f|0:f=0}else f=0;while(!1);return f|0}function U0(s,l){s=s|0,l=l|0;var c=0;return c=$7(s|0)|0,(l|0?c:s)|0}function _Ue(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=c+16|0,d=n[f>>2]|0,d?m=5:HUe(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(Q=c+20|0,B=n[Q>>2]|0,f=B,(d-B|0)>>>0>>0){f=YD[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=YD[n[c+36>>2]&7](c,s,B)|0,f>>>0>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[Q>>2]|0}else m=0,d=s;while(!1);br(f|0,d|0,l|0)|0,n[Q>>2]=(n[Q>>2]|0)+l,f=m+l|0}while(!1);return f|0}function HUe(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Yn(s,l){s=y(s),l=y(l);var c=0,f=0;c=Y7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=Y7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s>2]=s,n[D>>2]|0|0}function _0(s,l){s=y(s),l=y(l);var c=0,f=0;c=K7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=K7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s>2]=s,n[D>>2]|0|0}function cT(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,Q=0,F=0,M=0;m=(h[D>>2]=s,n[D>>2]|0),Q=(h[D>>2]=l,n[D>>2]|0),c=m>>>23&255,B=Q>>>23&255,F=m&-2147483648,d=Q<<1;e:do if(d|0&&!((c|0)==255|((qUe(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)Q=Q&8388607|8388608;else{if(m=Q<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,Q=Q<<1-d}d=f-Q|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-Q|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(!1);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[D>>2]=c|F,y(h[D>>2]))}else M=3;while(!1);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function qUe(s){return s=y(s),h[D>>2]=s,n[D>>2]|0|0}function jUe(s,l){return s=s|0,l=l|0,_7(n[582]|0,s,l)|0}function Zr(s){s=s|0,Tt()}function om(s){s=s|0}function GUe(s,l){return s=s|0,l=l|0,0}function WUe(s){return s=s|0,(V7(s+4|0)|0)==-1?(ef[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function V7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function Tp(s){s=s|0,WUe(s)|0&&YUe(s)}function YUe(s){s=s|0;var l=0;l=s+8|0,n[l>>2]|0&&(V7(l)|0)!=-1||ef[n[(n[s>>2]|0)+16>>2]&127](s)}function Yt(s){s=s|0;var l=0;for(l=s|0?s:1;s=_D(l)|0,!(s|0);){if(s=VUe()|0,!s){s=0;break}cW[s&0]()}return s|0}function z7(s){return s=s|0,Yt(s)|0}function yt(s){s=s|0,HD(s)}function KUe(s){s=s|0,(o[s+11>>0]|0)<0&&yt(n[s>>2]|0)}function VUe(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function zUe(){}function jD(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,ye=f,s-c>>>0|0|0}function uT(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,ye=l+f+(c>>>0>>0|0)>>>0,c|0|0}function am(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function J7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(ye=l<>>32-c,s<>>c,s>>>c|(l&(1<>>c-32|0)}function br(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return FA(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function X7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function Z7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,F=0,M=0,O=0,j=0,oe=0,We=0,Oe=0;if(O=s,F=l,M=F,B=c,oe=f,Q=oe,!M)return m=(d|0)!=0,Q?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,oe=0,d=0,ye=oe,d|0):(oe=0,d=0,ye=oe,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),oe=0,d=(O>>>0)/(B>>>0)>>>0,ye=oe,d|0);m=(Q|0)==0;do if(B){if(!m){if(m=(S(Q|0)|0)-(S(M|0)|0)|0,m>>>0<=31){j=m+1|0,Q=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<>>(j>>>0)&l,m=0,Q=O<>2]=s|0,n[d+4>>2]=F|l&0,oe=0,d=0,ye=oe,d|0):(oe=0,d=0,ye=oe,d|0)}if(m=B-1|0,m&B|0){Q=(S(B|0)|0)+33-(S(M|0)|0)|0,Oe=64-Q|0,j=32-Q|0,F=j>>31,We=Q-32|0,l=We>>31,B=Q,s=j-1>>31&M>>>(We>>>0)|(M<>>(Q>>>0))&l,l=l&M>>>(Q>>>0),m=O<>>(We>>>0))&F|O<>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(We=F|l&0,Oe=s|0|0,ye=We,Oe|0):(Oe=X7(B|0)|0,We=M>>>(Oe>>>0)|0,Oe=M<<32-Oe|O>>>(Oe>>>0)|0,ye=We,Oe|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Oe=(M>>>0)/(B>>>0)>>>0,ye=We,Oe|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(Q>>>0)),We=0,Oe=(M>>>0)/(Q>>>0)>>>0,ye=We,Oe|0;if(m=Q-1|0,!(m&Q))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),We=0,Oe=M>>>((X7(Q|0)|0)>>>0),ye=We,Oe|0;if(m=(S(Q|0)|0)-(S(M|0)|0)|0,m>>>0<=30){l=m+1|0,Q=31-m|0,B=l,s=M<>>(l>>>0),l=M>>>(l>>>0),m=0,Q=O<>2]=s|0,n[d+4>>2]=F|l&0,We=0,Oe=0,ye=We,Oe|0):(We=0,Oe=0,ye=We,Oe|0)}while(!1);if(!B)M=Q,F=0,Q=0;else{j=c|0|0,O=oe|f&0,M=uT(j|0,O|0,-1,-1)|0,c=ye,F=Q,Q=0;do f=F,F=m>>>31|F<<1,m=Q|m<<1,f=s<<1|f>>>31|0,oe=s>>>31|l<<1|0,jD(M|0,c|0,f|0,oe|0)|0,Oe=ye,We=Oe>>31|((Oe|0)<0?-1:0)<<1,Q=We&1,s=jD(f|0,oe|0,We&j|0,(((Oe|0)<0?-1:0)>>31|((Oe|0)<0?-1:0)<<1)&O|0)|0,l=ye,B=B-1|0;while(B|0);M=F,F=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),We=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|F,Oe=(m<<1|0)&-2|Q,ye=We,Oe|0}function AT(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,Z7(s,l,c,f,0)|0}function Np(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[w>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(se()|0,yc(12),-1):(n[w>>2]=s,(s|0)>($()|0)&&!(X()|0)?(n[w>>2]=l,yc(12),-1):l|0)}function iw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else br(s,l,c)|0;return s|0}function fT(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,Z7(s,l,c,f,d)|0,C=m,ye=n[d+4>>2]|0,n[d>>2]|0|0}function $7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function JUe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,eW[s&1](l|0,c|0,f|0,d|0,m|0)}function XUe(s,l,c){s=s|0,l=l|0,c=y(c),tW[s&1](l|0,y(c))}function ZUe(s,l,c){s=s|0,l=l|0,c=+c,rW[s&31](l|0,+c)}function $Ue(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(nW[s&0](l|0,y(c),y(f)))}function e3e(s,l){s=s|0,l=l|0,ef[s&127](l|0)}function t3e(s,l,c){s=s|0,l=l|0,c=c|0,tf[s&31](l|0,c|0)}function r3e(s,l){return s=s|0,l=l|0,q0[s&31](l|0)|0}function n3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,iW[s&1](l|0,+c,+f,d|0)}function i3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,M3e[s&1](l|0,+c,+f)}function s3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,YD[s&7](l|0,c|0,f|0)|0}function o3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+U3e[s&1](l|0,c|0,f|0)}function a3e(s,l){return s=s|0,l=l|0,+sW[s&15](l|0)}function l3e(s,l,c){return s=s|0,l=l|0,c=+c,_3e[s&1](l|0,+c)|0}function c3e(s,l,c){return s=s|0,l=l|0,c=c|0,hT[s&15](l|0,c|0)|0}function u3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,H3e[s&1](l|0,c|0,+f,+d,m|0)}function A3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,q3e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function f3e(s,l,c){return s=s|0,l=l|0,c=c|0,+oW[s&7](l|0,c|0)}function p3e(s){return s=s|0,KD[s&7]()|0}function h3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,aW[s&1](l|0,c|0,f|0,d|0,m|0)|0}function g3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,j3e[s&1](l|0,c|0,f|0,+d)}function d3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,lW[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function m3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,aw[s&15](l|0,c|0,f|0)}function y3e(s){s=s|0,cW[s&0]()}function E3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,uW[s&15](l|0,c|0,+f)}function C3e(s,l,c){return s=s|0,l=+l,c=+c,G3e[s&1](+l,+c)|0}function I3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,gT[s&15](l|0,c|0,f|0,d|0)}function w3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(0)}function B3e(s,l){s=s|0,l=y(l),R(1)}function Ca(s,l){s=s|0,l=+l,R(2)}function v3e(s,l,c){return s=s|0,l=y(l),c=y(c),R(3),Ze}function Cr(s){s=s|0,R(4)}function sw(s,l){s=s|0,l=l|0,R(5)}function tl(s){return s=s|0,R(6),0}function D3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,R(7)}function P3e(s,l,c){s=s|0,l=+l,c=+c,R(8)}function S3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(9),0}function x3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(10),0}function H0(s){return s=s|0,R(11),0}function b3e(s,l){return s=s|0,l=+l,R(12),0}function ow(s,l){return s=s|0,l=l|0,R(13),0}function Q3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,R(14)}function k3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,R(15)}function pT(s,l){return s=s|0,l=l|0,R(16),0}function F3e(){return R(17),0}function R3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(18),0}function T3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,R(19)}function N3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,R(20)}function WD(s,l,c){s=s|0,l=l|0,c=c|0,R(21)}function L3e(){R(22)}function lm(s,l,c){s=s|0,l=l|0,c=+c,R(23)}function O3e(s,l){return s=+s,l=+l,R(24),0}function cm(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,R(25)}var eW=[w3e,RLe],tW=[B3e,Ud],rW=[Ca,D0,Dp,HI,qI,jI,GI,Qu,Kd,WI,ku,P0,S0,YI,KI,bc,x0,VI,Vd,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca,Ca],nW=[v3e],ef=[Cr,om,pDe,hDe,gDe,Gxe,Wxe,Yxe,lNe,cNe,uNe,CLe,ILe,wLe,q4e,j4e,G4e,qa,v0,OI,ir,bl,bD,QD,nDe,BDe,NDe,$De,gPe,FPe,zPe,uSe,DSe,HSe,nxe,Exe,Nxe,cbe,Dbe,Hbe,nQe,EQe,NQe,eke,gke,bke,Wke,dD,wFe,MFe,nRe,IRe,LRe,nTe,pTe,dTe,RTe,LTe,$Te,fNe,gNe,FNe,JNe,_5,kOe,lMe,BMe,MMe,o4e,I4e,F4e,N4e,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr,Cr],tf=[sw,Gd,KF,MI,UI,Sr,Os,Oi,ms,is,Yd,vp,JI,ID,k0,JF,XF,wD,BD,eR,Fu,ne,ike,yke,DRe,TOe,iLe,v7,sw,sw,sw,sw],q0=[tl,EUe,qd,Q0,Jd,qo,mD,Pp,zI,zF,ED,Xd,vD,tR,em,Vke,_Re,NNe,MOe,Za,tl,tl,tl,tl,tl,tl,tl,tl,tl,tl,tl,tl],iW=[D3e,oR],M3e=[P3e,rNe],YD=[S3e,M7,CUe,BUe,LPe,pbe,PFe,qMe],U3e=[x3e,axe],sW=[H0,Sp,CD,zA,aR,v,P,k,H,Y,H0,H0,H0,H0,H0,H0],_3e=[b3e,uTe],hT=[ow,GUe,DD,aDe,nPe,ZPe,pSe,Uxe,bbe,Rke,_d,SMe,ow,ow,ow,ow],H3e=[Q3e,UDe],q3e=[k3e,u4e],oW=[pT,ZF,Be,_e,ft,Bxe,pT,pT],KD=[F3e,jt,Hd,gD,CTe,_Te,ENe,U4e],aW=[R3e,Fd],j3e=[T3e,aQe],lW=[N3e,rR],aw=[WD,oo,yD,$F,kc,EPe,xSe,BQe,UQe,YF,rOe,fMe,D4e,WD,WD,WD],cW=[L3e],uW=[lm,VF,Wd,VA,_I,Qc,zd,b0,Wbe,qFe,oTe,lm,lm,lm,lm,lm],G3e=[O3e,oNe],gT=[cm,WSe,rFe,aRe,zRe,PTe,YTe,PNe,tLe,GOe,J4e,cm,cm,cm,cm,cm];return{_llvm_bswap_i32:$7,dynCall_idd:C3e,dynCall_i:p3e,_i64Subtract:jD,___udivdi3:AT,dynCall_vif:XUe,setThrew:Lo,dynCall_viii:m3e,_bitshift64Lshr:GD,_bitshift64Shl:J7,dynCall_vi:e3e,dynCall_viiddi:u3e,dynCall_diii:o3e,dynCall_iii:c3e,_memset:am,_sbrk:Np,_memcpy:br,__GLOBAL__sub_I_Yoga_cpp:TI,dynCall_vii:t3e,___uremdi3:fT,dynCall_vid:ZUe,stackAlloc:ca,_nbind_init:aUe,getTempRet0:TA,dynCall_di:a3e,dynCall_iid:l3e,setTempRet0:RA,_i64Add:uT,dynCall_fiff:$Ue,dynCall_iiii:s3e,_emscripten_get_global_libc:yUe,dynCall_viid:E3e,dynCall_viiid:g3e,dynCall_viififi:d3e,dynCall_ii:r3e,__GLOBAL__sub_I_Binding_cc:BOe,dynCall_viiii:I3e,dynCall_iiiiii:h3e,stackSave:mu,dynCall_viiiii:JUe,__GLOBAL__sub_I_nbind_cc:wr,dynCall_vidd:i3e,_free:HD,runPostSets:zUe,dynCall_viiiiii:A3e,establishStackSpace:dn,_memmove:iw,stackRestore:Bl,_malloc:_D,__GLOBAL__sub_I_common_cc:jNe,dynCall_viddi:n3e,dynCall_dii:f3e,dynCall_v:y3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<3;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var od=_((pKt,QCe)=>{"use strict";var kyt=xCe(),Fyt=bCe(),gq=!1,dq=null;Fyt({},function(t,e){if(!gq){if(gq=!0,t)throw t;dq=e}});if(!gq)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");QCe.exports=kyt(dq.bind,dq.lib)});var yq=_((hKt,mq)=>{"use strict";var kCe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);mq.exports=kCe;mq.exports.default=kCe});var RCe=_((gKt,FCe)=>{"use strict";FCe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var PB=_((dKt,Eq)=>{"use strict";var Ryt=pS(),Tyt=yq(),Nyt=RCe(),TCe=t=>{if(typeof t!="string"||t.length===0||(t=Ryt(t),t.length===0))return 0;t=t.replace(Nyt()," ");let e=0;for(let r=0;r=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Tyt(o)?2:1)}return e};Eq.exports=TCe;Eq.exports.default=TCe});var Iq=_((mKt,Cq)=>{"use strict";var Lyt=PB(),NCe=t=>{let e=0;for(let r of t.split(` -`))e=Math.max(e,Lyt(r));return e};Cq.exports=NCe;Cq.exports.default=NCe});var LCe=_(SB=>{"use strict";var Oyt=SB&&SB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SB,"__esModule",{value:!0});var Myt=Oyt(Iq()),wq={};SB.default=t=>{if(t.length===0)return{width:0,height:0};if(wq[t])return wq[t];let e=Myt.default(t),r=t.split(` -`).length;return wq[t]={width:e,height:r},{width:e,height:r}}});var OCe=_(xB=>{"use strict";var Uyt=xB&&xB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xB,"__esModule",{value:!0});var In=Uyt(od()),_yt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?In.default.POSITION_TYPE_ABSOLUTE:In.default.POSITION_TYPE_RELATIVE)},Hyt=(t,e)=>{"marginLeft"in e&&t.setMargin(In.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(In.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(In.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(In.default.EDGE_BOTTOM,e.marginBottom||0)},qyt=(t,e)=>{"paddingLeft"in e&&t.setPadding(In.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(In.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(In.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(In.default.EDGE_BOTTOM,e.paddingBottom||0)},jyt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(In.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(In.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(In.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(In.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(In.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(In.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(In.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(In.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(In.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(In.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(In.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(In.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(In.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(In.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(In.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(In.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(In.default.JUSTIFY_SPACE_AROUND))},Gyt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},Wyt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?In.default.DISPLAY_FLEX:In.default.DISPLAY_NONE)},Yyt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(In.default.EDGE_TOP,r),t.setBorder(In.default.EDGE_BOTTOM,r),t.setBorder(In.default.EDGE_LEFT,r),t.setBorder(In.default.EDGE_RIGHT,r)}};xB.default=(t,e={})=>{_yt(t,e),Hyt(t,e),qyt(t,e),jyt(t,e),Gyt(t,e),Wyt(t,e),Yyt(t,e)}});var _Ce=_((CKt,UCe)=>{"use strict";var bB=PB(),Kyt=pS(),Vyt=Gw(),vq=new Set(["\x1B","\x9B"]),zyt=39,MCe=t=>`${vq.values().next().value}[${t}m`,Jyt=t=>t.split(" ").map(e=>bB(e)),Bq=(t,e,r)=>{let o=[...e],a=!1,n=bB(Kyt(t[t.length-1]));for(let[u,A]of o.entries()){let p=bB(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),vq.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u0&&t.length>1&&(t[t.length-2]+=t.pop())},Xyt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(bB(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},Zyt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=Jyt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=bB(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let w=e-E,D=1+Math.floor((u[p]-w-1)/e);Math.floor((u[p]-1)/e)e&&E>0&&u[p]>0){if(r.wordWrap===!1&&Ee&&r.wordWrap===!1){Bq(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(Xyt)),o=A.join(` -`);for(let[p,h]of[...o].entries()){if(a+=h,vq.has(h)){let w=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=w===zyt?null:w}let E=Vyt.codes.get(Number(n));n&&E&&(o[p+1]===` -`?a+=MCe(E):h===` -`&&(a+=MCe(n)))}return a};UCe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` -`).split(` -`).map(o=>Zyt(o,e,r)).join(` -`)});var jCe=_((IKt,qCe)=>{"use strict";var HCe="[\uD800-\uDBFF][\uDC00-\uDFFF]",$yt=t=>t&&t.exact?new RegExp(`^${HCe}$`):new RegExp(HCe,"g");qCe.exports=$yt});var Dq=_((wKt,KCe)=>{"use strict";var eEt=yq(),tEt=jCe(),GCe=Gw(),YCe=["\x1B","\x9B"],Dk=t=>`${YCe[0]}[${t}m`,WCe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=GCe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(Dk(e?u:n))}else if(e){o.push(Dk(0));break}else o.push(Dk(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=Dk(GCe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};KCe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let w=!1;if(YCe.includes(E)){let D=/\d[^m]*/.exec(t.slice(h,h+18));u=D&&D.length>0?D[0]:void 0,Ae&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=WCe(a);else if(A>=r){p+=WCe(a,!0,u);break}}return p}});var zCe=_((BKt,VCe)=>{"use strict";var qh=Dq(),rEt=PB();function Pk(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}VCe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=rEt(t);if(p<=e)return t;if(o==="start"){if(n){let h=Pk(t,p-e+1,!0);return u+qh(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+qh(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=Pk(t,h),w=Pk(t,p-(e-h)+1,!0);return qh(t,0,E)+u+qh(t,w,p).trim()}return qh(t,0,h)+u+qh(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=Pk(t,e-1);return qh(t,0,h)+u}return a===!0&&(u=" "+u,A=2),qh(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var Sq=_(QB=>{"use strict";var JCe=QB&&QB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QB,"__esModule",{value:!0});var nEt=JCe(_Ce()),iEt=JCe(zCe()),Pq={};QB.default=(t,e,r)=>{let o=t+String(e)+String(r);if(Pq[o])return Pq[o];let a=t;if(r==="wrap"&&(a=nEt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=iEt.default(t,e,{position:n})}return Pq[o]=a,a}});var bq=_(xq=>{"use strict";Object.defineProperty(xq,"__esModule",{value:!0});var XCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=XCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};xq.default=XCe});var Qq=_(Ei=>{"use strict";var kB=Ei&&Ei.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.setTextNodeValue=Ei.createTextNode=Ei.setStyle=Ei.setAttribute=Ei.removeChildNode=Ei.insertBeforeNode=Ei.appendChildNode=Ei.createNode=Ei.TEXT_NAME=void 0;var sEt=kB(od()),ZCe=kB(LCe()),oEt=kB(OCe()),aEt=kB(Sq()),lEt=kB(bq());Ei.TEXT_NAME="#text";Ei.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:sEt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(cEt.bind(null,r))),r};Ei.appendChildNode=(t,e)=>{var r;e.parentNode&&Ei.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Sk(t)};Ei.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&Ei.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Sk(t)};Ei.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Sk(t)};Ei.setAttribute=(t,e,r)=>{t.attributes[e]=r};Ei.setStyle=(t,e)=>{t.style=e,t.yogaNode&&oEt.default(t.yogaNode,e)};Ei.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return Ei.setTextNodeValue(e,t),e};var cEt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:lEt.default(t),n=ZCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=aEt.default(a,e,u);return ZCe.default(A)},$Ce=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:$Ce(t.parentNode)},Sk=t=>{let e=$Ce(t);e?.markDirty()};Ei.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,Sk(t)}});var iIe=_(FB=>{"use strict";var nIe=FB&&FB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FB,"__esModule",{value:!0});var eIe=fq(),uEt=nIe(wCe()),tIe=nIe(od()),Qo=Qq(),rIe=t=>{t?.unsetMeasureFunc(),t?.freeRecursive()};FB.default=uEt.default({schedulePassiveEffects:eIe.unstable_scheduleCallback,cancelPassiveEffects:eIe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,shouldDeprioritizeSubtree:()=>!1,resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error(" can\u2019t be nested inside component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=Qo.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?Qo.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:Qo.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside component`);return Qo.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{Qo.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{Qo.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(tIe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(tIe.default.DISPLAY_FLEX)},appendInitialChild:Qo.appendChildNode,appendChild:Qo.appendChildNode,insertBefore:Qo.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:Qo.appendChildNode,insertInContainerBefore:Qo.insertBeforeNode,removeChildFromContainer:(t,e)=>{Qo.removeChildNode(t,e),rIe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,w=Object.keys(h);for(let D of w){if(D==="borderStyle"||D==="borderColor"){if(typeof n.style!="object"){let b={};n.style=b}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[D]!==E[D]){if(typeof n.style!="object"){let b={};n.style=b}n.style[D]=h[D]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?Qo.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:Qo.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{Qo.setTextNodeValue(t,r)},removeChild:(t,e)=>{Qo.removeChildNode(t,e),rIe(e.yogaNode)}})});var oIe=_((xKt,sIe)=>{"use strict";sIe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var aIe=_(RB=>{"use strict";var AEt=RB&&RB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RB,"__esModule",{value:!0});var xk=AEt(od());RB.default=t=>t.getComputedWidth()-t.getComputedPadding(xk.default.EDGE_LEFT)-t.getComputedPadding(xk.default.EDGE_RIGHT)-t.getComputedBorder(xk.default.EDGE_LEFT)-t.getComputedBorder(xk.default.EDGE_RIGHT)});var lIe=_((QKt,fEt)=>{fEt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var uIe=_((kKt,kq)=>{"use strict";var cIe=lIe();kq.exports=cIe;kq.exports.default=cIe});var fIe=_((FKt,AIe)=>{"use strict";var pEt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},hEt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r -`:` -`)+r,a=o+1,o=t.indexOf(` -`,a)}while(o!==-1);return n+=t.substr(a),n};AIe.exports={stringReplaceAll:pEt,stringEncaseCRLFWithFirstIndex:hEt}});var mIe=_((RKt,dIe)=>{"use strict";var gEt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,pIe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,dEt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,mEt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,yEt=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function gIe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):yEt.get(t)||t}function EEt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(dEt))r.push(a[2].replace(mEt,(A,p,h)=>p?gIe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function CEt(t){pIe.lastIndex=0;let e=[],r;for(;(r=pIe.exec(t))!==null;){let o=r[1];if(r[2]){let a=EEt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function hIe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}dIe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(gEt,(n,u,A,p,h,E)=>{if(u)a.push(gIe(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:hIe(t,r)(w)),r.push({inverse:A,styles:CEt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(hIe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var Rk=_((TKt,BIe)=>{"use strict";var TB=Gw(),{stdout:Rq,stderr:Tq}=$N(),{stringReplaceAll:IEt,stringEncaseCRLFWithFirstIndex:wEt}=fIe(),{isArray:bk}=Array,EIe=["ansi","ansi","ansi256","ansi16m"],SC=Object.create(null),BEt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Rq?Rq.level:0;t.level=e.level===void 0?r:e.level},Nq=class{constructor(e){return CIe(e)}},CIe=t=>{let e={};return BEt(e,t),e.template=(...r)=>wIe(e.template,...r),Object.setPrototypeOf(e,Qk.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Nq,e.template};function Qk(t){return CIe(t)}for(let[t,e]of Object.entries(TB))SC[t]={get(){let r=kk(this,Lq(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};SC.visible={get(){let t=kk(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var IIe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of IIe)SC[t]={get(){let{level:e}=this;return function(...r){let o=Lq(TB.color[EIe[e]][t](...r),TB.color.close,this._styler);return kk(this,o,this._isEmpty)}}};for(let t of IIe){let e="bg"+t[0].toUpperCase()+t.slice(1);SC[e]={get(){let{level:r}=this;return function(...o){let a=Lq(TB.bgColor[EIe[r]][t](...o),TB.bgColor.close,this._styler);return kk(this,a,this._isEmpty)}}}}var vEt=Object.defineProperties(()=>{},{...SC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),Lq=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},kk=(t,e,r)=>{let o=(...a)=>bk(a[0])&&bk(a[0].raw)?yIe(o,wIe(o,...a)):yIe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,vEt),o._generator=t,o._styler=e,o._isEmpty=r,o},yIe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=IEt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` -`);return n!==-1&&(e=wEt(e,a,o,n)),o+e+a},Fq,wIe=(t,...e)=>{let[r]=e;if(!bk(r)||!bk(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";var DEt=LB&&LB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(LB,"__esModule",{value:!0});var NB=DEt(Rk()),PEt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,SEt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,Tk=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);LB.default=(t,e,r)=>{if(!e)return t;if(e in NB.default){let a=Tk(e,r);return NB.default[a](t)}if(e.startsWith("#")){let a=Tk("hex",r);return NB.default[a](e)(t)}if(e.startsWith("ansi")){let a=SEt.exec(e);if(!a)return t;let n=Tk(a[1],r),u=Number(a[2]);return NB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=PEt.exec(e);if(!a)return t;let n=Tk(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return NB.default[n](u,A,p)(t)}return t}});var DIe=_(OB=>{"use strict";var vIe=OB&&OB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(OB,"__esModule",{value:!0});var xEt=vIe(uIe()),Mq=vIe(Oq());OB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=xEt.default[r.style.borderStyle],p=Mq.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(Mq.default(A.vertical,u,"foreground")+` -`).repeat(n-2),E=Mq.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var SIe=_(MB=>{"use strict";var ad=MB&&MB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MB,"__esModule",{value:!0});var bEt=ad(od()),QEt=ad(Iq()),kEt=ad(oIe()),FEt=ad(Sq()),REt=ad(aIe()),TEt=ad(bq()),NEt=ad(DIe()),LEt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` -`.repeat(n)+kEt.default(e,a)}return e},PIe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===bEt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),w=u;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...u]),t.nodeName==="ink-text"){let D=TEt.default(t);if(D.length>0){let b=QEt.default(D),C=REt.default(p);if(b>C){let T=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";D=FEt.default(D,C,T)}D=LEt(t,D),e.write(h,E,D,{transformers:w})}return}if(t.nodeName==="ink-box"&&NEt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let D of t.childNodes)PIe(D,e,{offsetX:h,offsetY:E,transformers:w,skipStaticElements:A})}};MB.default=PIe});var QIe=_(UB=>{"use strict";var bIe=UB&&UB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UB,"__esModule",{value:!0});var xIe=bIe(Dq()),OEt=bIe(PB()),Uq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;o&&this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;oo.trimRight()).join(` -`),height:e.length}}};UB.default=Uq});var RIe=_(_B=>{"use strict";var _q=_B&&_B.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_B,"__esModule",{value:!0});var MEt=_q(od()),kIe=_q(SIe()),FIe=_q(QIe());_B.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,MEt.default.DIRECTION_LTR);let o=new FIe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});kIe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new FIe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),kIe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var OIe=_((_Kt,LIe)=>{"use strict";var TIe=De("stream"),NIe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],Hq={},UEt=t=>{let e=new TIe.PassThrough,r=new TIe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of NIe)Hq[a]=console[a],console[a]=o[a];return()=>{for(let a of NIe)console[a]=Hq[a];Hq={}}};LIe.exports=UEt});var jq=_(qq=>{"use strict";Object.defineProperty(qq,"__esModule",{value:!0});qq.default=new WeakMap});var Wq=_(Gq=>{"use strict";Object.defineProperty(Gq,"__esModule",{value:!0});var _Et=ln(),MIe=_Et.createContext({exit:()=>{}});MIe.displayName="InternalAppContext";Gq.default=MIe});var Kq=_(Yq=>{"use strict";Object.defineProperty(Yq,"__esModule",{value:!0});var HEt=ln(),UIe=HEt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});UIe.displayName="InternalStdinContext";Yq.default=UIe});var zq=_(Vq=>{"use strict";Object.defineProperty(Vq,"__esModule",{value:!0});var qEt=ln(),_Ie=qEt.createContext({stdout:void 0,write:()=>{}});_Ie.displayName="InternalStdoutContext";Vq.default=_Ie});var Xq=_(Jq=>{"use strict";Object.defineProperty(Jq,"__esModule",{value:!0});var jEt=ln(),HIe=jEt.createContext({stderr:void 0,write:()=>{}});HIe.displayName="InternalStderrContext";Jq.default=HIe});var Nk=_(Zq=>{"use strict";Object.defineProperty(Zq,"__esModule",{value:!0});var GEt=ln(),qIe=GEt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{},focus:()=>{}});qIe.displayName="InternalFocusContext";Zq.default=qIe});var GIe=_((KKt,jIe)=>{"use strict";var WEt=/[|\\{}()[\]^$+*?.-]/g;jIe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(WEt,"\\$&")}});var VIe=_((VKt,KIe)=>{"use strict";var YEt=GIe(),KEt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",YIe=[].concat(De("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));YIe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var $q=class t{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=t.nodeInternals()),"cwd"in e||(e.cwd=KEt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,VEt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...YIe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` -`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} -`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};WIe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(zEt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],w=r[9],D=r[10]==="native",b=r[11]===")",C,T={};if(E&&(T.line=Number(E)),w&&(T.column=Number(w)),b&&h){let L=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")L++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(L--,L===-1&&h.charAt(U-1)===" ")){let z=h.slice(0,U-1);h=h.slice(U+1),a+=` (${z}`;break}}if(a){let L=a.match(JEt);L&&(a=L[1],C=L[2])}return WIe(T,h,this._cwd),o&&(T.constructor=!0),n&&(T.evalOrigin=n,T.evalLine=A,T.evalColumn=p,T.evalFile=u&&u.replace(/\\/g,"/")),D&&(T.native=!0),a&&(T.function=a),C&&a!==C&&(T.method=C),T}};function WIe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function VEt(t){if(t.length===0)return[];let e=t.map(r=>YEt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var zEt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),JEt=/^(.*?) \[as (.*?)\]$/;KIe.exports=$q});var JIe=_((zKt,zIe)=>{"use strict";zIe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var ZIe=_((JKt,XIe)=>{"use strict";var XEt=JIe(),ZEt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};XIe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=XEt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},ZEt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var Lk=_(lu=>{"use strict";var $Et=lu&&lu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),eCt=lu&&lu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),tCt=lu&&lu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&$Et(e,t,r);return eCt(e,t),e},rCt=lu&&lu.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a{var{children:r}=t,o=rCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return $Ie.default.createElement("ink-box",{ref:e,style:a},r)});ej.displayName="Box";ej.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};lu.default=ej});var nj=_(HB=>{"use strict";var tj=HB&&HB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(HB,"__esModule",{value:!0});var nCt=tj(ln()),xC=tj(Rk()),ewe=tj(Oq()),rj=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=w=>(r&&(w=xC.default.dim(w)),t&&(w=ewe.default(w,t,"foreground")),e&&(w=ewe.default(w,e,"background")),o&&(w=xC.default.bold(w)),a&&(w=xC.default.italic(w)),n&&(w=xC.default.underline(w)),u&&(w=xC.default.strikethrough(w)),A&&(w=xC.default.inverse(w)),w);return nCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};rj.displayName="Text";rj.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};HB.default=rj});var iwe=_(cu=>{"use strict";var iCt=cu&&cu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),sCt=cu&&cu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),oCt=cu&&cu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&iCt(e,t,r);return sCt(e,t),e},qB=cu&&cu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(cu,"__esModule",{value:!0});var twe=oCt(De("fs")),ps=qB(ln()),rwe=qB(VIe()),aCt=qB(ZIe()),Jf=qB(Lk()),mA=qB(nj()),nwe=new rwe.default({cwd:process.cwd(),internals:rwe.default.nodeInternals()}),lCt=({error:t})=>{let e=t.stack?t.stack.split(` -`).slice(1):void 0,r=e?nwe.parseLine(e[0]):void 0,o,a=0;if(r?.file&&r?.line&&twe.existsSync(r.file)){let n=twe.readFileSync(r.file,"utf8");if(o=aCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return ps.default.createElement(Jf.default,{flexDirection:"column",padding:1},ps.default.createElement(Jf.default,null,ps.default.createElement(mA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ps.default.createElement(mA.default,null," ",t.message)),r&&ps.default.createElement(Jf.default,{marginTop:1},ps.default.createElement(mA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&ps.default.createElement(Jf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>ps.default.createElement(Jf.default,{key:n},ps.default.createElement(Jf.default,{width:a+1},ps.default.createElement(mA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),ps.default.createElement(mA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&ps.default.createElement(Jf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` -`).slice(1).map(n=>{let u=nwe.parseLine(n);return u?ps.default.createElement(Jf.default,{key:n},ps.default.createElement(mA.default,{dimColor:!0},"- "),ps.default.createElement(mA.default,{dimColor:!0,bold:!0},u.function),ps.default.createElement(mA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):ps.default.createElement(Jf.default,{key:n},ps.default.createElement(mA.default,{dimColor:!0},"- "),ps.default.createElement(mA.default,{dimColor:!0,bold:!0},n))})))};cu.default=lCt});var owe=_(uu=>{"use strict";var cCt=uu&&uu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),uCt=uu&&uu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),ACt=uu&&uu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&cCt(e,t,r);return uCt(e,t),e},cd=uu&&uu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uu,"__esModule",{value:!0});var ld=ACt(ln()),swe=cd(eq()),fCt=cd(Wq()),pCt=cd(Kq()),hCt=cd(zq()),gCt=cd(Xq()),dCt=cd(Nk()),mCt=cd(iwe()),yCt=" ",ECt="\x1B[Z",CCt="\x1B",Ok=class extends ld.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===CCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===yCt&&this.focusNext(),e===ECt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focus=e=>{this.setState(r=>r.focusables.some(a=>a?.id===e)?{activeFocusId:e}:r)},this.focusNext=()=>{this.setState(e=>{var r;let o=(r=e.focusables[0])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findNextFocusable(e)||o}})},this.focusPrevious=()=>{this.setState(e=>{var r;let o=(r=e.focusables[e.focusables.length-1])===null||r===void 0?void 0:r.id;return{activeFocusId:this.findPreviousFocusable(e)||o}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{var r;let o=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=o+1;a{var r;let o=e.focusables.findIndex(a=>a.id===e.activeFocusId);for(let a=o-1;a>=0;a--)if(!((r=e.focusables[a])===null||r===void 0)&&r.isActive)return e.focusables[a].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return ld.default.createElement(fCt.default.Provider,{value:{exit:this.handleExit}},ld.default.createElement(pCt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},ld.default.createElement(hCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},ld.default.createElement(gCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},ld.default.createElement(dCt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious,focus:this.focus}},this.state.error?ld.default.createElement(mCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){swe.default.hide(this.props.stdout)}componentWillUnmount(){swe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};uu.default=Ok;Ok.displayName="InternalApp"});var cwe=_(Au=>{"use strict";var ICt=Au&&Au.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),wCt=Au&&Au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),BCt=Au&&Au.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&ICt(e,t,r);return wCt(e,t),e},fu=Au&&Au.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Au,"__esModule",{value:!0});var vCt=fu(ln()),awe=KM(),DCt=fu(iCe()),PCt=fu(z6()),SCt=fu(uCe()),xCt=fu(fCe()),ij=fu(iIe()),bCt=fu(RIe()),QCt=fu($6()),kCt=fu(OIe()),FCt=BCt(Qq()),RCt=fu(jq()),TCt=fu(owe()),bC=process.env.CI==="false"?!1:SCt.default,lwe=()=>{},sj=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=bCt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` -`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(bC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(PCt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},xCt.default(this),this.options=e,this.rootNode=FCt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:awe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=DCt.default.create(e.stdout),this.throttledLog=e.debug?this.log:awe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=ij.default.createContainer(this.rootNode,0,!1,null),this.unsubscribeExit=QCt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),bC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=vCt.default.createElement(TCt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);ij.default.updateContainer(r,this.container,null,lwe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(bC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(bC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),bC?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,ij.default.updateContainer(null,this.container,null,lwe),RCt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!bC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=kCt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};Au.default=sj});var Awe=_(jB=>{"use strict";var uwe=jB&&jB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jB,"__esModule",{value:!0});var NCt=uwe(cwe()),Mk=uwe(jq()),LCt=De("stream"),OCt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},MCt(e)),o=UCt(r.stdout,()=>new NCt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>Mk.default.delete(r.stdout),clear:o.clear}};jB.default=OCt;var MCt=(t={})=>t instanceof LCt.Stream?{stdout:t,stdin:process.stdin}:t,UCt=(t,e)=>{let r;return Mk.default.has(t)?r=Mk.default.get(t):(r=e(),Mk.default.set(t,r)),r}});var pwe=_(Xf=>{"use strict";var _Ct=Xf&&Xf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),HCt=Xf&&Xf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qCt=Xf&&Xf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&_Ct(e,t,r);return HCt(e,t),e};Object.defineProperty(Xf,"__esModule",{value:!0});var GB=qCt(ln()),fwe=t=>{let{items:e,children:r,style:o}=t,[a,n]=GB.useState(0),u=GB.useMemo(()=>e.slice(a),[e,a]);GB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=GB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return GB.default.createElement("ink-box",{internal_static:!0,style:p},A)};fwe.displayName="Static";Xf.default=fwe});var gwe=_(WB=>{"use strict";var jCt=WB&&WB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(WB,"__esModule",{value:!0});var GCt=jCt(ln()),hwe=({children:t,transform:e})=>t==null?null:GCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);hwe.displayName="Transform";WB.default=hwe});var mwe=_(YB=>{"use strict";var WCt=YB&&YB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(YB,"__esModule",{value:!0});var YCt=WCt(ln()),dwe=({count:t=1})=>YCt.default.createElement("ink-text",null,` -`.repeat(t));dwe.displayName="Newline";YB.default=dwe});var Cwe=_(KB=>{"use strict";var ywe=KB&&KB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(KB,"__esModule",{value:!0});var KCt=ywe(ln()),VCt=ywe(Lk()),Ewe=()=>KCt.default.createElement(VCt.default,{flexGrow:1});Ewe.displayName="Spacer";KB.default=Ewe});var Uk=_(VB=>{"use strict";var zCt=VB&&VB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(VB,"__esModule",{value:!0});var JCt=ln(),XCt=zCt(Kq()),ZCt=()=>JCt.useContext(XCt.default);VB.default=ZCt});var wwe=_(zB=>{"use strict";var $Ct=zB&&zB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(zB,"__esModule",{value:!0});var Iwe=ln(),eIt=$Ct(Uk()),tIt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=eIt.default();Iwe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),Iwe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+97-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};zB.default=tIt});var Bwe=_(JB=>{"use strict";var rIt=JB&&JB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(JB,"__esModule",{value:!0});var nIt=ln(),iIt=rIt(Wq()),sIt=()=>nIt.useContext(iIt.default);JB.default=sIt});var vwe=_(XB=>{"use strict";var oIt=XB&&XB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(XB,"__esModule",{value:!0});var aIt=ln(),lIt=oIt(zq()),cIt=()=>aIt.useContext(lIt.default);XB.default=cIt});var Dwe=_(ZB=>{"use strict";var uIt=ZB&&ZB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ZB,"__esModule",{value:!0});var AIt=ln(),fIt=uIt(Xq()),pIt=()=>AIt.useContext(fIt.default);ZB.default=pIt});var Swe=_(ev=>{"use strict";var Pwe=ev&&ev.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ev,"__esModule",{value:!0});var $B=ln(),hIt=Pwe(Nk()),gIt=Pwe(Uk()),dIt=({isActive:t=!0,autoFocus:e=!1,id:r}={})=>{let{isRawModeSupported:o,setRawMode:a}=gIt.default(),{activeId:n,add:u,remove:A,activate:p,deactivate:h,focus:E}=$B.useContext(hIt.default),w=$B.useMemo(()=>r??Math.random().toString().slice(2,7),[r]);return $B.useEffect(()=>(u(w,{autoFocus:e}),()=>{A(w)}),[w,e]),$B.useEffect(()=>{t?p(w):h(w)},[t,w]),$B.useEffect(()=>{if(!(!o||!t))return a(!0),()=>{a(!1)}},[t]),{isFocused:!!w&&n===w,focus:E}};ev.default=dIt});var xwe=_(tv=>{"use strict";var mIt=tv&&tv.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tv,"__esModule",{value:!0});var yIt=ln(),EIt=mIt(Nk()),CIt=()=>{let t=yIt.useContext(EIt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious,focus:t.focus}};tv.default=CIt});var bwe=_(oj=>{"use strict";Object.defineProperty(oj,"__esModule",{value:!0});oj.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var ac=_(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var IIt=Awe();Object.defineProperty(zs,"render",{enumerable:!0,get:function(){return IIt.default}});var wIt=Lk();Object.defineProperty(zs,"Box",{enumerable:!0,get:function(){return wIt.default}});var BIt=nj();Object.defineProperty(zs,"Text",{enumerable:!0,get:function(){return BIt.default}});var vIt=pwe();Object.defineProperty(zs,"Static",{enumerable:!0,get:function(){return vIt.default}});var DIt=gwe();Object.defineProperty(zs,"Transform",{enumerable:!0,get:function(){return DIt.default}});var PIt=mwe();Object.defineProperty(zs,"Newline",{enumerable:!0,get:function(){return PIt.default}});var SIt=Cwe();Object.defineProperty(zs,"Spacer",{enumerable:!0,get:function(){return SIt.default}});var xIt=wwe();Object.defineProperty(zs,"useInput",{enumerable:!0,get:function(){return xIt.default}});var bIt=Bwe();Object.defineProperty(zs,"useApp",{enumerable:!0,get:function(){return bIt.default}});var QIt=Uk();Object.defineProperty(zs,"useStdin",{enumerable:!0,get:function(){return QIt.default}});var kIt=vwe();Object.defineProperty(zs,"useStdout",{enumerable:!0,get:function(){return kIt.default}});var FIt=Dwe();Object.defineProperty(zs,"useStderr",{enumerable:!0,get:function(){return FIt.default}});var RIt=Swe();Object.defineProperty(zs,"useFocus",{enumerable:!0,get:function(){return RIt.default}});var TIt=xwe();Object.defineProperty(zs,"useFocusManager",{enumerable:!0,get:function(){return TIt.default}});var NIt=bwe();Object.defineProperty(zs,"measureElement",{enumerable:!0,get:function(){return NIt.default}})});var lj={};Kt(lj,{Gem:()=>aj});var Qwe,ud,aj,_k=It(()=>{Qwe=et(ac()),ud=et(ln()),aj=(0,ud.memo)(({active:t})=>{let e=(0,ud.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,ud.useMemo)(()=>t?"green":"yellow",[t]);return ud.default.createElement(Qwe.Text,{color:r},e)})});var Fwe={};Kt(Fwe,{useKeypress:()=>Ad});function Ad({active:t},e,r){let{stdin:o}=(0,kwe.useStdin)(),a=(0,Hk.useCallback)((n,u)=>e(n,u),r);(0,Hk.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var kwe,Hk,rv=It(()=>{kwe=et(ac()),Hk=et(ln())});var Twe={};Kt(Twe,{FocusRequest:()=>Rwe,useFocusRequest:()=>cj});var Rwe,cj,uj=It(()=>{rv();Rwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(Rwe||{}),cj=function({active:t},e,r){Ad({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var Nwe={};Kt(Nwe,{useListInput:()=>nv});var nv,qk=It(()=>{rv();nv=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){Ad({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var jk={};Kt(jk,{ScrollableItems:()=>LIt});var jh,Ua,LIt,Gk=It(()=>{jh=et(ac()),Ua=et(ln());uj();qk();LIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=Ua.default.Children.map(e,L=>A(L)),h=p[0],[E,w]=(0,Ua.useState)(h),D=p.indexOf(E);(0,Ua.useEffect)(()=>{p.includes(E)||w(h)},[e]),(0,Ua.useEffect)(()=>{u&&D>=p.length-2&&u()},[D]),cj({active:t&&!!n},L=>{n?.(L)},[n]),nv(E,p,{active:t,minus:"up",plus:"down",set:w,loop:a});let b=D-r,C=D+r;C>p.length&&(b-=C-p.length,C=p.length),b<0&&(C+=-b,b=0),C>=p.length&&(C=p.length-1);let T=[];for(let L=b;L<=C;++L){let U=p[L],z=t&&U===E;T.push(Ua.default.createElement(jh.Box,{key:U,height:o},Ua.default.createElement(jh.Box,{marginLeft:1,marginRight:1},Ua.default.createElement(jh.Text,null,z?Ua.default.createElement(jh.Text,{color:"cyan",bold:!0},">"):" ")),Ua.default.createElement(jh.Box,null,Ua.default.cloneElement(e[L],{active:z}))))}return Ua.default.createElement(jh.Box,{flexDirection:"column",width:"100%"},T)}});var Lwe,Zf,Owe,Aj,Mwe,fj=It(()=>{Lwe=et(ac()),Zf=et(ln()),Owe=De("readline"),Aj=Zf.default.createContext(null),Mwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,Lwe.useStdin)();(0,Zf.useEffect)(()=>{r&&r(!0),e&&(0,Owe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,Zf.useState)(new Map),n=(0,Zf.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return Zf.default.createElement(Aj.Provider,{value:n,children:t})}});var pj={};Kt(pj,{useMinistore:()=>OIt});function OIt(t,e){let r=(0,Wk.useContext)(Aj);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,Wk.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var Wk,hj=It(()=>{Wk=et(ln());fj()});var Kk={};Kt(Kk,{renderForm:()=>MIt});async function MIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,Yk.useApp)();Ad({active:!0},(E,w)=>{w.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,Yk.render)(gj.default.createElement(Mwe,null,gj.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var Yk,gj,Vk=It(()=>{Yk=et(ac()),gj=et(ln());fj();rv()});var qwe=_(iv=>{"use strict";Object.defineProperty(iv,"__esModule",{value:!0});iv.UncontrolledTextInput=void 0;var _we=ln(),dj=ln(),Uwe=ac(),fd=Rk(),Hwe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=dj.useState({cursorOffset:(t||"").length,cursorWidth:0});dj.useEffect(()=>{E(T=>{if(!r||!n)return T;let L=t||"";return T.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:T})},[t,r,n]);let w=a?h:0,D=o?o.repeat(t.length):t,b=D,C=e?fd.grey(e):void 0;if(n&&r){C=e.length>0?fd.inverse(e[0])+fd.grey(e.slice(1)):fd.inverse(" "),b=D.length>0?"":fd.inverse(" ");let T=0;for(let L of D)T>=p-w&&T<=p?b+=fd.inverse(L):b+=L,T++;D.length>0&&p===D.length&&(b+=fd.inverse(" "))}return Uwe.useInput((T,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&T==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let U=p,z=t,te=0;L.leftArrow?n&&U--:L.rightArrow?n&&U++:L.backspace||L.delete?p>0&&(z=t.slice(0,p-1)+t.slice(p,t.length),U--):(z=t.slice(0,p)+T+t.slice(p,t.length),U+=T.length,T.length>1&&(te=T.length)),p<0&&(U=0),p>t.length&&(U=t.length),E({cursorOffset:U,cursorWidth:te}),z!==t&&u(z)},{isActive:r}),_we.createElement(Uwe.Text,null,e?D.length>0?b:C:b)};iv.default=Hwe;iv.UncontrolledTextInput=({initialValue:t="",...e})=>{let[r,o]=dj.useState(t);return _we.createElement(Hwe,Object.assign({},e,{value:r,onChange:o}))}});var Wwe={};Kt(Wwe,{Pad:()=>mj});var jwe,Gwe,mj,yj=It(()=>{jwe=et(ac()),Gwe=et(ln()),mj=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return Gwe.default.createElement(jwe.Text,{dimColor:!e},r)}});var Ywe={};Kt(Ywe,{ItemOptions:()=>UIt});var ov,Gh,UIt,Kwe=It(()=>{ov=et(ac()),Gh=et(ln());qk();_k();yj();UIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return nv(o,u,{active:t,minus:"left",plus:"right",set:a}),Gh.default.createElement(Gh.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,w=n[h]-1||0,D=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),b=Math.max(0,w-D.length-2);return p?Gh.default.createElement(ov.Box,{key:p,width:w,marginLeft:1},Gh.default.createElement(ov.Text,{wrap:"truncate"},Gh.default.createElement(aj,{active:E})," ",p),e?Gh.default.createElement(mj,{active:t,length:b}):null):Gh.default.createElement(ov.Box,{key:`spacer-${h}`,width:w,marginLeft:1})}))}});var l1e=_((Mzt,a1e)=>{var Sj;a1e.exports=()=>(typeof Sj>"u"&&(Sj=De("zlib").brotliDecompressSync(Buffer.from("WwR/VjK2ZcSsOwFUqVXrudsa2ZAN9NbncEoilOTXOcC2aT28ztt40yJKSlQZqmpaUhljG+B2DqJWVVVRggNGFxLCICcFDwnChE3Jg/ZprGAhiknKhcDolnrBiwK7VIhDlNSFQUu0zIKy9sTV9iSTWRBJJFVrAzfcHxUXDj9rx0ut90l+JxLC56Dv3F786PqTOYKkWmfzSy2eAui4fYUQIlY0i83Joma4yAv9/d5m2RldTn802KhAVG2ILWM2xxNiUIe0Tx2SE61FnM7PqFokJJf7Zrr683kRXYmyVTJlmGzx9foyRU5IOFMSAdu9c/5rU09no5Rasei4Wjx+x1wfHBpnYUY23lTN3cukdOtbVfRpMAkqOJEgD6DkkgL/llb/7/dL//Pzddc+9s7JdUxMn0MbD8qSdV8S0aQthwOzcMWJyFAGtyGnmGmmVUtddZynXsBiESjZuSjt7oYOIVSWtZzKTVBYB+EpDusVOfb+npSlTv/rp69fv+sO4xUuHdlJ5FYUDU9JV7+Ay+5h59xrAW8GS9Wy/6YivrrATy5jaj9UjqPjAFoFjplg8wD5/2t+LrfzH1PiEjzxYgraQXbFHH7xTWlGeKLE++PBoUERxzebTbNYTMknbiwdBEH+/1N4+K9y1i8XNUzUMd1/vPEyUhkhCQhBYuSdLewQqFENuJxVhkcsbX888MtQ2vFJ1kxEQjH041ZZa3oCXq8f/2P6/58f975Xkthb87nW7NkwCCQbiq35M+Z0oLZFgyl6/MfmPB4dC48P9hcKkZI03MARRjButBYWm8+HD1O01j5nN5tcgANzISL9oa17ISKqbY/oxze2joc9SGW7dnzzGXBQqAdS0c1w+ZC7YeLul/zoR/OfPj92dy9Rk2c+T1VXN8UAWmCPMn8T5loQ1PGGSdD4fjod14Tb8coqgV39TV+6ZwcLji8wsN0cDWECfoCvtaznFzBsLU9JRitUSVay0oy/OSXaJOQQRbB003o/eleBGSQYhf//vp+WkgeLzYGMc5mCSJ4wbHkbhFp5/XPOvpv475tB/apCs6oAjEDTa4A2a4Bmj3H3nHPfr+8KU1VgtwC0JXu4xptIxpggURRIsYJMWQRSxv19X5qf23PfSyQSAMUCWfwSqFJLlH7bLn65J/0Ob50AKalKw+SpPI6L1ee957wb9e69L7/yvUx8Zb6XsJAvEyFkgozPzAQcBEC+lwCoBIpVBln1HSAl/WBJagc1/A5q/MNcBFkRYrEUIZJVPVSpR8mjPIzbUg/jtHJ7Nca+h9njsOq9d17svfR64Z2Xy14te7G0/5/vq2+rVPTu6pA7d504c87d65PAg8In5aDgEMPsvc/MBR4AfgqSc+zcefUu6uIBdKBDrmz7/+XXLCFJpF3WEzxKsN2vujYkQtIcjP831sYmRqPk6xnzx8F9OvtKq7q6qzUkL3gZwg3Cbkme4T2iCbILom91SW9s2V5CGNme/fYCUnTAlF4SXhDkF24jAcUjwCRkzdKdBBZqVThrX2FKBDu1Ogwk45S/JMEEm8qWOUVNgMrqgh3H/Pq8nQc9419U6BX1R4cVItOIMaMkQYzV0GHWrFEd7BC0d/fHwLtZ30sH6SLhnXakgsSUGCFAgnmLtiWCRGihpTJy51938N827y2Mq8OoSZChIQmfYWgLSVg1ri0MmjZDK15IBFlOIGrEdloPn3/e2815TTGFISa4MIsTTFBhWBFciGCIQkxQIRJBVGjBxUD2uIgmtyvCx+YPmDXt+wf/zjmpP/8NNphgggkmUKBAYGGEUSCMwB0IuwMFeqCgDR0Ujw46GH+GcrM2+CLlRNskEJIQMYpWMCstUAGv7J7o4xuZJDOTlenRred/cBW8CvLa3dUVegqQRg9gQi0BlValStV+y8wMSpJDee9/UN2CcgiCwFwYu73AygTlH4W8AH5q5IP0UHjHoMR5pxSjSvMDZHloe6s0/UqzXNjzYmtucUo7q86EId/+h5nwq8zftVJYMLpz0680b1st5igTI6qLmSeu5+9ZtuCrlJaydgKG3zJtVlO72QKs4J+csvb8IuXvkLbmgNP0K5nEtNw9Z7kYVxp8OsbJTF/UACe/E8fv2ZRNWTeVrwOVw0fFyxAIBulrbZDuYJEs8QlSIhpjnQbXHXWvaxEgrin5mHcqIRV7JQXrejTvq3LEV2iv++mfUBV+WOpbqcb5Y+D13nxAxO86jHax37OG5Eh7wpEDYd0jaUPuhp4spgzl4OSEr4pPKpPFyReZT2q0Td/0oqvH4n/QEitv5Qr7BxAt4f+s69gsHHhznEHPAmEeVsI6Kr3lRwx4qqRCImnpWF9XUETIzH+rn1DidS+6rtU1BMz+L7umEXoUknTJkze7FG+XdxL3tmzAAPjQaflYyCKzt71Hl8IgT2Jd+H/xK3E1ZMPDb9vDnjM8QY47wMHJeKWHGrJL5StxDlgKmcFKwkyGs4S1RAODyg5WkgvZkGbMxHeT49EopHrnqqGk3EC8z5PgP0zDivsEh3+YIaP2RR4vo8zAOAsBbbHZXPOZPLLm2wcZCM/PRG/VyvdvzdB0KqGQh/twvPN5Uzl/YIE+i5KP4HdNE9+kPWkKZP17zFU+ZUhnP6fj1aTbpVNpFylBKOy1/cjlOHsKaj8UcJ2YEfWYGnjh2u+0YiRxoTHIWl9/hIhniEsbDEGA2RbPLuWeodWRd7cCH+RqRS4OZpBGjanJHVu13zPOyBU0BFHt7FUfovbdKNgLpF357qonAYFiqs/dgJ351Enle6RyVG1xefVzcFRnev77ZggCaHihFsnuMVuV705yUECtiFpsGE6fCcVOPBe13w1dGntfJayJhhK+1PvrVueu5yLepU6lyIkkMu50JYX05nD7BDFPYv+FJ1t/eThxlg8n1gp5NIcOBF7KC2NI2Xpou4UzRTr6N1oQf6VWCWCjHNo8KB7ZuXyrpAwlv59UN7XqFeATz8vJYKgF+V/0pVzmfJlCn0RoSFJWSO/jAfgysEhpfJfIif4IL72Ah/oj3Sp5dvdNA3tTal+XQWsxM2yev6To0vulmog+IE0c1IHRpZFNvAomCFqVIIDdMDpqor9VMkmIotPWqx/GYcHbtRVvlLYVsXcTfgvZThltMj/b/hTB4Uck1unEprQxbHfM6TFzfo7+isjjOMX1+w4+t2sYy69yIMwh0ldWhuQBqsALqRY8EQJXcb5i4Xkld+oqllexvMrlpcv3SZ6k+8mbzhA8SpVLqgstSIsdm1iX5fHsCHmX1t7zPAzKwP4GwhhJ+mG34DHYjiT+f2ALtrsDSX7Sgl6otycO431fvCpzsdRbxmJZO68autZomso98u9wVNJk0eAJ4bd06KZXs0OCnYrnfyjQdjYCuWvJ/CR96K4a3KFVv4+kzmwxr0uoMVkhYxD89F4byb+OM2sNevJBRjp9pu6KL4rMTFMqHN1EONSezPN6B0SeYfRRhtro3Z1cH54h3NXvZhL1ozUiWeH9J6rhjyyigOdYo6vdUUYSNHlUeTxTWUQlEBe+TLs56eztY6WDWU8iL5lXTi85+eIwh8qJgTuBGjPpIZNNqOg/v8h7RTXkRIeNVhFOCr11IsMEPN1FDNDvhwX3KjiDXjO85Xt2AZ3mi+VE4QkTdVLKKqxcb4b7Fc1EgGbgVxisAM1AVHADQwTRjC3L04mRUL2x+pKexGjcCxMKdZCAQTsyCnkAOGsHWJRTA91+Gp+/E5Mz007MSn4jIDfbkTwrvkRqxc80drtZs3DE25McYJ3aep1P33H8qt6oU/12SwfeaCudFlgny2zXcNMgJU7ky/Cl8jLpJSbmUiQAw2Yi7uUj6y7KbK9Gq7Y/yUxl06R3iIR2jG5x+3m2dk0x2MZ9lap+he0lTwSuX7tR5Of/lxLTXgJd01r0dnc7UM3GQ5gHEi9uZeZ7P12yD6muGvR33oLNXO70HJ0XBrA3DLe3pUIdSFmGwmMlXuy4TNn2RCe6Q/HKndjeFfngeyafHhHjG6sJXEigjJlQQGk+NTfC5NGNnr9YU6BtDvtjkto5n0yJFx7oCvlfa/BgiReIQVCH42jS4hq1hfk2mfIyqGqxmRP6RK754tpwRp08kOnfo7e1RaF1WIxFBiFt4Xg5ryv3km0Y9Y1eG97hRWNRnblSKVpGxE8QclLbXBi4GYd14sYOnCWE6j3Jv/1P58hX48VyTXFU2J4b0ktHg7dvGpSDOaSfh2GsjaRVfoUmfy6piQPCeaNVWk1a51pgwahPEqmFivmD37Yn2HQIOqRZP86uxKN+M1giQhZt/3/umEvOALXvrVwFvX+lpleBtUhaviryJSco6uGVZZmToEgltsJ+U0x5kOG0G2cVoIts1muZgiYXa4wpvv9Su9WoScS4ethHBhTSeoynVDJ+RcsJBp2yVDHVIUoVqkgSvfFcVhF7+O4FQ9u60ci+54E8l/0Ln4zzs3fvZrsPEy4pF8Rv1TM7Q/5yL6+f0IzZC7VGU9bnlJ23OtiK4/CGwtEnFrJfhQHVxy7VDz/z7+6u4LePNHAmVQIWgzsrI4jCBTGicCj6TqVuBoMNjwghEfmY+wKe0OCBJocQKs2OXRf/3M1HrLHNXw7bvsA/PAE5CQnhDbNS0BEaXYlVQygXK4ugu15k7T0QPbZ4K41UYFQ7eM/7ociteGCCFYRgMhaHkDaNoaw2Ke1lkYRUJPFlTO2QjqZYH5zCrt3sDCjDmHDxeJZMczBGVbDFjSTerytMVXTQtF+Sx6L2+frTnwQytybRwmVA+H3JFucz+Hq1t9yj3bpZj02jbsfcycqZX+SLcmjelIUssYToRjlL+aX1GBX9qXSjcwsmlZXBV3bBbx+sB+eY1Xc/HBaNF6TCo07BtRj20vA/L2ZtOnct5PV3RRlixk7WdU6bZsPYs56SAIp4yOFYK3vi+mqtyyFq280wBhMtMO3SGtqRy7wzYIgesLxB+g7m4dF6ZWLsVx6ueSGfxO6kNtXIhNJMS0Ujs//REB3kfLdr5mGIOrsieS8o+ED6QH6fxLk0bBE0yXYwL08j7kY1D+mu3476DCfkyxusCKs+fHwd2xqlNyKR4WKgI77Q8/IS8jn4kQh+8nmRo7nJ/pDq+c2sxYw2t0jqNgmQQWsdjQNevYh8QWSvFCE48vPVJJEQ03NYzWodoZ0lqpFJtWmX2PFVJZdVGvdKJQwktwcksNpmDz/DtRqwpDsYIQKjUQJSzXqKevWs1pKardJ7w6lYDGwdz1AyCobIMtqnghEsaz0/WcS8M2Ab1yjxXejMPO/CDIsqU2/NJFQdLGl3cH2y1hMKM2dzyZPmer9J+KW4uXA22JfGsve4YDT3JfX4FM3TPVjg7f/7w9wGJmMyiOYx+f1IUBcWn5goTG4x5FTjkUCXYJvdYuVE57KGMmWmWJKpLNXj5VfkeLxDpi/uoRHEK0iRaEaLJbiFX0cBSlIvqUI5lCtOL+O5qFAXnG0usJmSoMsaoUPKerNlamMkB47Kjc3cUakWiZjXYZhkeuK38NLymPdooMoXGrropnnydz2NV/JEjqsXl/5hJK5PeiPXA8hQCGF6TI2KtQkhmrFZhqCd75Qt7GppmVGImXiPtaQmYKr6F4Q0fC0mQNJFGLq6KsorIbqdpf4C3hAzGWTFj02FWbgq6JBui7TOoWGR2jOJJS7EimVouj0FwGetCpyBaXC7teyZyUWgk+3/x9zOjvxksTcks6PQIkMN92V6AVM6fTqYkv4OlkAaIcRbsDdNUpNUbsF4NLGwI11A4c+8siMDiuQNOHklLGW9twok5Fo0aqVHLJbYrMtQMiV1NspDp0yFr2Th2mRsKOcuxLc9lcloKx/t5pk1IsUmBMwCrTNE6fE05nzshrWbPkq7PR57c+s6lPmBopdgfnOXSwLvcyGH3MByFYvuLDREkoYz3Ouob6FG0B9nfkNB8/BPO9yTvAdy/QHlykjuCcmsyaRLccrWEYMH7hLPmMD58Mk9TXgzuYz63ou0xGvCzEn3aMVnDsoBcVyVd+3Mpb4JxSPd8kGgDHyo6J+MX42/NIGehkXCWv6Ixt1Rn9FbFchhKau9cjplTiWMRQKwsnCPBtM3aXhBhlObH+dTZRHM++bkbV0gzjEYWZzXt+iqlccPQ5BCoTqSyRX77iE4JN32Xqsmn2d8bdP2iEIdD0bf63PCpsTlpSw2SMcxiw2sZYEG0KP3ugOn5DcRvbbpN4v3lAbXlruAGyzRGwBatA+KQurocgFIg2/TdH+qwQJYntOl2It3rTrb8sIKws81Vu1VL76CDizCLa73JVhGFdvpL1xHEmtui4SZNIEM/MIRWNzl4FHe/NjPx5DPWLQ9GkfzKPn2QyN5bR8NyVKiX7GEV7ZO3IBtLgRbwO8cOUmuzU6vqX9pB+hjckZiRm/aHuaueoT8MUWrR4O896JNYYEqJrLOgd5+WAaNf+fGtqlZ5FEUouGWS9EtaETcTS+22Niw2vE1atYWMMSPQ2WflfEyRV3/gILp2sgmOremNhUyV+iNNbYCSQntn7/5SFJhY5i2lKMtFUu0sm0uT1N09KuG61BpMd6qU/yZb0TBpjd2PzVCFFHf3LmOaFaaXNEoDS1r9Ys5KlxspEmNnyvyKXRA/FVQlwSL462p2s4zOnrw1OFVOhRos98hqgqSDCzXC8ib2/rqoD1mPh6GxZmHd/al3uXs2ijON4jjtZxivch2pxa7NyWivrT9VQBbOt3XSafOQ8256h4aXHU2NldN/j6j5tvaeyY1bAmyHalMz6+lFiPREXCVykyxCWgJxA5Tc3V1GBgpp4+smaVDos0uSdwdo2LZNBh8Hl1HQy8cIhc8NECQhKap1KmhDbfagOpXGweawjuEl8N1szK1hEWDkjP4YgbqeHh6EHMWWbvd7ucSVmBnbc33Ny1Tx1yl0R4xFo1fRvjPQzFCCGbn6jnZX64LmS/N8I+Pv7U6lGR9uQBjUwd5f+XnMEDq5DnlUCtA6uiu1+LeFET8aK7dbGhA53hd248gnzvMBhyjDMSBDyYR/9gpl5bhTnrAMU0Qqx57GH8MktxR+bmmzXF6s917kUf6BwpQVmbpAOz/yiD9QIE/HgEqbxV7sDTEGj/Sd0uJqMJNOnu4xJYJGtN8OEEhppu6SUKvRmqmYS0U1S8YUC9gng+rE803xSFQkU9KA1JSFa10pzP7wqYM3Usa4i5jQolYZ2Rq28nOyx3rAe6GzzLLa8rirM8cY8XG+bEfvBfzwy9vumP5pZhT9nPavOV//ON0M+KAfnpyj1n3PlWY3oDNfLx9/1gQFjJDOLk9TvKi3WflDj/GsbbN6Q7HG59wE431nN1buAtOZN4YGigmxNeNNqkd1eO46QRfzjBLZv7v7AXDPhum2yB7dK1TmbsVoRsOO+yjAw/sHGNb0H7svnD1wFX+El2ouYY9YyyODJ2VQwfJ7OaD9sjdaCJ3fWNIYhxlOOixQue7SfVf6BsCQ8R6cyKvMyUh++f1VZQxWnzxWt18Ip9I+HKtGe2jBTJtO9YrvYDXQ4vaRSSZzRdz7TXRtVFMm+sEb/lr0dnvQKrNA0E+piLwCSUaQ9BTpbh7/a8H4yorvvCHcGL+uEVPpp+iTaFcUm1ShfvQnz76fdEAiCIWVzagcP5Ek/RgoV3pENxLUtRk0ARh2VprAyTfiYctuV4S1JklVcbRYEcWJL7Kl31KlgFlE9oUfz5yLwmO5TBJQtH4ilvf8DzpfYaHdfX3WvyKw/Nq/dxDfZdE52tanzDvfl00ceTDoYZRq7pncXAO3oVa6cJGPPV1a5POynuznRavfroiGaf32jpg+TedouNmuhS5oU8DT5T/iBxx60vUZuRM5+JIQiRN7RRzUEI+TgN1TUOwOd2RWkEwsdGhKnycJc0nYyDav0VppgPlCbMCRXa+l4kLcYFkPNX/upNaMtH5kll86Q4Ey4/qlQ2l3ubAWqllMZdn2C2v+vAJojPm/Rj3VpAyS5NSCiw/zPXYZITaguG065MKl3C9//cH/VbFHOdWnSfu3eyz/As925Mu71gcnGcqriO5PF7c4vE3YTVNW/yHwZSMzfI398r8q4eofTvEOC6LgbUu/A5+qFfMrEEnJGIUbZoHkWoz+ndG+hVo1IJ/5g2ULRpjzoZugJdBr5nxjRq50K14HNFqGwvOTG2AepAWJQCWZ7YCnv1Upe2UQmXPVhLIW5LYbeQH63fcsocVhE0eJgyy1ABMGjgFG86J6Ex0MPRGUBI87MXwGN+wheW3hQMkWCLdpgDUyWXeGDD5o2p17nQejfx5P61mJHyU51qLDw9E8jJSJ9VIfc3JY7ZG5l+nVH6Zz6K4NE9W9wSFwvU521dXwOHUV4TBclo2tJE0VYvaRQJYaSOZQ7+oBbq8z0TVwgH9UUipFk5sTcQhFJi/Ppmuwt9Ay+SSQ2VP2wvywroROzH1GwIsxDeAZKkwBrJbYzdn9ZamqK/jMoJG4VkuFxzykfTxazQnFy019qukJ5BdJjc1NyIIzqUulK4DXPq0D8wqo0hfOy1hGEBQUutSsR/4of411vB7rsB9f6YLJw5RPKJoK7EUFnNpxqxC4CLmKm8BiJfF90CwYdch8Q8b7lsTu6zf01Hb3uwYS4l03G5aSqKid06nAaZCAl7Z8BhCr6tdd0R+3XTHt93sF4D9TK5bwcjXeDgr4g2GbRGxubXDQGf5OIlopRCHOrFk33QetjPj3B7HKR3hsvTYw3XOclZ0uflMPp+79Jt/ZFuUJcI8gvs/6511HXQmtUEWr/jEDBD+0o8UL8rNOXnQgDQtBJD35Uw953QI6+9weDvxaEo7nMb+17hb+Nv83fHifVSD50uP+Tv2tMe7YeT4eCpEUZkb9R2ubV8TdIBy5D0UEOkxxrvTe9ZGSXiI9I/deGmSKlwf1YGY/mJCg0Pcm5vScoFSab/jssMyWKjlMiYFjPSFyvSZmVeJOScj8ffK1rL2KBsO8u/9oK8SJn90GTixDDWelI+mumXOPNArv//H/pYGuWKgMxz4xPqgV/RsFbzj29RGmVi0Z/BW7wG267nRoN4pyiZnqY3czixEKZ7jbaf6bBHJ1oeEk06vubBxwj1HppaF86UPs2FUK1etI4PgdPyn1gfp7Fjlv9nmEcAma8RPQZpVn6n/OYG9H6QnW3wVXdoTZpv244Cwp13Mt0NFLrWtLvkbo5wlltyKBD4Ybng15sVbE+kQWAxZiaVCaYLn46y9Zrh2DzkH51lN6/pp6N9nQUTyLWo+AW6ZnrN2lO98DKsu/5RhwrfTLLKkbbELngFALT/HFBgjKt7JUYWktV4M7Nri0bPE9waVAE3hMbebh5T3mekYFIcnRnBnImaUMhxWRm3ZVWxdnpteMM9dGwk+XW9brbyNL4/qdlz5RzZ2jtujDbgyusJVPn+PD9AfhmjK3KZSopl769Vuol2eUTcny+qT2OhqqOQNoLaRbTA81jKGEwNuIBSiN0fAiHQzGmtbSSXiJjFblhi+XiOT/vFf7/PClouIpbXcOwk6XzfEaKgJVDHD/emu8ZvnAf/tFp0AScsGw8uqjl1uLYHE3/9xAlZNALL/9xNYGz5kcQygq0aA+swYO2u5kukHtrP47Nds9O9Nfssqu+pxDHxhHA8GbkTg5Cue1eGPUg4l4LcowiqDo4cs4IZj0phw1IJBRzVTjjnHVMTMxM8jK1FVxTHIo2kJS2hjSOphrOHwj1SteUDCtRXepLn36NPgsdlOAVrMFhCnyCLbGJEmyXwUG0ONnZQoaf2m9+5/UNW+458acoUTbd3zU6q1zv0PGmlTvgx5Ttba4GYLNQ7QY6Xnm/+8yMVdaRxEuL0FqRxs59y7knpviQCvFeFDWh0bAewO0IQDg0o0JiKBw38umfm6oTJX4cXnwN5kA7Vcp+9lSVQbcxdHoQ8MvdsqKgUHG63ce0DI+juvdvWq79tvOEn5RVOUj3S9goKYwdw1/ecT1KX1ZNdWYbOsTQT9rWUfuDJvvF4Rz3NPiuBKJ11UgNNStHD7SKS5YGSLF8i8uHOnvZUpBts4Wk6zztqm6eAO1+1qC+p+c75TvWgX9zS+LtXhE/ujPveT4adbgtTAxA+j3Ozw2wvpxUFJJ6uGMmH6FFAOmYOgfcrEOiftSf6v2WmWNFoQMe7H1FwwLrq4iFA4aMKnrqYgJwTzEAGGVMxaK20lG2RnrI5xv5s3wrwo47rH0bC0DvoyusBrXqwGg6TSEJpHDaur6Nt+TOjQbNs2XsuDWYCgfXb5643HOeSTtBOZT7QK8A+cAXt+vnbfz1CPf+I4La8cIxlk1IPxJCCUhj+ulIoBZQTFuRwpLyNhfxUbdn/bpjnFovmdcpkPR149K6bB/lXGDf8ObRtDuZYbDwZSDtLvw4t6XJTGanW4oew1q354SBKvo0X8yJmchUtF1zpqTdo9/6a7YlEERSyIOgOtqT+NY76GcUe5tQtIliH4pG87GP2z1IQQYd6AK9mZd8XDJiAtNHl9iKatahaQkgnTgKev/4frM2rzEUyvgoYsXLr7sizPPF7jQqwv2nn5Qp7mYtJe0/wXhxIQf+97j7DhnvTSou/W+mlgv7u5vro/7bmtveMSv2JQ96V9Ln9bw7fNJsK8I1tm8tJVXl9e04NFssBo6w2Ll7n4EdMM6OpHS67X0dCHZ762X+q6ZDoBJLN2FIvLGfSo2saijcH0qOjXY/5OwSsmZNp/V+5EPtMzhaHmywh9QYlz/MaPP9QZdaNW3Ko7hQSPvTNy4PQg7P7zlSrrFZTjj/0+bZzHU97Vbe9e+/saI9ffRKCmGef3mQlTK1BVvQhq+rb6wPZxntSG3jMwD22cGOjGnKsZTkXTv7eHvrQ8pmQwgnnHokwbL9SO6Gdkw3r1vNlum8lV97xa39bCKxQSF/vVhbz4BosCp/Qs6O00vJB788iCBdEZEPvIk7yllfeKMcdXbhfHd6EbkGA38wZqKvx1/mk3KDfNYxNre4UUpwucoFnBk4q+2ak/v/H7m7VpcEnHQY7fQXdX5ZgjUjkyzfX6wJHb/lcsPcRm6Y93m2W08iF/vpDFrIFoXASXziCCX9nAG7ZhgjYilPIm1W3P28Pnd4zlGDxlCielOi6GB3njmvLkKcpn2Ys4hG+HiVgBS3nkSw+mFq0KTrzl2Fe5NfT472ut2xqFeeo0K42jOLJoiYjRqW2cTM4kB+noMBQUJc1sp4it5zZcRrcsNFrnvF9q2s4sCs+QrRXsbT+TUMwAZpVhILjMP76HSNwLMoyyBSMy10ErmDHh4xrOpGcNNodkAhBz+QWGJR8a7jUe1dkHQALnRUZ8KoCmD4QkPFtfvPbLXfrPNzN+qYHtKEYelYFUWqH7wW3aGbLU1FESDAY7vbKxPRCyj0ZzjAQwrcvLsEKHXYCVwo4VYkd+KwCRTgla6om9pAQBxGL+URq8qU+2wnmZosBGROSj4I0A4VCxdH8f71rHFiHLip/95MCN7yW0CkvjKtB7FKzHRe8LI7ckzjbodsid2AJXeqoIJLJUnN0YcY/Wtq1bNHCy+MDjeLydT4CEzRTEeXZqvpFHzCxZcBzz6+W41rEibZyM+9SRnrE6NubsSJkJT7HkMmNIyiujvNtoIJBQUFzu7+YMsV0uEYpzEv39FS1lpFFari1ulOtuCO8Vw7sivDnpMv5+N9BTJj3jtJMoQ44yeqza0PNpiKFYwR4+UtKChV/SIIH32L65fV3r/qMX1h8mIRDXuJ7Sq2OIM3us29Dza4ihWOkRXlLVhi2h/JxAzsPDr9pQRne5zxqdIXsUB7wbzrtihU86TlboerAjZy9onUKD4Mt3V85W96Kp2jIUK8sS0MVyIPIotRLbpoPWQZOLdxrGAE0IQlnmj/RPO2FlaQsgDS9i3y2PFdIiJiuABM7aGQCcOujffSnyP9AIYgCaYwAlMW+dWxYrMtWGiyNRAxDLA2DXneG1z39ME7Mo/JSHkoJw8bWRKCBUQXs/X8LpN4Dw/jG8P8LcUdc0xmPWMsB1Iy1Yus5+vmoVgFnLALcr1rG0nrWdN533nHedm7Zle+XO4lAg2SQRYm08wFaoiwFkl4AQ3gsIP35qlo/VW2c7j59uj/O2TyVKEYtda+ruOOBLfGxksNU0Fo6UxZKlDTpYArNPdqEN/511yGc83haR2xhL2/cIq4PNXUex/cdJi68lOeQNXLp5AQNFyRnmfGVB+8ba/+DFDrouvSDkVgZh5JElyPZKsIV7BbXxMlHyzJhqtGFF9i6wsUNk+noSiZYkYl1JbMaRLe4CWRlAtm4AcOrA0snwXyi06dz6UCErRqZPCTOgbTi3rEOgMiZmzIOc5SFrTJUw5rJzhscwVIUe5yS4/nsiuasuKbMwRw60voEScNlA3SJ4cS3TYP9qesRkHR2FP3paahZvmlPNLtRMQJkk4v7UIdczTeHZG6Ibl4D7ErOmaAoO3zhlq3lr3UnU/Clh2h/ReTrcvTe3LwT2QpnsXrUETz3xVi9jdx335rDrA9d3uER7qOARpEYcOmZY6wgqiwjVBW4M4E09W6DHb6zY/3jLIJ7Z/ajVoR88u0J6o60uL2XUuO8BYVQYVicLlfy4fX1tRJxcRBJlsdlKcM7XYcKVx2E60moJvOf9yi90YI/EIsfF1/DaMaEdSO03u3y8VkywVNp5m6WQPgAtNB6DecoxKc7XcIUcm8ghXShnMNWaUsRzkjEbj2PBPkeiUKscjKAkcy8i7lqX+T3p24yJjdbYyHnjyYpdbpj/C/Wnc5tH9fosL8L5rf9JI+KXLralyeqGIkjoCy9kAYneVkXkXMr8jeXikbCaeQmqlGxg3TlHAm4LalFF/EgciSOIZCNtVlVLu8LmjDIubg4pN8x/5Pj9pnFxU90R5h7Zixvfi8SABiQMAANqRirv2oT9B7GFHkbY9srNwiiVgwH6ljpvRRULjGQEaproPNa6ZPqb7CvkTNEgoBYAxDkBWcOwwl/jzWOg2KqNmCQAXyD9XmjurSNZos+AQ9lIRcXgk98I1c3f5qcUFNh4u4OcrGRsRNKd+s8Xx0qDQdZC2sRBeTzVGmk3aHVzvRihyydh5Xmtmu/VRZ8T+YCeTgAe5dFnqQeCALKCCyz2tPo2CJXYazsrW0X6hVGRUtHCUNyzG5iuxBbbDzK9sqAezFtQhuKI1UZIFanY3lgIfUOaNtecvjSsxElWX+yWhKyArb1pd9IiiguzjiQutqs1qrVXCOFzRfibi+HzQnh/hPP2wPr+bJAilvaOq25jDPxCQM//COVUIlJI3X7Z0pTVDYUds15ag5zFpNCRum006dADemmMUE5NQgXV7a592rJ6o7G/1icHvhSTMKHOXLnS1a7Muo03AQsI6BbbfOtFD+KpJJjJpqx9dpsaxHblEMYCEoGUdubCwtne62T8aS+YSzErypyXq86q1AdpJ/w9ljFAHjXDNAVpVbzuiD+dxP1IHAGF8Zdo9KdB+2zC/8ylQYfB3eSxOmHxrP1FUoLBnjoGpL2xeLuHvtsbWPR3ivukrSSWjWxfJdhSopbQIJgFLAsCZRV2c8TUZeWm3q2il+K5I7xjDO+PcH09jF5+a3KWhaH90lobS1NWWfU1N/MvpK34DwEAnBGobygiS5LCOtL5Yc7nPO85z55Ldk/pm5hsD08K5ls8qO/QsikCKtYVO7b0cgfJTAosmJce/7LKBT/gcd5QjgbF7eoobl6KUwbGPHyJtt0c/07MdXyIpu7MR3vR5TcFTcZfrAeGmUw+I01OPwjgadN4QOny6driOxX4qJaFviz+XdYoaPDFxa0YbNzDDw1ceQTf+HHsSexuUlhSkFNBTBd4RIpDOxlLdd1jtZ762JjKz3OvM6EfNQBXbTVUWLbrkayht4wi4zKbNs/V448rX77I9WykDuISkomXchY8MyZBJJs8oi0eWFQAgJUFBOssdUrfgCSwYm8Tf+MaTp+urKIEaznVEiM+EBEoprw+lEkxAJgWSCj4SOtEARLQU6pfL0rAAjkW7brRvF5YrOvOkbsUYN0fO/JEp/6Oktx8gjf+cTsED23L5OFaTyDnniXQcbHIn5ylU6TWs6ciSu45bFNG1Bow3MGXWW1t6fdkFR6R5uimi6DbCcMGJEUPq71FIq31hQ/k0qZbH3lDNNWzKgEP0dXVytrV1we/ZVD2x0PupLhOnzN0C7G2DjUl1ULtr3xk+5RlKOwU32tJcn50a/V+W7VsQ2VlIzEWYHysaESBPFr2fmHPS+NSyOx//HECKbIew8Nr5ZXN13Oy2PFbgy8avH0wgkOH1BYxZu85uQm1FUdhvIoiZ8krluFDevVMekm5zXqDBrr4e0LKspeGfM9IXZkDwHeLkZ2+GHr0zye2qgOysOl6nJzloRxvE1sHtGFV98PdpUWJA0W0C/hiSDZqmLFiV2soz+gCTZpvSBHPeQGTYBCygy7Q9dZIc1xCz12W+GJXaygfoYO2N6pRLGiXEB1f/EfXEJqcZFc9lOdGZ1BbcczH2yXbPP7PBPQfyz+ftp9yWd/v4QLljBmJKVx6juD0b76JOaTg8e9qnnzOpEVXFvyRsIDv5xwRE8J3JvdfrSoEptKzflaPLcwazKsn/6jQwcJ0hcPva2FANx+7Nh+ln3MMLdcPADJZyiygw8NwtUYrw6Ao0zl3PJK3GVrr5b7odYXHqufqsvaV+lJNFZrHicO3nG6vrePupgsgYEevRGGPAl10oZ8lj7EvoZO7B/H0Fk/zGAchV+FgAt9ZBgDZUiJzT0DlIGssl/gwjZQ0pEpAiiRL+Zd4SdCXjwRpSdmIdCB49Q6PGJHhk39vXqy82OKzBcqeAPT64ZPo1g3kMLBFItA/0wSdwfIByEfDW4kx3jtp614UUz3/xD82lGlLX2zfX4f9rbZsYQyjTLxJ7/rptI/lBE/b43VCuHzhc6AeacLyagUcMNTPdtEXTfE5MMdXCRhrVwvSnORvpD2IW4N6sQjcGciehmOjM0Y50pq6tKzU9oF1hcd1m4rJx62FpBS2/sCh+Sup7IAiGxVEj14qQeusJZOliJjL+iiAKPW/oR8heGQm73tW7AANHtxOIiUbHjB/jKf2wdL37UQ+vyyJeyJ5WlGaylsPnmJPN8WDPFsOB+PQXXtLkCfj3xXg9x4bA/3EBMH7iQQAyScZTxfuAQXdOsYrGrG75JBO95XjgAt8hoFk5IUGuPp4HpP0Fi5GH0/i+l3b6CftPtH4jr1eVnlMgoX8I362re3hI5K1/TlFC+K2JfLRJd0w+tmKeY5peSIYfgs9TniDOUZKPKxJHhI8OI6ChvtuRe0SWJQv1suiqyBxfXGQU28u3DKTE/DiLCmsIJYfH4x9Oc3e0rhY9YuBFgdjeTdIekMw0CX9g0Xo5kMTfEqvtZiwXn0g4wLAV3TvpVdlQECjTQs55kzhNUuv0QizPmHxVMY0i7W5ltaBQQ4SaQw2PJVUP2mLyUw+fVsZkC21WgFG+vrTV/XyA5ZDgdLlaUJkPFxHdZx240wR3gnh84vhc0H4+RCue93Sx2NMk8cHC7I4+LDx+jOG9XHiOZbypG0IYSKu9HumB2LceiB+oUxgq/lM03/xcagAok3zVffPpq8SSWyTG8ZgwzOKv/TNUmS93uNj5Ow8QFsvS+A6GAgqhIo0DYo+OJ6+YUnh1zcuIOQDxFgPrqdvZGI8uoYGqJM8qoL5xVpGbj9VR7PYGwIBeUbJuZ/VbSFxJqfkPqNMW327VDLVSyBNT6V0xH/jW1ICOom9RymV0DftFze5LoYd3ICeuqo3kYuqdmPlzc9tzOV1n659QptHuazN7YYIeje7MPU1nrbdeNKm4m1F+MALHG7fFPmXZGvCbFEqTi74HaD4QgKxIR26BnUaT14xh6wul5J64lWR0esIQEXAU7iJwIa6kxezKyr81LTd1TN0e2FBu/rZlroRYloRbn2SAyD9jwgU0QK5mBktZHF4TPd5FEsa+k6yxYKBjsTx3EFW0lT42FZfAccvUUkARC1uW3g2hHxVQm/gZhlaxS7Gf3gCKrjTqlzp3iSt0U8XkxVu0Q3jQGzin0e+5ll8xL6ud9QDPeGJ2uqc45e4+d5epJtvoLVNh//5hOHrOQzIvvvEPdyQDZQKUqClN1439OQY47rBC0GWETYS3LcYrQOoIB4iLo7hrhu/EM8pTwpDakjDY17RUKhSnLYjuiZ+LWhkN5R48yDsyXFZIiniQHkKex6hn2m/y7n89jXuSzJf5D2M37lAuAsQtH0KOKmDtiEz+a/flRBnPV40UNPQCfoIefdQ6xfUYlL1APM2/vO1+htSWx4Uzb3eXb9+AbPIhnw2M8YKSD5hQaB83QxnjpzyHqyPpy683cl1wAoCJmaOgWR3DCimjYHYVDFgEcTKvub1uuBi1aseOErOjyPDLACgKwEgDAGtK3y99goM6NVJchYI8da96etVnSQk0zox1DmmGdQRK8HZI7w7wuccw+eH8C4ISyStEegvIK7Wq6OlPoNbc3OBCj08W+d/U62aqJ4NtNRZc3OBCj1v47Eexaf0Fp/N5/Ck6zD90IW6w0G9KLMsyAs1iQ/wdM9o8O8lVws6RUpU5ESezav46Q96wy2wIC/8JEYAgidCqKp2lpRE+zEOH9A8VUJf7GnCetDHByQOyfrTJPQaT2ESgRZ5Ka9W48cZTsWkZ9H2RG7bAH8uICKhLAfznR1hKQtEZ0qCRDWJHNMkgVycBNQ4KQrYry/CDGm9Fn1MAECs6PFfr9KIhKhYLeycYPXDBfTbDFKEJo+TDtluJT8vA0L9JGx6RVoyRwO1a74Ilan0sx70xmX3hbiLoz+1HbDAKKOICuqnTx2SEzGYfkqFXrnAMauCY4pIBd7SCxxSBvXDLzSAj6NC+14KOZFMGL4ddv1k+gY/o/+JrI7FoZX4JDB/Yrsrwgef7QkTY3od129wc330boVIl4HJnx1soklts//vfjiiG5uii6vMc7QlIPLfOmgB2XlRlaJFu71wyzfxQQKbGgZC5ApHDTR64QfEUNXQKAz8orhJ705czQ+Cdk9ItV6jQp1d1gWQC3G6+CACcRzC8VCK+OM4hh/ijyd9e9X/iQd4K5sz83OEzy/Kt43hP0oJxdLo1aSn3paZdubz1t9EcviFRzfU9OeCcbHigAy3d8Z1SOrCMys+JXJAmoLa6GUA3ifUdu1lYtJ9smQ+uaatuBjZ+ekJKJbcv0Zmy4h/hxnYSmrIOLyD/6Cg69FdC8jmB5aZp808TXWcx0T84ZXg6VE3AK+7cjRKrXPe9EWls6fULRU+wNdIZqxmYeXK4xk47tnK4Nx91Uv3gdjiYK3998zGYSzqDxfQN34XbjAUQm2fj0qQRtGc3qD/0KJ+wFP+m8557LuoWbuiDpdBPIKiPn7ljjhQBmB+TIphMt+c/XFktWnqzyH5mFQstXv0swbvooNJUlwbnHDmbl81SlItxW0yjn+DPZ/ogmH5Uss/O+Af6iFpmD3BQ2CuQORn0a8nOckmaaVzP6B7Lb5MTOuih2BJAB93izo1m9/55NeKquJIYvVKYqEcLn0P3RoXniXc0FAhIoWm+oGgoWEWeBw8I2M4V81KrSGVdX4vIw3Sxsiyuoi5xxGvnos11vu3QEvh8KD3bTO5SVwg2bfPZ0Vlon9xy8DnVslFfsgE9MaKc9LZZ28LObw65r6+JTqLD04+Z3iyrvTk2RJSwXHlnbfdVQuHhPVbFYLasrZ2QaWh61Y9m7JwbpnJfP3rdxuBeTY3C3/E0wPwDHEhvct5iyo5PB5k0GcqA3CCTRbb/JgiMGakJKVy8091N7we1d+9mwIouOH5IJeeU7Kc917aVvdPWja5rv9kFj1O3H/er/MWFPpTeiqMwWdW4RVQvFTwVTLVdOrwDB7mGzBF/3qcTrdMJ8i0PM3O41qFmsj+oMbahfh9pvILnaGgOebmB9frn44Md9C8ms2qhUoTsadNIPbpnRTz761WH3uN3wcwiYav9ej76ejy+ap2kQ9/zmFn/m9lxmLspJtKX6lXqGyTL/f5CxI5XPx/dw4PiIzJ7c0CPlhT2/nZyrkRmdPzC7QtDO06l/EiUfNxP5K3P2yEgR4zqEesjl4o6afBro5YYyIwKM3E9NSfEPPZK01Nr3QWGJkEQa3a46vfl8S295V2X4rpQxasaj/EfqF+BrmowXBUNLqrzIuBHWd03pAUUUXqx2IVU1EwPuzWfSRfafWw69/MgD4HvWfPuqp4uDVcXapRzWmrzcBmPA5aKr0dmSIhw4ExglhHdhF3nylVNNHchD0UBnE2BnEhWg0apYKoJ5po6n1mENitwkDKLM2Zxq4DTm4sWzF4n8hOHNfsVcLDHutjTrOVqhpB2yFEb7uvxQsdMd4mV6OeEtpwvWyrxhL4C/jccZlZk6/yKnCQ9FZI2u3zBqvebkPHALzjRuQCOxvhSK1d1VeBcLARw1eaS+Q+E7MqRZDzNipiK/WMT7bDy54cLcsrkCJmamWdXQm/2bKMDSZ1tXQJOvUp9lGR1DC7WnkSeeSY0heMnpiQM6x67f3B6FzkKyfXAuu9/xXe+NMFxxm/H574mAHw9E4BBdfAzGvtQy0sEhVOTEr7Fqlnam3v+7GQ4w+7/h8MOTYa9rTrWQ5OZ0v8JZpzJfio7wYH8IKjfybgsxSYHIr46jcEjvTLxL7W+EtnmbDnIUbncdCHebxz/QLZqZK2C12XC8TR+Sp333r7WWKaTYliliPGExFz4q/5eJ8sCNx3dfy+czDSSDzTQ0lqpA/CRo7XQ3RP3WXx6Urp+8TjgMibhX7fwpkv1j3BDAwiKweqsNM1oRygKu2keWFAna4/nyLaNsRrRVTyXirsO0W1GmeQYyn94b0dfpMWx7RLOLlYI3YwXc8jPlCHg3GqNgi9y/bnqx3L76izM00HNsAdEdf91JYLET13feSyGnm2csczyp/U4oG12fFy3O9t2dnPr2xP1Ww2PRtm5H5oOvtoEi8+fcXa0j5rm9bQEkC3NC1MjQxlB65XiNH5ESlsbRAheVi0Rm5REX9MMBFPp5HI13QIvzQTgeNuVvdgDVl6gf0v9Ba3CXMK1tpCvcuP+8P3PGL/Zb7Hoi/ehvkzn4PZ05+DucUPn9BzMM5CiDiqcqcQwFkGyBtcwguYqS+euGfjJzUKzEby+uzJJ3Qy0TWN5VDViyON6HFHr1nqdHY/h6vquO4Tmxm4IBEzlMwBLMH3OYCAuguf+2lfOuaAzPDoSqehJevudroOlcJBlpQJgdY0pQfWfwlRhzetmFfDZpQWZxWZoLW/7HX9BLxTHIgWl0QzE3391IIHG+zbNsSaKkwMpraNJU3CejqLA7q/ekVHRalnzuXbTmUIGBdtkLbS2KJDORlw31BU6ycVfvQTcdN/VB2XF2w5rdJjoDf1arU/oNZiQJ2cO+XxpxZdXKW7IopCDNoOB5FRGild5kGptd44fD2xv+0OxxxV2kvxTe/Wm4T9EW1jpicoiw16YeeJ7j9UXvjZd8zTwrs+RsWHNtt5bPb5kRPYV++jDTeh0O9jye1cKPj9FGNmly/3RMJTSI3vFhBZ0j05WIhtd/xMcAg3kkaD3WAl3yrN76p1EoHOSJkpEd6nZBWhkwFmSuxeWdwPUE2aZmfFnOBLxT7XL+C+dp8B1LBjQExBY0ZO8eFi+yvk/XcWMLP/iWKVoqUn8+YgFj1+z0jS3EnZKVb3/xRz7nkq6GoqoDieNJqLQZtXgQz097garsrUJDz3UBI79ER2GjJl7u470mT++LHFJt21eWTCbUULYlW3/qon9TNVi7tp+8icYOofXQLbPy8VuPhC7ZwvEI+MkgTam/KC2p/6chl7QWye80X/EgtzwnRvOTnGAgwTmB3DPTGIvCcu0iiBZ3pWgo+LpcQxldru52nKika+ekJPgYiFtvz9wwRzIEZeDujplVPL848QEk2cN+A4dzZE2PXJH6pIKO5w+i6v5ZNEmOd5dxWnUFCk+TKCwaKv2FdF5LPl/SZb5+KvTuGrvXcMvC9/VpmP9P7+5fjWnddJXzIA+dbnZ6wm5yCOjs/3fw/RCZlGxmnCoF1DX0GmfY3bk/H9YsEBrD1CQvKxaT5aUa2DunIvfDohTow50nfQ9v45oxpnlqQlhw6svVHjxdM902FwnF49UepBXrhobZwrmJ65Yg2VnIyRj6los9V0uCrturFo1HW8tO52m0f31V7UZpaqqilUnZ2pa7I0458N/K71BDVVQT2XeMFDxLVxPu2LFzQx5tjL+/Y21+2xDJhwfU5kPrObgzKpOwR60Kc4rEUEdrr2+LybO9cOA483002vNXOOWbZsGd+D+gTkXs8+8jIBIQ8e0bG9KTF6oFXiVxzbiX0HdaDuqBg484j87gviDcZDEcb1/aoKDHMBePbZTxLtcR8zLswib52Ndmp8y+B38vg3OzvW3k11Jm7XHCyEj3TPcmvE6tnKOHwUg8ZXpVHFjzmawaoVqNWk3qyXaQhVMk6FTQ0mlsAFvzgL3IFBecsiNTZRH89splDuwpvlWBZen24j0A8DOz4QEBauLzD+HA2q88B7ZVIkAuWZrg6PxJBjy/KSo4qhisJMzfKms+anFqYhbL6h+vacb6F9rgR/hFpnBgzmDWM5uMzLEplLkp77aILawCbRBuYTfT+mac2OlBVtfOFhwGKJse8RErBrX1x+ohnHpDSkNrrw53EYgGEJOG1AzxQCrOsvM5qGT9F5vGQTcedYelbwVsevuTmRWNltlFJVFwi391XG4XqEHMPwcYOd0lSaffXBIsW7+SdbwWfnzWGCaiWG0xdVTS4cb0OBxxbctYl3WxjcNM3wV5dqe8JxTrRj6y7sbFb4ndke4xL0cXQeyedJDnKLfvioiiCN/B5DLay+JgN/ayODXKm2+T/ivLja4bFoh6NIzuOfETS7m2YX6AQueMftAIUM8ZLf53GAAkZJ5mmB5ZGamQh5CvcVi7Ab4z00Iur4Vu4CZ9H7HfIosNQt6vgcj8wn/9xeFV3mazEQN+tIktcaL/bgGBvN2E6T44E8Dg6zX/Yyx9Z1OeyE1SrZL2f8PpyhXcW2Fr1utfKMIFy7ELf+pBXWsLjO0lteUqNpM14rlhTpFzu3a+XT3M/0zLbRA3GQ5VI8QFgvbSFgNLxFtWVJc/2i2JJ30R405XvA2VDYNrdWwxhmiYaT/M11Mu/l8ejPvFCVd5aLmw5/DjzD0qwzxHJ51q6BDOnJIcF5fDOpkx/+DLf0CGqS1IWIDM8SFznp8wNtpXN5bEg3QFa3f/Gyo5KU80kOdOm/i9Dc7bJu38a8brGr/oJmsVrmWK8UBArakNsSCKx48BHG1QuAQx/m+E/3fx0s5cP6VCUjHlxaRSO9Wn1ljvPz7NG+dD9Hpgvh5si+BfHC0jcZFxoUfnGgkGPBR6VYufCCq+5TSaUiI63tUKAQE+wwd7969rxe/tBmwvVUD8Ltj3yaT00zmUCLklpGkBY5M0g/Q50F21XFdb6ZuP8Falp7gGI3MQXpQG81D8u4IQHiiuhI3/5OgyYtTApgmTrcD916/Wf2NuSBrllobqZSM/15PXBuKwZR7LI3JFnTUF4PnqQrxnqT4eJF/hZUsUaoeCc8QbsQgAMTsi8kI5MUbyG1AOl+ziyLfnlSpcQZobzio8vrTmQRHo2wanHPG/BPNjOeoirtWqzKdscJraBRXV+N8VCmKejmxtXJ+OC4pp1ISHuPTv7m36wb2fGbSSnM/W1HTGqV+BZkt+fQlYripE6qajNhdXhojPCWSFM3w/Qqb2dJ+FaWcBhGRIs8+4otJ65YxAEXEaK4S09bFKGDxSCP4/+4nANxPKyd4Lty2m8CAtAXhBJ6IM/2klE7GHyyVjawmG6nt3MErHmk+0LefacACxaBHv2eIszjgbFFztPrxu+wo6fPiYtwdkK4ah2p9FUE6qAiNY7Kyf1M15s4r8GIFUnzBr0IN3vYUHserMVlTVYyj/EATquWV2+CzaagYvyftEPDllv6tmXu4Gthc9x8m1FSq01R+cXij5wg42FnJENxXj0z5C6t2aFuwEtQQWnGALjq2EC1EjbjlDSAXfWi5xVSRU6ZcModwx5L81IPx9Sq1N1wOihLJFQwj7ra9w5ONRjGFrmmaVzA6AwnZIAY8Aw0yjjm+1kaNIfw7yYDvAMjrmCXrqcvslDamw2D839QTgFEU22eqBP3DtTfd6nLes9zT1tnCjcyvBgAk95jNxwy5TdfaADTf1REIno71mAzFYpg0wyI9FBfS14lpOvZ095CadyGlvgG6Vw0JVcJPbOGaRryb7hALE5CsQXDfgJvdxWGSHwLr8FtlrpLu2INP/U+t7HlDjQY7rh6a5SoWcPdqQpiOlflUWSRXHtAJ1CN6CThbnl8HElIm+49f0b/W4dJjcrszmAPUheQbBxEciMOaH1QED9OAprVy6TfNcQPsCkjK0/reH0PA4njLjmmODCOB7/izoSOAZjbNingfGBeC7q335PahDMJ/ObYqgTmknmxTU/zXGsw8PtIOoLax0zoVpkx+pR4Mk+5YfcLPyRYAvosOkxrg5wwMtkr3X7+V+TUoT1NshCFUxOGaTJPMErkiVnpK4JDumrQ6HedBRTo+docek4widXKkqCbHhJcaj7It79uozeDsW1D+63FjvBY3Lp565WPR79pFQljmoVJEO9Mj5JiPIJGh3QnFOC05g4NTdpNYHEo3H2p/uUeb2ntNlDz7RpdoMkWFALlG3HzLdg+ZVlqZMexjujb7aoqOQi7N6DUAuOxQ6UHANNS6pQOS+BTBNt7m8rsb6E5ZwilO7R2kLyEBHESw5v86ePeC7ByhfbrehYzeKPz2BGfq+LbpqwgRfA6G3yAxiUUUvgpf8zwAzXsTNliCCeFtUOwcUNlXE1xuMufnoPLQhbkzxRR2PO3lzacWoSjcK9nmXLtqNWr1Pzx/VWWKtZQnxJK4cMDUJYTz4pEqUZIWHABCR87zQ+KkUBLIry++pzcxiBbrQf1ClOnKcMMvyKQjeEH04MDUwI+YfL1PRrbToOj3KMriFsEOvkmxHKyZSraKHvek/Qj+FSEf3TKs5Vh5rD5bUywR7ueGqHkKlpvMPjHe//JRq/GXrSBJPUJfHGyguheZWFel86YE1g/rTiM8FDpNMtiA5TdqJe84ESmppsXkPEOWY3O4JnMdyCz81vFq1eEAl/dt9Mf69AR7wiHG0nk4kso9CzNm1YrNpTKVB1UfyyenlJBgPe8K7SKZ7ggvrtTMhK1eRhwzW4MK2Xh8VB0WxxW2ijxqO6zYhorNSz4ppO+2RKMk6fleXiumdTBTN2Ocleq0YEuyaQ+gyLmxzDJLjr5R7N3bN1hSBDCaA8G9c1U8VAKsVodMlvdlDXyvolxdHcRvNrO+8YfvfrOY7eSsHEP7ScaCHqT8KylBOjYLfkJ1QN21gCLcwNHO3bRG/dahZHHBfTeYokkN+O+GnXb9jL39Ot3l4BpYDwALgReLHBw+AYFwDFJQ4Yn7bg9AJ/T0cJAlZsiUAUcpMf/NTbcRRT9IwAXT4QVJvZHZ0Kw3+tS2InCO9dtg6/moUXBg05WoUr26VwrX+Ogl72n4sSTF+LtD0r9ixSU+SunogqBZiE4QS88iYo416C/hA/NpMxnO1YxvvMVw7I2e3enfjFeQBjQTHPQeGSUCIFR9CajgbdK4SxwTBOOeig1dzwXRmcvafDp1O8ibL0ydUfrq6ZOx6nyg3jrvD6T5a1RhkM+96AFh/pN7F0vngh8kdU9hN/aH3zg4QuW3+GnrWUIGe3YHqlWGbMqslMG16qdNHNI4gNnztCkhY1Tg5bOlkmUL+eZqgSqFvHkxS2c6qZpX9c9vvwkVxJeWBakjCjRcdcdMxQqNcrXPY2dCzzmNfdAcd6leZOLtEn/CU1hx2sXQgXWBYy7Kt0tRjNuqq6aXLawEn9MxeglbrcwXCn2uLOD2Bwl8p3Xr3Pk1X9fCNK5zw5CUCpCc7T1QCd8Kg8HJwi4n4/6VoUIo9TouamrPoj4VQA/RQWIAMGzx+G1Rq98MO0XU15qwc9QPdOBZh4Qy0QRvnUB9JhGWUS/zErTKiExjG7lWRSdasrlkMM2EsxdZDmMohSq4LR/kPi/UXKqeWVAaQbGLClNi6QYWoyvoebZyOjLENY6ZeWpGQiXM5jZgAKEmM0jaJdDC0t+iaPhyu8in+78/efu810PZ8HCSGATRCtrdV3FpSP751G2zB/FRK+0llfPTuYYlortoVuC6JuYttmn7M4fN2uQf9/66jagrNSu4+Twa5TQ5JkIaC0RtWohjJlLGUrgvaqKRquRfnIeKthMuFbZrsXaCfp1S5KHPuSIi2VgMV3tp/kJq+YD27RxPjCsvg/MUDui8hTjtCMz7pAn580abarZeYCA3c56qP6wS/xxvMPPnzq7dO0sfQjAc0DspxpNIFB7qhYDMDxphOyn+iPc8A/5hWlLCP6/g4zsv1KINZ7/JDQyExq193pwyZXh3+J3+LIWQZnYx+O7MydO5Go5AMMQQzVq6rXMVXucSVqGzaRvFXZV/CHCEE9jxZ7FSZYeWxNX7VppnK7EdPbGTQkoyZj+oJQbrKANfIrUt7QHndlLOl9kbF3AP+Uw1As51AcWLSBJxzLmjCWv7iLFL0ZHQpZVQJlXQQsVTNRVMF9XBcDI+94VxGWvYmZ4oRw0FKHfyhdQ00wXMbYDl2YFonFejbCQWvjGa1GEf0dDwIGhHzIKEehekhR92UB9GLZwYp3ZnKhddXlL9DcNGJ7+pY0xXF7GvzygxiNbNMGNU8AxY2/9hULuw+0aP+To/fsFpO36rj1Cyas+8vRjOI1A8dbpGaYeH+wQpfrOm3IaHScEGX+ssPPV4clb7t/7msCXqb+jaFeSg3lsyNUOLHzoAIhNGrYwBsTELqgeTpwqwiOxuaw0R5PAAPDCaxdO+hfUjPhHJNiZW4vvgxe3r4rSbfwzvlQcR/ByUUeGIxlyL7fHMgezHpygsKnj2QQFbE5mEWYKI9OFyP6iEeIT0V0qv2Pkm+ypZ5tuLUOmHX7qY46+X6ttV6T4+bKYcqcR5SlhmhV3KtAB9PPZCmvL/ySIwqr9fWgZ0sLzaXC12PxSy2aPtPHxh4G6uH3DccGK/Gn/+GGZj7LnfvFE7qOpy3ScGirsxuTd86Vs3oteOLiwG/jfmocD43y8w8OxsXmlUFdSJ6t7PU+CJOv0VWlhr5X+pk3fCu+4UH3TEHqOsyjOPDRZMbSZk4eDnWayAt5hL179sMomXqJ3auGet3TussDUJNQvQZzoIIO2z9je4MXK8GqB0crwZhV4/+vwzMOBd/+hZSxxYIlTQ29GK1e5x6FZl1arm2huLClxtBzbMWtZROfWkgd2hLBFt03yyMKwMh1WPqxILsnyXStxEi/3sV2S6F2iBJ1PtBT0tGqvUBpPKEksTfTqLC5VS+uDyA2NGSvRGKL9EHy+1eMgmiZaLIEIqlEjBXIKOollTFpMYnElNkiUnGir2DRihzwEjZVGDTqKFiPYhO0lLSYWgp5CNEnOWswnDPQUojEnbZ27eiFaxJ6wJMTG9MnHZOks+jx9Y/krb0tgnBhV7nX4orVfbGbxdmbRnB6IT1r7l7WJt0t+95wePP5Da511Fh6i38ipWHygtb9sSTwof1lOjxoHtHaP/CqPPjzR2iVbEw8jf3tOTzYErRW2o5iLv8hJnRVzI7RtWQ/CvOez57T28DOtTTZ9Yj7xmZyuLHyltWdsUmJeeNWcrjU4rb2wroX5ki/k1It/tHbNuhLukz/JqV94z70S3t6zVuF+YGvtA410Q3zT2jvWk7if+NtyuvVmpMUTWxUEHvwGsSUYqEG8FAw/DeKpOH/KhufZzv86cUrsTnkGfq0Pk5OX0R/BTyfJZ8V0fsm1OKA09sACifJga+U5Smb3o89RevZaQ4PTgVYWapyYvdTwjBPshYVHHEeaW1hDFvZcQ4njgWYWchyZPfUwx9Gzp4QZDkv5Z2GCw4O+SpY+ym52bq1WGiYuvPA8+i0/ACUUlMSEQ0SP06yBRNJpQlHIcXnoAo5pDgsUWahNBooouI5JTHU02A0U6vHDtKGrRdlA0TOiAY7t2MAIbEdD7wUyanQgdmvuWELRjKiPFIgsbs1bwnUrd2ay77u9Qx3NxTqj0rew906QUzRAziipG5HTg17B0WObHQUqvPUGcRx27LAJz7Ab6GDWODoEQzOiy0geNTqEDVTVTbFpXOxABr2Cew2bJDoEluWXqZ1QFEEBRSuaxqSEgE0CRcBKMaRGAUexzmADWfIxnTdQqKcVGMRSviyaI3kRNglEbTgRoXHA6qz9CpZB0Xg0l84Zk1mUfr/zeBxT2AtkUHMQhVzBoYgR+T4acloCmsTPi1UjS3qWEGGEsr+ci26WcwufHQmp8LYDlRtR0xZA68rgbDh5lYTEW5seXHlKI+R28TGGzPQ/SbOEtpdQhgz2flP0QOsNiuzI8Ufr75w4BAMJnuwKnhSMsE/QekMIs6PB7UKGcqB2boEKS3hbJQpnLnMQd+xFSb4tiqG5hZOCRWErOPYwcExvBM3rRKj9mUZ2RYMiXw1wI81IafdVuK0Me5mx54hiwTxC4a0zHyWzqkCBDf9u5IvTs5DB05QL9IWaQ8T1TrOEw+hiLKJ0uCkeT7kfYEhsmR3UdCqRk0vTZfa6dHaHa+WnhtYG7G/mTF6804QFylQPTSt2okj1sjNm24H6+Ja9Yz5HiH8J73+woHLjD/41tU8dJ9kbk/PyEfgJuhmTHYoWuyhknJRE6GQmEF/vh95K0OYls18GtL/Z0kCyCOJKFA5BKkuC2H8zVAu+dwLmKep44MDD1BShJXoGr/Z9IdjIM7CDKs/KBji+duwceIJdi6MBZB5qXsBtxXI1oGDpcYUJCikXi0U9LcMhErduWLpZE/94uj1Ryjdxa51bva/A8DJfWAKvE8KQb3EIObz9cpeulPhu55HA7YiMv+eRLHQQQBEleTndJybXw1Gf9mk8Bh8IlruuygftjoPHd4vKRAUspH+DiMW6dg8+SCjbPospUvNORjkCgCj0JCgaIX+5k0DkYKgET29nQyXraPf+JsIGOaMYEQsoZBb2QkqHeuczyb3Q16ZHApNJZGZOBpHldZ/esZSvlr6uJqIamdw4Qo724TQzYD2OhmNaUlXHJ44dpAf4fqPAMpGCYKFSxcMq7y3rf9ficRqRuDDwo1EDh49CkNDdwGwgD6GFAo4EVujRgXs3A4rqy2Lu6ABF/E6xuLaxBBYoRAJo/vHNiNWBqlShtDpBu/BvEDi97guAbwC7TOzTCKrW45jUUr5ewN+gNouJ2oUSila6QmaREpClAYMNnTAdU/LaAC0U6kheiA7M++t0HV6gDVS9kGE2G+dG7J3AcjYzP5yyJbswzyqbZ7Ncib1zsDX7yfpsnjukvT8Tu8leszt4uj1iTWeL6qgRx2ls2BeA1AxjyVNMDezOIABnZUTS5QXpGYHDKLtbssxE4WBl/F0g9YWT4zTpw4Ci+c+2JejRQadFwM8JzBnWPHLTyH6YmB0FqhmgKGYAuBELZ07jX6b/BRLMoQHWKgB16qFABwUugIg5YAcVwbA1wMTP1SkfMV6vfkLE9tP6DGCiApaboJ2KVt1Tju1AkSxGvmO7+5+dOETqqpxGpbRhUqsr1BeV46KFlNoOvE+3ZBGZR7o3k/26viRjf7YIpoOww2zZDui8LXqau/vVG7aPaAx9YnUyKku4XqjxBAmc0PDa5Vrax5xchH/+3V60Zg16kCiYKmyoInMSGDg+NEcCHwqZEYGCzodeaD8NCpJ4/SZa6szrrpAlHo4axi5AUc0GcXQJxpZMjCPk021j/bQCPl2dBkyVED8yZdFTvX2ZNoTrNEB7ALEH7pIoAevYTGQYb3dnjj+M9u7QhchVTEBsC7DErSgCzm8gamGCeJAMBaYWfsL+islkXvGWOP1IY8DnshOFS13sBk1hwG89EtXC2At60EECrZIV/RQkRF229sepadF0JZhAYOLQn42HLU4G+YErEQ2NkbHlUmwNR/kSadwEX00i4TxerikmZ1MoRJrDUWPbYd3xfJvYX1ObXodi2XBJQzM6Muc/3eD3iXhr6d6GSXxDaAMVe+2vhundYu6RlFGA6cAbqJnTicJRQpwzdIyYJlmQU9NtMWbN7bEQ153fC0q597sZVOEMxygXDXWDwThRE0/bbQZTYBBDKFxPslidiWVzSBlxlWgjmgKdSfqZrHWwCYPbWB20AIGgwQm48HeGgLWKr6tBGLD3x09VyECn6pRwyHFRex/58MtVJSMY4eKnARPt1OL5iyIJWI4N6MRuRrDu02LhZWWJI+O9ZwbY63tmAB6AKTEFNmwBnYKOxzxK5jpn8vXSiW4RCx8gMeGSMx5MK8S7vd1POJYPeXqXesQCWKAobIYT7uwM7VPMHQMCo5ogqQkhY2IC8YNcPTjRmo2yfu0qWjHzfcpDufEV+WX0IJ6uU+Tsmh8+4w4S8P8uHf5yM7xcTeli5p6oyc2FHNvC6pCddMkQ3bxA6+Y4oLKz8RjnARCU3XNkhDOu8lwlqR4LmWcDn4TSUcSY/0zOK1ASVMwLuyEP/HrRYCOjD0wQhYmfjAxQWl1ZjgFeQmUZ2dqkp1WWXKRtgHF6KtsR+0KD+YkNADmQ7F4AHxgzyHw4006e0ZFY463ckgI71JT4Cszq6gTdsZRzNW1CRlJEIJVEueiXWJkJdczGsBkMC1XvYZetia1mSP/vCjS8iCzKysnAVCP4Dzmk0rjQaW+J/VKPDFVnmRA1h5sUNxUUUlLOAIbzJl7TfajKJ5y3FqsHEnfJc5bnQzFfQ1PfRdfxo+n+z/WDe7yuMaq6MRzxyT5uK+CDNj3xqXByuzlv33371Xp8r8EXfF7RSXebDVya0T7dkXBsp1GutNeqB0Yb/p4FQVcJKcm9jTvyl2+tOE5JQtgxqgzilLXhcOGtjVwSMJbXEGsmKmhYaAX2EAdDkJoMDNatpscu7buh3cbMtz8oR49X3S0I76aRumxXyACbPcvRtKFu9lwHg9o0fI+F5fv2XSvt+cAiQhqJvotzw14W/4k/8ya/rkoSo69Zht7f4FqKtohX6xsC6UNWuBlO+TjCoDJkjOFVQHYeZ+eVzpLLH4vFYiHR3FCVQ0J46P01azVThUzAKtEB9vqQx4SLyLZP3I4R7K0ymCvJsDi3l/N4Jy5X09iHNgw1WiG2qeOiDHLHJYQXkgA1bRwuBCPub/GW6xJ5BgDDocMvygGodhJbwZHmOUCF4uWZuKgIwxKH37+A8lkx1JndFzEyUYWMp6ptKiUStxCKEcvoOysdCulHOB6eoFb15wpdNMZAxLCEPSlmSD+fMWWiD0caXRILMJyqHCbiqIp6OcoWgp+79C7o5EsiU58tXtsoUK3OIgRWFfnRiGWq9iH3178xE76urFu/mcdFUfuKhDnXQhNva8P6oaHVC7V0lmvq52MITbJgtYi3UwaO6LUvy3nW8tVjM066Q8Iu788pHq55sw0t6cZROQ+RxnnMZOLERbxatGQPJ58zTEjam+ICfJDX2oIRDCx1O46EcscICjgKbn9TpvK2J5u4NJzemwkefyajeuzate3niB+T5XMlrnQSLCJxXBV+ktST+fCEct/1dEjsIFJL7SgDiK6Fc2krbkXpQaLUW07nh45amGHRERuZ5EqB9ZCBjGqtYEH2fCdHCCoqb86zC4bDpaoEHOaKJqWGQlHVC/NejBogmlyaBfZCDuiH50BDX202pSboGv6xX8lvBe8XLdteoKjEpSfSnf7YpzuDu2zHlOM8oOAMJy1xxCGP84bF2ALPcGoCN+lYaXKbDTomKlT4PYQFHA7ncQoYlONsKyT0VlmQK/BaNbZyl5ruZnRuNiCJm288kwW6bTUJWblLeYhe1tGFBx0Js0x6T5wc9mAVbjTcmqGD7Z5eRDl4waEVeHZeZP3CvhqQTQaLBjN1gefqs8XaUegEOA3Qbqn7o9JiUyGYVpxQKgwwKocqwfVuQSQcVDhdEY27THYBjFqROc/kt9+rUNQwkIjaJYSxDmDwZLrcwUjowOAeULgHqb1d2M1TRFZws++3MtnfX0cS/vmgz2kQ+VBuTGLshnQV4rXXwbL/hKRJfLg3iOPKHF12NiXhiR4FWPn89XZUar/PZZ2ODVidBbTengwHh9CKMIDKlY2osKtVUC15XfZf5koTBAOKfJyO4c06hGHgTomhpks94rVuJWO97lbIdd3cm6lv50igQlWPyoxPIEOheeosSHYjGslBMgO4meSiu1kVsUrD8UHI2QlyZJg0/w9XoNe2Xyn5H7ClyEz4tvpiCRZ1ks0QIotHcHu5wq7/97BYRbBlx1fTktLvmgqzY3R9HEs8hrtu1nI1LLo5sLW7/Pjc3K2IIc0evCwq+/NKxTC2axqKqKi2SLdpBl0GGlSZcT4KG3SG4rnv9G5ymcOCACt0Og+fpg9fibDzOoB5IDUMaKoTQCNQc3/cyX9eOdJni3AaQxssNtw2yYyyRGXC63rI3CZJEj6NWZWnSoRHhyCBIdAIdKzpDDEB/KZBQQFl0jgMjnKD3UBN4wF0d/DoOAB11xydGNjKTE0gEDrrJUg6/IWyeg9eFHZMgcswA6zHK2tgtA/ZMsEzQsg0Gkuhwn64eJvZzzj5HmCHqZgRgLy4uTCX03Q+cJRrmZvncyJtQwNngWuUjIAFSl7mqfkwhnS+RZ5giGIm1PVe9H911g0rWdJiKZJwiEB8W5oKFEPSGLdKNLnTU0PUBsB4gKFNgWWzXO78hPeIYfR+WWPzaEIkAWQczv7yBbEcNy8m0JMlgioKwQdYelhk208izA980AMXHphPgVH///etIMYw9EKAJ5zBSrQ6PYC/Q2A6VKvdFzgT5WrgkNVqVh7UUTQ8uwai6xxFq6sZ5QybdEQ5mJgsEE45yNVLy2RMxBWBZ2jGgsH79QTXh8Q0R+sIHeo8bAw1TWTzlIPJqF1xzZgnrpCI/q/i1bqMDA2dylmVez5sxm37DDlFYvLFkqDyvnbjZevDkQhaYvZSRrwsazEGaDKYcQ+EBlZ2/d1QwFuSDaomo3Nw+w00UmIFfr+AaejEDoyHacxRAcGHBVorXav2cjmZTQrKS/Rz/Q/jLh0o4M3Kxwm7/bTBdPXV4yB7cZy7SonLj4yAee8EZvHZFE8DqtaTF6LM9dfqy5XkdSV0oO6ZOHNAIZZimSR0PBlkX9XZS8BpggQPzBpC45kWvNWSYpKKwkESuwAkV4bO/ds1cS7qHShXadS4eEvGG6eyPRlmK8HbZmW9phb0monwBmUXUxu4yfo9l5wx70giR9FDSTbRdRTG2uJ+it2rqEINyuTWEAxbdzMp3lbslvKSaDOoCWrfO87zuXrY+scLjQ5vy0gBO+b2iIJuBoz4BpCA5Agjp4kZl1p8vcBFqKOh8dhfnqsJ4HAZoOUFbldCVFDgAuP4WnwMwsb8vPv2mKjGnQrNuqZhZ6ldF4cR4LaqbolksS+3le49BAl2n3LZjWtS+ol98QIeHeDVIrBsYU7SNI3CBJYm1/cO4bwr31NMrq19Nh6no4MFBORMFaRWyM+1uRKG8qIZgGWcAFMxDWrdGGLArFxH8gbOY2lecncnFl5iK5JOTxwUf3UZASvIOvWUZUbFHuxzeNISShQjCgve4l55HkOo51GKIdGPJx1IhkvZgtGw3vRpIxyVi2fi4V4pqWX3ZKGz/ZU0yw4zdbI/TwNsHBMvRxzyvCTSr6r68d7R7p6X5sKu0TxEWIdq7jc8cwpGJhao8+CNKmuKc/uFpweveA9p8QnUoTgRo2DAH/wZtMyT8M7Kmsaz28Uh+RN03z287wnBOdnhTNY0Ht3+bxRoPCVntrnx2507q2pHpj7UrBSP5LsVwgoTtVnsM6vyQULcJzAh1lbJOvuqpqKCua4zi46/p7/4UwFdFZG83goqniTf7At5jNBCHaOZON8aX+OFixw13rYhi4aYxKwb8bOjqtuni1pbY7sQvZZuNlSCeVDgDqUc1+NUcw8oSB749qVOR267juQE+4VTUFeicivh3zP8zrxxVUhi8ndqyoC98WWfNhhIPvjry+KBYE2GD0Ju1FRKNqME2LvFG4pKuN/hic83naOAk1UVcGm2prt7qefwFo5IKtjqlNp9S4tFPbRduDd8uZf6W2ZxJ2gtZ9IkLkfe1kUoZx3a96JPrhtSi8uFm2fDd8PC9bZffzKrnQ1B8ZJb6tEBFxE+5G/84v2X6U5ZnhEitL+ZaQddn9SJCWakzpqbpXgqfZhHKfhtUG3wgp4mhRETtbw0ukSUBJ+6YDNKYViI9KnnwXtQL4KO2hnyD2m6MvggcfLAuOuCrfc0Uu5tNv1FxIBT/qj/Xn3dN/y5Z/yAyUi8OSr6g9YL74Z1LFVpn76Em2xCxp5mUjl0uvd1Lg2rux+fRooZ2nkJwcR12PoSegnvY//ywX0VMqSBQEqCXqNhdGFUpc+YDkAxdT7padnu07ld/b+WP45PYXBOCyyGnlBGZw74LJFdVU7VwPcy4u2LQK1x3Q3SsYQx76XmC1hhHEj2mR3cpUM+d76JzHBpmIeQoGrHKmDzUO1IlDPleDu/F4Qz//2C10fqDKwZP+3zGYEC6Tip24yG7Xs1KQJxrAMcktLkL3BhCYG9EnbY3RdY63fxw8tIjB5a7tctcw/qVtbyXe+GrTVO+jnC1YN+uxUmP1jtpL8jNEzuLDf5p8VJ/2ZRKGeGvsWsZqvad1OlItJx781+uMjBXi7dDd3fk1BXsoaly9mJQtnnN90BuHRs5Mo1JpCSP0slkp6eI/+1G6YGPURxKiy5NbSC1/PFBnPwMRzleogM7LDzVXEiiy/TN95FBdA/S7oMI3kS6WNobW3/LIaGjxbCacQW6HzLhKLPmZLGiLYFWP61JJeOghaCOH2zt9YCnXc7H4PdAXBYQJxDUKZ8TaI8vUwDGxJbQBHP7zsdVGcHoy/C0247yMrn9x/+OUh8LbAm3oDcGmYlt77eO+lZ84f83T98oCMM1v49ZmqOyaIoAZTylKHGS/dJbgO04itFRLtVJJhxd6ezyZq1oQmum/i+n3q7lEkAHNt/p1GldzOgZNddaFtXRr1GMJ7icTJvn+LmKor5g3V5YmgZjhK5Ke6W8uImSF6Vx6U7PFg9S+5DoiovYw+04guDCU2t1XujtYf7Df4625A5qTQbx5dwELJ2Xdd/oaSmABhyfHJv2uWeIv/bj3lgQnUW6Q17eVzmBj3iuZOs2Iu8jIdgrWshTyObHhN5hkP2rerX7/BQvt8JrrNBjUXrSnEMwjOEH75z/yA3ehQMOhmRu8t7M1V7WbHIc4+O4ylp87MjGLQ8vvPfU1isyjFMuF0fjKrUaKPa5YO8CQ3/uyQs+mVnc8+bHke1gZJdgbYx5SBotJjIi7dIRnyLX5DGE0ArBquTb2oCa+aXOkVuJV+b6LkAR8OGYR9b4awO9blG1gcynxhkqz+qzYWjIGZ/R1MOtejhCakMGQDG6OKiGSfoiCOw3yZJt2FNo+tz38G/AmWXYwiiFvqtsgFxTO0Odf2EP6dRRL5+hUC0XntgR0NcOq1vsHAoV3qj3+tIaqvjdB8OesjRh0S04H27apKzaXcUfp/0zxOtV7B/UOz4OGw/MtB78FoCJ1tHi0MBR73d7zu8HQNsu9ESHX1zJ8ORPQwDUgnLqVgdImg9sSNgvSZ0ml/KAJkbICThFCUaBEjnz4Ww7MeGN9OW9tnvbmcQHSRhi+m5adj9ghV6kIhYlxjImnCYrlkTXwLFgTXU+ZbljRoFJBDQXd697RM2tA+JavHgYp+P3zf9150eHd/S59rRYGuannmGZMliDsHQrcxrxcv0Cr6Qw5w/zcgM6+560UMdD0QAlzmraF7y7/u7zlT67fkYOPENjKGGEOaljB/xESAIHjB41+YAtYfDz4mNWI2i8sVWrv7Q3QHkNuPnAZceHmWQl5quiLfmprgHuPbnPJGPFcpGhyzWa3y4dr9vTvfT4fei3N1qWCln07pC4sKUjtKOMECDoIriaKNtaHicIbmMYqCWXGMDrBXsSdJjjZTYKp70+F31CqvDqO2zQmHb52DceZRy2V9vo6xTgmwEQ7D6fkY22P2mZzwt2d0A0ga8HHIM86otRektoKgqp/xU7wZoFLY/ppMvBhSIw/WaNsCKpalDMMBtLgTmSsW/IIwnViPsdvpULAKxuujuzioy5lNCrZBUUJlbErstnOFd9A2roSfojk0bfFNIqs5DIRVIFoLfF/24RAR/oJZX+yvnjtimcb+qx711ohjazUEyWOUcXv9j9DugXJ51G8sEGmbzs7mN+RrIxUEzQ2INe/Bpa0ZH/OjMi4Xcn6VoHFkR0ycJz8U6WbxihvjU4tV1V7UVI+yCvkkQMNF+AqTGJSyg+UNpiWtqsT6tP9JB4M6aMhNP1w77S7xNxO8Wymnw4Fvq9BfvUpjQKteQ6L5aJa5eGrimfOJScjZcOnlhm8jre1p0zfxSTdJLi/ZOyYspNy55QCm1LLkJr5uU5peqbIruaxr6m6mk901ad+NXvxBv/8tIwGSwSBOnA/kaH+5kIcYHxIkptbXx3GcctzR9a9XnblpUPS5qO/HqR3NuUEdY+GKkqyWiXmWAaHIHXzvaXc3UMWVUB5OMz4Lxbiw9xsvKZ2TJrRkcanl5wcT3IGtPIne/JuYV3C7nXn5bFXtBn4yQvbW8fC4vUT+vLa5H9Wd0kWeHlFTn0y0VN5V5y92dIYq9hFljnAPQs8IR8XKluY/VUtX4l9WlFBNc6FukO5tai0NEgd6Iw4XPy1zNIbTcHOpj9mJ5Y8FkgFyq70vF907dAZR525dV17N0R9Aj+9tNrIKONg0jaIiSH+M2yv0VkQNIVl8d2I/AWXk10Y+H4RmfPxFa1W/e6gjfblpb/fw8jtMFDIi14DDfwLpscK0nbGRlkMYeXCssiGb8/Mx0NcLVioDWCU8rrnmJO3QLvq6iQYEMxFoPq7v4bBzeCVIedcjAy2HGC8QNepj6oPVGNsGFPe4HR9YbyJ/P0S574lDx3Zq4XjtYyVt3/GOTuEzPewN9WqUYYdI3luW8kSlmYM/rw7+GlqDXuFzTzomf3l6b0IIrBGHJY2yD41iXLi0L0Gtw3nuSsqEReSDX9lN1tRi59coh7MDIAQbaayuIkOmSWJyVzFVQZ1taCzVUUOeu9OVa73WVPImu0N1BZTj0ZEFrsX3TkBJNeJHq8Rd0zacMeFtLdwPzN9T2HZAHod3TeBilzVhldknbC026W/ZlsRCwJirUO3bU4hpPiawQ16Ik4pRj5A0rKH7t4kuaWhK12Z8k7/OfCjTrBjNuSxBbUNt7II8NFrVm9NQMinwBKglw17QDlSETw9KAEbdEKOCtsEa3gzQbuspNJ3Xv401XW0Rxpf1cBqi4kx6JsP0hsmgedFdpTBHx19013TikugsXo1Hhw0un0Mmtr4Ie+LXb9dAGCvPmjUc5mjpjfO4iitxQfYddMCEh8vVhY5ic1mz7pSe5o51PifHf3cYeBVoSGcrxk4RRObQyXXVcjTUrw6bZx+QmCfHOcw0Pd7UaO2i/KO98INbUOxGF6yBrN0UGRrQ+KHS561qRLH+Q1oS9dVBR7xGboGde1nZSGvYyHMoe7rc2xPDS6bWCAHP3ZiZpsolOkGMy986av8DOaWnHJBXAz2vWmkNkeTW8U+Gy9PaUN+KDrFmwV2So65oaGYy8Mj3X2E/z0Qq4NKNp6SeCbBPqImU6nkqJWMrnleoleVKWRjj+CxCqysvZIrcG2yqWUUzfokck1ZmFqus8SFWoPQtYEwo4E8p9msXb2gmgl1pcIhbbVSl/nsc8ZbO23KCpVr2cjfuUMWJD+G+3c+Ibs8KIAOT2SmeHFK7DvwX9dpXPF3q6i+Lh5j16+l5wNR2C1Wqn7Q3vBd56xK57Gu+7gnHVy2I0JIF9LNO1ER2l7r7X6N14pCgZz6rQ7tVCtu/h7MR3lC6UuHTCE+uQrl+Ol7XAygVLmxgzWwH6Or2g2FCBxb0VRqeGZHGtQ1LYiNtxwhjJiRKNhIr9hGifLouo6NZ05BZZniCFU0b/SkBWsL0ujeZd8x9gxOWzQy8fxMSwUN7OqfYVs4YurCGhuJY6zELLFYYoiyCePVKYWzUHZjxXc1UZpVf8Wvow0KnnBY9g2zQfjLsHxMfKy3mSd/51yQl4nTrwW2BKEgCSYvmiJjoIzrEPiut/HVh1YzARe36hMeCH6RY6Mpv7V0i2WgewdyBI64uon83yT/sRrmSpwC5qi+jyanP65ZnMEVA7+bzh7uAbI7w9sjehoZRyxBn7Hm8PXeAQ2ED15gTT9NoVrJQoplI1FI6UKJS75YXEVcWmUmTZGjXY66oqAhRSLfYIcpTlfI+L2I1NRbf4q+VOPeDTHbK/YTdBDqEe8Psr8O6saECoLBMUE6K546coSQZlSgNFlezTzrDLi/ojcfBu074t/1e70RLbJQoeRmiANvmseeRmqkndwJttPr7rPZbESH0SjUu9qx/56/WI41LlIRlkjB08OqrO/vtI3I2Ltd1rxfvd2jwpviV9vyGDKS+P0ZooB4FuqCbX6fDiSnhbW1a5kC/ziSuLV4Wlv6+UQHMOSJSKdWIWKlrEhbG7izj8QCvxfgJh59BEi8gad6eOuVIngsCVryP0cNveuOFbLejRLQyL4+QJ2O5HBVUQDh/n0P16tZqAVRJ0giRuJwpQNzlh4SMu+4oE2lI2FpRa7ejsG+QcdjIg6K80FRVmxpymKyxeT+zAaOnMBZDmtUd87/WKsoa1sQw5rhhr8LcfM8OVougS/+fpwrFA68azASliXZ6Z1ikSJSTqykjSAWvoNjkttHZaXburry3stIsowJCeEZc2/NjQiDytUI5jTdG2VpnWTcG471x3DjAo+TbtDX8boiaLE7ZFDfVefqwI3PFKKf7EhNySy1Xj8vZ9P5UN4nxpLjtPgSntwK1y3kKMqVoKJrLL0d1pnRstPzFFcnTLIz4dXMeTi011hld/mibv7Sy05ijfy+LZwm+E9j7kP2G6zygGbFIGwwtQOj6oSRJbGqB6cbZjqFMIHM/S2Vhx2GmkGpe5fZozSMbd22lJ24ziXMKRejFOhfZjJTCwmyG2h/aJM4hELRdPjQMHu5lQa2yGjLSLkKKNCqlg6ucY2ylEizZRYmDNehjf8KUdH6++ZYXoZrDj3LjFAqhLr0cSeC8CcziDL2ynARFi72tLPo3P8AkRcGGa77IADN4SlLvh0gK4wkvqYdwj5RPW90A6OEzaeKf10FZYrafnw9m0dTHRUZZnquXpXA/LT3gXibByPNuouQqd5hQnSiMvveuJeAjMhwrAb1YZR6L5hyUf7LcQA07fAWBOAgmjtspHwqq5g0sW1TEVfY4hEHovfeq2yRr00+HJIEVkMaymhYHE5bZI3meVjhBvFvYx32PB0t1nApPWsrXQkYNqIqyt56yDVGVrmQkemv93zkQjZnWCWMo7W0Gmhqr7llPB1qVZtEfBdorjNGQiaGmQUKqwTldtGTQlOFPVlCopn2NB4iUu3nNR3Uy4bq1KCeYzofQqKcHPh09QiDy9t3eXpHSJnGIj7641oK1DtBa97E1KNCvm1juILToTj8HGxAvVcoHrzMMbCx2WR7oIm9kRXcyMtBO1vzHMk0C4s8/HbUxIYr8/NSmTVSfwPzxQyjnUH7Yl9XGUiuPy96xiu/X5WF5KlSYFt3HlepdGcRApFTeVu58cdvmUiGNFA6qIrkIcJ8XBFeJ+P1+DJRxZ6n338lYSeSn9rF4Qh9MoS6IrH96iV8Uoc8YSa+CqOE3bEqSEuPLVCWWPeefQCG7lHtPAL3TLXDEp0bMXOUFeoEqBiWuVksVUZ0IVWerBYU4xc0vcvMxBIrPoCeNg81OMM7WQGy7r2N7CATLIgz4ZiJ927FHNLlKkB6k9KhdCVAeVQy2lC47O3ybELgZCCG+LUxDZvDdRHAwEGx6yeI/xu9AoLZVbtepDL8STLryWhLdY3r6EBLKp8tq0KxWIOPFxT+K32Ej2yw8Q2P5yUxR4YtMtygSs4ss8kNY6IFjc2Ls0hDddoUeIWuW6L46Fe3yqXUc/hr4JT16NEQWyBwsjJJVg1LIEj59EDrg2aKvuUhOUNM6p6PJhyuBVsxDA6VBxQbuneNWcsOKIppQJQRYDTvd15OtUUTF2mocYg05K1XR1I0MvZEGL9yBBSpesYp9qhF04eKc7o5X/JCrZan11yUqfvidhxm0ep1nqWp3KIrkg6JWa4oOEwaE6XNQ0g9MBmPyCgA+frMQ6QXAHPK3RTMAOpr9nQ18+lUhFtcD4J72zeiD8jyNvYFYbtDa3GII609Ed9vrwlpfWIXEVPfFE7xSNqTebNzDm2Byd6Ep1nbeqDtvmjFz/TEq4FtkociuBrg24YSgeVaF1NYocbcbzGjs1X+skt9O8FvYCmwZWzRv3H5dkMafN83Jbb927gzpLMiYSQBeDFCPv6bB7ndXWFB4qlPZuJpJDsr5vzMqFSD02YIj54FEP0g5uqdGDKb12zbLhV7qbIfyrJ1i2CMTGHIFcFjLrxMGCqV22clS+MD9zGAYR9wIiOcjizZVgXFRWNGoi4u8hLpaMXs7cKLGHvm6i9y2o1U4Ply1XdaAPreMyZqZ17wdcwJpoaP0UL2npHpYa/ksZ/1B/QiKO6T6Yi7HiW5BA+Gm6JSwvxCydN4kw+0S/lKaBFx85eZkYs2e4HEbdDR3f3LbdhLZBezaw9udMSzDIU6nb6D79Z670f7ArwRoN7WTih3+ghnSOMd/4ZgoITKgLNhe+hhWoAdJA1C1c+POwK8t3v3EF4wNGprqJS2xCu5EvnzocacU6LufLuksKHymMuuQdbZCAmaaVc0c6hiB1OM1rDLCogcSvT6INC7Nsa1HfPGPgxY6N8n5xQPwic2EubCElcF9Wc/BnJC/VlZqdcVVpqdhWH53VnpTaCZNYXsMZs+92mWGVQk2cKsprFeHiEeNNpTPfnLzHPbmf9hmIFWoMJ9XRO2Uw4oVgSEYYw9KRHhqMwLILqjo0ul7FAWvrMyXdwY0hkYVgvS7lrAHaI4ot+WR+CF68r9wVCIObx0hWsn6w/h6XmgAnH9nZXGQwOgdTeFNfxY5UJ0cAuh+GnXCGo8fyNGYvBpazuhITQ/VCCRCe1Z5panrbsOfg5IoHAwqxXkv327FeMSeNN4sJq1ulv5Z3+FSmx+M8cboOW1EJ7cd/AajqZUlcIWjjVWzSGVW7bkPWC/G4EL32KsYJT+vf24+x3Ah8lck/tOYnUxK7t10o00hFODhLdwmGRZ8zvXDKpcDAq4pi6reUWC5YRdEgfxDHg1/UtrhCeJpw7131OSs+IIxCwcX36WjRGoYvh6GeBMEND/KUjvWQZFbRE80/DOYlKffg2yIlsf3bYvyTUas60VhSQtu02M0q2ba2JK8hqk5WqQ/56Q5YSYffU5ME1SWYBoHY+XZO+wKY+ILXt5h3Hez6uI32P74UJZldXMc2K20MJ8+5K9J8fYZ+1HCYfeXKeh/UO7AThUVmAUmM95PFhUom3bIE9mTefKv9bPvTMieZp7+D8lBq3tPGLkJQRIL/gP8RmZAY1Pl2JcXIT4115Y7v+RsEfcIcO8/emKc1/YGlDipUC/AR6WMwcHvfG3H4BpUKGdFkXT0OXZHcfJaIwprkBDD89MvhAkCeR+yGOaVW8BWPFulxRlB00qk+TdLZ1OKht2FTx8VuZUgwrohskDRd8tqIQQBN4aB5ZwKnxyHO/MCUiXb3HubrKsSaWvDgM9l/Xy9b48Lnmy7cDM+aziXgopcGli0MuQCYoKaWhomKmrC0joOWQnYGZnwV9hYkiDwMsEFyr1R6Jcnla2P8PcDuXWrcXSzSufIZ6/kEyJYjD6Ba1Yb8a7uHRghwJ6rE3UY4l+p+jCFLyfdI4arkYOz9bcIjJHZzX+4pmbTNxK0aaj50K4/ewbmYq8CUtWvnp/hhl5EB4D6X72Lqo4hApsP2szVa7Xx76VA8Pq1klDWg5w2Ui9XRq2tcyi5wQzUX5KeGVOXOatbpJfRt9B5xmIWVaRQMnvJ8FpV0D/WviwtlXbffqS2a0GkKjDTqfcLgXbFWH4gOTyt2qItpfqwaBQyGbD8dQlxAen71ococW/HE0F73BvPWowk444K7FJsk4x3amE3a0cD3J0N2zH3vs1/rwEYGcd7z3VSv8OFVgJ0wueO+UUMLhY0oFPtL24HM8+6s1EmgT2noI+HpreZIpsJI6dEObhbkikpAYcp+pceJb+3gLtMbKDvbo3kVYeD63OIvMWCjwg1WBPsEFY1IfmFK7UZIe0xcXQ6FFp8uCxNd755msBT9L++sYhkDMwlEz036fQjeATwbgl2IIvb/VBhubTQvHIoGuy60pKaVxmvYxmjYdGcTNRgqvwm1AfUwFpIX36NTwgHTpuPCsKt0D/J2IgoUd0sWKVJ8HO+n4ZDQ4T7EXSqHZO4LdMQGHP8L25PAp2oHgwFq1gOmr6SQglRKDsnGhqxN+UFwsCcNCrBu0ieW1QUaukGDGzcXbmMaB58+Y5V9UQw9IrTV0JKtABt7TD9jCAI2BOhKDMc/IUwFkiaAzUuJdOCWNgAvIlmiikSUWCFRTWIrGcwKvE4a8o/FruxNWTj6orQMnRM2zGGWDEpGizIdgNRa4N0/ndHX8MuzVnL9ql9yjcYkXKnkksMAL2M04kTKPvuRAr56r6DmiqJDIGw1mgxKhIWXdfysBV6PdNVVYui1wOueDUJMFSi1ygBs6wHhgUCauroOaTy7ZgMA9suQYcvNQqdyCE7C3JxhyKkCg2kTlFEYUGzbUXG+SRxmKUw8HxCCstVgYQBIrJjhG2dgblQaxN++IWkAv/rA/eh8uhkZSGSdiTdIzwjpGC8NcVTTcf/0Ks2I93IthLmJwtwqcDs/E4OUjlUAaga158lW5QW/UFASvQgd9dVaO1JX+zgRfQPjVg6n8A8wzT0YEL854998iobfJ0Kp823UjE4fooH62ZYlvEgWT03paLbWql1IQZfO/HQl8Xs+KG/P/+w62J9No4tpalYcaY06lhJoAxBqNUWuOdFnPUPSnPpp5XGLLHIcqwgow1WRt4YRYKlAQNLqU6daU581RX5gkFLGM7sweDYw6oiZq30UbZyz4I6gg1H8fiM7Y/YBGxqWlCqL/4e2xk4xQN2N5n2FLKcqzgBCU2VdjNBFYOeCAjBbVnYS0FWEpKTq4nQdZAXK0KGCUuld6zKnch3eQ5IU7zjH4gxeLwTEOHGIyT9y7KMkNSQBGMRsQBZA+aE6hFS0xcZJ3ELcTyUsQIbyGTgwQleyKtEMAmejNOuYr+Iyx2izJ670IdSvQelYVsCfcyDd4dss2H9eijEmos7TT0mEMRaJP/waLbzneecfSvPblEVzwvldtVXfFmNZE6a8wNaq0ilzpJs/UAhlw+6Th2gxyWoZqgDoIOxWvxGErJYntB6PbsuWQl22ArUFT3uN4t9qSQEoZXsNHPzYIpcelZTKYg5WqUOwwv2dAiP+GnqrRdaDwajRj9gYu1PqGcVed1E4o9rAaIbCcP8NQttct4Jz/cBI6nuiNPgMxWzIlo+DOaXgbj1KA19+SCBbqaCu6p7k4wDJ+cigVl6VuqEnmXWS9Cf6s7rVSYJUkaXHUbWehxBX3SSHDoHoimhjT91JPMBqI8GTUhT5Y/Z+b4M1uhnOzQYFzpS3tEWullYT23n7HX7VDGv16NTsNWbPKDAjzWjKI8O6Bl//uyPHsyBYBFodfK96xwTFQzhXGO8Bi0aMIU8j+DaJVi6G96IDsY0HH3GU+Wbr3RbXksAYs2ykocUhGJnq/KFNOZB4eihF7i5zvGeLZbBI0YiNmFij1RiXtRhZ45MM8xp/a5YMuQwG780ZVlKadjrzTa+b9OModM/tTReyZGqsAtdsEnm0B4BLicX6CuxhasH+DFb4BqB2MqMCXEDeSd2rphkcxF1BsqG0u0WD1HYSSUyYGhKNr+gMh+fQdDRr4ikjxE3wDmsNE4HkaR6CkUrtSZ24nUHhyXFY9Q9idE7Xd3Xiy1pgDCBco3E3B+Lpgep/DDdVQ2NOaI6c7vI/mHeYHDQjEpECYY/it0Lme7OTqGBXSWMDTQq0Cp99+vsh0eR52V6Yk5ZwfIgHStqINqp0pxakRHgoViR4Oys0F30Xx9b8q33t9omNawrjmkzRZk22HQ6TTKZF3VWy7HZHCrGXl+MNxgdO87xI2IalGbMZhiWL8i7SIg5igxNn07LU3SUFH9u9n22uzz4Gt6IOf41lblSinILW2TtLsl7FA48L9gLt2NovLiz/dvE/irN0n8uodlnFxV36oLkfPzaEn9a/Xn8huMMkI4AEwQyrmG0gTHmYbLNN1iAKd4NWIEIGtb3NF7WWOOBdXVfH8jJGs6WnPL6i0x+OfmeQV9SFA3m1tuNIDHHyeu1Eth5nqBoz5Ache1mTDOcDELjAFCWOFIdFRrubExqKLuXuo+vQWcKlaUgp/0R9og5fLUK0e8hGUvI/g/kZVjb8YlT0Si8p+vdXvXcgRWrfoKUh8HGgACselv+i38oOFRTxo0BUlixeQcrRn8sz6bFhZngXPIVRC+7BHmoM2J53XSgNCPqr2BnlPOlq1fYyhdvalNJj9VulW+1EBFQPjm2GJtd6jANJshp3mbrYUDalAzxEZbwwGwbl6LS9jIbxiUTi3mUb3ljE0xjjUi+b0t4yZ7sRVlFtpqsU1gfsiQqHQHcvtWfv4ru1dONL2AE4TnMZICeLZc9lhxW3U9OW2/V6OLqio+OVd0axQJEhTi08HGdHdkFnafy0a1wgyVuaUe27Y9r6kOtHoMrNDwPimXmJUc2rtntPJFGEVK4W8a3OMkqDzBq1WdWX1tRyvOqbywWIktVjgx7REJVZTq23i+UGsdnWt5qtN/iAhIbVc7pwyp/kbIvKFSIAsWpZGaSNq051U2eQ/RkCkGXbL7rbhSw0gYrpC/gEbQHiTs4WH4heO0MUXE3c4KWIA18EvbS7t9f0YmIABywNN0NIQKB3zbnFohSCASnEmDvZJyo84frpDXCMvE7UKVTq6I3FFjYcQq60hu/cunFw+g3vkkutnCuIsdasxs2djFAHV+NOlivBqligSAFg23kc7RdaR3MEooJD9AiHSzXHNHhkDRgsOEV/QySTWxbzYpFR7s6jeuLqVGeEgUrFdl39nYvjspgYSJDD9KZ4erbEmCuMtgSziqDyNgJIVSAO7uzjhTx7p6jKInJywh2C7YrBY6W9yOV5KtLWqUC7RJLEZGTtakSKqBwlmeA5dYYqATcWFxPReV6Ey2wepCFYEwOlTRKlXLFg33hlbjpM04ArnnCXYjaRCZLtUXRiXFSdclIAOhqeHI5uORI3K0OORAjSVGMopLrMgDsXFTgoH5OkIzPFyQvsz4VBEiIgMekRNgSAcOTAhCpZgTTW3zedZ69YBsRLdKBSLEHxQ2p9fVirOC76tQtZ0ZaRtdjVICuAiYUFWs9A4u4073v+/AX0Jef8FwLBRQ+qKL05Ke08JDEbH1iaLD1l5oUHi2jI8ScLfFsdfoUCjcCDO68ig7HFHHEkU0Ptt45LEVQdENEhq3SP8jJX3t44ff/z1XRxYWx+B9UfFt8ErC33NaitXFnV/qTH2kaxEtEoZn5t4vPD1SCOLPcaTPXEv5M+nY14cOzHaiBZr9PfQrz8TvzqKfTmn7dyc/iw5EojnUz0/yyx1ZKTiri3pWZJ8C+PFvqYx1qUzvgxRDd3ohjL2stSVcoCAbcK6oBZEGkj9Ye5BdAVL23fFqoKxT70+6RO+dX7AX+FpwBsfXr8C+wBuonQ4QXFKvJa/9ssGwPBOZbwgKp95ZHlGqBiE0MzXyUruRnRrHVk8UMnjSG/w2BenYQMdCkBn+ngcXGgvYsyPQNHMWuaeMUdZfOP38zGiKIyq2TFWZqJ4lVkzNyzMmH1EyQld93XcEy7I20K8TyIRsH7luOR29DGwOKE/H6SN7A1YG9WmwlDoyuSlXkuwEHGF9e43E9bgU6IS/bXzQLu1DtBy5sxK5TKB5vSFQouGKKgRO4s8qQrJWF/qHP/JWCv8dpBowxTNQFG2zQauKvUHLJ2tYMiRauvsd9LOiNMW3afnx9PWW9k0vmdDXPf9Oy5t46eMYmXEPcXo0wtUBzECHF8Q6O799F78jTvS8W4L+1PFWyMwFoazvDEiz007RwGHkDSvZyXmEiWN4tLwyHzODY7txePDtDVAzd1ngwvhmEtxoLvL2Qhp43OUDpbR8JlkJ/mqmyY7xPX0KDYBhaIk3JYbjRMg8RgPGOuUy+L2IRMobidWcdJuR0YWRd6nccO46UYw3of1fUXBvbp0XUI1hPDCTGPi6He5BVKQyjnMaY/7zrchZj60oBRGhbH9lKddYP4Fp4iPBM5VWaysDlfjEYeUEQ3A1bBpYEMA7MZ5Oo1JsRAaOMJ4OtuU+OGdkupw9uDLAue+d38ELK6tjKo8hkNcK7hMjrlpUttB4umuIjQbpAYHxxfp+bYQN/KbbMl4mL89eybr8Lvi9BAsbokJEMUkJ7ASjFsC7ojYBUp4QFNjBnpIgCE8g8inKPUQly1gRb8dmbzWBiVYfEg/mp6OksCq41cNooy3+gRrwZ4aFgpLx0im0FcGImNA61zZjNgO7gUehKWzYBi9ED4Xc8oBQBjoCfdrwK89T0cLkeOQvlRtjQ62CDU7lzKCYdmQteZUqO6+U2a1685MXPugJbK89L8wTSFhaOCzvmwEuKdGo31MUPxQQSPydDprmlZ6+i1GHptqQvOoHXcAhoKmXvxYElsdg8vKnSRhnuBlYSpHlV+RhFPc2IL6biq7ca+mGHG5ddXqcBXeK8dJf3rgZXpKYHKWELBHQ8nHf3aKHkRlP0DjDkX0/Isc9iay2TcZdc/3ZQNe4enMHDrUG2YaPCBaCDGTJ17R2OQDlmtEFEceOfA38SN11xeqvz0n8cpr9dazJUL4YnkrI2LgUBC7BJ5Uvnui3KOUi2UmbbPys5xZKP6097ouDmiYWzhdDGbraETGgeFASv0BmgNrF80JSKNua0sNFXVKUtesWtDI0wQvxuVKS4U92m1cz2LWlhdcARB4Yhtw3ujI9W4Vv3dsm08+tHVSPu3tgxwabygyP7CVz3c4yp4LvhLpoijq78upawf5PTPcROMHkmBAk5Gee6XCwzFyoxWtBN5BFowKDr7fDXQcFgvTDmlFf0nc0o2nsF2oJQNLDqnXwcox0dxXmN/nZnPLpBdb2Pm3M2fwzJodp0U3f3szAONZ0meTzKWUl0tXFgHvcjyFDG0q97BnNxpvwEBWVKcdJ2jKRPyzCX9hB9yC03AbB0bsIbwIosgoG08yds6h5nlCbKSwZi5ztH7gRb8+v4hxXqBcnebc39fFkGynUhjGC6AYKoPeE4XHKRVPrPpx2j9Bl/Rn5Yt9d3pOKZ0xWM65qK6ARQw3MSRNW1L8ZiDBH9Y5rpZaodZt30+djGVYX94Z3J3p60A3j0c5fG77/3ChrGCUiJHnaw1iLwlCn4twSJA5951/x4CJ/VgzVDYWhDV9yVwtDQsx+CP4WdWa38LPwYMLZgEj1QEt0PkD/lnEeHW/MQxpzf0UJ4vydycE9bq0KQ0IjzoEnGoBjv0HStWDa+IACCps9EFXaDjki2kNpdwsa5PORk8k10NMSZvDTi8rhYa1xQedhjfFZ7e8CA/UYTA3QAbI7JVEhhi3apuzeGyy9Pqu7Ricrf2OXWnQJwD6Fx97Z2UDKYu8OmbT0pr7hMyL4KPEFBblLsC9fqJIZnvuhpIXYOG/M4FwCUM54Mk1wSUGT93Poi3MveOovVGKrS8ogRzdoimUTwRXzAt9srS4IlPlRf4xEFTd9pypymu08jC5q+Sq0Eaum3QC3vWVaBVy62OVeRy4OGo09/R1nxCAWOU/7dvAkVip7Vh/IuNbyBSm0252cLzqEzsKmWsszm4Vf8WZJhNgePsxjPVKcanapijDCEhIbTyxbwJCqhTpCQpUPHOHWAgwu62sBZceJtB9vJvmpOytu5C9DKwEoMw32GXSEIdwOzmPN65T09UAwYk5QSqPWbOku18OAzJ/Vd5oyfvun9xfbztMjfIIr1uxcEY94XdbzxwHXoU3L8VAZwzeDKPAqFAgy2YgzvHx4YtCiOikwpDxbsYc/XFm9k628O/DC/RBhlmm8kH/wUmy3UTzVC2m3lkGz6vG/OvEUY9PqzW/Y8w0FW4G4e5QY/K6FKF7kSwquJEhImY6Qy3X2D0bLgzki/T3Q9Y49ngjbKH8aYwoylNMM9mqd8WOpiDMfPH0Fx1s4AvRRPdm66PrAmd95O+yT/HAD2Oc4sFFUTrlUhQtK9l24k2nVxQToK25VHgpdHwTrDzDW4K3FpcRKiVJbul1GznTIRnSlnon4XsbLpbPGl19W1PQQ492qj4+pfH0VtJ8jCB83dJuNsUPGNuNHk+zkPIktXZr8OjIc9abEdiUtOmF8EbA9T4hWC05KmyLMSnMKmU4T5hyiXdeNfIOrOrVgqXg21JZIac+a4FGLO1KBp42ytU8YWuXoNBnT3ag4SHLVEewoZ1c2kcE1pJzCUggNusTbVAfVPqxrdKViweZvMQJyvdjxkWDhIybHm543sQtl9CCQDcqZ0BnkcLy5gOf2P7DVZp9Rgqyyjj/C5TEX6/a42Th8LdYbSeryuPV6lnYW9psuzIlqDZb9avSW4J3eOmbHT0+DWBHgcDvgFwQQGOlLjzl8ysKdTp7QO3qTkdiq/XEFFzg5a+8rCSg8RZ0n6pTqxfK4SOoddw6XFxB+4PFYMsPNe+5Ja2Gc+n5+UmYKrCyseXsFwjFJ7eahL89qVJdUm4NxQezvNYyNp6TSNKjZBxt5KGu/3U3rAMgkpinEnHSr4MUz1FmAQpbZSEeZ/l/N0+PZQjlHAbiBOkQPg0Eny1wBS787GhC96qp2SCUePVFBS9XEN8NZJh2rANqh42A4FmBj5qQKfkqWNSHC/EG+xN9g6XCMCpqKKDLIrgGqQDPIVFmyQBppTTwsdD1gkJRIw24OVPsqGbv4+Irq2Op4aYbCxOnspg3v64mvIC+Wf3xlD7tA1QvpD3qLJn+2iaU7X0vFYzzgVEN3OoRD07VxwcnNdKPNc/+/EZm3HnzSWbOEP4Dvi8cEXMb+3YbDMwHfNoVuEVH4iC+y7gOvXQQ7xMeKVictxYqxnnOq8Txp8qvmiv4bCxQu48ms45frz1EO2x67U2B5Z1UDaIwyooC0RZEKRdQKb2utMRegvAzWdIcPToKwDewM/V7ZBI39avHCj++lZLULBe+UZiQdzTW1leF1zhG95TxAThsYxG0fsW2pV0f0MYPGHXkmiGFJD0RsG69ureJEDRnv/t2I/vbxTtCsfxxHd5OadIdgMJ4Rh3GkfPjDQfldJrkoe5m7PF1apyWb2MTVMDlSJAwSaeMU9aK3EiO975JbChD4k7Er1FDhChOv1W9vwzzqYI0qlC4r6KK2cpna0LuFDoLHxKpcdN+xGc/fWy0ndnrihiwlsPZKuK4vzV5SS99KF6+VeKIQYAlTdxhF+U0JiauHipU+7e/I0f/H3ee1qWkZWKTipGIF1fRMa5JncCxcs57eO0T1sZhp5xbJ5F9e01lKgHBVXhO4SC8UBYNhKi67sgjrqDtbNgk/mmmTVC9WCMq0Bf5uhJCKAdprXKjDnajoZ4LKBX4YbBV71guzCpuCoSO6rPD+W6ijGWdAkD182LMSlYi2NmZlBdhj5kWTw5T2GdsWWdeJI3T4w3sB0jJ0fyDYJWDFfeeSnHJgfpQGUt5UOFvRk19S8yWoRTE+lWiE0XqZ2MgHP9B4qXRVZN/E30ym+EXCJUQOLBIXUtSZtwJi2PXHZQbgYDi4UBICXnl0JmZjGqQeDrsGVYCi9PJpPDlnrPyXx9e6GsHBqKUUDDlltDNxBvpjWaTQEiNS6IH9LgH7U0+LTJy0jU7xdZTESwJtEdIjfh0ghuWjj0lVnUd4kq+c5Fg81qHiuFwB3wNtv2Ma35EeWqh+RrKY2o5zF/Oar6Ji9yh4e/qiepT/+TKsjrcAwMsoMIbB/3TXNQUxlbQUyit7cimeBiAS8HJX7r0PQfUY7cE5NUx+Agmu44k2XqppKwg/TVs+0M6lLn1xSTrycFFNl5mIkZUbBgJ1LhN1PEzHvGsz/xaigwKttR6Ng0dMKj9JpipFE+TylvG1umh6ZdSGUIEAo66C19Hiip1I3xxPXT5shi179E6x9I7IuiSZXtJZLzDSGf830RyrCct2cLRUnlAw8X8gMk50UP301yl1hUn28jawCB2apDbhZq7QTgeDcnQWgJBuwtfN93Q4td/Q9/n+Vw0fCFPJjSeqW3AgTiXjMXKdNxksKul2ixt8XU/Af1LDvM1xuhW5Z0lq+6xm+pGPLQxetfRBh8qfE4kQt6Rax2Np1tXS0o2azrQUdX+cN3qNhq5bQDO9CIXHLLERNBWGX38vHSD12nmNQ1BuDVi9eLhvXx2zX2rr4IkNnQcJcXWEMSWPJAv/YZzvhi503Hmq8afM9UUHKt4vCERexA2sIkeICSziuE4kT3oYLSJuuXLFV3RAkep329kxFyUsRExow0ygx7H1Lh2i96ZK+cGspIdq46tMb1dbwDtTMhsOWoKeODP+J5rg3Dy0bpDFqOdVljHRKFK3T0mg3v5yaBVk8zeErLkBpX5fX6Dhh1InKrIYlRzUjN63iNgwkIL4wmTOo82HjoiKeBiAtnN7WhKDAv4vXfwE6JkKukDp+VdbJOa6w1VlRF1ZnoTPSmelPMdvft8AdDcGzP/IXunmDFWxABWqYn1SYGds4nowJJSnB2vkcyhH/VHi/pVC6wbJyzSfQk8DT+R0+Bh/3CMBTO7xY6C/3goOE9Kxa4VWe+fWPSSzrtozfR5+Mmhikz8THHjXvT9Hy03bD/TX2+Du33uSiD9g93MvSTwIOMzji5Yxd68mMjerczgLzgQm9mFXCS6L/wtr6oOj8wAg8gyDdA+OZiCjExyG8yNylK6SfLrDgxOn+2iNSTssFxzgw7bztCuBvlusYGciuPsHJh0IsU+BrKaVo2PUXIldflVkFj4QPpxNsfbV4CFK98QOHu5xfo0ZmGF2FawzF1xcqxuX/23ll+d1jzaTObB9T8GyuNBpmAto6xQIYHyxlVXPD+z3TznmSvnAsxpCsCboncjfvdSnpJSPr0pkjPON9pDW6tc+51/SORfnvP/YE9Jvl7StR+l/3fmHn971819IzowmUSMcAIEmAS+n0YNIGc362kFzfVryuQRc9stTOdKMQ4ZFfQRiIt7KkzUkMg8cvRQBpsBazCHZ8jW4vQXuHZk+fB1Q52YfAl9WCsfZK1Ya00s1Y5/em8/za9BcBK5/i0ZFynLYbPFU4pr5/cnNIg0cG3BJueOQwhYw+++t60aISfBFEAHpoaoTxDEmxT/W7Tngs/aXFsgLFFR0YZxyq9u9hV1OA92meT47fTeZ8miiiSvkE8Up6xTmK3DTK5FeUs5zUUs66xlQMbDQIrSVCkrlnbhoMfOoKbLuoDnxPAFRZ6iBjA6q/upH69KjpvHYyMCz4h32JvDk6lJMDu+aUQ+dQ46YG2/A0uMiuli8r37Dwe2Efy4eb1gjxnCijC1/Ho8CX4KN9pqVTSg7xNbK7bU8Ozbo1E/FJ+2JB3OCb3Adjr4r/zEPlpqz94F6TefpqqTn5bGLra2/lHOD68mTb184HxDueKdlRfOb3Ldx8w5gm2BMtXgQ5qu96h0XxB0b2NUZT28zWYamFl3tQBlzcb4Pbk6f6PUXZloop5RAyNohoKrKsbZu281HyAkcoyz1M0uQ0UXiTQeafjbn/h+hp5OsdW439pASeUiWr5q5vgRwcxF4Y0cQ6idIrgtS3l2eWp0pQMF9IBpk4RUtEQjjcUxsmwu4wqJ7OEXqHjxvpar0WGnaipdGd7o8i5uJF4+aQ6nf8Y9VdmLBoDxZeH6g9X04OiWUqjuWBC1DzaAloGYf4X7Agw5Ndu5/NTHfOCM3SC65dzioc+sNy9+Ua0KW8ICv3BnsHRuuMAcaBbilibjKCAU0rgxSNXOkxDN8t3Golrtl52pXQPTRft50wVbz5a+nmBzdvxBIDDEDF5v5GZnzjR/Fj5kSf9ws09pgLffkebCWxgeuCKdmbLPSSwNdZX+X2aX7GKJhAcet6i4RmPB6VZvN8b6g42jY5RIcFisUpspR6TLxbGvJv5yZVjeNtMREkYi3Qz8+flD+oWLXEfjC5rmz6+W6wHTYK5ufzqw71f+VAkkNHhnZAnH2rCzB7sKK5u/HTxh9sf0/Yupp2fcFVfbyx1rvWD/o73GVOU7WNJ9+EoQjRdYVgHxhAXQX0dFAJ0zcN5n7H41w0+1Gx1Y7hxHi/nMD3meDI6zmOi6pkOWwxeYpWBdPE6LO/3YnHr2P472jgF37Nxa9g7XXo/2/7nzbzM87dtGWvaUyCvRZ132oJBCXzZq8lm6oWaQGA2tojlwx1ZliN+m1qUmYjPSkZj4D0bd6/ZuHMI6+I2/xKooBS8KDwZ3be79mMqkknhedM9mF8kmsatmv7ogif9FszH2+SfrE2PqTzSTkWHnrc4SoePW3gHMug7CNegDNNlQekkoYxmUWIVPAyzePuDD4KnhjFkY6vbpPZwXFmqI4CwQM8erR8zyMxobcCNJ1zwImIsMCJpYu4wc47EY3EEA3e8Q28TBp7wT/9P2OfcND4ui+AgXpLXDaAcs1V73u7yKkbrRwFBANrpc7tOllPei5b3Odvj3vkknIwW8wgFDuwa7B3Cs7lisWLLBl7wj/kfc4xXk5m+f/D8KhuK5vGD5BJ2cd5lkLAwSnfZ5IUgszIU84ZtQPhOpa1BkYFfaENbGMRDA+2fLONW8Ocu/DAaI/+W3leopL90C1fwAHJ4/Gou0k+TVZIIFeNc8BFag/d0CrI8v3WBCqL2ZqcmovMt9450sfHzo03XZInjRumHP8VotPSC8e/HCYJZtUUHpWk4aq0+2jihm48uGgcL1GkI/mbP0OQb9IgHXc5M8JIX6HD6IR1rkZ/Wje8uiPaHnpPGn41HQeTRXha3BNVcz1jiRHW4ceAdykAy6Ox4w9fYc49sGZ0Vt7yNHBYiIrGYASNH9DbhyCd84qfTOh//6uXg1mSa6B50kjaUo07S3ezaz0omMhJIST0WWyr7PW7GvuqwF8kjFJhj9o46LUJ7S1w6YstoG+bvthhvnBn+HU9Gl0frgufyov6qPVbIzpSHksIVGWcdNd7/5Dtas+WMbxwDIVjiHJoaWV08V+2e6lCAIQ9nzXcLrVCln8byDd3x8ASDIEHP+Qtlha/RuW0bfMeQ3j2tKDIZhvgI9IYxKPbSZSc8Yq86UHWIavsRfJKYfKhLUDfKCMHjkJVWikTs7ntzxSckqphPKxCoTcAsEobTBEo1O++eF8nICAFqEzCLEEIAWxEIhgBmEUIIQ0CmymwjSx5SwIsqwIsqwEsiwC3IBU4Sf/TIJscj5OR9smTxQWOuRCZL2QtfE2V912/j3xJ4yAcGlJahVP6+/153YexRUAHbnxDxeRfnNey80OC8i4SNM/xQY8fb5t3552dhaXrB01VwUw+7b225W/qxPYLWKvbwRKLk31oYo64Lz0mZuNfPkaZ/YI+i8nKBa16jtQHPfMIwCB2Mnj2SIyZOKFbQs+Le7hHlgcupayK+AjUHTZ1TT0A55ljHx2+7/OHZp8Nph8Y2shznNOVVG17hdj7WgYPjHEFvGm5ZHHEYV2biknker3+jYPz40clodEoD72BUCu+KDme6opfcQhNDr/SaNd+R5pkXKC/dNeWMPEdW1NeQ97S7O7qAUxM5D+vJt5oydyQwtiqalpp2cdhHiFTh7xWGHNTpfz7SMWFbI7Ep8zKEQ+cR27jOAypKVQ/KVrWk7R4T5JxKIwTugc9ywfbcXBoyGoYeCdEs95I0dfRxMmKlxe15G4qAbumlxShk5zTPe0T1EfYsnmobtZ0ds1lVoz5XG1jfPt2YnqMoPyZco2J74eqyRxTZnpZpqdi0QTRniIzLm0GOkhktISwzNTkCezKij85cxll6aOVKfXKRKhuQdJYcl+mxlRdV8XN6auWvGvgtvWzlVs18QB3Y7hykouaQzK4U4dI8YeqHyxdmquxE65/L+tIc21WCeDLYIi5PKw9r+wBoqUJpVP2jl20XhBSBMYEpgq/EY4FR6Ql1VA5e9fB6r53fZkUDYguQVblAYYloF1OFAw9YPkyXqOrRKG0U+pPMkvSq08oDu4MRNKzWmpdJU8euKCQwRRbDPYxyy4uLVPQt1NoDcNyJqWlWqZnqGvLMB0N1Trvc4QN8ItS+Zv9OWG4dJO0vHjOcgwGjF7laGHwZjuVln/Q/MFVyP9oVQqvxKAyBRjqriPSpkED6bn/mU45HQqaDnlPYKOsbHN/IfEuwNH8cIpK90ug5B0yhdSBQtiaFaFUxHsD2i3vpoZUr9cllqmxA0lly/JweW3lRFb+lp1b+qoEP6WUrt2rGXuWoIBUdCXwgm+ISMhJdnkn4nYK1sKV5shVobP1UdTNVV0oKdGonFhoT04puG1/DLpiWhKNGEmJ/UUBrvtUsZcWI98rEwlZMqoLa1wsMbCOKY3KYOWOyvvudAaIIqMP+nbh0VkANp1mZXTVBmghwCPhzk9pTd0ON4OZivteUQq+VtpctatdH6WddoTa8tNlpEb3ef09UH0ur36fPD3gFWcGG/MN0u+T2jvNnrL1h0la6uOj8erb4Jmj9M3DmLZF1ABOTZTr7B+XFemOdMg1+isXxWtKaeQ+gM6BLMSqER9slRYiwulqpAWrjqtOc54VjOJlFmMszY7epNSqCMgRcrWbmEisioBw6/mAtEpljB1UzROCqLjfLevgKe9MIL/TpkGsA94bjGlWwfMaPN0dWn+LUqXXBK6Z19/tQsPC+rMVgr16Gayk0stk2tOJZr0Qp67wv0boDiZPhsgsy2xO7ssCVTOFvqkp+gEy7SehaLkBMaVW9569VNwbxxOr6kOw1u9RVRWI54jLJulASsuBDU5akaX7EJEdr6nRcKbWpDC22QGAIGuDZDIsNseiMuB1NHtb0glWQV8CgWsVska3Ca7TnyLGslLWOvE+INMR0THij2ZZ8x7BkielKd/9Am1nn25XlqeQb4EJFgaOmdHMSOHAeDz1waejKCudDuxlel9lC7hugqD5kI1jFydB1ZVjKGNXdPj3lknWMo8b6IOZq9oxgt6ADpZhUqvIkvY6SUhUW6z1TAyUg3XcytDtrPgGnUiSwWH6/T2gXMpsOWNtpzRYHNrLcYeUdSF9VPYoA01Wm4iipc8czBeBjkNvBTAAVYJ+S7mHFfcTgaYFZGnp8oZYNfqK+QmrQhfgUs8kdtTrgF3RinGSjYiVeDUZZ9U1lSKeLuM+4MVSy0ApbjvcHQiN5WyoWAjBdlBqEd4HxFoBiv03Dx0bUh+aHSNebJGxIAeDpxYxNZ2vlpaCqnAZ2xZQTtZmSMs5IPe72VGpN9b6dcVbzHDNRsFdZ5PTuGktxPmKTmm4df4FMiqHxbfUdb5xaPM93j6sNWWLl9GGigt1AbNgS2tk51cR+SK1PqOKcgsBbhk7slvb4mm++LBq/liQaMcjDHg/j6o4JvMTNlZGMkmuPRFRR0ujNM58pd8txnhD37VRoI489HjE5guEHwshoh4WX9gxs2v2LsT0NLlZRO2NawUWsth3HPD7RJotJ/XKOKo4r5VUnPiR4PXLEB6qy2dKD6uqdM1WamYRQn/awAZtNF06KWtsDN1Xd5adBPCzSgvuYXdC+yRXqFYJiRM2kPQ1reFnW+TItt0T/w9IZtBekPOOjhu+CguNQBVOmXG3OIxtvAUkEV5zpVMR7KOT5FiCivRWyfDAS3RY5TkHysFMqQ3lkxmyUOUhelKECZ5cfJtl5g9b3R7TsTsnqUwQKk2jNwaUVJ1WATFqC9jtspBqx3wKJ5zvXb99auKYYwdiUxXgQ7gwX0ShPl32gBAGovjWT4QG7TYwgaH0fjjh/OJUgEuJnwI7aDu++CTT/6qiu3ugmvT6WNZIwKaR8J75omF3K8p9rQ+/5JEnHsSLhAxJaHBvNPyyVonycvQ0gU4DnoryqBzH6eDgWt7yLEoVcbnGi/XyhBR6v6Tem8KpEya3oluKp77jZuFaVJirmOibSPT403xZb4z+EH+SQ2pt5lnf48UVV1yGMfNpBxJy6qTzBWOxU2s8D+HV4qHsWPP832n+bbim5Y66vjOT9D+f7ZUkL0nf3q0/JjfTWZfF9uKlLL9KEXaqkdumSSYgARCrWhKRSJogCIZ+46j8oImQFLJ5YhAzOrbwoU0ocE0kFFqW+yEApZnY/hHxARE9jqKHUN7Vfc+qSagZ80P+6B8qu+G6Ndd/64Abs/9vJiO1D7W+c+5/fD97vmr//rOLwvTb+9Er+zXT1wf+ltjTJrIs7mgQms0C0wkTnb9tlgq1j6D0EPf+QRZYZb6C5H4X12F+R9MmFFFw7raPsJ0n7F+nKbtXbaZtMNcmiHSVuVPossw9+FulOl7zYU9CnSy8kLN0GN8I1/PLKUAGslFPCB4N7ECCJKWgXODmBufqP6wr9eYZiUHNIstC8ShaJDsDXKxVGszR6FmcrlMdgg0MDqlHdCwplvfmJdKFAuigNDeSXvFU3TR3EhX5x9SSHSeHPgBT8wp8oDBWmR64X3vFxL4GK0EyG0bG/7Ier40m/ofSbs57FMVIxm1XnOR6O0mjks8j6o0ABDeSBQndfJXgAzsCqL4fzwFHpNarIuirJTrjoTecar4RK2LjiyosoBZvKG1RSTAk+08Y15gEorDlO19nE+Nn4puYupf43lPC0dKRjABvTb+y8zMBfhhm/wkevoXJi7TJE4XJ3H7fBY3VUC75K8hxmw9sJctvey21pKiqOPBMHW6rtcXEFnL3+ink8sYfNVAP7GPJbnO+zlVVgweah2ClOL9GIOiUcGcuMnc+w8i8imYb5AQ1yGgkYlEaR/JheIoyV4C7lMsXkJW7u3vCJzwK7RJ4NMes8lhin/NJTlNJ0tUDRgf7gDSKSZyT0dZmEk/DFTEFO+6Ru/c6VMAjufcQgVE+bWeC8KtSZ2dYKD0EDoHlkBvXar2s8szvC9BZW0ZZXAsKrKRMY7GTcONROLP8DICgmvJ2UD/sL7LV2shtR1w5e45ZG744JsUEiYeUWGVGGvLfYMLXX6pHWSWTlmMAzEXuVl/NQpEtAu8Ky/m8UW9HtmLSMAITtAXsDego3WyX2LI9kOXJnCBKT3FhZDhMDOAS4jFavtCuIl+A+IP7k9atKGQF+Zs23LH5W+Ss2hsdPZjYrngTa/pK+XVdTlM9VINKs4/748ztMFgZLrSYcThH5t6al4w1UBz+pNIU/Yc+SLG0J0HrpLD2wQ9owZ5fuHbC63NztS1SJdFI/OT0Ebav/+9QRVcJl49ol1cI0auc/TGQVoXwEJONtSV8MjvM8AVqL4lE1gcPoQSucwndIPaiOLxausDBZsCQQC5OFJ0yCEnX9ffqcKahCVGzVetOggHNA87jp4jPbo8iuJ1vsNH14FUTBe+ll64sT+KTRJcvzixPwBOWhg7i7nf4plhU2psXdw+sGYPQoC6mo/J+sncOL//qmIIkbLeW2sMgs3bUCNGzK007s07HSzuDmfdkSz6bBfgGFdDKi0sslNYwyoNGuBe5GrCgJItrklZkVcmdWb5Ovs0gnNDs+8LFpKulTXOJjVef1LBywP6fPBxTuTMreNRS500msEOhYGbRFVgmIh1sP81z8RDypmMOOLTCmAWKD6HGL5gzdJHiYmCc9jFPbWx2x8FgWDVgtDtKBRQW9DPBhzphg/zfWT9YKnrE4b0+v0EfJ22GgINtO7ZP/d0kRFaSInk6rQLQbWt5DJHFQWwqtjdhtI0pSiPF6Qgyu1cyYtBpkX5CV7RARWNnad9eXyaxDxOPVQTuJUz5qebT+f2msVNY0X0cgs2H+VP6vJu51Q+P7xuvTTDTg76g2BrXFnHAo4bhOmD2S4zdnhCoTQIdEpKHZuN3gUO3yt8vMCo2Mvr+wP7MXGbYcmjFn7CiiWdPixSxU49t3jomzlx12thceAWopSBPoRQxgu0ZrA4AhtJbVJTbZxlnZCt32XYkNOkxAcouwhWbk6MyJy/9KR5kHnZTakVxLicoiJHwsHMpAw81rabSoRBsqSs30rQWJJqnWaf4Z+H5aSbjbo0Df6gDPB9KFLiHqNSmmkFDE46OhxrAcmJJa+yIsvMpAXdsCs0aa4GTj1di1etX/jj76O4bJh9Ngrgp1vTiwGY0WBWpJAa6rWY+m/VxzuTRf8wdVkuIiPcpw2ccBARA44xSsSNcjiVevSPkBGbOylLTEqhUQXa6vxmQXsqigqTse3JFv69G1ayJJF3jTI82dO6cg7VoGVL9fGdEr4DcIagxDvWbrltI4DxjxwJJG8mXHcq5trJT/B0jC7kSdG79LJGc60QkxpX+hwu4Wyq38e04gmPpaJGXXOw3aKFpWgiVGANfLCL5i/Km4c9WUFgStkaXhALU8qeBCSZGocFlhuf+VDWGKktrnQ61bKj9Caeh0lwlivJ7TE2CEZZWlklEXqeua7EcAk8MxPGnPbSOz31nHTYaEbddQZ9traa4dqrUiGaJ8W0aZbbmHDFT4SvuCByMUcLbC8IEEkqIYPCYpB3jlG8D7OdUjfrIqMgKnn4Qzgj1TF+N/R7QEWMQdzFV1sCRL5yNrYNbWYvv0bMA5YzsibDpyXPsO8RzkKHXIfnu/hD9TLCPzA4mgQW21UJoBHAvF8ikXBHqGNb4zUAUoukoUzkU7IEG0aY5+qqkOa4RAwcUUuM7ovlCZwf8gqH+5Mq7H5lByu1jacSHBE3pAdctxLR2gYwHnPH5dxaqC0UqkAcKbJpib2VkbcDYeudY5UIEBFaMvTSs6Qftp92cDSWcuYZWpSS5CIZL+od3gbxuwPHCvBytgyiopAcxgc2zwSHQK0IZFS6M9dmj9BOcXG+cafaoBIYEVRCaGcQnmvCMu1LpAR4RMi5WXKt8XwoqFQdyEUAykwsW7Z/iRXEYroHJ8KvtMRerhd2xoFTvmWCic5f6hEBCMr4aabgWTEBJiACKze5ewF1g76Wn3SONVJBGSczd5NiDa25MnFrAMrTmQOwgSwpouvgBoke0G169l0vfZ4OLcGeljSHm0+0UoYYEepNiWSM8CsdhZOrd4MB8sqM+N+1XN/4xROrd9a6CxyI1qioFLUabBEliCIRbC9DhOUqiECeXo9TKwQ8fnRPVWD74w8mBqEqhUDfZxmfhL6Cnv3n5BTXkOopd6GwlOzGhOEqJws2RHXiPFZhsgOMXJO42uadDlS9kWtC0YDyJZX+rudDNHFtuYs0W11bxdIRPas5PfG28FXpNAlyD0AcUaesOeIDZuxsDpoP/b2BkHXpMSc5PiUrGpca4XskblmEChCS0x93bBuBDUdA+Xum9wx+kivjV3TC73xZvXWZwDvreMxFZxS0BUHYwUg1wV4L2MqLbptziANtBJRAosZmKbVZB9nR7dvXnIYUadhKDqaB+kw7FtmXuEFVSVo0g/CwJ7sCnHCycNGex2hPzmKCV6xgcT3PPRlvQDa/v4T3e6qXUzmEVG0983w0CPdKhOv6XMHobjrBewUfkR4AhJhVuys34hcFj0orYjhNCi0chNfGcZrYS6EXEFCyOq18KIhUx2rtcbTbjuwgohDieUwBxbLBZCEX6ko91vIqg/cpaAuB8up/jGQZtWBfgWOM2SvD70yXNK2DqWCq3wPly8KWwylcyxsW6sqiTFCTbqaVNGe182sHG4si+rdtaOzHFes4NDeCKn+sSlCuah+SU1eF3kVASgp4VuoEujfidM6+xqto3w3jf5XmeM4TsJMQtKEZZOTHAl+ZSATyE1kFjayHgQ4Xoh8f+hC/UndMw4wTOHS6rg2YjYIie2PvRToHF7e5H++ooyku7IeAPLXsZoHHnC18A4XYlm6bWds4qffGXsbUU3gqJwOt18gZdfEsxcrqBuR6pRP/qcI0HxIooRhnIX7KGS1Z772eV1GXWPSikuonxLpmM18Z9Fy6YO1GLGIoFThiBwtTBtVNX0DRhI00yw2X/D6pTR/F6RbIf6zJSJyV6C3QmO4boOSz1/xRSHnta5pnxgXne2GkQk1ac51g5iHUThtkGe1xjU4EIatySBlLMxRne766oy6Sibj9lg26mv7ASEnykWPbVThAFLYp6lElR29HSq6gox/ff28sMhWOgj7HwhnWHtRR+liIVOH92BQkJFF1hZ7TtAqrbP3AzGxmcEWQWalMZ+4aohPI22hiCqOVs7gzEuQwu1ytPtFq/zxUR3RsyCVa5nm2Zn/DtBmTOSDIX2lB1Jg1HoU/p3iRurgvFkEBSvn7kieKZFsO4B/KdfcpmTcrk3o/YtB4ci+zU24APhnTSm11CCo7HLZIC32neZqYKGd84sG3tIMBISMZBSChrNA6HmrDENc3DK6zUQYEoJaYkAcEzMNKTRXFfcBBX3sTDOI81j3NR1ggErR6UpqcANZ9UuPcPfVkGEtyiT5UvmrfEJ6VgjoFR1E4V8lLoFs8ZokES6UtupKFmcCK/qlKcBPUUdZaKAtE2nBBj2mfjDjveKECZsREsEwV06rN3We+OPT7j8Q0wIStqF6PlUvEGkODUOsR0vGCoBAM9QORVpFF/lafnPd5l2XrXkYSqwtyA5Sc5I6oxdDtuzFA4rYG3+XHuBW5AcISbXKchA681YsMJaCbiP9/JN8Z+mfZnF+mgU3yqnUQ5TlGMGbmUhs2SVOx0X7cIIcX530HjPZV0Y0MqI+0pRZCM46Nxu9gW5wurEQgLjgs38Nh6B6Eao8s4bsNNOy0l5VGtBQMBVrDjft2kErcnr3dheWomVOgnm3uDnVHGYwvA43vYT6b25j3JNc1x4AGrj4XzmASb0lf0EXzohYVg9Oyt8dvfJrXOf2FJ+E1lFjQsBtDn63QAUYI7glIflI4ryPErpPZ1pfV7LaZiuT7QErOhPgKcuH1DNIMIAeXW5pQXRHULx2RjKvxcbifrqlFT4oCZS+Ym63tR2xjUUnwBJnl6wMRYkonLRAFiDoTXbZ2E2/jA2F2QN8EQU93dB0uAKqWTorp+D3IfMl8VXkaXaj9UGEMaWnPiDMcdDgNryCOlUapQQjnGd5yMbvh1tOELNfWLxw3PZXoz/Dd7+Hhqdv7H52wmAnp0YbLKPlHEbYi0MLjxYAlmQYAN18/YCUFHdGw+m1Gc0Nd0qii9+XtPOLVDtCgylhAEMYKr87gzSwjHF3a4KYRfpgxGlXIwPfXhtjyFN28EApo4egQEqzwnumZJof4iXyStjH/7U/nAspgGEd3e96Wlmfovx2qJjZDJ0qEdSpwpp1NUhQi78/Te+7pCnZr2bTXkQKbVYOUqrlm2RCMFF6NKYti9x7jny/AHgSKX03SSTrtz54PxDcGxFU/G+Nl+DAxMsKhwLsYt5Cog1qesxvo/Dc9G/OzEb8Mptt5aAptj69Ysl5RcAx3jBwBqq8LjBl9L6p49E/bsKdZhDzavY9LMCu1CrqU0b/uZnYFAJXHaQaTx9aAjPreMe/zTX+TYsDvJ4tlf6FftN8hGB0iDGJu1vtS/L0z5a3rhwMViyAiZgyGtFA36hoZC+4NSR+kkDnSycx7YzV9NQpl6wNrZmWf1Vx+CxVlvPnc71w0TrbJjWyflM2mgJgXzf311PAGq3NIG/4D9GRJ6I/Jjb+uNzKQgkido1BGm8pTxnmz//W6YmCWSWAwtO7S/p/5r+YUnoIEA3aY2oEml2Q3K9GLbdzp6Wg0Rjvl1lfxFjU/8nzSSvKzmlmI0i3XBOh1rnxsW5DdcNWKKEQqMYHgNjw+jKuE0HMWS0r0Z+MlMg6Ph5GKAK8NM+bpNHe+Nn/WfDr7i5L5bfv/TuZ/mBUO72aZ7FVI1B2fJLnTa/UTOIKwEBjlgHui+5ME4uKmDqBSOlN+ALe9UwHzRYBqaUax6JbtA84JXmSFoS9B5Uwmm8Q4amdWamUixQOqxbwUhamyJc09X2RZs2A4t1y8/1UnmW1PtHxbwfQ8or+s/CYzxyDC/jn30CyYdlAHknLfUobxxxXHg0FS879n4uYZjbvRcS9lp3C5pUGNt3nwPc6NK+fgE+WlgM2XWNFevbW5czmp9cy5xZbvZNFoBWP+EO9x6YxKHR4HojhyBGXf1qsYXIqLxjPpH/YOs3d7GVSfI9eyIktKMv3HgGBfQbTxxFkHvSD/Hwom0CBOESSLQJKT6nUwy+uGRBd6dzyULtcfMX5p6Ldpjq2cNhjp6IhpvSh4Nhd618o3Zy7N0dlvO042rcKfbjxFOQPfzRO/tAqhim7Q28ArzbTMtxOoKgn+CbZ6ESLKB7Jx5QoA4l9hqX6A/l3BVNyrfPwxBbD4gEVb7Amm8lqTG2Y8oK4tcFIwR7CMezSANrXqDEs9mLwxboLG7NiPXqgra+DPfDVBRyohfn7OyIlMpZpBd8ViNqvj7UonCOWDInLUF0YjJLLpwfFUUZz8P7E4yOz9keWYeCfuf4NsT3NEN0WAM1fYyLEmXPx0IukMA5ZNCxq0+aZEIDKdZftGrsqcoKTQuYlvwI5/a6eci2RlzbWe6lQxKC9yiXYa0CIdcTJE+cOMOnbRbUztbonAO+PD3rejNg0AEIgtFKgC1kp+5vYOcs681POn2a3eQ4k11YK7pwOljmHOzfEUqZ504B++NW2pV0/ScZ0vr8w3Y68PvN1vsTmsLCwRCS2OEl7r6PFhz6lx8EOY2RxHGe7/HfwEPqiUPcETHCvQvcsX040Z7dlkeNP7vZfPv1hB1wpK9lIUXvPwfzzMk8OfkyIUPzvtw5Q91m+O+KtakKa/IPL7k5av4dZTAxBgfffCxptFJ9NyX+gPEH8EKiAfyIzy1yP1GygpKX+Nxhjq87Jd2YsJ/vyWwNRz9nESF2Ou0JroDP/MOhU5Fl4W6pZDwjdKx5joMMsBfKii8oF1bIuSnhppJN7OG9xj3jlu8tr/jXYeFV4+tSvCWnt+kghLtpmeQanTPalWOw7TJy4t+GXgJb4O7PezgcCTf+e/yybY3jnO3QylTCt3FdiYStbAwihCWvgW6dEcEyGXrPDrX1kIeJzb3qBQWdNcYU6bASjfjTm97AsWEzzi7gua72nD0OrLRMpank5q4YsyXwuc2DpG8ykqxpPD3cCLVmW9H1s47/avr3XaKqKRTSpbLytsC4jDCfF71FuZIlRG8W6QbrpEZGbPClUY/amCwf72fq0eYP7f7R1M07X5m9ARQ+FthgacYdGD4Et0zoWUNbBSNB/hQjN8TpxohNZPYuLGotNQ5FsEF8Os98uJr28bFX9yPWZZOFubNuTZS7nbCqgjMLS8MtntAHwPJuHYLzmHcyTIy4oLL54QLDWUboGfAdGToZqZH5k9fPmUYMpUrKE6g/pvqJD0oWr/lHNAjhgmVBPZjQnGYdgmojzxMLCtMeeMGEDuCM2jOzvFMaKdJDotINNagUpyTHJS7ZR3Husyjt/BcaeMc+gp+BlzrolAbqFVAZNxPg4h6f4Vz/sVuzXy7TjoyK1gpxv6wTkALZsm0K2DD1Xm40jeTgn5BOENSVjuL4IFHThji1UZKpVOC2aLPra6MPSttYSh3VndsxRwtbTMg92yOsYHt5amd6IlLULpNTcNV1dvpWQ7Xd3OLFm1lOKJ55GRBQM0CB9xKyCAJFLjEITeT4izFFMWX1g3VtbHUoZHNKMyHRDy2Vxbk7oNKcJg9sZO7FR2kY/WL8K81/vNr+yy0fWFgU7wGKxb4yd9djIRTFWBSScGJZBqo0gxByhOokAVfxhWUjxWLfX1RTEvLKiMuCPWJmU3Jud1pdLTao+UVrZ40ynixpobfvEm3jF5o1x8ovaTUWMkIKQwjbLN1WFUKi+ijLonViv7ZV2407NmdeVWWIJEtFTQzQ1t7UnqZ1dpVE0uP0i8YW3nackrx6U9pmIWlWtldfdfqlWmGGsXm0ewhPG9Dmrb64V8q8dMs1CTsyEzA4nSFvpPUiLMqf69DZYtUGW8E+ENGBWMOGsRRLCs3Swpv8IUX5Bj00zeowPj3aQOHLx2Ad4Q9JzMIlZgtG9nzO5gYm5wBQp9VP7e2GeYUyAlGz36rFOr7wKp3M3QkchxbU9n3IqGRs6qXniDebe1vpyqqXvo8i23a/LSjEVukRE9TjlaFB3qawW/adAXB6u/CHW/lCzJ1m3dLyXzOueBZGl7oTVfKevka5nRRWmhMDUo0BfVxPiosGAltjd6H2LLnDipxCLfC5fZiOTLKOsPkA0NSlUe2PZsI9dTNhuo/N5YO7PiD+gjeBc4ZdCeECgkvZ+8aJ/4eW2Zh++3UarMdUPhnruDSwJv5ZhUNHXJ56PFqG72+Ro//dsUUFxe0lreEOQ7WWfdtYdmmPZm23Tpzs5ZPxjr2N/p95fKFZv0Uinubq6fd+TchjMthaIH8b1CFPidBxYEvkliXQr82koaVC7VeiYQ16fL5fBW/ZnRICd1fnGkESd0nhuBn4zG+61xrL7nw9uFF5otSejHNAoJu5kFXIA1VWfvuHTP1J2qoFXe2GBnt0+ZAnD8nhCpz4xDdryu2iC5WLb6lfz3SRpwEKpzUjoKK7HZCgpSZZzIKDYr9DAIGSjaAZSVvhh4wWDRP//Uzu/p21ztJbuYmiAPSUpaFyEjYEVUlmTCuGnzit1VOlAN4xm0PpOHRirrVnJ5r/AJilBGucpPUXImoJXbCVFWxoZZ8wHbUf9XYEkU82djxIjJnavZnwdwGlwtD1looUhH1hQ7Oex3JVex/kq+IurwoXfYgKuV1zFElm9h3j1Db6bcH4JSiWM1TSlPLtUJSY0A4aLQ9H29E/4QRNDizH17SLt0jjCcAsWfggQY/pi21Q3qd5w/kOEU8RZakyAHSsvRIrG1QQVYUf752NTCjXCTIbtiGfidUQD1KIvieqGapZT+RwTl3NjtyPM+IRc/lkncf9Io5pdvBCNo5eYGC1F9RfFSlJ8kVRykt9FqJ4jNSyL0gU3+BIcKzMRmisO7Z8NE2jHHk5zuAjqnyyvkPl2ECbPg7dHHmbvemsVjDBNaond4SzxQgchTEB14HfHUZl/H3iq4CQyARmPr1E+hyOMPGLmRc0ip1+upOQN7tIjvz1JdewsC1P7j8Z1virKfrJeLdu2b7rD3n+u5VRfJmMKX5NHh/8u06xnNw++OBT3Ezmu7VL/24zh3fTmE7G5P8PTssHv6cppsnTg/cxxWmyf/BbmOLvFPVkTPEx2R7ccLJ/aLnSq3fr/Ou7PbCYHB78e0zxc4rjZCbfLVO0obqtqlKweZZ8BMwRMdSnqKYq/ttjM2//z7F12Mg5mwFpeWN3Xr/JKs9xllXmaVPrHNkA64hqwMXnBJVpxh2DuUcaIJjpGakAGRta2OLGg+WQqMAiKZc88V5wjSQndCOAmWMG6+YmpBVoff4xHZbBFdNDOAFG2lHoBmtdP+CzMsN3KXMwpaMUa4XFZiDWhDYZtUz/CR2M2664iLhKGladSA0PXzyIzh5kI1GOla8eI4gNbftzw0Y8K6Phvz8pFlFD+zWu4Iv1vNm6kl5kGCiDRd5Jf34hWvCruWzYxmhQJPbq+wYX+d1QXZkDQd+9aiGQwVBCzBXeAV18xpiiPFr6fLzAJrPU4P1Whn8FYw7IXtlgC6FlJzSfy98ADbKDZryIjiEA6pEtt/ADD/h5IXWI6XHTlv4vjJeFAXYBhndpytdTLgRwIdTs6J+ka2heFsbpNHVhOnJ+vBThFZGPIj5cKK20jP/Apn6OuYtH5g7ERhZVyJj68nJxKIwkenuLwh12QASXW9v20hjCOoe5jqtdtMrHuQoXgI5MK0NBFJ6Hpec/P0Jx0bo9Ma7vRCPJoRtD/XihtdDgdzXjD4BeaZLpAHpyKDWDeXYyzN8HoVcyZHo4eDWZBGLdQ5OS0dZL+bD86X23TzwMioIFmWTipKRBiklTV0LqvKKS3zuZaYthZLxaUH39g7G9NqbOQUtjxYPimL2HBjuhzsHRRCgRrS2aNKpss6qzRLgdFyYCSAaPorDtT+i2FLcdWq0FbrjBRBFRqwO3fohMAt7enT3FYBegzEEMEVRBJ6ZXhP/Uo4A5I8jlpvTWrpd/z6Rnb1WGsPFcl+o0eykkhVgorSmmsWimtKA4vVoNAES2EDhjgPBjpb8iIGpaoC5uOUhNAqMnnwEyGC/ArgCO+jcNOeG/Vnj3wVQCJk3oFdYM0dW8yYsgF2ovjDcA7L34evgRv7+q3B+OxcXCy+s+3YUp7JQzhdb01lsm7tLN4YzAiJZHhOonnwisDvFEKgS0CTKWFXJThBPWsXq7AUi6rh8frv98OtPevcjiP1W0YxqzTITCn8aaQSqN6QBKxwgS5wyt/4USnqSvjAOHvfjKYI0TZGE/YSM36PD5E4wVXSNJun/PlrLqXSua3X24tTa20bUlubvbW++NNV07cvVfQdIjzV7mbfYdlsnzqtsI+zNRTYjcgY6FQSf/9AM9qK00fmn95N07WhrdmdwKbkQiS99Wbe4lXKlQbS2L0ktJ4V8E/CvjVqmkyF7fEdYET25CjSXzdYK/n23ZJRbZCbk0YqoY6xzr+DptnaaxujE2ljdmVVqFS/+E9Gm0qShSnrvpfwXkJurPRg7C0Qw8S31O1LMrSmC1/9LR/qFWJLIuHAypLTTpEJI5P6AYlv0fKTB/rtAYDUjikzjw+14zWvZfPvjPdzFIVsjnKR5Y+C8f+EOypf+zZfTV1IgXeqngWeevrBdHhf/LR/dH4pqKsZlCnoRrASFtPMktkvmzm66g46oj780gHmyglrBD/8iw7jslwlq1Bi6lKNWuHdRlqlz3l/eM61XTVBqBib9Rv4vfEKaDhF4Z2xIBEcZSMo8lsy3JH6uA1rlktOcRNsiZYxrrYvGJnt129R7j57oya3InjtfJEmBQ7N60SvlPciD+rk13YRWZ+YbWHb9KmPqWu1Xv+Jakg3on7AROGq0oGfSlLvjpuBfyHl8tD9jydl3QeY3PXOxa7cykTLiqF7nHKRkk1nrnYZ5iq7Fr6LoQORaA8XF65LuSzmIE9mdEuQd9mZoJJezFX5GA94Wl1FxXSw5Gy76VXSchvKDYoJMoLR1PNJaA2LrV17SEJSWl67OBLf4cZgh8EXfP/ZxwiApJFHrpbxcJS9S+/GxFYAUxPx7iz75sODCFLSL1RdYMh92jtU4Vao1HK0Lj0WcWLrkZicqT16z7DWtNfr4tkyxvf6ZS5UPUQs69mooZRHkxEMAN2PgB8YBfcJRNOtadyvPbfgzUJecZlIO8xSYXPu5+EkkxLIOxhgrKKHuOITs78FAML7VRQtRPqFBZ0YKFoRkA8Nxf81FZpuACyPs9rvZ5iwx4UnPhIH6QdweWjaHPp2+AM6NXjn/Sgs4d+NwHH6aqaBDRs/C1JjwtHYS/ppFN5+8KOPYX1eOi1I03do5MQ3cald36E+C9IdW6UHdZpl2TKBx7kIeZF++5pua5Q4i2G0kq9zApvHQ+svkWISrS0PpaepufZ55jK9yZ1J8lqZKUbikr3ZO2yr/p9XlAK13/98Ys5KL+5gM1yOVsrMqb2SRplKAvF8+Aqtklj4rZjs4pWU1EZsJPstWIqK0I16h6ZSRGzy3FExIqDTFjgXcx28R8lpUoBkwL+Q7b0Pc6xTskPGI+kyABcL0tJTXTeCpOXLvrUtI+2zjoB5rCwo3dUQ+/oPfMcXMnpkcT0llEfdw/JTDkXaYy+wMfn1EhEz8sCDlLDXSU5zKJuMZpDRXwd85mctZAX5OIN1AoR1QFw3kZVUUCRcUIw8oVKAjlXJe4vV8c72GF1eo3P3T5uSjhbSXdWPC5kblyQ5PYdTtSMkL/6NxR69w2++VCepTzwD2++KnxHstrlSvpDdqVgf5kxuDdrtkXqI0MfE9CfcT0b7Umzz4CJVHxmm1EphXT3crEIsiPu1FZ0bQfgEmueykk7YbJsGlMZL1SHUEupi61I6iR7cVibF83pRhlcjgicZvVZwpWh+pybgP0zRhx6LFAeOI8i5Kv7VrLsVgaYiagUi8pyEWKEc+t3+pSu0gYqrQpIONKThNno9ggQzWranVDEaFAUeAXTkP4vXakvDvWeCatkTK8jFGG+Atw4jIC2U7n4UfBFMfo8BRUMwMzeTL6ApE9ka7aD988B/mWs9UwTnBhO5jVRPFotSOypRyDWx9qcL+/OTZz4okjFTh/lkJku6xkSXKScywvJvUdyjZLU4wC9WaAyJ9Wqe3jdU4/V9wduvNEr4Mb/m6Z5aEQgINMdDyKOFNUgHTNfE1AgDUY7B6Mc4iFdxBDRRBeIeM4skUbBRKeJmVnCMkBb++3Md0SHXjBh8ZBi1sVkveVRnh0yNJSMTIy0Jtcac4p4ExzLxwdayT4b2AtJrfh0ri3pDDIwlkkdJxlo20t2ctpzYu09SKYmxFqUhURoeXif6xWKYtKLxOFp6dhalkmTPIUNJoTJM11w+7iUuZzJM1y3hWet/wqo6Zmeze+tPHd2p493tpGWoHOpscjFME/IvKVYCCJGiyVQlW+9VZaj7fPnKwn9eLU/PwqeMnKiuNruFEwCtvxIqM2zz09RnTnyh5TvKVpl/AB3zdUtjByWLHC/Uhdc5d5Y5yRa2xfVm4X1YH/7oHXw63Y3sWOgV/5+uBmbNyy9vrNIj5gHSMob0Hm9Dj+/i7CHow2sVFRprMtWPbXNPS53H/4eBPDC9dprAtfQhGT3cyNFLhimSGfF3ptEVlb0eEG7RjBfamSurWjvczt2OaP9CtA/hb07tzLDnlgp8WmiMxgXUcq2jdjV+hhti9NHmB9clt7QUvX7zUJme0j5zOzMMQYZ7rLVJbRVYo+P5Nefs07HlG6dzPZT4GXydb4SFGK1cLVr7GmPVlXRzDuVtPxcFNVfF0d6SCtkDHTY3lyYWyta0J9BaSSqTWjZDIoBXvWUHoIrA8GtaqyKIjM0HNxJ3NGxX6HWi+Z55oh/uDOHL/xUKOTBErjIT7TqzQcFeJyokDyyp24UFL5rA4iveLbH5kyVey7YzjuyPLQQ9L+DQiDNNhvd3t6GgXZ/X2RZY77JWlycl2Yh6rZfDnix42HOs2Wul5YqRQ/2zHwWrWBC2wWYmP5hqFIBo8MTY7IeOjI9I4xSpQP9kN91R7R4BZNlg/ozddAhSfJIqVMwDeiddpKVzuNMvc1AaXCzcjSY2DVvB/MjRFgIxL0aYWHCicUxlgxGzUlqWFjExEelsEFUeDZnCd3/Pu76Rvl9UIUs0atFrZuQ3QaGdG1qpkPLNzvp/ri6NDlz9BQBDgLdn/LGxGRp3Kc3Xu+rToy5xMjECauu4qUvjamLZRO5H8kDHc6U/eOV8jnyeNj9QHwkVhnMT/1RdyzNwca07/4eEDUfV+oqNx/7HW8lmKzotbRHL3LXSbV97dzGsrzBoAdZPv361gIy6s9e7OslpItGAd6frkn8z5gjfbAUJHqWTu08EVgtZoflsqs2/GZ7JIOiGAbpH2MhNSgaFxpQ6pF9pbNoBhj/s6c7WNY29SrNmw7CY/PXr9S2F+bkEqugXlFd3jL2J7jTqL6qyLR61U2rgmSwuQaR4DXyqhM5pbUxMQrH4QhP+moRuppndWueVErMOBSWPRKJpJL5IaqxjXqNVRHp2jN8ZEDdjRcV7pPoSkio+rnNwrRx4er2HXw+KIrlEoqsHigp1scgsKlfsqUUu1HSG9lZljdrH/Bp7MuT6B7TeEhD6620mFr5C7pi08aYtnPQT4NaVi12dukZoGnVpUKGoZyzNyt7EPTTZfk206lj8KjJmbtPI6G4ajxVyzTOmM1PLIs48r4uoxbwuMLPTlpZB+dHs4ROMYTzxLyE/7Tl4HXJ1Pn2b8DreVvRCPvMevviNqgz0VSmWgMso/V3zRZKeXOK83rYS9E9NPImD4IjZgIsa62bdJTygl2rixJFJbQPj8iTkJj/lItO6ex02JSaflx2/tlXAvduQv7TsJglPvYhXHtiw0liG6jnCp+n3KnLaJzKVgcZNEcAYfeThNx4+NGUCQ6aowD5GirTnCqmlFjGK/v9VKq7S5YOs3PbtfdeVPniNCo/1jQjV3ndXhrZK5X12+9QgvN7nwBOhEkram7idP7bJZpk3XLk0xhmpeVWXE82VjmoVCJQNSr9IJ2E9HZD0+rocKjaMTGYqZOGmphs9lYgDZxxhZV5muL2+1tLHeifTluVJxVSqDU6kr5EKg64xPsOntysyF1+reTtcRm3emXQGxkdjrYdq93Omx6l4T0anEWs0Yl12hdDV5Dbp0vi7k2XdANUPA6UoY45ryzR7yoT/xucGLzXPCcwpZYQ8x9rPbvI4qAt3WJltOmLXuDFGOenvc1ooI2elXsKdt3TPdH9b1BFq7PpIVWqYIdP1/xsH/xGBcTRes10xcRlkqMNEb2qH04vjfKStA0puy9yATxquTwFSlMVcCp8KxQu0kQuUPQTXm1LNvXrUZzedliXDiTdgnNOT47r1Y3kI666Bhk4v6J9v3v/1lt2HKaOkHNTY4nt2RsXZjEfcCb8uoPZEvrk0xJ9+JgJ9rz4Gmuie0hITHRoHmFyfuSZBalQRmVoypdDYXYXkNvkrxQG9Zmef+jAiuLdUz2k7A1yw3xjEej7MGmF5hosnBIcenGcTxGeKMx84G688ZdGjamEurzwlKr63NtZLUgTVa3JipD4cwFrZFh24jG8GwXFwap+BChs24Ax6qW0WHL56d7cgMphrbBR40cWWz3WDqGtqIKXetoyunWRcY9MzqFx6An0UCn/11XPhRGdIhpNg//nfl4b3SuClca7feLhioAabpJUKXDtEMCi8UCrwJudQcpV9T5QS2TRKVZW3kGCeVbFQrPyZmHckzDDHlMF+m6RfMjIETXiYM6lkqCIoZmXnjBFmB1FQwPGplVh307hZWAS2SsCF9f0r6hhSS4Mf5VSbhcpD9ONmUnf7gAbp7/HxuvcpxOEo4C5c8o0szYC5dx6g2Ov3budfBsnDZyo90+AcRaRukwSkrBfuns1tDOpg3JuvG4suSwjpVCvFkw6oPCXnSzX/m8D3xyViswpZTKcykujGm00kqLut9kaOhUbmt+tVkckm00oeMPdQeikz9g+93FcU8QMg/+1gwsFdR7BSkUWm1O0+PWDLFLgUCFlcMLi4alOAQyKtoOIiIJQHXS10d2ZciCm7Ghj7c21cp0DH3CAtgCByxRwLJz4MGQHJcXhCLgJ66MIOi8l9gt4YH0TpKC6aiiyy6zBme/t2nhtkyyYMwSGLG7geznNIBHR2lUR+4QVarHord2hHGCcRrFcU55OuzXBkQCejfRXQHdoPAXPhUyw+szy88THFLy5OVSxiJPGsBu/FAzPOhQHSol4KivqF3ACsYmsIPvBNV6W1yhRsnNSjyP5vSZsY0ytVKF6MicKcQBlQ9sgIMbNBdGAcVqt2yEN4kzEQotpDjwMx4MF+LpUbQdx4aUf2gae070xfbsnqQtFuM8JidFygHaEtNIKNy6V5zdmVkDVkkB4k9TID3X5omLikpjNCTsyr2rU7mWHh3titHNGpdwmXVEIOT+95RvSfYP0s8d2kCAMZj13ByuRxUkdhD29uctMp6eMV3aGdl8++GUadjdsktH4rqbbmtq1K5nppAUWbokJg2ivZKbO4zJh8ukTMymxuSxGMX7U82bdn/u5yHq7CwLwnz2q8+T0Z8dKVzO8DGYNpdGf3eydvLpD+lU8jjtI5sCKve2LWo9v6erj6dWDMLfIXrKpC04zBy4xpgGsNyEm7EWheepG5irMfI3vS9+HVOJxijtlbl2lA6sPf0jOZ2y4ef/gnV/RrBzVzVo11gBeCTjlu3NoU6mujNK0ffz9Fq468zZfoDMYeCwLZxW0OIPHn+B5B3GR2vYGL3V6vpoQ+MjYzB8OTtOZA5v30YLv+jnfqWBKlGz97VBtcZHWIKzE1ZnQ8bPIA6sD5b4pA/08gZ3mZKITdv4JExAZ+RXge0GphqGeEfuTgQ/MtsJ09KC6N8nTTMuxdcwGbtaOVWUmCTuOJ1pwCPhtJLazbmjrWJAs410sPfry6r9vpsIJU4S8wMn701KU8gslU5Eo6hcEY3I/HKfB6DrL+JUG7w9qus/iZQeFj5l9A5IYH8Jnr0EHUm1Nr3+MKKV0bzJUD+rGCZir07uBQW2KR/W2rRtw5oINBtvaxROV6TnKNJTWd6KCcIZncB60y/tsFkh/3RKb6IdA0T2UFOBvbLvouo4/gUY0Fy/lIdnm67ycSsyzcQuCyMj+n0Dz7uh+0pkmtvmty3+GHJDUzogaQNR0pQbV96klR8kNfVUzeEtwV/A1tO/tKcWSZkD/DFPrUe2h9pbKD1+M5p/2jC5GqNOQv6dPE1T91Qo2Mv9fr+aH466kN8uRtNnfEJRjkEYR6d/jYi/mXPyOGk4OlT3YXOORrtkGZ+II6X2c5V8Ayc75VqxGyIoZPat1FJ1jy+pR3RYLbJId3nOc/kleuYqUTmOst13M0Q7+lzjxzek+DvZGSOmvrwIMhZtwXs824CMlbGcVzXTnsJGl6Pfw2+6FiUrekcz5+74NjJtYttrR5Xc2BLC+1ym5yLrT2ub0ArpJVf2cURiRM6Q1a6LzwnNReDUQJZ2CptUhlWuzU5Wsjg0E3KaeKKM+KvY8SeU0NgHeOTJr1yYwFdlekZ5h2sZT92AqRDG+zqK4c6mwwrPE9HInEiXFHUKEkoiZHXAwlQH7lAQUA512iI9AiXDpK24SSXVA7W4Hq/M9IB5Sr9jutomA3xutqKJULnGAnv3sABB5Oh4k2n+t2j2XDxZNmK/E3jpgIysiZtSsL0F5ITqvABWoK+QKjKTFvPocokVVKxmFfCxftaVFt+r5aTuMzq7IeaFVIhGnllpXRXEgdGuBRdlAxJaHRUazJ3aEyQLsyUFzXRUUHmYUC4jdFKsjXoqGIFxobTCWc8J8HGqS/dSLe9sOKlOEpgfPRU1tmTR6/2zKGwbdUhM53VwysxLzI8IPnKMSAl19N1OjtF1nGdJ9b3b5c2DBWynTXaFzYnnNA8f1+hg2sjWdOLpheAKlWrSD6lu4Vk8TqMOg7y+jf0VPl1cJHc3JPk/zny9qUT/K4Jmgq22f880V+O1Fyre/k0KHvOu3j7ef4Vvu/cA27LBjg3Y6Nn51dP2yelvaVgCRzn4mAMz935/3N4OSt39BEWe5uDuKEt5ccPNelef43E924YKpOJQYocKOsM+hAwWSZOhTuXKn4ezaO+DoPiFM67MxxQaU8L1koHsEIXsi0x86K4XJOKn5nJWr9prFkInwPFllDOSEoWgNHECnqYSEWzh3iZJlpaBWRLoqUjPDS3rY1JXr9J7GPmUgYn0uVhdghf29e+AABzRN261IvhU+D9aJ+bDHlAH4vhW1xTMOw1tGCPtRMDiKSwl8Fk5Y2bj0k8qo/NVBMPvmHhdVYhcpKrE09Y9dsiUr0jKC1kg6hXHHfLDleOQIqk3YYxGeapXpKyKqkpm+eO8dnNWnIj6m3stblI5UJXn283Pf0qPSi6kaFvbdch9PBPERCLBvuoU2Zyya2Vf+sRT2ZWAPGGJ0ogGfAqPtnPXmoL7/5tzKgChs6lk7PMCotDu6DEr9iyh9HJv3ViiAxQnxnRyHZETOCfysnI08dJg7YLwpr84Cp67cPj3DscftxTT4M2nvIjWgJDOVmuJS5VCI4FeEnGcSFiKc55vHL8QjMlh4NgCkyRLBKjCsvo0Qvw3dI39xkyL8+9awzisZCaT0rBw017oisqZmuV5pESjqUwdoWzXE5JFEEZJCGs2MP9mbER/y9q0KsmxnHIsZM3BVpKYatqI+4vBqyizA4CtLX+hX5eSrutF80e8w9qZomI0cbXNzeAiDKCo5aFuYRG4nyeKyZxXcjBAvNHyub/PZtEDgzTtV7qZ6ojQuntQteeSBGcLNrAvrhKfo8IpjgyNclp93Lhk/YOOW2YVcryT0S3JjYX1jimcPQufRq6mvz3VnnfRAz7NA8ZJtHkca3mvzDEtbM9PIu9Qwlx28enerJAnPrkVqGMXXt+D1oBZQLf6OdirsT/ry0pp/Y38enAc0Dg7bG/0cxSIcAJTqYawyfgSOL4DoEeHb33dRZS7wI2ZG982SC/3lVr7w66steRHc/NBvOI2FbOV6PtSWJQBjmPmnxrV5jpR8o1HV4p2ahVQNDKjJ3COgg7YUp3Y4tokIL34+UVkOwtxOVwbRESmm7JU4VQxyVMjnDUKsXJBYssG+wlJMMMbGnCbXhAqHcZGm59tLJARRh8iO+M/NZwP/nMOWWwNrOm5PZF9eefmVnYH7uGobPW2u32cB6Ovn9pNroyEmlUr1kZuP2mrc60sZJ06soyO8+NetKONdeGSgpq4sokY7ZkhJreXTeK4IXWjXATaUmg1ghlLdmO4ZbRi0sZfgh8atdFv7hqHQNhwjgakqOCVWPuDXxVFRNQigkR5D4rcXSGjy6uNUnhg9tmD2DiYWNQFodW4rRjlkdo1JVoWwjBMTAYtzfUAgoa9PCro/3G5deVDNGgjaT2Y+K9g92U2vN/6RThVi37p4lPq16Pap5J3Vv2rKD4eAiEbL+RJfmjD7nl5Niev7d14VVImnH8xn0NJIlgNBwGhNww+Sr1YuPE7Y+aE7vEDhQoKP9UaL5nENBUtNptekUpb3Q33pxQyX9r9nGRm8o1MxT24ea8GcyJ/r7Va2vmUXPatm7cvBAx0okgCHNSUZZU2PFSUJgQWJ4U7si2x23zkomUcX3VB6tlVG+V9bL2zxu2wiJdNs+ukZp4qJStDQBBgmhR0DZeclDaTW0zIqX24rdL7pcQhQPg0mcyeridFNYnOp6QgU+s4ESiSXu9DNfB1s+/TuGbiXOELW+UxtdFHtvmrcOYlxU4qXJIW8zOgZ934dJBsBzl6oS1v8KXsX6LIQy9+MY5pcPzM9/lNPvNtCnTqcqy9uHdHNJPHFpnSgOV000ARxAQ4KjfzxHdsnnxgieUJJhiftHsx017uI3zp1HpNZjgB2U7jhLJNgEeShVYjp6Bec4HWQjyFltoVHf1FECkwSKFQlpPbY0U3JD4pLrlKoncBtYoOBxitARWdHtNDAA9fl8zTCpLC2jGe6bMWC/imSni5cOsJImF4TfLogMbJL9uMjDHCfWDJgjDM0k8I2KOlOfS8SpiHOuESybgygZusDZiNusg1Pv9ElSs0ReV3dB8SUjounKxwvTPncmyDc5z3R1H+qbb6jh/T8a9lqo2cCcd5ZzSfURXwgCb22r+IdmZLUqGB9kmojcKQqgpTU4qvalawA8gvTGvxpMmUHHaw/TTYlEPScUQEDT9VRI6BUtFoRxCFbnIurGUhtF47TgI6Bsj9PIKTpAqd+H4CsByYkHhKV1tRJ6tiYdUc83q1IKQL/fH4WobbnamqhxE2VBISndNwKn10o42aAPo9JZq8Hy6ATEmgu7PsQ9vA6ozcB+QRIdK0boFnHOzOYvXx3XB5l9s5d8TJGcbyOWkbk9rc2K8BGxVb8hL+64mXZ+VZ9CI5Rk9D7S2yL5KFer5Ym4R7wF7tUqlUY7qImo8yk5zvsTAoc6ZV/ECaxnXPAQqLnZkUrzpTSGpjP4k6Y5wPWMBbYdEOHNROsvE48fJM93mvrd01omi2WBmu6bfggrqIFJ2HVgixSfvIjk1NTrDgQizpH82rhTQ67WTcfFV918ltNNiZBA4L3rPU0D6Yv7gAewBrw3T/3XGlZueQJQ+SBi2mjGlDu7g2T1pZk4KFOKwGIwUCISMd5xy8tY81wKOJ1qq3jnIaN+b1XCeGXEH3nTovEC7CZwp4YchNSw+QesKOd9jQSxWERYt9kV7IDclJLTvsnUgJGAU0HYohFwLmbBeffWSbdrYK4+d6zaz+XcFeo+R4DzMGloT8weaEJR5sZt9G2QOeOZDeeUZNr/9p/U0dyX96rYtvXOlsK3HNhIspTAhJoqlCZeeKtWgBN9t4f6NCIhYMZYFPRQF5W1BMKrmesxY2QsB0Bczd+71i7Mj1B55EuCEFfXBYrzzr11Fhj2IgeO3E/5ddx4NrfXVkX5meSk/n7AyCW3oZpdYlZ96v+FBD4zyTmuJXH6jrJMZwmQbtMxuBB3E9p1jW3hQhMCokRuVGdJSjEG0/RA/YSmw+WEN4up+4Wy0hzS90gAVV85hwfKijuqvNcJ1IjK8nbW9rg4Uljvgjp1a+NsS59n4jE4fEKYI+bpHahv1LLHzQIR2675hC+TeHvuVD255tWlZHYkAUOo5ZkNXxxorEVPsGp8eRA+mPs2R7jElM1MnRKP/CAmrZIcncyRvnfsMwsMx8p3lmAC6+B40LkfJ98zYE7IvHRbEAzWRvFiw5gFpYG0kLZWhVj01MEdLjtqKWgWKNyCBnEHY3gqeoibq3hIkit6RdT08I7SWpq1aJWp4eCpKu/3yVr5mmYuw8+glg/Hc3d+RzKd7q1XdM5Mskh56UgmHbtHiTnCbJMPSAkPJdrbuCVQygVBoVeKXEMfENy/NflwxxBWgzyyJ+qJBpFW3V0nr95XcPVLwFlf11A8T29E/bUKkiDSrIK2hLXxsiZhjTXPWfPsSau4cUehEb3pPFZ+22hu7DZjqpn/dCWqTKHfoYHhykBpZXykg9c/36iEB/KoTTRwKsLlppW5/J3YHfD38g/Hu9vFzkHGI0CZPjucGb+cqMceYPb1X6XokxYHpl2L1nU0jx6TbbQjjx3jGatJInzih09PFInih00XOPMWWC3TyQ2W5/KaY/eT57OOFS1QFiMMJw42vqdvxUZHy85Nv+9W0XU43IIHocfxdgSV9PNf4oLS+wR1ypPq1TUTReDjvOgBgaq9VCCFI3893lhLApDL4sIAInTc++l8iB++gUgUaP1yN6quywXGZOSoTO245ygsgMFgxm8qMgv21vCgrcFisXMRYFM5KrXFJz4342ihG8DNTlkOnnV0u6vu4TMSZRej0QDDGWm/T2tLFEopvgd0pqVaPqVHA+tS8NRnDFBEeZoVDXYwOfaYorbOMM09DyIvGapSYOpiKYPjnvHskeRcRqQf5DYLCDgFGLPrJHrAVGc3mfDR9QdLrLcfdo6GaLDLJCk4ofg6NKyXfx6ON99bS+g+Mhk/VdI25Nj5zwjzfPKfb3h58zvDNIt2/2BkJcjSJBF8iB9pMEL1fpzd1FT+rhz1Px9D186eOToiH9iW/z4efukRYFmBAw8EqW++zIADTO5oafKGZbyydpcoG0Vh3kMQ/6fMMKzfSiUn9kOBZmDYeaVjt+Yvc9BVvLWN5uqmk3bc83dHeEY1kn4c/eKaaR6BPvKWIQBb/MI4kfajug+mClGG0iI5iV8nrzx/uuC2yUNZ8sUZhsUh8c64/1UQ32M8gR4MiPirJqDnODA3ZxBHJ1NKZoEmcT4thVl8z6f2LptDWy7eobUOpWEwG6khUpvjK6cRDI6bZeEPrdY555sa7tS47WlBNqTu0mPnS3p0hnrYsDHPCBxRTvOBg8kqtHjSqiiIJlIN7uuodHlM/nFWv5kCXGkBl7h3Tl858D61RKs38M4j0zemIVZU79YsLnpR/ZfcfaGZ6PLLG73kBXireg0MgjmiqEWnN6INVAQva4WQTCPlaBKB/fvsqpmzyzQYPM7HeqLdsex7H6CZgSRAj290zz7cmN8hy9UUTbDJvLqFxMdGaoky8YinfvP69IfHGPbCEQcgjhwzUspymhTAfsbbfQK1HL5kS5VYWZ9sVOEXe3JtsW39K6FLqvxD51a+jOqVHes95B8YBUx6hm904AO79KGAn0tQnSX+2ciZnBHsBlcmb7Kha8HaVw6SEOtMfD3uK17FBbRxHnBs/yg2WtoaixN0FIeYk7uHI9TBSLi9azZmM+AIdkeryiFbZjSBxZPfEikD8Ncqm1AlvViimyO5is58EOHSibklZDWEtxzFXGIlPwVnVcW3LRwNsQzfSCSTuFhKrkxJ3A++LfWyzs6f+iFt4maSVRlxI0jJgK4FrnuYC1ynT7uDT8sOvUiRFqZQVxliFt6DQ2v8aw8YguAmHCubALpaHTH5Ilw0tj2XqRCB6I4iFgdt8Y5N+LZXtBzHLfEHLZdIgNUzN99Akx6W1b1I7hwJ5APfHaBf/bXe045QvI0bzoDNHZOWJapmjxbjKC4hFKwBkLWBCk7qZi3JdjyEJsUsGoUAXfGtKRzZbAndFrOhw6nKGYxdKybC8pIA0DFTlchsb5Wl42d5paVHaltQt49HNBYAOilHQHaDoGxW+NzT+1y4MtM/SZbg6nzNutI6zg9aQilhQVYgWHvB61qEPTCO6AZnJbm24vqI2WZVWB/lixEhyNsMIM/DuMITkAi0F2DAy4ppS0ScrLz+RlFAdziinOF3Jk4RkyYOctUpoqJR6GDbdR1e2oijQjDFD8mDQq0OAmQU21W4nahN+JEGfqqXIZSq1T+4+/BCs+NeJVfsgNa+d9a9ahSkXjXyLixf/GZZ8I3ZPzA1Er8f4BMmavfYcQGNyOJGfvNnRjb0IumbxTOPyop7/tFL08MXj84qMAH9TlV7E68mL/gOVfciEI908QvE7eCNmZtp8FTLUNSwKB4b0L7eTTt0Deg634so4f14XoHjte93WzY6iMeKx34j6JQpKf2lZZi0t3zHkF7WNLwPqEPw5bFIJbLADCOMQjp8QeioxyLhTzkotgMWf3GeOYzyrzO3ovlwKZwv8y9jhr2ZhHXX321hzCK+8AQD/LGSWD/qIopETjSrddmKaYVFDpl5Ma1XvSrMox6/EqDGUU9tmjZAp0HoslkG1kHQUVS+xjjhxjxq/01Isd0JjEjKA8yZdsBpSZZ0zenlw+gKoH02t+miLlj5lD2gRIv9hOfaupS37N3CDvlWjgDTJaayTqLfuLzyYPYCyzyCcdDVNMFPEoWekDXfGnRpukxrIRSNkyMsgf/KlhDj1NRYUdqocrCWv651J0cloTzfAq99hgnL/E6M+VneBqbsVjr3AEpixzSvnwrzNxZAo97Vf6E2XstLOZq8Hk+FzgQf9D//avF9Sa78HQ7VOIJQVNRXw0oqoeUcieT9JrljaF52IsxC9m8Zt3nXhOERbPsFVGeEmmJRssMZlERgGYMQv0yQafUq74+Oj0SrIQtNlcGhaJS6LWx1JaeuO9kJAcMJ0O7BYdzrtlad7VL+9BXyQD5s/2OrMwxSyJBZPvZTOWPiHHh0Mvhxe9U5BFpmTjaG2FePRcj7oSvC0RzFBNxuYN59O4Ktmj+WXmL80bfTmB3YZCpkAzqa1Qtj4T59NOcZPUk7XvSFclD/ojdZ61NOSK2ykky9du1KWffBRju+Yxdu/TzxjuXBPgKqnWeHMuEjWQR82m1QCLIwPgbvzV8O5BHKnIZWKpN6jQkaiccRv1cl3mcrn7jvZ8EmYme4CeaXJsL0BZJaWl3C6zUHDQzcIf430geh1IX7a25YbhphgxwUipRNStqTTl2YreGbHsMweJu5Tiza54F+cv/eYPodghver+8MeWZqpUSOdri0yDNTqxc0cgSgMmSrBem6ybCDaZSSbdwS8mqp3cIKMlPM39uTH1SPxh63ZLYl23eQBfWQ1ZZ+FwU+aElQbim8C5hr6h2vvXC6wu7KL5zlxjE+8XsHkqbDRfFPn5xGNtYpoClu4LLYXn6xmkcuLbGLlh9ZWYfMW/U8sTSr4v3Kc9Je2TFe1b4pGVfd2yMbut0cxQFJN/E4P4xYfb8nHiVMlsDAvSvLeuKRrR2iyp6xiIqXPyZ9iPf80UE/8+X+M4Vj847QJz/FqWi0lSuFRxevE+9fhpX9jUaEP2hL+/LNVblRa84Sw9r6IYOBPuRLqshmDEcjH2de9XkpW/kEzmo6hNaiSyM8vdQ8hOLsfiWpzEBUH0v7jJqSzh3icx4kEwLCxutRc5HhvrIGrq4nMNqE9blpY8xVUtaMQpmaqMbg9MWPrdvvOBXo5Tk4Jj2ZeWkZOV7t6ryy9WZkrvSYJdjn7954krkoKYA/n7yDbOj2O8iZ5R02M9EiqPasdjLHXteVjI+5yHeyqD4W/9EWdqX8u6Y+ijjfOhmmvyhG6Em2INxB9uHEo7s1I3lLD4oMf2HTMI7+LtcwETXRZZPlQxQ4Q38SMbps4Nisc+fPfA/9x3yKxm3diyccVdyehsBMP/bwP5BiBrOth+3ndnJFqby5WuZp3CgH1FAceVlRTNbt/xxXwEslGdmk24Th5xo3qZU6XE7VaFoFZ7SCoh9pXvTPGwRmZFZpxZvlpcOszYub3fsHrzRUhBjNRM8nqPay8DE1oz5o9YI8gaZq9YkZnefWb+6mjWONxYjtI2DuLlWbDKUAzEtqrp/i+LwlRU+1j5jTTR1o3Uq2+MYR8rAjPXDZTD6xgLUHaS1uofSSwhg788mj/v0MI/5jn9N/l9geN3yym1vDmruRB0IrAs47foizMpBj4/lqJvrVGGE7s7SGRhkdlMAE01uTSHl0dmp/oULiiSi3xkvD0rxnjFJ5y0sxZN+PHMYzYFejR5wYZzIKWWbYaVktVo7c7eqPFhNlOxxuT5A0oYoYzLdrzAjAg6xKKCrhAutqi6mWmEU962mIOiJ043L1lgh5GUawo4pdEuQbwEo3JGEZjAh/dtTpVPJ2yk5dFFDX/Ie61LsdCkyS0hVxUc/UrsDO8ELZY/s7tDEW7J1UXmXY03TV7mL5Q8FBf73HbDfe35+2W3QywdoHsMqNkh0znviYbe+/WJRd77fsyVe9fzQyNaMqWUQwYI+x75I9kxlWWY01mH75kLNn3BvZPIMO7YPocuY+2ycBY4yOlmQRSGTuNlFca9QsupXHM9EA3iQiirgRQG+Tz0eLcrpPfUFS2WHhc/DeG1cV583RmRb6emUbBdgu15/5SK9RiiZXlhYFg9BVLRuY7D6nROBxq7l2HY+w9rwSYGrvXyrUWl7mSFuNXCAgmLMOftYVeo1BxFE3IzJqMtZnF+CjzRxT7Ofnwsn0osthE/I+TRuP9swtYNmvx2sIiMBU1odYn6GG3oc6vn9rJpMXtcu0tym0A5eJLVXuHhF+DCfRVa0AnTIEfbv3GWc1P/nsr69DGljEFYegTKR+hdS5YMwqR9VlLZkxaItiA9GWItnLMuV5NSis8twBaCQzl3Q4POijraEbiScVxgXFh05tZPVcn8KKhbf7Nz3/IIv4fLkf2Hdnqb1NE7OPav4RH2a1eDDCyqjB0M2Xz1Hotpwd7OUGpd+Gjl3SNj97ihN4zy/ECP8QNkL+WFVhL90SnCE68/Le26598bUZFkgli9jlREElA1ROUwT22+Veyk2OoG9ZoRU8oZ2sFvp3LZ4+TlkM9wVNJUK9S2Ga7ko/69PWXEKNNYWOxq28gUz477EvRE5kjhOuHDbCDlnXI+klrhrWDBh3rMJHNNZYHc+EWFazKvdElqAatWJIG0QS8ikhNwYj0AXteHTksaJasSJb0DGJWWw/oW7uE4hZj5VTHui1AaBfy6vkTSRbTKAdpAfRziodYWuQ4MH1/XtfgZDT7UCS2POTJVb6S778l/3msUm6wy5f46nwlugWjrAZp0vJxuvAXZqyQ/zEwG8/14Ug1yG5tchFFQYy9nKk8YbohscJL9gob+OjeocbrbmHhYZFh2DlpbJZVB82M9lZ6PX7PwtWGwALKm1I6Fv/SA062Y1jFcDz2Lllpf5fvxImyNseyOCVPZMjpYP5WE5Gs60edVVTS6zEhEPVAplp00IQvawbnqMwyVDxnCPS7eyCBdOUv6LCceeSIBH4m4RMnGxCu7VqiJ1RHHRAgXpWo13+L/Z3axhojpWA05qXus1+zp7/khtPgeQIbKO9IZlTJdXXWW1j3eWsl85HBI09zFLoaO011WNeqesZOMmvzj2LbRqH3mmi4/lWhJaXTP+8wCBf40XjywZcG6iFd3Qv9GinEDJZZUcdqObz9esBy4tz73tTrpg2GD3UYWb7BW+ZJaXFKlwm5ord4s7aWO/DvpJpnY1m8pjb6unND04j0aUDg1jO/I9r7r80E+3W/A/D2Ut/Kd66jFDI7EcimXJ6/7oPqaeH+sGmQwfTdaN4PIodqFqrC8cCJLuaOaQwiLGN9jjTlA5VaWjeXuekEFk7F6v+cHLvwj0u6TjCiKmZyPUxaQCGd3nIOxdOZjfc8RgAcxN+BAWLSBrvkX2Q2OESHwxgN19S+SbZd9dhgT5r+mvB5G6iX/lK1wou6DfynIqqYezB7dovA9BDHcXPfFcWMYspLgbjW6Ja8OCGlw3bsLsrB1bR2gHuBUTkWWRZfSWRjLOiSuA6ckuqqZ4rEcxFJK1zdqrfzeCRFkUQIfBk45rWj3SI2049dx119SSZUodA3Xkfrg9ZgrPAh1C0DAIQl6dPW+cL/c1rsz4CTlC8MboA1PijmoGD76Vz4hJdk1xfX0a61KlF/j945J83rxwqGdvZQUHNJzy7Pt6kBdqxc3ny1EHVa9vsn6TmfRFpgpOx7fihMfri904q8x55z+XohE1FXdM/VYRE7VCTtZAwz6V/E93fgRjseGnWXhnE4OfyWi6IBxt7SzQhRZHrWTo0Q6++AfQxqJW78x8VW3Owqnp8k9mhb4kvA/0Pr6yf+Ydfomu2Rp8FE8LO4yUZZMTaWnj8oNwY47Fw0eBqB8pOlp/EaEhwTi3jLIOUwwLquiwHTowtgmD21PwPz2LBht4ROcPs7O9XLjKC5aizAzUBzwqZMCq3qBfDLSY3lau8JvdmkvJX+PX84R9TsBXSmf2DtFng/yqJ4xk/fUpaC/c6fMa6Io4oEJA6z9AZlXxzluAMbM74NbMPETn3CRJ52COdFROdWZAXmPIohnMK81b1gYZVcb/YIh9J6EtjNJBSl5POc2rtxLLWsjs6WLyRWW3gvp6LCJR9Xfr0ylyaWwPqY/I49q3kpAoivn8oYNHJa/r5ohkGhRHZMRjUWF9ljmA4y7+84RXo/PzXwNjHZaDQmKv3E9CopDVfb5E3TbQgtm4L0S3F6WbJcUiZhO7VNChGr1D/QxydC2GPuPNbtTOnuKKcJtH3eCa8bjSUVc/L5/lfIbq3RY54ovnjerDO34IYnLcXAP+/ScYCW0qGOu9hnhyol9VUUgPii9P1a0ITBXtvhWIhHiSIc353Gqg3VAy2XolHs1yDX+EFgHNIRF+6mUbOMy95IvXAiKse+0TNQQ8GFgG/kt+oKVo7+Gubq01B6d9lJSt3wXwHT4Y0UcglNGXjFSAE9HRlPTPOGJH4hpPar5y2IbZs5d88mn/IvHJZbnUiZNHWM3T5g/2ul+6gVj/ytrjCLhoHIzlid/O2Zw2Nkn0T7vXSJ6PuEE84iHd5GO6g0ubv1G+4R4Xng2OqbN4Csu/x7+ymbM+cE1Yeu2GTM/S1gRwdd/KGPCg8kVy1F4ztlXEBszq8/xYAsTkSP/df0aC+CbntUlm8danDDmfkAUKERWPTtFr7sVinC96AjaTFBV4Vlhma4F3VXi2IATI2DnO7uqsx46gxOVUcPII8Vm3GnvTz5bYdHuVx23Z9PPjcoF8WDhQb80BcNMeFZWPy1ejjxh3XtF9IuYRZS/2PhqdDXQPUV80Lm4DfNPmPSppA0yD87DLKLZNgYy2JbBpDI678FOQnK8UtBZjvf9W6CZM6z++0Aahv33lrqHelgf1OVq53U2peUw1XI8dRRv7hwjrAdmkL2XLZ1ocu1+BJcXcRI/8Bzicu/sblPsqvrZ8LIxS65lxB0KR94AStoh8IJJfXdRxu4q05DT+7goymMpLFs9uBmEZMLjWDGWBQEVc5b+ykyaaFj2iRYy84Zj6KsYpFeYiOn1U6NZFtA551tqjToeLBl/hNhS5TJ/xCiGRN8ZFp3/ByJtYpEX1nqqcBNS4z7QCG0IhwkOz0jnlxwoY9LyKuui8xmWdVoTBI8aSSToWpa/6KhPE9vAzjWR27ymV10W/mSmMvQa2MAW8bPvlGO57ezjFInVyD6ePDN1T6ZS42UDVhMdbEwW7L7tgoM9dLEkE3h50jonErsBKS17uS/3FBB7epUwqm+ZB3kNGhbpFvCa7mSJ9HdUytpUQo5G1ayJuQTF9ulD9BIrastwMxWOhD26BZm0fpAbjvZorezwLgm7I7Xs15v6655xEl4Rsa7oxkAPiylBODikaoV5wUAK80pmHoT8YI0ulY6X5EyYHKdaem5wOznrwZ9SXM/wTrZGFQucDgZVwvp/kCr33z3n/kxJcVqBeJGT3AiuMIGhPF4aviM95c2y6XoCKRIqZ0+N3Tq9feXz7u2pe/8MLvWvTgTjbHaIs1cOqfA46/ELr+Klg6Ibg+GdaMld1R8LMC/+cpZmSyN4aIj7JO4Xpf2vZfSE+7kAEs4pK0s/myjMozRvZzxZcbWE+SNNo78fRvVg2rO4NETvNc9UG0lhWFxmU6h4KnI1EWARmCgERMU+bySeqc6HTU58jp2t7GWc3ticLTM/e3FsWDjvRpdz7kvGT2OYhFd8u9xnxcZvZZs9T369Z/74EDKqdzEvINmFoAcyxsmrLKG67+iU+0T5medlL3KjrOUNYYGefEkWmTkQQggQXoQQAsQuAkEoBUIIIUwFc9MdTG95mec5yyNLSnOWYaKXgyVBgDEnkgGzACtzg70jQcBiyZYNvAQBc4xXk12Ue3t1iDWMIHa5QLJ05SLiSWbMpQpTKAS6WuuJ25VO/tv57nndKSi+c54cLiV4FlgVV/ks2pM5+NLQENaoN8IKzCOkPkV0rLjqJS+N38CYx35uoQpT3RyPYZFTXWNE81bs8xwFuStasbYdCKVMsjoGcXmQ6o11e30SvNxHxgwYNtYSVxFhZNedj+0yyQ9s+QIQ9hLY9mlSCF6WaPXvfABV+QVTYb4d5OvGEcuN9InTcnmplnTaRLkqRyx1NoaGYbuPlYdt5zu7nMOAKcjQtaS1ma4GzWo1gmWFFvRHcMudlJdepP3aX0RGmQkPdwkyPskvi7j5Q5DXHl0mSXeq8SH9nHj4EKR20WLmBeJ5vBdj+ZIlCsz/hlh3K5TyP/FI0fMSfcjEEOX77wpk45WUykvicGYDMYnOWDxOHUFgCZuggcDvNrjQ4+ZHitKNm9aL78ZRf1McpM48uaPD2TWz/vaCwkdQhzYMQ8plNu3gZxdrDgCCLbDGZve6HS0f+G3CdIuzxCEzvL97Gp4l0emK72QeASkRkKdeYwNGkgQ9er8plzh1fLDDmjWOWEa4O7OKeA5fSJswt2alnVG7hDg4D4iZTt4wW38xYXHEHqo7Ls8esgVL/yAYXIUAcChiYCMpWOH/Siko6qxCbEr0avhprpxF+bUl2BdqxyV5C06WbTFb4QqhvCyDR8mOIYP7Zzh4MUX7KiQQ5IsLyzfj1NhoVTuGDdoZB9P0jTHBOYiwfIlss+2ekHmTt8DMBEKmteToHaaFseIzupT9wLvX172pilYQAgW7eD06p2s1jT71k23IkjAoiGlUSLw0mwqEwCIsDP/AvoSc5d9r47nBmbkPXwvTGAdD22AhNFGm6sWFzyJPBeMZ37kB0rG5MZ5KIO6JnaQbEgdj4c72o2PrZSKYDYy0ZxrGaOZYFHs1PpOSb8bkLHK+roPIXfs1Y3+Fewl/V+iOGk6CyPbHf4jDeylsQVZ08ntC0uxl+rS86YObkYGRQZycV0mH6EVbM/PFD9hEA6uIfP4KehA/+jWyK9vqJQNXXUEkxC7KHeWIdF0wtMMV4gpy4YgAksnWcVHUQYouvZ3ORrtlgnywbhMjR1SvVdMJ/6erJdi/x9DgNaWZ4l9qrR6JS/HHQithpuOVt7Xh6lCeTI+LihS3jXYcQenWFH3y7Mc+CL/5KaOjt0KjG6thBIvhKzUdN/YFMckh0yoggwXWlc3WXO1epA2hA8S2WxSrRnXk71MoyIs7yVG3k8pko7fZ/jYg/j7WSwK2S1JZr6RLibGUerNUdNNObR2cyjrp7BVl+k1iMadnyjk7VauYeQbf4hv38yiqEoC/F/eGiySuzHKNxtOca0wkkmXamAOV1JvbIzeOBA8tGF8Kn3mDWAR78qTAf+oIKAD6R+Fl7BHDYnbzC03wvtGEk02VODEhFKkMxWnoWptXzRjFSfuJTKuU8AF/VXUEUrKN171dvIELX50OKWvHZ9VHLXwZH4vwQnXjeTNPRU+jf3HxncgN3sRrVabrUODaRrOdmKHcFatl8vb9Kgzm75sd8DM4sKpJeoy3AXrQSJlGoiKPAB8kKOIxh8znTTrB1ZW4mu/xJ/21QrKmTDVcLKZcsV52zpBVJeL9qlAoIvJ1P1afhbK2rvH356xfiwhYnRKgCkOipiiTDStBmxLMi7mo1KasmUlgL6TguRB0XCZ7AitpbdDTjvKYxWG6WlQbnvq0VKUMwcQt+vA7eo0MivpVtuCEOhBdgQ5ld8D8dP9933PNFki8Fdmq8NjFrfjkyOUq/j3x0PRQNPDnbKNX02jutmL1im9f6flnB0E+ojCFrGP8tJamqtOcazumHKMCa0AhKpXSYlvyrh8vOE67mxivs2mkS6OLCBW4P093Ed/DDn5hoiu8a0U6cprvQbYG0Jrr7/zbyKRup7SINfL3/PwbEhsnhqzG98pj+TW1GLuVsgHMnpVRJZuSH+bqYWAovi15IfwTX9UzdCFIR4khkKhc1zTH+Dry+Of69sjfvfgIHAEiH+2UIR3jhU3mGg17tM3R5Lm4Mk2j/UxC3JcOlFjjg+IKkRyvg0uBddTJ5ZffC98kXTxC725ddsKA9qVdzjVWG48pUrruuYOXtK1+3GgjETQ1fOGk1pCewZX2JqNz5j2m+DixvuG5t9hQC53d0OR7km5DsYPonVxgtfu9lMNMWk5a+Gug/sx1aXqQeP4KrXO3dq70yMr4u3f7JqLZdZyE3AEs6RzDkxz0qfooMnCd2NZ13ZCvJiQfQsDmr/EhvXEUM5Qd12NcDzB5HHRM85HsCAq1uaESWUg3jLVIWRnYzc5gLCRZ/1+ISFn5LcHnijwUhCRmf7PpoS5qIYgXcOK4jBxR6r/Vy/ZhPDZui9a8d+Fw5ZgkXENkM/BQnRFH9yFS98ungu3ERuuo1Fulmkuz3L7otOlpipqivTZFfbnqurl7ND/pc0PGLhiw18uP921u76hwUn0dnsNqc0hMfokUAqCfCz8+wx6kyiyVr7ca4XXOaKhePmbNAAMZ03Ap33Kl+TZJ58jJDjtUVmx05meDTMlh4mb+tpkdLHUy1dtPLRhIpfIjxAzIl5N0mbSEvah8N70SGtSoxfDitF34IMCxFyd19qOt58yhJPHOB96mU+5exGMerOUxz1JBVEIm5e97z4qe7H+zxV6eJDySgvcWi6+RasVRmAikUvQ2Lyri2NzA4v2mTe23NLNBCrovEX12KhYIzzcVdWIs8r0CUqstvco6Y9S9WhtoiRfvHihMun63Kl4Ky0zAynFgOwjiO2IOV5IRpHefxgCDUXM9/dJf6CpxakqdHIU9yFQrittae9kUURJXrJTSNIDmZSIHkYFicyOWYGI5k+scz7tHFH9d8G+lgEWG77XVFolJnjtJrfBp2/WVDtcSurevT13CNmBZ4gmFxL1UAOjz9pputoXKcwZn5BW3ydy4IXNYhlmOxgdTgbVSzhyn4m9v33ZdxZReHQ3P6lZcTweI0hKxXZIGcOCzA2EppVCyXjGf6sdzBx11maRdmX3TWt8SrOWK3eigiN2lHcPTlJ3quQOFqHRz1GPyBMv8PkmT8Bj35qEVFiC8qW9rwZUSOqGATXTRSKHtVkQXL6uymKVuyRypC4U2cpZJlFKP3MnTX8Px9KMLPX3cxDTXBE7d0q5x+yd32ydBxwAzB1mRrTZP9CIg+zfSH4lW4FG3oQsKDw66gZdebtZWHV8Ql8T00j9cDNA3N8uBoVHXqHT3pZr+ipbcO1p5wPET8Xg6dBBCoomYaDg1W0w4/ghdefmg8CPWiRoBEnDFHxM5CbindZcyTVjytanoK977+nIm1WQ4sTxNDikuoe7zkhf+iQOjDkGGl4qZgHuu6DWsLRE89mLMd9Gm2/NPRBoJCHzhFCxBKZwoOy+8yPAHSX526iIVHpU89Z7q9UaHMaajo6sc1ZLWsPiyy00QHCpseB513hoZd3SgACSOnsu3JKRB21ct7ZgGes+I7gILGmlar1OBpda4Yft0AznVEiJOO2TUR/umBhhhSBMZeurnn+rHxvzHIwHAssVT7H1ryG/xu4SdYQqpYyhZKy+YCDeEIQ1SFSxtwZ+aHV0Fpwpa4Pm4Cr4697NesMzLadJ7bBXPC0IjX4Po4wpv0QIbz4+bLhe8WjxKv5PV0oPLsgtH53mn4kGKB/952YWWi9D0Fi4KqPwKEHXBtBwXUkg+24ApHinpDs3ec91PcjOiUKaiq9XIFKqM+9OSruN5aDDaiRfUtQMmntnHffcDpp+qDpgw40DHhftmBLraJpSyd/k+wKV3luyXoamIjZpjQH1rVBoviZUJUMIVXmEgZUo7Rg3hfdTpNqAKyUKLDD88TBwd56zUoeFydnarU2Ja03VbTnaBwaS4ddJXL4I79aYy+BRG0ohfvHmryENpsJlSDa1jcTkC2xkxKNj3UgIfJMzdaIIvNyxe5Z0T3196HiwFfyTQ5yMycnSc0ihYgLeophNOo1RQEqBDCUhEwXD8Y44/f8oU4OVJJy3/JkxxxHlBwjd2Ny0/BwN2wsY/5SZf8m00adnO29A67npsDuG5W3o2iot7xYG7BPk/ER8c+77agGX38PTO1c6k8CfeaBkcn7ep3PVpO+czNjGnpAa8T+R2taq8UOvPMX3V/I0zFjf7lue+xTHrnyjuQaUxJQuZLuySeHFiWCp/HxTYi7GxF7NXj44ZYJiHkcdolHzSx8JgIoKSUv91UfHGmc+YOMjORWkXh1SxZWd3t7TZdCTuRZ2iKnlJfhscZalBFz3mnwDpDY5setv1WRjaH0HCHOboqr9nYYhtwOa3R9uuzXMoOxdLvoVjLsO5Jv30Lg3VE7mLVtfRI8ewkLnLAb11Ra30EsDt69ig0E5S+/DoeOzK40+Vof2KhE09dG3BtwNlTX5AIvNhbNq4Jhowl2WTWCHztPQg2MwJqwcf9HIjXHBtWQzlqSQr1CKPkXAo0G0+11Q8wZcDlKvSLvR4FNHBsnPDtP/Pt7CBmUByln7i9KnwsPmGWy8tTWehZd0qK025yx8r41vlf+fKGOAwJMlFVKXAOTHoiy+9GnUF80b5hFHERIW7ucAyXDZFmrFxpXNhX2U6UCT26JNqrYrE67ilrN6xQIHCTljV8d2wJUYWvtI7YbRNLxaml9HVUIiRqPgGXrHUveCJTzoYObwgqWZqfyFxDHA70EwDKj4z9+9lMZKykO1vkyqRD0NxTvIjOixVlxQ41tjG6rP1W5EmbZtGvAzq/+NnBLmXt8ExyawGKrUNxMekxNTGqZtkQ9sLRsu6fKNgtg68tT7CLcTGvtHXFVaF0EBXno9+0snNWHyhFDt2vio8vc830hOC9O9k0lfq+1vh1OzOBEVsN2u8qBzP0DdEA5qvUwcZtv2LOk/hECyhqlcTb0q2hdantGysBVSNV5Gesw0sGZyXJRRuhXgPFzw1He4Ot/NANrEB533S4CCMyXR07ijsW0dJPdnQkVnae2TEj4P6hVyyb005hGTLj3G2jm4EUQeiKsWS9MwkzRB2c/9KXwEEr20FDuLO9WgY+SY3S22++SFqPCBvBdZBjZDqTJFS//7l46WZtVXzK+mwAZt8p2/hPgvw2GlT/zrFFIGvKzJ/cjOYqS0iAQnnIthulGPZisuRz+PHBaJG669y8y5SHoGJ0hhE4vii0LQ/k54OeaYVD9p591rqZlcMGbJnHMGTS27pVs4BTJWrHINQXpdnJHZAczEvGXmt+X+OxL2UJeKbGbKSiBRVERGu3ZK8lrJ8XrH93lMjPGs6M/BZ/0GyBNP6mhaZBMdDJPIsy5yDQYphuw2wCGIgxydPAxmqScNGtysF98oir7vJuw6GqTrgpHiCHqgOugl+nciDXAi7SDAhNqn4vw+x7WAGpZj5qR4vKq4UK+gQBBsDZIzBPo1Af+3AzEPq6HhN4qWnZQ69RhQh9EjxjjtfQHnRMf0gmz0el5rJXxhRsxpmJ1h4ZAqurRe4CpMV2/UkXLR5iiy29OepvUTds/x22/fcDfslkK77SPnW90ol6fbKsQ9jtogotrFxj6rK9KSIdhRlcoKuigOT5XG4dzGkse/bJ4DmAmagaDMNo69/VSCxW8M5C7NVh5TOd3ToZ2QFS4aXcBB7mDhXwVu7SSWwcAAevElD+ZWu110W3yjRhA2hNuMQ1s0Y7f+CuPAp+hOLsEFBw0u2v4Hvl39vzAUaBDgivnO/X43LtpTX0mf8/py5dciAzx5Lv7HQaHEq4agmRlI4zpS/aJR0xuAaIHcQFTYQLGGwLAxUIIAFKjNx/q3OJc5IXvfJ/52wc3EtOQiR+6EO5GhOU6Ujd2NiAZnuLeN2lHKQJL7NmL/PZJSIfQBV85HfAcpYvkaDctAdxXGhbD+gP8NexFh8v7o4K4sFUxROmjMZ+p2iV+wWSEqC/Lqv2X5747grOUBTioldeh1iJdPTd7ATcVvl5FFgegaMD2fTNynn3wONkntpLDLQyRbbK9/L8VbYpFGUbns8CYcoDDuANyiYDTCwqjAYv6gVdxo3cgwKo7eOlTZuhdYOwkiWEu+zQNjMthLcELLlHFGDrQU8mYwpU1bWAUO2bc2Knux+ZgFeblzqw3SPXUD5+otLCbL/hY29hvl4K3hSZwnr80VQSNGkcxd6ec3iBh4+kEtvvy604/Ucypy4evs9WqGcGvl/PGYvafmM/esgY6RptBmu2dpdLPbPV7Hpvn58PP5PR9rldMHLOxa0np21LRAudcmCrUGNaqlChqUu9xz4sO0hLLCV85yVZdJQ87dDHQhmiBtCFhbKKldR8JETGk7NYU8O1u+GL4ZsHNzGhKOB8yYgTa+FZvvZnpQ+V5GC7EPe8mx/fI0dQtwnJ32/xJbmsQc7wS4OWaGmXSxaYyHNgLnK+sgxT83GLO1FzsYs7UUejgHpKgELahpXRE9o8CU8thnUU5+gwhiKNjePnLwzqKe+DsJt9CbX6NadYt7jPzF5aRtv2td5m7Phz8LOm5K8kXV2TRatGRVl+LQaysCrCjFSVIBu/NN+wxe3/sR5L9rnrO3wbXq9e+AYIrFAfo4CS/4vtr0l5xh3p46GztA9JJ8HRbcy/wZFa/WASErjBdLqIE5ItUsKTkYWjO3E+iiLw5Ya/bd1VS8xrd5Di37XvW2lDHDCnW62eHpFGY3i/g/TAOggaxW3PQtCZ/QcItjL89f6YSB0iYeI4v7mqvZ4cVj6GCuzQAEb6vSrVZdno60+anXlU+V0eqFsQh1u3o1hbQVoLhSCiph3MO7vF1GSW14xv6X3cqExE2xYwFodSJCJxnOzPeCFtdgg4tpO5uwORYDZ6+ThdMNXWbCCrNuh4GaagETTZhpE/sVzr3mWMoR2MSOoCLzqFwbCTkwfnMxhyU4DP/sWKHLcDkZZL0QZYA8geFlO+L4a59TQK2cFsIViDGY/Tl6u/K6KreMZTD/s3TOJq00YaxZVVfX1JidmlSAvE5krxNLtAlsMljgZQoYa2254Lo16PckWGCTXIKbRk/Yv6Ww8qnEWZHwGSZx30sWG8ypwVZVvK97XFCCdYkJ2ihRDjL8ipz9XmPglFdNjHwyiuYVQgjzSrVnfoZ49eZwrfzE+059Ymr/8LCrIMrlHGw9QDSsG88+3awQJJVC963w3/QV1al2gJqs/d4HBRVHCLqH6g/muCcWj1qJNNEsrIye3Br66Dq3ebvF6156/TwMKznBIV/w/j5qf+yRhciWuEaiSIOo1NKA5cJXGIzWBP+2VPd53A2ahiK3fwPLx/trMThfFYWXebjEQYNQUlFgV3aojA9wQa7eUBkJFOl7UbamdviwXnaGxoi/7ng23JmgS4OgrneGz5rvtjVe+17V4P1J4H6A+UdLC7z41EwiMEkRUbEwiielIVuFijgLiiSVOJPYmfzcmNvNQ81fi/EdSmHiLF2ZExdKNrxJcibStdFai+9RIGRw7lB2maMQqSTFcUPgUDejD5LkPNFz2LCFik1HSpAms8hij7/OFbxTSsAsZMeZARzQxo3xGmXvy1t6BvbECuFKDzPIq3hEc2wb3fy7934fqDeoLbiIYxum/7tqrqv5CJzt4AX5dUheMfycw+KjsKDDpBJxqApardKgNO3/syhU3JClNoCy+aMB/QDGzmSf4C83E+XmBms7RiQmHJY5nQq5bbNoA0Rsz3qZu4TsNhT7u5X1VRDQ9FaPm+Ac1DqVq/ZUAjqn+KNw73MU1esotWmF0vLJge/apZD25b1XzgSnrUTmPMxcqengM69ffwDYxUF72tMuUtRi5qzk61VEERFaIbbd3Fw39qxUC9ajZfXnRTrB2eSICNlndX8YGW2+uJIz1ogujspbSDu6r0rTyBe8E60bZ9cEG20OtVh53gaL3voGoGRaXe/yYQVZF85YxNLRvTWjBhb5niKaP95+mJ1sN1liBI9aPqLmI4OnsznB4kT6LGiXQtNguT/sDwJqcBy+B508uOcER14jdAeyv62QdbKh/EW8kbgeEyOv4BefS/pL8vZOpB6ddAbRfLtCRCA1Rx7Y0brrgV2SpssfmHz9NCak0lOT8Y8pPUB1zcQFjKXh/q2hYWBEKO6jD+JEHYp8K4jypwWj2/gS7u62//BDpRO9b/ylE5G226fH/nAekFmwvzkH0Ih85ZDhOEjMyUGhoVI5qIKEEnTSS4qVzZDKJJhap72OUjOFaawsvJL4hRzT6L/srsun/kAWTBTS9VbRxkN+GTYMDNRVS8e1JrxEXgyUqxdYvmTNCKe8O25sI2nw1bw1OzmQREFKMBofghpGlge+kINiBau78CVI22/8Gvhb/lw36I9lw/yTO/1fNYy36Hx/If+bsw9U++RL8a23XapX/UlL94T+bvzTt/bMw0+D/MjcmMeU0xXOr/i8l4c9Sg9rHona5UPJrf4OXVrkWpJWHCG0THNt3ccwjygKAxo/UX4PL/5kngACOov/7eQiZhGXLa88PUYQO3duLFUWnmJQ7DoK4mKVrOmHOK3nvKM3pdGlx+tdWwYWPl7+7DGug/EtrnPdR81PYPpjVEcAHArqmFcfcyRlgJ6mJWrxHEm/9+Sbv87Opd7nXB7lLVfxNpfTO5mauRyn2CzvvnfC0ws4hR31uvSdwVbfKKKoXgA8SsF+5epptBwIHvVOepegAfBvwp1qNISfe+ZNTJ9RdJuyM4v3mh9rg2nKt+T+5KLhQN0A1wR0zwuHsi6fByT4som73qapZWfVoQcUoZZCvcGgSzwugIumnj0SXFdbjNZ8Hibnwy+imXG9FkdKWz7eAs1JxBAf+x5QnGxQ1Z60SdVOGmo8U1l+/l1tAHAHtoOHwvbAu4i/qLn8/5u3eNeVyrQJClaU2Oxc58VA+f1upiW9mz0GiP/9KnlXnYe2u9m39uoNcfT/PaAQ8G+9UpjjKubiPge7rCh/WH/62e+6euHNF7II9Xj2krog2D93t6Yx3/m2/JNG9OhM1HLbaHv3ZRNIupXGMf1KDsslOSn9d4ASn7H/m1SOIzSOoZ6gfqVhXOzrPY5R5dytr1wvrnv7MQmWAJoIXFXm9+7iUo8GOtqtINsmff6EWb0N4eSZLkM7uZJN4qKB1xXCTSTyvFvdj6N8fRNuAvqXr7evpMlmf8vQPb3HxB/i2eP+mBGHvazEWrWPmaU1ceexpIf9/OKLKytrflac1hnMieMuZt/0EL9+/UdiofGWf4leEpQl214TTmDi1xFqW1lcH7FanMIQs2Gmrxr1vZX3Ou1akGuscwSkEQPcUauJuRuFYg8NT7rZRyuSws3QKvO2fmM4GF3a0Ugaz61pGZgBtQ9uMs0RyN5De74nzRgmeTlLpF9dfVJsKS6kB1T1Vlt0mc5oo8CXOxbmtpJ2NeAnaNcrOd64VluhYnEFrid2KVU0w4Layu3Cx/Ap1xktqp5ajs8/AtCPFL+1wqD/2XWZ1ajTgqHfNQC6IaE39TiZ/7hGl+vd1a7M602DN06euPjcmZyeJ1aIn6/0Cvvh9haIF+rvHxSGOATslTKKTGU5vV8fmqbXiAt+mQ10AQ+UM1i0BRP4V2AeqSN6+fKRrn2WhrhmUHUqiAKUn65cqIOZWuYmsvvMoJFcvs3wrGqSTybnKeSjDbN3e30T04rZPqNuz+VAhL5OrVjOe3u5DEaV3oQuO1STKTNFH/Mx+HyNVretUZu80TTHf9752N8nfNR/ydvkdGsMM38pf+kysmPPrKpm0K+9X8X4W/X8UogM/iGLhgJoTaRngg8/UOCIdiuLVZsYh4YMs+MkUrx3Dl3ScmdnaivgJmMwI60idwG/ssWKEvwQ3VhjqxLAjjmfbsx0Tw1PAr1bYpBXSH1H8wQGBVuwutjEBDWSIfkCRI8lnQYH+2ndpZ/z/HYz2YHN4TOTpqoXWq1+6Zlh/S02DHOS3VNRGaq5/MR37l9iWoMHw/thZJ3eznVnw6HdUf5Uv2I36nYN9VCZNX8CivfWiOfhSPb4EZOFIJGXhRPSqcSaMtfIHMbPBZ2LJxlkYoq3xlUG5Un5mKFzzK8PE9cIlQ8WN8QOZphLIW3aklrxn51LkE7cmG/LCncqFfMksrRmTeZHZ2Ls3eWA03qrcM848kB4Zlzy4dFbR3uSZlfJO5Z1V4T3pk9XEe0+vrCo+WPrChIOmH6bMI2mXaeDR0wXTyEdLb5icT5p2UJ63y3DJ9YkLa05c86s2HygsNVi7a5BabMx9IGH4MJeQSnyUnZJJWOZuyHpM3Av8jDCKO+wKXL+c4+Rho+4/MgNL3T12Bi/FE4juDmdLPMIw5474gT4XOZWJRlv0JDwtWy6IF1p++Z74QT/k/ED8ocUpCvplOnaKAzHozOEn4tabaHlBote/Wq6IQ9fMLySU/uVwTbzXW4fnxBNdHfc32ittHRGRZLpjwUhCP2J2BiXuiLSDld0ncz2sB3dAesVG3bCNA2x6d5dTE909lDn1UYsuyrMFnmo/gDK6HxC0NElVBOMIBQCAIxL8xWaJ6pJgkfvqcumQvhIk96C7FXw0JsDUj5FXGUuf85uHofJQEWXcdObsjd9pnM1E17oIsB+C4bhQ3jg7CHpRUh33ZEP7XrVdOTkh1KWfSdc9oBHsnqUPvVjsN3CW5KzNbNI5VPfYgdWvpslqx4wQINEjJYhB8+AO805nfhx7WTDmZME/OBEfFrM4L6c8MP8rw4yrg0lgQtMFc1tMbHoA52r3OWeuXvTJAPl3YMifGHNYoFBs82VeRD7qbsTzIF5CMCbuNqIcf2zaQjoAb3WnVSjvD9cpvA7KXnMEm/eG05hOYUPgQ5xfUq1BP5KSyj/K9aU22V64fXzoTPfMccoXYWc5Z/KngdZmE8z47pLoLVwAfjbZiOtAbdAeRmi6yqINBDiM3W+NOrZdwl8SyUcrqPvwyanlkaoCG0v2RIviniFqm7N/YkiR6DdsR11IyE4vuTpC/tSO0oy1wIOxhOTsGFgTKlwbdi8n1ekzhb5omQzDibTxX5uWkQZ/AMBNewyoFeQBUTIctQDKc9Euu5a0BuNxYkeoAGU+SZu5n13j6oB/mveu1EnVCeltg8zGyQr+KDvGH0OPth0jxZcQVTihsw0Cp76Mw5GEpDC/qubhEpKWmH+MCksZPgNu+zckjo5E8pXDqqy9c+jeAlNFbOdm2jgIpPdncefVmes7oygWRubZf+OLge0JP53aW/KjDFfbXdJaKXp5zipGhMqGxyF23/LnMPL4ljvIEk0rwVGUhasoyKXGvDeMdqSYXAeez4O8tzydnNkKK98kx05jGSI6+iHl2MgCkrPzzE7nVbZ3AF7MDmFjVp2L8wt7mSJgfdUzTpKE5ZAEKtKRdUj8stB5VK+2uxQ+h/CtR520TUUVCUVlfGt5ye4B6P3Z55nLzpetIT3bTQ8Lb04swQoyTyJ8HZb0vFmAlfcifk+j1Otm+70bn+5fA03UaF7qEqwhyhsP7z4XebkJp3TUxIYRYJG7qDEXfaxqdnKHkO1msYKge3rZhvRIn8/hkDOyikieS9Vjoib7mDVzK53Nzx1tZZupsP/EIrBwZlHFDx9GbIYNHF2XuCzt0kiRtNgL4dXLglbFvM94PAHwq+bkGnnuADotybn0gKq7H43aq6GX+nczoAmP6arztiTZu4QqVLLSjFPaJ2tAMPeHlI6PzrgyOE+RnWV4B5g2mCGi+CNPVFmKtlikx5dl0Dyu9ewGb0XClBI1Kk684wfl6pUnmve4lp3ShYp7hESJjkL8Y9ENGhAEtRVRddE4+JOqTNQAnLD/d+eI9uy7ZqjWHxBZf3KOaJ4cMTx5/HtjjI4emNJDr8/rdJCtlhQOJyFtOXLnrfUVwJFe2zc/L9GUGC3ozXQQwzAM4/bnnCYv8h+75mfTHVX36beg03V3OHuWMBCpgOV6hOAoROY/Zm9MGKJdXvT6bvu5vzupe06lDrBDW6g0pWa3hEmWsyTRijrNRgLp7aMvoxEYUUG/TvH5mOqJ2TRSXLswDQUpIbGHDpFlaei+96/5Y2DdOcIph/EkzppnOjOnA7KrmeEn2H7JBxlCGeahd71iICosYpSkieJEQu89eSXJ3IKAYJYCU9ZoFtRlaRZ7fsc0hRty5OwhMN/SJEhyAf9OZAZbzoRm0jw/nKsZli8fn7ywH6ZMpu0I3CEMSPhzYlGdiUvCCeJx72HaeEYvvs2zNiB894XpeS7D7ohIEjceM0Mun2Eug/scRFPYnQZaF+NDLWSlen40P5JAuk1vKDtrwQZY+L2GISP1srBFBlPUwvdr2hLzJR7mMGl29nxDt88QNsTpuVH0kcFRGtF1w0wr180LAq8skkOp2eMFakp09Ix6ajrI3L6L83DWwOkG4Zis4iO6DwVe+lmVXLKhpBjnjqiz91ZJ+q44vjOEcdl7TRyl6Rtfyb1q78eU+TdqQkl9lfM+VmDGraRwL1sU+X2dOuw0nOKNBPmEatTTt8Sb+1G8WbMN0p1HpNp0TyTp0TFh7qB+IIu89YibbjtC693R+/UUMJ+chPGWeXSehpAcktWwHNCxFvg9kryzPL6XoaJzq/DEWvgEXKrEjAwX3t5nNHCWdOy5hC4A5PdIm9dko8/u9FPDwyyHCs2Lj4qSfsmOdTe+9J5DLRroydtCJf5K92nWIZeoBAKZX1dsCBg+e92EvDO+KFvHngb4z/aDJtmcZpfzN6GjQ2XxcfO5gxsxWS14siOi+XFlmYgeVV/GLCJhz1pvTw+LJENkQGeSxHgKe5QyoxboonMP8VIufM/8gEDk07nTI3Fp3aE0/3MQuSxLFBslE4Hhwk6cxzsa+eGi0Gg/1B+QGFE9kvR4HnB5LUcne53FRLCRKyf0c0iQw9tpVCIDJdGkVHUcvgCTBAbafafLnNbM33G2HloQgTFjVZvnZZFZ9OL+s2f8mzz3IHDB06DxXXt7tgWpeWMNAh22xefRxApMwQUqWSG/i/qAOQJpQojITgVFPqhJJ0O3fY/js5mXbzsiBDvpJARZo9wMM0FR+J35YS3/2cHAObtOTxDp73byjlzjDOmIQcs5nueqOTctxvDVbPen8/TSQwcu2uFKexcJ2d83HVvnEr2Npk8smAPOCR9cJ+7S2CDJhRRh6eWPLViM73mXXJ6b+eBVcW7+F96HGbs8k/VNIP3WEHRs8KTtCUZkFa6L7td8RTS3fiUg27ZM05Iw6ma5SfBzQy90oe3HRCEf46Q5qDYherlwJ8ym85EQnBF/wjAMw4gdg531y+4utCVptACKmVkT0ScLIDx3MQeXbg+bKGeCiqYwj85OLsbQMYHVlr68ivGAo/1VJM5I8K9Z7TwL6bSmdxG8APwokhIWLer8YnY7cei5orvDMy84e8hv2n95L53VxBQwoIjlpW4cfEXQ3oEGvCHDMHMQ2FLeiYZMUC7O5NvpRFXhY4gaTZmaSM/38RMkybeNXIcdGYPIOlfFXfVAlaBqLJEQN/r7s8DePx1QSQOyW0jUBsj1DGPPUR5QyQxyU7X020NV9qQuZ7xfZj+/4REenQ+SbBNjCZCBPJAK6qE5kUDWCIKaD+6lugohG/bkknQ0JSKvFjLPtOz6gxPgJ7e2DKk2ykrELb5IDYu4YZgkrvjvGTbZPv0Tea+l1bXD18PNgn6hh5VrEJ+C1JhBcc2ZxH2vMFKlxPhgHQytVTVWS1faLthteuD+9GMu3Ym32SMxL6rmfBa+kKjVGgHXoNdMTHi8tfLgxl274otZgByUbZb7rEnth1MGpa1uRoY4Wb7/5sw39ej+2WcSMa5okvikoY6LDj0X7tFJePvBHebU9hl07OQmDhPfbIStYvcY2gp/W2/LIKUeX+Oz9p/bS/G++yVKglepeTLvYNcyt+dewe2iTbhCWruZ7yDfu6gOqs9S7joPUeoXHBqll8Ub1ahCe9Grn7QbNPBPB2GljBP738/kaq1IPB4K/DhDvADWcCJcHqIgWYKNGzJj8VAt0w1VQTUMAUdfHu8Z9DNbIocaYi9yK2eIyl/INLpMv3PU/giJHa9qmkICUdv7y0L4Jj8n1Ks6W2TFJS/sGrw1pkUxJ/xIzL1dpNKc3q6tLIvCv9JJg/awcpRj4xu8a8yfQp/L/cya9rOg5XmBaQFhDnZG3YzV6HmCrWY38uQGdKbDD0/KcyY8m/FhJ3YWEIsvae+EDu39oikLxt20NZbVLbYBXOmAn9D3LGCCsasd6N5OEqdiOTfHx7rkiheXUm6Zz6nuay0kB02KpTDB2rq4XTgxNZkdv/UXw0D9UfFOCn8cBDycamxID+WqXaoLXvgkd6X2mv2g6PUWqOIoreV9tWZjxjnPzWtrsAP4Vv58x4Sqwbj4S5lc/tw0aZQVO6KcrScHv3nm+zAvlY8qh+mN81N0F5gEoYUHvJUii3514s8AT2IXSRQIPF69I2+Deuhcc0b5H2eHKdC/9FXKw1nR1zRUUF1hQUti8TVOrx9AODBzW6Ro0AvEQ6Wm/gLG2ra7F6WxWxInpRf4NBsPPRgdN6A15L3XAJOiDma0L53nGutJ3PajuEau6AcB5SQudD53QYtxUcYKX3/oh2V9n8rkfgFeYbNq9620hnWtwkRDxIzzSpvxkxMqslk0szgMwzB8e4763SB3wEZ62V6LBBONjiMygSsRVTP4wHVky2u4KwKQZMDOfpPAy2c7Bp0VB9x//4n771zllKJuqMEkiTXjAqr9fdIDLb+TaLxYkJdDV2uKjoqtxEyqqcXM/F//o/oZdjU+GvFhsuXkLk3DU8Plo3BDQVPR6vvyAcw/MfRWikvBEnXth3A1CaaYOf/0Jsc8RvIPPx2HCGDvy/SHEttSQzNWXHOafiC6+nCpsQ4JdMoTJTMC36ZTiNgH375+wGNbDfaq2DDqLYcFT/DhMiAY+7GgHgk4mWLYII/LU4UNSo2YwpdrViK2ddfi6zutlCWQ1yCCWepcyQaWmZawKRSEaIq8Disjj3KK253TSbdiPJLCLWFy/G0JYuWtj5C/QjXEzBScI8lA2RiMj4Zy42Jv6khq8qqxWzRDgW3VqLjnGtUpq+WbdMHNlW5pqWeSbFeg9kv3AVPWm9pnYuQQamaAH33nzO163bAkisFxLcY47lS7b6P6tRvLFJTWTUZe+YDqrddBgQijxnol9B04khH7OInhZegQOoEBeq5AiqUso3TU+Viw5gMStvejkMbtNe6LZBEmQMp9Avv2OFlRGaVe3TyFUI8bvI1n8yqs9webeTYQ7jvU1Fhf1lVc0gSHsEpi7KXjfWH5RL58vn+XI1M5XOCbtw5JckumMdgCbKp03yfWsQKB63Ngx/77dJXifYhwanFRY8UlXqz4cAPA9PgNz218CRusJ/f/HvPX73DAO6ZlfURIoYUMJQIliNSJ+BQW49X1lk6haOtz9qetziNOr8/jS9lHOhWSPqy0HV0vHVGv+9AmqiHEo6mhrlObN9L3KyPzF7R+nGqhOtHsjTv0D6wWlHkFBurcb4gjPbFJBMQEhD8FhI0yDYcOL+zoU1tu4XaYbq/XgpXUCTQEqdL+Ha2SxPCtwVh7CoyKuDmahQYdhPLKloV78tGUYhJgqJ6plaAOruvkB1GQsvDfuJug5rKbqXq5zFGgXIRDs6An+gS6qXpYI2i28GT5qwFShLcOo+g+mdzQJySmntjk7ARYzd5FQUnONrWbOBs9TPodyjyfhVfvFSCG1APBS1T3LT+NFgXonCm+zifDN1U6/g0BIclPDMdbO/hALlK2A77oabjEftM4VfYDNBfsjoDhIHJQAA05VzYgo6kVPhz1f5DPJDTx9cV8knGWm/e7AXlE4/lcQm2p58aucYDGtNA1zgkK4sPbGap64ZLB0G992dhiZfNZf4TkroYXGMcVhMBlGvp7y5FrYiuwcyV7fVPjxyDF8oqS4rVznGzX3SaovWbnobc23kC/VSPTWXGI9JavV3Duxqi0dGIpvD5yMB2GDsxHd2dd4EjMVW9yVKsCwzAM41DX1FKVY5ueEOGr/3+FUmD/sd+Ocv7e7KGfp6i4LVh52eppG5XUYbRL0O2hm7FdKGwWIKw5pgpyaGC6VKejK/64R+McwUUoDxS67uoaEEX+W9ZgX3r4ePD5+Px1Dw/yu7DoXHauVHvh3JdXp9ui2kwUQT7xnsRhtGm7D9XLt3wEDjjRamdaDcz4asUQLGZnWZ6YidyaOGLT6/eClcrI/3EVIgZATyZUgXHJOhFndpH3MrgQlRubnH8Uq1SdvIEK/kpscA8M+V8QT0nt5ik/4TWnHBuILRtZ9ZtlI7nzgJ10pkNugs5+xeEIWCl/9ADbMTqtob2iD8+tN8k8SAehFOfVhZnLT8ebWvBkwfcn53c41lXdCprqB+xUCsvwpo0ZqVXyY2sIkU3gVRT/sjpw9Vm5BAh0N0dKoYS5MGEzJUK7ZpKy6U/PPjfI3LujhLwUzrocfi+irgCo0yjhJpKGvIsutni3o/wnNgBdCdJtwNNAHhNjIj/Oz8G/PSaPFQLh76cvTxuzjGSVxstU88T8ySga6WGFhJly4HonGuBMQqexD8GGF2K96rgun1NpbYPoINtunqTd/fh6nkoVXFAElPKMKFwWFC/dQ+PBZZL/erM1qLSbU6ET8/zdpw7+2WQetw8Lx3qLO4npivSkq2zZQUXiyc35aK7MuN4Qsly93uvbznALrcPXk0+fI17DTCq+mnJF518sdbFIf75EVi5eEfOhbZ3XK2qcQp2UxJNTP3IgUfHaUvfWAvwoxs9fGJzICa8jqY06h8WDywU1EM1xiLYTUMBTiVeDhna43TtH+QenAk+38SvoO2O0FL69YB0B1oJifz/WBlQvk4T0LtzDPYrC17l2mLkmM24a/NJopQJVJSZiIw1YbsCTeOeecfb096NISgfHxBCJQmZB6+ACyjhsNiSZwDh3+FLbGUx0Uy/GsdGNsNksFwIHiZtc46L5g2G/UyJ17HXOIFtfT3n0leb68FkKcsPaW8Y+ZPaYkrYp/VCcC6Rt9uyrDwpBsR/7HCPhkZgHQHdWQoccBGEzN6osl7JGINU4E9Jq8mJ6izQyq82f5MbyBDsZ4Yiq+Z7qxzcwRCdrRG65OgdNm/hVTnE6ZcfVtBLFgEcPuxCYM2D2ifyBkCXcHX6rzpU8WClHdOvGOfj9clIqqbyiaIgAn8ZWoFY6+pPAezJOal5ZkRXTGFK0pThvKEe6TOHLeiESkc28bFfYHkfEidn3Wpkmrv9HghId6EAxCSp9X+s1VIQ/ZNN1Xkiu2fHWTTxAzvp9hRhEFYVfyDJLHW+aGXLKs7v1OnabfzQvDsnTBjahpvGt1CQE+JxLQCqCe0y3lnus3mWZ9DMoLau0Ze5LsiuKkYZadfAaGo42k3tLfEgDDUMaEbUoNpxoQyP4sh/UCSKjc4di6wRe0fkTxcoJhhmdCUV1glTQ+QXF4ARRo/MJxY0TCHS6KXIRDAGd0inWSZBe0LkwipQEcYXO3CmuksA/6LyaYkqC4QedMIryG0E6RecfU8REEF/ovDfF9W8E3qPzYopxIhju0bnuFJuJIB2i840p7Alihc7OKLYDgRd0fjfFaiAY3tEZjaIOBOkGnZ+MYhgIYg+dR1PcDASu6TybIl8QDBd0NkaxXhKkf+i8MYq0JIgndB6M4mpJ4Bt0vphiWhIMO+hoFCULkqCzqCKiIJ7R2SvFdRbYoXNSxRgFwxqdrVJsoiBt0blUCieCOEHnVim2I4Hf0flDFauRYPhEZ6UUdSRId+j8rBTDSBAH6HxUxc1IYETnqIo8C4YWnaoU616Q3tD5VSlSL4g/6NwrxVUv8BM6n1Ux9YJhF51BKcqPBOkcna+qiIog/qLzQRXXPxJ4ROesirEiGB7RuVGKTUWQjtH5QSlSJpQ72sjJVWqWoHKNE/MSK1eZ0OaaNrJ1KkOWoOEXJ149V6ZMqPzSRi6dyk2WoGxwIjxWyiuh4Yw2cutU8quENmc48Y/nSsyE8idt5A9XWc8SKt848d5z5fqV0OabNrJyKmmW0PCAEy+eK+NMqDzQRn52KlezhPIGJ66XWNnMhIYj2shHV5lmCW2OcOIbzxUHQploI0dXKQcJlQ4ndh4r20Jo09FGqlOJIqHhAyd+91xZFULlgzbyq1O5PkgoDzgxeqzUQmi4pY3cO5WxSGhzixM/eawMhVB+oY18dpVNkVDZx4lHz5WbQmizTxsZnIpLCRouceLZcyVfEiqXtJGvrrKtJShfcGLjsbKuCQ3/aSMfXGVVS9DmP0688VhJNaF8oo2cXaXWElQ2OPHgsXJVE9psaCM3TmWoJWhY4MQXz5WpJlQWtJEfXOWmlqDgQMNEILl0HMhMjEjOggMHTOgkl8KBNSZWRnL2OPAWE4ORXC5wIGEiN5JzwoF3mEhKcpk5cIWJSUnOgE53Rd4SDA06ZaFYZ4L0is6FUyApDbPASDKSkpmNGLGQlANmOiMpScoas5UxYk9S3mI2GCNpSVISZrkx4kRS3mGWlJHUS8oVZpMyYktS7jALZyTNJGXCbHRG8kp+3OaIvdBzTsyj2LASK1PyspKJH6zB8Ldh0/rved6E/wOxHVj+gfjxvNH/jdnywv7qqi8bt7tHYheP6S7+rfMo+qdd9/ft8/DWfspDuy28g/78vdyt1uPfGc/T+38gPqz+npX3/6cSf3U9TrvK0l+AVQyzsgkfk70kZZPvVUzH3UH/DUYhlcPrQMpAOQMlfTZRCyhDacMxhsDMzolHwyvAdpZoaWsPMir24d+mByuxZms1nbzUWlvDqAurqXGzzDpYZTTMWm5yTRuur/DXXy0mh/Fa49lPYCVpN/HFKmY4+wcO+5Ee9m/5XXROrnl69JJvWxUtTIz6iEjEEGq0NmjTWckr8mSVs7kWvK9jqB0DXXTDYJH0k0BfiAOjVvX8ww+YJ93F5o60JLU26jSqrVbq3Gqi2K6WFn6rEKPhW71ywH7Ez8y/yk/GJi2s2Ak5uu24S4LDSbJpDNctSxUaizd//eVjCvw/Dn7yv40v93gGbp1Wrvf4/LxpX1SisNHY2A/3Mxr2tuOgppQM2N/JDwweEihWwfJLd6QTguac7dcjtP/wJpnPT8Rhf8dCZpaMCZ1Q1nhlUG5IUV54IM1MzjMxs3XekLfMizwzZbrHM9vMhRM0qrOV+1xQO9RuA9DbjgDGF+6sTAMmwHsVg3JZb5bO2U44pgvWxdjY/ZH0f5y/I6KtirCKug6CnExzoseBpiIWi+aS5T23pMyIt4BVYlGyRix9zQdG44FUWGFPGlkp70kTK+cDyZnwSKpoJKx0yG7/pVdJ08HdyraGo6NsIQqywynKHiKAFzMMK1nHv762ukQTH3AcUFYQd8hLeQPlI0RjcFYpTrEhVgZ9Qp0h6PCUUG4hNsgOEeUeQpRRX1+l3J06olPoFdQf7MQrOI4oFeLe0CPKESI2OE8SU4BoHXpBfcecdjMcayg3EI8m9/KA8gEiOLwsoQwQaYFjRt1BE884XqHkzn04zeSlPKMcjGgSzlGKU3DEKqG/oH5CUPAUUJohnlR26FDeGkImeOkl7dQR3QT9EOoubmWbcfxCWRviQdFPUZ6MiL/BuSIxiSLaAfqNrOBOfjOOe1CuDFFcbuUS5Z0hwgAvM0oyRNrDcYV6hCY+4viEMhnizhl5fEX5ZESzhHOR0rRyxGoJ/R/qfwgu4OkC5c4QG7fnAMrcEBKN+tJIaeoc0UX0LaqbJj7h+IxSGuI+oQtKVyJmnF8kJjFEO0K/Qx3NnfzOOB5AuW6IxyS3skZ5r0QY4eUHJRSRTnA8Qa2NJq44/kEZlRYoKS7lT5RHJZoe51MpTo0iVj36G+qXEcx4alF2iniaZIeE8qAIqeDlXtKuXxBdBf0Y6p5xK9uC41+UjSIeJvRzlGcl4o9wPiQxsSDaDP1a6svi7uQn4/iLsnVEGeRWzlD2jggZXt5RLIi0hWODemA08YLjA8rKEXcDI48NykcnmhnON1Ka4oJYzdC/Uf8awSs8naHcOmIzyA4tyr0jpNDoSLnLjugK9H2ov2YnXsPxA6U64n4JvUM5OhEPcP4nMQVFtDX0DeqHmdNehuMC5cYRj0tyLx9QPjgRanjZQRkckS7heIm6sNRlAUdFyczRZXIvn1AOEA04i8QUDLEC3VAnJYAnUBrEU5QdVihvIcTgZS3l7mJBdAZ9CbVSdrKNOE4oa4iHiJ5QniBih/NWYhKIVqH3Ul8unDv5mXGsoFxBlFFu5RzlHURQePlESRCpwTGiHipN3HAsKBPE3cjI4zXKJ4jG4Xwnpal1xMqhz6j/lGCBp4xyB7EZZYcGZe4ISUZ9eZVylxZEl9B/ULdqJz7j+IJSOuK+Rw8o3YhYcH6TmMQR7QT9HvVNzanKcDyEct0Rj73cyx3KeyPCBC+7UMIQ6Tc4nqIeK028x/EGZTQRkJfyFeXRiGaA87kUp8YRqwH6O+q3EuzhaYWyM8RTRXY4QXkwhCzh5VHSbnBEt4S+g7qv3Mp2xvEfysYQDxX0C5RnI+IFnI/HAlaE9bv0pf8q2dLJVMyrJkeO545Opsa5NuaTO+WETqZP7zcR+AH67B7PGzWnpeb5VuXxeI7pzFSVI+rHnB/P9bVs5vJ0cl65bRo+hZvn1pyj4/nmSs6419lXXt1mn0/NlfznDumOZ8On5urZqPOfu8wld53/m63J5kQqrRbvZB2tvE8xxVGUd6Ixj/pHSFXLrIlmVsyJo46pcZAWe+x9JU2tZjdpiBoziZHOgwwxxaV/R5pbO1snLay0T/Lcj4PyKK21aM6StVru03U0MacsaWyU99LitrXbRDZCG6s30KcC/ybsCWPEKwlbbBmUwAUaN+TJjrDRdRTGLu6iqZ+IbTsxlbP8R0Zu3ITnuIstn4qTcDoLR+hwBhvs1+DgSacdJF2/JNRmEzSXnLUmnD9pO+YuAKMcvgTp538iHLSHlHek7k0YdIia6oKFkwNITv88QlVr0q4DVvQtEjjkmQc/dvcfiKPl+fK1X2Opo1yp0M4/cVLvJ+v1zr7xzzN/1d1Ymyzl8WSmSPSflRNsWem+LB6yRhQ4i2F8y8cPTKS3Fd7mLPxCAU2sn/VX+tZ8HFZPOTpGbVJ60v0zSnYxvl2lqnSf/n5scLlnPv4a+fl67IZ4krv5Wrg4+rfG+Zz1ZVnu2ufEn08xNCh319Pma/fcleWAhJdNUg1SP9r8KD2GZVXEOryty5u38Tnd6+qz9kWcHzfz4ccxkmvGF1N2Lg7fermerF6f8ksimZ4DeDm9TrgD1s7DdxtLecnOoKjRnUWywUSfaKvIS9yhx2nKu9Zf9xU68kWyDvmOCxEluGFow1Ml0fkUXfu7RG1ns3ZKFHs45QNY4sVZvz9spsWB4373aKqsaeISleQXr58HGT7hPfnzLSwwvzgXowvvRDcqcD7McNqW0ntqG2eA5+nqirMMFMeowwLJ3xKr5xcFjTGIhr++Dc2BcSD3L4ZxKRNmXwDaJB1ZOEmv1Za7YInbA5unfmcw1jGRnSZAWuzmSQnxE1M4NQYUftvy9vFvkJSbiilgt4B6oo2fKOMby9Mp7pOL5tUOG3+038gfcQgE4buIqLReiT4GMNoQxzwA5w2qoSfv32UKx+AhgSIGDp/dIBeAzWPNEqtpv4+RwrUlIfQ0DvDL+lySaAdzzYBajNmoYxxrIsBTrZ2dZ6+sbZdw2CTVhLjCYBOnmP+VSa8IgL/YQHO3MmYMTz3Fo9rC6lu8oBG8XRFpe9Qmo4Dxj2TyGBQritDjoSyqtPIE5wJ6xuzSr2uei77a7uIyYPCUivp4So/z6yWjdUK91LUhk4EhRNHpndfTZx20Kch7pZTPQIWDKA8ZlFKCLxFwOfKpOUIUl1PX86ACR6jC0d9Eq8dy0d0/wVZzHqIb32U3WdafzH1skB0A7MCvn8lJZ3OSPKxKGr/m/h3a6d1ogtOj87avCMi09c3sGlkokh6wUnYh9CIHLZZ9iWz7masM9iXn2M37sA/FH0Ofh5deHdTFIBAPN1RpiaFvTOtQwQw763dZWxzrFS2qIE2RKLXC8hILYbo0506V9mszl6cQQz+qFMTXFFmLQGoMhGCI4r31t6fI5NpUNaJDIaBtf7K1m1N1/QI4LD61r2gSDffbTg5gkM99RFjXU8SEN5Bomhm9fVtoH0gFUcn3EdBAonr95HMa39oJnj4WFRGIjYRK5lwzOJHiaksgdPOAapMqBOwaJ8swBQ7otIJwpBPLeeH4suOHaGWNjDpO1dXRtQOMJca9+GzKdutVzpt3mljNIct5irXwnQVWSZxiKm0P9pUjSO46FRGF2YXCJGXnnRj2ILgnMsJ5rkz3QagplFKFhMnsFk4SV4x52kTnSyNLatYKsGx9iqeky2d7T0vuNSIrKbIpxE8eb522+coGva5y0ioFxJK0pANmGvPx/Oj2TfCwDv1dEn/QdfbknQmePMLjmjeJ/EAvsby8IoCrv5vIM4mRONquDp8j3gN0ZMavLi0JdxmPksuYpoX7f5q8nDczuggIjMaigdKpNsaToVQAnB4PB5AD86th2pKuqUhOKqDFmYSvvrqC27xnOK4CcICCSu4UZiqjI9v8TYGvJnb/iasXhemzMnXzXYswVTFjeT2zHA+/fDaGJUjOUm66+NVsIqf5LEzm7AsrAZGWIJcN1wFbYghySTfflH1zhYGdm9Gqtd4H3E6ONalwxlqsxVpH9QRtoN4fKrQVd+u5o8edMqR+kf4BW4dBwU/gymAox6budXR0SOprTgurt34evfLfWY22uQraHB5ioz2EgTbrD988yf8HNdMmdt/KTUebDExksjIb2thyJp0z5ga52mxc1ujVnidzP8KGZt1B0cpKPx0+/3Vqd7ihDXZWjLEpWdI6PpW2zeZxTQDV3PBZD6OLZJILHfy2gVNFSw16Aed6FIDW4s204mhQYVKSnD9NIBZwMgPbt/wksAaN7NVyIa2q3esee4/+CfVAWkIvFoXcOobNHBi5oBgm3NVSvguCSEpwjBlLKJ754ou41SXJgJ69eu64sUbRbF2ZgFekifGeCqmyzlu2pfEGQZsCNs7O+XmX7p/mdUs6IptH2HZ5joV7ZkaXVs+lxZCZOmYpWh8wJOAcEw/ZtlIzDqecX1klaFqYU8BfmTqAuqKpqEIz61kRFvtF/6TDMdsRfDYT2NckjtqBfUBvCEpjTOPJyOEMslOIjzRXcwTSsxY4DmPohlNB1xcgNKwEe5rA7EDf3LBB1RC0bgKcQZqpQ07Mw79/GTG2wT4yWAcXVkWSmT2GVijRWCIC2SlnHXFWmriK+3TQtHHBq6YKTIXCVi6I5H88Z11HySTFLt9k5qOTT/xsQgdav8Zf2Lz2O0HP2G3MxSW+MoIvkcDUmM/gszIhWcBtElttbETYTmGdwrfeNaD8L85W5aat6M707IibhQOpaxuyHVhfcDt4ueLM12ylpJWwxJR5aaKiiawXf64t6zNiuHCsis4twNOPcBAaUadO4FmPfd1fSlNflc9q/zkTPW8TNjR4pRxe2syyaMmbdPmYxGHHpK8qIpVpeBpK/MIq72UoSvWIAhxBao2yBDd2OEVEy5FgWI2btPHcT+hyUht3vfMuFjttrprptMG5VeicnJGlm4pT/JtNljoOdOLffkr/RN+QofkRfwHpPNS+Tuef/hN6iTk3pAbnxShlmIwG6SHx/EdauDmUmwHppPxxEU3bJCVVjKkCuY2FsmCArgIhFjkwv7ek0tz2qzEEkWvubhWMObO8ZXFDeSZVy/I5i6ilMWQix0PNKgUnV2c6GrrVixhEAUHT4O6ae/Lw4ufkB4iSajK6Mv3hRImP5cvcg9/12nRu7rodmCjPXSPbaZWZziFnSDyQtJjadnyJqCEmLOkRHUqsmLuRlhq7uV+7zwG3E2bcPhsFcsSXWtvv+9WUQmV0/9hbUUSl9uYRuppQjI/uH/pjgQiWHwl2R4vflwsAA/vz3owlfAhj5FI7uRS+MmgxtvQ3hy+9r255vmpK2p3+CAnP8WAZ9OIOQoDEHvSG87sCV9i9PP25bvnBjzTY3ULqz3UqlRu4KwD73mvXH1J9jHqUAMk5AGeGvQbUyR92D9caUinh/EO5rPfGiYUh/oP2d4eX92bKmLyB63Tp5Mb/DWRnxqIdsmdrcU7tye9ckG8tTouzqQNzkH2CwZFJfzADxZrLrSOzjrU5yubh5sSx6RqQX/YLZvgC9BmxvV/vgrJd2Z2WOFHt38zo9wSs0/W799/tY7gvtRiOAEm5lzBY39xiicvOATArAgkdBhazf9GDfJDHn9HSrxLz1n39loeU978AymRZsFp+VJxjP2nuQNrecmofzJoF6huAAvAXL8f4Il7ohveG6uX43+5D7vpGdVbLP7CL/S0U5EzY5lhfp7gY4JjU62cDEjnLxJOGNSxD/jcTiTDMyA3pUF9uuK1KWZteIq181gqfg+EyrPH6znLbrN9KdJ1qvOfZFD0Mukd3hTUvXpzcK9zzRy5P5F3hn3Gh7RjbLe3NfoN0VmB4HeWnurBhOSOPpRhezV0w0bM8voh89F3W+YzIcE/e7VZfS3X3zw52YaiGkRhM6I5FcUWMI/VBMwOVhD/Oyy1RZrs2+H6ZZXS/xtnTCTPk0HF3f7UEu8161r/WusXzViSKDH+UxjhVpmUJbDpGtwZFkgNO9SP2a0lLPuwvTqdlUtQ84755NqxpWS/hTJa1hli2LiRaebOlQcZhiTGY6vyuzAOvVXAVeAqIJo4IlbPdAfN3hv+UQG5a4YQJj26wO76dXhUqq7x0YfT/Ogbdy+Pd/eyb+67IUy7TmhW5T/CUhkPX5jHsJnGHgAVxO0ONLG4LOZuFSAQKZH4ULakq0lxRzl6F/LLOt8/luI2zptub1DudGx1jvhKU3Jdj9FjkSxcCuXHeqlL4MRM855hom8yf0p7xEZWjqLuewuSeEmho/OSaPzqJxnKfdNIh4A/V6J//g4mHWZEPGnO2VW8mkXwTQBr7+B8i3/+f7jgGeh383UW+t9j1R8XFdR8ef8x9lc6P0TRp3nQTXkjpgOsSrIcFmim6WfFrN7QoODcjQXadIaypqBOoA++A/24C88SnT5Yl46pmSsp7ru2OkfZJotVOsFlhvmgQkidPIvkyLr105FhcN8OZ/Cw9JyUy/dnowGsKXc5w+cRd6uitFM/voQv5Vpk/DpbUBe2WzIXmuWdRWmIXDphsTf0lFz0LOM4LbNr2IBuGx9y/S1Yg1FlRLbNShB5TRXk/8Z2ljIc+MACNM7OXr5mvbKTedVYpePOzkAXiMgq54hcDm0OXWYR9VeilnIZZg1YFX1It17BOvaTzY0UuYlfb6KFVXYoTWba7WSFhkor9RK1mskccnf/J/w0bjDAyfsWuyyDCjHmu7AwRGRm9iv7bGzMt0q98AVBhqswVX1B9dw2MZUeEWo8V+5X/26tY7VW+jb923phx00Gvp7naERt8UxLV74a+Nr7mLr98fJVZ4HMrDgOwfOJ6bxe/rljXBwaYF1yFDbDxDZugCBojG4ZlO5EbEjb+ICTuthvcMt5TYmToeMbEVazlGaoqz2Z3nedMAwM2vGe52WKG+o4MbfzQiIE2V3xUTUa7p5qq0JWftBFkQQFFFesVN1LDVtd1UEVjfOPoPLBYYOaEH/OOsmmpYr/qbdRnNo3Zol6x8S75l5xYp6vda81WxFV/+kt6hvqKf9k4HDXTpb+7sHv4qnuxo6n4XP4fbkOEGZJVmctnXB0JCYYr4sXf096oHReerdjP04corXbaZ0lTZ6/wvMof6UDis+cWiKrFTyu5/jggLdaqrdnyi0oH27rb27Y7zhZTBK7ffjpoWBU+jzivJdehyI35WULaJo1inOmoewO8lVrn9hrMtwWaF9J0iuNvUceVqs6MuFuaIVc7FGRh0vlVU3cFSa0pZihKLSI4EePN15gnqfmcu1cdUmcOBs8Kr66G8uJVj5xOPh3f2NVgKHPPEcM3gpe6Mto9A1/ugGekfBzMYc6IxfajbhdPmVYWrhzbezQBniZ1uLWVF8ytdXjcXfrJr54ZmGyyNjpTaYwMbaksyzBJGGYsJs+e0cklmXPd53XAMYMDLTA3dcDGxzDltjcr8TmrtwwmCVVOwj4V8C8U2vF6FS5cyWTP5Oz8wqoZmOLB3CMCkcLjX9STWESwSG7U2wu7ocdaBoqB3R3pKo8pw5nJ8bP/DPiHiqFYHpEzpT67qSusweHzyJPy2dKYrp3bA4IMCRMXwRytJxbEQyy5ZZ6mPXmkiIZv0VH00XsGPrblLtSe/g1roboVLtWnojNxsa10JM3pQaDVYVpvVUzXzk0RQUI5bU1P087FEPneOgTakyNrFyLB8tNiDJOmWcBjNZX3Wwip2hvtKNIqtGWOpvkEr5tb5iJJ1p5BMMK36JaHVO2p/ZxQWcj4bUVK2X7ZdnNIbKWjaD5R8JtZaqt8jj7ta/BtfLamD7cTBftBbaJgC3N0fQS95jJr7KKSrD1tCI5vQi6CoXbCcCx/5KNbFlK1X6sn2Mkl/3lgStlekd/hM8ftRSdZn8v30QKq69JsRUjXnlLMEHXFbWVG2WeE8DWyVWGuXh1pb9KruTV9jvbkhWot8KKRpk9vRbDk17eWrbgtbaKubWwenAHHt/Zzs5x5AmGBaOkxOmA8wQM7x38sTfPDPTqbCVqieWzTu2ZrCKBmNbzm2Ud4FN/c8FEbw1TRIXjgeajQd0hU6URaqDUcrdw+tS5QDvm13FK/uinWnpz8EjfJRf0lyH4LcqJQLCp9c7t+gQpytooe7feNnkb6IEQLtKJ6Q/1+eqUTVHV918V//Vx0q+azqunOfhQSDWAoMzoVXZ/T6mUgGEW6DZexO3MyF4kk3wcVhMzH2la5qA+pXcjLxNdM4Ihr1rfmMrm7MzjZ3xaXqeuu1JdOojzOT4pr0J6KyOFMElX6lVmxi07+NuCysAmpmwsr/kqASkRJYu8oJEZVcLDCHI5SdyqwP8/zNevrlav3ZObydW3DWQU3XbJAOLTd/yGX79uhZbnwzCe4Q4o6/UaXb+jf1JO+lReL1t5nIv0jv8PzfftFlJSErJwxLb+QNFY/SIYzmpUtMTlGUwy7IbXZT/naPHzIBuSpvX1IOAX30yTS9XrLpt/6twpaDssZXPLYwGWS6pBDwwFxibL3kcHxwQEAqeEEtbcgTAhbx41Xuk7HVGOA/9MWA4acV8BbzVpVLyJ2aRzvIFvAsW1hPl5HpEDe3iwJ/fiE+R6yWBV9Bb+krJMuTUFOX/F3EnqOqeqoal/qvLddRQ+EVpu7p6Inds1KGbSxZz1Nd20zf6L4Rj2bqpaeBo+XNduNUGTuCF34ESO8foS8vOn5yj23i2qv+OXdb/9YzQhjjsPWS2eFYxANM5L9AdEuytFkP14OfaQ/T3AeR6Qh/pmDUvvixV7Iim3e9hGE32klaVS/jyxvGb4Oc7e3VnyS08DyqreZYkvGEZ8unvcAZ7uwVtanZWTabfquPSAFLV4b0sr93t1enQ5aLFBcEuuzlvicXMtrlPp6Q0g7HiwSjbJExJ1SkWjh+tjol0FyT3SCXzuKLyYbpUzOV2873CwSjXJCR9yCPbHuRowTGoguhXR53IjnYrZUf8tI8+eXkEQy9Eoud9vlVdSvJdWyENhH5jmhPbmKe7hgiM3454LmMv425V6rmtbVS/xUcmHgW8wFTzaLtmtoRJZiMTJLDMYkm7+a1dy+BEEAvTcY0E87J8S9EQavqQoKSm5a+epyABVqq5GBEMMgSQXPU4ZMOgRO1N3VqLnmLcKFDIdSwmkrQauP2U6BUpMfKnO+q7CYFJYjM/hykMIjR4L5JOQhcuhtEp45O6fNUStLdA7F3RMolcdsjkH+3lNSksslsVo4ZUmiQ4fXhMC0P/wwyRuTmCUAeqdrFxzK3K32kXX03urRijPBuEFR3ZKtDwRB3M4jcmvLktr7QpLFLBaCSMgFvIoImVsmb64T4UEnoIh8+mcoAcYMvYPMUQ6fCb1RF0e4oR6xb83TV4cb+uOO8IB+jJDnSz0Rl61wJSjnFUxg0qHPEBC9RGA88t+vMzqX6WUt/a4WAy/gdbjIw0rzBK3u24cPS/Vagb2c4cVcqa5qnVtRh3c1F+yc7EuyIRmNfkJPZkhL4HsN3X7i+I33yNDjIyxJ9JGBqTSwsW5pcGLW9g5MvuBI2NyxU+6S8rSvupL13cb7w0OMPlA1arp2Bv/dhyDQZ3UmdwGGSJAtjZAxL7f12KUZhMR7BYxMvPiNs+6QWSi1gB9zNdcGc6GcaoUwWDWlb1Rp2nRC3OBugrc4ygt/M7TdXc6hGcfCAMqXHHovQR9/bh4Bfii7ETpfNAVMJ/K4N3Urtn1b9XDZ5H87pHN6jD/7XYDdT/1niHzgk/8b33s3gMV+luyuXiPRquBUab+StCytIj/yIY5OKanzoCGmXQavSY5EoclZyHPCi1IodindvvsBlBjPwQhhkwOxBgYzvP4S1LvxvDEuGYXUK4kC0q/6efUwVnR7FSB2qsxeNqiDVuDXcI8VwQUOodGMha8COmMlloQ9mHb4u9BAp2Db9Pp2HfI56Kis8IpMx1HsxGmQAyREq0xWfHuWBSs56h5T5uPFD8fFLhBezHPePoDRnWfDpuUwZagF1mA8OMB4a1HmukPp5eVcxLGBLgb3fpZ7Qz0cm1zTXUGpE48MscehgTF1BVpWrhX8S85Qk9MMZGIf3GGgRTax+gJcosRyQv8u8OjvE/kbuJ0VDhV5rMW8asnPpTOJuXuCGfdjQ2sQfStJpjffQWxzjUVlhmUBFOrYsR0k59VfC/9sIvuKjcVLcH8K39NEM/uN7Jp1Io8qswecC5Gga/R/0MHfP7haNMYVrbRqV375rsTkFwfdn/5Nq8RIml3iRzjq0nTd/z748cEG5AxTMvxIO9dyLafjFXd2i9nlcjUV7OpOMqV0EWG7gEhRYKWfnwLb+4jXwfQWzAnHCUuRt2V/hVip2K1L2OpW2ohNDyO5IeR6k8tjg9ftHADEJJ6BXtVgVSXIbyWApI4rQlCs1Ysh1FFPr8OhbKsyXpOoDxZYKLygDAhkjT7HnLi5m07RUQ36w2heA/7OdormJzVnsYH+rat/XD4PvUjso9eyxlfveflj5GZ6Vzv0woc8pNN7xBxIq0u4upsVIafFkFdGVHMJUYPoxqQeZ8WKhtzwRU65oQ6hXBgll+HtZejlDhnryi0IYo4AHc3JVIeMLoaRUB6inDCrhFUkb+HBOhFXWNu6Jbdf2UW8izixR8fdtZBmAhZGKmL+43QuXNaQiBsu0c6BxIokUssZjxXyldg5+VFWhZh8xv95EFdvqks0lRCmFbz6X9P39cgq7w8iNy1w3CqGh5AYvmK4EZa4ntqgoX8PpAh1vcXUKJDnWa2dKaDUBmeyj+yn0DfUDKkF9C7miNDf77eH5aycbYCz4u9dscxt19TuIXeM4GzjoI9zMBmUwoLmbIYl82P+u3PRdaREpBEg77Ad69Vjd/QpwNbWWNxGzQLMOEHp2+qJzawP/nE7bwA09dqxbwQ1LLtQbjYmrxgczsHmWdtDzoq0HMyXDxI8y/2cxLdEx6x1Uw1xbqg87jilx8bqHCsgjkMV8reJz6f6aSRHvgFR/uKKy1tec31GteWkYs0nvcByjNxKGJf3perES8TPOIGxJco0uTTB6IqRujXjcgceLwym8vCi9fr8sYJLuvWnq6ojV0BUnkTijEVcimQdPltxup8B5I5ifUhkVVQFOzV9OaGF70tMxKM1wuJORe4YufVdX8HQvxtQl6UtjJQetQQHoVL/RgUv8gHCRmoVtRryvAIR59zb0R8p/3GxUMzDhCWLjfXYIvqaNnQ5lqkcfaWUxZW8+H0u9zjk49kgq+6l0F5wU+DhpvyEWmfUa5IeGNXzMyzrkpx40e+Ve8+z9oua8NSwcf1hYpEDmDrrgf9u8++x1PXzsyx6YAyvuSxcLGjcNWlqnz1mUalSQNVp5z9saD2TnMsz8nZtvo90Z9NsYUTRNS0hNmcEt6gCGiihDLfzV3U+4Ct4X5/bK2BwkA9Sr0cGjny60KC1ZlAfx1rFe3WoIwWtgd0FkLYkFvyHkNA+MacX/U/Fg6hYkq72XeouyHvbdArVufzLEHmZtA/obbhn9TQTgQ2gn9+jW5FfPnRbLK7jcQncD3t/yMOGjyQXgzrWm7XiTNTgQoXE9ZY9EGSw5MNGAIrByqnxuOuPdZKZ+2enrnWhOUJD4L8MGBOhfthrWNARCdjK3p1BU//0KL9RZhre2nBKOyVM51DQBrQ/hnPM+zeND4YK3uUFXy3nItXA/QMYA91yUdiGczqd7nwX0s/kaPIBaHoSE9O5h/qQ4JWDMPM19GZXjc+ail89BVXHydP4cBX+LPELNP7ud4qG74ywuI3/WNvTDbPVOlfRC6pRjTs7KO5bAO5g6A7R7RdS/OGeF3TiKNtxX/qH9wCxESBNiCxCzQ4PFwpEcn/KChnxcbMpCFNggHth5vWAb56uypkp5hqdWp7Uet39/fvAh4lwU5q535UTlV+OT8MTzHcso7Ebhww6Dh2lURJHHCXdYUGTu0/4F0B8awOc8uBzs+AQfpyZ+jTogc/j3b0mtYQW5J5PEIh6y69GOxKKkg5DUf6GK8GdkPBzwycA5WkbbB0//muwP7RHaDCKN952IbxOC8yM+0NL2kRkfE3WxLKb7yO5CaBOExl+tlNTOAEFbu1vx85gZol3UyrUJ00pjXPeOBzTdxSUSD0b8E70xfIHkTwnB7t3K7D5Hsv3gZyNQFQWc0ZK7NvXAe03cNuRqRHg1Xn9rt7VMTwsD9n25yHjoT7Q62+O1DBcRa0FRXVLPK2oATJIqoFfebxZ8ueCmF/3mR/6XvU00sELch6cLMr0HStQJpAP9xZXFS1ODaZoAWK1MpijeIorUFsRNzWaRUsKWNMZGbL4ypC0FspCLFjj6q4iN/80H8B2uh9pliyqCcWshcOQoFc1RCR77UOOAlGGqVcWsIeoL8ltnz3HgROUuHhFDs82B0uE8LKOFyON0m+ozTYdFYHPa8Vg9RDf4v9XEqoT8ukfW3oB8w0zFdkBbkS8u0SDr6aTHgT/53qzPPbQkHA/Uiy7tu7dRFkXVjzcS2sWRl7MrZI7SH8AQNkfBFOqTRxOIqfxbTt2jWgIJMTRqhXUgI0uqnfwAU/p/Se9WQVFdNF36129skIZrtH0AEqSk2hD/FqyM7IZFLWUSR33zZBnBjlUZPQP2u/q0Us/TYLq8WquqzRuE4sHEbnXhwpkQXkkj6IjEV1+Q2NSF46+vT7EIDAvu9Nn6vlzLjdaj808u63AMxulf3sCfBrAKxLBJ0YQDl2GZFcmyvaJ4A4RrGHC25cxRcFqVJ2YJ2D0EEvENtLjy4lM4CQ1NMEVdWwK39ash0N9Va2zDY/SEkpUB02k/086dbIjoSYU2Fx9/SAN1F/2//mWd0DLnWdAdpn9MDOuQ1MDC9uTA4UmCqQ1a/C5l/gtoKHJNoTAXjXvYVuHZHFsDXeOCdgDlBcZ8L1GCvC1Vs0nyI622E0WB/M3EKZ6Q1QRG1yZHa0vDVx2fMUNN61PHOnfQfew2XDw4jW0+gj5KY6yeW78l0Qe803OT7IycYnFNVuTU/NmQn9a03wVy7lBDWvaNjORB7EFgxG8RJZOct6D4+nNoJ2x2tEqF9LNHI9aiktCIxBakgyUwAOhPD8SjD/2EYObdpZs8aRXCjYFsBbV26VJ+T+f35CPcIj9YmDWqFN9obultpsRP1qjQ6UnlrsWpjGp32Jc+2zFTnNPdDagRMFb3COO6K/34WT6rjh+P45jGCbzSLzVphHv/zspeOWNOAqwd1KsV9VwbxWnGC8FO54SUlZVrqUJ1k8/kuSYj0kzTCvuHFZXqMjhdNO5VE5nfyk2K9Z7bpD6hww9yd8j26cvsiwgNBA27pAUYhBocS9AtGau1xPl6LT1fsz5E2zeqrvBsUduQFNYbYXG3K8yqhyj1AYC4uk+ykKNK29ARvgSo2kbuFNu6EfoQxvVVM7weAHfffNF9dD4DmTUIt06YpEtgIPe98Ud+LblDSVu42Yx9YyhXYS/eEpvIx9g5i8OC5O8nUAyOzHLjZXwY74Qx6qA28qKKS1mczD0xoC+QyMMNY43HWr7ot4xrcugA4tkPO9WqQNyH28HahlH2zg3zdxZAUepShYqoKemJlQZIe4FIyOUxTqpYbc6MwadOt3oNF8H5st9/Bov9eAiwsO49Vt+x86+NbB3tRfD51CPiUXXFBsC3xANkvW3gA6/azaQZN4u0Yg2Iwo7ny1O8mrMwT7BMc5In0Fo/fgAM7dR9QFXdcipr19TJJDNz8xaSduhSji8DebpckTIUjNzvyEu5/ydeRqUgBX0oWrlHWLMiMYwgl2Y18r6gEZOIDhXBullWpY0HbxUkwTookxRQalG8LRt+BrSKToXTmHDIRpzXTW7XTejLDDBVCLdZ0CPhwHH6BqE5VCYd3IfoSHQZgxucChnTM87BPcbh6AOui8N0j7kwkEqvJbbZeCBSiEAfjjjqAmJn5TmNdUJJ9WkYrJfaBod2/8nEu4jupcUBLVZ6vV3ymO7NqI/Y56VyO3wWxZTOQG+Oi9ABZTrFOTtx+cCRs4hn1o6igwMMmkgY0NVCRiu74LvVWtHa78GMeecGsIe4w0PmBk71IeZAYL5YWx0hAhT5YV28XvjholkSNRKR2tphy6p+3OrdVflAftaftzTFQlCKZ75ADaG+Ur15NrsrOdK60NWaT9h2lbhnhpZU1XR0+9K4a0p1nTR05x1ywm3OO2CiSc6KATGBcTIqia9i6HWQ5K6gwXvbOQoTA71GY3WhEmiEqeZMjMx28fgurgJLXQkrpfpGI71d2x7u6cf6Nje+/Y0YiCcQyUi06a1KKB55gcmmxPSPDZvk8f1JpC+DR8Vmf+f6ztX4pl4vCQovUvDFUHZ6rJPGgp6gF/6YmVfu/CNjFuc7/K7Q6eBaBnzLOAUPNwBBg7Mb8BsQJg25aD0WguzdGmUQVTnO13aYKBe0xRhoRRMDsmJl9PXmw9glg5UrUI6TpQUs25MQAztUKwb8cWnqM3nFQLMqObdlw3pKSk5pQssiM92dfn6MDNH51bCd0YmxpXJe1NWPv/5CSe4oa5dqYwp84rMT573/ITzFbmqzcVjyeCYe7NxbjHMUu5tGJ6552o6nn6wmepWbNm16DnLoomZihbtoxOWrWPDJmdeMniQv0CI0X43V+jX1GPkI7SghZjvmuUBPKWqmHZNEEWKugiHENktXIFWSCyOHFhwIz5kCQLOlJP2ppPw/VmbKhN9oNHaR0csGV4oHv5q1BSP5guEX4rEN3Ps16aZ6yq0IcD62d9BiOZAT9GSaOW8n2jNAcpNByRa3cLeoh2ROO8wP4SwaZOxqF0tIEvJgpo9WLSuFm9+PNAP/xwZ3QgKldHvb/jm35oIhQM1d200DMpHoXzkOHzrMd+Wrc1pStZoB8xE/ItC/P9YtbWufzuvOcZXUbopaTUrfziiqH3HVK9+1BKu58k6pNMFNWxY/R0FtA70FS3LiLyv2NZhs5+r8med+ZEs1gOwjv8K6YHaq90Bx/l16K7KMyNLnZVRcak9CD7UoTwO0KCEE+PApaUFbLbIEwMM+OoRkGPvG/GQQ7HYTRQ5whFBHYaXp9I01PvC8VC64bQl8g0eIuSyb6/9fvrGjEc8eK5tncIrF2bYbjOyX9mkSMn3+97dIU1Be/iC3L6S1NjQ7imm7HKKYkvg4+KEJI6bCA+rZSs8BnGM74adMBHTlrmNUG+yHYyqznkkUCAWneOG6QkYqiafpnEyF5uEAG2dgomwgeam+EXB375lqzwZeNviSNzNhdv2BaEskugNekneuCnY+psK4BdBeOmaZd97JBbmWzMllkMFZfOoH1RkuqcalRsaJgYIq14Mg4ucKbVV5I8ljDWExuONgd4OLsYuvBqwe9DD6yXeN0Bjf8E5YQBAoprGy/UD/m1bPv6RhibP0kKivkvWbxh35F9A82ybH9HAwL0YzuXwl3k0WCk1x1Gb300zQqwrut5PEj7Jl4Zl2P/uZLpvl4LxoCc403K29HrbEM0zb6RLYYO/GcLyz2gTBOOrc2QXkcfVL24psmKcDQPS5tss9szq4g+LINO6Y7Ub8P1lJ8CV2O3l0E+J0rgZVip5+RQ/ymE+rsTlEg0ehn3cJRVcO6xy4XRN/+8U64yMlppmg41CGu6al6ppthwEFSgxqaRq3KiEpBEeDS8pcISEcEUZeJjuBFfV7W3Lb83NgpC4CBxkvlbkaYOMtfw4KDSr4RdYxTpuK+Cs93dQ7q8okzXvRf7OcL5Q6IkIrNTdA5LMMHblU0K0TuDXiiKhhV4eKHeRABJLyEo5pEPCPQleJ3RbuNYrEU9emXiCmpSl7ma1O7tNjjsyPYIJzoLSn9172WnjzU6og9qXJNUKpU7uOzHbFXa2cSWHhnB1KnqG9nDSR1OnXIWyXvgNdSN+sgVWl6Khqtf0XRlCBswCBpQXyF9MgOdzXRdK/FStCkkd7no50NgkZa+R+mxllaV4PijM5yl1L5r1YELUjXi2CHWQzLHCvCd+Q+fVi1Yxz8Oqbqwz08wHApACyb2ZkaPoFBIRNqO1QAmQE4PinnExwKN8hm6l0n/On1ZOT+z03p7e19NTOL2Hp2tPi9FuHlUfxvttsrHbw2xvjMEiWW5zSi1k/YgCIMTqKN5hgLHj972EplF1Y9VPr+96OBOBC+VBbp2gGw0+DUWezX5Z9ZZ0/2XQ48KrXZjgJLJGeJzBKmvzMTXI+98eT5k1n2fyeaJ1TnJ7W84XMFex/K6tpxLltOR6HMLsrOXpgsUOVScgZRanTbS97ju0p+gamkTlmKlcg/yCfr6Q1y90jnV6po5trSrPtKZBpCYqmhmuNPl95Orsd2h/n2nhXWFnuzLi6Z4sOxdBr69EvjfT8Z32MLxs5n5RM2h7rypDwICm0SfMqPG/owW3n6nPK5y2tSOU/3c56cc8AvM9lHhc0FfjzgXf27BKL5hZ3GMiaTp/SeG3EPQB3R3Dg3aVHcH3PM9ig4+ydcSbUL7DOQnkO3qsi9yo0nObBbXOuwgd4HBZwdRW/WLVvTBDI9sG6pi2Nn7t1vewyiw0IgczaTDv0Nbv4u91MEsoD3CXmB1m7Y0EOWeEFd6qZGelRvZdyBKZ6iYjTopP0JDW8aOJrJsBVbtkUiiY5yQ9kVNlMsHfNmvW3D8gEO7qBu/iNdz4Wo+XgG5tQrS/1Eu1QNCzXyRr+RGaVdabF8IuNmuAliPnlWGVk6Q1am4z9nKWm4f5cZu6fy8Sa5RZ7BrpUg5hs4JpPDtdTgEUPHC5UJS4KfLvY5YUN8YPobjKHmC+OJ9e3/9of7/rfc3pl5EyGct7rqzoswKnOypr0raLzZfr6JHO0P/cBMB5AYYXRAAvIzer5lWn5Bv1Vr/QuRcfbYK82DMPiJtyPW9tIiN187Jv3tQa/LeC3q4G5HZeBg1ohibkYBYoD4A9JebtbpBGwss+3hpxtlozSoheu7IpJJYJB3iqbr9NxK+/XN5c9YzWsnU2nxf3egn304YvE4QnHqzh46V1XpcHKotCBAB2WD04bPWL/gfaNLV+tD85sMQpuqlYnuC41lpB06Ak5uSpnlyA1z0rry48TlMAouIVA3IFR04JtazM33/SAX4hE5D+fUXkF/LbXfs7XR10/b+F2ITi/yXjq/5ndoBdBawJ7Rp57odXJdheo4eah+TV32UeC7JHdlt4RksNyZ9YEAUVVJYh/sqPE0QKhB60Kb3DpvRoC3iV9Qe5og083fMWkXXcW8drctDAy/83BLhMQFEJ47ESdvwmlLHT7v+gca4msP+Duaa+BuMpZmuQJs6ayN9rUA0LdEhGA3R7HwcMaDNI6mwAO7gzr9BeB6VSByW+emIhSkp9pg2Rn2e6cxuURlt21MtOlD/bSvxafE/vcIBWxllcKUZEyIZBK+cmyMc/40Ao4Ko1U3Bs8lJe96BxaneVASgI5oDdJKs3qwpBcAMWP5h4oKhXn+moXSaR3qTGLEkzVXDoPBDBoFPqTZjHDzXmBABiuN5m5XWPx8wsbJTleoG1qlKUqqpeGK2dy+0wfj6SJnntYccrtRVgJCN1v9OLHVP9fpycVE+ipVJihkaSwB8qEXj2cEHgKF13x3si71ZFOUTw7c5zc7m2i9obLv6z+xRbxgr22uIsrV9I+mvCgYSCnfqCSMiPbPHCsrdYehynhwyVzq9mbDuH1t/JJkU1EIFtTKe4yFptHU7b6xVx1YERT1Dqfg4kq4zaS2uZ+cOp3IODfzvrXmx0sxxZCJrV2QnJpQzjCp03tFk+zEN9XGHutFkMLgF0z0MQNfsLLR+yEXUNeMQh+gXocfq5uNzIjLoQSGP1/ONu5KNZy6O45DwRjYI4dCDhugS3rMy7DQoYamLUeFheit8YpM2ccAp8nmfCJqCExoi26xIPTMV9Yu4vypNShhdCJW7CUpOndUZXkXjprMBpL9vktm5G9WLShmIlwV54nGWIWTXvFQSks0Q8meJQ4fpiQ01fbSyGl68WYOnoIWe2ZFJnBPOSTIgrBmmRjWfZR2dljqSQBcmnx2kTq6TzYFyq3FcBr9VhVqWwf6zrKXa/Mxp+eQorAiRdtlUpOTXjEfQzg83AvicdYLniCSNwUJPud0ZS32FCAHQDChuITlg7ZCK7DLBhnYhoPuJQH6QkN+8emnBra36+4WugPtyUiiZu809HDOCyohd6UcQQwspiTk3IA3QSK3xHjxJ371QSLx7LonXbV7oqzuoJQl1G1m0RQwAp2l3AL5Z+wIdM2ZJJtW0q+Py71K8yWdfasUcSxLjL2+FVjF3YFScAyvmjiT3S+pRs8XwvoHbP/iYSkqvCaRHPVboJUkdRxdG3i61OpomCKU30txof8vn279X9cCU5cQq/s8V7aWvkAOpJsdfiPaZaRjww6eTN8wI5HrmabXxbb9CAzOCfGcXWT8YB1up+XFL5YrwOoE0loiynL9pw8I9oaJPBR+Ys56j8aL97yZgnTolt0EVJHkjktRaQrJrJiCTnXQT6e2SuNgcMz19vNF9TQe6e9BqIiWginUKpRdpW+Eo3KUYMmxgmQOAguXVcJeKE4cUrcXkOmdxSrRoLKPGru8TqgshF4/LUUwUJ8rtwOW+B1fLCAMPFfnuHs8JKjb3Cf8v4RRTvWpIg4ArqmXZ01vJK4aMQOC3nbv3eQgieGwCff8egj/i23CFotoKABakN9o/oQSBLAwVYUOJFNQSPySbhwVEyX8Y2ZnNQ6OfoVxonMsloa+uCOFQOVBPNyIJJwUwKdCNn+7t2dKh/yr5jeiQjXIr3BE8QhjZWkdkQONGZiF/5YQL4gDRFUVQ71bidNFiOJeyqpIr2Z7kzfLHI1BXhDzuefTIDq3WFDqOpu8pwUsE1WmWvjcWaflybi9s5DPK68mHuPdLKY6gq/mpN3yWF97+kr3fXOraFvmRUAz+ky3IzfU94zx1NMDunCAi4lJCmBSL4fyCsT3szl5CQ7UFStDeRsReZo2sBs7gjnexwE2jznPe0otB0znKEDFdmpkughgkCIVruG1Ui+xpHG9NsXShTv1W90oNzawNCbZr5x4a4vuIZpBbLOBN9ulKjppyeaOB5beJC4IZ9EIuh93VjL/1dwINufz3AI437L3QEdu85UAlMvhBrAl37P18mvFeak/IORgINadaKqoq4wX5RLbKg7amnb4bmvgR1BsfanJmp2CieGmhheQI01O0l4uxopL/dJfpnNLlDKmJwVeJM/CxCm/5tTVvryd/i1VBThw5MBTCcPWLZoHNf+XM+SH2eC2dpyzPrHhHZ7eBG0Hqv4CWhy4ZuZxoUOHinaJhAcbMsq5VQSFhlmBOUdhKiN88104eC78nZGWJPwZB/ftSl/FRV1+csFlLXvG45CI5yMIEJVvyq6EG848z1FUhx779rIrekjcpcNRd0FAMw/A7FAjTw2l97likocyL0i47NESduRjksb0Tujpq4G2Y/wzwungi6ih+n4j4oz/G6NWOMq5NFMg1x4L+KknPTVUlYgHGYCjjWTqrcNyC61R+bJikU4edzQVMYA8gVK/4iXYx8njS4VSQP8y55ks8sXkzeFrzrEBNtN6dbiM2R44stgR2D293cektgT36Tp04rs51pS/mQ1pRkufO8DX0YbAjuDbt0D6LF37Z0W47nCbSN1bxYQaiAT9izI3RbhQYwONaax91+fJfe9nZCiLnBa2qKTwFwRcAuN7rOCjjKTTxhyu83RwlENc70wAJpWhQyl4Hti7icl90oQeJYA1cgxvWxNY8z44T3W01SkpstGapzh16rZ6uZ7zTgkmBTY63Ax1DHJ5WVU58mt0U9WYaRl9k0lfI0C24uWklWLe4QE7i52hqlc1kuixpvnYVmvyAtosTd7UJKygMAnRsrGtirnx6q1FNrV3CRHm/PyPnK0JzSmYGG6XycVFMPgY1uGJQ/Ri+yk7olHEZx1Zp0WyBAq4z0IuPwxyu1gqL1POf8NQ8wlxKstK5wzrl82qxnKPWE+kJilb43p/gVrpXKgmMpLL6Ty0M/Zm13pU2Cri9OaZ+FLxXIiIaoTyqST2X1rl1s/XKA2oEud6N4RGk4kadKnzVprpQmzDjTaoupN/XJD1ddS5qmSU2Mft7+auhOTppG7Q9zHU/3j53bVybOWuNSLFTAUxzWW9qVLYaJBOdKvn/3AODCeZxRgdvuxxLh/0oI6K3PxSPjjSs3PF95UVO1PVB42YTdr7i5kmGzjKbNHC16hUOezRVQsjpeiGn4+dlSfT1pa+23q1TlLQmpaE/U/SID+4vW0I3he8bM1uo1dm1UvDVUbcyCpd1+VabY5ctyHpw7D402sT5a/IR4aLGHiCF2rqfwMG4nPiavxyMKitVx5dmq3wWGgjdXL5imqML3KUkzE2+RkPOak5tr2FRujnZgz4pHWAKkeRfywY0VRiixYREqBE68Oi9+RtahEWRh6pGPH6/rpf7RlCe4dnlM2nJkIB1871hTc6X3rAOe2e6ggl9Ub+OJaGl43lXxzR2bS7oNV0yf4NfinrVf0dF0Cig22ER9/PLBffU2xkbCiw/rXpNlN8eeUQTAfpGJnzKkpDk7FThCdVSU4IzEzdiJJUADgecOftyMVXh6FdcC6W6zxCVsB7Zv0JkAC+qyq+G95Zadb/j2F/dHRAVRND4czk2HERNpFIXVso2dOvtGwXFJQQVatK/Z8HtUr5smeiixSeR727hag56vx8j0oZaz8GngYxqip0ay+1wes6YiWnpcQabYG7eBnvdaCqhraFqVV+lgxdpSJtM91Mu/FYCV1xSGzlAbIRsChTQNRo915wukHlq8+6z34q+xkeHQNbzBDg4Gl9DrhydwKXUrtg+OJCEYreGtUvDXketv5pfrgCEOMg9rUidRdqwi+tqxY61wDo8dDgl9oDU34Zd9EjiPH2uckTKLaLGnuOfwnqqI2+4j3jiTZMJ/fcWaSDd/9F7qJDobe032N5OmIFNU03DiNX7lpMNbnkQu/E5YxJ18EYn7p5k8v5zCEBhCDRtfO7fDgB09puy5FXgCWR4v/HXb7/LlmHpxDn9wZgpPdigFhmOF8EW56a1NfkCF8WiTNj+sR5rcfTpI6M4KT2wQvk3U8/XVUKS13L0ZivrC9cooAmH6k+toVZChT6zn9IceTivVItSoM3KprTbMZ2r/Bwy7zHWlzhwHkGkiCtS0Ha6V+OX0ODSpIGlQK0rXgpoc0KBzviraUjztogGL/chvCM9IC7vqcy123hi9U6vjMgofksWJVo3N1voTB/IZ2TX0F9CO0GMVzXyiwwM1H8+tFHP5g+AFRn0kxTJwojKARX5HvfR+k3IL9ntoj1+oS44yIqCTP6ovd912b1QpYCaygJRwWwsiFrOeKGCgllwrhuipaFHYWAQAYXRahPul/Lzw/04c3CSW0zcUchrxK+DKIbjjx5q49ibCmLMSFGaWKZslRXBV/76zEDQXSQ0w1/3/cN015qKcH6aHaFh4o3tL4MlzkXxeLhYj/XxpMVJ+D7/zMIlGG8070g0LeaeB56IPFUHNi+hK4R4Gsh7CWhCQrEUAEMHYl1snlVbfpUqfBI0vgEbteuxfIiwqduHLg3kLqYcpbv4MatQyXUQhKonQ6zcnOKEV/Mg+gD2tFothz6ob2fZWp70PcShVrwZ9BpdOECDo69pPDch2T5huW+qkqVaSav+Cvz8MXJsJ68MQ5OOl10YNYQXLGJNgew5Y2GtjP8DiZadyaeyVg64cMBmvHYGeGjem8GzX4nB1hukrJpPzXWIxR4Humne0oOt9uok4XbNhk7N42qaJM3pxHasnTsfXvrMKNXEvIBtoLgvL7GZOlDoYTjIXu9Pz7WCva5bnuk1+1M6Vn3hsxXH1LYdB18SWllC5a/h6zC6QwBdoA9z4xQEniTlyybSjFkfVtkVLHDT5CWEZ2OfoxBHbAlcyh0JxGNucNKlgczLATTx1HOxWEwKw0iB6YHx+BzjuixQSboLFbrOGRtfBBbi4D/zz8Bvil8ypxdDYkQUgrtCtneH1gEUbZjST2VICaaGJQDcyOgcHjv+s8qRP4XKmVi/VTjHLNX7kh1YcxXveVXyk6huhbPu/+332uiFhosqMqjHByNxITiuaoBsldsfHUAHL5GyJhR9xXzeATezBfEkxbNSJpkxmc2186WGUQvFUkccdjLzQoSHynYC1OD3vt58h0YW0Y2KmXdBulKR2oEwCMX6WgFyncVb6QByPm6LYp8j9gE9HocCCfv42CpMm1l6QYdpezhlXMrcI0mP2/3HfsrWYka1bcGDT2Fa123f/DQ9tL5Q5/KsaRsrL2lE3PXolFdCtNFrfk8LlJYYCeE1ZiYJxmlKq7rvcm14T6u0Ir8zHIOT6AbzPhNGtCZLKq0FBIp4zqTOcK128qEVfX8hRuyKKApOKjlgOF3IOXpy/LOnk2Od4WfWhsV7OQcceDXdlOEpcR8W1l0BMTQwBfOGLBOEkNHR2GzW4lzOJnfcFrSKb+ab/kbaaj2866KKBzTec4kaD+w/3TH1ZZzFfE9Gacqxb9lCamCghyDVbrGDxwWcQOOwFqSik3JAXjxQWZAwtA3Z0mKxdvSMvBUgTiLfZSF1p4lK70eERdzTWMOHDQ422/Crwi0QwjK8+CygjDbuY9oglPAmMX6WZbK1ucgJ7A71p7EGx/5baxRmhJe7kTIl/xJVHLo7262gcaExV44W6eyqxHy0S6LdD+ULzxVRhgLx844uDai0qEPpwlEYDPE6llLKTn/kbkj31WItRYy/nnHbbOqegLMe5NBkahS1NoJ5l52l0HYf+/elPEbHsy3pnpKTQC5MxygS/dB6GcVIjLinRaoBNW+OL01UZYku520pE+8QAI3oE+DKzDMbPa47t45QOqJIYJrAPL0hrXPOxeER/xj5wgoAwDJpBx7Qk2rHjpNRuOcI1dn6D0Orp4UlkzFGfe6tlriQq0driTfbfuR8aQD8PeWguNHuzGLR9ch5Lc2kszaWxtD0GcKTOMzrgiaW6dn9680kmguXj4iu6JZThuvFvrwyziFJJMiaTODnxxirQJayGoNWQqss9jh/ixajG3SDEuEkpGCX2RTdjb3W+XpEN9zOW/V3RhJ2yWsLCjdu7m/TuH7AHHVP8QcfkeNBVQPG9vd2Poe2ehp7RXi4HueFpclSyseaMPjFPV0UwNvGmR9qyXKs3jZm2+wos5jJYbhU20aXetSqI8Ar5wvnFwMpKKBOZyAq3iInr5kV5Jp8/63oPMSpMQleam++gk5X5CsSVhzZgyf3pEc4x0/vDtr9LyOCY78/wNv/lovZuGjwp3n622NhqQ3wH73COBGKFDg6zLW/iBt88qjeG4RoTfWtN4Ovp11C39m20S6yTIbPd//fJsuV9zm33KB3yZl/K+vZyI830k5kvGACn8Iu9+10hGjt4jMSYAz+GHvxnQg4OsfvJ8wTO4D/Pkp9o/Pcwei7FLMVwk+QukOOudLay9jVI7iYVG9Jmh3lU7WSJzhHrNixgG2UmS3t9c35kJ9QiQS+Axgu+R7ti1K57oETcGUEE9G0+eHOqEr6SBUR4Uo5CHIwRoOkbFhzUddlPmQlRLd1PKnDgFsc1nkeU5RKJiG1szSZ8+Ik5GqLfU3KAHAl5zGIW0DnjkfXDb+AedVYvdZUTaUCaDXNECTfqvWLCxXTF7dsgOz3d1GMGGwjA1iplhVtnFodCUKGKPR3Wvk1+F2K6SnXmubE0fR3rJ5mitA/eneFvVaQHQzU+SS2tRsU/GmvqGJCJXFN21ol5Aray2X6Mct4nTyAa8oVDP320DUMZWt4fg2c14yURYpzQzpPl9+Rvl2IxWHvFqfIZqcpiDowqs8npdfPpaT2Hx2U2sFc1k28GmGvSOaoL4OzUwJEpCetAPdprETdG2cdmJ2qLldEVJ7ecJcCS/SbWWv8XI+/GwU/OQ2lrC2CRUkCW6ht/7D7HJdQdUOvYFIMUPoUWmj8HIOBAr3FrqBpJw4W8ecUbKL3Meht7HV0fGBLnM5/mkm9G8vhpWnjg8JLhN4R7A/ht1UNu/k1RAit7hq55YEumUXFc760OBi1jATuzUs4wocyBI1oFsdTmhwBkHWPKoVQhmO50C4mYGGXntmMkZVWXVeOVZSnTSQTgrKwDmS99LIewi6I0Ip9ONEVMeH6r+hhcPWx+s9PgKyfmYk1V997oSBL1DYjoMQUWOyWQQ8cXdYjBEEWi6pMMnkgCqPF4EOLC2cSGY4KZBMD33E2oMrQinCIyeqD/Leehb9KhG/IH3ot8+You10pn/uieIy/shwhrRhe47NCdA5NXWrJ2kxn6bHF9z/IQUhSXK5Tkr/aZ8B3IcAsrlpFKy2EAFKl/ugKjfG55FcWLiisUFnBI2DSBzrzpykjPi5YXfR6nNkuOUqoz8ws9RIKfUworPRe9k+DXVTtZ+IVVsMZYvD/nEW+KW6uJsWdrCblLp6DX5YM1WvPcJXQMVPTK3h5qXgVLLZREtw7zyfgAlYP1exdRd3BFPIzxfRuXDwwuu7za5dbSiQPYtWs8mDKIE8iVvYRK3U6zHs3i3NsVJ57bKTczXkVSgkTNzxU8m2Ny3l+aSzcL0p9Ty3ze8zvulzeHRTg4JQbLQ9mTkwHJ/Je17MNDm7dTOtHIvsK13rIfpwvqQK0+HppkyqSNYmZQtr4BjOEGadgBKfGBpCoCIfTwSbY134G8Oddbxe3rjrmcf97F+aOeiEBCGohe75u7l96g8ygkFZLvg/2PxYvW48PSxn+bRTvKbaya09PIT2HR2JAKFCyiyvG3/FkF9+spwF3DIXBhVCfIWhD9uQUpwxEJAMF8bhx2WoEKbJz3oHGdHahPSoYPMWAvVXSKYX/UnWYZsZRHg6NpuW+g801sh9xcl6Q3dzRvCQyleeKYtycNVpea2MnfsShvvwFBpK1XMy2M5/ZBta+DRpOJuh88ljN137JBsBGCVXn/YsIcDpe5KpsPQ1sVxFGUD72U0sTdMtW4XRzaOT2OUf9BXY4a8rmmkcCmbOSrO7Z9QE8YC24Nun3zE5aggcQu/z3xO5IcI0VceXci3dGXnX1+rUvNcDPzwUZ/ib0bMbm9xdDFED7+BlHlWNy1q2es1CavCW7vBDXmXKv1rCa7BNb1w6P9rXjR6s5PER4dQTIlzmdPxDC5xc/iY4uy9v1KUNDwaRrsRo1UR8RaVycwgJnuteanyt4AUKnNrTCrodPTxlWvKuOYTo04cINgEdONrvpxZ80KZSkGW47jJqjQ6bDxjoO8mry4eRP6FBkpfzSDQnUoH0qoy5Luivjm1ce08A1eqcciEeVZdSEKq0TgYaYlRo6TbYa1MuUNvjX+//SaL6G98PkRyjfwIYazbIhslIi0VL0Mw5BmPSaPTx7DxRazk3m00bpAIMk1GF9sJw/zsCNgFoaFKJhDDxs68f+O4iXWXEELNkdWhpdko65EX3N+rJgD240amAgwMjJHtbaj59eOnR/u9JZ+hQijaeHJEibkImPeMFSDIAAvg5Rp7jANR7P9iWxhMsCb5WkWIyd+IZ45oIqzcaLZuJbrRAPRyl4VxV4wqPoYYY73i3huzWpDrAnFCs4NTAEo67Jwc40T+2Xnmmw/js4HhtUK+AFBg/1zS4Qa8fHSnFKHcL/zR/Vc0k55JX8zvcIbn88pQVJ+RWgddiv5KP/yQJ8dYm5qfSI5K9P5q4lclstr2djTx5de6WWQzcumZd6bdG7Xd9pH5DE5LeZL5ErX0aLbFlEVz3N5NdWsVF27Njj5LPb/VJ+UZzn7kDynSjWz9yzLBvCwSTYHmRuQY5Kinl6r8yN4DBp4cPaUmH7v/d6M+lpgVcOfiHnR9I4fYYWd7M0ODTPCBuniy5imIqfAmbhmZ6udW8fNP0/UiMiz3fft/QHs66BtG2xhep2yt8iL6GaQI+blysUvwU42KQb+9CCZjlLz+tB/6azRm1/KUFNwaJyzgdeezZij4Q3Vh6O4P8JsApdWhhVtH+dgDgoQFlABgX9uJ2IsEvzcTysamHxmIMWOZuNBw86ajnhiiK1WAtUIKr7TrfHLHOtPdAF6d2zErUJP5MTwqBt6Ppe0Lsi5JIQjEwiqe1A0gy28icMlrMnx+wrOnEXjsevo9fBYwT0URFucfl17Q3UJmqSK5oqfxmCXpx3Bu+H4zw4J/cpn0edb6AkPgRXANtBaGRu6i9ImgGZIXkokoT5rLBReC88GQuAkKP14ZUqiJOmiTn71dIUW2ENH3RqTvIR2sTVsgkGZdw5RLjrVDiC2TKSO6HEnc4wwcaPiiavKdZs68xF11NslGuuW/XJ3JQiQgItGvdylP1W0sA5OAEkIHbr9VEwSXrPZ3lV2Y9eciY6PTu2U5lGzU8j1Poo+flbgQdDH7xW8ky04yVXwRirx0i1oZdI7M3jbdoNagvdFRsvVqqr+RCZsKV9dd0HspgMpWtrBB9m//35vjwwR9MDf16cMuPWt57pvB0lCIAeV0NMyD1ZCtMog1LmHdhEcxmmUHdx7YHkzYoPiv/RuRDTwLgQBW/mc/c0FK6N6DwI6himUKGwr0Vnw7vkCFXWncKEDi36uU8RxCODWw9J5W4WXKrZxjhjktqAfFtrAcu5FA2MA4vAPkBKV1gb99DAVKKLu/tqU6Ng8WZYE4wh3eGaQ/8p38HViu8gSmiLi9Kwzut/IWji1o/TqdGJQ5HLE53fjGQRgzfT6h43b2fnY6J7U+ehfT9A78q0ucSyStKNFbOuw5YVAKVyC+Gyi3zphVAYmn+OY7/rktx0CZSeuC1swmy1PaWngFALb75w2Akt7R2y4FpC3vs2KxPi9BWpLP0aMZaAis40o9BQvevYt8jjFdgsZtJKh4ao5ylgPeRmHsoRm5HWgucoWUgP9vaYZgsw8L0oqV2TxbeMf+kcRIBWnCgI4PqajkxgqchrEVvwDhwfnyP6fjgy0TYgiOgNvapBQ7ePCLZzLVTQzAxIph8vg3OzX6GapzXFsdiy8Fp8JuH12+giI2cGf6YPEfjPhQjwuKyUpWyyRJeYDCrRaTcxhDjb70NPpOkhxZZQCiwQWJCI9ZoZL0i3EaBih//cMByvUycJASrwpK7OAypFJA8QnVqyEsjBFrbqONWvJ5MFUb6y8j+R/4lPd+sXBjNnYxi/2dGUvlywaqGGWw3hsPAmVhGuVJMr3ZnsO/UV1GHqpK1R6kcuB0B22bACdSrMDxGqapyL2LH+me8J/F17+PoG+wK8Y7BL67xDSYmSuGTDO0ErBvc6oVsVDansQbg/QqT/dzgulZNmmE+E0eORCdDOLuoDSj1HfnlXV1s+2Mz+YuadirP4HTQijTqb2yEbpH9FbiRmUkoaMKod7Cw8xqx7lniElqlkexcfHTSWy952pVTqFrYfG0QCLOTcRbzh8jgGl8+i0qdDd78ZvZ7qehzGzpEqr051bQkpHzDKWkEzBNjYnIsFhN3sfF4GnH5Fr/MVudNShxd3N63UV8/jXZPJFrVLY/0F3ij1A0g8PwDP+n3T8/bnjEeSRoba/za539bEAII4iqQTP/Y5V8NnfOw579JwAzL/tpCfVLuY2GoTUvQkNeMn+77DbVzcm+FxFE9ilBiqQgvdgV4/5PXSyCVU5XCs6slB2G44J2lcVlUV870eHK0EonP4pq7flA9tyJw0wv+9Mlf0BIFN23g75paNVsc+l1AfzgT7IZp5hfAnk/tmBUDOQSVGqD2JNj2A0cb01hi2oRoSqPm02tNRxjyM61CPD+HZGrtZepBDwu5zqoK8ahz1UtMCTT9DbPoOhvjJ13g1NCkb1T0vptqQCeypEWnGR/ME/EljztE5XyFCzf4uQNGtPMF8JvtRq/yHB1RzQf0cBrtvmNjT7vN3JnREmgNdvZeEKX1VGJaHvoJUmm3qO5QNClRUrkpBRrIGGZqLKN8l1HQkf0OOfss++udkwcRDioanV1z9yrXA1lfammLy7EDERIZiMLbszR5L+Xtoc3DRXa1hFHDPeEns2HUIFhiqwOVuYWS0eqohg393nxHns3wahnt/2ZyOVAzTsH5WdYVPsDNVDu9vNyockJWQ9wN8k0SzXbj8rIpcDffO3EA/aRL769hNXyjhPNrm1PYHdpBUMQzrss6lbdku/GhXXryXRMI23azGbUrc+9YgMPopI/aTXqw+fD+4xXdf73oWUZtYTVakZ/6AFqxdc0J4k5h3e4EXNozPSySaiBwOfLq8QwlCEVqB+TVXduNUWnVvNRBvRVssDykXrta+JQA9WYORRCtZinPcdHowt41aauUuYm7tn6Szv44MqTNdA6WB7AbInP4ErUtEFTeGAElUw6tjTZAYb++23wpUC8DFqfwPMzh5NROgoXGANYoTDYI9h5my0nVUyvpZtkZVihr0Q7s0t1FmR751szx4NOQdXA4zq2j26+flMDEQ5HlIhGj2PmR30zliXqK8H48RH0p953+vQUR0Jm+pSVypGU1KqszFcyXJV5OscumeUeA+cSK3GA+ffOff7yyfypTO3TfITOxh0gSKe6yWdYYTBUXJJs0+FvU5zs26n+hpyGCC85S2o6WUJXsRAOmEVJXTK2DhZ0REeI5wk/9OVJOt7+0jefV3ogvMNBPsXHOYqmlUDSmMGMzGWr0pCH/7bLZLJdjPHZUDwbSKZXlqWn9pgQhYUEn2i8trExbZw0gdsDcK2yrAHY1yBG1tBeUz0KizrdaKVRri6ozbZR3sTux3vwiKE1T8f5bQrjDi0GmdXHdbtHTFli03qjT4WGE+3eQC57HAHA/ECg9ptWesaN9PPxLOWaX2ym7AMfGA3maQHSIIkgt1M+vcuAaM6P9Iy9Q4bHCzT9dSQoSMrEpMwnT8ALCA2qS3EpbyGviwQaP8z34NIxlNBbi8LQvhGa5h7HvL+iFI3rd4TDqwYTumnAwuvbD60l4PWIrZruNUYOKPh5/6iCdQfd4+d3+x75xiddQ9PFQzlCfNPGJd7H1tcVlg+TZ46KXBBGD2mQ6IP9JohSY4ibxTcfJx29Fnt7MtmDU4pksyp64lVVG1w1JAf6ReRzn5H0YVb5kwsvdVkvdDVUAjKjkKw5OqV/k61ZHYL3kBX2pT3MMkjDGvVIgqmv6Pp7nHbNVKKS7rmsUbWkPB38G/uHr17Ojbbjr/qzrrx2uP0NYdgNuNj+jitvnuSRkghrEZM+9fBcicf6s0GsR/f3+6nRuuM6CaLsZBrfj9yb399lYuQUpmkT/SmrNeG6aI9JvZ4d5wBLMc7jMWzXE1Xjj4RnCsHzOq0QtcA5a6gm4/EfSBf+fEHPHZ0iqPdHACCtHpjHG/yhISnbFleqdAitI5794ypLfpTePT7fzu5GniT+xO7JgHFcZ3wzDK+XoqQ/8XGvrh4wiFNTV5lvYq2RY0G5KnLHnvQFliO687AHphA29/RAUrx6BfXzbs58sXROexJ0ZOlIFQpXgb+VG1UcncdP3dH75TR9/gA/czjQwkljMu3qThwPqIrzaiqz9HOTJVeAZ0XyM5HCeDnA8SJN3TvOAcWJkoEpN6sAWQQPDVau0/CABmxUftl9j3jZLy6oSplPqJA45z1q8fT9FnvGut96IZwv3mnmn8bgTaUwNZ24U7Ho0dfti3cUiTbbhhvNvzIeKQKIa0Q2MjTRL8oGS3dlqs5XOB5y3P7ruiJ24cGVUqRRdbj1JDvQoMtgcKB2LQtP6V3TBz5//8LjP4e4UdcL3dItXW1T7Q7Cz1RpfEG0E+oy46XfqQl3IpzAnzcmNxiZM43G82RuiYxRuNAkCO0VR44w8h+WhRQmRRIx/mVI0iA/c5uSsOB2zCzONAzCMn26GuNuX2036IsUhWzXpEKwQ9ymqhBrD6uFZMlXsPOgPn0Gntpy4URurqEc8kh57RsFREsh0cnu9WuYcZbhx3z6uqLUnjD0vhwuV+F8DJFtjqJo68nGQ49em4iSSWYddeQ3qpUEn3MVPw9Rd+4wbeVdb846pVnfDHDPVO0DI0dosLGCLsEfRSIiKUh4GKKMW1ai3pDQSi7m/nH6xm/Ma+XzXhARQm95Y/UZFFR9FNhXhJP7vq70YIbCQP6jJFCLbYRxCVsTDkytSS8T0UKdSUhHNoNXZQ/GOVAdwrsqMzNA+ogD+kJRepOAYyHp47p9/q5LHIKEF5KfbjBG5wmvSSTbln+6csD7kYC9MjURo7wPTmuUV0ASwsqZT+pp0yH+OUyI6lhFgXlt8TgOYdyAW3PicjLWPYZoXLA9wlBQjcnnhhN103h1jcXYk53nlVrKxeGVcSERoOGo2PwuU6tlFVGroONhQ/kFRg+1iECa3Imd8yT2buIuEGCfJqKpYJUFcO+J3Qp7l0Es0JUGWiykszEMBnMAJLqWqBZG+N1ngzclD10O3FVzAwHk1m4MXnTtUnumAdyT6/1g8UuTBGqnIfNuCjDqI8Bj3dxe2RvQiKg5KZZP39uBzUQspMSlV/RhrYCIyWLnbKRoTVkLK5M8X2MsaSbuv8nIqbDAGwws4qmugyy8kig/J7cRmq4Q3x1iFA4Jv9xTdcId/d2DgvaA7uZqblwzGjZEwu5JKXbFTGwalfYng9/+7teTQa/HYeS+Vl8E9KSwbPO6Vw+93R8NGamMbHQrHK9bFbm/Z/ON/rgyy7ETN00AJM1oJc/aIFfic4zi4zl20qLyxZaeK0usDChExBH1hPziUKmgLlL8RMiz4ZM7axmAmGJucJbjTSq7g+Z0Nl5FJbyWUnxXcL61FS+DO/oaJxz4PDCO65YpcHKO1jNt5u4qopLT2zRAr0Gir8b4eKTlgXNjEOkx0BUt9iTG/n7hEbirzKPEaa4nGShABJPK2/LmO2N0d+yr+VnLVeAJtU+i3m+K8ytDu9R+RnNN2zfCajnvp1X9GhrJKfOtxrfejWvL3MErJnCsC/trCDtJMAmE1TYo4WVh1Tqgz0C45bORS+MMbk62exOAtXRPrxi9QbOWvIGiKoPRskhwXbiqVBTXwUPJI5SUCVlgC/J8zIzx5ERlfthVwOj/CaOHPqeN4MvlvAs0xslr87hi7AA1tZaYNCbuQjBMoNG6rxiqLEv26JT+JEQHwRil1hpy6QhFx/d9py2dI8MK+rtbgSi0DS3UqRNlrxQLnd5lamONYgeQ6RXf0EriH3jJMK9KTZ9wFcc55JOFKTjRRsWQWkfnHVAXON53ArGNwpS5rmNRnxUJG3rQjm2M4wBfnqXNXsMavVSVehWIc5C5aX2NLqNjKS4VHinM803uXkW6d+exAOokN/LRAFw4aP2hYEAsX4mMX3FuuLhFv0wkwT9zX+MqEVK5zn1UDW4oQqXx91xLoQH6ZJuC9ZfuUfYOZtdHXrxbp1S31nLQ0PirJWXQWK9rRSC1qhbJ1x++dFYsJOqc8HoJLX6luozM3IuGCbGgGdCUa94z1cjNCsm2lSVcsAwf8wDScjZ0kQ0vYQ3aDKyCFtq+dxjsMzf+VhLnPRcTrA4/ZXLwSLooMv0501o7fKri6u6URIwkhlKjpWno9ACu5uGWlrNTXNJpx7tnQ+mG92K2YR4jlchwZL1pZlR54Hb0Opt/3c3ediWQ0IMg1XFT3it/NKW5AM6yitdyb0G+mQnRKun39DYozOVUvAMxy+uVfYniwCaZNtSGHL1wTd0YDyWylxKToSbNx4rzVItMd8KGR5Uy57meRiO5HBh28DrKElYMYdK7yPdA8PoUAYyYpDO0CJOfUHGM7d/aWCo0fgMQC0HIBOc8Bg+w+tQOGShbbTVoFMk6qlLCtCY0jwvW6Li0iBotK2RxZBT86VO/nN7y9UiTy4umGX2tUts/RY6BCCM0pusD7W4svRKFGrfmOOw18AOIAKHTXn4/04Cb5k2Izr9r50u4paLLZIlbmEZ5i5qYnWIDAloimOXLzVzpbp2T6j5lpKMoWq9EAe8bWNGDJo8fB4y2VNGFeiyMMKPT8uNk/5rVEC9of/rxs1F0IoQw0Se4vi0xsbdV7f7yG3MxdLyiSlv4eCIEFI7ZjCYd9VB/BQggOEfpAJhQdv1TI+X3zGB28f+yBjw2VjjMNTEGMQdP+xFGiFusHo7hcscbi64ssOT91N6McpPPqDSdXA2hkkVGTjG/jd0Y6dlVEUpKBpWrKzv8HayjD+PkTL9qjiZBxJtz3p1qZfeb+n+UkghTeldnxTL4Ln82vgSLh6xS1W+6UOzOvhX6UNA8PcF6Wt2rsrDfONTKfddjh9+12ymW+mE7Mz3LOeKd7tRSV8mQK2/S+bLRKWlPYP9XDdwTcaEoRERbD6jhHw1cM8IUq5zIDvj+sv7Hnov8LfZ6vNMhj/lX/OeIwgOeQX+u/fKbyE+dqOVBekmlKvvY5aWcenlNXCusBG3bFLwVvPb/wGs90P89atjf34+bI4DyZKKJYkekv9jPGk84Hekdp8KVltnmSFE/DyFQmTXPuuU12dQoQj0blzDG/iaT6Y3xZJH7zU7d6nY52teexB1vPvq5tXt4jgt46x2dZQ9a++lIaT8D4ggUj1yKNZdzrdolbBd/6EaaxYeFMxNMipvEqbQUOjouzDLuBNh9O3dJj+b5dsgvO1vn4DaOdYM1O8LN3pRcoG5TzWPB9JFF5FlvdP+uXaql3EvOYt/AORfYmd4dqHmZrEXlCFtx2LOrikp5cuZQZg0u03ZFwIwupA/OBfLOrsP+QTJvTJL1gsnXJ9y7tO7ZUaTtaXglH32AP5VWZJgunPAG9sbMr2fhnr457ps/Q/I0pc40/4STKyNbVaknYwHFcaxZcjJCICdqgmMHbdOvxQ4Ppv20v0EyvT3p9h9fO4/Q2tXO/qFGiSkTybzbDh4h1RDMsonRJIm2nyIfdO+7Z8ifd9Ja9TBOCugxSmeqfBkEI84wuS+MnaT4wqQjWTIMQVPpUC4FjKWPfxB5RNrLsr/V527eMk/KU0u5XNbfq52qKRZW08EeIvzbOsjtHzZQsj3zLdtW45MRMqs6RgOAg6x39d8cmOlUeWMUj5U0pzbg6smdtbEv2YiTH+rf8kDMabvrSWx1VQk/JjtIhtHcs/j1NRnLIPtd0NvcSjvWZAnhNHNv9SU4FiO8nRlPiU6aRb28pctf+xp8r/TwrH2/unPfGqDYPHwX3vyP2Lna/WR9N8kvXfVJtEW7JR8mcs+pOMW7ox3OEApbu/CF/kFbOjBCDviUNO14FV1vsjQ3yR4+1p4YZ166bimWPbJyAfat+GTKuPUvbmGBMYSzQZTrVBfjJ8ZHcRTX2tTS0OaOvA7krC+LEg5mOpXNVH8ZNgplR1oMlDJxaFb9vgkhx1g1Gns4rwcEaeg+X1eotAMMNkvT8HK5uHOSiub+cMNVHW8hy5Xa7+2DYV5il/uSHH5Swf1w5sl20m8kLbq709osGVK9fmYxP93Mem7nchFeigUnfMuq5KQhq0r5AcNzzAbTmQyXhaxJavTMaZH8eDF4vvfOVUlxh9Otklh4xurzzNsoqYupLNt2KL4xxCAljCqRVsdvkFYfGBLNoeyQ1L4Ts2QbmOiDO1Mdx4fK52T+xvkQDmV1sDldotHp2QnzXYY4QsUX7hjb1o6aNrVCUa5D7B37C2TZxm78TATV/FI2fqL8xAYvrlxDMwnBleB9DTGgxm9AtJ5L4C07PL1p4UFjllCjGvVl3sddcjP+KucYKb9utIr0A77+0umyb49nIe4uayWw3V3GSnNIadVBBBPSL9pBks9dANRIsdTUbVsvx44uuj2oc9BpXqVJy/jf+UPM8IGePwUsHIJ4sOWq5WfOplwmVsSjOVwHmtyyhXvPHUj5n9ELPD7ZYFvB36PIiFrteSRqqxRr9cKf+oRyZrAJSRv5HbXFPMJvIM5Z/Xh2IYP/HDMcTexf6AkVudqRXhrAqTsqybo46AS+wsp18pGy2oMf6sosek7Af/Kq/n8RuN6Tx/vXSJC6xcaOpAbRsi4W7HMAtdfeQpV0TWws+fKTsZ7NMa4n/lY+157bwKir95bpzhpF8tWjUt9ugNpIcUVnW4ZKtxDpzQ2fVWgAB44HIFmgvONPG0levSRZ7y9NmSdKrZoMcp5UQ6s7xt/ZtnZRJK3sgPASEqCwhj/fdW2ddhx2z/FLoolVr8FjGPdsWc/jbNr+d8/Iq1KKbrzC/8PmUKIp/q4QkstzQvBfZx77k69H/7E01qvozbAVWYc3dIdsot+Vrfy9G32N/TeA8dxjN+0wxJevFgMieu20eVdjCofswY35befs9gLxvvSqFfUAON4b4+6BXGMuVtkyadYQxfFngLneOfcdH7V2/x7+vIHbFpBAXXrqndDNAtPLS05hlfgntbK8xxacu2AkmYZN2fKdS6df7RUvVbA8cvDvqL6v+pRd2Ft8erPKpfr8/wrB7P8tCAOG44klvLcMlNs+6NWZLForkwf7i7ABsOWvcJtE5MtNB2ShUGWPK+Hg5nAj3seypfOP4gLilcGOc7Xu57BFNbFwJxfxAUyPjalBHv0SYafmO0RXC+4untnO8CWfsCXu048Wcsw8EIs/TUdQU8j5h/EvQN5tp7FSmziZjuftP4AE+c5si8T2maM2bHi5ANiDe+89ZiB7KjvpesD2LoDBOS8ek7KfEZICvSi/C3K7PN51lDBV+2JjeK+6W7XsAXXcZQjPIZB2yRpYw1Og/WHSX2GVHzCO5hQ+ET5EWAHIi5IHb22uHpBJgz11pMYjNOGvxUdykOP4LAnv73R40umidoH0mf5+RvSVxgQtQ+sqdc66JJLj7yETM+AAceaxv2D+9AY7gOvTM2KkKVWsIgGyDuKA5xeHc3W5kY+67aL8TL8GGtTE5IFku1RZEraTGKRTkU9LfKEpbeME4Wx80E308cX8VyoqQHsSFiPdkolQ0BASUPoXpMayDvqGtCudlN0fRKjTXGB9eQDMSHK5RqEa3xFl6DbiIIUrtxN/wPFgM7p9JxcoLpCGH2afkk9HskP/PG7yy2y+sBVPW8geny7tNZTjaTL3EAqtFWyJR45UgzCkbNQfnTkeeaqCwu/EfbmFVfpZEKqpDqzZ8k8YfM5f2nqQZxYx4Ab1g6BuofGD4HKB5R5kFPQTg91TUJxhx3iReifiz94kBff47buuIAyx1ti7W4Z4RWKs65Js9jif7ln7A4ikWPYOT4pbM4+gLW+iFPK7QmGgZaTGEvZGwryxwDk5gcUOjPu52S+0HTut3VMys4dr+gQctoe3vfvlZwJEvz91SJbmFpbHPRsy/0XRvdqy/ove2ZesqZ/tJG8YufrfjIfzK+ffzbKJTuBEdzgVxwaPxFOjzG6aY4fqhswhgWlteYgNx381VaTqmpzmvzZbsdeRWBj3e5FEgFriAhU1E4jWCsl/Y1nvOfgKt9meAIS/HDVzYHTOTsJrT8o+ymXWFxrgKNbWi/tSffnLp3jAjhn8kwu9cp6q4vq+JnPpWzp9bkdD9Ki2/uFWFoaiHqyj+Nb7oFVyn50EqulaRvDT7fcGTa98C8YqFT5VVONuHfZ4MK8nMWY3UiBRJC/kf6iExT4qLl3QG4GQkJP8pYyeFzdgY+Fml03/mfQtTMsdfdKrFpBBY64B4+Hq58VGa+z1D4MsBdtULOdDL+6QLm1rMOSPOULWGUZ9fEK4dPME6oaKwK4EPFId+MsMF6ynATlvBf3iAJRbRCOdqmGcOg6gISYbhowxAhtDkUxxw9/pEcrxJCPel1cR+jno2nAj6Pn/EMrMNOp5xLInX7H3D4Z3XxZ+2nccruA33L7PoC+75TCU+k7KQJhD15pVpNU/fOnVnPWEo6Bsm2k+pz8nnfXfUet7199w2k469f49MkCnl2tcr3yOYWo9L5LXGJvj9uVpK9HmjwnK9x05BbU5vDoCUu9yVPU2uE00gUKUMSCK1FWeR4kceLlHlS5FUc8m/TEz3TXZGocjz1I0RpcCw5oCROJcXxaiaRt035nefngwOYoUAuLKyZ/a+hmRyb+lNWvEHrweVDhIeODD/4NTt12Be0wVEiNZ7y1ApF3XAES099Dla4TR/2QHNsTc6sZAt8FxD81byaZuO7ddY3jx+XcDs6or3EYqqpqT8u3MqoJxc9lP6ZffjfkokucHG9m5d/T8yMA6dcLzcc0MLiR+BTr7Sm/JYeGLGxLd2NyrBa00jUInATN9jyU3o+mcsi1sSjPRnk9FNr787ahQ+kdaYfq08Na2fbkd8fE0NfONHb8Vk9gH1feJn57RzztjRvvaB3XamHnzFoBu9fWqOC51/a3ncA8K642zMgala0wwtYfZ4EkR2EQGOKCDpGEZ5BmuZ7a7OiDN5zrKLfY/kkccqoviklc4JFQkTau5fQ2eUChXa9vJ1nSVeU7b4Ww1ClkTwcucu7xNvG/HRCowr24hM8IbhF39jTfjSQ7+1/Shuw5wkNUq6LRt88CeECaNzYLy+66BAp5n7OwBO/BJfV3t4Q6ymBHczYneBUn6p+xGP+VIS0VE1e9QOTbgdhyu/oACeF5AAec3AO0+VxQFbq24/MDVkLQEvh7CW0kQVxCH948QOQBgzH+WziU5b5kgWHRCyG6VQoPoXc42vpGiimOXiVCy3+bYnR4/JS9ao67qI5W9shOSwRztEOPP1SNDPHOldxzB6xWfaNi4WHbY6GHO9cPtm+JMVeOtesYZYXL7CTe/Y1yYhbz3Q3C3PJ0KaAiJnJPbUZRTpe4aCITAw3nZpTPau+FcCUriqMwjWiVeMZ/IcWewX7qYUlsmbGNjw0Le0VksSwaR1z2UupYLxMZn8qS/kn23qEdi0AdzMkARYVYZFe9g151m+2bZ396XOjBAyfxyfDxL2q/fflgQGMOXvxr+up+2K6EVcaovfVX15P/V4FDt3FRvWOvblT9WXFElTT5qUJoSCc6uQ8wE4Rx16IvYq+18t/MmCUXiKkEIkw4C6g/cbg2xgkKTdLu+JO6+MvyRl6uDIv6KpN1CxxWUmsM4YcysA8X0vyBdGbS58BX/QdtvKGB2+FadMpeqzlQgs2wazCyLjvsbbGmeINRladHy3YB/+FLBOL9Z3Kxi3LXeU5vIQXH+1WOJOwITUuoX5w3JZg/EJHllgOyi6rixlpS4dsxBoQvom/3aB3ZZ7pzd1PQFsyU9iudtmolVlDn1gROciHGcntx5PCI6BXpVNc11jWgYXg6LxtPZNHfYvLD2tvaBXauPIoLKlVjuWakGNM+adFKdUrg2vv3bz8DB+8dE1rp9+d4fO4cR+9xfjJ+z3q++ujCgM8F9oghmwbnzuzNfbtZFpeXe3xpj2g9/x+seZUl8k5elJH5XYEniXa8RovFvPN9Kgb/8iXgtKcaCkBr6DPUvpwjeoNtgFaefpuVTb3+RgiU0Qwut4ZnfENSZjIx0AaRrjVhtddRuOtwXjY89U98udL9s0zjf5p5FafszAM=","base64")).toString()),Sj)});var b1e=_((cJt,x1e)=>{var Lj=Symbol("arg flag"),lc=class t extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,t.prototype)}};function wv(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new lc("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new lc("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new lc(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new lc(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(w,D,b=[])=>(b.push(E(w,D,b[b.length-1])),b),h=E===Boolean||E[Lj]===!0}else if(typeof p=="function")h=p===Boolean||p[Lj]===!0;else throw new lc(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new lc(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(w=>`-${w}`);for(let w=0;w1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(L===Number||typeof BigInt<"u"&&L===BigInt))){let z=b===T?"":` (alias for ${T})`;throw new lc(`option requires argument: ${b}${z}`,"ARG_MISSING_REQUIRED_LONGARG")}a[T]=L(e[A+1],T,a[T]),++A}else a[T]=L(C,T,a[T])}}else a._.push(h)}return a}wv.flag=t=>(t[Lj]=!0,t);wv.COUNT=wv.flag((t,e,r)=>(r||0)+1);wv.ArgError=lc;x1e.exports=wv});var O1e=_((UJt,L1e)=>{var _j;L1e.exports=()=>(typeof _j>"u"&&(_j=De("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),_j)});var q1e=_((Yj,Kj)=>{(function(t){Yj&&typeof Yj=="object"&&typeof Kj<"u"?Kj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Y1e=_((OXt,W1e)=>{"use strict";Vj.ifExists=Lwt;var TC=De("util"),cc=De("path"),j1e=q1e(),Rwt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Twt={createPwshFile:!0,createCmdFile:j1e(),fs:De("fs")},Nwt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function G1e(t){let e={...Twt,...t},r=e.fs;return e.fs_={chmod:r.chmod?TC.promisify(r.chmod):async()=>{},mkdir:TC.promisify(r.mkdir),readFile:TC.promisify(r.readFile),stat:TC.promisify(r.stat),unlink:TC.promisify(r.unlink),writeFile:TC.promisify(r.writeFile)},e}async function Vj(t,e,r){let o=G1e(r);await o.fs_.stat(t),await Mwt(t,e,o)}function Lwt(t,e,r){return Vj(t,e,r).catch(()=>{})}function Owt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function Mwt(t,e,r){let o=await jwt(t,r);return await Uwt(e,r),_wt(t,e,o,r)}function Uwt(t,e){return e.fs_.mkdir(cc.dirname(t),{recursive:!0})}function _wt(t,e,r,o){let a=G1e(o),n=[{generator:Ywt,extension:""}];return a.createCmdFile&&n.push({generator:Wwt,extension:".cmd"}),a.createPwshFile&&n.push({generator:Kwt,extension:".ps1"}),Promise.all(n.map(u=>Gwt(t,e+u.extension,r,u.generator,a)))}function Hwt(t,e){return Owt(t,e)}function qwt(t,e){return Vwt(t,e)}async function jwt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Rwt);if(!a){let n=cc.extname(t).toLowerCase();return{program:Nwt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function Gwt(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await Hwt(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),qwt(e,a)}function Wwt(t,e,r){let a=cc.relative(cc.dirname(e),t).split("/").join("\\"),n=cc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=zj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",w=h?`@SET NODE_PATH=${h}\r -`:"";return u?w+=`@IF EXIST ${u} (\r - ${u} ${p} ${a} ${E}%*\r -) ELSE (\r - @SETLOCAL\r - @SET PATHEXT=%PATHEXT:;.JS;=;%\r - ${A} ${p} ${a} ${E}%*\r -)\r -`:w+=`@${A} ${p} ${a} ${E}%*\r -`,w}function Ywt(t,e,r){let o=cc.relative(cc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=cc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=zj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") - -case \`uname\` in - *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; -esac - -`,w=r.nodePath?`export NODE_PATH="${p}" -`:"";return n?E+=`${w}if [ -x ${n} ]; then - exec ${n} ${A} ${o} ${h}"$@" -else - exec ${a} ${A} ${o} ${h}"$@" -fi -`:E+=`${w}${a} ${A} ${o} ${h}"$@" -exit $? -`,E}function Kwt(t,e,r){let o=cc.relative(cc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=cc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=zj(r.nodePath),E=h.win32,w=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let D=r.progArgs?`${r.progArgs.join(" ")} `:"",b=`#!/usr/bin/env pwsh -$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent - -$exe="" -${r.nodePath?`$env_node_path=$env:NODE_PATH -$env:NODE_PATH="${E}" -`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { - # Fix case when both the Windows and Linux builds of Node - # are installed in the same directory - $exe=".exe" -}`;return r.nodePath&&(b+=` else { - $env:NODE_PATH="${w}" -}`),u?b+=` -$ret=0 -if (Test-Path ${u}) { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${u} ${p} ${o} ${D}$args - } else { - & ${u} ${p} ${o} ${D}$args - } - $ret=$LASTEXITCODE -} else { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${n} ${p} ${o} ${D}$args - } else { - & ${n} ${p} ${o} ${D}$args - } - $ret=$LASTEXITCODE -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $ret -`:b+=` -# Support pipeline input -if ($MyInvocation.ExpectingInput) { - $input | & ${n} ${p} ${o} ${D}$args -} else { - & ${n} ${p} ${o} ${D}$args -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $LASTEXITCODE -`,b}function Vwt(t,e){return e.fs_.chmod(t,493)}function zj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(cc.delimiter):Array.from(t),r={};for(let o=0;o`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}W1e.exports=Vj});var cG=_((i$t,f2e)=>{f2e.exports=De("stream")});var d2e=_((s$t,g2e)=>{"use strict";function p2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function I1t(t){for(var e=1;e0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return oF.alloc(0);for(var o=oF.allocUnsafe(r>>>0),a=this.head,n=0;a;)x1t(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return ru.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=oF.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:S1t,value:function(r,o){return uG(this,I1t({},o,{depth:0,customInspect:!1}))}}]),t}()});var fG=_((o$t,y2e)=>{"use strict";function b1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(AG,this,t)):process.nextTick(AG,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(aF,r):(r._writableState.errorEmitted=!0,process.nextTick(m2e,r,n)):process.nextTick(m2e,r,n):e?(process.nextTick(aF,r),e(n)):process.nextTick(aF,r)}),this)}function m2e(t,e){AG(t,e),aF(t)}function aF(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function Q1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function AG(t,e){t.emit("error",e)}function k1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}y2e.exports={destroy:b1t,undestroy:Q1t,errorOrDestroy:k1t}});var Xh=_((a$t,I2e)=>{"use strict";var C2e={};function Ac(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,C2e[t]=a}function E2e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function F1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function R1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function T1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ac("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ac("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&F1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(R1t(t," argument"))a=`The ${t} ${o} ${E2e(e,"type")}`;else{let n=T1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${E2e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);Ac("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ac("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ac("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ac("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ac("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ac("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ac("ERR_STREAM_WRITE_AFTER_END","write after end");Ac("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ac("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ac("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");I2e.exports.codes=C2e});var pG=_((l$t,w2e)=>{"use strict";var N1t=Xh().codes.ERR_INVALID_OPT_VALUE;function L1t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function O1t(t,e,r,o){var a=L1t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new N1t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}w2e.exports={getHighWaterMark:O1t}});var B2e=_((c$t,hG)=>{typeof Object.create=="function"?hG.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:hG.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var Zh=_((u$t,dG)=>{try{if(gG=De("util"),typeof gG.inherits!="function")throw"";dG.exports=gG.inherits}catch{dG.exports=B2e()}var gG});var D2e=_((A$t,v2e)=>{v2e.exports=De("util").deprecate});var EG=_((f$t,k2e)=>{"use strict";k2e.exports=Ni;function S2e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){u2t(e,t)}}var UC;Ni.WritableState=Tv;var M1t={deprecate:D2e()},x2e=cG(),cF=De("buffer").Buffer,U1t=global.Uint8Array||function(){};function _1t(t){return cF.from(t)}function H1t(t){return cF.isBuffer(t)||t instanceof U1t}var yG=fG(),q1t=pG(),j1t=q1t.getHighWaterMark,$h=Xh().codes,G1t=$h.ERR_INVALID_ARG_TYPE,W1t=$h.ERR_METHOD_NOT_IMPLEMENTED,Y1t=$h.ERR_MULTIPLE_CALLBACK,K1t=$h.ERR_STREAM_CANNOT_PIPE,V1t=$h.ERR_STREAM_DESTROYED,z1t=$h.ERR_STREAM_NULL_VALUES,J1t=$h.ERR_STREAM_WRITE_AFTER_END,X1t=$h.ERR_UNKNOWN_ENCODING,_C=yG.errorOrDestroy;Zh()(Ni,x2e);function Z1t(){}function Tv(t,e,r){UC=UC||yd(),t=t||{},typeof r!="boolean"&&(r=e instanceof UC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=j1t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){s2t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new S2e(this)}Tv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(Tv.prototype,"buffer",{get:M1t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var lF;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(lF=Function.prototype[Symbol.hasInstance],Object.defineProperty(Ni,Symbol.hasInstance,{value:function(e){return lF.call(this,e)?!0:this!==Ni?!1:e&&e._writableState instanceof Tv}})):lF=function(e){return e instanceof this};function Ni(t){UC=UC||yd();var e=this instanceof UC;if(!e&&!lF.call(Ni,this))return new Ni(t);this._writableState=new Tv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),x2e.call(this)}Ni.prototype.pipe=function(){_C(this,new K1t)};function $1t(t,e){var r=new J1t;_C(t,r),process.nextTick(e,r)}function e2t(t,e,r,o){var a;return r===null?a=new z1t:typeof r!="string"&&!e.objectMode&&(a=new G1t("chunk",["string","Buffer"],r)),a?(_C(t,a),process.nextTick(o,a),!1):!0}Ni.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&H1t(t);return n&&!cF.isBuffer(t)&&(t=_1t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=Z1t),o.ending?$1t(this,r):(n||e2t(this,o,t,r))&&(o.pendingcb++,a=r2t(this,o,n,t,e,r)),a};Ni.prototype.cork=function(){this._writableState.corked++};Ni.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&b2e(this,t))};Ni.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new X1t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Ni.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function t2t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=cF.from(e,r)),e}Object.defineProperty(Ni.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function r2t(t,e,r,o,a,n){if(!r){var u=t2t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length{"use strict";var A2t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};R2e.exports=IA;var F2e=wG(),IG=EG();Zh()(IA,F2e);for(CG=A2t(IG.prototype),uF=0;uF{var fF=De("buffer"),ip=fF.Buffer;function T2e(t,e){for(var r in t)e[r]=t[r]}ip.from&&ip.alloc&&ip.allocUnsafe&&ip.allocUnsafeSlow?N2e.exports=fF:(T2e(fF,BG),BG.Buffer=HC);function HC(t,e,r){return ip(t,e,r)}T2e(ip,HC);HC.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return ip(t,e,r)};HC.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=ip(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};HC.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ip(t)};HC.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return fF.SlowBuffer(t)}});var PG=_(M2e=>{"use strict";var DG=L2e().Buffer,O2e=DG.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function h2t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function g2t(t){var e=h2t(t);if(typeof e!="string"&&(DG.isEncoding===O2e||!O2e(t)))throw new Error("Unknown encoding: "+t);return e||t}M2e.StringDecoder=Nv;function Nv(t){this.encoding=g2t(t);var e;switch(this.encoding){case"utf16le":this.text=I2t,this.end=w2t,e=4;break;case"utf8":this.fillLast=y2t,e=4;break;case"base64":this.text=B2t,this.end=v2t,e=3;break;default:this.write=D2t,this.end=P2t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=DG.allocUnsafe(e)}Nv.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function d2t(t,e,r){var o=e.length-1;if(o=0?(a>0&&(t.lastNeed=a-1),a):--o=0?(a>0&&(t.lastNeed=a-2),a):--o=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function m2t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function y2t(t){var e=this.lastTotal-this.lastNeed,r=m2t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function E2t(t,e){var r=d2t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function C2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function I2t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function w2t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function B2t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function v2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function D2t(t){return t.toString(this.encoding)}function P2t(t){return t&&t.length?this.write(t):""}});var pF=_((g$t,H2e)=>{"use strict";var U2e=Xh().codes.ERR_STREAM_PREMATURE_CLOSE;function S2t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a{"use strict";var hF;function e0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Q2t=pF(),t0=Symbol("lastResolve"),Ed=Symbol("lastReject"),Lv=Symbol("error"),gF=Symbol("ended"),Cd=Symbol("lastPromise"),SG=Symbol("handlePromise"),Id=Symbol("stream");function r0(t,e){return{value:t,done:e}}function k2t(t){var e=t[t0];if(e!==null){var r=t[Id].read();r!==null&&(t[Cd]=null,t[t0]=null,t[Ed]=null,e(r0(r,!1)))}}function F2t(t){process.nextTick(k2t,t)}function R2t(t,e){return function(r,o){t.then(function(){if(e[gF]){r(r0(void 0,!0));return}e[SG](r,o)},o)}}var T2t=Object.getPrototypeOf(function(){}),N2t=Object.setPrototypeOf((hF={get stream(){return this[Id]},next:function(){var e=this,r=this[Lv];if(r!==null)return Promise.reject(r);if(this[gF])return Promise.resolve(r0(void 0,!0));if(this[Id].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[Lv]?A(e[Lv]):u(r0(void 0,!0))})});var o=this[Cd],a;if(o)a=new Promise(R2t(o,this));else{var n=this[Id].read();if(n!==null)return Promise.resolve(r0(n,!1));a=new Promise(this[SG])}return this[Cd]=a,a}},e0(hF,Symbol.asyncIterator,function(){return this}),e0(hF,"return",function(){var e=this;return new Promise(function(r,o){e[Id].destroy(null,function(a){if(a){o(a);return}r(r0(void 0,!0))})})}),hF),T2t),L2t=function(e){var r,o=Object.create(N2t,(r={},e0(r,Id,{value:e,writable:!0}),e0(r,t0,{value:null,writable:!0}),e0(r,Ed,{value:null,writable:!0}),e0(r,Lv,{value:null,writable:!0}),e0(r,gF,{value:e._readableState.endEmitted,writable:!0}),e0(r,SG,{value:function(n,u){var A=o[Id].read();A?(o[Cd]=null,o[t0]=null,o[Ed]=null,n(r0(A,!1))):(o[t0]=n,o[Ed]=u)},writable:!0}),r));return o[Cd]=null,Q2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[Ed];n!==null&&(o[Cd]=null,o[t0]=null,o[Ed]=null,n(a)),o[Lv]=a;return}var u=o[t0];u!==null&&(o[Cd]=null,o[t0]=null,o[Ed]=null,u(r0(void 0,!0))),o[gF]=!0}),e.on("readable",F2t.bind(null,o)),o};q2e.exports=L2t});var K2e=_((m$t,Y2e)=>{"use strict";function G2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function O2t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){G2e(n,o,a,u,A,"next",p)}function A(p){G2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function W2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function M2t(t){for(var e=1;e{"use strict";nBe.exports=wn;var qC;wn.ReadableState=X2e;var y$t=De("events").EventEmitter,J2e=function(e,r){return e.listeners(r).length},Mv=cG(),dF=De("buffer").Buffer,q2t=global.Uint8Array||function(){};function j2t(t){return dF.from(t)}function G2t(t){return dF.isBuffer(t)||t instanceof q2t}var xG=De("util"),tn;xG&&xG.debuglog?tn=xG.debuglog("stream"):tn=function(){};var W2t=d2e(),NG=fG(),Y2t=pG(),K2t=Y2t.getHighWaterMark,mF=Xh().codes,V2t=mF.ERR_INVALID_ARG_TYPE,z2t=mF.ERR_STREAM_PUSH_AFTER_EOF,J2t=mF.ERR_METHOD_NOT_IMPLEMENTED,X2t=mF.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,jC,bG,QG;Zh()(wn,Mv);var Ov=NG.errorOrDestroy,kG=["error","close","destroy","pause","resume"];function Z2t(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function X2e(t,e,r){qC=qC||yd(),t=t||{},typeof r!="boolean"&&(r=e instanceof qC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=K2t(this,t,"readableHighWaterMark",r),this.buffer=new W2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(jC||(jC=PG().StringDecoder),this.decoder=new jC(t.encoding),this.encoding=t.encoding)}function wn(t){if(qC=qC||yd(),!(this instanceof wn))return new wn(t);var e=this instanceof qC;this._readableState=new X2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),Mv.call(this)}Object.defineProperty(wn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}});wn.prototype.destroy=NG.destroy;wn.prototype._undestroy=NG.undestroy;wn.prototype._destroy=function(t,e){e(t)};wn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=dF.from(t,e),e=""),o=!0),Z2e(this,t,e,!1,o)};wn.prototype.unshift=function(t){return Z2e(this,t,null,!0,!1)};function Z2e(t,e,r,o,a){tn("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,tBt(t,n);else{var u;if(a||(u=$2t(n,e)),u)Ov(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==dF.prototype&&(e=j2t(e)),o)n.endEmitted?Ov(t,new X2t):FG(t,n,e,!0);else if(n.ended)Ov(t,new z2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?FG(t,n,e,!1):TG(t,n)):FG(t,n,e,!1)}else o||(n.reading=!1,TG(t,n))}return!n.ended&&(n.length=V2e?t=V2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function z2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=eBt(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}wn.prototype.read=function(t){tn("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return tn("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?RG(this):yF(this),null;if(t=z2e(t,e),t===0&&e.ended)return e.length===0&&RG(this),null;var o=e.needReadable;tn("need readable",o),(e.length===0||e.length-t0?a=tBe(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&RG(this)),a!==null&&this.emit("data",a),a};function tBt(t,e){if(tn("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?yF(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,$2e(t)))}}function yF(t){var e=t._readableState;tn("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(tn("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick($2e,t))}function $2e(t){var e=t._readableState;tn("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,LG(t)}function TG(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(rBt,t,e))}function rBt(t,e){for(;!e.reading&&!e.ended&&(e.length1&&rBe(o.pipes,t)!==-1)&&!h&&(tn("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function D(L){tn("onerror",L),T(),t.removeListener("error",D),J2e(t,"error")===0&&Ov(t,L)}Z2t(t,"error",D);function b(){t.removeListener("finish",C),T()}t.once("close",b);function C(){tn("onfinish"),t.removeListener("close",b),T()}t.once("finish",C);function T(){tn("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(tn("pipe resume"),r.resume()),t};function nBt(t){return function(){var r=t._readableState;tn("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&J2e(t,"data")&&(r.flowing=!0,LG(t))}}wn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,tn("on readable",o.length,o.reading),o.length?yF(this):o.reading||process.nextTick(iBt,this)),r};wn.prototype.addListener=wn.prototype.on;wn.prototype.removeListener=function(t,e){var r=Mv.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(eBe,this),r};wn.prototype.removeAllListeners=function(t){var e=Mv.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(eBe,this),e};function eBe(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function iBt(t){tn("readable nexttick read 0"),t.read(0)}wn.prototype.resume=function(){var t=this._readableState;return t.flowing||(tn("resume"),t.flowing=!t.readableListening,sBt(this,t)),t.paused=!1,this};function sBt(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(oBt,t,e))}function oBt(t,e){tn("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),LG(t),e.flowing&&!e.reading&&t.read(0)}wn.prototype.pause=function(){return tn("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(tn("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function LG(t){var e=t._readableState;for(tn("flow",e.flowing);e.flowing&&t.read()!==null;);}wn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(tn("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(tn("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function RG(t){var e=t._readableState;tn("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(aBt,e,t))}function aBt(t,e){if(tn("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(wn.from=function(t,e){return QG===void 0&&(QG=K2e()),QG(wn,t,e)});function rBe(t,e){for(var r=0,o=t.length;r{"use strict";sBe.exports=sp;var EF=Xh().codes,lBt=EF.ERR_METHOD_NOT_IMPLEMENTED,cBt=EF.ERR_MULTIPLE_CALLBACK,uBt=EF.ERR_TRANSFORM_ALREADY_TRANSFORMING,ABt=EF.ERR_TRANSFORM_WITH_LENGTH_0,CF=yd();Zh()(sp,CF);function fBt(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new cBt);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";aBe.exports=Uv;var oBe=OG();Zh()(Uv,oBe);function Uv(t){if(!(this instanceof Uv))return new Uv(t);oBe.call(this,t)}Uv.prototype._transform=function(t,e,r){r(null,t)}});var pBe=_((w$t,fBe)=>{"use strict";var MG;function hBt(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var ABe=Xh().codes,gBt=ABe.ERR_MISSING_ARGS,dBt=ABe.ERR_STREAM_DESTROYED;function cBe(t){if(t)throw t}function mBt(t){return t.setHeader&&typeof t.abort=="function"}function yBt(t,e,r,o){o=hBt(o);var a=!1;t.on("close",function(){a=!0}),MG===void 0&&(MG=pF()),MG(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,mBt(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new dBt("pipe"))}}}function uBe(t){t()}function EBt(t,e){return t.pipe(e)}function CBt(t){return!t.length||typeof t[t.length-1]!="function"?cBe:t.pop()}function IBt(){for(var t=arguments.length,e=new Array(t),r=0;r0;return yBt(u,p,h,function(E){a||(a=E),E&&n.forEach(uBe),!p&&(n.forEach(uBe),o(a))})});return e.reduce(EBt)}fBe.exports=IBt});var GC=_((fc,Hv)=>{var _v=De("stream");process.env.READABLE_STREAM==="disable"&&_v?(Hv.exports=_v.Readable,Object.assign(Hv.exports,_v),Hv.exports.Stream=_v):(fc=Hv.exports=wG(),fc.Stream=_v||fc,fc.Readable=fc,fc.Writable=EG(),fc.Duplex=yd(),fc.Transform=OG(),fc.PassThrough=lBe(),fc.finished=pF(),fc.pipeline=pBe())});var dBe=_((B$t,gBe)=>{"use strict";var{Buffer:hu}=De("buffer"),hBe=Symbol.for("BufferList");function fi(t){if(!(this instanceof fi))return new fi(t);fi._init.call(this,t)}fi._init=function(e){Object.defineProperty(this,hBe,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fi.prototype._new=function(e){return new fi(e)};fi.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;othis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};fi.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};fi.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||hu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:hu.concat(this._bufs,this.length);for(let w=0;wD)this._bufs[w].copy(e,h,E),h+=D;else{this._bufs[w].copy(e,h,E,E+p),h+=D;break}p-=D,E&&(E=0)}return e.length>h?e.slice(0,h):e};fi.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};fi.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};fi.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fi.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};fi.prototype._match=function(t,e){if(this.length-t{"use strict";var UG=GC().Duplex,wBt=Zh(),qv=dBe();function Fo(t){if(!(this instanceof Fo))return new Fo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}qv._init.call(this,t),UG.call(this)}wBt(Fo,UG);Object.assign(Fo.prototype,qv.prototype);Fo.prototype._new=function(e){return new Fo(e)};Fo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Fo.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Fo.prototype.end=function(e){UG.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Fo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Fo.prototype._isBufferList=function(e){return e instanceof Fo||e instanceof qv||Fo.isBufferList(e)};Fo.isBufferList=qv.isBufferList;IF.exports=Fo;IF.exports.BufferListStream=Fo;IF.exports.BufferList=qv});var qG=_(YC=>{var BBt=Buffer.alloc,vBt="0000000000000000000",DBt="7777777777777777777",yBe=48,EBe=Buffer.from("ustar\0","binary"),PBt=Buffer.from("00","binary"),SBt=Buffer.from("ustar ","binary"),xBt=Buffer.from(" \0","binary"),bBt=parseInt("7777",8),jv=257,HG=263,QBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},kBt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},FBt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},CBe=function(t,e,r,o){for(;re?DBt.slice(0,e)+" ":vBt.slice(0,e-t.length)+t+" "};function RBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o=Math.pow(10,r)&&r++,e+r+t};YC.decodeLongPath=function(t,e){return WC(t,0,t.length,e)};YC.encodePax=function(t){var e="";t.name&&(e+=_G(" path="+t.name+` -`)),t.linkname&&(e+=_G(" linkpath="+t.linkname+` -`));var r=t.pax;if(r)for(var o in r)e+=_G(" "+o+"="+r[o]+` -`);return Buffer.from(e)};YC.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(n0(t.mode&bBt,6),100),e.write(n0(t.uid,6),108),e.write(n0(t.gid,6),116),e.write(n0(t.size,11),124),e.write(n0(t.mtime.getTime()/1e3|0,11),136),e[156]=yBe+FBt(t.type),t.linkname&&e.write(t.linkname,157),EBe.copy(e,jv),PBt.copy(e,HG),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(n0(t.devmajor||0,6),329),e.write(n0(t.devminor||0,6),337),o&&e.write(o,345),e.write(n0(IBe(e),6),148),e)};YC.decode=function(t,e,r){var o=t[156]===0?0:t[156]-yBe,a=WC(t,0,100,e),n=i0(t,100,8),u=i0(t,108,8),A=i0(t,116,8),p=i0(t,124,12),h=i0(t,136,12),E=kBt(o),w=t[157]===0?null:WC(t,157,100,e),D=WC(t,265,32),b=WC(t,297,32),C=i0(t,329,8),T=i0(t,337,8),L=IBe(t);if(L===8*32)return null;if(L!==i0(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(EBe.compare(t,jv,jv+6)===0)t[345]&&(a=WC(t,345,155,e)+"/"+a);else if(!(SBt.compare(t,jv,jv+6)===0&&xBt.compare(t,HG,HG+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:w,uname:D,gname:b,devmajor:C,devminor:T}}});var xBe=_((P$t,SBe)=>{var BBe=De("util"),TBt=mBe(),Gv=qG(),vBe=GC().Writable,DBe=GC().PassThrough,PBe=function(){},wBe=function(t){return t&=511,t&&512-t},NBt=function(t,e){var r=new wF(t,e);return r.end(),r},LBt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},wF=function(t,e){this._parent=t,this.offset=e,DBe.call(this,{autoDestroy:!1})};BBe.inherits(wF,DBe);wF.prototype.destroy=function(t){this._parent.destroy(t)};var op=function(t){if(!(this instanceof op))return new op(t);vBe.call(this,t),t=t||{},this._offset=0,this._buffer=TBt(),this._missing=0,this._partial=!1,this._onparse=PBe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(D){if(e._locked=!1,D)return e.destroy(D);e._stream||o()},n=function(){e._stream=null;var D=wBe(e._header.size);D?e._parse(D,u):e._parse(512,w),e._locked||o()},u=function(){e._buffer.consume(wBe(e._header.size)),e._parse(512,w),o()},A=function(){var D=e._header.size;e._paxGlobal=Gv.decodePax(r.slice(0,D)),r.consume(D),n()},p=function(){var D=e._header.size;e._pax=Gv.decodePax(r.slice(0,D)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(D),n()},h=function(){var D=e._header.size;this._gnuLongPath=Gv.decodeLongPath(r.slice(0,D),t.filenameEncoding),r.consume(D),n()},E=function(){var D=e._header.size;this._gnuLongLinkPath=Gv.decodeLongPath(r.slice(0,D),t.filenameEncoding),r.consume(D),n()},w=function(){var D=e._offset,b;try{b=e._header=Gv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!b){e._parse(512,w),o();return}if(b.type==="gnu-long-path"){e._parse(b.size,h),o();return}if(b.type==="gnu-long-link-path"){e._parse(b.size,E),o();return}if(b.type==="pax-global-header"){e._parse(b.size,A),o();return}if(b.type==="pax-header"){e._parse(b.size,p),o();return}if(e._gnuLongPath&&(b.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(b.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=b=LBt(b,e._pax),e._pax=null),e._locked=!0,!b.size||b.type==="directory"){e._parse(512,w),e.emit("entry",b,NBt(e,D),a);return}e._stream=new wF(e,D),e.emit("entry",b,e._stream,a),e._parse(b.size,n),o()};this._onheader=w,this._parse(512,w)};BBe.inherits(op,vBe);op.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};op.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};op.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=PBe,this._overflow?this._write(this._overflow,void 0,t):t()}};op.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.lengthn&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};op.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};SBe.exports=op});var QBe=_((S$t,bBe)=>{bBe.exports=De("fs").constants||De("constants")});var NBe=_((x$t,TBe)=>{var KC=QBe(),kBe=I4(),vF=Zh(),OBt=Buffer.alloc,FBe=GC().Readable,VC=GC().Writable,MBt=De("string_decoder").StringDecoder,BF=qG(),UBt=parseInt("755",8),_Bt=parseInt("644",8),RBe=OBt(1024),GG=function(){},jG=function(t,e){e&=511,e&&t.push(RBe.slice(0,512-e))};function HBt(t){switch(t&KC.S_IFMT){case KC.S_IFBLK:return"block-device";case KC.S_IFCHR:return"character-device";case KC.S_IFDIR:return"directory";case KC.S_IFIFO:return"fifo";case KC.S_IFLNK:return"symlink"}return"file"}var DF=function(t){VC.call(this),this.written=0,this._to=t,this._destroyed=!1};vF(DF,VC);DF.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};DF.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var PF=function(){VC.call(this),this.linkname="",this._decoder=new MBt("utf-8"),this._destroyed=!1};vF(PF,VC);PF.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};PF.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Wv=function(){VC.call(this),this._destroyed=!1};vF(Wv,VC);Wv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};Wv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var wA=function(t){if(!(this instanceof wA))return new wA(t);FBe.call(this,t),this._drain=GG,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};vF(wA,FBe);wA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=GG);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=HBt(t.mode)),t.mode||(t.mode=t.type==="directory"?UBt:_Bt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return jG(o,t.size),a?process.nextTick(r):this._drain=r,new Wv}if(t.type==="symlink"&&!t.linkname){var n=new PF;return kBe(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new Wv;var u=new DF(this);return this._stream=u,kBe(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));jG(o,t.size),o._finalizing&&o.finalize(),r()}),u}};wA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(RBe),this.push(null))};wA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};wA.prototype._encode=function(t){if(!t.pax){var e=BF.encode(t);if(e){this.push(e);return}}this._encodePax(t)};wA.prototype._encodePax=function(t){var e=BF.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(BF.encode(r)),this.push(e),jG(this,e.length),r.size=t.size,r.type=t.type,this.push(BF.encode(r))};wA.prototype._read=function(t){var e=this._drain;this._drain=GG,e()};TBe.exports=wA});var LBe=_(WG=>{WG.extract=xBe();WG.pack=NBe()});var VBe=_((V$t,KBe)=>{"use strict";var Yv=class t{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=WBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return XG(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):rvt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new t(this.__specs,this.__opts,WBe(this.__providers).concat(e)),YBe)}};try{let t=De("util");Yv.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function evt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function XG(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))evt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=GBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=GBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function GBe(t,e){let r;return e.__isFiggyPudding?r=XG(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var YBe={has(t,e){return e in t.__specs&&XG(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Yv.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};KBe.exports=tvt;function tvt(t,e){function r(...o){return new Proxy(new Yv(t,e,o),YBe)}return r}function WBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function rvt(t){return Object.keys(t).map(e=>[e,t[e]])}});var XBe=_((z$t,DA)=>{"use strict";var Vv=De("crypto"),nvt=VBe(),ivt=De("stream").Transform,zBe=["sha256","sha384","sha512"],svt=/^[a-z0-9+/]+(?:=?=?)$/i,ovt=/^([^-]+)-([^?]+)([?\S*]*)$/,avt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,lvt=/^[\x21-\x7E]+$/,na=nvt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>dvt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),s0=class{get isHash(){return!0}constructor(e,r){r=na(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?avt:ovt);if(!a||o&&!zBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=na(e),e.strict&&!(zBe.some(o=>o===this.algorithm)&&this.digest.match(svt)&&(this.options||[]).every(o=>o.match(lvt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},wd=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=na(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>s0.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=na(r);let o=typeof e=="string"?e:Kv(e,r);return vA(`${this.toString(r)} ${o}`,r)}hexDigest(){return vA(this,{single:!0}).hexDigest()}match(e,r){r=na(r);let o=vA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=na(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};DA.exports.parse=vA;function vA(t,e){if(e=na(e),typeof t=="string")return ZG(t,e);if(t.algorithm&&t.digest){let r=new wd;return r[t.algorithm]=[t],ZG(Kv(r,e),e)}else return ZG(Kv(t,e),e)}function ZG(t,e){return e.single?new s0(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new s0(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new wd)}DA.exports.stringify=Kv;function Kv(t,e){return e=na(e),t.algorithm&&t.digest?s0.prototype.toString.call(t,e):typeof t=="string"?Kv(vA(t,e),e):wd.prototype.toString.call(t,e)}DA.exports.fromHex=cvt;function cvt(t,e,r){r=na(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return vA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}DA.exports.fromData=uvt;function uvt(t,e){e=na(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=Vv.createHash(n).update(t).digest("base64"),A=new s0(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new wd)}DA.exports.fromStream=Avt;function Avt(t,e){e=na(e);let r=e.Promise||Promise,o=$G(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}DA.exports.checkData=fvt;function fvt(t,e,r){if(r=na(r),e=vA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=Vv.createHash(o).update(t).digest("base64"),n=vA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. - Wanted: ${r.size} - Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}DA.exports.checkStream=pvt;function pvt(t,e,r){r=na(r);let o=r.Promise||Promise,a=$G(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}DA.exports.integrityStream=$G;function $G(t){t=na(t);let e=t.integrity&&vA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(Vv.createHash),A=0,p=new ivt({transform(h,E,w){A+=h.length,u.forEach(D=>D.update(h,E)),w(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=vA(u.map((D,b)=>`${n[b]}-${D.digest("base64")}${h}`).join(" "),t),w=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let D=new Error(`stream size mismatch when checking ${e}. - Wanted: ${t.size} - Found: ${A}`);D.code="EBADSIZE",D.found=A,D.expected=t.size,D.sri=e,p.emit("error",D)}else if(t.integrity&&!w){let D=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);D.code="EINTEGRITY",D.found=E,D.expected=a,D.algorithm=o,D.sri=e,p.emit("error",D)}else p.emit("size",A),p.emit("integrity",E),w&&p.emit("verified",w)});return p}DA.exports.create=hvt;function hvt(t){t=na(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(Vv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new s0(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new wd)}}}var gvt=new Set(Vv.getHashes()),JBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>gvt.has(t));function dvt(t,e){return JBe.indexOf(t.toLowerCase())>=JBe.indexOf(e.toLowerCase())?t:e}});var Dve=_((Znr,vve)=>{var mDt=YL();function yDt(t){return mDt(t)?void 0:t}vve.exports=yDt});var Sve=_(($nr,Pve)=>{var EDt=Cb(),CDt=dH(),IDt=CH(),wDt=Kg(),BDt=Ig(),vDt=Dve(),DDt=u8(),PDt=gH(),SDt=1,xDt=2,bDt=4,QDt=DDt(function(t,e){var r={};if(t==null)return r;var o=!1;e=EDt(e,function(n){return n=wDt(n,t),o||(o=n.length>1),n}),BDt(t,PDt(t),r),o&&(r=CDt(r,SDt|xDt|bDt,vDt));for(var a=e.length;a--;)IDt(r,e[a]);return r});Pve.exports=QDt});Pt();Ve();Pt();var Fve=De("child_process"),Rve=et(ag());Gt();var lE=new Map([]);var S2={};Kt(S2,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>or,getCli:()=>Whe,getDynamicLibs:()=>Ghe,getPluginConfiguration:()=>uE,openWorkspace:()=>cE,pluginCommands:()=>lE,runExit:()=>OQ});Gt();var ut=class extends ot{constructor(){super(...arguments);this.cwd=ge.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new nt("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};Ve();Pt();Gt();var or=class extends nt{constructor(e,r){let o=K.relative(e,r),a=K.join(e,_t.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ve();Pt();sA();Ol();J1();Gt();var bAt=et(ni());il();var Ghe=()=>new Map([["@yarnpkg/cli",S2],["@yarnpkg/core",P2],["@yarnpkg/fslib",pw],["@yarnpkg/libzip",V1],["@yarnpkg/parsers",Iw],["@yarnpkg/shell",e2],["clipanion",Rw],["semver",bAt],["typanion",Yo]]);Ve();async function cE(t,e){let{project:r,workspace:o}=await kt.find(t,e);if(!o)throw new or(r.cwd,e);return o}Ve();Pt();sA();Ol();J1();Gt();var UDt=et(ni());il();var _H={};Kt(_H,{AddCommand:()=>hE,BinCommand:()=>gE,CacheCleanCommand:()=>dE,ClipanionCommand:()=>wE,ConfigCommand:()=>CE,ConfigGetCommand:()=>mE,ConfigSetCommand:()=>yE,ConfigUnsetCommand:()=>EE,DedupeCommand:()=>IE,EntryCommand:()=>vE,ExecCommand:()=>PE,ExplainCommand:()=>bE,ExplainPeerRequirementsCommand:()=>SE,HelpCommand:()=>BE,InfoCommand:()=>QE,LinkCommand:()=>FE,NodeCommand:()=>RE,PluginCheckCommand:()=>TE,PluginImportCommand:()=>OE,PluginImportSourcesCommand:()=>ME,PluginListCommand:()=>NE,PluginRemoveCommand:()=>UE,PluginRuntimeCommand:()=>_E,RebuildCommand:()=>HE,RemoveCommand:()=>qE,RunCommand:()=>GE,RunIndexCommand:()=>jE,SetResolutionCommand:()=>WE,SetVersionCommand:()=>xE,SetVersionSourcesCommand:()=>LE,UnlinkCommand:()=>YE,UpCommand:()=>KE,VersionCommand:()=>DE,WhyCommand:()=>VE,WorkspaceCommand:()=>$E,WorkspacesListCommand:()=>ZE,YarnCommand:()=>kE,dedupeUtils:()=>KQ,default:()=>Bgt,suggestUtils:()=>nu});var wme=et(ag());Ve();Ve();Ve();Gt();var Fge=et(k2());il();var nu={};Kt(nu,{Modifier:()=>uH,Strategy:()=>GQ,Target:()=>F2,WorkspaceModifier:()=>Sge,applyModifier:()=>zft,extractDescriptorFromPath:()=>AH,extractRangeModifier:()=>xge,fetchDescriptorFrom:()=>fH,findProjectDescriptors:()=>kge,getModifier:()=>R2,getSuggestedDescriptors:()=>T2,makeWorkspaceDescriptor:()=>Qge,toWorkspaceModifier:()=>bge});Ve();Ve();Pt();var cH=et(ni()),Kft="workspace:",F2=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(F2||{}),uH=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(uH||{}),Sge=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(Sge||{}),GQ=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(GQ||{});function R2(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Vft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function xge(t,{project:e}){let r=t.match(Vft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function zft(t,e){let{protocol:r,source:o,params:a,selector:n}=G.parseRange(t.range);return cH.default.valid(n)&&(n=`${e}${t.range}`),G.makeDescriptor(t,G.makeRange({protocol:r,source:o,params:a,selector:n}))}function bge(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function Qge(t,e){return G.makeDescriptor(t.anchoredDescriptor,`${Kft}${bge(e)}`)}async function kge(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function AH(t,{cwd:e,workspace:r}){return await Jft(async o=>{K.isAbsolute(t)||(t=K.relative(r.cwd,K.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await fH(G.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new Ri,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),w=G.convertDescriptorToLocator(E),D=await p.fetch(w,h),b=await _t.find(D.prefixPath,{baseFs:D.packageFs});if(!b.name)throw new Error("Target path doesn't have a name");return G.makeDescriptor(b.name,t)})}async function T2(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||Ur.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${G.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let w=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,D=[],b=[],C=async T=>{try{await T()}catch(L){b.push(L)}};for(let T of A){if(D.length>=p)break;switch(T){case"keep":await C(async()=>{w&&D.push({descriptor:w,name:`Keep ${G.prettyDescriptor(e.configuration,w)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:L,locators:U}of(await kge(t,{project:e,target:a})).values()){if(U.length===1&&U[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let z=`(originally used by ${G.prettyLocator(e.configuration,U[0])}`;z+=U.length>1?` and ${U.length-1} other${U.length>2?"s":""})`:")",D.push({descriptor:L,name:`Reuse ${G.prettyDescriptor(e.configuration,L)}`,reason:z})}});break;case"cache":await C(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&D.push({descriptor:L,name:`Reuse ${G.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let U=Qge(L,u);D.push({descriptor:U,name:`Attach ${G.prettyDescriptor(e.configuration,U)}`,reason:`(local workspace at ${fe.pretty(e.configuration,L.relativeCwd,fe.Type.PATH)})`})});break;case"latest":{let L=e.configuration.get("enableNetwork"),U=e.configuration.get("enableOfflineMode");await C(async()=>{if(a==="peerDependencies")D.push({descriptor:G.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!L&&!U)D.push({descriptor:null,name:"Resolve from latest",reason:fe.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let z=await fH(t,E,{project:e,cache:o,workspace:r,modifier:u});z&&D.push({descriptor:z,name:`Use ${G.prettyDescriptor(e.configuration,z)}`,reason:`(resolved from ${U?"the cache":"latest"})`})}})}break}}return{suggestions:D.slice(0,p),rejections:b.slice(0,p)}}async function fH(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(G.makeDescriptor(t,e)),p=new Ri,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),w={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},D={...w,resolver:E,fetchOptions:w},b=E.bindDescriptor(A,a.anchoredLocator,D),C=await E.getCandidates(b,{},D);if(C.length===0)return null;let T=C[0],{protocol:L,source:U,params:z,selector:te}=G.parseRange(G.convertToManifestRange(T.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),cH.default.valid(te)){let le=te;if(typeof u<"u")te=u+te;else if(n!==!1){let me=typeof n=="string"?n:A.range;te=xge(me,{project:r})+te}let de=G.makeDescriptor(T,G.makeRange({protocol:L,source:U,params:z,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(de),{},D)).length!==1&&(te=le)}return G.makeDescriptor(T,G.makeRange({protocol:L,source:U,params:z,selector:te}))}async function Jft(t){return await ae.mktempPromise(async e=>{let r=Je.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Wr(e,{configuration:r,check:!1,immutable:!1}))})}var hE=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=ge.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=ge.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=ge.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=ge.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=ge.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=ge.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.silent=ge.Boolean("--silent",{hidden:!0});this.packages=ge.Rest()}static{this.paths=[["add"]]}static{this.usage=ot.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"],["Add a local package (gzipped tarball format) to the current workspace","$0 add local-package-name@file:../path/to/local-package-name-v0.1.2.tgz"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=A||r.get("preferReuse"),h=R2(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(U=>typeof U<"u"),w=A?1/0:1,D=await Promise.all(this.packages.map(async U=>{let z=U.match(/^\.{0,2}\//)?await AH(U,{cwd:this.context.cwd,workspace:a}):G.tryParseDescriptor(U),te=U.match(/^(https?:|git@github)/);if(te)throw new nt(`It seems you are trying to add a package using a ${fe.pretty(r,`${te[0]}...`,fe.Type.RANGE)} url; we now require package names to be explicitly specified. -Try running the command again with the package name prefixed: ${fe.pretty(r,"yarn add",fe.Type.CODE)} ${fe.pretty(r,G.makeDescriptor(G.makeIdent(null,"my-package"),`${te[0]}...`),fe.Type.DESCRIPTOR)}`);if(!z)throw new nt(`The ${fe.pretty(r,U,fe.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let le=Xft(a,z,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(le.map(async ce=>{let me=await T2(z,{project:o,workspace:a,cache:n,fixed:u,target:ce,modifier:h,strategies:E,maxResults:w});return{request:z,suggestedDescriptors:me,target:ce}}))})).then(U=>U.flat()),b=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async U=>{for(let{request:z,suggestedDescriptors:{suggestions:te,rejections:le}}of D)if(te.filter(ce=>ce.descriptor!==null).length===0){let[ce]=le;if(typeof ce>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?U.reportError(27,`${G.prettyDescriptor(r,z)} can't be resolved to a satisfying range`):U.reportError(27,`${G.prettyDescriptor(r,z)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),U.reportSeparator(),U.reportExceptionOnce(ce)}});if(b.hasErrors())return b.exitCode();let C=!1,T=[],L=[];for(let{suggestedDescriptors:{suggestions:U},target:z}of D){let te,le=U.filter(pe=>pe.descriptor!==null),de=le[0].descriptor,ce=le.every(pe=>G.areDescriptorsEqual(pe.descriptor,de));le.length===1||ce?te=de:(C=!0,{answer:te}=await(0,Fge.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:U.map(({descriptor:pe,name:ve,reason:Ie})=>pe?{name:ve,hint:Ie,descriptor:pe}:{name:ve,hint:Ie,disabled:!0}),onCancel:()=>process.exit(130),result(pe){return this.find(pe,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let me=a.manifest[z].get(te.identHash);(typeof me>"u"||me.descriptorHash!==te.descriptorHash)&&(a.manifest[z].set(te.identHash,te),this.optional&&(z==="dependencies"?a.manifest.ensureDependencyMeta({...te,range:"unknown"}).optional=!0:z==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...te,range:"unknown"}).optional=!0)),typeof me>"u"?T.push([a,z,te,E]):L.push([a,z,me,te]))}return await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyAddition,T),await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyReplacement,L),C&&this.context.stdout.write(` -`),await o.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};function Xft(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest.dependencies.has(e.identHash),A=t.manifest.devDependencies.has(e.identHash),p=t.manifest.peerDependencies.has(e.identHash);if((r||o)&&u)throw new nt(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new nt(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new nt(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new nt(`Package "${G.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new nt(`Package "${G.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ve();Ve();Gt();var gE=class extends ut{constructor(){super(...arguments);this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=ge.String({required:!1})}static{this.paths=[["bin"]]}static{this.usage=ot.Usage({description:"get the path to a binary script",details:` - When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. - - When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await kt.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await hn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new nt(`Couldn't find a binary named "${this.name}" for package "${G.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} -`),0}return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await hn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,w)=>Math.max(E,w.length),0);for(let[E,[w,D]]of A)u.reportJson({name:E,source:G.stringifyIdent(w),path:D});if(this.verbose)for(let[E,[w]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${G.prettyLocator(r,w)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};Ve();Pt();Gt();var dE=class extends ut{constructor(){super(...arguments);this.mirror=ge.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=ge.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}static{this.paths=[["cache","clean"],["cache","clear"]]}static{this.usage=ot.Usage({description:"remove the shared cache files",details:` - This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);if(!r.get("enableCacheClean"))throw new nt("Cache cleaning is currently disabled. To enable it, set `enableCacheClean: true` in your configuration file. Note: Cache cleaning is typically not required and should be avoided when using Zero-Installs.");let o=await Wr.find(r);return(await Nt.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};Ve();Gt();var Tge=et(N2()),pH=De("util"),mE=class extends ut{constructor(){super(...arguments);this.why=ge.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=ge.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=ge.String()}static{this.paths=[["config","get"]]}static{this.usage=ot.Usage({description:"read a configuration settings",details:` - This command will print a configuration setting. - - Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new nt(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=qe.convertMapsToIndexableObjects(u),p=a?(0,Tge.default)(A,a):A,h=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} -`),h.exitCode();pH.inspect.styles.name="cyan",this.context.stdout.write(`${(0,pH.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} -`)}return h.exitCode()}};Ve();Gt();var vde=et(mH()),Dde=et(N2()),Pde=et(yH()),EH=De("util"),yE=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String();this.value=ge.String()}static{this.paths=[["config","set"]]}static{this.usage=ot.Usage({description:"change a configuration settings",details:` - This command will set a configuration setting. - - When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). - - When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new nt("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new nt(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new nt("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?C=>Je.updateHomeConfiguration(C):C=>Je.updateConfiguration(o(),C))(C=>{if(n){let T=(0,vde.default)(C);return(0,Pde.default)(T,this.name,A),T}else return{...C,[a]:A}});let E=(await Je.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=qe.convertMapsToIndexableObjects(E),D=n?(0,Dde.default)(w,n):w;return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{EH.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,EH.inspect)(D,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Ve();Gt();var Ode=et(mH()),Mde=et(Qde()),Ude=et(IH()),EE=class extends ut{constructor(){super(...arguments);this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String()}static{this.paths=[["config","unset"]]}static{this.usage=ot.Usage({description:"unset a configuration setting",details:` - This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new nt("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new nt(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Je.updateHomeConfiguration(h):h=>Je.updateConfiguration(o(),h);return(await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(w=>{if(!(0,Mde.default)(w,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,w;let D=n?(0,Ode.default)(w):{...w};return(0,Ude.default)(D,this.name),D}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Ve();Pt();Gt();var YQ=De("util"),CE=class extends ut{constructor(){super(...arguments);this.noDefaults=ge.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=ge.Boolean("-v,--verbose",{hidden:!0});this.why=ge.Boolean("--why",{hidden:!0});this.names=ge.Rest()}static{this.paths=[["config"]]}static{this.usage=ot.Usage({description:"display the current configuration",details:` - This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins,{strict:!1}),o=await Ry({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(o!==null)return o;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async A=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)A.reportError(34,`Invalid configuration key "${p}" in ${h}`);A.reportSeparator()}if(this.json)for(let p of a){if(this.noDefaults&&!r.sources.has(p))continue;let h=r.settings.get(p);typeof h>"u"&&A.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),w=r.sources.get(p)??"",D=w&&w[0]!=="<"?ue.fromPortablePath(w):w;A.reportJson({key:p,effective:E,source:D,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let w of a){if(this.noDefaults&&!r.sources.has(w))continue;let D=r.settings.get(w),b=r.sources.get(w)??"",C=r.getSpecial(w,{hideSecrets:!0,getNativePaths:!0}),T={Description:{label:"Description",value:fe.tuple(fe.Type.MARKDOWN,{text:D.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:fe.tuple(b[0]==="<"?fe.Type.CODE:fe.Type.PATH,b)}};h[w]={value:fe.tuple(fe.Type.CODE,w),children:T};let L=(U,z)=>{for(let[te,le]of z)if(le instanceof Map){let de={};U[te]={children:de},L(de,le)}else U[te]={label:te,value:fe.tuple(fe.Type.NO_HINT,(0,YQ.inspect)(le,p))}};C instanceof Map?L(T,C):T.Value={label:"Value",value:fe.tuple(fe.Type.NO_HINT,(0,YQ.inspect)(C,p))}}a.length!==1&&(n=void 0),As.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let A=a[0],p=(0,YQ.inspect)(r.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` -`),this.context.stdout.write(`${p} -`)}return u.exitCode()}};Ve();Gt();il();var KQ={};Kt(KQ,{Strategy:()=>L2,acceptedStrategies:()=>R0t,dedupe:()=>wH});Ve();Ve();var _de=et(Xo()),L2=(e=>(e.HIGHEST="highest",e))(L2||{}),R0t=new Set(Object.values(L2)),T0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);qe.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(qe.mapAndFilter(t.storedDescriptors.values(),p=>G.isVirtualDescriptor(p)?qe.mapAndFilter.skip:[p.descriptorHash,qe.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let w=t.originalPackages.get(E);if(typeof w>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let D=r.getResolutionDependencies(p,a),b=Object.fromEntries(await qe.allSettledSafe(Object.entries(D).map(async([te,le])=>{let de=A.get(le.descriptorHash);if(typeof de>"u")throw new Error(`Assertion failed: The descriptor (${le.descriptorHash}) should have been registered`);let ce=await de.promise;if(!ce)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ce.updatedPackage]})));if(e.length&&!_de.default.isMatch(G.stringifyIdent(p),e)||!r.shouldPersistResolution(w,a))return w;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return w;let T=[...C].map(te=>{let le=t.originalPackages.get(te);if(typeof le>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return le}),L=await r.getSatisfying(p,b,T,a),U=L.locators?.[0];if(typeof U>"u"||!L.sorted)return w;let z=t.originalPackages.get(U.locatorHash);if(typeof z>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return z}).then(async D=>{let b=await t.preparePackage(D,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:w,updatedPackage:D,resolvedPackage:b})}).catch(D=>{h.reject(D)})}return[...A.values()].map(p=>p.promise)}};async function wH(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new Ri,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let w=T0t[e],D=await w(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),b=Ws.progressViaCounter(D.length);await a.reportProgress(b);let C=0;await Promise.all(D.map(U=>U.then(z=>{if(z===null||z.currentPackage.locatorHash===z.updatedPackage.locatorHash)return;C++;let{descriptor:te,currentPackage:le,updatedPackage:de}=z;a.reportInfo(0,`${G.prettyDescriptor(n,te)} can be deduped from ${G.prettyLocator(n,le)} to ${G.prettyLocator(n,de)}`),a.reportJson({descriptor:G.stringifyDescriptor(te),currentResolution:G.stringifyLocator(le),updatedResolution:G.stringifyLocator(de)}),t.storedResolutions.set(te.descriptorHash,de.locatorHash)}).finally(()=>b.tick())));let T;switch(C){case 0:T="No packages";break;case 1:T="One package";break;default:T=`${C} packages`}let L=fe.pretty(n,e,fe.Type.CODE);return a.reportInfo(0,`${T} can be deduped using the ${L} strategy`),C})}var IE=class extends ut{constructor(){super(...arguments);this.strategy=ge.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:js(L2)});this.check=ge.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.patterns=ge.Rest()}static{this.paths=[["dedupe"]]}static{this.usage=ot.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd),a=await Wr.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Nt.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await wH(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Ve();Gt();var wE=class extends ut{static{this.paths=[["--clipanion=definitions"]]}async execute(){let{plugins:e}=await Je.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=Vo.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Hde()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} -`)}};var BE=class extends ut{static{this.paths=[["help"],["--help"],["-h"]]}async execute(){this.context.stdout.write(this.cli.usage(null))}};Ve();Pt();Gt();var vE=class extends ut{constructor(){super(...arguments);this.leadingArgument=ge.String();this.args=ge.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!G.tryParseIdent(this.leadingArgument)){let r=K.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ve();var DE=class extends ut{static{this.paths=[["-v"],["--version"]]}async execute(){this.context.stdout.write(`${nn||""} -`)}};Ve();Ve();Gt();var PE=class extends ut{constructor(){super(...arguments);this.commandName=ge.String();this.args=ge.Proxy()}static{this.paths=[["exec"]]}static{this.usage=ot.Usage({description:"execute a shell script",details:` - This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. - - It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await kt.find(r,this.context.cwd);return await o.restoreInstallState(),await hn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};Ve();Gt();il();var SE=class extends ut{constructor(){super(...arguments);this.hash=ge.String({required:!1,validator:NP(bm(),[Dw(/^p[0-9a-f]{5}$/)])})}static{this.paths=[["explain","peer-requirements"]]}static{this.usage=ot.Usage({description:"explain a set of peer requirements",details:` - A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters. - - When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not. - - When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement. - - **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await L0t(this.hash,o,{stdout:this.context.stdout}):await O0t(o,{stdout:this.context.stdout})}};async function L0t(t,e,r){let o=e.peerRequirementNodes.get(t);if(typeof o>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);let a=new Set,n=p=>a.has(p.requester.locatorHash)?{value:fe.tuple(fe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:p.children.size>0?[{value:fe.tuple(fe.Type.NO_HINT,"...")}]:[]}:(a.add(p.requester.locatorHash),{value:fe.tuple(fe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:Object.fromEntries(Array.from(p.children.values(),h=>[G.stringifyLocator(h.requester),n(h)]))}),u=e.peerWarnings.find(p=>p.hash===t);return(await Nt.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async p=>{let h=fe.mark(e.configuration),E=u?h.Cross:h.Check;if(p.reportInfo(0,`Package ${fe.pretty(e.configuration,o.subject,fe.Type.LOCATOR)} is requested to provide ${fe.pretty(e.configuration,o.ident,fe.Type.IDENT)} by its descendants`),p.reportSeparator(),p.reportInfo(0,fe.pretty(e.configuration,o.subject,fe.Type.LOCATOR)),As.emitTree({children:Object.fromEntries(Array.from(o.requests.values(),w=>[G.stringifyLocator(w.requester),n(w)]))},{configuration:e.configuration,stdout:r.stdout,json:!1}),p.reportSeparator(),o.provided.range==="missing:"){let w=u?"":" , but all peer requests are optional";p.reportInfo(0,`${E} Package ${fe.pretty(e.configuration,o.subject,fe.Type.LOCATOR)} does not provide ${fe.pretty(e.configuration,o.ident,fe.Type.IDENT)}${w}.`)}else{let w=e.storedResolutions.get(o.provided.descriptorHash);if(!w)throw new Error("Assertion failed: Expected the descriptor to be registered");let D=e.storedPackages.get(w);if(!D)throw new Error("Assertion failed: Expected the package to be registered");p.reportInfo(0,`${E} Package ${fe.pretty(e.configuration,o.subject,fe.Type.LOCATOR)} provides ${fe.pretty(e.configuration,o.ident,fe.Type.IDENT)} with version ${G.prettyReference(e.configuration,D.version??"0.0.0")}, ${u?"which does not satisfy all requests.":"which satisfies all requests"}`),u?.type===3&&(u.range?p.reportInfo(0,` The combined requested range is ${fe.pretty(e.configuration,u.range,fe.Type.RANGE)}`):p.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function O0t(t,e){return(await Nt.start({configuration:t.configuration,stdout:e.stdout,includeFooter:!1,includePrefix:!1},async o=>{let a=fe.mark(t.configuration),n=qe.sortMap(t.peerRequirementNodes,[([,u])=>G.stringifyLocator(u.subject),([,u])=>G.stringifyIdent(u.ident)]);for(let[,u]of n.values()){if(!u.root)continue;let A=t.peerWarnings.find(E=>E.hash===u.hash),p=[...G.allPeerRequests(u)],h;if(p.length>2?h=` and ${p.length-1} other dependencies`:p.length===2?h=" and 1 other dependency":h="",u.provided.range!=="missing:"){let E=t.storedResolutions.get(u.provided.descriptorHash);if(!E)throw new Error("Assertion failed: Expected the resolution to have been registered");let w=t.storedPackages.get(E);if(!w)throw new Error("Assertion failed: Expected the provided package to have been registered");let D=`${fe.pretty(t.configuration,u.hash,fe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${G.prettyLocator(t.configuration,u.subject)} provides ${G.prettyLocator(t.configuration,w)} to ${G.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,D):o.reportInfo(0,D)}else{let E=`${fe.pretty(t.configuration,u.hash,fe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${G.prettyLocator(t.configuration,u.subject)} doesn't provide ${G.prettyIdent(t.configuration,u.ident)} to ${G.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,E):o.reportInfo(0,E)}}})).exitCode()}Ve();Gt();il();Ve();Ve();Pt();Gt();var qde=et(ni()),xE=class extends ut{constructor(){super(...arguments);this.useYarnPath=ge.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=ge.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=ge.String()}static{this.paths=[["set","version"]]}static{this.usage=ot.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(K.contains(p,A))return 0}let o=()=>{if(typeof nn>"u")throw new nt("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:nn??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await O2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await O2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${K.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(Ur.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Ur.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Ur.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await M0t(r,this.version));else throw new nt(`Invalid version descriptor "${this.version}"`);return(await Nt.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${fe.pretty(r,a.url,fe.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${fe.pretty(r,a.url,fe.Type.URL)}`),await on.get(a.url,{configuration:r}))};await BH(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};async function M0t(t,e){let o=(await on.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Ur.satisfiesWithPrereleases(a,e));if(o.length===0)throw new nt(`No matching release found for range ${fe.pretty(t,e,fe.Type.RANGE)}.`);return o[0]}async function O2(t,e){let r=await on.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new nt(`Tag ${fe.pretty(t,e,fe.Type.RANGE)} not found`);return r.latest[e]}async function BH(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let te=await u();await ae.mktempPromise(async le=>{let de=K.join(le,"yarn.cjs");await ae.writeFilePromise(de,te);let{stdout:ce}=await Hr.execvp(process.execPath,[ue.fromPortablePath(de),"--version"],{cwd:le,env:{...t.env,YARN_IGNORE_PATH:"1"}});if(e=ce.trim(),!qde.default.valid(e))throw new Error(`Invalid semver version. ${fe.pretty(t,"yarn --version",fe.Type.CODE)} returned: -${e}`)})}let A=t.projectCwd??t.startingCwd,p=K.resolve(A,".yarn/releases"),h=K.resolve(p,`yarn-${e}.cjs`),E=K.relative(t.startingCwd,h),w=qe.isTaggedYarnVersion(e),D=t.get("yarnPath"),b=!w,C=b||!!D||!!a;if(a===!1){if(b)throw new zt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${fe.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${fe.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let te=await u();o.reportInfo(0,`Saving the new release in ${fe.pretty(t,E,"magenta")}`),await ae.removePromise(K.dirname(h)),await ae.mkdirPromise(K.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,te,{mode:493}),await Je.updateConfiguration(A,{yarnPath:K.relative(A,h)})}else await ae.removePromise(K.dirname(h)),await Je.updateConfiguration(A,{yarnPath:Je.deleteProperty});let T=await _t.tryFind(A)||new _t;T.packageManager=`yarn@${w?e:await O2(t,"stable")}`;let L={};T.exportTo(L);let U=K.join(A,_t.fileName),z=`${JSON.stringify(L,null,T.indent)} -`;return await ae.changeFilePromise(U,z,{automaticNewlines:!0}),{bundleVersion:e}}function jde(t){return vr[qP(t)]}var U0t=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function _0t(t){let r=`https://repo.yarnpkg.com/${qe.isTaggedYarnVersion(nn)?nn:await O2(t,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,o=await on.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(U0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=jde(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var bE=class extends ut{constructor(){super(...arguments);this.code=ge.String({required:!1,validator:Pw(bm(),[Dw(/^YN[0-9]{4}$/)])});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["explain"]]}static{this.usage=ot.Usage({description:"explain an error code",details:` - When the code argument is specified, this command prints its name and its details. - - When used without arguments, this command lists all error codes and their names. - `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=jde(this.code),a=fe.pretty(r,o,fe.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await _0t(r)).get(this.code),p=typeof A<"u"?fe.jsonOrPretty(this.json,r,fe.tuple(fe.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. - -You can help us by editing this page on GitHub \u{1F642}: -${fe.jsonOrPretty(this.json,r,fe.tuple(fe.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))} -`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:o,details:p})} -`):this.context.stdout.write(`${n} - -${p} -`)}else{let o={children:qe.mapAndFilter(Object.entries(vr),([a,n])=>Number.isNaN(Number(a))?qe.mapAndFilter.skip:{label:zu(Number(a)),value:fe.tuple(fe.Type.CODE,n)})};As.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};Ve();Pt();Gt();var Gde=et(Xo()),QE=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=ge.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=ge.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=ge.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=ge.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=ge.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=ge.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}static{this.paths=[["info"]]}static{this.usage=ot.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a&&!this.all)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(le,{recursive:de})=>{let ce=le.anchoredLocator.locatorHash,me=new Map,pe=[ce];for(;pe.length>0;){let ve=pe.shift();if(me.has(ve))continue;let Ie=o.storedPackages.get(ve);if(typeof Ie>"u")throw new Error("Assertion failed: Expected the package to be registered");if(me.set(ve,Ie),G.isVirtualLocator(Ie)&&pe.push(G.devirtualizeLocator(Ie).locatorHash),!(!de&&ve!==ce))for(let g of Ie.dependencies.values()){let Ce=o.storedResolutions.get(g.descriptorHash);if(typeof Ce>"u")throw new Error("Assertion failed: Expected the resolution to be registered");pe.push(Ce)}}return me.values()},p=({recursive:le})=>{let de=new Map;for(let ce of o.workspaces)for(let me of A(ce,{recursive:le}))de.set(me.locatorHash,me);return de.values()},h=({all:le,recursive:de})=>le&&de?o.storedPackages.values():le?p({recursive:de}):A(a,{recursive:de}),E=({all:le,recursive:de})=>{let ce=h({all:le,recursive:de}),me=this.patterns.map(Ie=>{let g=G.parseLocator(Ie),Ce=Gde.default.makeRe(G.stringifyIdent(g)),ye=G.isVirtualLocator(g),Ae=ye?G.devirtualizeLocator(g):g;return ie=>{let Z=G.stringifyIdent(ie);if(!Ce.test(Z))return!1;if(g.reference==="unknown")return!0;let Pe=G.isVirtualLocator(ie),Re=Pe?G.devirtualizeLocator(ie):ie;return!(ye&&Pe&&g.reference!==ie.reference||Ae.reference!==Re.reference)}}),pe=qe.sortMap([...ce],Ie=>G.stringifyLocator(Ie));return{selection:pe.filter(Ie=>me.length===0||me.some(g=>g(Ie))),sortedLookup:pe}},{selection:w,sortedLookup:D}=E({all:this.all,recursive:this.recursive});if(w.length===0)throw new nt("No package matched your request");let b=new Map;if(this.dependents)for(let le of D)for(let de of le.dependencies.values()){let ce=o.storedResolutions.get(de.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: Expected the resolution to be registered");qe.getArrayWithDefault(b,ce).push(le)}let C=new Map;for(let le of D){if(!G.isVirtualLocator(le))continue;let de=G.devirtualizeLocator(le);qe.getArrayWithDefault(C,de.locatorHash).push(le)}let T={},L={children:T},U=r.makeFetcher(),z={project:o,fetcher:U,cache:n,checksums:o.storedChecksums,report:new Ri,cacheOptions:{skipIntegrityCheck:!0}},te=[async(le,de,ce)=>{if(!de.has("manifest"))return;let me=await U.fetch(le,z),pe;try{pe=await _t.find(me.prefixPath,{baseFs:me.packageFs})}finally{me.releaseFs?.()}ce("Manifest",{License:fe.tuple(fe.Type.NO_HINT,pe.license),Homepage:fe.tuple(fe.Type.URL,pe.raw.homepage??null)})},async(le,de,ce)=>{if(!de.has("cache"))return;let me=o.storedChecksums.get(le.locatorHash)??null,pe=n.getLocatorPath(le,me),ve;if(pe!==null)try{ve=await ae.statPromise(pe)}catch{}let Ie=typeof ve<"u"?[ve.size,fe.Type.SIZE]:void 0;ce("Cache",{Checksum:fe.tuple(fe.Type.NO_HINT,me),Path:fe.tuple(fe.Type.PATH,pe),Size:Ie})}];for(let le of w){let de=G.isVirtualLocator(le);if(!this.virtuals&&de)continue;let ce={},me={value:[le,fe.Type.LOCATOR],children:ce};if(T[G.stringifyLocator(le)]=me,this.nameOnly){delete me.children;continue}let pe=C.get(le.locatorHash);typeof pe<"u"&&(ce.Instances={label:"Instances",value:fe.tuple(fe.Type.NUMBER,pe.length)}),ce.Version={label:"Version",value:fe.tuple(fe.Type.NO_HINT,le.version)};let ve=(g,Ce)=>{let ye={};if(ce[g]=ye,Array.isArray(Ce))ye.children=Ce.map(Ae=>({value:Ae}));else{let Ae={};ye.children=Ae;for(let[ie,Z]of Object.entries(Ce))typeof Z>"u"||(Ae[ie]={label:ie,value:Z})}};if(!de){for(let g of te)await g(le,u,ve);await r.triggerHook(g=>g.fetchPackageInfo,le,u,ve)}le.bin.size>0&&!de&&ve("Exported Binaries",[...le.bin.keys()].map(g=>fe.tuple(fe.Type.PATH,g)));let Ie=b.get(le.locatorHash);typeof Ie<"u"&&Ie.length>0&&ve("Dependents",Ie.map(g=>fe.tuple(fe.Type.LOCATOR,g))),le.dependencies.size>0&&!de&&ve("Dependencies",[...le.dependencies.values()].map(g=>{let Ce=o.storedResolutions.get(g.descriptorHash),ye=typeof Ce<"u"?o.storedPackages.get(Ce)??null:null;return fe.tuple(fe.Type.RESOLUTION,{descriptor:g,locator:ye})})),le.peerDependencies.size>0&&de&&ve("Peer dependencies",[...le.peerDependencies.values()].map(g=>{let Ce=le.dependencies.get(g.identHash),ye=typeof Ce<"u"?o.storedResolutions.get(Ce.descriptorHash)??null:null,Ae=ye!==null?o.storedPackages.get(ye)??null:null;return fe.tuple(fe.Type.RESOLUTION,{descriptor:g,locator:Ae})}))}As.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Ve();Pt();Ol();var VQ=et(ag());Gt();var vH=et(ni());il();var H0t=[{selector:t=>t===-1,name:"nodeLinker",value:"node-modules"},{selector:t=>t!==-1&&t<8,name:"enableGlobalCache",value:!1},{selector:t=>t!==-1&&t<8,name:"compressionLevel",value:"mixed"}],kE=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=ge.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=ge.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=ge.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=ge.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=ge.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=ge.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.cacheFolder=ge.String("--cache-folder",{hidden:!0});this.frozenLockfile=ge.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=ge.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=ge.Boolean("--non-interactive",{hidden:!0});this.preferOffline=ge.Boolean("--prefer-offline",{hidden:!0});this.production=ge.Boolean("--production",{hidden:!0});this.registry=ge.String("--registry",{hidden:!0});this.silent=ge.Boolean("--silent",{hidden:!0});this.networkTimeout=ge.String("--network-timeout",{hidden:!0})}static{this.paths=[["install"],ot.Default]}static{this.usage=ot.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the `.pnp.cjs` file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your `.pnp.cjs` file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await Ry({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!VQ.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!VQ.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!o},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!VQ.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new nt(`${fe.pretty(r,"--immutable",fe.Type.CODE)} and ${fe.pretty(r,"--immutable-cache",fe.Type.CODE)} cannot be used with ${fe.pretty(r,"--mode=update-lockfile",fe.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let T=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{let U=!1;await G0t(r,u)&&(L.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await j0t(r,u)&&(L.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&L.reportSeparator()});if(T.hasErrors())return T.exitCode()}if(r.projectCwd!==null){let T=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{if(Je.telemetry?.isNew)Je.telemetry.commitTips(),L.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),L.reportInfo(65,`Run ${fe.pretty(r,"yarn config set --home enableTelemetry 0",fe.Type.CODE)} to disable`),L.reportSeparator();else if(Je.telemetry?.shouldShowTips){let U=await on.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let z=null;if(nn!==null){let le=vH.default.prerelease(nn)?"canary":"stable",de=U.latest[le];vH.default.gt(de,nn)&&(z=[le,de])}if(z)Je.telemetry.commitTips(),L.reportInfo(88,`${fe.applyStyle(r,`A new ${z[0]} version of Yarn is available:`,fe.Style.BOLD)} ${G.prettyReference(r,z[1])}!`),L.reportInfo(88,`Upgrade now by running ${fe.pretty(r,`yarn set version ${z[1]}`,fe.Type.CODE)}`),L.reportSeparator();else{let te=Je.telemetry.selectTip(U.tips);te&&(L.reportInfo(89,fe.pretty(r,te.message,fe.Type.MARKDOWN_INLINE)),te.url&&L.reportInfo(89,`Learn more at ${te.url}`),L.reportSeparator())}}}});if(T.hasErrors())return T.exitCode()}let{project:p,workspace:h}=await kt.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let T=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async L=>{let U={};for(let z of H0t)z.selector(E)&&typeof r.sources.get(z.name)>"u"&&(r.use("",{[z.name]:z.value},p.cwd,{overwrite:!0}),U[z.name]=z.value);Object.keys(U).length>0&&(await Je.updateConfiguration(p.cwd,U),L.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),L.reportSeparator())});if(T.hasErrors())return T.exitCode()}let w=await Wr.find(r,{immutable:A,check:this.checkCache});if(!h)throw new or(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let D=r.get("enableHardenedMode");D&&typeof r.sources.get("enableHardenedMode")>"u"&&await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async T=>{T.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),T.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${fe.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),T.reportSeparator()}),(this.refreshLockfile??D)&&(p.lockfileNeedsRefresh=!0);let b=this.checkResolutions??D;return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async T=>{await p.install({cache:w,report:T,immutable:u,checkResolutions:b,mode:this.mode})})).exitCode()}},q0t="<<<<<<<";async function j0t(t,e){if(!t.projectCwd)return!1;let r=K.join(t.projectCwd,mr.lockfile);if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(q0t))return!1;if(e)throw new zt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Hr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Hr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Hr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new zt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Hr.execvp("git",["show",`${A}:./${mr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new zt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Ki(p.stdout)}catch{throw new zt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n){if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=G.parseDescriptor(p,!0),E=t.normalizeDependency(h),w=G.stringifyDescriptor(E);w!==p&&(A[w]=A[p],delete A[p])}for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=A[p].checksum;typeof h>"u"||h.includes("/")||(A[p].checksum=`${A.__metadata.cacheKey}/${h}`)}}let u=Object.assign({},...n);u.__metadata.version=`${Math.min(...n.map(A=>parseInt(A.__metadata.version??0)))}`,u.__metadata.cacheKey="merged";for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,Pa(u),{automaticNewlines:!0}),!0}async function G0t(t,e){if(!t.projectCwd)return!1;let r=[],o=K.join(t.projectCwd,".yarn/plugins/@yarnpkg");return await Je.updateConfiguration(t.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let u=n.filter(A=>{if(!A.path)return!0;let p=K.resolve(t.projectCwd,A.path),h=j1.has(A.spec)&&K.contains(o,p);return h&&r.push(p),!h});return u.length===0?Je.deleteProperty:u.length===n.length?n:u}},{immutable:e})?(await Promise.all(r.map(async n=>{await ae.removePromise(n)})),!0):!1}Ve();Pt();Gt();var FE=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=ge.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=ge.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=ge.Rest()}static{this.paths=[["link"]]}static{this.usage=ot.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let p of this.destinations){let h=K.resolve(this.context.cwd,ue.toPortablePath(p)),E=await Je.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:w,workspace:D}=await kt.find(E,h);if(o.cwd===w.cwd)throw new nt(`Invalid destination '${p}'; Can't link the project to itself`);if(!D)throw new or(w.cwd,h);if(this.all){let b=!1;for(let C of w.workspaces)C.manifest.name&&(!C.manifest.private||this.private)&&(A.push(C),b=!0);if(!b)throw new nt(`No workspace found to be linked in the target project: ${p}`)}else{if(!D.manifest.name)throw new nt(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(D.manifest.private&&!this.private)throw new nt(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);A.push(D)}}for(let p of A){let h=G.stringifyIdent(p.anchoredLocator),E=this.relative?K.relative(o.cwd,p.cwd):p.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Gt();var RE=class extends ut{constructor(){super(...arguments);this.args=ge.Proxy()}static{this.paths=[["node"]]}static{this.usage=ot.Usage({description:"run node with the hook already setup",details:` - This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - - The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]})}async execute(){return this.cli.run(["exec","node",...this.args])}};Ve();Gt();var TE=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","check"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` - Check only the plugins from https. - - If this command detects any plugin differences in the CI environment, it will throw an error. - `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=await Je.findRcFiles(this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let u of o)if(u.data?.plugins)for(let A of u.data.plugins){if(!A.checksum||!A.spec.match(/^https?:/))continue;let p=await on.get(A.spec,{configuration:r}),h=bn.makeHash(p);if(A.checksum===h)continue;let E=fe.pretty(r,A.path,fe.Type.PATH),w=fe.pretty(r,A.spec,fe.Type.URL),D=`${E} is different from the file provided by ${w}`;n.reportJson({...A,newChecksum:h}),n.reportError(0,D)}})).exitCode()}};Ve();Ve();Pt();Gt();var zde=De("os");Ve();Pt();Gt();var Wde=De("os");Ve();Ol();Gt();var W0t="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Xg(t,e){let r=await on.get(W0t,{configuration:t}),o=Ki(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Ur.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var NE=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","list"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Xg(r,nn);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};var Y0t=/^[0-9]+$/,K0t=process.platform==="win32";function Yde(t){return Y0t.test(t)?`pull/${t}/head`:t}var V0t=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",Yde(e)],["git","reset","--hard","FETCH_HEAD"]],z0t=({branch:t})=>[["git","fetch","origin","--depth=1",Yde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],J0t=({plugins:t,noMinify:e},r,o)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",K.resolve(o,a)])),...e?["--no-minify"]:[],"|"],[K0t?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",ue.fromPortablePath(r),"|"]],LE=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=ge.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=ge.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}static{this.paths=[["set","version","from","sources"]]}static{this.usage=ot.Usage({description:"build Yarn from master",details:` - This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. - - By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. - `,examples:[["Build Yarn from master","$0 set version from sources"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd),a=typeof this.installPath<"u"?K.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):K.resolve(ue.toPortablePath((0,Wde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{await DH(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator();let A=await Hr.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=K.join(a,`packages/yarnpkg-cli/bundles/yarn-${A.stdout.trim()}.js`);ae.existsSync(p)||(await M2(J0t(this,p,a),{configuration:r,context:this.context,target:a}),u.reportSeparator());let h=await ae.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await BH(r,null,async()=>h,{report:u});this.skipPlugins||await X0t(this,E,{project:o,report:u,target:a})}})).exitCode()}};async function M2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Hr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${fe.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} -`);try{await Hr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function DH(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&ae.existsSync(K.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await M2(z0t(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await M2(V0t(t,o),{configuration:e,context:t.context,target:o}))}async function X0t(t,e,{project:r,report:o,target:a}){let n=await Xg(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())u.has(A)&&await PH(A,t,{project:r,report:o,target:a})}Ve();Ve();Pt();Gt();var Kde=et(ni()),Vde=De("vm");var OE=class extends ut{constructor(){super(...arguments);this.name=ge.String();this.checksum=ge.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}static{this.paths=[["plugin","import"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"download a plugin",details:` - This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. - - Three types of plugin references are accepted: - - - If the plugin is stored within the Yarn repository, it can be referenced by name. - - Third-party plugins can be referenced directly through their public urls. - - Local plugins can be referenced by their path on the disk. - - If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. - - Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await kt.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=K.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${fe.pretty(r,p,fe.Type.PATH)}`),u=K.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new zt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=G.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!Kde.default.valid(h.reference))throw new zt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=G.stringifyIdent(h),w=await Xg(r,nn);if(!Object.hasOwn(w,E)){let D=`Couldn't find a plugin named ${G.prettyIdent(r,h)} on the remote registry. -`;throw r.plugins.has(E)?D+=`A plugin named ${G.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:D+=`Note that only the plugins referenced on our website (${fe.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",fe.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${fe.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",fe.Type.URL)}).`,new zt(51,D)}u=E,p=w[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):nn!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${nn}/`))}a.reportInfo(0,`Downloading ${fe.pretty(r,p,"green")}`),A=await on.get(p,{configuration:r})}await SH(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};async function SH(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,Vde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=K.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${fe.pretty(n,h,"magenta")}`),await ae.mkdirPromise(K.dirname(E),{recursive:!0}),await ae.writeFilePromise(E,e);let w={path:h,spec:t};r&&(w.checksum=bn.makeHash(e)),await Je.addPlugin(o.cwd,[w])}var Z0t=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],ME=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=ge.String()}static{this.paths=[["plugin","import","from","sources"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` - This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. - - The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?K.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):K.resolve(ue.toPortablePath((0,zde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await kt.find(r,this.context.cwd),A=G.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=G.stringifyIdent(A),h=await Xg(r,nn);if(!Object.hasOwn(h,p))throw new zt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await DH(this,{configuration:r,report:n,target:o}),await PH(E,this,{project:u,report:n,target:o})})).exitCode()}};async function PH(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await M2(Z0t({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=K.resolve(n,`packages/${u}/bundles/${t}.js`),h=await ae.readFilePromise(p);await SH(t,h,{project:o,report:a})}Ve();Pt();Gt();var UE=class extends ut{constructor(){super(...arguments);this.name=ge.String()}static{this.paths=[["plugin","remove"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` - This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. - - **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. - `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=G.parseIdent(u);if(!r.plugins.has(u))throw new nt(`${G.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=K.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${fe.pretty(r,p,fe.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Je.updateConfiguration(o.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let w=E.filter(D=>D.path!==p);return w.length===0?Je.deleteProperty:w.length===E.length?E:w}})})).exitCode()}};Ve();Gt();var _E=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["plugin","runtime"]]}static{this.usage=ot.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` - This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. - `,examples:[["List the currently active plugins","$0 plugin runtime"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};Ve();Ve();Gt();var HE=class extends ut{constructor(){super(...arguments);this.idents=ge.Rest()}static{this.paths=[["rebuild"]]}static{this.usage=ot.Usage({description:"rebuild the project's native packages",details:` - This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. - - Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). - - By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);let u=new Set;for(let A of this.idents)u.add(G.parseIdent(A).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new Ri}),u.size>0)for(let A of o.storedPackages.values())u.has(A.identHash)&&(o.storedBuildState.delete(A.locatorHash),o.skippedBuilds.delete(A.locatorHash));else o.storedBuildState.clear(),o.skippedBuilds.clear();return await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Ve();Ve();Ve();Gt();var xH=et(Xo());il();var qE=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.patterns=ge.Rest()}static{this.paths=[["remove"]]}static{this.usage=ot.Usage({description:"remove dependencies from the project",details:` - This command will remove the packages matching the specified patterns from the current workspace. - - If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: - - - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - - - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - - This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let T=!1,L=G.parseIdent(C);for(let U of u){let z=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,xH.default)(z,C))U.manifest.peerDependenciesMeta.delete(te),h=!0,T=!0;for(let te of A){let le=U.manifest.getForScope(te),de=[...le.values()].map(ce=>G.stringifyIdent(ce));for(let ce of(0,xH.default)(de,G.stringifyIdent(L))){let{identHash:me}=G.parseIdent(ce),pe=le.get(me);if(typeof pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(me),E.push([U,te,pe]),h=!0,T=!0}}}T||p.push(C)}let w=p.length>1?"Patterns":"Pattern",D=p.length>1?"don't":"doesn't",b=this.all?"any":"this";if(p.length>0)throw new nt(`${w} ${fe.prettyList(r,p,fe.Type.CODE)} ${D} match any packages referenced by ${b} workspace`);return h?(await r.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,E),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};Ve();Ve();Gt();var Jde=De("util"),jE=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["run"]]}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);return(await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async u=>{let A=a.manifest.scripts,p=qe.sortMap(A.keys(),w=>w),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((w,D)=>Math.max(w,D.length),0);for(let[w,D]of A.entries())u.reportInfo(null,`${w.padEnd(E," ")} ${(0,Jde.inspect)(D,h)}`),u.reportJson({name:w,script:D})})).exitCode()}};Ve();Ve();Gt();var GE=class extends ut{constructor(){super(...arguments);this.inspect=ge.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=ge.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=ge.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=ge.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=ge.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=ge.Boolean("--silent",{hidden:!0});this.scriptName=ge.String();this.args=ge.Proxy()}static{this.paths=[["run"]]}static{this.usage=ot.Usage({description:"run a script defined in the package.json",details:` - This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - - - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. - - - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. - - - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. - - Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await kt.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await hn.hasPackageScript(u,this.scriptName,{project:o}))return await hn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await hn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await hn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(E.length===1)return await hn.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new nt(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new nt(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${G.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new nt("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,w]of lE)for(let D of w)if(h.length>=D.length&&JSON.stringify(h.slice(0,D.length))===JSON.stringify(D))throw new nt(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new nt(`Couldn't find a script named "${this.scriptName}".`)}}};Ve();Ve();Gt();var WE=class extends ut{constructor(){super(...arguments);this.descriptor=ge.String();this.resolution=ge.String()}static{this.paths=[["set","resolution"]]}static{this.usage=ot.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 npm:1.5.0"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new or(o.cwd,this.context.cwd);let u=G.parseDescriptor(this.descriptor,!0),A=G.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Ve();Pt();Gt();var Xde=et(Xo()),YE=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=ge.Rest()}static{this.paths=[["unlink"]]}static{this.usage=ot.Usage({description:"disconnect the local project from another one",details:` - This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of u.manifest.resolutions)h.startsWith("portal:")&&A.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=K.resolve(this.context.cwd,ue.toPortablePath(p));if(qe.isPathLike(p)){let E=await Je.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:w,workspace:D}=await kt.find(E,h);if(!D)throw new or(w.cwd,h);if(this.all){for(let b of w.workspaces)b.manifest.name&&A.add(G.stringifyIdent(b.anchoredLocator));if(A.size===0)throw new nt("No workspace found to be unlinked in the target project")}else{if(!D.manifest.name)throw new nt("The target workspace doesn't have a name and thus cannot be unlinked");A.add(G.stringifyIdent(D.anchoredLocator))}}else{let E=[...u.manifest.resolutions.map(({pattern:w})=>w.descriptor.fullName)];for(let w of(0,Xde.default)(E,p))A.add(w)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:p})=>!A.has(p.descriptor.fullName)),await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};Ve();Ve();Ve();Gt();var Zde=et(k2()),bH=et(Xo());il();var KE=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:js(yl)});this.patterns=ge.Rest()}static{this.paths=[["up"]]}static{this.usage=ot.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]})}static{this.schema=[xw("recursive",Ku.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})]}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(E=>G.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(G.parseDescriptor(E).range!=="unknown")throw new nt("Ranges aren't allowed when using --recursive");for(let w of(0,bH.default)(A,E)){let D=G.parseIdent(w);p.add(D.identHash)}}let h=u.filter(E=>p.has(E.identHash));for(let E of h)o.storedDescriptors.delete(E.descriptorHash),o.storedResolutions.delete(E.descriptorHash);return await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=r.isInteractive({interactive:this.interactive,stdout:this.context.stdout}),p=R2(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],w=[];for(let L of this.patterns){let U=!1,z=G.parseDescriptor(L),te=G.stringifyIdent(z);for(let le of o.workspaces)for(let de of["dependencies","devDependencies"]){let me=[...le.manifest.getForScope(de).values()].map(ve=>G.stringifyIdent(ve)),pe=te==="*"?me:(0,bH.default)(me,te);for(let ve of pe){let Ie=G.parseIdent(ve),g=le.manifest[de].get(Ie.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let Ce=G.makeDescriptor(Ie,z.range);E.push(Promise.resolve().then(async()=>[le,de,g,await T2(Ce,{project:o,workspace:le,cache:n,target:de,fixed:u,modifier:p,strategies:h})])),U=!0}}U||w.push(L)}if(w.length>1)throw new nt(`Patterns ${fe.prettyList(r,w,fe.Type.CODE)} don't match any packages referenced by any workspace`);if(w.length>0)throw new nt(`Pattern ${fe.prettyList(r,w,fe.Type.CODE)} doesn't match any packages referenced by any workspace`);let D=await Promise.all(E),b=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async L=>{for(let[,,U,{suggestions:z,rejections:te}]of D){let le=z.filter(de=>de.descriptor!==null);if(le.length===0){let[de]=te;if(typeof de>"u")throw new Error("Assertion failed: Expected an error to have been set");let ce=this.cli.error(de);o.configuration.get("enableNetwork")?L.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range - -${ce}`):L.reportError(27,`${G.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) - -${ce}`)}else le.length>1&&!A&&L.reportError(27,`${G.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(b.hasErrors())return b.exitCode();let C=!1,T=[];for(let[L,U,,{suggestions:z}]of D){let te,le=z.filter(pe=>pe.descriptor!==null),de=le[0].descriptor,ce=le.every(pe=>G.areDescriptorsEqual(pe.descriptor,de));le.length===1||ce?te=de:(C=!0,{answer:te}=await(0,Zde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${G.prettyWorkspace(r,L)} \u276F ${U}?`,choices:z.map(({descriptor:pe,name:ve,reason:Ie})=>pe?{name:ve,hint:Ie,descriptor:pe}:{name:ve,hint:Ie,disabled:!0}),onCancel:()=>process.exit(130),result(pe){return this.find(pe,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let me=L.manifest[U].get(te.identHash);if(typeof me>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(me.descriptorHash!==te.descriptorHash)L.manifest[U].set(te.identHash,te),T.push([L,U,me,te]);else{let pe=r.makeResolver(),ve={project:o,resolver:pe},Ie=r.normalizeDependency(me),g=pe.bindDescriptor(Ie,L.anchoredLocator,ve);o.forgetResolution(g)}}return await r.triggerMultipleHooks(L=>L.afterWorkspaceDependencyReplacement,T),C&&this.context.stdout.write(` -`),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Ve();Ve();Ve();Gt();var VE=class extends ut{constructor(){super(...arguments);this.recursive=ge.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=ge.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=ge.String()}static{this.paths=[["why"]]}static{this.usage=ot.Usage({description:"display the reason why a package is needed",details:` - This command prints the exact reasons why a package appears in the dependency tree. - - If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=G.parseIdent(this.package).identHash,u=this.recursive?egt(o,n,{configuration:r,peers:this.peers}):$0t(o,n,{configuration:r,peers:this.peers});As.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};function $0t(t,e,{configuration:r,peers:o}){let a=qe.sortMap(t.storedPackages.values(),A=>G.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let w=t.storedResolutions.get(E.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let D=t.storedPackages.get(w);if(!D)throw new Error("Assertion failed: The package should have been registered");if(D.identHash!==e)continue;{let C=G.stringifyLocator(A);n[C]={value:[A,fe.Type.LOCATOR],children:p}}let b=G.stringifyLocator(D);p[b]={value:[{descriptor:E,locator:D},fe.Type.DEPENDENT]}}}return u}function egt(t,e,{configuration:r,peers:o}){let a=qe.sortMap(t.workspaces,D=>G.stringifyLocator(D.anchoredLocator)),n=new Set,u=new Set,A=D=>{if(n.has(D.locatorHash))return u.has(D.locatorHash);if(n.add(D.locatorHash),D.identHash===e)return u.add(D.locatorHash),!0;let b=!1;D.identHash===e&&(b=!0);for(let C of D.dependencies.values()){if(!o&&D.peerDependencies.has(C.identHash))continue;let T=t.storedResolutions.get(C.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(T);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(b=!0)}return b&&u.add(D.locatorHash),b};for(let D of a)A(D.anchoredPackage);let p=new Set,h={},E={children:h},w=(D,b,C)=>{if(!u.has(D.locatorHash))return;let T=C!==null?fe.tuple(fe.Type.DEPENDENT,{locator:D,descriptor:C}):fe.tuple(fe.Type.LOCATOR,D),L={},U={value:T,children:L},z=G.stringifyLocator(D);if(b[z]=U,!(C!==null&&t.tryWorkspaceByLocator(D))&&!p.has(D.locatorHash)){p.add(D.locatorHash);for(let te of D.dependencies.values()){if(!o&&D.peerDependencies.has(te.identHash))continue;let le=t.storedResolutions.get(te.descriptorHash);if(!le)throw new Error("Assertion failed: The resolution should have been registered");let de=t.storedPackages.get(le);if(!de)throw new Error("Assertion failed: The package should have been registered");w(de,L,te)}}};for(let D of a)w(D.anchoredPackage,h,null);return E}Ve();var UH={};Kt(UH,{GitFetcher:()=>_2,GitResolver:()=>H2,default:()=>Igt,gitUtils:()=>ra});Ve();Pt();var ra={};Kt(ra,{TreeishProtocols:()=>U2,clone:()=>MH,fetchBase:()=>Cme,fetchChangedFiles:()=>Ime,fetchChangedWorkspaces:()=>Egt,fetchRoot:()=>Eme,isGitUrl:()=>XE,lsRemote:()=>yme,normalizeLocator:()=>ygt,normalizeRepoUrl:()=>zE,resolveUrl:()=>OH,splitRepoUrl:()=>Th,validateRepoUrl:()=>LH});Ve();Pt();Gt();var gme=et(fme()),dme=et(n3()),JE=et(De("querystring")),TH=et(ni());function RH(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function pme(t){try{return new URL(t)}catch{return}}function dgt(t){let e=RH(t,"@","#"),r=RH(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),RH(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function hme(t){return pme(t)||pme(dgt(t))}function zE(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=hme(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function mme(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var mgt=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],U2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(U2||{});function XE(t){return t?mgt.some(e=>!!t.match(e)):!1}function Th(t){t=zE(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=JE.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(U2).find(p=>Object.hasOwn(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(U2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function ygt(t){return G.makeLocator(t,zE(t.reference))}function LH(t,{configuration:e}){let r=zE(t,{git:!0});if(!on.getNetworkSettings(`https://${(0,gme.default)(r).resource}`,{configuration:e}).enableNetwork)throw new zt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function yme(t,e){let r=LH(t,{configuration:e}),o=await NH("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:mme()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function OH(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=Th(t),u=await yme(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return JE.default.stringify({...n,commit:E})}case"head":{let w=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof w>"u")throw new Error(`Unknown head ("${E}")`);return JE.default.stringify({...n,commit:w})}case"tag":{let w=u.get(`refs/tags/${E}`);if(typeof w>"u")throw new Error(`Unknown tag ("${E}")`);return JE.default.stringify({...n,commit:w})}case"semver":{let w=Ur.validRange(E);if(!w)throw new Error(`Invalid range ("${E}")`);let D=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,T])=>[TH.default.parse(C.slice(10)),T]).filter(C=>C[0]!==null)),b=TH.default.maxSatisfying([...D.keys()],w);if(b===null)throw new Error(`No matching range ("${E}")`);return JE.default.stringify({...n,commit:D.get(b)})}case null:{let w;if((w=p("commit",E))!==null||(w=p("tag",E))!==null||(w=p("head",E))!==null)return w;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return zE(`${r}#${A(o,a)}`)}async function MH(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=Th(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=LH(r,{configuration:e}),u=await ae.mktempPromise(),A={cwd:u,env:mme()};return await NH("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await NH("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function Eme(t){let e,r=t;do{if(e=r,await ae.existsPromise(K.join(e,".git")))return e;r=K.dirname(e)}while(r!==e);return null}async function Cme(t,{baseRefs:e}){if(e.length===0)throw new nt("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Hr.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new nt(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Hr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Hr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function Ime(t,{base:e,project:r}){let o=qe.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Hr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>K.resolve(t,ue.toPortablePath(h))),{stdout:u}=await Hr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>K.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!K.relative(r.cwd,h).match(o)):p}async function Egt({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new nt("This command can only be run from within a Yarn project");let r=[K.resolve(e.cwd,mr.lockfile),K.resolve(e.cwd,e.configuration.get("cacheFolder")),K.resolve(e.cwd,e.configuration.get("installStatePath")),K.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await Eme(e.configuration.projectCwd);if(o==null)throw new nt("This command can only be run on Git repositories");let a=await Cme(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await Ime(o,{base:a.hash,project:e});return new Set(qe.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?qe.mapAndFilter.skip:r.some(p=>u.startsWith(p))?qe.mapAndFilter.skip:A}))}async function NH(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Hr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Hr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new zt(1,`Failed ${t}`,p=>{p.reportError(1,` ${fe.prettyField(o,{label:"Repository URL",value:fe.tuple(fe.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,w]=h;E=E.toLowerCase();let D=E==="error"?"Error":`${(0,dme.default)(E)} Error`;p.reportError(1,` ${fe.prettyField(o,{label:D,value:fe.tuple(fe.Type.NO_HINT,w)})}`)}u?.(p)})}}var _2=class{supports(e,r){return XE(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=new Map(r.checksums);a.set(e.locatorHash,o);let n={...r,checksums:a},u=await this.downloadHosted(e,n);if(u!==null)return u;let[A,p,h]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(e,n),...r.cacheOptions});return{packageFs:A,releaseFs:p,prefixPath:G.getIdentVendorPath(e),checksum:h}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=Th(e.reference),a=await MH(e.reference,r.project.configuration),n=K.resolve(a,o.extra.cwd??Bt.dot),u=K.join(n,"package.tgz");await hn.prepareExternalProject(n,u,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let A=await ae.readFilePromise(u);return await qe.releaseAfterUseAsync(async()=>await $i.convertToZip(A,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1}))}};Ve();Ve();var H2=class{supportsDescriptor(e,r){return XE(e.range)}supportsLocator(e,r){return XE(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await OH(e.range,o.project.configuration);return[G.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=Th(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=Th(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Cgt={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[_2],resolvers:[H2]};var Igt=Cgt;Gt();var ZE=class extends ut{constructor(){super(...arguments);this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=ge.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["workspaces","list"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd);return(await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await ra.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let w=new Set,D=new Set;for(let b of _t.hardDependencies)for(let[C,T]of h.getForScope(b)){let L=o.tryWorkspaceByDescriptor(T);L===null?o.workspacesByIdent.has(C)&&D.add(T):w.add(L)}E={workspaceDependencies:Array.from(w).map(b=>b.relativeCwd),mismatchedWorkspaceDependencies:Array.from(D).map(b=>G.stringifyDescriptor(b))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?G.stringifyIdent(h.name):null,...E})}})).exitCode()}};Ve();Ve();Gt();var $E=class extends ut{constructor(){super(...arguments);this.workspaceName=ge.String();this.commandName=ge.String();this.args=ge.Proxy()}static{this.paths=[["workspace"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` - This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[G.stringifyIdent(p.anchoredLocator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new nt(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - - ${p.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};var wgt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:wme.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[dE,mE,yE,EE,WE,LE,xE,ZE,wE,BE,vE,DE,hE,gE,CE,IE,PE,SE,bE,QE,kE,FE,YE,RE,TE,ME,OE,UE,NE,_E,HE,qE,jE,GE,KE,VE,$E]},Bgt=wgt;var WH={};Kt(WH,{default:()=>Dgt});Ve();var Qt={optional:!0},HH=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{"supports-color":Qt}}],["got@<11",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":Qt,"postcss-jsx":Qt,"postcss-less":Qt,"postcss-markdown":Qt,"postcss-scss":Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{"tiny-warning":"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{"node-gyp":"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{"babel-polyfill":"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{"cross-spawn":"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{"prop-types":"^15.7.2"}}],["@rebass/forms@*",{dependencies:{"@styled-system/should-forward-prop":"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{"vue-template-compiler":"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{"@parcel/core":"*"}}],["parcel@*",{peerDependenciesMeta:{"@parcel/core":Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@<5.0.0",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}],["eslint-import-resolver-vite@<2.0.1",{dependencies:{debug:"^4.3.4",resolve:"^1.22.8"}}],["notistack@^3.0.0",{dependencies:{csstype:"^3.0.10"}}]];var qH;function Bme(){return typeof qH>"u"&&(qH=De("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),qH}var jH;function vme(){return typeof jH>"u"&&(jH=De("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),jH}var GH;function Dme(){return typeof GH>"u"&&(GH=De("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),GH}var Pme=new Map([[G.makeIdent(null,"fsevents").identHash,Bme],[G.makeIdent(null,"resolve").identHash,vme],[G.makeIdent(null,"typescript").identHash,Dme]]),vgt={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of HH)e(G.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{let r="compat/";if(!e.startsWith(r))return;let o=G.parseIdent(e.slice(r.length)),a=Pme.get(o.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Pme.get(t.identHash)>"u"?t:G.makeDescriptor(t,G.makeRange({protocol:"patch:",source:G.stringifyDescriptor(t),selector:`optional!builtin`,params:null}))}},Dgt=vgt;var c6={};Kt(c6,{ConstraintsCheckCommand:()=>aC,ConstraintsQueryCommand:()=>sC,ConstraintsSourceCommand:()=>oC,default:()=>Zgt});Ve();Ve();j2();var tC=class{constructor(e){this.project=e}createEnvironment(){let e=new eC(["cwd","ident"]),r=new eC(["workspace","type","ident"]),o=new eC(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,u=new Map;for(let A of this.project.storedPackages.values()){let p=Array.from(A.peerDependencies.values(),h=>[G.stringifyIdent(h),h.range]);n.set(A.locatorHash,{workspace:null,ident:G.stringifyIdent(A),version:A.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional===!0))})}for(let A of this.project.storedPackages.values()){let p=n.get(A.locatorHash);p.dependencies=new Map(Array.from(A.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let w=n.get(E);if(typeof w>"u")throw new Error("Assertion failed: The package should have been registered");return[G.stringifyIdent(h),w]})),p.dependencies.delete(p.ident)}for(let A of this.project.workspaces){let p=G.stringifyIdent(A.anchoredLocator),h=A.manifest.exportTo({}),E=n.get(A.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let w=(T,L,{caller:U=Xi.getCaller()}={})=>{let z=q2(T),te=qe.getMapWithDefault(a.manifestUpdates,A.cwd),le=qe.getMapWithDefault(te,z),de=qe.getSetWithDefault(le,L);U!==null&&de.add(U)},D=T=>w(T,void 0,{caller:Xi.getCaller()}),b=T=>{qe.getArrayWithDefault(a.reportedErrors,A.cwd).push(T)},C=e.insert({cwd:A.relativeCwd,ident:p,manifest:h,pkg:E,set:w,unset:D,error:b});u.set(A,C);for(let T of _t.allDependencies)for(let L of A.manifest[T].values()){let U=G.stringifyIdent(L),z=()=>{w([T,U],void 0,{caller:Xi.getCaller()})},te=de=>{w([T,U],de,{caller:Xi.getCaller()})},le=null;if(T!=="peerDependencies"&&(T!=="dependencies"||!A.manifest.devDependencies.has(L.identHash))){let de=A.anchoredPackage.dependencies.get(L.identHash);if(de){if(typeof de>"u")throw new Error("Assertion failed: The dependency should have been registered");let ce=this.project.storedResolutions.get(de.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let me=n.get(ce);if(typeof me>"u")throw new Error("Assertion failed: The package should have been registered");le=me}}r.insert({workspace:C,ident:U,range:L.range,type:T,resolution:le,update:te,delete:z,error:b})}}for(let A of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(A);if(!p)continue;let h=u.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(A.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:e,dependencies:r,packages:o,result:a}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependency:a=>e.dependencies.find(a)[0]??null,dependencies:a=>e.dependencies.find(a),package:a=>e.packages.find(a)[0]??null,packages:a=>e.packages.find(a)}},o=await this.project.loadUserConfig();return o?.constraints?(await o.constraints(r),e.result):null}};Ve();Ve();Gt();var sC=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=ge.String()}static{this.paths=[["constraints","query"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` - This command will output all matches to the given prolog query. - `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(K2(),Y2)),o=await Je.find(this.context.cwd,this.context.plugins),{project:a}=await kt.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Nt.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),w=E.length,D=E.reduce((b,[C])=>Math.max(b,C.length),0);for(let b=0;b(K2(),Y2)),o=await Je.find(this.context.cwd,this.context.plugins),{project:a}=await kt.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};Ve();Ve();Gt();j2();var aC=class extends ut{constructor(){super(...arguments);this.fix=ge.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["constraints"]]}static{this.usage=ot.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` - This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. - - If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. - - For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. - `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd);await o.restoreInstallState();let a=await o.loadUserConfig(),n;if(a?.constraints)n=new tC(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(K2(),Y2));n=await h.find(o)}let u,A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:w,remainingErrors:D}=zQ(o,E,{fix:this.fix}),b=[];for(let[C,T]of w){let L=C.manifest.indent;C.manifest=new _t,C.manifest.indent=L,C.manifest.load(T),b.push(C.persistManifest())}if(await Promise.all(b),!(w.size>0&&h>1)){u=Rme(D,{configuration:r}),A=!1,p=!0;for(let[,C]of D)for(let T of C)T.fixable?A=!0:p=!1}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${fe.pretty(r,"yarn constraints --fix",fe.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${fe.pretty(r,"yarn constraints --fix",fe.Type.CODE)}`;await Nt.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=qe.sortMap(u.children,h=>h.value[1]),As.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};j2();var Xgt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[sC,oC,aC],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r?.constraints)o=new tC(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(K2(),Y2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=zQ(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[u,A]of n)for(let p of A)e(84,`${fe.pretty(t.configuration,u.anchoredLocator,fe.Type.IDENT)}: ${p.text}`);else e(84,`Constraint check failed; run ${fe.pretty(t.configuration,"yarn constraints",fe.Type.CODE)} for more details`)}}},Zgt=Xgt;var u6={};Kt(u6,{CreateCommand:()=>lC,DlxCommand:()=>cC,default:()=>edt});Ve();Gt();var lC=class extends ut{constructor(){super(...arguments);this.pkg=ge.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}static{this.paths=[["create"]]}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=G.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?G.makeIdent(a.scope,`create-${a.name}`):G.makeIdent(null,`create-${a.name}`),u=G.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};Ve();Ve();Pt();Gt();var cC=class extends ut{constructor(){super(...arguments);this.packages=ge.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}static{this.paths=[["dlx"]]}static{this.usage=ot.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]})}async execute(){return Je.telemetry=null,await ae.mktempPromise(async r=>{let o=K.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(K.join(o,"package.json"),`{} -`),await ae.writeFilePromise(K.join(o,"yarn.lock"),"");let a=K.join(o,".yarnrc.yml"),n=await Je.findProjectCwd(this.context.cwd),A={enableGlobalCache:!(await Je.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:zu(68),level:fe.LogLevel.Discard}]},p=n!==null?K.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await Je.updateConfiguration(o,L=>{let U=qe.toMerged(L,A);return Array.isArray(L.plugins)&&(U.plugins=L.plugins.map(z=>{let te=typeof z=="string"?z:z.path,le=ue.isAbsolute(te)?te:ue.resolve(ue.fromPortablePath(n),te);return typeof z=="string"?le:{path:le,spec:z.spec}})),U})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],E=G.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(` -`);let D=await Je.find(o,this.context.plugins),{project:b,workspace:C}=await kt.find(D,o);if(C===null)throw new or(b.cwd,o);await b.restoreInstallState();let T=await hn.getWorkspaceAccessibleBinaries(C);return T.has(E)===!1&&T.size===1&&typeof this.packages>"u"&&(E=Array.from(T)[0][0]),await hn.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:T,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};var $gt={commands:[lC,cC]},edt=$gt;var p6={};Kt(p6,{ExecFetcher:()=>z2,ExecResolver:()=>J2,default:()=>ndt,execUtils:()=>$Q});Ve();Ve();Pt();var hA="exec:";var $Q={};Kt($Q,{loadGeneratorFile:()=>V2,makeLocator:()=>f6,makeSpec:()=>sye,parseSpec:()=>A6});Ve();Pt();function A6(t){let{params:e,selector:r}=G.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?G.parseLocator(e.locator):null,path:o}}function sye({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:G.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function f6(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return G.makeLocator(t,sye({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function V2(t,e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(t,{protocol:e}),n=K.isAbsolute(a)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=K.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var z2=class{supports(e,r){return!!e.reference.startsWith(hA)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:hA});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await V2(e.reference,hA,r);return ae.mktempPromise(async a=>{let n=K.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!ae.existsSync(K.join(u,"build")))throw new Error("The script should have generated a build directory");return await $i.makeArchiveFromDirectory(K.join(u,"build"),{prefixPath:G.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await ae.mktempPromise(async n=>{let u=await hn.makeScriptEnv({project:a.project,binFolder:n}),A=K.join(e,"runtime.js");return await ae.mktempPromise(async p=>{let h=K.join(p,"buildfile.log"),E=K.join(e,"generator"),w=K.join(e,"build");await ae.mkdirPromise(E),await ae.mkdirPromise(w);let D={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(w),locator:G.stringifyLocator(r)};await ae.writeFilePromise(A,` - // Expose 'Module' as a global variable - Object.defineProperty(global, 'Module', { - get: () => require('module'), - configurable: true, - enumerable: false, - }); - - // Expose non-hidden built-in modules as global variables - for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { - Object.defineProperty(global, name, { - get: () => require(name), - configurable: true, - enumerable: false, - }); - } - - // Expose the 'execEnv' global variable - Object.defineProperty(global, 'execEnv', { - value: { - ...${JSON.stringify(D)}, - }, - enumerable: true, - }); - `);let b=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;b=b.replace(C," ").trim(),u.NODE_OPTIONS=b;let{stdout:T,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${G.stringifyLocator(r)}) -`,prefix:G.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Hr.pipevp(process.execPath,["--require",ue.fromPortablePath(A),ue.fromPortablePath(o),G.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:T,stderr:L});if(U!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${fe.pretty(a.project.configuration,h,fe.Type.PATH)})`)})})}};Ve();Ve();var tdt=2,J2=class{supportsDescriptor(e,r){return!!e.range.startsWith(hA)}supportsLocator(e,r){return!!e.reference.startsWith(hA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=A6(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await V2(G.makeRange({protocol:hA,source:a,selector:a,params:{locator:G.stringifyLocator(n)}}),hA,o.fetchOptions),A=bn.makeHash(`${tdt}`,u).slice(0,6);return[f6(e,{parentLocator:n,path:a,generatorHash:A,protocol:hA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var rdt={fetchers:[z2],resolvers:[J2]},ndt=rdt;var g6={};Kt(g6,{FileFetcher:()=>eB,FileResolver:()=>tB,TarballFileFetcher:()=>rB,TarballFileResolver:()=>nB,default:()=>odt,fileUtils:()=>td});Ve();Pt();var uC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,X2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,_i="file:";var td={};Kt(td,{fetchArchiveFromLocator:()=>$2,makeArchiveFromLocator:()=>ek,makeBufferFromLocator:()=>h6,makeLocator:()=>AC,makeSpec:()=>oye,parseSpec:()=>Z2});Ve();Pt();function Z2(t){let{params:e,selector:r}=G.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?G.parseLocator(e.locator):null,path:o}}function oye({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:G.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return G.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function AC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return G.makeLocator(t,oye({parentLocator:e,path:r,hash:o,protocol:a}))}async function $2(t,e){let{parentLocator:r,path:o}=G.parseFileStyleRange(t.reference,{protocol:_i}),a=K.isAbsolute(o)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=K.join(n.prefixPath,o);return await qe.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function ek(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=G.parseFileStyleRange(t.reference,{protocol:e}),u=K.isAbsolute(n)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=K.join(A.prefixPath,n);return await qe.releaseAfterUseAsync(async()=>await $i.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:G.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function h6(t,{protocol:e,fetchOptions:r}){return(await ek(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var eB=class{supports(e,r){return!!e.reference.startsWith(_i)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:_i});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return ek(e,{protocol:_i,fetchOptions:r})}};Ve();Ve();var idt=2,tB=class{supportsDescriptor(e,r){return e.range.match(uC)?!0:!!e.range.startsWith(_i)}supportsLocator(e,r){return!!e.reference.startsWith(_i)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return uC.test(e.range)&&(e=G.makeDescriptor(e,`${_i}${e.range}`)),G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=Z2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await h6(G.makeLocator(e,G.makeRange({protocol:_i,source:a,selector:a,params:{locator:G.stringifyLocator(n)}})),{protocol:_i,fetchOptions:o.fetchOptions}),A=bn.makeHash(`${idt}`,u).slice(0,6);return[AC(e,{parentLocator:n,path:a,hash:A,protocol:_i})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ve();var rB=class{supports(e,r){return X2.test(e.reference)?!!e.reference.startsWith(_i):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await $2(e,r);return await $i.convertToZip(o,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};Ve();Ve();Ve();var nB=class{supportsDescriptor(e,r){return X2.test(e.range)?!!(e.range.startsWith(_i)||uC.test(e.range)):!1}supportsLocator(e,r){return X2.test(e.reference)?!!e.reference.startsWith(_i):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return uC.test(e.range)&&(e=G.makeDescriptor(e,`${_i}${e.range}`)),G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=Z2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=AC(e,{parentLocator:n,path:a,hash:"",protocol:_i}),A=await $2(u,o.fetchOptions),p=bn.makeHash(A).slice(0,6);return[AC(e,{parentLocator:n,path:a,hash:p,protocol:_i})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var sdt={fetchers:[rB,eB],resolvers:[nB,tB]},odt=sdt;var y6={};Kt(y6,{GithubFetcher:()=>iB,default:()=>ldt,githubUtils:()=>tk});Ve();Pt();var tk={};Kt(tk,{invalidGithubUrlMessage:()=>cye,isGithubUrl:()=>d6,parseGithubUrl:()=>m6});var aye=et(De("querystring")),lye=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function d6(t){return t?lye.some(e=>!!t.match(e)):!1}function m6(t){let e;for(let A of lye)if(e=t.match(A),e)break;if(!e)throw new Error(cye(t));let[,r,o,a,n="master"]=e,{commit:u}=aye.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function cye(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var iB=class{supports(e,r){return!!d6(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await on.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new En(a);await $i.extractArchiveTo(o,n,{stripComponents:1});let u=ra.splitRepoUrl(e.reference),A=K.join(a,"package.tgz");await hn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await ae.readFilePromise(A);return await $i.convertToZip(p,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=m6(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var adt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new iB;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},ldt=adt;var E6={};Kt(E6,{TarballHttpFetcher:()=>oB,TarballHttpResolver:()=>aB,default:()=>udt});Ve();function sB(t){let e;try{e=new URL(t)}catch{return!1}return!(e.protocol!=="http:"&&e.protocol!=="https:"||!e.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var oB=class{supports(e,r){return sB(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await on.get(e.reference,{configuration:r.project.configuration});return await $i.convertToZip(o,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};Ve();Ve();var aB=class{supportsDescriptor(e,r){return sB(e.range)}supportsLocator(e,r){return sB(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[G.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var cdt={fetchers:[oB],resolvers:[aB]},udt=cdt;var C6={};Kt(C6,{InitCommand:()=>Uh,InitInitializerCommand:()=>fC,default:()=>fdt});Gt();Ve();Ve();Pt();Gt();var Uh=class extends ut{constructor(){super(...arguments);this.private=ge.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=ge.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=ge.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=ge.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=ge.Boolean("-2",!1,{hidden:!0});this.yes=ge.Boolean("-y,--yes",{hidden:!0})}static{this.paths=[["init"]]}static{this.usage=ot.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new nt("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=K.join(this.context.cwd,mr.lockfile);ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Hr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await hn.makeScriptEnv({binFolder:A})});return p})}async initialize(){}async executeRegular(r){let o=null;try{o=(await kt.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await _t.tryFind(this.context.cwd),n=a??new _t,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??G.makeIdent(r.get("initScope"),this.name??K.basename(this.context.cwd)),n.packageManager=nn&&qe.isTaggedYarnVersion(nn)?`yarn@${nn}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(K.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=K.join(this.context.cwd,_t.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)} -`,{automaticNewlines:!0});let h=[p],E=K.join(this.context.cwd,"README.md");if(ae.existsSync(E)||(await ae.writeFilePromise(E,`# ${G.stringifyIdent(n.name)} -`),h.push(E)),!o||o.cwd===this.context.cwd){let w=K.join(this.context.cwd,mr.lockfile);ae.existsSync(w)||(await ae.writeFilePromise(w,""),h.push(w));let b=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Whether you use PnP or not, the node_modules folder is often used to store","# build artifacts that should be gitignored","node_modules","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(de=>`${de} -`).join(""),C=K.join(this.context.cwd,".gitignore");ae.existsSync(C)||(await ae.writeFilePromise(C,b),h.push(C));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(de=>`${de} -`).join(""),U=K.join(this.context.cwd,".gitattributes");ae.existsSync(U)||(await ae.writeFilePromise(U,L),h.push(U));let z={"*":{charset:"utf-8",endOfLine:"lf",indentSize:2,indentStyle:"space",insertFinalNewline:!0}};qe.mergeIntoTarget(z,r.get("initEditorConfig"));let te=`root = true -`;for(let[de,ce]of Object.entries(z)){te+=` -[${de}] -`;for(let[me,pe]of Object.entries(ce)){let ve=me.replace(/[A-Z]/g,Ie=>`_${Ie.toLowerCase()}`);te+=`${ve} = ${pe} -`}}let le=K.join(this.context.cwd,".editorconfig");ae.existsSync(le)||(await ae.writeFilePromise(le,te),h.push(le)),await this.cli.run(["install"],{quiet:!0}),await this.initialize(),ae.existsSync(K.join(this.context.cwd,".git"))||(await Hr.execvp("git",["init"],{cwd:this.context.cwd}),await Hr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Hr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};var fC=class extends Uh{constructor(){super(...arguments);this.initializer=ge.String();this.argv=ge.Proxy()}static{this.paths=[["init"]]}async initialize(){this.context.stdout.write(` -`),await this.cli.run(["dlx",this.initializer,...this.argv],{quiet:!0})}};var Adt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Uh,fC]},fdt=Adt;var Ej={};Kt(Ej,{SearchCommand:()=>QC,UpgradeInteractiveCommand:()=>kC,default:()=>HIt});Ve();var Aye=et(De("os"));function pC({stdout:t}){if(Aye.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}Gt();var BEe=et(M6()),U6={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},cyt=(0,BEe.default)(U6.appId,U6.apiKey).initIndex(U6.indexName),_6=async(t,e=0)=>await cyt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var sv=["regular","dev","peer"],QC=class extends ut{static{this.paths=[["search"]]}static{this.usage=ot.Usage({category:"Interactive commands",description:"open the search interface",details:` - This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. - `,examples:[["Open the search window","yarn search"]]})}async execute(){pC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(_k(),lj)),{ScrollableItems:r}=await Promise.resolve().then(()=>(Gk(),jk)),{useKeypress:o}=await Promise.resolve().then(()=>(rv(),Fwe)),{useMinistore:a}=await Promise.resolve().then(()=>(hj(),pj)),{renderForm:n}=await Promise.resolve().then(()=>(Vk(),Kk)),{default:u}=await Promise.resolve().then(()=>et(qwe())),{Box:A,Text:p}=await Promise.resolve().then(()=>et(ac())),{default:h,useEffect:E,useState:w}=await Promise.resolve().then(()=>et(ln())),D=await Je.find(this.context.cwd,this.context.plugins),b=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),T=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:pe,active:ve})=>{let[Ie,g]=a(pe.name,null);o({active:ve},(Ae,ie)=>{if(ie.name!=="space")return;if(!Ie){g(sv[0]);return}let Z=sv.indexOf(Ie)+1;Z===sv.length?g(null):g(sv[Z])},[Ie,g]);let Ce=G.parseIdent(pe.name),ye=G.prettyIdent(D,Ce);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},ye)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},pe.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},pe.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,pe.humanDownloadsLast30Days)))},U=({name:pe,active:ve})=>{let[Ie]=a(pe,null),g=G.parseIdent(pe);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",G.prettyIdent(D,g))),sv.map(Ce=>h.createElement(A,{key:Ce,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Ie===Ce})," ",h.createElement(p,{bold:!0},Ce)))))},z=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),le=await n(({useSubmit:pe})=>{let ve=a();pe(ve);let Ie=Array.from(ve.keys()).filter(q=>ve.get(q)!==null),[g,Ce]=w(""),[ye,Ae]=w(0),[ie,Z]=w([]),Pe=q=>{q.match(/\t| /)||Ce(q)},Re=async()=>{Ae(0);let q=await _6(g);q.query===g&&Z(q.hits)},gt=async()=>{let q=await _6(g,ye+1);q.query===g&&q.page-1===ye&&(Ae(q.page),Z([...ie,...q.hits]))};return E(()=>{g?Re():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(b,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:Pe,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ie.length?h.createElement(r,{radius:2,loop:!1,children:ie.map(q=>h.createElement(L,{key:q.name,hit:q,active:!1})),willReachEnd:gt}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(T,null)),Ie.length?Ie.map(q=>h.createElement(U,{key:q,name:q,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(z,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof le>"u")return 1;let de=Array.from(le.keys()).filter(pe=>le.get(pe)==="regular"),ce=Array.from(le.keys()).filter(pe=>le.get(pe)==="dev"),me=Array.from(le.keys()).filter(pe=>le.get(pe)==="peer");return de.length&&await this.cli.run(["add",...de]),ce.length&&await this.cli.run(["add","--dev",...ce]),me&&await this.cli.run(["add","--peer",...me]),0}};Ve();Gt();s8();var zwe=et(ni()),Vwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/;function Jwe(t,e){return t.length>0?[t.slice(0,e)].concat(Jwe(t.slice(e),e)):[]}var kC=class extends ut{static{this.paths=[["upgrade-interactive"]]}static{this.usage=ot.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` - This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. - `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]})}async execute(){pC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(Kwe(),Ywe)),{Pad:r}=await Promise.resolve().then(()=>(yj(),Wwe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(Gk(),jk)),{useMinistore:a}=await Promise.resolve().then(()=>(hj(),pj)),{renderForm:n}=await Promise.resolve().then(()=>(Vk(),Kk)),{Box:u,Text:A}=await Promise.resolve().then(()=>et(ac())),{default:p,useEffect:h,useRef:E,useState:w}=await Promise.resolve().then(()=>et(ln())),D=await Je.find(this.context.cwd,this.context.plugins),{project:b,workspace:C}=await kt.find(D,this.context.cwd),T=await Wr.find(D);if(!C)throw new or(b.cwd,this.context.cwd);await b.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,U=(Ce,ye)=>{let Ae=rhe(Ce,ye),ie="";for(let Z of Ae)Z.added?ie+=fe.pretty(D,Z.value,"green"):Z.removed||(ie+=Z.value);return ie},z=(Ce,ye)=>{if(Ce===ye)return ye;let Ae=G.parseRange(Ce),ie=G.parseRange(ye),Z=Ae.selector.match(Vwe),Pe=ie.selector.match(Vwe);if(!Z||!Pe)return U(Ce,ye);let Re=["gray","red","yellow","green","magenta"],gt=null,q="";for(let rt=1;rt{let ie=await nu.fetchDescriptorFrom(Ce,Ae,{project:b,cache:T,preserveModifier:ye,workspace:C});return ie!==null?ie.range:Ce.range},le=async Ce=>{let ye=zwe.default.valid(Ce.range)?`^${Ce.range}`:Ce.range,[Ae,ie]=await Promise.all([te(Ce,Ce.range,ye).catch(()=>null),te(Ce,Ce.range,"latest").catch(()=>null)]),Z=[{value:null,label:Ce.range}];return Ae&&Ae!==Ce.range?Z.push({value:Ae,label:z(Ce.range,Ae)}):Z.push({value:null,label:""}),ie&&ie!==Ae&&ie!==Ce.range?Z.push({value:ie,label:z(Ce.range,ie)}):Z.push({value:null,label:""}),Z},de=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to abort.")))),ce=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),me=({active:Ce,descriptor:ye,suggestions:Ae})=>{let[ie,Z]=a(ye.descriptorHash,null),Pe=G.stringifyIdent(ye),Re=Math.max(0,45-Pe.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},G.prettyIdent(D,ye)),p.createElement(r,{active:Ce,length:Re})),p.createElement(e,{active:Ce,options:Ae,value:ie,skewer:!0,onChange:Z,sizes:[17,17,17]})))},pe=({dependencies:Ce})=>{let[ye,Ae]=w(Ce.map(()=>null)),ie=E(!0),Z=async Pe=>{let Re=await le(Pe);return Re.filter(gt=>gt.label!=="").length<=1?null:{descriptor:Pe,suggestions:Re}};return h(()=>()=>{ie.current=!1},[]),h(()=>{let Pe=Math.trunc(L*1.75),Re=Ce.slice(0,Pe),gt=Ce.slice(Pe),q=Jwe(gt,L),rt=Re.map(Z).reduce(async(Te,Ne)=>{await Te;let xe=await Ne;xe!==null&&ie.current&&Ae(Ye=>{let Qe=Ye.findIndex(Ue=>Ue===null),it=[...Ye];return it[Qe]=xe,it})},Promise.resolve());q.reduce((Te,Ne)=>Promise.all(Ne.map(xe=>Promise.resolve().then(()=>Z(xe)))).then(async xe=>{xe=xe.filter(Ye=>Ye!==null),await Te,ie.current&&Ae(Ye=>{let Qe=Ye.findIndex(it=>it===null);return Ye.slice(0,Qe).concat(xe).concat(Ye.slice(Qe+xe.length))})}),rt).then(()=>{ie.current&&Ae(Te=>Te.filter(Ne=>Ne!==null))})},[]),ye.length?p.createElement(o,{radius:L>>1,children:ye.map((Pe,Re)=>Pe!==null?p.createElement(me,{key:Re,active:!1,descriptor:Pe.descriptor,suggestions:Pe.suggestions}):p.createElement(A,{key:Re},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Ie=await n(({useSubmit:Ce})=>{Ce(a());let ye=new Map;for(let ie of b.workspaces)for(let Z of["dependencies","devDependencies"])for(let Pe of ie.manifest[Z].values())b.tryWorkspaceByDescriptor(Pe)===null&&(Pe.range.startsWith("link:")||ye.set(Pe.descriptorHash,Pe));let Ae=qe.sortMap(ye.values(),ie=>G.stringifyDescriptor(ie));return p.createElement(u,{flexDirection:"column"},p.createElement(de,null),p.createElement(ce,null),p.createElement(pe,{dependencies:Ae}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Ie>"u")return 1;let g=!1;for(let Ce of b.workspaces)for(let ye of["dependencies","devDependencies"]){let Ae=Ce.manifest[ye];for(let ie of Ae.values()){let Z=Ie.get(ie.descriptorHash);typeof Z<"u"&&Z!==null&&(Ae.set(ie.identHash,G.makeDescriptor(ie,Z)),g=!0)}}return g?await b.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:T}):0}};var _It={commands:[QC,kC]},HIt=_It;var Cj={};Kt(Cj,{LinkFetcher:()=>av,LinkResolver:()=>lv,PortalFetcher:()=>cv,PortalResolver:()=>uv,default:()=>jIt});Ve();Pt();var $f="portal:",ep="link:";var av=class{supports(e,r){return!!e.reference.startsWith(ep)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:ep});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:ep}),n=K.isAbsolute(a)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=K.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new En(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0}}};Ve();Pt();var lv=class{supportsDescriptor(e,r){return!!e.range.startsWith(ep)}supportsLocator(e,r){return!!e.reference.startsWith(ep)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(ep.length);return[G.makeLocator(e,`${ep}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ve();Pt();var cv=class{supports(e,r){return!!e.reference.startsWith($f)}getLocalPath(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:$f});if(K.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:K.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=G.parseFileStyleRange(e.reference,{protocol:$f}),n=K.isAbsolute(a)?{packageFs:new En(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=K.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new En(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot}}};Ve();Ve();Pt();var uv=class{supportsDescriptor(e,r){return!!e.range.startsWith($f)}supportsLocator(e,r){return!!e.reference.startsWith($f)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice($f.length);return[G.makeLocator(e,`${$f}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await qe.releaseAfterUseAsync(async()=>await _t.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var qIt={fetchers:[av,cv],resolvers:[lv,uv]},jIt=qIt;var nG={};Kt(nG,{NodeModulesLinker:()=>Dv,NodeModulesMode:()=>$j,PnpLooseLinker:()=>Pv,default:()=>s1t});Pt();Ve();Pt();Pt();var wj=(t,e)=>`${t}@${e}`,Xwe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return wj(t,o)};var $we=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=JIt(t,n),p=!1,h=0;do{let E=Bj(A,[A],new Set([A.locator]),new Map,n);p=E.anotherRoundNeeded||E.isGraphChanged,n.fastLookupPossible=!1,h++}while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=Av(A);if(Bj(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: -${E}, next tree: -${Av(A)}`);let D=e1e(A);if(D)throw new Error(`${D}, after hoisting finished: -${Av(A)}`)}return n.debugLevel>=2&&console.log(Av(A)),XIt(A)},GIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},WIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let w of t)E=w.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},Zwe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:w,hoistPriority:D,dependencyKind:b,hoistedFrom:C,hoistedTo:T}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:w,hoistPriority:D,dependencyKind:b,hoistedFrom:new Map(C),hoistedTo:new Map(T)},U=L.dependencies.get(r);return U&&U.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},YIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);if(A.hoistPriority!==u.hoistPriority)return A.hoistPriority-u.hoistPriority;{let p=u.dependents.size+u.peerDependents.size;return A.dependents.size+A.peerDependents.size-p}});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Ij=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Bj=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=ZIt(u),p=YIt(u,A),h=t==u?new Map:a.fastLookupPossible?GIt(e):WIt(e),E,w=!1,D=!1,b=new Map(Array.from(p.entries()).map(([T,L])=>[T,L[0]])),C=new Map;do{let T=zIt(t,e,r,h,b,p,o,C,a);T.isGraphChanged&&(D=!0),T.anotherRoundNeeded&&(w=!0),E=!1;for(let[L,U]of p)U.length>1&&!u.dependencies.has(L)&&(b.delete(L),U.shift(),b.set(L,U[0]),E=!0)}while(E);for(let T of u.dependencies.values())if(!u.peerNames.has(T.name)&&!r.has(T.locator)){r.add(T.locator);let L=Bj(t,[...e,T],r,C,a);L.isGraphChanged&&(D=!0),L.anotherRoundNeeded&&(w=!0),r.delete(T.locator)}return{anotherRoundNeeded:w,isGraphChanged:D}},KIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},VIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,w=null,D=new Set;p&&(E=`${Array.from(e).map(L=>Js(L)).join("\u2192")}`);let b=r[r.length-1],T=!(o.ident===b.ident);if(p&&!T&&(w="- self-reference"),T&&(T=o.dependencyKind!==1,p&&!T&&(w="- workspace")),T&&o.dependencyKind===2&&(T=!KIt(o),p&&!T&&(w="- external soft link with unhoisted dependencies")),T&&(T=!t.peerNames.has(o.name),p&&!T&&(w=`- cannot shadow peer: ${Js(t.originalDependencies.get(o.name).locator)} at ${E}`)),T){let L=!1,U=a.get(o.name);if(L=!U||U.ident===o.ident,p&&!L&&(w=`- filled by: ${Js(U.locator)} at ${E}`),L)for(let z=r.length-1;z>=1;z--){let le=r[z].dependencies.get(o.name);if(le&&le.ident!==o.ident){L=!1;let de=A.get(b);de||(de=new Set,A.set(b,de)),de.add(o.name),p&&(w=`- filled by ${Js(le.locator)} at ${r.slice(0,z).map(ce=>Js(ce.locator)).join("\u2192")}`);break}}T=L}if(T&&(T=n.get(o.name)===o.ident,p&&!T&&(w=`- filled by: ${Js(u.get(o.name)[0])} at ${E}`)),T){let L=!0,U=new Set(o.peerNames);for(let z=r.length-1;z>=1;z--){let te=r[z];for(let le of U){if(te.peerNames.has(le)&&te.originalDependencies.has(le))continue;let de=te.dependencies.get(le);de&&t.dependencies.get(le)!==de&&(z===r.length-1?D.add(de):(D=null,L=!1,p&&(w=`- peer dependency ${Js(de.locator)} from parent ${Js(te.locator)} was not hoisted to ${E}`))),U.delete(le)}if(!L)break}T=L}if(T&&!h)for(let L of o.hoistedDependencies.values()){let U=a.get(L.name)||t.dependencies.get(L.name);if(!U||L.ident!==U.ident){T=!1,p&&(w=`- previously hoisted dependency mismatch, needed: ${Js(L.locator)}, available: ${Js(U?.locator)}`);break}}return D!==null&&D.size>0?{isHoistable:2,dependsOn:D,reason:w}:{isHoistable:T?0:1,reason:w}},zk=t=>`${t.name}@${t.locator}`,zIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,w=!1,D=!1,b=(U,z,te,le,de)=>{if(E.has(le))return;let ce=[...z,zk(le)],me=[...te,zk(le)],pe=new Map,ve=new Map;for(let Ae of Ij(le)){let ie=VIt(h,r,[h,...U,le],Ae,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(ve.set(Ae,ie),ie.isHoistable===2)for(let Z of ie.dependsOn){let Pe=pe.get(Z.name)||new Set;Pe.add(Ae.name),pe.set(Z.name,Pe)}}let Ie=new Set,g=(Ae,ie,Z)=>{if(!Ie.has(Ae)){Ie.add(Ae),ve.set(Ae,{isHoistable:1,reason:Z});for(let Pe of pe.get(Ae.name)||[])g(le.dependencies.get(Pe),ie,p.debugLevel>=2?`- peer dependency ${Js(Ae.locator)} from parent ${Js(le.locator)} was not hoisted`:"")}};for(let[Ae,ie]of ve)ie.isHoistable===1&&g(Ae,ie,ie.reason);let Ce=!1;for(let Ae of ve.keys())if(!Ie.has(Ae)){D=!0;let ie=u.get(le);ie&&ie.has(Ae.name)&&(w=!0),Ce=!0,le.dependencies.delete(Ae.name),le.hoistedDependencies.set(Ae.name,Ae),le.reasons.delete(Ae.name);let Z=h.dependencies.get(Ae.name);if(p.debugLevel>=2){let Pe=Array.from(z).concat([le.locator]).map(gt=>Js(gt)).join("\u2192"),Re=h.hoistedFrom.get(Ae.name);Re||(Re=[],h.hoistedFrom.set(Ae.name,Re)),Re.push(Pe),le.hoistedTo.set(Ae.name,Array.from(e).map(gt=>Js(gt.locator)).join("\u2192"))}if(!Z)h.ident!==Ae.ident&&(h.dependencies.set(Ae.name,Ae),de.add(Ae));else for(let Pe of Ae.references)Z.references.add(Pe)}if(le.dependencyKind===2&&Ce&&(w=!0),p.check){let Ae=e1e(t);if(Ae)throw new Error(`${Ae}, after hoisting dependencies of ${[h,...U,le].map(ie=>Js(ie.locator)).join("\u2192")}: -${Av(t)}`)}let ye=Ij(le);for(let Ae of ye)if(Ie.has(Ae)){let ie=ve.get(Ae);if((a.get(Ae.name)===Ae.ident||!le.reasons.has(Ae.name))&&ie.isHoistable!==0&&le.reasons.set(Ae.name,ie.reason),!Ae.isHoistBorder&&me.indexOf(zk(Ae))<0){E.add(le);let Pe=Zwe(le,Ae);b([...U,le],ce,me,Pe,T),E.delete(le)}}},C,T=new Set(Ij(h)),L=Array.from(e).map(U=>zk(U));do{C=T,T=new Set;for(let U of C){if(U.locator===h.locator||U.isHoistBorder)continue;let z=Zwe(h,U);b([],Array.from(r),L,z,T)}}while(T.size>0);return{anotherRoundNeeded:w,isGraphChanged:D}},e1e=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),w=()=>`${Array.from(o).concat([n]).map(D=>Js(D.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let D=u.get(h.name);(D!==E||!D||D.ident!==h.ident)&&e.push(`${w()} - broken peer promise: expected ${h.ident} but found ${D&&D.ident}`)}else{let D=A.hoistedFrom.get(n.name),b=n.hoistedTo.get(h.name),C=`${D?` hoisted from ${D.join(", ")}`:""}`,T=`${b?` hoisted to ${b}`:""}`,L=`${w()}${C}`;E?E.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${T}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${T} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` -`)},JIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:wj(r,a),ident:Xwe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let w=A.get(h),D=!!w;if(!w){let{name:b,identName:C,reference:T,peerNames:L,hoistPriority:U,dependencyKind:z}=h,te=e.hoistingLimits.get(E.locator);w={name:b,references:new Set([T]),locator:wj(C,T),ident:Xwe(C,T),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(b):!1,hoistPriority:U||0,dependencyKind:z||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,w)}if(E.dependencies.set(h.name,w),E.originalDependencies.set(h.name,w),D){let b=new Set,C=T=>{if(!b.has(T)){b.add(T),T.decoupled=!1;for(let L of T.dependencies.values())T.peerNames.has(L.name)||C(L)}};C(w)}else for(let b of h.dependencies)p(b,w)};for(let h of t.dependencies)p(h,u);return u},vj=t=>t.substring(0,t.indexOf("@",1)),XIt=t=>{let e={name:t.name,identName:vj(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:w}=a;p={name:h,identName:vj(w),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},ZIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let w=a(E);w.hoistPriority=Math.max(w.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?w.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},Js=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`};var Av=t=>{let e=0,r=(a,n,u="")=>{if(e>5e4||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h":"")+(D!==E.name?`a:${E.name}:`:"")+Js(E.locator)+(w?` ${w}`:"")} -`,p+=r(E,n,`${u}${h5e4?` -Tree is too large, part of the tree has been dunped -`:"")};var fv=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(fv||{}),t1e="node_modules",Wh="$wsroot$";var pv=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=ewt(t,e),u=null;if(a.length===0){let A=$we(r,{hoistingLimits:o});u=rwt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},yA=t=>`${t.name}@${t.reference}`,Pj=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(K.delimiter).length,u=a.split(K.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},r1e=(t,e)=>{let r=G.isVirtualLocator(t)?G.devirtualizeLocator(t):t,o=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e;return G.areLocatorsEqual(r,o)},Dj=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return K.contains(o,a)===null},$It=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(D,b)=>{let C=yA(D);if(p.has(C))return;p.add(C);let T=t.getPackageInformation(D);if(T){let L=b?yA(b):"";if(yA(D)!==L&&T.linkType==="SOFT"&&!D.reference.startsWith("link:")&&!Dj(T,D,t,o)){let U=n1e(T,D,t);(!A.get(U)||D.reference.startsWith("workspace:"))&&A.set(U,D)}for(let[U,z]of T.packageDependencies)z!==null&&(T.packagePeers.has(U)||h(t.getLocator(U,z),D))}};for(let D of u)h(D,null);let E=o.split(K.sep);for(let D of A.values()){let b=t.getPackageInformation(D),T=ue.toPortablePath(b.packageLocation.slice(0,-1)).split(K.sep).slice(E.length),L=n;for(let U of T){let z=L.children.get(U);z||(z={children:new Map},L.children.set(U,z)),L=z}L.workspaceLocator=D}let w=(D,b)=>{if(D.workspaceLocator){let C=yA(b),T=a.get(C);T||(T=new Set,a.set(C,T)),T.add(D.workspaceLocator)}for(let C of D.children.values())w(C,D.workspaceLocator||b)};for(let D of n.children.values())w(D,n.workspaceLocator);return a},ewt=(t,e)=>{let r=[],o=!1,a=new Map,n=$It(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,w=(b,C)=>`${yA(C)}:${b}`,D=(b,C,T,L,U,z,te,le)=>{let de=w(b,T),ce=E.get(de),me=!!ce;!me&&T.name===A.name&&T.reference===A.reference&&(ce=h,E.set(de,h));let pe=Dj(C,T,t,p);if(!ce){let Ae=0;pe?Ae=2:C.linkType==="SOFT"&&T.name.endsWith(Wh)&&(Ae=1),ce={name:b,identName:T.name,reference:T.reference,dependencies:new Set,peerNames:Ae===1?new Set:C.packagePeers,dependencyKind:Ae},E.set(de,ce)}let ve;if(pe?ve=2:U.linkType==="SOFT"?ve=1:ve=0,ce.hoistPriority=Math.max(ce.hoistPriority||0,ve),le&&!pe){let Ae=yA({name:L.identName,reference:L.reference}),ie=a.get(Ae)||new Set;a.set(Ae,ie),ie.add(ce.name)}let Ie=new Map(C.packageDependencies);if(e.project){let Ae=e.project.workspacesByCwd.get(ue.toPortablePath(C.packageLocation.slice(0,-1)));if(Ae){let ie=new Set([...Array.from(Ae.manifest.peerDependencies.values(),Z=>G.stringifyIdent(Z)),...Array.from(Ae.manifest.peerDependenciesMeta.keys())]);for(let Z of ie)Ie.has(Z)||(Ie.set(Z,z.get(Z)||null),ce.peerNames.add(Z))}}let g=yA({name:T.name.replace(Wh,""),reference:T.reference}),Ce=n.get(g);if(Ce)for(let Ae of Ce)Ie.set(`${Ae.name}${Wh}`,Ae.reference);(C!==U||C.linkType!=="SOFT"||!pe&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(te)))&&L.dependencies.add(ce);let ye=T!==A&&C.linkType==="SOFT"&&!T.name.endsWith(Wh)&&!pe;if(!me&&!ye){let Ae=new Map;for(let[ie,Z]of Ie)if(Z!==null){let Pe=t.getLocator(ie,Z),Re=t.getLocator(ie.replace(Wh,""),Z),gt=t.getPackageInformation(Re);if(gt===null)throw new Error("Assertion failed: Expected the package to have been registered");let q=Dj(gt,Pe,t,p);if(e.validateExternalSoftLinks&&e.project&&q){gt.packageDependencies.size>0&&(o=!0);for(let[Ye,Qe]of gt.packageDependencies)if(Qe!==null){let it=G.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${Ye}@${Qe}`);if(yA(it)!==yA(Pe)){let Ue=Ie.get(Ye);if(Ue){let x=G.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${Ye}@${Ue}`);r1e(x,it)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(e.project.configuration,G.parseIdent(Pe.name))} into ${G.prettyLocator(e.project.configuration,G.parseLocator(`${T.name}@${T.reference}`))} dependency ${G.prettyLocator(e.project.configuration,it)} conflicts with parent dependency ${G.prettyLocator(e.project.configuration,x)}`})}else{let x=Ae.get(Ye);if(x){let I=x.target,S=G.parseLocator(Array.isArray(I)?`${I[0]}@${I[1]}`:`${Ye}@${I}`);r1e(S,it)||r.push({messageName:71,text:`Cannot link ${G.prettyIdent(e.project.configuration,G.parseIdent(Pe.name))} into ${G.prettyLocator(e.project.configuration,G.parseLocator(`${T.name}@${T.reference}`))} dependency ${G.prettyLocator(e.project.configuration,it)} conflicts with dependency ${G.prettyLocator(e.project.configuration,S)} from sibling portal ${G.prettyIdent(e.project.configuration,G.parseIdent(x.portal.name))}`})}else Ae.set(Ye,{target:it.reference,portal:Pe})}}}}let rt=e.hoistingLimitsByCwd?.get(te),Te=q?te:K.relative(p,ue.toPortablePath(gt.packageLocation))||Bt.dot,Ne=e.hoistingLimitsByCwd?.get(Te);D(ie,gt,Pe,ce,C,Ie,Te,rt==="dependencies"||Ne==="dependencies"||Ne==="workspaces")}}};return D(A.name,u,A,h,u,u.packageDependencies,Bt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function n1e(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(o||t.packageLocation)}function twt(t,e,r){let o=e.getLocator(t.name.replace(Wh,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:n1e(a,t,e)}}var rwt=(t,e,r)=>{let o=new Map,a=(E,w,D)=>{let{linkType:b,target:C}=twt(E,t,r);return{locator:yA(E),nodePath:w,target:C,linkType:b,aliases:D}},n=E=>{let[w,D]=E.split("/");return D?{scope:w,name:D}:{scope:null,name:w}},u=new Set,A=(E,w,D)=>{if(u.has(E))return;u.add(E);let b=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let T=Array.from(C.references).sort().join("#");if(C.identName===E.identName.replace(Wh,"")&&T===b)continue;let L=Array.from(C.references).sort(),U={name:C.identName,reference:L[0]},{name:z,scope:te}=n(C.name),le=te?[te,z]:[z],de=K.join(w,t1e),ce=K.join(de,...le),me=`${D}/${U.name}`,pe=a(U,D,L.slice(1)),ve=!1;if(pe.linkType==="SOFT"&&r.project){let Ie=r.project.workspacesByCwd.get(pe.target.slice(0,-1));ve=!!(Ie&&!Ie.manifest.name)}if(!C.name.endsWith(Wh)&&!ve){let Ie=o.get(ce);if(Ie){if(Ie.dirList)throw new Error(`Assertion failed: ${ce} cannot merge dir node with leaf node`);{let ye=G.parseLocator(Ie.locator),Ae=G.parseLocator(pe.locator);if(Ie.linkType!==pe.linkType)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different link types ${Ie.nodePath}/${G.stringifyLocator(ye)} and ${D}/${G.stringifyLocator(Ae)}`);if(ye.identHash!==Ae.identHash)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different idents ${Ie.nodePath}/${G.stringifyLocator(ye)} and ${D}/s${G.stringifyLocator(Ae)}`);pe.aliases=[...pe.aliases,...Ie.aliases,G.parseLocator(Ie.locator).reference]}}o.set(ce,pe);let g=ce.split("/"),Ce=g.indexOf(t1e);for(let ye=g.length-1;Ce>=0&&ye>Ce;ye--){let Ae=ue.toPortablePath(g.slice(0,ye).join(K.sep)),ie=g[ye],Z=o.get(Ae);if(!Z)o.set(Ae,{dirList:new Set([ie])});else if(Z.dirList){if(Z.dirList.has(ie))break;Z.dirList.add(ie)}}}A(C,pe.linkType==="SOFT"?pe.target:ce,me)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ve();Ve();Pt();Pt();sA();Ol();var Wj={};Kt(Wj,{PnpInstaller:()=>gd,PnpLinker:()=>Vh,UnplugCommand:()=>RC,default:()=>Fwt,getPnpPath:()=>zh,jsInstallUtils:()=>CA,pnpUtils:()=>vv,quotePathIfNeeded:()=>H1e});Pt();var _1e=De("url");Ve();Ve();Pt();Pt();var i1e={DEFAULT:{collapsed:!1,next:{"*":"DEFAULT"}},TOP_LEVEL:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA","*":"DEFAULT"}},FALLBACK_EXCLUSION_LIST:{collapsed:!1,next:{"*":"FALLBACK_EXCLUSION_ENTRIES"}},FALLBACK_EXCLUSION_ENTRIES:{collapsed:!0,next:{"*":"FALLBACK_EXCLUSION_DATA"}},FALLBACK_EXCLUSION_DATA:{collapsed:!0,next:{"*":"DEFAULT"}},PACKAGE_REGISTRY_DATA:{collapsed:!1,next:{"*":"PACKAGE_REGISTRY_ENTRIES"}},PACKAGE_REGISTRY_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_STORE_DATA"}},PACKAGE_STORE_DATA:{collapsed:!1,next:{"*":"PACKAGE_STORE_ENTRIES"}},PACKAGE_STORE_ENTRIES:{collapsed:!0,next:{"*":"PACKAGE_INFORMATION_DATA"}},PACKAGE_INFORMATION_DATA:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES","*":"DEFAULT"}},PACKAGE_DEPENDENCIES:{collapsed:!1,next:{"*":"PACKAGE_DEPENDENCY"}},PACKAGE_DEPENDENCY:{collapsed:!0,next:{"*":"DEFAULT"}}};function nwt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=Jk(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function owt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ -`;let u=0;for(let A=0,p=o.length;A"u"||(u!==0&&(n+=",",n+=` -`),n+=a,n+=JSON.stringify(h),n+=": ",n+=Jk(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` -`),n+=r,n+="}",n}function Jk(t,e,r,o){let{next:a}=i1e[r],n=a[t]||a["*"];return s1e(e,n,o)}function s1e(t,e,r){let{collapsed:o}=i1e[e];return Array.isArray(t)?o?nwt(t,e,r):iwt(t,e,r):typeof t=="object"&&t!==null?o?swt(t,e,r):owt(t,e,r):JSON.stringify(t)}function o1e(t){return s1e(t,"TOP_LEVEL","")}function hv(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function awt(t){let e=new Map,r=hv(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function lwt(t){return hv(t.fallbackPool||[],([e])=>e)}function cwt(t){let e=[],r=t.dependencyTreeRoots.find(o=>t.packageRegistry.get(o.name)?.get(o.reference)?.packageLocation==="./");for(let[o,a]of hv(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){if(o===null)continue;let n=[];e.push([o,n]);for(let[u,{packageLocation:A,packageDependencies:p,packagePeers:h,linkType:E,discardFromLookup:w}]of hv(a,([D])=>D===null?"0":`1${D}`)){if(u===null)continue;let D=[];o!==null&&u!==null&&!p.has(o)&&D.push([o,u]);for(let[U,z]of p)D.push([U,z]);let b=hv(D,([U])=>U),C=h&&h.size>0?Array.from(h):void 0,L={packageLocation:A,packageDependencies:b,packagePeers:C,linkType:E,discardFromLookup:w||void 0};n.push([u,L]),r&&o===r.name&&u===r.reference&&e.unshift([null,[[null,L]]])}}return e}function gv(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:awt(t),fallbackPool:lwt(t),packageRegistryData:cwt(t)}}var c1e=et(l1e());function u1e(t,e){return[t?`${t} -`:"",`/* eslint-disable */ -`,`// @ts-nocheck -`,`"use strict"; -`,` -`,e,` -`,(0,c1e.default)()].join("")}function uwt(t){return JSON.stringify(t,null,2)}function Awt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ -`)}'`}function fwt(t){return[`const RAW_RUNTIME_STATE = -`,`${Awt(o1e(t))}; - -`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { -`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); -`,`} -`].join("")}function pwt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { -`,` const fs = require('fs'); -`,` const path = require('path'); -`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(mr.pnpData)}); -`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); -`,`} -`].join("")}function A1e(t){let e=gv(t),r=fwt(e);return u1e(t.shebang,r)}function f1e(t){let e=gv(t),r=pwt(),o=u1e(t.shebang,r);return{dataFile:uwt(e),loaderFile:o}}Pt();function xj(t,{basePath:e}){let r=ue.toPortablePath(e),o=K.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([w,D])=>[w,new Map(D.map(([b,C])=>{if(w===null!=(b===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let T=C.discardFromLookup??!1,L={name:w,reference:b},U=n.get(C.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&T,T||(U.locator=L)):n.set(C.packageLocation,{locator:L,discardFromLookup:T});let z=null;return[b,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:T,get packageLocation(){return z||(z=K.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([w,D])=>[w,new Set(D)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}Pt();Pt();var rp=De("module"),hd=De("url"),Mj=De("util");var ko=De("url");var d1e=et(De("assert"));var bj=Array.isArray,dv=JSON.stringify,mv=Object.getOwnPropertyNames,pd=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Qj=(t,e)=>RegExp.prototype.exec.call(t,e),kj=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),Yh=(t,...e)=>String.prototype.endsWith.apply(t,e),Fj=(t,...e)=>String.prototype.includes.apply(t,e),Rj=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),yv=(t,...e)=>String.prototype.indexOf.apply(t,e),p1e=(t,...e)=>String.prototype.replace.apply(t,e),Kh=(t,...e)=>String.prototype.slice.apply(t,e),EA=(t,...e)=>String.prototype.startsWith.apply(t,e),h1e=Map,g1e=JSON.parse;function Ev(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var m1e=Ev("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Tj=Ev("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),y1e=Ev("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!EA(r,"./");return e==="."?((0,d1e.default)(o===!1),`Invalid "exports" main target ${dv(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${dv(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),Cv=Ev("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),E1e=Ev("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var Zk=De("url");function C1e(t,e){let r=Object.create(null);for(let o=0;oe):t+e}Iv(r,t,o,u,a)}Qj(w1e,Kh(t,2))!==null&&Iv(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(EA(h,E)||Iv(r,t,o,u,a),e==="")return p;if(Qj(w1e,e)!==null){let w=n?p1e(r,"*",()=>e):r+e;dwt(w,o,u,a)}return n?new URL(kj(B1e,p.href,()=>e)):new URL(e,p)}function ywt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function FC(t,e,r,o,a,n,u,A){if(typeof e=="string")return mwt(e,r,o,t,a,n,u,A);if(bj(e)){if(e.length===0)return null;let p;for(let h=0;hn?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function Ewt(t,e,r){if(typeof t=="string"||bj(t))return!0;if(typeof t!="object"||t===null)return!1;let o=mv(t),a=!1,n=0;for(let u=0;u=h.length&&Yh(e,w)&&D1e(n,h)===1&&Rj(h,"*")===E&&(n=h,u=Kh(e,E,e.length-w.length))}}if(n){let p=r[n],h=FC(t,p,u,n,o,!0,!1,a);return h==null&&Nj(e,t,o),h}Nj(e,t,o)}function S1e({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||EA(t,"#/")||Yh(t,"/")){let u="is not a valid internal imports specifier name";throw new Tj(t,u,(0,ko.fileURLToPath)(e))}let a,n=I1e(e,o);if(n.exists){a=(0,ko.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(pd(u,t)&&!Fj(t,"*")){let A=FC(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=mv(u);for(let E=0;E=w.length&&Yh(t,b)&&D1e(A,w)===1&&Rj(w,"*")===D&&(A=w,p=Kh(t,D,t.length-b.length))}}if(A){let E=u[A],w=FC(a,E,p,A,e,!0,!0,r);if(w!=null)return w}}}gwt(t,a,e)}Pt();var Iwt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ts(t,e,r={},o){o??=Iwt.has(t)?"MODULE_NOT_FOUND":t;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function pu(t){return ue.normalize(ue.fromPortablePath(t))}var k1e=et(b1e());function F1e(t){return wwt(),Oj[t]}var Oj;function wwt(){Oj||(Oj={"--conditions":[],...Q1e(Bwt()),...Q1e(process.execArgv)})}function Q1e(t){return(0,k1e.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function Bwt(){let t=[],e=vwt(process.env.NODE_OPTIONS||"",t);return t.length,e}function vwt(t,e){let r=[],o=!1,a=!0;for(let n=0;nparseInt(t,10)),R1e=Ha>19||Ha===19&&tp>=2||Ha===18&&tp>=13,AJt=Ha===20&&tp<6||Ha===19&&tp>=3,fJt=Ha>19||Ha===19&&tp>=6,pJt=Ha>=21||Ha===20&&tp>=10||Ha===18&&tp>=19,hJt=Ha>=21||Ha===20&&tp>=10||Ha===18&&tp>=20,gJt=Ha>=22;function T1e(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(qs.resolveVirtual(ue.toPortablePath(e)))),R1e)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function Uj(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Te of["react-scripts","gatsby"]){let Ne=t.packageRegistry.get(Te);if(Ne)for(let xe of Ne.keys()){if(xe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Te,reference:xe})}}let{ignorePattern:w,packageRegistry:D,packageLocatorsByLocations:b}=t;function C(Te,Ne){return{fn:Te,args:Ne,error:null,result:null}}function T(Te){let Ne=process.stderr?.hasColors?.()??process.stdout.isTTY,xe=(it,Ue)=>`\x1B[${it}m${Ue}\x1B[0m`,Ye=Te.error;console.error(Ye?xe("31;1",`\u2716 ${Te.error?.message.replace(/\n.*/s,"")}`):xe("33;1","\u203C Resolution")),Te.args.length>0&&console.error();for(let it of Te.args)console.error(` ${xe("37;1","In \u2190")} ${(0,Mj.inspect)(it,{colors:Ne,compact:!0})}`);Te.result&&(console.error(),console.error(` ${xe("37;1","Out \u2192")} ${(0,Mj.inspect)(Te.result,{colors:Ne,compact:!0})}`));let Qe=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Qe.length>0){console.error();for(let it of Qe)console.error(` ${xe("38;5;244",it)}`)}console.error()}function L(Te,Ne){if(e.allowDebug===!1)return Ne;if(Number.isFinite(o)){if(o>=2)return(...xe)=>{let Ye=C(Te,xe);try{return Ye.result=Ne(...xe)}catch(Qe){throw Ye.error=Qe}finally{T(Ye)}};if(o>=1)return(...xe)=>{try{return Ne(...xe)}catch(Ye){let Qe=C(Te,xe);throw Qe.error=Ye,T(Qe),Ye}}}return Ne}function U(Te){let Ne=g(Te);if(!Ne)throw ts("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Ne}function z(Te){if(Te.name===null)return!0;for(let Ne of t.dependencyTreeRoots)if(Ne.name===Te.name&&Ne.reference===Te.reference)return!0;return!1}let te=new Set(["node","require",...F1e("--conditions")]);function le(Te,Ne=te,xe){let Ye=Ae(K.join(Te,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Ye===null)throw ts("INTERNAL",`The locator that owns the "${Te}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Qe}=U(Ye),it=K.join(Qe,mr.manifest);if(!e.fakeFs.existsSync(it))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(it,"utf8"));if(Ue.exports==null)return null;let x=K.contains(Qe,Te);if(x===null)throw ts("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");x!=="."&&!A.test(x)&&(x=`./${x}`);try{let I=P1e({packageJSONUrl:(0,hd.pathToFileURL)(ue.fromPortablePath(it)),packageSubpath:x,exports:Ue.exports,base:xe?(0,hd.pathToFileURL)(ue.fromPortablePath(xe)):null,conditions:Ne});return ue.toPortablePath((0,hd.fileURLToPath)(I))}catch(I){throw ts("EXPORTS_RESOLUTION_FAILED",I.message,{unqualifiedPath:pu(Te),locator:Ye,pkgJson:Ue,subpath:pu(x),conditions:Ne},I.code)}}function de(Te,Ne,{extensions:xe}){let Ye;try{Ne.push(Te),Ye=e.fakeFs.statSync(Te)}catch{}if(Ye&&!Ye.isDirectory())return e.fakeFs.realpathSync(Te);if(Ye&&Ye.isDirectory()){let Qe;try{Qe=JSON.parse(e.fakeFs.readFileSync(K.join(Te,mr.manifest),"utf8"))}catch{}let it;if(Qe&&Qe.main&&(it=K.resolve(Te,Qe.main)),it&&it!==Te){let Ue=de(it,Ne,{extensions:xe});if(Ue!==null)return Ue}}for(let Qe=0,it=xe.length;Qe{let x=JSON.stringify(Ue.name);if(Ye.has(x))return;Ye.add(x);let I=Ce(Ue);for(let S of I)if(U(S).packagePeers.has(Te))Qe(S);else{let R=xe.get(S.name);typeof R>"u"&&xe.set(S.name,R=new Set),R.add(S.reference)}};Qe(Ne);let it=[];for(let Ue of[...xe.keys()].sort())for(let x of[...xe.get(Ue)].sort())it.push({name:Ue,reference:x});return it}function Ae(Te,{resolveIgnored:Ne=!1,includeDiscardFromLookup:xe=!1}={}){if(pe(Te)&&!Ne)return null;let Ye=K.relative(t.basePath,Te);Ye.match(n)||(Ye=`./${Ye}`),Ye.endsWith("/")||(Ye=`${Ye}/`);do{let Qe=b.get(Ye);if(typeof Qe>"u"||Qe.discardFromLookup&&!xe){Ye=Ye.substring(0,Ye.lastIndexOf("/",Ye.length-2)+1);continue}return Qe.locator}while(Ye!=="");return null}function ie(Te){try{return e.fakeFs.readFileSync(ue.toPortablePath(Te),"utf8")}catch(Ne){if(Ne.code==="ENOENT")return;throw Ne}}function Z(Te,Ne,{considerBuiltins:xe=!0}={}){if(Te.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Te==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(xe&&(0,rp.isBuiltin)(Te))return null;let Ye=pu(Te),Qe=Ne&&pu(Ne);if(Ne&&pe(Ne)&&(!K.isAbsolute(Te)||Ae(Te)===null)){let x=me(Te,Ne);if(x===!1)throw ts("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) - -Require request: "${Ye}" -Required by: ${Qe} -`,{request:Ye,issuer:Qe});return ue.toPortablePath(x)}let it,Ue=Te.match(a);if(Ue){if(!Ne)throw ts("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:Qe});let[,x,I]=Ue,S=Ae(Ne);if(!S){let Fe=me(Te,Ne);if(Fe===!1)throw ts("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). - -Require path: "${Ye}" -Required by: ${Qe} -`,{request:Ye,issuer:Qe});return ue.toPortablePath(Fe)}let R=U(S).packageDependencies.get(x),J=null;if(R==null&&S.name!==null){let Fe=t.fallbackExclusionList.get(S.name);if(!Fe||!Fe.has(S.reference)){for(let Et=0,qt=h.length;Etz(lt))?X=ts("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} -Required by: ${S.name}@${S.reference} (via ${Qe}) -${Fe.map(lt=>`Ancestor breaking the chain: ${lt.name}@${lt.reference} -`).join("")} -`,{request:Ye,issuer:Qe,issuerLocator:Object.assign({},S),dependencyName:x,brokenAncestors:Fe}):X=ts("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} -Required by: ${S.name}@${S.reference} (via ${Qe}) - -${Fe.map(lt=>`Ancestor breaking the chain: ${lt.name}@${lt.reference} -`).join("")} -`,{request:Ye,issuer:Qe,issuerLocator:Object.assign({},S),dependencyName:x,brokenAncestors:Fe})}else R===void 0&&(!xe&&(0,rp.isBuiltin)(Te)?z(S)?X=ts("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} -Required by: ${Qe} -`,{request:Ye,issuer:Qe,dependencyName:x}):X=ts("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${S.name}'s dependencies, this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} -Required by: ${Qe} -`,{request:Ye,issuer:Qe,issuerLocator:Object.assign({},S),dependencyName:x}):z(S)?X=ts("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} -Required by: ${Qe} -`,{request:Ye,issuer:Qe,dependencyName:x}):X=ts("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. - -Required package: ${x}${x!==Ye?` (via "${Ye}")`:""} -Required by: ${S.name}@${S.reference} (via ${Qe}) -`,{request:Ye,issuer:Qe,issuerLocator:Object.assign({},S),dependencyName:x}));if(R==null){if(J===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");R=J;let Fe=X.message.replace(/\n.*/g,"");X.message=Fe,!E.has(Fe)&&o!==0&&(E.add(Fe),process.emitWarning(X))}let $=Array.isArray(R)?{name:R[0],reference:R[1]}:{name:x,reference:R},se=U($);if(!se.packageLocation)throw ts("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. - -Required package: ${$.name}@${$.reference}${$.name!==Ye?` (via "${Ye}")`:""} -Required by: ${S.name}@${S.reference} (via ${Qe}) -`,{request:Ye,issuer:Qe,dependencyLocator:Object.assign({},$)});let be=se.packageLocation;I?it=K.join(be,I):it=be}else if(K.isAbsolute(Te))it=K.normalize(Te);else{if(!Ne)throw ts("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:Qe});let x=K.resolve(Ne);Ne.match(u)?it=K.normalize(K.join(x,Te)):it=K.normalize(K.join(K.dirname(x),Te))}return K.normalize(it)}function Pe(Te,Ne,xe=te,Ye){if(n.test(Te))return Ne;let Qe=le(Ne,xe,Ye);return Qe?K.normalize(Qe):Ne}function Re(Te,{extensions:Ne=Object.keys(rp.Module._extensions)}={}){let xe=[],Ye=de(Te,xe,{extensions:Ne});if(Ye)return K.normalize(Ye);{T1e(xe.map(Ue=>ue.fromPortablePath(Ue)));let Qe=pu(Te),it=Ae(Te);if(it){let{packageLocation:Ue}=U(it),x=!0;try{e.fakeFs.accessSync(Ue)}catch(I){if(I?.code==="ENOENT")x=!1;else{let S=(I?.message??I??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw ts("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${S}). - -Missing package: ${it.name}@${it.reference} -Expected package location: ${pu(Ue)} -`,{unqualifiedPath:Qe,extensions:Ne})}}if(!x){let I=Ue.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ts("QUALIFIED_PATH_RESOLUTION_FAILED",`${I} - -Missing package: ${it.name}@${it.reference} -Expected package location: ${pu(Ue)} -`,{unqualifiedPath:Qe,extensions:Ne})}}throw ts("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. - -Source path: ${Qe} -${xe.map(Ue=>`Not found: ${pu(Ue)} -`).join("")}`,{unqualifiedPath:Qe,extensions:Ne})}}function gt(Te,Ne,xe){if(!Ne)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ye=S1e({name:Te,base:(0,hd.pathToFileURL)(ue.fromPortablePath(Ne)),conditions:xe.conditions??te,readFileSyncFn:ie});if(Ye instanceof URL)return Re(ue.toPortablePath((0,hd.fileURLToPath)(Ye)),{extensions:xe.extensions});if(Ye.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return q(Ye,Ne,xe)}function q(Te,Ne,xe={}){try{if(Te.startsWith("#"))return gt(Te,Ne,xe);let{considerBuiltins:Ye,extensions:Qe,conditions:it}=xe,Ue=Z(Te,Ne,{considerBuiltins:Ye});if(Te==="pnpapi")return Ue;if(Ue===null)return null;let x=()=>Ne!==null?pe(Ne):!1,I=(!Ye||!(0,rp.isBuiltin)(Te))&&!x()?Pe(Te,Ue,it,Ne):Ue;return Re(I,{extensions:Qe})}catch(Ye){throw Object.hasOwn(Ye,"pnpCode")&&Object.assign(Ye.data,{request:pu(Te),issuer:Ne&&pu(Ne)}),Ye}}function rt(Te){let Ne=K.normalize(Te),xe=qs.resolveVirtual(Ne);return xe!==Ne?xe:null}return{VERSIONS:ve,topLevel:Ie,getLocator:(Te,Ne)=>Array.isArray(Ne)?{name:Ne[0],reference:Ne[1]}:{name:Te,reference:Ne},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Te=[];for(let[Ne,xe]of D)for(let Ye of xe.keys())Ne!==null&&Ye!==null&&Te.push({name:Ne,reference:Ye});return Te},getPackageInformation:Te=>{let Ne=g(Te);if(Ne===null)return null;let xe=ue.fromPortablePath(Ne.packageLocation);return{...Ne,packageLocation:xe}},findPackageLocator:Te=>Ae(ue.toPortablePath(Te)),resolveToUnqualified:L("resolveToUnqualified",(Te,Ne,xe)=>{let Ye=Ne!==null?ue.toPortablePath(Ne):null,Qe=Z(ue.toPortablePath(Te),Ye,xe);return Qe===null?null:ue.fromPortablePath(Qe)}),resolveUnqualified:L("resolveUnqualified",(Te,Ne)=>ue.fromPortablePath(Re(ue.toPortablePath(Te),Ne))),resolveRequest:L("resolveRequest",(Te,Ne,xe)=>{let Ye=Ne!==null?ue.toPortablePath(Ne):null,Qe=q(ue.toPortablePath(Te),Ye,xe);return Qe===null?null:ue.fromPortablePath(Qe)}),resolveVirtual:L("resolveVirtual",Te=>{let Ne=rt(ue.toPortablePath(Te));return Ne!==null?ue.fromPortablePath(Ne):null})}}Pt();var N1e=(t,e,r)=>{let o=gv(t),a=xj(o,{basePath:e}),n=ue.join(e,mr.pnpCjs);return Uj(a,{fakeFs:r,pnpapiResolution:n})};var Hj=et(O1e());Gt();var CA={};Kt(CA,{checkManifestCompatibility:()=>M1e,extractBuildRequest:()=>$k,getExtractHint:()=>qj,hasBindingGyp:()=>jj});Ve();Pt();function M1e(t){return G.isPackageCompatible(t,Xi.getArchitectureSet())}function $k(t,e,r,{configuration:o}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${G.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${G.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!o.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${G.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`)}:M1e(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${G.prettyLocator(o,t)} The ${Xi.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var Pwt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function qj(t){return t.packageFs.getExtractHint({relevantExtensions:Pwt})}function jj(t){let e=K.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var vv={};Kt(vv,{getUnpluggedPath:()=>Bv});Ve();Pt();function Bv(t,{configuration:e}){return K.resolve(e.get("pnpUnpluggedFolder"),G.slugifyLocator(t))}var Swt=new Set([G.makeIdent(null,"open").identHash,G.makeIdent(null,"opn").identHash]),Vh=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=zh(r.project).cjs;if(!ae.existsSync(o))throw new nt(`The project in ${fe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,fe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=qe.getFactoryWithDefault(this.pnpCache,o,()=>qe.dynamicRequire(o,{cachingStrategy:qe.CachingStrategy.FsTime})),n={name:G.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new nt(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=zh(r.project).cjs;if(!ae.existsSync(o))return null;let n=qe.getFactoryWithDefault(this.pnpCache,o,()=>qe.dynamicRequire(o,{cachingStrategy:qe.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?G.makeLocator(G.parseIdent(n.name),n.reference):null}makeInstaller(e){return new gd(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},gd=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new qe.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=G.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=G.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",w,D;if(h||E){let te=A?G.devirtualizeLocator(e):e;w=this.customData.store.get(te.locatorHash),typeof w>"u"&&(w=await xwt(r),e.linkType==="HARD"&&this.customData.store.set(te.locatorHash,w)),w.manifest.type==="module"&&(this.isESMLoaderRequired=!0),D=this.opts.project.getDependencyMeta(te,e.version)}let b=h?$k(e,w,D,{configuration:this.opts.project.configuration}):null,C=E?await this.unplugPackageIfNeeded(e,w,r,D,o):r.packageFs;if(K.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let T=K.resolve(C.getRealPath(),r.prefixPath),L=Gj(this.opts.project.cwd,T),U=new Map,z=new Set;if(A){for(let te of e.peerDependencies.values())U.set(G.stringifyIdent(te),null),z.add(G.stringifyIdent(te));if(!u){let te=G.devirtualizeLocator(e);this.virtualTemplates.set(te.locatorHash,{location:Gj(this.opts.project.cwd,qs.resolveVirtual(T)),locator:te})}}return qe.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:U,packagePeers:z,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:T,buildRequest:b}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=G.areIdentsEqual(a,n)?n.reference:[G.stringifyIdent(n),n.reference];o.packageDependencies.set(G.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(G.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=zh(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(e.cjs),await ae.removePromise(e.data),await ae.removePromise(e.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:w}of this.virtualTemplates.values())qe.getMapWithDefault(this.packageRegistry,G.stringifyIdent(E)).set(E.reference,{packageLocation:w,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:G.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=qe.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:G.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=zh(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=A1e(e);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=f1e(e);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,Hj.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=K.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=K.join(a.cwd,"node_modules");if(o&&o.test(K.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(K.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:Swt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!($k(e,r,o,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(e,r,o){let a=Bv(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new ju(a,{baseFs:r.packageFs,pathUtils:K}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=K.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,Bt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new En(a))}getPackageInformation(e){let r=G.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${G.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${G.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=qe.getMapWithDefault(this.packageRegistry,"@@disk"),o=Gj(this.opts.project.cwd,e);return qe.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function Gj(t,e){let r=K.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function xwt(t){let e=await _t.tryFind(t.prefixPath,{baseFs:t.packageFs})??new _t,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:qj(t),hasBindingGyp:jj(t)}}}Ve();Ve();Gt();var U1e=et(Xo());var RC=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}static{this.paths=[["unplug"]]}static{this.usage=ot.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new nt("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(b=>{let C=G.parseDescriptor(b),T=C.range!=="unknown"?C:G.makeDescriptor(C,"*");if(!Ur.validRange(T.range))throw new nt(`The range of the descriptor patterns must be a valid semver range (${G.prettyDescriptor(r,T)})`);return L=>{let U=G.stringifyIdent(L);return!U1e.default.isMatch(U,G.stringifyIdent(T))||L.version&&!Ur.satisfiesWithPrereleases(L.version,T.range)?!1:(u.delete(b),!0)}}),p=()=>{let b=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!G.isVirtualLocator(C)&&A.some(T=>T(C))&&b.push(C);return b},h=b=>{let C=new Set,T=[],L=(U,z)=>{if(C.has(U.locatorHash))return;let te=!!o.tryWorkspaceByLocator(U);if(!(z>0&&!this.recursive&&te)&&(C.add(U.locatorHash),!o.tryWorkspaceByLocator(U)&&A.some(le=>le(U))&&T.push(U),!(z>0&&!this.recursive)))for(let le of U.dependencies.values()){let de=o.storedResolutions.get(le.descriptorHash);if(!de)throw new Error("Assertion failed: The resolution should have been registered");let ce=o.storedPackages.get(de);if(!ce)throw new Error("Assertion failed: The package should have been registered");L(ce,z+1)}};for(let U of b)L(U.anchoredPackage,0);return T},E,w;if(this.all&&this.recursive?(E=p(),w="the project"):this.all?(E=h(o.workspaces),w="any workspace"):(E=h([a]),w="this workspace"),u.size>1)throw new nt(`Patterns ${fe.prettyList(r,u,fe.Type.CODE)} don't match any packages referenced by ${w}`);if(u.size>0)throw new nt(`Pattern ${fe.prettyList(r,u,fe.Type.CODE)} doesn't match any packages referenced by ${w}`);E=qe.sortMap(E,b=>G.stringifyLocator(b));let D=await Nt.start({configuration:r,stdout:this.context.stdout,json:this.json},async b=>{for(let C of E){let T=C.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(G.makeDescriptor(C,T));L.unplugged=!0,b.reportInfo(0,`Will unpack ${G.prettyLocator(r,C)} to ${fe.pretty(r,Bv(C,{configuration:r}),fe.Type.PATH)}`),b.reportJson({locator:G.stringifyLocator(C),version:T})}await o.topLevelWorkspace.persistManifest(),this.json||b.reportSeparator()});return D.hasErrors()?D.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};var zh=t=>({cjs:K.join(t.cwd,mr.pnpCjs),data:K.join(t.cwd,mr.pnpData),esmLoader:K.join(t.cwd,mr.pnpEsmLoader)}),H1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function bwt(t,e,r){let o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(e.NODE_OPTIONS??"").replace(o," ").replace(a," ").trim();if(t.configuration.get("nodeLinker")!=="pnp"){e.NODE_OPTIONS=n||void 0;return}let u=zh(t),A=`--require ${H1e(ue.fromPortablePath(u.cjs))}`;ae.existsSync(u.esmLoader)&&(A=`${A} --experimental-loader ${(0,_1e.pathToFileURL)(ue.fromPortablePath(u.esmLoader)).href}`),ae.existsSync(u.cjs)&&(e.NODE_OPTIONS=n?`${A} ${n}`:A)}async function Qwt(t,e){let r=zh(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var kwt={hooks:{populateYarnPaths:Qwt,setupScriptEnvironment:bwt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[Vh],commands:[RC]},Fwt=kwt;var z1e=et(Y1e());Gt();var Zj=et(De("crypto")),J1e=et(De("fs")),X1e=1,xi="node_modules",eF=".bin",Z1e=".yarn-state.yml",zwt=1e3,$j=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))($j||{}),Dv=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await qe.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Xj(r.project,{unrollAliases:!0}));if(a===null)throw new nt("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(G.stringifyLocator(e));if(!n){let p=new nt(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(K.sep).length-h.split(K.sep).length),A=K.join(r.project.configuration.startingCwd,xi);return u.find(p=>K.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await qe.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Xj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=tF(K.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return G.parseLocator(A)}makeInstaller(e){return new Jj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},Jj=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=K.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await Jwt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!G.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,u=new Set;n.has(G.stringifyIdent(e))||n.set(G.stringifyIdent(e),e.reference);let A=e;if(G.isVirtualLocator(e)){A=G.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(G.stringifyIdent(E),null),u.add(G.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildRequest:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=G.areIdentsEqual(a,n)?n.reference:[G.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(G.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new qs({baseFs:new iA({maxOpenFiles:80,readOnlyArchives:!0})}),r=await Xj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(D=>{let b=this.opts.project.configuration.get("nmHoistingLimits");try{b=qe.validateEnum(fv,D.manifest.installConfig?.hoistingLimits??b)}catch{let C=G.prettyWorkspace(this.opts.project.configuration,D);this.opts.report.reportWarning(57,`${C}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(fv).join(", ")}, using default: "${b}"`)}return[D.relativeCwd,b]})),n=new Map(this.opts.project.workspaces.map(D=>{let b=this.opts.project.configuration.get("nmSelfReferences");return b=D.manifest.installConfig?.selfReferences??b,[D.relativeCwd,b]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(D,b)=>Array.isArray(b)?{name:b[0],reference:b[1]}:{name:D,reference:b},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(D=>{let b=D.anchoredLocator;return{name:G.stringifyIdent(b),reference:b.reference}}),getPackageInformation:D=>{let b=D.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:G.makeLocator(G.parseIdent(D.name),D.reference),C=this.localStore.get(b.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:D=>{let b=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(D));if(b!==null){let C=b.anchoredLocator;return{name:G.stringifyIdent(C),reference:C.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:D=>ue.fromPortablePath(qs.resolveVirtual(ue.toPortablePath(D)))},{tree:A,errors:p,preserveSymlinksRequired:h}=pv(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:D,text:b}of p)this.opts.report.reportError(D,b);return}let E=Pj(A);await r1t(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async D=>{let b=G.parseLocator(D),C=this.localStore.get(b.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let w=[];for(let[D,b]of E.entries()){if(t2e(D))continue;let C=G.parseLocator(D),T=this.localStore.get(C.locatorHash);if(typeof T>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(T.pkg))continue;let L=CA.extractBuildRequest(T.pkg,T.customPackageData,T.dependencyMeta,{configuration:this.opts.project.configuration});L&&w.push({buildLocations:b.locations,locator:C,buildRequest:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${fe.pretty(this.opts.project.configuration,"--preserve-symlinks",fe.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:w}}};async function Jwt(t,e){let r=await _t.tryFind(e.prefixPath,{baseFs:e.packageFs})??new _t,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:CA.hasBindingGyp(e)}}}async function Xwt(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will -`,n+=`# cause your node_modules installation to become invalidated. -`,n+=` -`,n+=`__metadata: -`,n+=` version: ${X1e} -`,n+=` nmMode: ${o.value} -`;let u=Array.from(e.keys()).sort(),A=G.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let w=e.get(E);n+=` -`,n+=`${JSON.stringify(E)}: -`,n+=` locations: -`;for(let D of w.locations){let b=K.contains(t.cwd,D);if(b===null)throw new Error(`Assertion failed: Expected the path to be within the project (${D})`);n+=` - ${JSON.stringify(b)} -`}if(w.aliases.length>0){n+=` aliases: -`;for(let D of w.aliases)n+=` - ${JSON.stringify(D)} -`}if(E===A&&r.size>0){n+=` bin: -`;for(let[D,b]of r){let C=K.contains(t.cwd,D);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${D})`);n+=` ${JSON.stringify(C)}: -`;for(let[T,L]of b){let U=K.relative(K.join(D,xi),L);n+=` ${JSON.stringify(T)}: ${JSON.stringify(U)} -`}}}}let p=t.cwd,h=K.join(p,xi,Z1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function Xj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=K.join(r,xi,Z1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Ki(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>X1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let w=E.locations.map(b=>K.join(r,b)),D=E.bin;if(D)for(let[b,C]of Object.entries(D)){let T=K.join(r,ue.toPortablePath(b)),L=qe.getMapWithDefault(p,T);for(let[U,z]of Object.entries(C))L.set(U,ue.toPortablePath([T,xi,z].join(K.sep)))}if(A.set(h,{target:Bt.dot,linkType:"HARD",locations:w,aliases:E.aliases||[]}),e&&E.aliases)for(let b of E.aliases){let{scope:C,name:T}=G.parseLocator(h),L=G.makeLocator(G.makeIdent(C,T),b),U=G.stringifyLocator(L);A.set(U,{target:Bt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:$1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var NC=async(t,e)=>{if(t.split(K.sep).indexOf(xi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{let r;if(!e.innerLoop&&(r=await ae.lstatPromise(t),!r.isDirectory()&&!r.isSymbolicLink()||r.isSymbolicLink()&&!e.isWorkspaceDir)){await ae.unlinkPromise(t);return}let o=await ae.readdirPromise(t,{withFileTypes:!0});for(let n of o){let u=K.join(t,n.name);n.isDirectory()?(n.name!==xi||e&&e.innerLoop)&&await NC(u,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(u)}let a=!e.innerLoop&&e.isWorkspaceDir&&r?.isSymbolicLink();!e.contentsOnly&&!a&&await ae.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},K1e=4,tF=(t,{skipPrefix:e})=>{let r=K.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(K.sep).filter(p=>p!==""),a=o.indexOf(xi),n=o.slice(0,a).join(K.sep),u=K.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},$1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&K.contains(e,n.target)!==null){let A=qe.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=tF(u,{skipPrefix:e}),h=qe.getFactoryWithDefault(r,A,o);for(let E=0;E{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(t,e,"junction");return}}await ae.symlinkPromise(K.relative(K.dirname(e),t),e)};async function e2e(t,e,r){let o=K.join(t,`${Zj.default.randomBytes(16).toString("hex")}.tmp`);try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,e)}catch{}}finally{await ae.unlinkPromise(o)}}async function Zwt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind==="file"){if(n.value==="hardlinks-global"&&o&&r.digest){let A=K.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs{await ae.mkdirPromise(t,{recursive:!0});let A=async(E=Bt.dot)=>{let w=K.join(e,E),D=await r.readdirPromise(w,{withFileTypes:!0}),b=new Map;for(let C of D){let T=K.join(E,C.name),L,U=K.join(w,C.name);if(C.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let z=await bn.checksumFile(U,{baseFs:r,algorithm:"sha1"});L.digest=z}}else if(C.isDirectory())L={kind:"directory"};else if(C.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(b.set(T,L),C.isDirectory()&&T!==xi){let z=await A(T);for(let[te,le]of z)b.set(te,le)}}return b},p;if(a.value==="hardlinks-global"&&o&&u){let E=K.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,w]of p){let D=K.join(e,E),b=K.join(t,E);if(w.kind==="directory")await ae.mkdirPromise(b,{recursive:!0});else if(w.kind==="file"){let C=w.mtimeMs;await Zwt({srcPath:D,dstPath:b,entry:w,nmMode:a,baseFs:r,globalHardlinksStore:o}),w.mtimeMs!==C&&(h=!0)}else w.kind==="symlink"&&await eG(K.resolve(K.dirname(b),w.symlinkTo),b,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=K.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(E),await e2e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function e1t(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,w,D,b)=>{let C=!0,T=K.join(h,E),L=new Set;if(E===xi||E.startsWith("@")){let z;try{z=ae.statSync(T)}catch{}C=!!z,z?z.mtimeMs>r?(A=!0,L=new Set(ae.readdirSync(T))):L=new Set(w.children.get(E).children.keys()):A=!0;let te=e.get(h);if(te){let le=K.join(h,xi,eF),de;try{de=ae.statSync(le)}catch{}if(!de)A=!0;else if(de.mtimeMs>r){A=!0;let ce=new Set(ae.readdirSync(le)),me=new Map;n.set(h,me);for(let[pe,ve]of te)ce.has(pe)&&me.set(pe,ve)}else n.set(h,te)}}else C=b.has(E);let U=w.children.get(E);if(C){let{linkType:z,locator:te}=U,le={children:new Map,linkType:z,locator:te};if(D.children.set(E,le),te){let de=qe.getSetWithDefault(u,te);de.add(T),u.set(te,de)}for(let de of U.children.keys())p(T,de,U,le,L)}else U.locator&&o.storedBuildState.delete(G.parseLocator(U.locator).locatorHash)};for(let[h,E]of t){let{linkType:w,locator:D}=E,b={children:new Map,linkType:w,locator:D};if(a.set(h,b),D){let C=qe.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(xi)&&p(h,xi,E,b,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function t2e(t){let e=G.parseDescriptor(t);return G.isVirtualDescriptor(e)&&(e=G.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function t1t(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=t2e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[w,D]of h.bin){let b=K.join(p[0],D);D!==""&&ae.existsSync(b)&&E.set(w,D)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,w=K.contains(r,A);if(h.locator&&w!==null){let D=a.get(h.locator);for(let[b,C]of D){let T=K.join(A,ue.toPortablePath(C));E.set(b,T)}for(let[b,C]of h.children){let T=K.join(A,b),L=u(T,T,C);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[D,b]of h.children){let C=u(K.join(A,D),p,b);for(let[T,L]of C)E.set(T,L)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var V1e=(t,e)=>{if(!t||!e)return t===e;let r=G.parseLocator(t);G.isVirtualLocator(r)&&(r=G.devirtualizeLocator(r));let o=G.parseLocator(e);return G.isVirtualLocator(o)&&(o=G.devirtualizeLocator(o)),G.areLocatorsEqual(r,o)};function tG(t){return K.join(t.get("globalFolder"),"store")}async function r1t(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=K.join(o.cwd,xi),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:w}=e1t(t.locationTree,t.binSymlinks,t.mtimeMs,o),D=$1e(e,{skipPrefix:o.cwd}),b=[],C=async({srcDir:ve,dstDir:Ie,linkType:g,globalHardlinksStore:Ce,nmMode:ye,windowsLinkType:Ae,packageChecksum:ie})=>{let Z=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(K.dirname(Ie),{recursive:!0}),await eG(K.resolve(ve),Ie,Ae)):await $wt(Ie,ve,{baseFs:r,globalHardlinksStore:Ce,nmMode:ye,windowsLinkType:Ae,packageChecksum:ie})}catch(Pe){throw Pe.message=`While persisting ${ve} -> ${Ie} ${Pe.message}`,Pe}finally{le.tick()}})().then(()=>b.splice(b.indexOf(Z),1));b.push(Z),b.length>K1e&&await Promise.race(b)},T=async(ve,Ie,g)=>{let Ce=(async()=>{let ye=async(Ae,ie,Z)=>{try{Z.innerLoop||await ae.mkdirPromise(ie,{recursive:!0});let Pe=await ae.readdirPromise(Ae,{withFileTypes:!0});for(let Re of Pe){if(!Z.innerLoop&&Re.name===eF)continue;let gt=K.join(Ae,Re.name),q=K.join(ie,Re.name);Re.isDirectory()?(Re.name!==xi||Z&&Z.innerLoop)&&(await ae.mkdirPromise(q,{recursive:!0}),await ye(gt,q,{...Z,innerLoop:!0})):me.value==="hardlinks-local"||me.value==="hardlinks-global"?await ae.linkPromise(gt,q):await ae.copyFilePromise(gt,q,J1e.default.constants.COPYFILE_FICLONE)}}catch(Pe){throw Z.innerLoop||(Pe.message=`While cloning ${Ae} -> ${ie} ${Pe.message}`),Pe}finally{Z.innerLoop||le.tick()}};await ye(ve,Ie,g)})().then(()=>b.splice(b.indexOf(Ce),1));b.push(Ce),b.length>K1e&&await Promise.race(b)},L=async(ve,Ie,g)=>{if(g)for(let[Ce,ye]of Ie.children){let Ae=g.children.get(Ce);await L(K.join(ve,Ce),ye,Ae)}else{Ie.children.has(xi)&&await NC(K.join(ve,xi),{contentsOnly:!1});let Ce=K.basename(ve)===xi&&p.has(K.join(K.dirname(ve)));await NC(ve,{contentsOnly:ve===A,isWorkspaceDir:Ce})}};for(let[ve,Ie]of p){let g=D.get(ve);for(let[Ce,ye]of Ie.children){if(Ce===".")continue;let Ae=g&&g.children.get(Ce),ie=K.join(ve,Ce);await L(ie,ye,Ae)}}let U=async(ve,Ie,g)=>{if(g){V1e(Ie.locator,g.locator)||await NC(ve,{contentsOnly:Ie.linkType==="HARD"});for(let[Ce,ye]of Ie.children){let Ae=g.children.get(Ce);await U(K.join(ve,Ce),ye,Ae)}}else{Ie.children.has(xi)&&await NC(K.join(ve,xi),{contentsOnly:!0});let Ce=K.basename(ve)===xi&&D.has(K.join(K.dirname(ve)));await NC(ve,{contentsOnly:Ie.linkType==="HARD",isWorkspaceDir:Ce})}};for(let[ve,Ie]of D){let g=p.get(ve);for(let[Ce,ye]of Ie.children){if(Ce===".")continue;let Ae=g&&g.children.get(Ce);await U(K.join(ve,Ce),ye,Ae)}}let z=new Map,te=[];for(let[ve,Ie]of E)for(let g of Ie){let{locationRoot:Ce,segments:ye}=tF(g,{skipPrefix:o.cwd}),Ae=D.get(Ce),ie=Ce;if(Ae){for(let Z of ye)if(ie=K.join(ie,Z),Ae=Ae.children.get(Z),!Ae)break;if(Ae){let Z=V1e(Ae.locator,ve),Pe=e.get(Ae.locator),Re=Pe.target,gt=ie,q=Pe.linkType;if(Z)z.has(Re)||z.set(Re,gt);else if(Re!==gt){let rt=G.parseLocator(Ae.locator);G.isVirtualLocator(rt)&&(rt=G.devirtualizeLocator(rt)),te.push({srcDir:Re,dstDir:gt,linkType:q,realLocatorHash:rt.locatorHash})}}}}for(let[ve,{locations:Ie}]of e.entries())for(let g of Ie){let{locationRoot:Ce,segments:ye}=tF(g,{skipPrefix:o.cwd}),Ae=p.get(Ce),ie=D.get(Ce),Z=Ce,Pe=e.get(ve),Re=G.parseLocator(ve);G.isVirtualLocator(Re)&&(Re=G.devirtualizeLocator(Re));let gt=Re.locatorHash,q=Pe.target,rt=g;if(q===rt)continue;let Te=Pe.linkType;for(let Ne of ye)ie=ie.children.get(Ne);if(!Ae)te.push({srcDir:q,dstDir:rt,linkType:Te,realLocatorHash:gt});else for(let Ne of ye)if(Z=K.join(Z,Ne),Ae=Ae.children.get(Ne),!Ae){te.push({srcDir:q,dstDir:rt,linkType:Te,realLocatorHash:gt});break}}let le=Ws.progressViaCounter(te.length),de=a.reportProgress(le),ce=o.configuration.get("nmMode"),me={value:ce},pe=o.configuration.get("winLinkType");try{let ve=me.value==="hardlinks-global"?`${tG(o.configuration)}/v1`:null;if(ve&&!await ae.existsPromise(ve)){await ae.mkdirpPromise(ve);for(let g=0;g<256;g++)await ae.mkdirPromise(K.join(ve,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!z.has(g.srcDir))&&(z.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:ve,nmMode:me,windowsLinkType:pe,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(b),b.length=0;for(let g of te){let Ce=z.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==Ce&&await T(Ce,g.dstDir,{nmMode:me})}await Promise.all(b),await ae.mkdirPromise(A,{recursive:!0});let Ie=await t1t(e,D,o.cwd,{loadManifest:n});await n1t(h,Ie,o.cwd,pe),await Xwt(o,e,Ie,me,{installChangedByUser:w}),ce=="hardlinks-global"&&me.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{de.stop()}}async function n1t(t,e,r,o){for(let a of t.keys()){if(K.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=K.join(a,xi,eF);await ae.removePromise(n)}}for(let[a,n]of e){if(K.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=K.join(a,xi,eF),A=t.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(K.join(u,p)),process.platform==="win32"&&await ae.removePromise(K.join(u,`${p}.cmd`)));for(let[p,h]of n){let E=A.get(p),w=K.join(u,p);E!==h&&(process.platform==="win32"?await(0,z1e.default)(ue.fromPortablePath(h),ue.fromPortablePath(w),{createPwshFile:!1}):(await ae.removePromise(w),await eG(h,w,o),K.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ve();Pt();sA();var Pv=class extends Vh{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new rG(r)}},rG=class extends gd{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new qs({baseFs:new iA({maxOpenFiles:80,readOnlyArchives:!0})}),a=N1e(r,this.opts.project.cwd,o),{tree:n,errors:u}=pv(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:w,text:D}of u)this.opts.report.reportError(w,D);return}let A=new Map;r.fallbackPool=A;let p=(w,D)=>{let b=G.parseLocator(D.locator),C=G.stringifyIdent(b);C===w?A.set(w,b.reference):A.set(w,[C,b.reference])},h=K.join(this.opts.project.cwd,mr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let w of E.dirList){let D=K.join(h,w),b=n.get(D);if(typeof b>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in b)p(w,b);else for(let C of b.dirList){let T=K.join(D,C),L=n.get(T);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${w}/${C}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var i1t={hooks:{cleanGlobalArtifacts:async t=>{let e=tG(t);await ae.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[Dv,Pv]},s1t=i1t;var t5={};Kt(t5,{NpmHttpFetcher:()=>bv,NpmRemapResolver:()=>Qv,NpmSemverFetcher:()=>np,NpmSemverResolver:()=>kv,NpmTagResolver:()=>Fv,default:()=>Cvt,npmConfigUtils:()=>si,npmHttpUtils:()=>en,npmPublishUtils:()=>JC});Ve();var c2e=et(ni());var Zn="npm:";var en={};Kt(en,{AuthType:()=>o2e,customPackageError:()=>dd,del:()=>m1t,get:()=>md,getIdentUrl:()=>rF,getPackageMetadata:()=>MC,handleInvalidAuthenticationError:()=>Jh,post:()=>g1t,put:()=>d1t});Ve();Ve();Pt();var oG=et(k2()),i2e=et(A8()),s2e=et(ni());var si={};Kt(si,{RegistryType:()=>r2e,getAuditRegistry:()=>o1t,getAuthConfiguration:()=>sG,getDefaultRegistry:()=>Sv,getPublishRegistry:()=>a1t,getRegistryConfiguration:()=>n2e,getScopeConfiguration:()=>iG,getScopeRegistry:()=>LC,normalizeRegistry:()=>uc});var r2e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(r2e||{});function uc(t){return t.replace(/\/$/,"")}function o1t({configuration:t}){return Sv({configuration:t,type:"npmAuditRegistry"})}function a1t(t,{configuration:e}){return t.publishConfig?.registry?uc(t.publishConfig.registry):t.name?LC(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):Sv({configuration:e,type:"npmPublishRegistry"})}function LC(t,{configuration:e,type:r="npmRegistryServer"}){let o=iG(t,{configuration:e});if(o===null)return Sv({configuration:e,type:r});let a=o.get(r);return a===null?Sv({configuration:e,type:r}):uc(a)}function Sv({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return uc(r!==null?r:t.get("npmRegistryServer"))}function n2e(t,{configuration:e}){let r=e.get("npmRegistries"),o=uc(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function iG(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function sG(t,{configuration:e,ident:r}){let o=r&&iG(r.scope,{configuration:e});return o?.get("npmAuthIdent")||o?.get("npmAuthToken")?o:n2e(t,{configuration:e})||e}var o2e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(o2e||{});async function Jh(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){if(iF(t))throw new zt(41,"Invalid OTP token");if(t.originalError?.name==="HTTPError"&&t.originalError?.response.statusCode===401)throw new zt(41,`Invalid authentication (${typeof e!="string"?`as ${await E1t(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function dd(t,e){let r=t.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${fe.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function rF(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}var a2e=new Map,l1t=new Map;async function c1t(t){return await qe.getFactoryWithDefault(a2e,t,async()=>{let e=null;try{e=await ae.readJsonPromise(t)}catch{}return e})}async function u1t(t,e,{configuration:r,cached:o,registry:a,headers:n,version:u,...A}){return await qe.getFactoryWithDefault(l1t,t,async()=>await md(rF(e),{...A,customErrorMessage:dd,configuration:r,registry:a,ident:e,headers:{...n,"If-None-Match":o?.etag,"If-Modified-Since":o?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(o===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:o.metadata}}let E=A1t(JSON.parse(h.body.toString())),w={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return a2e.set(t,Promise.resolve(w)),Promise.resolve().then(async()=>{let D=`${t}-${process.pid}.tmp`;await ae.mkdirPromise(K.dirname(D),{recursive:!0}),await ae.writeJsonPromise(D,w,{compact:!0}),await ae.renamePromise(D,t)}).catch(()=>{}),{...h,body:E}}}))}async function MC(t,{cache:e,project:r,registry:o,headers:a,version:n,...u}){let{configuration:A}=r;o=xv(A,{ident:t,registry:o});let p=p1t(A,o),h=K.join(p,`${G.slugifyIdent(t)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await c1t(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(A.get("enableOfflineMode")){let w=structuredClone(E.metadata),D=new Set;if(e){for(let C of Object.keys(w.versions)){let T=G.makeLocator(t,`npm:${C}`),L=e.getLocatorMirrorPath(T);(!L||!ae.existsSync(L))&&(delete w.versions[C],D.add(C))}let b=w["dist-tags"].latest;if(D.has(b)){let C=Object.keys(E.metadata.versions).sort(s2e.default.compare),T=C.indexOf(b);for(;D.has(C[T])&&T>=0;)T-=1;T>=0?w["dist-tags"].latest=C[T]:delete w["dist-tags"].latest}}return w}}return await u1t(h,t,{...u,configuration:A,cached:E,registry:o,headers:a,version:n})}var l2e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function A1t(t){return{"dist-tags":t["dist-tags"],versions:Object.fromEntries(Object.entries(t.versions).map(([e,r])=>[e,(0,i2e.default)(r,l2e)]))}}var f1t=bn.makeHash(...l2e).slice(0,6);function p1t(t,e){let r=h1t(t),o=new URL(e);return K.join(r,f1t,o.hostname)}function h1t(t){return K.join(t.get("globalFolder"),"metadata/npm")}async function md(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){n=xv(e,{ident:o,registry:n}),o&&o.scope&&typeof a>"u"&&(a=1);let A=await nF(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await on.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Jh(p,{registry:n,configuration:e,headers:r}),p}}async function g1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=xv(o,{ident:n,registry:A});let E=await nF(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...OC(p)});try{return await on.post(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!iF(w)||p)throw await Jh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await aG(w,{configuration:o});let D={...a,...OC(p)};try{return await on.post(`${A}${t}`,e,{configuration:o,headers:D,...h})}catch(b){throw await Jh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function d1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=xv(o,{ident:n,registry:A});let E=await nF(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...OC(p)});try{return await on.put(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!iF(w))throw await Jh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await aG(w,{configuration:o});let D={...a,...OC(p)};try{return await on.put(`${A}${t}`,e,{configuration:o,headers:D,...h})}catch(b){throw await Jh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function m1t(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){u=xv(r,{ident:a,registry:u});let h=await nF(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...OC(A)});try{return await on.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!iF(E)||A)throw await Jh(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await aG(E,{configuration:r});let w={...o,...OC(A)};try{return await on.del(`${u}${t}`,{configuration:r,headers:w,...p})}catch(D){throw await Jh(D,{attemptedAs:e,registry:u,configuration:r,headers:o}),D}}}function xv(t,{ident:e,registry:r}){if(typeof r>"u"&&e)return LC(e.scope,{configuration:t});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return uc(r)}async function nF(t,{authType:e=2,configuration:r,ident:o}){let a=sG(t,{configuration:r,ident:o}),n=y1t(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new zt(33,"No authentication configured for request");return null}function y1t(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function E1t(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await on.get(new URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function aG(t,{configuration:e}){let r=t.originalError?.response.headers["npm-notice"];if(r&&(await Nt.start({configuration:e,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,fe.pretty(e,"$1",fe.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&Xi.openUrl){let{openNow:u}=await(0,oG.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});u&&(await Xi.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` -`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,oG.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` -`),o}function iF(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function OC(t){return{"npm-otp":t}}var bv=class{supports(e,r){if(!e.reference.startsWith(Zn))return!1;let{selector:o,params:a}=G.parseRange(e.reference);return!(!c2e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=G.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await md(o.__archiveUrl,{customErrorMessage:dd,configuration:r.project.configuration,ident:e});return await $i.convertToZip(a,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}};Ve();var Qv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Zn)||!G.tryParseDescriptor(e.range.slice(Zn.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Zn.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Zn.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(G.parseDescriptor(e.range.slice(Zn.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ve();Ve();var u2e=et(ni());var np=class t{supports(e,r){if(!e.reference.startsWith(Zn))return!1;let o=new URL(e.reference);return!(!u2e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await md(t.getLocatorUrl(e),{customErrorMessage:dd,configuration:r.project.configuration,ident:e})}catch{o=await md(t.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:dd,configuration:r.project.configuration,ident:e})}return await $i.convertToZip(o,{configuration:r.project.configuration,prefixPath:G.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=LC(e.scope,{configuration:o}),n=t.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Ur.clean(e.reference.slice(Zn.length));if(r===null)throw new zt(10,"The npm semver resolver got selected, but the version isn't semver");return`${rF(e)}/-/${e.name}-${r}.tgz`}};Ve();Ve();Ve();var lG=et(ni());var sF=G.makeIdent(null,"node-gyp"),C1t=/\b(node-gyp|prebuild-install)\b/,kv=class{supportsDescriptor(e,r){return e.range.startsWith(Zn)?!!Ur.validRange(e.range.slice(Zn.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Zn))return!1;let{selector:o}=G.parseRange(e.reference);return!!lG.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Ur.validRange(e.range.slice(Zn.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(Zn.length)}`);let n=await MC(e,{cache:o.fetchOptions?.cache,project:o.project,version:lG.default.valid(a.raw)?a.raw:void 0}),u=qe.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Ur.SemVer(h);if(a.test(E))return E}catch{}return qe.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=G.makeLocator(e,`${Zn}${h.raw}`),w=n.versions[h.raw].dist.tarball;return np.isConventionalTarballUrl(E,w,{configuration:o.project.configuration})?E:G.bindLocator(E,{__archiveUrl:w})})}async getSatisfying(e,r,o,a){let n=Ur.validRange(e.range.slice(Zn.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Zn.length)}`);return{locators:qe.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return qe.mapAndFilter.skip;let h=G.tryParseRange(p.reference,{requireProtocol:Zn});if(!h)return qe.mapAndFilter.skip;let E=new Ur.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:qe.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=G.parseRange(e.reference),a=Ur.clean(o);if(a===null)throw new zt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await MC(e,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new zt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new zt(16,`Registry failed to return reference "${a}"`);let u=new _t;if(u.load(n.versions[a]),!u.dependencies.has(sF.identHash)&&!u.peerDependencies.has(sF.identHash)){for(let A of u.scripts.values())if(A.match(C1t)){u.dependencies.set(sF.identHash,G.makeDescriptor(sF,"latest"));break}}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ve();Ve();var A2e=et(ni());var Fv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Zn)||!ky.test(e.range.slice(Zn.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Zn.length),n=await MC(e,{cache:o.fetchOptions?.cache,project:o.project});if(!Object.hasOwn(n,"dist-tags"))throw new zt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.hasOwn(u,a))throw new zt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=G.makeLocator(e,`${Zn}${A}`),h=n.versions[A].dist.tarball;return np.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[G.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){let n=[];for(let u of o){if(u.identHash!==e.identHash)continue;let A=G.tryParseRange(u.reference,{requireProtocol:Zn});if(!(!A||!A2e.default.valid(A.selector))){if(A.params?.__archiveUrl){let p=G.makeRange({protocol:Zn,selector:A.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(G.makeDescriptor(e,p),r,a);if(u.reference!==h.reference)continue}n.push(u)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var JC={};Kt(JC,{getGitHead:()=>yvt,getPublishAccess:()=>eve,getReadmeContent:()=>tve,makePublishBody:()=>mvt});Ve();Ve();Pt();var JG={};Kt(JG,{PackCommand:()=>zC,default:()=>$Bt,packUtils:()=>BA});Ve();Ve();Ve();Pt();Gt();var BA={};Kt(BA,{genPackList:()=>xF,genPackStream:()=>zG,genPackageManifest:()=>qBe,hasPackScripts:()=>KG,prepareForPack:()=>VG});Ve();Pt();var YG=et(Xo()),_Be=et(LBe()),HBe=De("zlib"),qBt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],jBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function KG(t){return!!(hn.hasWorkspaceScript(t,"prepack")||hn.hasWorkspaceScript(t,"postpack"))}async function VG(t,{report:e},r){await hn.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=K.join(t.cwd,_t.fileName);await ae.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await hn.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function zG(t,e){typeof e>"u"&&(e=await xF(t));let r=new Set;for(let n of t.manifest.publishConfig?.executableFiles??new Set)r.add(K.normalize(n));for(let n of t.manifest.bin.values())r.add(K.normalize(n));let o=_Be.default.pack();process.nextTick(async()=>{for(let n of e){let u=K.normalize(n),A=K.resolve(t.cwd,u),p=K.join("package",u),h=await ae.lstatPromise(A),E={name:p,mtime:new Date(Pi.SAFE_TIME*1e3)},w=r.has(u)?493:420,D,b,C=new Promise((L,U)=>{D=L,b=U}),T=L=>{L?b(L):D()};if(h.isFile()){let L;u==="package.json"?L=Buffer.from(JSON.stringify(await qBe(t),null,2)):L=await ae.readFilePromise(A),o.entry({...E,mode:w,type:"file"},L,T)}else h.isSymbolicLink()?o.entry({...E,mode:w,type:"symlink",linkname:await ae.readlinkPromise(A)},T):T(new Error(`Unsupported file type ${h.mode} for ${ue.fromPortablePath(u)}`));await C}o.finalize()});let a=(0,HBe.createGzip)();return o.pipe(a),a}async function qBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function xF(t){let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let w of jBt)o.reject.push(w);for(let w of qBt)o.accept.push(w);o.reject.push(r.get("rcFilename"));let a=w=>{if(w===null||!w.startsWith(`${t.cwd}/`))return;let D=K.relative(t.cwd,w),b=K.resolve(Bt.root,D);o.reject.push(b)};a(K.resolve(e.cwd,mr.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(w=>w.populateYarnPaths,e,w=>{a(w)});for(let w of e.workspaces){let D=K.relative(t.cwd,w.cwd);D!==""&&!D.match(/^(\.\.)?\//)&&o.reject.push(`/${D}`)}let n={accept:[],reject:[]},u=t.manifest.publishConfig?.main??t.manifest.main,A=t.manifest.publishConfig?.module??t.manifest.module,p=t.manifest.publishConfig?.browser??t.manifest.browser,h=t.manifest.publishConfig?.bin??t.manifest.bin;u!=null&&n.accept.push(K.resolve(Bt.root,u)),A!=null&&n.accept.push(K.resolve(Bt.root,A)),typeof p=="string"&&n.accept.push(K.resolve(Bt.root,p));for(let w of h.values())n.accept.push(K.resolve(Bt.root,w));if(p instanceof Map)for(let[w,D]of p.entries())n.accept.push(K.resolve(Bt.root,w)),typeof D=="string"&&n.accept.push(K.resolve(Bt.root,D));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let w of t.manifest.files)jBe(n.accept,w,{cwd:Bt.root})}return await GBt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function GBt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new Gu(t),u=[[Bt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!MBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),w=!1,D=!1;if(!e||A!==Bt.root)for(let T of E)w=w||T===".gitignore",D=D||T===".npmignore";let b=D?await OBe(n,A,".npmignore"):w?await OBe(n,A,".gitignore"):null,C=b!==null?[b].concat(p):p;MBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let T of E)u.push([K.resolve(A,T),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(K.relative(Bt.root,A))}return a.sort()}async function OBe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(K.join(e,r),"utf8");for(let n of a.split(/\n/g))jBe(o.reject,n,{cwd:e});return o}function WBt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=K.resolve(e,t)),r&&(t=`!${t}`),t}function jBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(WBt(o,{cwd:r}))}function MBe(t,{globalList:e,ignoreLists:r}){let o=SF(t,e.accept);if(o!==0)return o===2;let a=SF(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=SF(t,n.accept);if(u!==0)return u===2;let A=SF(t,n.reject);if(A!==0)return A===1}return!1}function SF(t,e){let r=e,o=[];for(let a=0;a{await VG(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await xF(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await zG(a,h);await ae.mkdirPromise(K.dirname(u),{recursive:!0});let w=ae.createWriteStream(u);E.pipe(w),await new Promise(D=>{w.on("finish",D)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${fe.pretty(r,u,fe.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(u)}))})).exitCode()}};function YBt(t,{workspace:e}){let r=t.replace("%s",KBt(e)).replace("%v",VBt(e));return ue.toPortablePath(r)}function KBt(t){return t.manifest.name!==null?G.slugifyIdent(t.manifest.name):"package"}function VBt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var zBt=["dependencies","devDependencies","peerDependencies"],JBt="workspace:",XBt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of zBt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=G.parseRange(a.range);if(u.protocol===JBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new zt(21,`${G.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;G.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?G.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][G.stringifyIdent(a)]=A}}},ZBt={hooks:{beforeWorkspacePacking:XBt},commands:[zC]},$Bt=ZBt;var ZBe=De("crypto"),$Be=et(XBe());async function mvt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.manifest.name,A=t.manifest.version,p=G.stringifyIdent(u),h=(0,ZBe.createHash)("sha1").update(e).digest("hex"),E=$Be.default.fromData(e).toString(),w=r??eve(t,u),D=await tve(t),b=await BA.genPackageManifest(t),C=`${p}-${A}.tgz`,T=new URL(`${uc(a)}/${p}/-/${C}`);return{_id:p,_attachments:{[C]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:p,access:w,"dist-tags":{[o]:A},versions:{[A]:{...b,_id:`${p}@${A}`,name:p,version:A,gitHead:n,dist:{shasum:h,integrity:E,tarball:T.toString()}}},readme:D}}async function yvt(t){try{let{stdout:e}=await Hr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}function eve(t,e){let r=t.project.configuration;return t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?t.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):e.scope?"restricted":"public"}async function tve(t){let e=ue.toPortablePath(`${t.cwd}/README.md`),r=t.manifest.name,a=`# ${G.stringifyIdent(r)} -`;try{a=await ae.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var e5={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},rve={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},Evt={configuration:{...e5,...rve,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...e5,...rve}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:uc,valueDefinition:{description:"",type:"SHAPE",properties:{...e5}}}},fetchers:[bv,np],resolvers:[Qv,kv,Fv]},Cvt=Evt;var u5={};Kt(u5,{NpmAuditCommand:()=>ZC,NpmInfoCommand:()=>$C,NpmLoginCommand:()=>eI,NpmLogoutCommand:()=>rI,NpmPublishCommand:()=>nI,NpmTagAddCommand:()=>sI,NpmTagListCommand:()=>iI,NpmTagRemoveCommand:()=>oI,NpmWhoamiCommand:()=>aI,default:()=>Svt,npmAuditTypes:()=>Xv,npmAuditUtils:()=>bF});Ve();Ve();Gt();var o5=et(Xo());il();var Xv={};Kt(Xv,{Environment:()=>zv,Severity:()=>Jv});var zv=(o=>(o.All="all",o.Production="production",o.Development="development",o))(zv||{}),Jv=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Jv||{});var bF={};Kt(bF,{allSeverities:()=>XC,getPackages:()=>s5,getReportTree:()=>n5,getSeverityInclusions:()=>r5,getTopLevelDependencies:()=>i5});Ve();var nve=et(ni());var XC=["info","low","moderate","high","critical"];function r5(t){if(typeof t>"u")return new Set(XC);let e=XC.indexOf(t),r=XC.slice(e);return new Set(r)}function n5(t){let e={},r={children:e};for(let[o,a]of qe.sortMap(Object.entries(t),n=>n[0]))for(let n of qe.sortMap(a,u=>`${u.id}`))e[`${o}/${n.id}`]={value:fe.tuple(fe.Type.IDENT,G.parseIdent(o)),children:{ID:typeof n.id<"u"&&{label:"ID",value:fe.tuple(fe.Type.ID,n.id)},Issue:{label:"Issue",value:fe.tuple(fe.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:fe.tuple(fe.Type.URL,n.url)},Severity:{label:"Severity",value:fe.tuple(fe.Type.NO_HINT,n.severity)},"Vulnerable Versions":{label:"Vulnerable Versions",value:fe.tuple(fe.Type.RANGE,n.vulnerable_versions)},"Tree Versions":{label:"Tree Versions",children:[...n.versions].sort(nve.default.compare).map(u=>({value:fe.tuple(fe.Type.REFERENCE,u)}))},Dependents:{label:"Dependents",children:qe.sortMap(n.dependents,u=>G.stringifyLocator(u)).map(u=>({value:fe.tuple(fe.Type.LOCATOR,u)}))}}};return r}function i5(t,e,{all:r,environment:o}){let a=[],n=r?t.workspaces:[e],u=["all","production"].includes(o),A=["all","development"].includes(o);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!A:!u)||a.push({workspace:p,dependency:h});return a}function s5(t,e,{recursive:r}){let o=new Map,a=new Set,n=[],u=(A,p)=>{let h=t.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let E=t.storedPackages.get(h);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");if(G.ensureDevirtualizedLocator(E).reference.startsWith("npm:")&&E.version!==null){let D=G.stringifyIdent(E),b=qe.getMapWithDefault(o,D);qe.getArrayWithDefault(b,E.version).push(A)}if(r)for(let D of E.dependencies.values())n.push([E,D])};for(let{workspace:A,dependency:p}of e)n.push([A.anchoredLocator,p]);for(;n.length>0;){let[A,p]=n.shift();u(A,p)}return o}var ZC=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=ge.String("--environment","all",{description:"Which environments to cover",validator:js(zv)});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=ge.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=ge.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:js(Jv)});this.excludes=ge.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=ge.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}static{this.paths=[["npm","audit"]]}static{this.usage=ot.Usage({description:"perform a vulnerability audit against the installed packages",details:` - This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). - - For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. - - Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${XC.map(r=>`\`${r}\``).join(", ")}. - - If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. - - If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. - - If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. - - To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=i5(o,a,{all:this.all,environment:this.environment}),u=s5(o,n,{recursive:this.recursive}),A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[L,U]of u)A.some(z=>o5.default.isMatch(L,z))||(p[L]=[...U.keys()]);let h=si.getAuditRegistry({configuration:r}),E,w=await pA.start({configuration:r,stdout:this.context.stdout},async()=>{let L=en.post("/-/npm/v1/security/advisories/bulk",p,{authType:en.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,le])=>{let de=await en.getPackageMetadata(G.parseIdent(te),{project:o});return qe.mapAndFilter(le,ce=>{let{deprecated:me}=de.versions[ce];return me?[te,ce,me]:qe.mapAndFilter.skip})})),z=await L;for(let[te,le,de]of U.flat(1))Object.hasOwn(z,te)&&z[te].some(ce=>Ur.satisfiesWithPrereleases(le,ce.vulnerable_versions))||(z[te]??=[],z[te].push({id:`${te} (deprecation)`,title:(typeof de=="string"?de:"").trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:le}));E=z});if(w.hasErrors())return w.exitCode();let D=r5(this.severity),b=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),C=Object.create(null);for(let[L,U]of Object.entries(E)){let z=U.filter(te=>!o5.default.isMatch(`${te.id}`,b)&&D.has(te.severity));z.length>0&&(C[L]=z.map(te=>{let le=u.get(L);if(typeof le>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let de=[...le.keys()].filter(me=>Ur.satisfiesWithPrereleases(me,te.vulnerable_versions)),ce=new Map;for(let me of de)for(let pe of le.get(me))ce.set(pe.locatorHash,pe);return{...te,versions:de,dependents:[...ce.values()]}}))}let T=Object.keys(C).length>0;return T?(As.emitTree(n5(C),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async L=>{L.reportInfo(1,"No audit suggestions")}),T?1:0)}};Ve();Ve();Pt();Gt();var a5=et(ni()),l5=De("util"),$C=class extends ut{constructor(){super(...arguments);this.fields=ge.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=ge.Rest()}static{this.paths=[["npm","info"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Nt.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let le=o.topLevelWorkspace;if(!le.manifest.name)throw new nt(`Missing ${fe.pretty(r,"name",fe.Type.CODE)} field in ${ue.fromPortablePath(K.join(le.cwd,mr.manifest))}`);E=G.makeDescriptor(le.manifest.name,"unknown")}else E=G.parseDescriptor(h);let w=en.getIdentUrl(E),D=c5(await en.get(w,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:en.customPackageError})),b=Object.keys(D.versions).sort(a5.default.compareLoose),T=D["dist-tags"].latest||b[b.length-1],L=Ur.validRange(E.range);if(L){let le=a5.default.maxSatisfying(b,L);le!==null?T=le:(p.reportWarning(0,`Unmet range ${G.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.hasOwn(D["dist-tags"],E.range)?T=D["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${G.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let U=D.versions[T],z={...D,...U,version:T,versions:b},te;if(a!==null){te={};for(let le of a){let de=z[le];if(typeof de<"u")te[le]=de;else{p.reportWarning(1,`The ${fe.pretty(r,le,fe.Type.CODE)} field doesn't exist inside ${G.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete z.dist,delete z.readme,delete z.users),te=z;p.reportJson(te),this.json||n.push(te)}});l5.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` -`),this.context.stdout.write(`${(0,l5.inspect)(p,{depth:1/0,colors:!0,compact:!1})} -`);return A.exitCode()}};function c5(t){if(Array.isArray(t)){let e=[];for(let r of t)r=c5(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=c5(t[r]);o&&(e[r]=o)}return e}else return t||null}Ve();Ve();Gt();var ive=et(k2()),eI=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=ge.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}static{this.paths=[["npm","login"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=await QF({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Nt.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await Bvt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=await Ivt(o,u,r);return await wvt(o,A,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};async function QF({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?si.getScopeRegistry(t,{configuration:r,type:si.RegistryType.PUBLISH_REGISTRY}):t?si.getScopeRegistry(t,{configuration:r}):e?si.getPublishRegistry((await cE(r,o)).manifest,{configuration:r}):si.getDefaultRegistry({configuration:r})}async function Ivt(t,e,r){let o=`/-/user/org.couchdb.user:${encodeURIComponent(e.name)}`,a={_id:`org.couchdb.user:${e.name}`,name:e.name,password:e.password,type:"user",roles:[],date:new Date().toISOString()},n={attemptedAs:e.name,configuration:r,registry:t,jsonResponse:!0,authType:en.AuthType.NO_AUTH};try{return(await en.put(o,a,n)).token}catch(E){if(!(E.originalError?.name==="HTTPError"&&E.originalError?.response.statusCode===409))throw E}let u={...n,authType:en.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${e.name}:${e.password}`).toString("base64")}`}},A=await en.get(o,u);for(let[E,w]of Object.entries(A))(!a[E]||E==="roles")&&(a[E]=w);let p=`${o}/-rev/${a._rev}`;return(await en.put(p,a,u)).token}async function wvt(t,e,{alwaysAuth:r,scope:o}){let a=u=>A=>{let p=qe.isIndexableObject(A)?A:{},h=p[u],E=qe.isIndexableObject(h)?h:{};return{...p,[u]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Je.updateHomeConfiguration(n)}async function Bvt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${fe.pretty(t,e,fe.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),t.env.YARN_IS_TEST_ENV)return{name:t.env.YARN_INJECT_NPM_USER||"",password:t.env.YARN_INJECT_NPM_PASSWORD||""};let u=await(0,ive.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),u}Ve();Ve();Gt();var tI=new Set(["npmAuthIdent","npmAuthToken"]),rI=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=ge.Boolean("-A,--all",!1,{description:"Logout of all registries"})}static{this.paths=[["npm","logout"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await QF({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Je.find(this.context.cwd,this.context.plugins),A=G.makeIdent(this.scope??null,"pkg");return!si.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await Dvt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await sve("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await QF({configuration:r,cwd:this.context.cwd,publish:this.publish});await sve("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};function vvt(t,e){let r=t[e];if(!qe.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...tI].every(n=>!o.has(n)))return!1;for(let n of tI)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of tI)delete a[n];return t[e]=a,!0}async function Dvt(){let t=e=>{let r=!1,o=qe.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))vvt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Je.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function sve(t,e){return await Je.updateHomeConfiguration({[t]:r=>{let o=qe.isIndexableObject(r)?r:{};if(!Object.hasOwn(o,e))return r;let a=o[e],n=qe.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...tI].every(p=>!u.has(p)))return r;for(let p of tI)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of tI)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ve();Gt();var nI=class extends ut{constructor(){super(...arguments);this.access=ge.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=ge.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=ge.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=ge.String("--otp",{description:"The OTP token to use with the command"})}static{this.paths=[["npm","publish"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overridden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);if(a.manifest.private)throw new nt("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new nt("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=si.getPublishRegistry(a.manifest,{configuration:r});return(await Nt.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let E=await en.get(en.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new zt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await hn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await BA.prepareForPack(a,{report:h},async()=>{let E=await BA.genPackList(a);for(let T of E)h.reportInfo(null,T);let w=await BA.genPackStream(a,E),D=await qe.bufferStream(w),b=await JC.getGitHead(a.cwd),C=await JC.makePublishBody(a,D,{access:this.access,tag:this.tag,registry:A,gitHead:b});await en.put(en.getIdentUrl(n),C,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};Ve();Gt();var ove=et(ni());Ve();Pt();Gt();var iI=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String({required:!1})}static{this.paths=[["npm","tag","list"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` - This command will list all tags of a package from the npm registry. - - If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n;if(typeof this.package<"u")n=G.parseIdent(this.package);else{if(!a)throw new or(o.cwd,this.context.cwd);if(!a.manifest.name)throw new nt(`Missing 'name' field in ${ue.fromPortablePath(K.join(a.cwd,mr.manifest))}`);n=a.manifest.name}let u=await Zv(n,r),p={children:qe.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:fe.tuple(fe.Type.RESOLUTION,{descriptor:G.makeDescriptor(n,h),locator:G.makeLocator(n,E)})}))};return As.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};async function Zv(t,e){let r=`/-/package${en.getIdentUrl(t)}/dist-tags`;return en.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:en.customPackageError})}var sI=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}static{this.paths=[["npm","tag","add"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` - This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=G.parseDescriptor(this.package,!0),u=n.range;if(!ove.default.valid(u))throw new nt(`The range ${fe.pretty(r,n.range,fe.Type.RANGE)} must be a valid semver version`);let A=si.getPublishRegistry(a.manifest,{configuration:r}),p=fe.pretty(r,n,fe.Type.IDENT),h=fe.pretty(r,u,fe.Type.RANGE),E=fe.pretty(r,this.tag,fe.Type.CODE);return(await Nt.start({configuration:r,stdout:this.context.stdout},async D=>{let b=await Zv(n,r);Object.hasOwn(b,this.tag)&&b[this.tag]===u&&D.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${en.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await en.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),D.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};Ve();Gt();var oI=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}static{this.paths=[["npm","tag","remove"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` - This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]})}async execute(){if(this.tag==="latest")throw new nt("The 'latest' tag cannot be removed.");let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=G.parseIdent(this.package),u=si.getPublishRegistry(a.manifest,{configuration:r}),A=fe.pretty(r,this.tag,fe.Type.CODE),p=fe.pretty(r,n,fe.Type.IDENT),h=await Zv(n,r);if(!Object.hasOwn(h,this.tag))throw new nt(`${A} is not a tag of package ${p}`);return(await Nt.start({configuration:r,stdout:this.context.stdout},async w=>{let D=`/-/package${en.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await en.del(D,{configuration:r,registry:u,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};Ve();Ve();Gt();var aI=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Print username for the publish registry"})}static{this.paths=[["npm","whoami"]]}static{this.usage=ot.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=si.getScopeRegistry(this.scope,{configuration:r,type:si.RegistryType.PUBLISH_REGISTRY}):this.scope?o=si.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=si.getPublishRegistry((await cE(r,this.context.cwd)).manifest,{configuration:r}):o=si.getDefaultRegistry({configuration:r}),(await Nt.start({configuration:r,stdout:this.context.stdout},async n=>{let u;try{u=await en.get("/-/whoami",{configuration:r,registry:o,authType:en.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?G.makeIdent(this.scope,""):void 0})}catch(A){if(A.response?.statusCode===401||A.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw A}n.reportInfo(0,u.username)})).exitCode()}};var Pvt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[ZC,$C,eI,rI,nI,sI,iI,oI,aI]},Svt=Pvt;var m5={};Kt(m5,{PatchCommand:()=>pI,PatchCommitCommand:()=>fI,PatchFetcher:()=>nD,PatchResolver:()=>iD,default:()=>Wvt,patchUtils:()=>Bd});Ve();Ve();Pt();sA();var Bd={};Kt(Bd,{applyPatchFile:()=>FF,diffFolders:()=>g5,ensureUnpatchedDescriptor:()=>A5,ensureUnpatchedLocator:()=>TF,extractPackageToDisk:()=>h5,extractPatchFlags:()=>pve,isParentRequired:()=>p5,isPatchDescriptor:()=>RF,isPatchLocator:()=>o0,loadPatchFiles:()=>rD,makeDescriptor:()=>NF,makeLocator:()=>f5,makePatchHash:()=>d5,parseDescriptor:()=>eD,parseLocator:()=>tD,parsePatchFile:()=>$v,unpatchDescriptor:()=>qvt,unpatchLocator:()=>jvt});Ve();Pt();Ve();Pt();var xvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function lI(t){return K.relative(Bt.root,K.resolve(Bt.root,ue.toPortablePath(t)))}function bvt(t){let e=t.trim().match(xvt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var Qvt=420,kvt=493;var ave=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),Fvt=t=>({header:bvt(t),parts:[]}),Rvt={"@":"header","-":"deletion","+":"insertion"," ":"context","\\":"pragma",undefined:"context"};function Tvt(t){let e=[],r=ave(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=ave()}for(let p=0;p0?"patch":"mode change",z=null;switch(U){case"rename":{if(!E||!w)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:lI(E),toPath:lI(w)}),z=w}break;case"file deletion":{let te=a||C;if(!te)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:lI(te),mode:kF(p),hash:D})}break;case"file creation":{let te=n||T;if(!te)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:lI(te),mode:kF(h),hash:b})}break;case"patch":case"mode change":z=T||n;break;default:qe.assertNever(U);break}z&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:lI(z),oldMode:kF(u),newMode:kF(A)}),z&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:lI(z),hunks:L,beforeHash:D,afterHash:b})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function kF(t){let e=parseInt(t,8)&511;if(e!==Qvt&&e!==kvt)throw new Error(`Unexpected file mode string: ${t}`);return e}function $v(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),Nvt(Tvt(e))}function Lvt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:qe.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ve();Pt();var cI=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function uI(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function FF(t,{baseFs:e=new _n,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Ur.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await uI(e,K.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await uI(e,K.dirname(a.fromPath),async()=>{await uI(e,K.dirname(a.toPath),async()=>{await uI(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` -`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await e.mkdirpPromise(K.dirname(a.path),{chmod:493,utimes:[Pi.SAFE_TIME,Pi.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Pi.SAFE_TIME,Pi.SAFE_TIME)}break;case"patch":await uI(e,a.path,async()=>{await Uvt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(lve(a.newMode)!==lve(u))continue;await uI(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:qe.assertNever(a);break}}function lve(t){return(t&64)>0}function cve(t){return t.replace(/\s+$/,"")}function Mvt(t,e){return cve(t)===cve(e)}async function Uvt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let w of t){let D=Math.max(h,w.header.patched.start+p),b=Math.max(0,D-h),C=Math.max(0,u.length-D-w.header.original.length),T=Math.max(b,C),L=0,U=0,z=null;for(;L<=T;){if(L<=b&&(U=D-L,z=uve(w,u,U),z!==null)){L=-L;break}if(L<=C&&(U=D+L,z=uve(w,u,U),z!==null))break;L+=1}if(z===null)throw new cI(t.indexOf(w),w);A.push(z),p+=L,h=U+w.header.original.length}if(o)return;let E=0;for(let w of A)for(let D of w)switch(D.type){case"splice":{let b=D.index+E;u.splice(b,D.numToDelete,...D.linesToInsert),E+=D.linesToInsert.length-D.numToDelete}break;case"pop":u.pop();break;case"push":u.push(D.line);break;default:qe.assertNever(D);break}await r.writeFilePromise(e,u.join(` -`),{mode:a})}function uve(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!Mvt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:qe.assertNever(a.type);break}return o}var Hvt=/^builtin<([^>]+)>$/;function AI(t,e){let{protocol:r,source:o,selector:a,params:n}=G.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?G.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function RF(t){return t.range.startsWith("patch:")}function o0(t){return t.reference.startsWith("patch:")}function eD(t){let{sourceItem:e,...r}=AI(t.range,G.parseDescriptor);return{...r,sourceDescriptor:e}}function tD(t){let{sourceItem:e,...r}=AI(t.reference,G.parseLocator);return{...r,sourceLocator:e}}function qvt(t){let{sourceItem:e}=AI(t.range,G.parseDescriptor);return e}function jvt(t){let{sourceItem:e}=AI(t.reference,G.parseLocator);return e}function A5(t){if(!RF(t))return t;let{sourceItem:e}=AI(t.range,G.parseDescriptor);return e}function TF(t){if(!o0(t))return t;let{sourceItem:e}=AI(t.reference,G.parseLocator);return e}function Ave({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:G.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return G.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function NF(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return G.makeDescriptor(t,Ave({parentLocator:e,sourceItem:r,patchPaths:o},G.stringifyDescriptor))}function f5(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return G.makeLocator(t,Ave({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},G.stringifyLocator))}function fve({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(Hvt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):K.isAbsolute(a)?t(a):e(a)}function pve(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function p5(t){return fve({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function rD(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new En(Bt.root),prefixPath:K.relative(Bt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await qe.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=pve(u),p=await fve({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(K.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(K.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` -`));return n}async function h5(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=TF(t),n=r.storedChecksums,u=new Ri,A=await ae.mktempPromise(),p=K.join(A,"source"),h=K.join(A,"user"),E=K.join(A,".yarn-patch.json"),w=r.configuration.makeFetcher(),D=[];try{let b,C;if(t.locatorHash===a.locatorHash){let T=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u});D.push(()=>T.releaseFs?.()),b=T,C=T}else b=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),D.push(()=>b.releaseFs?.()),C=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),D.push(()=>C.releaseFs?.());await Promise.all([ae.copyPromise(p,b.prefixPath,{baseFs:b.packageFs}),ae.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),ae.writeJsonPromise(E,{locator:G.stringifyLocator(t),version:o.version})])}finally{for(let b of D)b()}return ae.detachTemp(A),h}async function g5(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),o=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Hr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. -The following error was reported by 'git': -${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${qe.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${qe.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(qe.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(qe.escapeRegExp(`${o}/`),"g"),"")}function d5(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=$v(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Ur.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return bn.makeHash(`${3}`,...r).slice(0,6)}Ve();function hve(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${fe.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${fe.pretty(e,a,fe.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${fe.pretty(e,a,fe.Type.ADDED)}`);break;default:qe.assertNever(o.type)}}var nD=class{supports(e,r){return!!o0(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${G.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:G.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=tD(e),A=await rD(o,u,r),p=await ae.mktempPromise(),h=K.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),w=G.getIdentVendorPath(e),D=new Zi(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await qe.releaseAfterUseAsync(async()=>{await D.copyPromise(w,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),D.saveAndClose();for(let{source:b,optional:C}of A){if(b===null)continue;let T=new Zi(h,{level:r.project.configuration.get("compressionLevel")}),L=new En(K.resolve(Bt.root,w),{baseFs:T});try{await FF($v(b),{baseFs:L,version:n})}catch(U){if(!(U instanceof cI))throw U;let z=r.project.configuration.get("enableInlineHunks"),te=!z&&!C?" (set enableInlineHunks for details)":"",le=`${G.prettyLocator(r.project.configuration,e)}: ${U.message}${te}`,de=ce=>{z&&hve(U.hunk,{configuration:r.project.configuration,report:ce})};if(T.discardAndClose(),C){r.report.reportWarningOnce(66,le,{reportExtra:de});continue}else throw new zt(66,le,de)}T.saveAndClose()}return new Zi(h,{level:r.project.configuration.get("compressionLevel")})}};Ve();var iD=class{supportsDescriptor(e,r){return!!RF(e)}supportsLocator(e,r){return!!o0(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=eD(e);return a.every(n=>!p5(n))?e:G.bindDescriptor(e,{locator:G.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=eD(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=eD(e),u=await rD(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=d5(u,A.version);return[f5(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=tD(e);return{...await r.resolver.resolve(o,r),...e}}};Ve();Pt();Gt();var fI=class extends ut{constructor(){super(...arguments);this.save=ge.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=ge.String()}static{this.paths=[["patch-commit"]]}static{this.usage=ot.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=K.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),u=K.join(n,"../source"),A=K.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new nt("The argument folder didn't get created by 'yarn patch'");let p=await g5(u,n),h=await ae.readJsonPromise(A),E=G.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new nt("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let w=r.get("patchFolder"),D=K.join(w,`${G.slugifyLocator(E)}.patch`);await ae.mkdirPromise(w,{recursive:!0}),await ae.writeFilePromise(D,p);let b=[],C=new Map;for(let T of o.storedPackages.values()){if(G.isVirtualLocator(T))continue;let L=T.dependencies.get(E.identHash);if(!L)continue;let U=G.ensureDevirtualizedDescriptor(L),z=A5(U),te=o.storedResolutions.get(z.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let de=o.tryWorkspaceByLocator(T);if(de)b.push(de);else{let ce=o.originalPackages.get(T.locatorHash);if(!ce)throw new Error("Assertion failed: Expected the original package to have been registered");let me=ce.dependencies.get(L.identHash);if(!me)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(me.descriptorHash,me)}}for(let T of b)for(let L of _t.hardDependencies){let U=T.manifest[L].get(E.identHash);if(!U)continue;let z=NF(U,{parentLocator:null,sourceDescriptor:G.convertLocatorToDescriptor(E),patchPaths:[K.join(mr.home,K.relative(o.cwd,D))]});T.manifest[L].set(U.identHash,z)}for(let T of C.values()){let L=NF(T,{parentLocator:null,sourceDescriptor:G.convertLocatorToDescriptor(E),patchPaths:[K.join(mr.home,K.relative(o.cwd,D))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:G.stringifyIdent(L),description:T.range}},reference:L.range})}await o.persist()}};Ve();Pt();Gt();var pI=class extends ut{constructor(){super(...arguments);this.update=ge.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String()}static{this.paths=[["patch"]]}static{this.usage=ot.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let u=G.parseLocator(this.package);if(u.reference==="unknown"){let A=qe.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?qe.mapAndFilter.skip:G.isVirtualLocator(p)?qe.mapAndFilter.skip:o0(p)!==this.update?qe.mapAndFilter.skip:p);if(A.length===0)throw new nt("No package found in the project for the given locator");if(A.length>1)throw new nt(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): -${A.map(p=>` -- ${G.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new nt("No package found in the project for the given locator");await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=TF(u),h=await h5(u,{cache:n,project:o});A.reportJson({locator:G.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${G.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${fe.pretty(r,ue.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${fe.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};var Gvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[fI,pI],fetchers:[nD],resolvers:[iD]},Wvt=Gvt;var C5={};Kt(C5,{PnpmLinker:()=>sD,default:()=>Xvt});Ve();Pt();Gt();var sD=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new nt(`The project in ${fe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,fe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new nt(`Couldn't find ${G.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new nt(`The project in ${fe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,fe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=K.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new y5(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},y5=class{constructor(e){this.opts=e;this.asyncActions=new qe.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=$D(ae,{indexPath:K.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=K.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?K.join(a,mr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,o){let a=Kvt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,G.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=G.isVirtualLocator(e)?G.devirtualizeLocator(e):e,p={manifest:await _t.tryFind(r.prefixPath,{baseFs:r.packageFs})??new _t,misc:{hasBindingGyp:CA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=CA.extractBuildRequest(e,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!gve(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;a&&this.asyncActions.reduce(e.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await Vvt(a),A=new Map(u),p=[n],h=(w,D)=>{let b=D;gve(D,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),b=G.devirtualizeLocator(D));let C=this.customData.pathsByLocator.get(b.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${G.stringifyLocator(D)})`);let T=G.stringifyIdent(w),L=K.join(a,T),U=K.relative(K.dirname(L),C.packageLocation),z=A.get(T);A.delete(T),p.push(Promise.resolve().then(async()=>{if(z){if(z.isSymbolicLink()&&await ae.readlinkPromise(L)===U)return;await ae.removePromise(L)}await ae.mkdirpPromise(K.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(C.packageLocation,L,"junction"):await ae.symlinkPromise(U,L)}))},E=!1;for(let[w,D]of r)w.identHash===e.identHash&&(E=!0),h(w,D);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(G.convertLocatorToDescriptor(e),e),p.push(zvt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=dve(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(e);else{let r;try{r=new Set(await ae.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=K.contains(e,o);if(a===null)continue;let[n]=a.split(K.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(K.join(e,o))}))}return await this.asyncActions.wait(),await E5(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await E5(Yvt(this.opts.project)),{customData:this.customData}}};function Yvt(t){return K.join(t.cwd,mr.nodeModules)}function dve(t){return t.configuration.get("pnpmStoreFolder")}function Kvt(t,{project:e}){let r=G.slugifyLocator(t),o=dve(e),a=K.join(o,r,"package"),n=K.join(o,r,mr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function gve(t,{project:e}){return!G.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Vvt(t){let e=new Map,r=[];try{r=await ae.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(K.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function zvt(t,e){let r=[],o=new Set;for(let a of e.keys()){r.push(ae.removePromise(K.join(t,a)));let n=G.tryParseIdent(a)?.scope;n&&o.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...o].map(a=>E5(K.join(t,a)))))}async function E5(t){try{await ae.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var Jvt={configuration:{pnpmStoreFolder:{description:"By default, the store is stored in the 'node_modules/.store' of the project. Sometimes in CI scenario's it is convenient to store this in a different location so it can be cached and reused.",type:"ABSOLUTE_PATH",default:"./node_modules/.store"}},linkers:[sD]},Xvt=Jvt;var S5={};Kt(S5,{StageCommand:()=>hI,default:()=>lDt,stageUtils:()=>OF});Ve();Pt();Gt();Ve();Pt();var OF={};Kt(OF,{ActionType:()=>I5,checkConsensus:()=>LF,expandDirectory:()=>v5,findConsensus:()=>D5,findVcsRoot:()=>w5,genCommitMessage:()=>P5,getCommitPrefix:()=>mve,isYarnFile:()=>B5});Pt();var I5=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(I5||{});async function w5(t,{marker:e}){do if(!ae.existsSync(K.join(t,e)))t=K.dirname(t);else return t;while(t!=="/");return null}function B5(t,{roots:e,names:r}){if(r.has(K.basename(t)))return!0;do if(!e.has(t))t=K.dirname(t);else return!0;while(t!=="/");return!1}function v5(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=K.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function LF(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function D5(t){let e=LF(t,/^(\w\(\w+\):\s*)?\w+s/),r=LF(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=LF(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function mve(t){return t.useComponent?"chore(yarn): ":""}var Zvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function P5(t,e){let r=mve(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=Zvt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var $vt="Commit generated via `yarn stage`",eDt=11;async function yve(t){let{code:e,stdout:r}=await Hr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function tDt(t,e){let r=[],o=e.filter(h=>K.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let w=K.relative(t,E);if(h===4){let D=await yve(t),{stdout:b}=await Hr.execvp("git",["show",`${D}:${w}`],{cwd:t,strict:!0}),C=await _t.fromText(b),T=await _t.fromFile(E),L=new Map([...T.dependencies,...T.devDependencies]),U=new Map([...C.dependencies,...C.devDependencies]);for(let[z,te]of U){let le=G.stringifyIdent(te),de=L.get(z);de?de.range!==te.range&&r.push([4,`${le} to ${de.range}`]):r.push([3,le])}for(let[z,te]of L)U.has(z)||r.push([2,G.stringifyIdent(te)])}else if(h===0){let D=await _t.fromFile(E);D.name?r.push([0,G.stringifyIdent(D.name)]):r.push([0,"a package"])}else if(h===1){let D=await yve(t),{stdout:b}=await Hr.execvp("git",["show",`${D}:${w}`],{cwd:t,strict:!0}),C=await _t.fromText(b);C.name?r.push([1,G.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Hr.execvp("git",["log",`-${eDt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=D5(u);return P5(A,r)}var rDt={0:[" A ","?? "],4:[" M "],1:[" D "]},nDt={0:["A "],4:["M "],1:["D "]},Eve={async findRoot(t){return await w5(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Hr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o?.staged?nDt:rDt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=K.resolve(t,p.slice(3));if(!o?.staged&&h==="?? "&&p.endsWith("/"))return v5(E).map(w=>({action:0,path:w}));{let D=[0,4,1].find(b=>u[b].includes(h));return D!==void 0?[{action:D,path:E}]:[]}})).filter(p=>B5(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await tDt(t,e)},async makeStage(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Hr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>ue.fromPortablePath(a.path));await Hr.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Hr.execvp("git",["commit","-m",`${r} - -${$vt} -`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Hr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var iDt=[Eve],hI=class extends ut{constructor(){super(...arguments);this.commit=ge.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=ge.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=ge.Boolean("-u,--update",!1,{hidden:!0})}static{this.paths=[["stage"]]}static{this.usage=ot.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o}=await kt.find(r,this.context.cwd),{driver:a,root:n}=await sDt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,o,w=>{u.push(w)});let A=new Set;for(let w of u)for(let D of oDt(n,w))A.add(D);let p=new Set([r.get("rcFilename"),mr.lockfile,mr.manifest]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} -`);else for(let w of h)this.context.stdout.write(`${ue.fromPortablePath(w.path)} -`);else if(this.reset){let w=await a.filterChanges(n,A,p,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};async function sDt(t){let e=null,r=null;for(let o of iDt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new nt("No stage driver has been found for your current project");return{driver:e,root:r}}function oDt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=ae.statSync(e)}catch{break}if(o.isSymbolicLink())e=K.resolve(K.dirname(e),ae.readlinkSync(e));else break}return r}var aDt={commands:[hI]},lDt=aDt;var x5={};Kt(x5,{default:()=>dDt});Ve();Ve();Pt();var wve=et(ni());Ve();var Cve=et(M6()),cDt="e8e1bd300d860104bb8c58453ffa1eb4",uDt="OFCNCOG2CU",Ive=async(t,e)=>{let r=G.stringifyIdent(t),a=ADt(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},ADt=t=>(0,Cve.default)(uDt,cDt,{requester:{async send(r){try{let o=await on.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var Bve=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,fDt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(ae.existsSync(K.join(t.cwd,"tsconfig.json"))||ae.existsSync(K.join(a.cwd,"tsconfig.json")))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new Ri};if(!await Ive(r,n))return;let E=Bve(r),w=G.parseRange(r.range).selector;if(!Ur.validRange(w)){let L=n.normalizeDependency(r),U=await A.getCandidates(L,{},p);w=G.parseRange(U[0].reference).selector}let D=wve.default.coerce(w);if(D===null)return;let b=`${nu.Modifier.CARET}${D.major}`,C=G.makeDescriptor(G.makeIdent("types",E),b),T=qe.mapAndFind(a.workspaces,L=>{let U=L.manifest.dependencies.get(r.identHash)?.descriptorHash,z=L.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&z!==r.descriptorHash)return qe.mapAndFind.skip;let te=[];for(let le of _t.allDependencies){let de=L.manifest[le].get(C.identHash);typeof de>"u"||te.push([le,de])}return te.length===0?qe.mapAndFind.skip:te});if(typeof T<"u")for(let[L,U]of T)t.manifest[L].set(U.identHash,U);else{try{let L=n.normalizeDependency(C);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[nu.Target.DEVELOPMENT].set(C.identHash,C)}},pDt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??(ae.existsSync(K.join(t.cwd,"tsconfig.json"))||ae.existsSync(K.join(o.cwd,"tsconfig.json")))))return;let u=Bve(r),A=G.makeIdent("types",u);for(let p of _t.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},hDt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},gDt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:fDt,afterWorkspaceDependencyRemoval:pDt,beforeWorkspacePacking:hDt}},dDt=gDt;var R5={};Kt(R5,{VersionApplyCommand:()=>EI,VersionCheckCommand:()=>CI,VersionCommand:()=>II,default:()=>NDt,versionUtils:()=>yI});Ve();Ve();Gt();var yI={};Kt(yI,{Decision:()=>dI,applyPrerelease:()=>bve,applyReleases:()=>F5,applyStrategy:()=>UF,clearVersionFiles:()=>b5,getUndecidedDependentWorkspaces:()=>aD,getUndecidedWorkspaces:()=>MF,openVersionFile:()=>mI,requireMoreDecisions:()=>FDt,resolveVersionFiles:()=>oD,suggestStrategy:()=>k5,updateVersionFiles:()=>Q5,validateReleaseDecision:()=>gI});Ve();Pt();Ol();Gt();var xve=et(Sve()),PA=et(ni()),kDt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,dI=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(dI||{});function gI(t){let e=PA.default.valid(t);return e||qe.validateEnum((0,xve.default)(dI,"UNDECIDED"),t)}async function oD(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=K.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Ki(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let w=G.parseIdent(h),D=t.tryWorkspaceByIdent(w);if(D===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${K.basename(u)} references ${h})`);if(D.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${G.prettyLocator(t.configuration,D.anchoredLocator)})`);let b=D.manifest.raw.stableVersion??D.manifest.version,C=r.get(D),T=UF(b,gI(E));if(T===null)throw new Error(`Assertion failed: Expected ${b} to support being bumped via strategy ${E}`);let L=typeof C<"u"?PA.default.gt(T,C)?T:C:T;r.set(D,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,bve(u,{current:n.manifest.version,prerelease:e})]))),r}async function b5(t){let e=t.configuration.get("deferredVersionFolder");ae.existsSync(e)&&await ae.removePromise(e)}async function Q5(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=K.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Ki(A),h=p?.releases;if(h){for(let E of Object.keys(h)){let w=G.parseIdent(E),D=t.tryWorkspaceByIdent(w);(D===null||r.has(D))&&delete p.releases[E]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,Pa(new Pa.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function mI(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new nt("This command can only be run from within a Yarn project");let o=await ra.fetchRoot(r.projectCwd),a=o!==null?await ra.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await ra.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(b=>K.contains(u,b)!==null);if(A.length>1)throw new nt(`Your current branch contains multiple versioning files; this isn't supported: -- ${A.map(b=>ue.fromPortablePath(b)).join(` -- `)}`);let p=new Set(qe.mapAndFilter(n,b=>{let C=t.tryWorkspaceByFilePath(b);return C===null?qe.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:K.join(u,`${bn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",w=Ki(E),D=new Map;for(let b of w.declined||[]){let C=G.parseIdent(b),T=t.getWorkspaceByIdent(C);D.set(T,"decline")}for(let[b,C]of Object.entries(w.releases||{})){let T=G.parseIdent(b),L=t.getWorkspaceByIdent(T);D.set(L,gI(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(b=>b.manifest.version!==null)),releases:D,async saveAll(){let b={},C=[],T=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let U=G.stringifyIdent(L.anchoredLocator),z=D.get(L);z==="decline"?C.push(U):typeof z<"u"?b[U]=gI(z):p.has(L)&&T.push(U)}await ae.mkdirPromise(K.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,Pa(new Pa.PreserveOrdering({releases:Object.keys(b).length>0?b:void 0,declined:C.length>0?C:void 0,undecided:T.length>0?T:void 0})))}}}function FDt(t){return MF(t).size>0||aD(t).length>0}function MF(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function aD(t,{include:e=new Set}={}){let r=[],o=new Map(qe.mapAndFilter([...t.releases],([n,u])=>u==="decline"?qe.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(qe.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?qe.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of _t.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function k5(t,e){let r=PA.default.clean(e);for(let o of Object.values(dI))if(o!=="undecided"&&o!=="decline"&&PA.default.inc(t,o)===r)return o;return null}function UF(t,e){if(PA.default.valid(e))return e;if(t===null)throw new nt(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!PA.default.valid(t))throw new nt(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=PA.default.inc(t,e);if(r===null)throw new nt(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function F5(t,e,{report:r,exact:o}){let a=new Map;for(let n of t.workspaces)for(let u of _t.allDependencies)for(let A of n.manifest[u].values()){let p=t.tryWorkspaceByDescriptor(A);if(p===null||!e.has(p))continue;qe.getArrayWithDefault(a,p).push([n,u,A.identHash])}for(let[n,u]of e){let A=n.manifest.version;n.manifest.version=u,PA.default.prerelease(u)===null?delete n.manifest.raw.stableVersion:n.manifest.raw.stableVersion||(n.manifest.raw.stableVersion=A);let p=n.manifest.name!==null?G.stringifyIdent(n.manifest.name):null;r.reportInfo(0,`${G.prettyLocator(t.configuration,n.anchoredLocator)}: Bumped to ${u}`),r.reportJson({cwd:ue.fromPortablePath(n.cwd),ident:p,oldVersion:A,newVersion:u});let h=a.get(n);if(!(typeof h>"u"))for(let[E,w,D]of h){let b=E.manifest[w].get(D);if(typeof b>"u")throw new Error("Assertion failed: The dependency should have existed");let C=b.range,T=!1;if(C.startsWith(ci.protocol)&&(C=C.slice(ci.protocol.length),T=!0,C===n.relativeCwd))continue;let L=C.match(kDt);if(!L){r.reportWarning(0,`Couldn't auto-upgrade range ${C} (in ${G.prettyLocator(t.configuration,E.anchoredLocator)})`);continue}let U=o?`${u}`:`${L[1]}${u}`;T&&(U=`${ci.protocol}${U}`);let z=G.makeDescriptor(b,U);E.manifest[w].set(D,z)}}}var RDt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function bve(t,{current:e,prerelease:r}){let o=new PA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=RDt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var EI=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=ge.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=ge.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.exact=ge.Boolean("--exact",!1,{description:"Use the exact version of each package, removes any range. Useful for nightly releases where the range might match another version."});this.recursive=ge.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}static{this.paths=[["version","apply"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` - This command will apply the deferred version changes and remove their definitions from the repository. - - Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%n\`) will be used on all new versions and the version definitions will be kept as-is. - - By default only the current workspace will be bumped, but you can configure this behavior by using one of: - - - \`--recursive\` to also apply the version bump on its dependencies - - \`--all\` to apply the version bump on all packages in the repository - - Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. - `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);if(!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=await Nt.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await oD(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let w=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let D of w){let b=h.get(D);typeof b<"u"&&E.set(D,b)}}if(E.size===0){let w=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${w}`);return}F5(o,E,{report:A,exact:this.exact}),this.dryRun||(p||(this.all?await b5(o):await Q5(o,[...E.keys()])),A.reportSeparator())});return this.dryRun||u.hasErrors()?u.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};Ve();Pt();Gt();var _F=et(ni());var CI=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}static{this.paths=[["version","check"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){pC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(_k(),lj)),{ScrollableItems:o}=await Promise.resolve().then(()=>(Gk(),jk)),{FocusRequest:a}=await Promise.resolve().then(()=>(uj(),Twe)),{useListInput:n}=await Promise.resolve().then(()=>(qk(),Nwe)),{renderForm:u}=await Promise.resolve().then(()=>(Vk(),Kk)),{Box:A,Text:p}=await Promise.resolve().then(()=>et(ac())),{default:h,useCallback:E,useState:w}=await Promise.resolve().then(()=>et(ln())),D=await Je.find(this.context.cwd,this.context.plugins),{project:b,workspace:C}=await kt.find(D,this.context.cwd);if(!C)throw new or(b.cwd,this.context.cwd);await b.restoreInstallState();let T=await mI(b);if(T===null||T.releaseRoots.size===0)return 0;if(T.root===null)throw new nt("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),U=({workspace:me,active:pe,decision:ve,setDecision:Ie})=>{let g=me.manifest.raw.stableVersion??me.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${G.prettyLocator(D,me.anchoredLocator)})`);if(_F.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let Ce=["undecided","decline","patch","minor","major"];n(ve,Ce,{active:pe,minus:"left",plus:"right",set:Ie});let ye=ve==="undecided"?h.createElement(p,{color:"yellow"},g):ve==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},_F.default.valid(ve)?ve:_F.default.inc(g,ve)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,G.prettyLocator(D,me.anchoredLocator)," - ",ye)),h.createElement(A,null,Ce.map(Ae=>h.createElement(A,{key:Ae,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:Ae===ve})," ",Ae)))))},z=me=>{let pe=new Set(T.releaseRoots),ve=new Map([...me].filter(([Ie])=>pe.has(Ie)));for(;;){let Ie=aD({project:T.project,releases:ve}),g=!1;if(Ie.length>0){for(let[Ce]of Ie)if(!pe.has(Ce)){pe.add(Ce),g=!0;let ye=me.get(Ce);typeof ye<"u"&&ve.set(Ce,ye)}}if(!g)break}return{relevantWorkspaces:pe,relevantReleases:ve}},te=()=>{let[me,pe]=w(()=>new Map(T.releases)),ve=E((Ie,g)=>{let Ce=new Map(me);g!=="undecided"?Ce.set(Ie,g):Ce.delete(Ie);let{relevantReleases:ye}=z(Ce);pe(ye)},[me,pe]);return[me,ve]},le=({workspaces:me,releases:pe})=>{let ve=[];ve.push(`${me.size} total`);let Ie=0,g=0;for(let Ce of me){let ye=pe.get(Ce);typeof ye>"u"?g+=1:ye!=="decline"&&(Ie+=1)}return ve.push(`${Ie} release${Ie===1?"":"s"}`),ve.push(`${g} remaining`),h.createElement(p,{color:"yellow"},ve.join(", "))},ce=await u(({useSubmit:me})=>{let[pe,ve]=te();me(pe);let{relevantWorkspaces:Ie}=z(pe),g=new Set([...Ie].filter(ie=>!T.releaseRoots.has(ie))),[Ce,ye]=w(0),Ae=E(ie=>{switch(ie){case a.BEFORE:ye(Ce-1);break;case a.AFTER:ye(Ce+1);break}},[Ce,ye]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...T.changedFiles].map(ie=>h.createElement(A,{key:ie},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(T.root)),ue.sep,ue.relative(ue.fromPortablePath(T.root),ue.fromPortablePath(ie)))))),T.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(le,{workspaces:T.releaseRoots,releases:pe})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:Ce%2===0,radius:1,size:2,onFocusRequest:Ae},[...T.releaseRoots].map(ie=>h.createElement(U,{key:ie.cwd,workspace:ie,decision:pe.get(ie)||"undecided",setDecision:Z=>ve(ie,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(le,{workspaces:g,releases:pe})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:Ce%2===1,radius:2,size:2,onFocusRequest:Ae},[...g].map(ie=>h.createElement(U,{key:ie.cwd,workspace:ie,decision:pe.get(ie)||"undecided",setDecision:Z=>ve(ie,Z)}))))):null)},{versionFile:T},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ce>"u")return 1;T.releases.clear();for(let[me,pe]of ce)T.releases.set(me,pe);await T.saveAll()}async executeStandard(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Nt.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await mI(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new nt("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${fe.pretty(r,A.baseHash.slice(0,7),"yellow")} ${fe.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let D of A.changedFiles)u.reportInfo(null,`${fe.pretty(r,ue.fromPortablePath(A.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(A.root),ue.fromPortablePath(D))}`)}let p=!1,h=!1,E=MF(A);if(E.size>0){p||u.reportSeparator();for(let D of E)u.reportError(0,`${G.prettyLocator(r,D.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let w=aD(A);for(let[D,b]of w)h||u.reportSeparator(),u.reportError(0,`${G.prettyLocator(r,D.anchoredLocator)} doesn't have a release strategy attached, but depends on ${G.prettyWorkspace(r,b)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Ve();Gt();var HF=et(ni());var II=class extends ut{constructor(){super(...arguments);this.deferred=ge.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=ge.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=ge.String()}static{this.paths=[["version"]]}static{this.usage=ot.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!a)throw new or(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=HF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=k5(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new nt("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!HF.default.valid(E))throw new nt(`Can't bump the version (${E}) if it's not valid semver`)}p=gI(this.strategy)}if(!n){let w=(await oD(o)).get(a);if(typeof w<"u"&&p!=="decline"){let D=UF(a.manifest.version,p);if(HF.default.lt(D,w))throw new nt(`Can't bump the version to one that would be lower than the current deferred one (${w})`)}}let h=await mI(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};var TDt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[EI,CI,II]},NDt=TDt;var T5={};Kt(T5,{WorkspacesFocusCommand:()=>wI,WorkspacesForeachCommand:()=>vI,default:()=>MDt});Ve();Ve();Gt();var wI=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=ge.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=ge.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=ge.Rest()}static{this.paths=[["workspaces","focus"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "})}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd),n=await Wr.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new or(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(A=>o.getWorkspaceByIdent(G.parseIdent(A))));for(let A of u)for(let p of this.production?["dependencies"]:_t.hardDependencies)for(let h of A.manifest.getForScope(p).values()){let E=o.tryWorkspaceByDescriptor(h);E!==null&&u.add(E)}for(let A of o.workspaces)u.has(A)?this.production&&A.manifest.devDependencies.clear():(A.manifest.installConfig=A.manifest.installConfig||{},A.manifest.installConfig.selfReferences=!1,A.manifest.dependencies.clear(),A.manifest.devDependencies.clear(),A.manifest.peerDependencies.clear(),A.manifest.scripts.clear());return await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};Ve();Ve();Ve();Gt();var BI=et(Xo()),kve=et(ug());il();var vI=class extends ut{constructor(){super(...arguments);this.from=ge.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=ge.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=ge.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=ge.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=ge.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=ge.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=ge.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=ge.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:hN([js(["unlimited"]),Pw(pN(),[dN(),gN(1)])])});this.topological=ge.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=ge.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=ge.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=ge.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=ge.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=ge.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=ge.String();this.args=ge.Proxy()}static{this.paths=[["workspaces","foreach"]]}static{this.usage=ot.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. You can also use the `--no-private` flag to avoid running the command in private workspaces.\n\n The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A --no-private npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]})}static{this.schema=[xw("all",Ku.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),mN(["all","recursive","since","worktree"],{missingIf:"undefined"})]}async execute(){let r=await Je.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await kt.find(r,this.context.cwd);if(!this.all&&!a)throw new or(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new nt("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=Ie=>{this.dryRun&&this.context.stdout.write(`${Ie} -`)},p=()=>{let Ie=this.from.map(g=>BI.default.matcher(g));return o.workspaces.filter(g=>{let Ce=G.stringifyIdent(g.anchoredLocator),ye=g.relativeCwd;return Ie.some(Ae=>Ae(Ce)||Ae(ye))})},h=[];if(this.since?(A("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await ra.fetchChangedWorkspaces({ref:this.since,project:o}))):this.from?(A("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(A("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(A("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(A("Option --all is set; selecting all workspaces"),h=[...o.workspaces]),this.dryRun&&!this.all){for(let Ie of h)A(` -- ${Ie.relativeCwd} - ${G.prettyLocator(r,Ie.anchoredLocator)}`);h.length>0&&A("")}let E;if(this.recursive?this.since?(A("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(Ie=>[...Ie.getRecursiveWorkspaceDependents()]).flat())):(A("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(Ie=>[...Ie.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(A("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(Ie=>[...Ie.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let Ie of E)A(` -- ${Ie.relativeCwd} - ${G.prettyLocator(r,Ie.anchoredLocator)}`);let w=[],D=!1;if(u?.includes(":")){for(let Ie of o.workspaces)if(Ie.manifest.scripts.has(u)&&(D=!D,D===!1))break}for(let Ie of h){if(u&&!Ie.manifest.scripts.has(u)&&!D&&!(await hn.getWorkspaceAccessibleBinaries(Ie)).has(u)){A(`Excluding ${Ie.relativeCwd} because it doesn't have a "${u}" script`);continue}if(!(u===r.env.npm_lifecycle_event&&Ie.cwd===a.cwd)){if(this.include.length>0&&!BI.default.isMatch(G.stringifyIdent(Ie.anchoredLocator),this.include)&&!BI.default.isMatch(Ie.relativeCwd,this.include)){A(`Excluding ${Ie.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(BI.default.isMatch(G.stringifyIdent(Ie.anchoredLocator),this.exclude)||BI.default.isMatch(Ie.relativeCwd,this.exclude))){A(`Excluding ${Ie.relativeCwd} because it matches the --exclude filter`);continue}if(this.publicOnly&&Ie.manifest.private===!0){A(`Excluding ${Ie.relativeCwd} because it's a private workspace and --no-private was set`);continue}w.push(Ie)}}if(this.dryRun)return 0;let b=this.verbose??(this.context.stdout.isTTY?1/0:0),C=b>0,T=b>1,L=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(Xi.availableParallelism()/2):1,U=L===1?!1:this.parallel,z=U?this.interlaced:!0,te=(0,kve.default)(L),le=new Map,de=new Set,ce=0,me=null,pe=!1,ve=await Nt.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async Ie=>{let g=async(Ce,{commandIndex:ye})=>{if(pe)return-1;!U&&T&&ye>1&&Ie.reportSeparator();let Ae=LDt(Ce,{configuration:r,label:C,commandIndex:ye}),[ie,Z]=Qve(Ie,{prefix:Ae,interlaced:z}),[Pe,Re]=Qve(Ie,{prefix:Ae,interlaced:z});try{T&&Ie.reportInfo(null,`${Ae?`${Ae} `:""}Process started`);let gt=Date.now(),q=await this.cli.run([this.commandName,...this.args],{cwd:Ce.cwd,stdout:ie,stderr:Pe})||0;ie.end(),Pe.end(),await Z,await Re;let rt=Date.now();if(T){let Te=r.get("enableTimers")?`, completed in ${fe.pretty(r,rt-gt,fe.Type.DURATION)}`:"";Ie.reportInfo(null,`${Ae?`${Ae} `:""}Process exited (exit code ${q})${Te}`)}return q===130&&(pe=!0,me=q),q}catch(gt){throw ie.end(),Pe.end(),await Z,await Re,gt}};for(let Ce of w)le.set(Ce.anchoredLocator.locatorHash,Ce);for(;le.size>0&&!Ie.hasErrors();){let Ce=[];for(let[Z,Pe]of le){if(de.has(Pe.anchoredDescriptor.descriptorHash))continue;let Re=!0;if(this.topological||this.topologicalDev){let gt=this.topologicalDev?new Map([...Pe.manifest.dependencies,...Pe.manifest.devDependencies]):Pe.manifest.dependencies;for(let q of gt.values()){let rt=o.tryWorkspaceByDescriptor(q);if(Re=rt===null||!le.has(rt.anchoredLocator.locatorHash),!Re)break}}if(Re&&(de.add(Pe.anchoredDescriptor.descriptorHash),Ce.push(te(async()=>{let gt=await g(Pe,{commandIndex:++ce});return le.delete(Z),de.delete(Pe.anchoredDescriptor.descriptorHash),{workspace:Pe,exitCode:gt}})),!U))break}if(Ce.length===0){let Z=Array.from(le.values()).map(Pe=>G.prettyLocator(r,Pe.anchoredLocator)).join(", ");Ie.reportError(3,`Dependency cycle detected (${Z})`);return}let ye=await Promise.all(Ce);ye.forEach(({workspace:Z,exitCode:Pe})=>{Pe!==0&&Ie.reportError(0,`The command failed in workspace ${G.prettyLocator(r,Z.anchoredLocator)} with exit code ${Pe}`)});let ie=ye.map(Z=>Z.exitCode).find(Z=>Z!==0);(this.topological||this.topologicalDev)&&typeof ie<"u"&&Ie.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return me!==null?me:ve.exitCode()}};function Qve(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new qe.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new qe.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function LDt(t,{configuration:e,commandIndex:r,label:o}){if(!o)return null;let n=`[${G.stringifyIdent(t.anchoredLocator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return fe.pretty(e,n,A)}var ODt={commands:[wI,vI]},MDt=ODt;var uE=()=>({modules:new Map([["@yarnpkg/cli",S2],["@yarnpkg/core",P2],["@yarnpkg/fslib",pw],["@yarnpkg/libzip",V1],["@yarnpkg/parsers",Iw],["@yarnpkg/shell",e2],["clipanion",Rw],["semver",UDt],["typanion",Yo],["@yarnpkg/plugin-essentials",_H],["@yarnpkg/plugin-compat",WH],["@yarnpkg/plugin-constraints",c6],["@yarnpkg/plugin-dlx",u6],["@yarnpkg/plugin-exec",p6],["@yarnpkg/plugin-file",g6],["@yarnpkg/plugin-git",UH],["@yarnpkg/plugin-github",y6],["@yarnpkg/plugin-http",E6],["@yarnpkg/plugin-init",C6],["@yarnpkg/plugin-interactive-tools",Ej],["@yarnpkg/plugin-link",Cj],["@yarnpkg/plugin-nm",nG],["@yarnpkg/plugin-npm",t5],["@yarnpkg/plugin-npm-cli",u5],["@yarnpkg/plugin-pack",JG],["@yarnpkg/plugin-patch",m5],["@yarnpkg/plugin-pnp",Wj],["@yarnpkg/plugin-pnpm",C5],["@yarnpkg/plugin-stage",S5],["@yarnpkg/plugin-typescript",x5],["@yarnpkg/plugin-version",R5],["@yarnpkg/plugin-workspace-tools",T5]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function Tve({cwd:t,pluginConfiguration:e}){let r=new Vo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:nn??""});return Object.assign(r,{defaultContext:{...Vo.defaultContext,cwd:t,plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function _Dt(t){if(qe.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,o=">=18.12.0";if(Ur.satisfiesWithPrereleases(r,o))return!0;let a=new nt(`This tool requires a Node version compatible with ${o} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return Vo.defaultContext.stdout.write(t.error(a)),!1}async function Nve({selfPath:t,pluginConfiguration:e}){return await Je.find(ue.toPortablePath(process.cwd()),e,{strict:!1,usePathCheck:t})}function HDt(t,e,{yarnPath:r}){if(!ae.existsSync(r))return t.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let o={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,Fve.execFileSync)(process.execPath,[ue.fromPortablePath(r),...e],o)}catch(a){return a.status??1}return 0}function qDt(t,e){let r=null,o=e;return e.length>=2&&e[0]==="--cwd"?(r=ue.toPortablePath(e[1]),o=e.slice(2)):e.length>=1&&e[0].startsWith("--cwd=")?(r=ue.toPortablePath(e[0].slice(6)),o=e.slice(1)):e[0]==="add"&&e[e.length-2]==="--cwd"&&(r=ue.toPortablePath(e[e.length-1]),o=e.slice(0,e.length-2)),t.defaultContext.cwd=r!==null?K.resolve(r):K.cwd(),o}function jDt(t,{configuration:e}){if(!e.get("enableTelemetry")||Rve.isCI||!process.stdout.isTTY)return;Je.telemetry=new aE(e,"puba9cdc10ec5790a2cf4969dd413a47270");let o=/^@yarnpkg\/plugin-(.*)$/;for(let a of e.plugins.keys())lE.has(a.match(o)?.[1]??"")&&Je.telemetry?.reportPluginName(a);t.binaryVersion&&Je.telemetry.reportVersion(t.binaryVersion)}function Lve(t,{configuration:e}){for(let r of e.plugins.values())for(let o of r.commands||[])t.register(o)}async function GDt(t,e,{selfPath:r,pluginConfiguration:o}){if(!_Dt(t))return 1;let a=await Nve({selfPath:r,pluginConfiguration:o}),n=a.get("yarnPath"),u=a.get("ignorePath");if(n&&!u)return HDt(t,e,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let A=qDt(t,e);jDt(t,{configuration:a}),Lve(t,{configuration:a});let p=t.process(A,t.defaultContext);return p.help||Je.telemetry?.reportCommandName(p.path.join(" ")),await t.run(p,t.defaultContext)}async function Whe({cwd:t=K.cwd(),pluginConfiguration:e=uE()}={}){let r=Tve({cwd:t,pluginConfiguration:e}),o=await Nve({pluginConfiguration:e,selfPath:null});return Lve(r,{configuration:o}),r}async function OQ(t,{cwd:e=K.cwd(),selfPath:r,pluginConfiguration:o}){let a=Tve({cwd:e,pluginConfiguration:o});function n(){Vo.defaultContext.stdout.write(`ERROR: Yarn is terminating due to an unexpected empty event loop. -Please report this issue at https://github.com/yarnpkg/berry/issues.`)}process.once("beforeExit",n);try{process.exitCode=42,process.exitCode=await GDt(a,t,{selfPath:r,pluginConfiguration:o})}catch(u){Vo.defaultContext.stdout.write(a.error(u)),process.exitCode=1}finally{process.off("beforeExit",n),await ae.rmtempPromise()}}OQ(process.argv.slice(2),{cwd:K.cwd(),selfPath:ue.toPortablePath(ue.resolve(process.argv[1])),pluginConfiguration:uE()});})(); -/** - @license - Copyright (c) 2015, Rebecca Turner - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - */ -/** - @license - Copyright Node.js contributors. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - IN THE SOFTWARE. -*/ -/** - @license - The MIT License (MIT) - - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ -/** - @license - Copyright Joyent, Inc. and other Node contributors. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to permit - persons to whom the Software is furnished to do so, subject to the - following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -/*! Bundled license information: - -is-number/index.js: - (*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - *) - -to-regex-range/index.js: - (*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - *) - -fill-range/index.js: - (*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - *) - -is-extglob/index.js: - (*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - *) - -is-glob/index.js: - (*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - *) - -queue-microtask/index.js: - (*! queue-microtask. MIT License. Feross Aboukhadijeh *) - -run-parallel/index.js: - (*! run-parallel. MIT License. Feross Aboukhadijeh *) - -git-url-parse/lib/index.js: - (*! - * buildToken - * Builds OAuth token prefix (helper function) - * - * @name buildToken - * @function - * @param {GitUrl} obj The parsed Git url object. - * @return {String} token prefix - *) - -object-assign/index.js: - (* - object-assign - (c) Sindre Sorhus - @license MIT - *) - -react/cjs/react.production.min.js: - (** @license React v17.0.2 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -scheduler/cjs/scheduler.production.min.js: - (** @license React v0.20.2 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -react-reconciler/cjs/react-reconciler.production.min.js: - (** @license React v0.26.2 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - *) - -is-windows/index.js: - (*! - * is-windows - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - *) -*/ diff --git a/.yarnrc.yml b/.yarnrc.yml old mode 100644 new mode 100755 index 2ce407d5e..bfa0b7fe4 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,7 +1,7 @@ -defaultSemverRangePrefix: "" +defaultSemverRangePrefix: ^ enableImmutableInstalls: false nodeLinker: node-modules -yarnPath: .yarn/releases/yarn-4.8.1.cjs +yarnPath: .yarn/releases/yarn-4.15.0.cjs diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/COPYING b/COPYING old mode 100644 new mode 100755 diff --git a/COPYING.lesser b/COPYING.lesser old mode 100644 new mode 100755 diff --git a/LoggerLocation.md b/LoggerLocation.md deleted file mode 100644 index ec0b52e48..000000000 --- a/LoggerLocation.md +++ /dev/null @@ -1,33 +0,0 @@ -# Location of logger - -If you set logger to `debug` or any logger level then see number in the array that is at the beginning of the message to the logger. -You will se like this : `[n] message`. -So, if you want to know the location of the logger called, please see the list below. - -> 161 - -`1 – 2, 106` : level is `(debug,error)` located on `src/connection/connection.ts` -`3` : level is `(debug)` located on `src/connection/webSocket.ts` -`4 – 7, 140` : level is `(debug)` located on `src/crypto/Aes.ts` -`8 – 9` : level is `(debug)` as RPCError, parent class located on`src/errors/RPCError.ts` -`141 - 155`: level is `(debug)`, located on `src/file/Upload.ts` -`10` : level is `(debug)` located on `src/raw/core/TLObject.ts` -`11 – 32` : level is `(debug,error)` located on `src/session/Auth.ts` -`32 – 72, 107 - 108, 135 - 139` : level is `(debug,error,warning,info)` located on `src/session/Session.ts` -`111 - 134` : level is `(debug,info,error)` located on `src/session/secretChats/SecretChat` -`73 – 80, 109 - 110, 156 - 160` : level is `(debug,info)` as BaseSession, parent class located on `src/storage/Session.ts` -`81 – 99` : level is `(debug)` located on `src/storage/StringSession.ts` -`100, 104 - 105, 161` : level is `(info,warning)` located on `src/client/Session.ts` -`101 - 103` : level is `(info,error)` located on `src/client/Auth.ts` - -## Why this file is created - -I created this file for you or the developer if the app crashes and makes it easier to find where the crash occurred. So that developers can easily overcome these crashes. - -## Why any flags `as `? - -Because there is a possibility if the class is extended, and the logger is run in another function. an example is RPCError which can generate logger errors in its child files. - -## Why any flags `(removed)`? - -Because the file has been deleted, so we don't want to rewrite the number from the beginning, so we provide these flags so we can continue the numbers. So there will be a possibility that the numbers will jump out of order or be lost. diff --git a/README.md b/README.md old mode 100644 new mode 100755 index f58c3bf78..aef39e904 --- a/README.md +++ b/README.md @@ -1,88 +1,155 @@ -# tgsnake core +# @tgsnake/core v2.0.0 🐍 -
- Layer 207 -
- ---- - -Pure Telegram MTProto framework for Javascript or Typescript. +[![License](https://img.shields.io/badge/License-GPL%20v3%20%2F%20LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/) [![Telegram Group](https://img.shields.io/badge/Telegram-Group-blue.svg?logo=telegram)](https://t.me/tgsnake) -⚡ Using less dependencies to make it fast. -🔓 Open Source, you can contribute to make this framework better. -🗒️ Using Pure Telegram Raw Api, all JSON object is pure from telegram, nothing has changed at all. So that it makes it easier for you to learn the [telegram schema](https://core.telegram.org/schema) docs. -🦕 Deno Support. +Pure, high-performance Telegram MTProto framework for **Node.js, Deno, and Bun** in Javascript and Typescript. -## Example use +--- + +> [!IMPORTANT] +> +> ### ⚠️ v2.0.0 Breaking Changes Notice +> +> **tgsnake core has undergone a major architectural upgrade in v2.0.0.** +> +> - **Outsourced TL Schema & Raw APIs:** The internal generators, TL Schema mappings, and raw generated objects (formerly `src/raw` and `src/errors`) have been completely decoupled and moved to the external module [`@tgsnake/skema`](https://github.com/tgsnake/skema). This dramatically reduces the package footprint and install times. +> - **Native ESM:** The library is now configured as `"type": "module"`. All local relative source code imports must append the `.js` extension (e.g., `import { Client } from './client/Client.js'`). +> - **Main Entry Point:** The package main export has moved from `./lib/src/index.js` to `./dist/mod.js`. +> - **Runtime & Node Versions:** Minimum Node.js version is now **>= 22.0.0**. Formal support has been added for **Deno (>= 1.0.0)** and **Bun (>= 1.0.0)**. +> - **Backward Compatibility Re-exports:** To prevent breaking existing code, the core `Raw`, `Raws`, and `Errors` modules are re-exported directly from `@tgsnake/skema` through the `@tgsnake/core` package entry point. + +--- + +## ⚡ Features + +- **Ultra-lightweight:** Minimal external dependencies to guarantee maximum execution speed. +- **Multi-Runtime Support:** Runs out of the box on **Node.js (>=22)**, **Deno**, and **Bun**. +- **Pure Telegram API:** Raw TL schema objects are directly exposed without arbitrary abstractions. +- **Secret Chats:** Fully supports creating, accepting, and handling end-to-end encrypted Telegram Secret Chats. + +--- + +## 🚀 Getting Started + +### 1. Installation + +Install `@tgsnake/core` along with its required peer-dependency `@tgsnake/skema`: + +```bash +# Using Yarn (Recommended) +$ yarn add @tgsnake/core @tgsnake/skema + +# Using NPM +$ npm install @tgsnake/core @tgsnake/skema + +# Using Bun +$ bun add @tgsnake/core @tgsnake/skema +``` + +For **Deno**, you can import directly from npm: ```typescript -import { Client, Raw, Storages } from '@tgsnake/core'; -process.env.LOGLEVEL = 'debug'; // set log level, see @tgsnake/log for more information. +import { Client } from 'npm:@tgsnake/core'; +``` + +> [!NOTE] The JSR version will be published soon, so you can use the JSR version for deno. + +--- + +### 2. Usage Example + +Here is a complete, modern example illustrating how to start a client session, register handlers, and listen to incoming updates: + +```typescript +import { Client, Storages } from '@tgsnake/core'; +import { Raw } from '@tgsnake/skema'; + +// Set Loglevel (see @tgsnake/log) +process.env.LOGLEVEL = 'debug'; + +const apiId = 123456; // Your API ID from my.telegram.org +const apiHash = 'your_api_hash'; // Your API Hash from my.telegram.org + const client = new Client( - // you can fill with Telethon or Pyrogram string session. + // Supports Pyrogram, Telethon, or tgsnake base64 String Sessions new Storages.StringSession(''), apiHash, apiId, ); -// handle update + +// Register a callback update handler client.addHandler((update) => { - console.log(update); + console.log('Received raw update:', update); }); -// if you already pass the string session, don't fill any arguments in start function, leave it empty. +// Start the client connection client.start({ - botToken: '', // if you want login as bot, you can login as user too. - /* Remove "botToken" if you want to login as user. - phoneNumber : async () => {}, // Phone number with international phone code (include plus sign (+)) will be used to login, the return of function must be a string. - code : async () => {}, // OTP code, the return of function must be a string. - password : async () => {}, // if you account has 2FA, the return of function must be a string. - authError : async (error) => {} // when error BadRequest attempt, this function will be running. + botToken: 'YOUR_BOT_TOKEN', // Supply botToken to log in as a bot + /* + // Or uncomment below to log in as a standard user: + phoneNumber: async () => '+1234567890', + code: async () => { + // Prompt or return OTP code received from Telegram + return '12345'; + }, + password: async (hint) => { + // If account has 2FA enabled + return 'your_2fa_password'; + }, + authError: (error) => { + console.error('Auth error encountered:', error); + } */ }); ``` -### Exporting Session. +--- + +### 3. Exporting Sessions -For exporting string session, use `client.exportSession()`. It will be return `Promise`. +You can serialize and export your active connection credentials to a portable Base64-url string session for future authentications: ```typescript -const exported = await client.exportSession(); +const sessionString = await client.exportSession(); +console.log('Your session string:', sessionString); ``` --- -## Development Guidelines +## 🛠️ Development Guidelines -- Cloning Repository +To contribute or develop on the `@tgsnake/core` repository locally: + +### 1. Clone the repository ```bash $ git clone https://github.com/tgsnake/core +$ cd core ``` -- Installing Dependencies - -> Required to use yarn! +### 2. Install dependencies (Yarn v4 required) ```bash $ yarn install ``` -- Building TLSchema and Error class +### 3. Build the source files ```bash -$ yarn build:api -$ yarn build:error +# Compiles typescript into the /dist folder +$ yarn build ``` -- Testing your app! Create `test` folder and you can create `index.js` file for testing the app. This folder will automatically ignored and not pushing to GitHub. - --- -## Notes +## 🤝 Support and Community + +- **Telegram Group Support:** [@tgsnake](https://t.me/tgsnake) +- **Discussion Chat:** [@tgsnakechat](https://t.me/tgsnakechat) +- **Bugs & Features:** Open an issue on our [GitHub repository](https://github.com/tgsnake/core/issues) -- This framework is porting of pyrogram for connecting to telegram server. I have dedicated 2 months of my time to complete this framework from scratch. Research after research I do to improve this framework. So big thanks for pyrogram for the source, without that source code, this framework maybe unavailable. -- For more questions, ask on telegram group ([@tgsnake](https://t.me/tgsnake)) or open github issue. +## 📄 License -## GPL v3 License +This project is licensed under the dual **GPL v3 or LGPL v3** License. -Build with ♥️ by [tgsnake dev](https://t.me/tgsnakechat). +Built with ♥️ by the **tgsnake** team. diff --git a/deno.json b/deno.json deleted file mode 100644 index f442452c8..000000000 --- a/deno.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "nodeModulesDir": "auto", - "lock": false, - "imports": { - "npm:ip-address@9.0.5": "https://cdn.skypack.dev/ip-address@9.0.5?dts" - }, - "scopes": { - "https://deno.land/x/deno_socks@v2.8.3/client/socksclient.ts": { - "npm:ip-address@9.0.5": "https://cdn.skypack.dev/ip-address@9.0.5?dts" - } - } -} diff --git a/deno.lock b/deno.lock new file mode 100644 index 000000000..dac21cd42 --- /dev/null +++ b/deno.lock @@ -0,0 +1,117 @@ +{ + "version": "5", + "specifiers": { + "npm:@tgsnake/bytesio@^2.0.1": "2.0.1", + "npm:@tgsnake/log@^2.0.1": "2.0.1", + "npm:@tgsnake/skema@2": "2.1.0", + "npm:@types/bun@^1.3.14": "1.3.14", + "npm:@types/node@^25.9.3": "25.9.3", + "npm:async-mutex@0.5": "0.5.0", + "npm:big-integer@^1.6.52": "1.6.52", + "npm:prettier@^3.8.4": "3.8.4", + "npm:socks@^2.8.9": "2.8.9", + "npm:typescript@^6.0.3": "6.0.3" + }, + "npm": { + "@tgsnake/bytesio@2.0.1": { + "integrity": "sha512-0ZlGXNlOVcm7uqU3vipknsF7sW8yARwHvlNrAYOlBA1pnh+w+poXcOs8Lt4ZdUK2eQY8HrbD0179fx/WCUhsAg==" + }, + "@tgsnake/log@2.0.1": { + "integrity": "sha512-ngJgHRU5c/FjkHmaTHEaaEJw8Nr4MYfpdr3wx++Mxh9xuC7UMlCrSggmDSxO81VEor4LnWtSHy/ahHldJBGYAQ==", + "dependencies": [ + "chalk", + "color-convert" + ] + }, + "@tgsnake/skema@2.1.0": { + "integrity": "sha512-i2+FPbmSpl9tIoyTPWQr/8m9qo6WBqfVafbgiA7aRke7DfIqxwjNNi/jwC045Y2+v9qz2pCVVH9kzjXPoJZX1w==", + "dependencies": [ + "@tgsnake/bytesio", + "@tgsnake/log", + "big-integer" + ] + }, + "@types/bun@1.3.14": { + "integrity": "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw==", + "dependencies": [ + "bun-types" + ] + }, + "@types/node@25.9.3": { + "integrity": "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg==", + "dependencies": [ + "undici-types" + ] + }, + "async-mutex@0.5.0": { + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", + "dependencies": [ + "tslib" + ] + }, + "big-integer@1.6.52": { + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==" + }, + "bun-types@1.3.14": { + "integrity": "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ==", + "dependencies": [ + "@types/node" + ] + }, + "chalk@5.6.2": { + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" + }, + "color-convert@3.1.3": { + "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", + "dependencies": [ + "color-name" + ] + }, + "color-name@2.1.0": { + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==" + }, + "ip-address@10.2.0": { + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==" + }, + "prettier@3.8.4": { + "integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==", + "bin": true + }, + "smart-buffer@4.2.0": { + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks@2.8.9": { + "integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==", + "dependencies": [ + "ip-address", + "smart-buffer" + ] + }, + "tslib@2.8.1": { + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "typescript@6.0.3": { + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "bin": true + }, + "undici-types@7.24.6": { + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==" + } + }, + "workspace": { + "packageJson": { + "dependencies": [ + "npm:@tgsnake/bytesio@^2.0.1", + "npm:@tgsnake/log@^2.0.1", + "npm:@tgsnake/skema@2", + "npm:@types/bun@^1.3.14", + "npm:@types/node@^25.9.3", + "npm:async-mutex@0.5", + "npm:big-integer@^1.6.52", + "npm:prettier@^3.8.4", + "npm:socks@^2.8.9", + "npm:typescript@^6.0.3" + ] + } + } +} diff --git a/examples/auth.ts b/examples/auth.ts new file mode 100644 index 000000000..7b35a566e --- /dev/null +++ b/examples/auth.ts @@ -0,0 +1,52 @@ +import readline from 'node:readline'; +import { Client, Storages } from '../dist/mod.js'; + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}); + +rl.question('Enter your API ID: ', (apiId) => { + rl.question('Enter your API Hash: ', (apiHash) => { + const client = new Client(new Storages.StringSession(''), String(apiHash), Number(apiId)); + client + .start({ + code: async () => { + return new Promise((resolve) => { + rl.question('Enter the code you received: ', (code) => { + resolve(code); + }); + }); + }, + password: async () => { + return new Promise((resolve) => { + rl.question('Enter your 2FA password: ', (pass) => { + resolve(pass); + }); + }); + }, + phoneNumber: async () => { + return new Promise((resolve) => { + rl.question('Enter your phone number: ', (phone) => { + resolve(phone); + }); + }); + }, + }) + .then(() => { + console.log('Client started successfully!'); + client + .exportSession() + .then((session) => { + console.log('Your session string:\n', session); + }) + .finally(() => { + rl.close(); + }); + }) + .catch((err) => { + console.error('Error starting client:', err); + rl.close(); + }); + }); +}); diff --git a/examples/download_photo.ts b/examples/download_photo.ts old mode 100644 new mode 100755 diff --git a/generator/build_browser/index.js b/generator/build_browser/index.js new file mode 100644 index 000000000..285661d2b --- /dev/null +++ b/generator/build_browser/index.js @@ -0,0 +1,34 @@ +/** + * tgsnake - Telegram MTProto library for javascript or typescript. + * Copyright (C) 2026 tgsnake + * + * THIS FILE IS PART OF TGSNAKE + * + * tgsnake is a free software : you can redistribute it and/or modify + * it under the terms of the GPL v3 License as published. + */ +import fs from 'node:fs'; +import path from 'node:path'; + +function buildForBrowser() { + console.log('Changing deps.ts for browser...'); + const root = process.cwd(); + const deps = path.join(root, 'deps.ts'); + const depsNode = path.join(root, 'deps.node.ts'); + const depsBrowser = path.join(root, 'deps.browser.ts'); + if (!fs.existsSync(deps) && !fs.existsSync(depsBrowser)) return; + if (fs.existsSync(deps)) { + fs.renameSync(deps, depsNode); + } + if (fs.existsSync(depsBrowser)) { + fs.renameSync(depsBrowser, deps); + } + console.log('Deps changed for browser successfully!'); + console.log('Changing package.json for browser...'); + const file = fs.readFileSync(path.join(process.cwd(), 'package.json'), 'utf8'); + const json = JSON.parse(file); + json.version = `${json.version}-browser.0`; + fs.writeFileSync(path.join(process.cwd(), 'package.json'), JSON.stringify(json, null, 2)); + console.log('package.json changed for browser successfully!'); +} +buildForBrowser(); diff --git a/generator/bundler/index.mjs b/generator/bundler/index.mjs deleted file mode 100644 index 1d1e33777..000000000 --- a/generator/bundler/index.mjs +++ /dev/null @@ -1,72 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -// import * as esbuild from 'esbuild'; -import * as path from 'path'; -import * as fs from 'fs'; -import * as deno2node from 'deno2node'; -import * as tsmorph from 'ts-morph'; - -function flatten(route) { - const contents = fs.readdirSync(path.join(process.cwd(), route)); - const results = []; - for (let content of contents) { - const stat = fs.statSync(path.join(route, content)); - if (stat.isDirectory()) { - results.push(...flatten(path.join(route, content))); - } else if (content.endsWith('.ts') || content.endsWith('.js')) { - results.push(path.join(route, content)); - } - } - return results; -} -async function build() { - console.log('Building...'); - if (fs.existsSync(path.join(process.cwd(), './browser'))) { - fs.rmSync(path.join(process.cwd(), './browser'), { recursive: true, force: true }); - } - await emit(); -} -async function emit() { - const ctx = new deno2node.Context({ - tsConfigFilePath: path.join(process.cwd(), './tsconfig.browser.json'), - }); - for (const sourcefile of ctx.project.getSourceFiles()) { - let name = sourcefile.getBaseNameWithoutExtension().toLowerCase(); - if (name.endsWith('.deno') || name.endsWith('.node')) { - ctx.project.removeSourceFile(sourcefile); - continue; - } - for (const statement of sourcefile.getStatements()) { - if ( - tsmorph.Node.isImportDeclaration(statement) || - tsmorph.Node.isExportDeclaration(statement) - ) { - const module = statement.getModuleSpecifierValue(); - if (module !== undefined) { - if (/^\.\.?\//.test(module)) { - statement.setModuleSpecifier( - module.replace(/\.[jt]sx?$/i, '.js').replace(/\.(deno|node)\.js$/i, '.browser.js'), - ); - } - } - } - } - } - await deno2node.deno2node(ctx); - console.log('Emitting file'); - const diag = await deno2node.emit(ctx.project); - if (diag.length !== 0) { - console.info(ctx.project.formatDiagnosticsWithColorAndContext(diag)); - console.info('TypeScript', tsmorph.ts.version); - console.info(`Found ${diag.length} errors.`); - process.exit(1); - } -} -build(); diff --git a/generator/change_package_json/index.js b/generator/change_package_json/index.js deleted file mode 100644 index 81d5d2197..000000000 --- a/generator/change_package_json/index.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -const path = require('path'); -const fs = require('fs'); - -function buildForBrowser() { - const file = fs.readFileSync(path.join(process.cwd(), 'package.json'), 'utf8'); - const json = JSON.parse(file); - json.main = './browser/src/index.js'; - json.scripts.prepare = json.scripts.build = 'node ./generator/bundler/index.mjs'; - json.files = ['browser/**/**']; - json.type = 'module'; - json.version = `${json.version}-browser.0`; - fs.writeFileSync(path.join(process.cwd(), 'package.json'), JSON.stringify(json, null, 2)); -} -buildForBrowser(); diff --git a/generator/chglog/index.js b/generator/chglog/index.js old mode 100644 new mode 100755 index 734601e75..100425278 --- a/generator/chglog/index.js +++ b/generator/chglog/index.js @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,8 +8,8 @@ * it under the terms of the GPL v3 License as published. */ -const fs = require('fs'); -const path = require('path'); +import fs from 'node:fs'; +import path from 'node:path'; const file = fs.readFileSync(path.join(__dirname, '../../CHANGELOG.md'), 'utf8'); const content = file.replace(/\s{2,}/gm, ' \n').replace(/\s\-\s/gm, ' \n- '); diff --git a/generator/license/index.js b/generator/license/index.js old mode 100644 new mode 100755 index ea65944fb..b6a9b5b68 --- a/generator/license/index.js +++ b/generator/license/index.js @@ -1,14 +1,14 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -const fs = require('fs'); -const path = require('path'); +import fs from 'node:fs'; +import path from 'node:path'; const cdateRE = /(\* )?Copyright \(C\) (\d+)/im; function parseDate(source) { diff --git a/jsr.json b/jsr.json new file mode 100644 index 000000000..d08ce05d5 --- /dev/null +++ b/jsr.json @@ -0,0 +1,10 @@ +{ + "name": "@tgsnake/core", + "version": "2.0.0", + "exports": "./mod.ts", + "license": "MIT", + "publish": { + "include": ["mod.ts", "src/**/**", "README.md", "LICENSE", "package.json", "yarn.lock"], + "exclude": ["test/**/**", "dist/**/**"] + } +} diff --git a/mod.ts b/mod.ts old mode 100644 new mode 100755 index e9885b858..5d6c0d434 --- a/mod.ts +++ b/mod.ts @@ -1,10 +1,10 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -export * from './src/index.ts'; +export * from './src/index.js'; diff --git a/package.json b/package.json old mode 100644 new mode 100755 index 41cadb728..bf4562591 --- a/package.json +++ b/package.json @@ -1,15 +1,12 @@ { "name": "@tgsnake/core", - "version": "1.13.15", + "version": "2.0.0", "description": "Pure Telegram MTProto library for Javascript or Typescript.", - "main": "./lib/src/index.js", - "devDependencies": { - "@types/node": "22.14.0", - "deno2node": "1.15.0", - "prettier": "3.5.3" - }, + "main": "./dist/mod.js", + "type": "module", + "types": "./dist/mod.d.ts", "scripts": { - "build": "deno2node tsconfig.json", + "build": "tsc", "build:license": "node ./generator/license", "build:chglog": "node ./generator/chglog", "prepare": "yarn build", @@ -25,21 +22,34 @@ "repository": "https://github.com/tgsnake/core", "author": "butthx", "files": [ - "lib/**/**" + "dist/**/**" ], "license": "(GPL-3.0 OR LGPL-3.0)", "engineStrict": true, "engines": { - "node": ">=12.0.0", + "node": ">=22.0.0", "npm": ">=6.0.0", - "yarn": ">=1.0.0" + "yarn": ">=1.0.0", + "deno": ">=1.0.0", + "bun": ">=1.0.0" }, - "packageManager": "yarn@4.8.1", + "packageManager": "yarn@4.15.0", "dependencies": { - "@tgsnake/log": "latest", - "async-mutex": "0.5.0", - "big-integer": "1.6.52", - "socks": "2.8.4" + "@tgsnake/bytesio": "^2.0.1", + "@tgsnake/log": "^2.0.1", + "async-mutex": "^0.5.0", + "big-integer": "^1.6.52", + "socks": "^2.8.9" + }, + "devDependencies": { + "@tgsnake/skema": "^2.0.0", + "@types/bun": "^1.3.14", + "@types/node": "^25.9.3", + "prettier": "^3.8.4", + "typescript": "^6.0.3" + }, + "peerDependencies": { + "@tgsnake/skema": "^2.0.0" }, "isBeta": false, "isPrivate": false diff --git a/prettier.config.js b/prettier.config.js old mode 100644 new mode 100755 index 6eef5d7f2..40782e95c --- a/prettier.config.js +++ b/prettier.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { semi: true, singleQuote: true, printWidth: 100, diff --git a/src/Logger.ts b/src/Logger.ts old mode 100644 new mode 100755 index f79936bd4..fa47c8b7b --- a/src/Logger.ts +++ b/src/Logger.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,8 +8,13 @@ * it under the terms of the GPL v3 License as published. */ -import { Logger } from './platform.deno.ts'; -const log = new Logger({ +import { Logger } from './deps.js'; + +/** + * Pre-configured `Logger` instance for `@tgsnake/core` framework logs. + * By default, this is configured with the namespace `@tgsnake/core` and the `'debug'` log level. + */ +const log: Logger = new Logger({ name: '@tgsnake/core', level: ['debug'], }); diff --git a/src/Queue.ts b/src/Queue.ts old mode 100644 new mode 100755 index 2207a80be..da80dc74f --- a/src/Queue.ts +++ b/src/Queue.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -9,17 +9,35 @@ */ /** - * @class - * Queue class - * @param {Number} maxsize - Maxsize of queue. If less than or equal to zero, the queue size is infinity. If greater than zero, then put method it will blocked until the queue is empty by get method. Default is 0 + * An asynchronous Queue implementation. + * + * This class provides a FIFO (First-In, First-Out) queue mechanism. It supports + * restricting the queue size. If `maxsize` is specified and greater than zero, the + * queue is bounded; calls to `put` will block when the queue is full until elements + * are removed using `get`. If `maxsize` is less than or equal to zero, the queue + * size is unbounded (infinity). + * + * @template T The type of items stored in the queue. */ export class Queue { + /** The maximum capacity of the queue. If <= 0, capacity is unlimited. */ protected _maxsize!: number; + /** The underlying array storing the queue items. */ protected _queues!: Array; + /** Internal signal or Promise controlling blocked `put` operations. */ protected _possiblePut!: boolean | Promise; + /** Resolver function to unblock `put` operations. */ protected _resolvePut!: { (value: boolean): any }; + /** Promise controlling blocked `get` operations. */ protected _possibleGet!: Promise; + /** Resolver function to unblock `get` operations. */ protected _resolveGet!: { (value: boolean): any }; + + /** + * Creates a new Queue instance. + * + * @param {number} [maxsize=0] - The maximum capacity of the queue. Defaults to 0 (unbounded). + */ constructor(maxsize: number = 0) { this._maxsize = maxsize; this._queues = []; @@ -29,10 +47,17 @@ export class Queue { this._resolveGet = resolve; }); } + /** - * Put an item into the queue. If the queue is full, wait until a free slot is available before adding the item. + * Puts an item into the queue. + * + * If the queue is bounded and currently full, this method will asynchronously + * wait until a free slot becomes available (via a `get` call) before adding the item. + * + * @param {T} value - The item to be inserted into the queue. + * @returns {Promise} A promise that resolves when the item has been successfully added. */ - async put(value: T) { + async put(value: T): Promise { if (this.full) await this._possiblePut; this._queues.push(value); this._resolveGet(true); @@ -40,41 +65,60 @@ export class Queue { this._resolvePut = resolve; }); } + /** - * Remove and return an item from the queue. If queue is empty, wait until an item is available. + * Removes and returns an item from the front of the queue. + * + * If the queue is empty, this method will asynchronously block and wait + * until an item is added to the queue via `put`. + * + * @returns {Promise} A promise resolving to the item removed from the queue. */ - async get() { + async get(): Promise { if (this.empty) await this._possibleGet; const value = this._queues.shift(); this._resolvePut(true); this._possibleGet = new Promise((resolve) => { this._resolveGet = resolve; }); - return value; + return value as T; } + /** - * Check the queue is full or not. - * If the maxsize is less than or equal to zero, this is will be return false. + * Indicates whether the queue is full. + * + * If `maxsize` is less than or equal to zero, this always returns `false`. + * + * @returns {boolean} `true` if the queue size has reached or exceeded `maxsize`; otherwise `false`. */ - get full() { + get full(): boolean { return this.maxsize <= 0 ? false : this.size >= this.maxsize; } + /** - * Get the total size of queue. + * Gets the current number of elements in the queue. + * + * @returns {number} The current size of the queue. */ - get size() { + get size(): number { return this._queues.length; } + /** - * Check if the queue is empty or not. + * Indicates whether the queue is empty. + * + * @returns {boolean} `true` if the queue has no elements; otherwise `false`. */ - get empty() { + get empty(): boolean { return !this.size; } + /** - * Get the maxsize of the queue. + * Gets the maximum capacity limit configured for the queue. + * + * @returns {number} The maximum size of the queue. */ - get maxsize() { + get maxsize(): number { return this._maxsize; } } diff --git a/src/Timeout.ts b/src/Timeout.ts old mode 100644 new mode 100755 index 82603ecf0..59992eae3 --- a/src/Timeout.ts +++ b/src/Timeout.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,26 +8,50 @@ * it under the terms of the GPL v3 License as published. */ -import { TimeoutError } from './errors/index.ts'; +import { Skema } from './deps.js'; +/** + * Callback interface triggered when a promise execution times out. + */ export interface OnTimeout { /** - * Handle when function is got timeout. - * @param {Number} timeout - Passed time for running the function. - * @param {Number} index - Position of task. + * Handles the timeout event for a running task. + * + * @param {number} timeout - The timeout limit in milliseconds. + * @param {number} index - The index/position of the task in the execution list. + * @returns {any} Any result produced by the timeout handler. */ (timeout: number, index: number): any; } + +/** + * A utility class to manage and run tasks with execution timeouts. + * + * Supports executing a `Promise` with a maximum timeout limit, custom callback + * handlers on timeout, and clearing/canceling all active timeout timers. + */ export class Timeout { + /** Stores a list of active setTimeout timers. */ private _task: Array = []; + + /** + * Creates an instance of the Timeout manager. + */ constructor() {} + /** - * Run the promised function with timeout, it will be throw TimeoutError when function running more than given time. - * @param {Promise} task - Function will be running. - * @param {Number} time - Max time execution for function. - * @param {Function} onTimeout - When function running more than time, this function will be called. + * Runs an asynchronous task with a specified timeout limit. + * + * If the execution time exceeds the specified limit, it will either trigger + * the provided `onTimeout` callback or throw a `TimeoutError`. + * + * @param {Promise} task - The asynchronous task/Promise to execute. + * @param {number} time - The maximum execution time in milliseconds. If set to `Infinity`, timeout checks are skipped. + * @param {OnTimeout} [onTimeout] - Optional callback function to invoke if a timeout occurs. + * @returns {Promise} A promise that resolves with the task's result or rejects upon timeout/failure. + * @throws {TimeoutError} Thrown if the timeout is reached and no `onTimeout` handler is specified. */ - run(task: Promise, time: number, onTimeout?: OnTimeout) { + run(task: Promise, time: number, onTimeout?: OnTimeout): Promise { if (time === Infinity) return task; return new Promise((res, rej) => { let index = this._task.length; @@ -35,7 +59,7 @@ export class Timeout { if (onTimeout) { onTimeout(time, index); } else { - rej(new TimeoutError(time)); + rej(new Skema.TimeoutError(time)); } task.catch(rej).finally(() => { return 'Running timeout'; @@ -51,10 +75,11 @@ export class Timeout { }); }); } + /** - * Clear all timeout task. + * Cancels and clears all active timeout timers currently managed by this instance. */ - clear() { + clear(): void { for (let i = 0; i < this._task.length; i++) { let task = this._task[i]; if (!task._destroyed) { diff --git a/src/Version.browser.ts b/src/Version.browser.ts deleted file mode 100644 index b77d66f62..000000000 --- a/src/Version.browser.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import packages from '../package.json' with { type: 'json' }; - -export const version: string = packages.version; -export const isBeta: boolean = packages.isBeta; -export const isPrivate: boolean = packages.isPrivate; -export function getType(): string { - if (isBeta) { - if (isPrivate) { - return 'Private Beta'; - } - return 'Beta'; - } - if (isPrivate) { - if (isBeta) { - return 'Private Beta'; - } - return 'Private Stable'; - } - return 'Stable'; -} diff --git a/src/Version.node.ts b/src/Version.node.ts deleted file mode 100644 index 143273507..000000000 --- a/src/Version.node.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import packages from '../package.json'; - -export const version = packages.version; -export const isBeta = packages.isBeta; -export const isPrivate = packages.isPrivate; -export function getType() { - if (isBeta) { - if (isPrivate) { - return 'Private Beta'; - } - return 'Beta'; - } - if (isPrivate) { - if (isBeta) { - return 'Private Beta'; - } - return 'Private Stable'; - } - return 'Stable'; -} diff --git a/src/Version.deno.ts b/src/Version.ts old mode 100644 new mode 100755 similarity index 54% rename from src/Version.deno.ts rename to src/Version.ts index 8925d1011..8d781f152 --- a/src/Version.deno.ts +++ b/src/Version.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -10,10 +10,33 @@ import packages from '../package.json' with { type: 'json' }; +/** + * The current version of the `@tgsnake/core` library, read from `package.json`. + */ export const version = packages.version; + +/** + * Indicates if the current version is a Beta release. + */ export const isBeta = packages.isBeta; + +/** + * Indicates if the current version is a Private release. + */ export const isPrivate = packages.isPrivate; -export function getType() { + +/** + * Resolves the type of the current library build release. + * + * Possible return values are: + * - `'Private Beta'` + * - `'Beta'` + * - `'Private Stable'` + * - `'Stable'` + * + * @returns {string} The release type string. + */ +export function getType(): string { if (isBeta) { if (isPrivate) { return 'Private Beta'; diff --git a/src/client/Auth.ts b/src/client/Auth.ts old mode 100644 new mode 100755 index 7db7b0fb0..13af64a76 --- a/src/client/Auth.ts +++ b/src/client/Auth.ts @@ -1,64 +1,92 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import type { Client } from './Client.ts'; -import { Raw } from '../raw/index.ts'; -import { Session, Auth, DataCenter } from '../session/index.ts'; -import { computePasswordCheck } from '../crypto/Password.ts'; -import { Logger } from '../Logger.ts'; -import * as Errors from '../errors/index.ts'; +import type { Client } from './Client.js'; +import { Session, Auth, DataCenter } from '../session/index.js'; +import { computePasswordCheck } from '../crypto/Password.js'; +import { Logger } from '../Logger.js'; +import { Skema } from '../deps.js'; +/** + * Authentication configuration interface for signing in as a Bot. + */ export interface SigInBot { /** - * Bot token from bot father. + * The bot token generated via Telegram's BotFather. + * Can be a raw string or a Promise resolving to a string. */ botToken: string | Promise; } + +/** + * Authentication configuration interface for signing in as a User. + */ export interface SigInUser { /** - * The phone number for login as user. + * Asynchronous callback returning the user's phone number in international format. */ phoneNumber: { (): Promise }; + /** - * The 2FA password. + * Optional asynchronous callback returning the 2-step verification (2FA) password. + * + * @param {string} hint - The password hint configured by the user on Telegram. */ password?: { (hint: string): Promise }; + /** - * Fill client when you forgot 2FA password, it will be automatic send recovery code to connected email. + * Optional asynchronous callback returning the recovery code if the user forgot their 2FA password. + * Invoking this will automatically trigger sending the recovery code to the associated email. */ recoveryCode?: { (): Promise }; + /** - * The OTP code. + * Asynchronous callback returning the one-time registration/login code (OTP) received from Telegram. */ code: { (): Promise }; + /** - * Firstname to be used for created account. + * Optional asynchronous callback returning the first name to be used if registering a new account. */ firstname?: { (): Promise }; + /** - * Lastname to be used for created account. + * Optional asynchronous callback returning the last name to be used if registering a new account. */ lastname?: { (): Promise }; + /** - * When error BadRequest attempt, what should do. + * Optional error callback triggered when a `BadRequest` error occurs during authorization. + * + * @param {Skema.Exceptions.BadRequest.BadRequest} error - The encountered error instance. */ - authError?: { (error: Errors.Exceptions.BadRequest.BadRequest): void }; + authError?: { (error: Skema.Exceptions.BadRequest.BadRequest): void }; } + /** - * Sigin as bot. - * @param {String} botToken - Bot token from bot father. + * Signs in the client as a Telegram bot using a bot token. + * + * Automatically handles data center migration if the bot's account is located on another DC. + * + * @this Client + * @param {string} botToken - The bot token obtained from Telegram's BotFather. + * @returns {Promise} The authenticated bot user object, or `undefined` on failure. + * @throws {Error} Propagates any unexpected RPC errors during initialization. */ -export async function siginBot(this: Client, botToken: string): Promise { +export async function siginBot( + this: Client, + botToken: string, +): Promise { while (true) { let user; try { user = await this.invoke( - new Raw.auth.ImportBotAuthorization({ + new Skema.Raw.auth.ImportBotAuthorization({ botAuthToken: botToken, apiId: this._apiId, apiHash: this._apiHash, @@ -66,18 +94,18 @@ export async function siginBot(this: Client, botToken: string): Promise} The authenticated user object, or `undefined` on failure. + * @throws {Error} Thrown if 2FA password is required but the `password` callback is missing. */ -export async function siginUser(this: Client, auth: SigInUser): Promise { +export async function siginUser( + this: Client, + auth: SigInUser, +): Promise { let _phoneNumber; let _sendCode; let _signedIn; @@ -116,8 +157,8 @@ export async function siginUser(this: Client, auth: SigInUser): Promise} Information about the sent code. + * @throws {Error} Propagates standard Telegram RPC errors. */ -export async function sendCode(this: Client, phoneNumber: string): Promise { +export async function sendCode( + this: Client, + phoneNumber: string, +): Promise { phoneNumber = phoneNumber.replace(/\+/g, '').trim(); while (true) { try { const r = await this.invoke( - new Raw.auth.SendCode({ + new Skema.Raw.auth.SendCode({ phoneNumber: phoneNumber, apiId: this._apiId, apiHash: this._apiHash, - settings: new Raw.CodeSettings({}), + settings: new Skema.Raw.CodeSettings({}), }), 0, ); return r; - } catch (error: unknown) { + } catch (error) { if ( - error instanceof Errors.Exceptions.SeeOther.NetworkMigrate || - error instanceof Errors.Exceptions.SeeOther.PhoneMigrate + error instanceof Skema.Exceptions.SeeOther.NetworkMigrate || + error instanceof Skema.Exceptions.SeeOther.PhoneMigrate ) { await this._session.stop(); + const typedError = error as + | Skema.Exceptions.SeeOther.NetworkMigrate + | Skema.Exceptions.SeeOther.PhoneMigrate; const [ip, port] = await DataCenter.DataCenter( - error.value as unknown as number, + typedError.value as unknown as number, this._testMode, this._ipv6, false, ); - const auth = new Auth(error.value as unknown as number, this._testMode, this._ipv6); - this._storage.setAddress(error.value as unknown as number, ip, port, this._testMode); + const auth = new Auth(typedError.value as unknown as number, this._testMode, this._ipv6); + this._storage.setAddress(typedError.value as unknown as number, ip, port, this._testMode); this._storage.setApiId(this._apiId); this._storage.setAuthKey(await auth.create(), this._storage.dcId); this._session = new Session( @@ -268,7 +325,7 @@ export async function sendCode(this: Client, phoneNumber: string): Promise} Resolves to user object, TermsOfService if sign-up is required with TOS, or false. */ export async function sigin( this: Client, phoneNumber: string, phoneCodeHash: string, phoneCode: string, -): Promise { +): Promise { const r = await this.invoke( - new Raw.auth.SignIn({ + new Skema.Raw.auth.SignIn({ phoneNumber: phoneNumber.replace(/\+/g, '').trim(), phoneCodeHash, phoneCode, }), 0, ); - if (r instanceof Raw.auth.AuthorizationSignUpRequired) { + if (r instanceof Skema.Raw.auth.AuthorizationSignUpRequired) { if (r.termsOfService) { return r.termsOfService; } @@ -307,13 +368,20 @@ export async function sigin( return r.user; } } + /** - * Recover your password with recovery code and login. - * @param {String} code - The recovery code has been send in connected email with 2FA. + * Recovers a 2FA-locked account using a recovery code sent to the configured email. + * + * @this Client + * @param {string} code - The recovery code received in the user's email. + * @returns {Promise} The authenticated user object, or `undefined` if recovery fails. */ -export async function recoverPassword(this: Client, code: string): Promise { +export async function recoverPassword( + this: Client, + code: string, +): Promise { const r = await this.invoke( - new Raw.auth.RecoverPassword({ + new Skema.Raw.auth.RecoverPassword({ code: code, }), 0, @@ -325,21 +393,35 @@ export async function recoverPassword(this: Client, code: string): Promise} The email pattern to which the recovery code was sent. */ export async function sendRecoveryCode(this: Client): Promise { - const r = await this.invoke(new Raw.auth.RequestPasswordRecovery(), 0); + const r = await this.invoke(new Skema.Raw.auth.RequestPasswordRecovery(), 0); return r.emailPattern; } + /** - * Check the givens password is correct or not. - * @param {String} password - Password will be check. + * Submits the 2-step verification (2FA) password to log in. + * + * @this Client + * @param {string} password - The raw 2FA password to submit. + * @returns {Promise} The authenticated user object, or `undefined` if verification fails. */ -export async function checkPassword(this: Client, password: string): Promise { +export async function checkPassword( + this: Client, + password: string, +): Promise { const r = await this.invoke( - new Raw.auth.CheckPassword({ - password: computePasswordCheck(await this.invoke(new Raw.account.GetPassword(), 0), password), + new Skema.Raw.auth.CheckPassword({ + password: computePasswordCheck( + await this.invoke(new Skema.Raw.account.GetPassword(), 0), + password, + ), }), 0, ); @@ -350,33 +432,45 @@ export async function checkPassword(this: Client, password: string): Promise} Resolves to `true` if accepted successfully. */ export async function acceptTOS(this: Client, id: string): Promise { const r = await this.invoke( - new Raw.help.AcceptTermsOfService({ - id: new Raw.DataJSON({ + new Skema.Raw.help.AcceptTermsOfService({ + id: new Skema.Raw.DataJSON({ data: id, }), }), ); return Boolean(r); } + /** - * Get hint of 2FA password. + * Retrieves the configured hint for the 2-step verification (2FA) password. + * + * @this Client + * @returns {Promise} The password hint, or an empty string if none exists. */ export async function getPasswordHint(this: Client): Promise { - const r = await this.invoke(new Raw.account.GetPassword(), 0); + const r = await this.invoke(new Skema.Raw.account.GetPassword(), 0); return r.hint ?? ''; } + /** - * Sigin and create a new fresh account. - * @param {String} phoneNumber - Phone number in international format (includes the country prefix). - * @param {String} phoneCodeHash - Code identifier taken from the result of sendCode. - * @param {String} firstname - New user firstname. - * @param {String} lastname - New user lastname. + * Registers a new user account with Telegram. + * + * @this Client + * @param {string} phoneNumber - The user's phone number in international format. + * @param {string} phoneCodeHash - The phone code hash returned by `sendCode`. + * @param {string} firstname - The first name for the new account. + * @param {string} [lastname=''] - The optional last name for the new account. + * @returns {Promise} The newly registered user object, or `undefined` if signup fails. */ export async function signup( this: Client, @@ -384,9 +478,9 @@ export async function signup( phoneCodeHash: string, firstname: string, lastname: string = '', -): Promise { +): Promise { const r = await this.invoke( - new Raw.auth.SignUp({ + new Skema.Raw.auth.SignUp({ phoneNumber: phoneNumber.replace(/\+/g, '').trim(), phoneCodeHash, firstName: firstname, @@ -400,13 +494,17 @@ export async function signup( } return; } + /** - * Getting info about self. + * Fetches the full profile details of the current authorized user. + * + * @this Client + * @returns {Promise} Full user profile details. */ -export async function getMe(this: Client): Promise { +export async function getMe(this: Client): Promise { return await this.invoke( - new Raw.users.GetFullUser({ - id: new Raw.InputUserSelf(), + new Skema.Raw.users.GetFullUser({ + id: new Skema.Raw.InputUserSelf(), }), ); } diff --git a/src/client/Client.ts b/src/client/Client.ts old mode 100644 new mode 100755 index 68d787270..5d834c9ae --- a/src/client/Client.ts +++ b/src/client/Client.ts @@ -1,30 +1,23 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { os, inspect, Semaphore, isBrowser, Buffer } from '../platform.deno.ts'; -import * as Errors from '../errors/index.ts'; -import { - Raw, - UpdateSecretChatMessage, - SecretChatMessageService, - SecretChatMessage, -} from '../raw/index.ts'; -import { AbstractSession } from '../storage/index.ts'; -import { SecretChat } from '../session/secretChats/index.ts'; -import { TCP } from '../connection/connection.ts'; -import * as _Session from './Session.ts'; -import * as _Auth from './Auth.ts'; -import * as Version from '../Version.deno.ts'; -import * as helpers from '../helpers.ts'; -import * as Files from '../file/index.ts'; -import type { ProxyInterface } from '../connection/connection.ts'; -import type { Session } from '../session/index.ts'; +import { os, inspect, Semaphore, platform, Buffer, Skema } from '../deps.js'; +import { AbstractSession } from '../storage/index.js'; +import { SecretChat } from '../session/secretChats/index.js'; +import { TCP } from '../connection/connection.js'; +import * as _Session from './Session.js'; +import * as _Auth from './Auth.js'; +import * as Version from '../Version.js'; +import * as helpers from '../helpers.js'; +import * as Files from '../file/index.js'; +import type { ProxyInterface } from '../connection/connection.js'; +import type { Session } from '../session/index.js'; export interface ClientOptions { /** @@ -246,8 +239,8 @@ export class Client { _getFileSemaphore!: Semaphore; _saveFileSemaphore!: Semaphore; _maxReconnectRetries!: number; - _me?: Raw.users.UserFull; - private _handler: Array<{ (update: Raw.TypeUpdates): void }> = []; + _me?: Skema.Raw.users.UserFull; + private _handler: Array<{ (update: Skema.Raw.TypeUpdates): void }> = []; /** * Client Constructor. * @param {AbstractSession} session - What the session will be used for login to telegram. @@ -278,7 +271,7 @@ export class Client { : `Deno unknown` : os.release().toString()); this._appVersion = clientOptions?.appVersion ?? Version.version; - this._systemLangCode = clientOptions?.systemLangCode ?? 'en'; + this._systemLangCode = clientOptions?.systemLangCode ?? 'en-US'; this._langCode = clientOptions?.langCode ?? this._systemLangCode; this._sleepTreshold = clientOptions?.sleepTreshold ?? 10000; this._maxRetries = clientOptions?.maxRetries ?? 5; @@ -288,7 +281,7 @@ export class Client { this._connectionMode = clientOptions?.tcp ?? TCP.TCPFull; this._local = clientOptions?.local ?? - ((isBrowser && globalThis && globalThis.location.protocol !== 'https:') || true); + ((platform === 'Browser' && globalThis && globalThis.location.protocol !== 'https:') || true); this._secretChat = new SecretChat(session, this); this._getFileSemaphore = new Semaphore(clientOptions?.maxConcurrentTransmissions || 1); this._saveFileSemaphore = new Semaphore(clientOptions?.maxConcurrentTransmissions || 1); @@ -309,7 +302,7 @@ export class Client { * @param {Number} timeout - How long to wait for the function to finish. default is 15s. * @param {Number} sleepTreshold - Sleep treshold when you got flood wait. default is clientOptions.sleepTreshold or 10s. */ - invoke( + invoke( query: T, retries: number = this._maxRetries, timeout: number = 15000, @@ -326,42 +319,48 @@ export class Client { /** * Starting telegram client. */ - start(auth?: _Auth.SigInBot | _Auth.SigInUser): Promise { + start(auth?: _Auth.SigInBot | _Auth.SigInUser): Promise { return _Session.start.call(this, auth); } /** * Connecting to telegram server without login request. */ - connect() { + connect(): Promise { return _Session.connect.call(this); } /** * Handling new updates from telegram. */ - async handleUpdate(update: Raw.TypeUpdates): Promise { + async handleUpdate(update: Skema.Raw.TypeUpdates): Promise { if (!this._noUpdates) { await this.fetchPeers('users' in update ? update.users : []); await this.fetchPeers('chats' in update ? update.chats : []); - if (update instanceof Raw.Updates) { - const parsed: Array = []; + if (update instanceof Skema.Raw.Updates) { + const parsed: Array = []; for (const up of update.updates) { - if (up instanceof Raw.UpdateEncryption) { - if ((up as Raw.UpdateEncryption).chat instanceof Raw.EncryptedChat) { - await this._secretChat.finish((up as Raw.UpdateEncryption).chat as Raw.EncryptedChat); + if (up instanceof Skema.Raw.UpdateEncryption) { + if ((up as Skema.Raw.UpdateEncryption).chat instanceof Skema.Raw.EncryptedChat) { + await this._secretChat.finish( + (up as Skema.Raw.UpdateEncryption).chat as Skema.Raw.EncryptedChat, + ); } - if ((up as Raw.UpdateEncryption).chat instanceof Raw.EncryptedChatDiscarded) { + if ( + (up as Skema.Raw.UpdateEncryption).chat instanceof Skema.Raw.EncryptedChatDiscarded + ) { await this._storage.removeSecretChatById( - ((up as Raw.UpdateEncryption).chat as Raw.EncryptedChatDiscarded).id, + ((up as Skema.Raw.UpdateEncryption).chat as Skema.Raw.EncryptedChatDiscarded).id, ); } - if ((up as Raw.UpdateEncryption).chat instanceof Raw.EncryptedChatRequested) { + if ( + (up as Skema.Raw.UpdateEncryption).chat instanceof Skema.Raw.EncryptedChatRequested + ) { await this._secretChat.accept( - (up as Raw.UpdateEncryption).chat as Raw.EncryptedChatRequested, + (up as Skema.Raw.UpdateEncryption).chat as Skema.Raw.EncryptedChatRequested, ); } - } else if (up instanceof Raw.UpdateNewEncryptedMessage) { + } else if (up instanceof Skema.Raw.UpdateNewEncryptedMessage) { const modUpdate = await this._handleSecretChatUpdate( - up as Raw.UpdateNewEncryptedMessage, + up as Skema.Raw.UpdateNewEncryptedMessage, ); if (modUpdate) { parsed.push(modUpdate); @@ -378,46 +377,46 @@ export class Client { } return update; } - private async _handleSecretChatUpdate(update: Raw.UpdateNewEncryptedMessage) { - const modUpdate = await UpdateSecretChatMessage.generate(update, this._secretChat); - if (modUpdate.message instanceof SecretChatMessageService) { - const msg = (modUpdate.message as SecretChatMessageService).message; + private async _handleSecretChatUpdate(update: Skema.Raw.UpdateNewEncryptedMessage) { + const modUpdate = await Skema.UpdateSecretChatMessage.generate(update, this._secretChat); + if (modUpdate.message instanceof Skema.SecretChatMessageService) { + const msg = (modUpdate.message as Skema.SecretChatMessageService).message; if (msg && 'action' in msg) { const action = msg.action; - if (action instanceof Raw.DecryptedMessageActionRequestKey20) { + if (action instanceof Skema.Raw.DecryptedMessageActionRequestKey20) { await this._secretChat.acceptRekeying( modUpdate.message.chatId, - action as Raw.DecryptedMessageActionRequestKey20, + action as Skema.Raw.DecryptedMessageActionRequestKey20, ); return false; } - if (action instanceof Raw.DecryptedMessageActionAcceptKey20) { + if (action instanceof Skema.Raw.DecryptedMessageActionAcceptKey20) { await this._secretChat.commitRekeying( modUpdate.message.chatId, - action as Raw.DecryptedMessageActionAcceptKey20, + action as Skema.Raw.DecryptedMessageActionAcceptKey20, ); return false; } - if (action instanceof Raw.DecryptedMessageActionCommitKey20) { + if (action instanceof Skema.Raw.DecryptedMessageActionCommitKey20) { await this._secretChat.finalRekeying( modUpdate.message.chatId, - action as Raw.DecryptedMessageActionCommitKey20, + action as Skema.Raw.DecryptedMessageActionCommitKey20, ); return false; } - if (action instanceof Raw.DecryptedMessageActionNoop20) { + if (action instanceof Skema.Raw.DecryptedMessageActionNoop20) { return false; } - if (action instanceof Raw.DecryptedMessageActionNotifyLayer17) { + if (action instanceof Skema.Raw.DecryptedMessageActionNotifyLayer17) { const peer = await this._storage.getSecretChatById(modUpdate.message.chatId); if (peer) { - peer.layer = (action as Raw.DecryptedMessageActionNotifyLayer17).layer; - if ((action as Raw.DecryptedMessageActionNotifyLayer17).layer < 73) { + peer.layer = (action as Skema.Raw.DecryptedMessageActionNotifyLayer17).layer; + if ((action as Skema.Raw.DecryptedMessageActionNotifyLayer17).layer < 73) { peer.mtproto = 1; } await peer.update(this._storage); if ( - (action as Raw.DecryptedMessageActionNotifyLayer17).layer >= 17 && + (action as Skema.Raw.DecryptedMessageActionNotifyLayer17).layer >= 17 && Date.now() / 1000 - peer.created > 15 ) { await this._secretChat.notifyLayer(modUpdate.message.chatId); @@ -425,28 +424,28 @@ export class Client { } return false; } - if (action instanceof Raw.DecryptedMessageActionSetMessageTTL8) { + if (action instanceof Skema.Raw.DecryptedMessageActionSetMessageTTL8) { const peer = await this._storage.getSecretChatById(modUpdate.message.chatId); if (peer) { - peer.ttl = (action as Raw.DecryptedMessageActionSetMessageTTL8).ttlSeconds; + peer.ttl = (action as Skema.Raw.DecryptedMessageActionSetMessageTTL8).ttlSeconds; await peer.update(this._storage); } return false; } } } - if (modUpdate.message instanceof SecretChatMessage) { - const msg = (modUpdate.message as SecretChatMessage).message; - if (msg instanceof Raw.DecryptedMessageLayer17) { + if (modUpdate.message instanceof Skema.SecretChatMessage) { + const msg = (modUpdate.message as Skema.SecretChatMessage).message; + if (msg instanceof Skema.Raw.DecryptedMessageLayer17) { const peer = await this._storage.getSecretChatById(modUpdate.message.chatId); if (peer) { peer.inSeqNo += 1; - if ((msg as Raw.DecryptedMessageLayer17).layer >= 17) { - peer.layer = (msg as Raw.DecryptedMessageLayer17).layer; + if ((msg as Skema.Raw.DecryptedMessageLayer17).layer >= 17) { + peer.layer = (msg as Skema.Raw.DecryptedMessageLayer17).layer; } await peer.update(this._storage); if ( - (msg as Raw.DecryptedMessageLayer17).layer >= 17 && + (msg as Skema.Raw.DecryptedMessageLayer17).layer >= 17 && Date.now() / 1000 - peer.created > 15 ) { await this._secretChat.notifyLayer(modUpdate.message.chatId); @@ -459,14 +458,14 @@ export class Client { /** * Add handler when update coming. */ - addHandler(callback: { (update: Raw.TypeUpdates): void }): undefined { + addHandler(callback: { (update: Skema.Raw.TypeUpdates): void }): undefined { this._handler.push(callback); } /** * Fetch the peer into session. * @param {Array} peers - Peers will be fetched. */ - async fetchPeers(peers: Array): Promise { + async fetchPeers(peers: Array): Promise { let isMin = false; const parsedPeers: Array< [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] @@ -477,8 +476,8 @@ export class Client { isMin = true; continue; } - if (peer instanceof Raw.User) { - peer as Raw.User; + if (peer instanceof Skema.Raw.User) { + peer as Skema.Raw.User; parsedPeers.push([ peer.id, peer.accessHash ?? BigInt(0), @@ -490,9 +489,9 @@ export class Client { : undefined, peer.phone ? peer.phone : undefined, ]); - } else if (peer instanceof Raw.Chat || peer instanceof Raw.ChatForbidden) { + } else if (peer instanceof Skema.Raw.Chat || peer instanceof Skema.Raw.ChatForbidden) { parsedPeers.push([BigInt(-peer.id), BigInt(0), 'group', undefined, undefined]); - } else if (peer instanceof Raw.Channel || peer instanceof Raw.ChannelForbidden) { + } else if (peer instanceof Skema.Raw.Channel || peer instanceof Skema.Raw.ChannelForbidden) { parsedPeers.push([ helpers.getChannelId(peer.id), peer.accessHash ?? BigInt(0), @@ -514,9 +513,14 @@ export class Client { */ async resolvePeer( peerId: bigint | string, - ): Promise { + ): Promise< + | Skema.Raw.InputPeerUser + | Skema.Raw.InputPeerChat + | Skema.Raw.InputPeerChannel + | Skema.Raw.InputUserSelf + > { if (!this._isConnected) { - throw new Errors.ClientError.ClientDisconnected(); + throw new Skema.ClientError.ClientDisconnected(); } if (typeof peerId === 'bigint') { peerId as bigint; @@ -528,9 +532,9 @@ export class Client { if (type === 'user') { await this.fetchPeers( await this.invoke( - new Raw.users.GetUsers({ + new Skema.Raw.users.GetUsers({ id: [ - new Raw.InputUser({ + new Skema.Raw.InputUser({ userId: peerId, accessHash: BigInt(0), }), @@ -540,15 +544,15 @@ export class Client { ); } else if (type === 'chat') { await this.invoke( - new Raw.messages.GetChats({ + new Skema.Raw.messages.GetChats({ id: [-peerId], }), ); } else { await this.invoke( - new Raw.channels.GetChannels({ + new Skema.Raw.channels.GetChannels({ id: [ - new Raw.InputChannel({ + new Skema.Raw.InputChannel({ channelId: helpers.getChannelId(peerId), accessHash: BigInt(0), }), @@ -558,14 +562,14 @@ export class Client { } peer = await this._storage.getPeerById(peerId); if (!peer) { - throw new Errors.Exceptions.BadRequest.PeerIdInvalid(); + throw new Skema.Exceptions.BadRequest.PeerIdInvalid(); } return peer; } } else if (typeof peerId === 'string') { peerId as string; if (peerId === 'self' || peerId === 'me') { - return new Raw.InputUserSelf(); + return new Skema.Raw.InputUserSelf(); } let peer; if (peerId.includes('@')) { @@ -574,7 +578,7 @@ export class Client { return peer; } else { await this.invoke( - new Raw.contacts.ResolveUsername({ + new Skema.Raw.contacts.ResolveUsername({ username: peerId.replace('@', '').trim(), }), ); @@ -582,7 +586,7 @@ export class Client { if (peer) { return peer; } else { - throw new Errors.Exceptions.BadRequest.PeerIdInvalid(); + throw new Skema.Exceptions.BadRequest.PeerIdInvalid(); } } } else if (!Number.isNaN(peerId)) { @@ -594,9 +598,9 @@ export class Client { if (type === 'user') { await this.fetchPeers( await this.invoke( - new Raw.users.GetUsers({ + new Skema.Raw.users.GetUsers({ id: [ - new Raw.InputUser({ + new Skema.Raw.InputUser({ userId: BigInt(peerId), accessHash: BigInt(0), }), @@ -606,15 +610,15 @@ export class Client { ); } else if (type === 'chat') { await this.invoke( - new Raw.messages.GetChats({ + new Skema.Raw.messages.GetChats({ id: [-BigInt(peerId)], }), ); } else { await this.invoke( - new Raw.channels.GetChannels({ + new Skema.Raw.channels.GetChannels({ id: [ - new Raw.InputChannel({ + new Skema.Raw.InputChannel({ channelId: helpers.getChannelId(BigInt(peerId)), accessHash: BigInt(0), }), @@ -624,7 +628,7 @@ export class Client { } peer = await this._storage.getPeerById(BigInt(peerId)); if (!peer) { - throw new Errors.Exceptions.BadRequest.PeerIdInvalid(); + throw new Skema.Exceptions.BadRequest.PeerIdInvalid(); } return peer; } @@ -633,18 +637,18 @@ export class Client { if (peer) { return peer; } else { - throw new Errors.Exceptions.BadRequest.PeerIdInvalid(); + throw new Skema.Exceptions.BadRequest.PeerIdInvalid(); } } } else { - throw new Errors.Exceptions.BadRequest.PeerIdInvalid(); + throw new Skema.Exceptions.BadRequest.PeerIdInvalid(); } } /** * Start a secret chat. * @param { BigInt | String } chatId - Participant id or interlocutor id that you want to transfer to the secret chat. */ - startSecretChat(chatId: bigint | string) { + startSecretChat(chatId: bigint | string): Promise { return this._secretChat.start(chatId); } /** @@ -652,7 +656,7 @@ export class Client { * Secret chats that have been created will be destroyed and closed, so they can no longer be used to send secret messages. * @param {Number} chatId - The id of the secret chat that you want to close. */ - destroySecretChat(chatId: number) { + destroySecretChat(chatId: number): Promise { return this._secretChat.destroy(chatId); } /** @@ -665,7 +669,7 @@ export class Client { fileId, filePart, progress, - }: Files.SaveFileParams): Promise { + }: Files.SaveFileParams): Promise { return Files.upload(this, source, fileName, fileId, filePart, progress); } /** @@ -678,7 +682,9 @@ export class Client { source, fileName, progress, - }: Files.SaveFileStreamParams): Promise { + }: Files.SaveFileStreamParams): Promise< + Skema.Raw.InputFile | Skema.Raw.InputFileBig | undefined + > { return Files.uploadStream(this, source, fileName, progress); } /** diff --git a/src/client/Session.ts b/src/client/Session.ts old mode 100644 new mode 100755 index 2080bdc2e..73046c4b4 --- a/src/client/Session.ts +++ b/src/client/Session.ts @@ -1,23 +1,30 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * client FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import type { Client } from './Client.ts'; -import { Raw, TLObject } from '../raw/index.ts'; -import { Auth, Session, DataCenter } from '../session/index.ts'; -import { Logger } from '../Logger.ts'; -import * as Errors from '../errors/index.ts'; -import * as _Auth from './Auth.ts'; -import * as Version from '../Version.deno.ts'; -import { sysprc } from '../platform.deno.ts'; +import type { Client } from './Client.js'; +import { Auth, Session, DataCenter } from '../session/index.js'; +import { Logger } from '../Logger.js'; +import * as _Auth from './Auth.js'; +import * as Version from '../Version.js'; +import { sysprc, Skema } from '../deps.js'; /** * Load the session, client is used to keep you logged in if you already have an active session. */ +/** + * Loads the active session from the session storage. + * + * If the storage contains no auth key (fresh session), this will automatically + * coordinate generating a new key on the default data center. + * + * @this Client + * @returns {Promise} + */ export async function loadSession(this: Client): Promise { await (this as Client)._storage.load(); // without authkey, that mean the session is fresh. @@ -55,13 +62,18 @@ export async function loadSession(this: Client): Promise { ); } } + /** - * Connecting client to telegram server.
- * You can't receive any updates if you not call getMe after connected. + * Connects the client to the Telegram server. + * + * Establishes the network connection session but does not trigger login or start update polling. + * + * @this Client + * @returns {Promise} */ export async function connect(this: Client): Promise { if (!(this as Client)._isConnected) { - Logger.info(`[100] Using version: ${Version.version} - ${Version.getType()}`); + Logger.info(`[1.client.Session] Using version: ${Version.version} - ${Version.getType()}`); await loadSession.call(this); (this as Client)._session = new Session( this, @@ -76,13 +88,21 @@ export async function connect(this: Client): Promise { (this as Client)._isConnected = true; } } + /** - * Starting telegram client. + * Connects and starts the Telegram client. + * + * Automatically performs authorization using the provided bot token or user credentials if no active session is stored. + * + * @this Client + * @param {SigInBot | SigInUser} [auth] - The optional authentication bot or user credentials. + * @returns {Promise} Information about the logged-in user or bot. + * @throws {AuthKeyMissing} Thrown if no authorization key is available. */ export async function start( this: Client, auth?: _Auth.SigInBot | _Auth.SigInUser, -): Promise { +): Promise { await connect.call(this); if ((this as Client)._storage.userId === undefined) { if (auth) { @@ -94,70 +114,84 @@ export async function start( } } if (!(this as Client)._storage.authKey) { - throw new Errors.ClientError.AuthKeyMissing(); + throw new Skema.ClientError.AuthKeyMissing(); } if (!(this as Client)._storage.isBot && (this as Client)._takeout) { - const takeout = await (this as Client).invoke(new Raw.account.InitTakeoutSession({})); + const takeout = await (this as Client).invoke(new Skema.Raw.account.InitTakeoutSession({})); (this as Client)._takeoutId = takeout.id; - Logger.warning(`[104] Takeout session ${(this as Client)._takeoutId} initiated.`); + Logger.warning(`[2.client.Session] Takeout session ${(this as Client)._takeoutId} initiated.`); } - await (this as Client).invoke(new Raw.updates.GetState()); + await (this as Client).invoke(new Skema.Raw.updates.GetState()); const me = await _Auth.getMe.call(this); (this as Client)._me = me; - Logger.log(`[161] Logined as (${me.fullUser.id})`); + Logger.log(`[3.client.Session] Logined as (${me.fullUser.id})`); return me; } + /** - * Logout and kill the client. + * Logs out the current user/bot session, deletes local storage credentials, and halts execution. + * + * @this Client + * @returns {Promise} */ export async function logout(this: Client): Promise { - await (this as Client).invoke(new Raw.auth.LogOut()); + await (this as Client).invoke(new Skema.Raw.auth.LogOut()); await (this as Client)._storage.delete(); - Logger.info(`[105] Logged out.`); + Logger.info(`[4.client.Session] Logged out.`); return sysprc.exit(0); // kill the process } + /** - * Exporting current session to string. + * Exports the active session credentials into a serialized string representation. + * + * @this Client + * @returns {Promise} The serialized string session representation. */ export async function exportSession(this: Client): Promise { if (!(this as Client)._storage.userId) { const me = (this as Client)._me ?? (await _Auth.getMe.call(this)); - (this as Client)._storage.setUserId((me.fullUser as unknown as Raw.UserFull).id); + (this as Client)._storage.setUserId((me.fullUser as unknown as Skema.Raw.UserFull).id); // @ts-ignore (this as Client)._storage.setIsBot(Boolean(me.users[0].bot)); } return (this as Client)._storage.exportString(); } + /** - * Sending request to telegram.
- * Only telegram method can be invoked. - * @param {TLObject} query - Raw class from telegram method. - * @param {Number} retries - Max retries for invoking. default is same with ClientInterface.maxRetries or 5. - * @param {Number} timeout - How long to wait for the function to finish. default is 15s. - * @param {Number} sleepTreshold - Sleep treshold when you got flood wait. default is ClientInterface.sleepTreshold or 10s. + * Sends a TL method request to the Telegram server. + * + * Automatically applies modifications based on takeout or `noUpdates` client configurations. + * + * @this Client + * @param {Skema.TLObject} query - The raw method TL object request. + * @param {number} retries - Maximum retry count upon connection interruptions. + * @param {number} timeout - Maximum timeout limit in milliseconds. + * @param {number} sleepTreshold - Flood wait sleep threshold limit in milliseconds. + * @returns {Promise} The returned response TL object. + * @throws {ClientDisconnected} Thrown if invoked while the client is not connected. */ export async function invoke( this: Client, - query: TLObject, + query: Skema.TLObject, retries: number, timeout: number, sleepTreshold: number, -): Promise { +): Promise { if (!(this as Client)._isConnected) { - throw new Errors.ClientError.ClientDisconnected(); + throw new Skema.ClientError.ClientDisconnected(); } if ((this as Client)._noUpdates) { - query = new Raw.InvokeWithoutUpdates({ query }); + query = new Skema.Raw.InvokeWithoutUpdates({ query }); } if ((this as Client)._takeoutId) { - query = new Raw.InvokeWithTakeout({ query, takeoutId: (this as Client)._takeoutId }); + query = new Skema.Raw.InvokeWithTakeout({ query, takeoutId: (this as Client)._takeoutId }); } const r = await (this as Client)._session.invoke(query, retries, timeout, sleepTreshold); if (typeof r === 'object' && 'users' in r) { - await (this as Client).fetchPeers(r.users as unknown as Array); + await (this as Client).fetchPeers(r.users as unknown as Array); } if (typeof r === 'object' && 'chats' in r) { - await (this as Client).fetchPeers(r.chats as unknown as Array); + await (this as Client).fetchPeers(r.chats as unknown as Array); } return r; } diff --git a/src/client/index.ts b/src/client/index.ts old mode 100644 new mode 100755 index d2625d471..c0584a0e5 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,6 +8,6 @@ * it under the terms of the GPL v3 License as published. */ -export * as Client from './Client.ts'; -export * as Auth from './Auth.ts'; -export * as Session from './Session.ts'; +export * as Client from './Client.js'; +export * as Auth from './Auth.js'; +export * as Session from './Session.js'; diff --git a/src/connection/TCP/TCPAbridged.ts b/src/connection/TCP/TCPAbridged.ts old mode 100644 new mode 100755 index 08507c963..b5a6d8af6 --- a/src/connection/TCP/TCPAbridged.ts +++ b/src/connection/TCP/TCPAbridged.ts @@ -1,16 +1,15 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { Buffer } from '../../platform.deno.ts'; -import { TCP } from './tcp.ts'; -import { bigintToBuffer } from '../../helpers.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { Buffer, Skema } from '../../deps.js'; +import { TCP } from './tcp.js'; +import type { ProxyInterface } from '../connection.js'; /** * @class TCPAbridged @@ -21,11 +20,16 @@ export class TCPAbridged extends TCP { constructor() { super(); } - override async connect(ip: string, port: number, proxy?: ProxyInterface, dcId?: number) { + override async connect( + ip: string, + port: number, + proxy?: ProxyInterface, + dcId?: number, + ): Promise { await super.connect(ip, port, proxy, dcId); return await super.send(Buffer.from('ef', 'hex')); } - override async send(data: Buffer) { + override async send(data: Buffer): Promise { const length = Math.round(Buffer.byteLength(data) / 4); if (length <= 126) { const mark: Buffer = Buffer.from([length]); @@ -37,14 +41,14 @@ export class TCPAbridged extends TCP { Buffer.concat([ Buffer.concat([ Buffer.from('7f', 'hex') as unknown as Uint8Array, - bigintToBuffer(BigInt(length), 3) as unknown as Uint8Array, + Skema.bigintToBuffer(BigInt(length), 3) as unknown as Uint8Array, ]) as unknown as Uint8Array, data as unknown as Uint8Array, ]), ); } } - override async recv(_length: number = 0) { + override async recv(_length: number = 0): Promise { let length = await super.recv(1); if (!length) return; if (length.equals(Buffer.from('7f', 'hex') as unknown as Uint8Array)) { diff --git a/src/connection/TCP/TCPAbridgedO.ts b/src/connection/TCP/TCPAbridgedO.ts old mode 100644 new mode 100755 index ca03243c4..7ac8842d9 --- a/src/connection/TCP/TCPAbridgedO.ts +++ b/src/connection/TCP/TCPAbridgedO.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,16 +8,11 @@ * it under the terms of the GPL v3 License as published. */ -import { TCP } from './tcp.ts'; -import { - includesBuffer, - sliceBuffer, - bigintToBuffer, - normalizeSecretString, -} from '../../helpers.ts'; -import { crypto, Buffer } from '../../platform.deno.ts'; -import { ctr256Cipher, type CtrCipherFn } from '../../crypto/Aes.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { TCP } from './tcp.js'; +import { includesBuffer, sliceBuffer, normalizeSecretString } from '../../helpers.js'; +import { crypto, Buffer, Skema } from '../../deps.js'; +import { ctr256Cipher, type CtrCipherFn } from '../../crypto/Aes.js'; +import type { ProxyInterface } from '../connection.js'; /** * @class TCPAbridgedO @@ -130,7 +125,7 @@ export class TCPAbridgedO extends TCP { } await super.send(nonce); } - override async send(data: Buffer) { + override async send(data: Buffer): Promise { const length = Math.round(Buffer.byteLength(data) / 4); if (length <= 126) { return await super.send( @@ -147,7 +142,7 @@ export class TCPAbridgedO extends TCP { Buffer.concat([ Buffer.concat([ Buffer.from('7f', 'hex') as unknown as Uint8Array, - bigintToBuffer(BigInt(length), 3) as unknown as Uint8Array, + Skema.bigintToBuffer(BigInt(length), 3) as unknown as Uint8Array, ]) as unknown as Uint8Array, data as unknown as Uint8Array, ]), @@ -155,7 +150,7 @@ export class TCPAbridgedO extends TCP { ); } } - override async recv(_length: number = 0) { + override async recv(_length: number = 0): Promise { let length = await super.recv(1); if (!length) return; length = Buffer.from(this._decryptor(length) as unknown as Uint8Array); diff --git a/src/connection/TCP/TCPFull.ts b/src/connection/TCP/TCPFull.ts old mode 100644 new mode 100755 index 4e6b1dc3b..e5a46deb1 --- a/src/connection/TCP/TCPFull.ts +++ b/src/connection/TCP/TCPFull.ts @@ -1,16 +1,16 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { Buffer } from '../../platform.deno.ts'; -import { TCP } from './tcp.ts'; -import { crc32 } from '../../helpers.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { Buffer } from '../../deps.js'; +import { TCP } from './tcp.js'; +import { crc32 } from '../../helpers.js'; +import type { ProxyInterface } from '../connection.js'; /** * @class TCPFull @@ -27,7 +27,7 @@ export class TCPFull extends TCP { await super.connect(ip, port, proxy, dcId); this._seq = 0; } - override async send(data: Buffer) { + override async send(data: Buffer): Promise { const allocSum = Buffer.alloc(8); allocSum.writeInt32LE(Buffer.byteLength(data) + 12, 0); allocSum.writeInt32LE(this._seq, 4); @@ -39,7 +39,7 @@ export class TCPFull extends TCP { this._seq += 1; await super.send(data); } - override async recv(_length: number = 0) { + override async recv(_length: number = 0): Promise { const length = await super.recv(4); if (!length) return; let packet = await super.recv(length.readInt32LE(0) - 4); diff --git a/src/connection/TCP/TCPIntermediate.ts b/src/connection/TCP/TCPIntermediate.ts old mode 100644 new mode 100755 index c4a17f6f2..0c0518c0a --- a/src/connection/TCP/TCPIntermediate.ts +++ b/src/connection/TCP/TCPIntermediate.ts @@ -1,15 +1,15 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { Buffer } from '../../platform.deno.ts'; -import { TCP } from './tcp.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { Buffer } from '../../deps.js'; +import { TCP } from './tcp.js'; +import type { ProxyInterface } from '../connection.js'; /** * @class TCPIntermediate @@ -20,7 +20,12 @@ export class TCPIntermediate extends TCP { constructor() { super(); } - override async connect(ip: string, port: number, proxy?: ProxyInterface, dcId?: number) { + override async connect( + ip: string, + port: number, + proxy?: ProxyInterface, + dcId?: number, + ): Promise { await super.connect(ip, port, proxy, dcId); await super.send( Buffer.concat([ @@ -31,14 +36,14 @@ export class TCPIntermediate extends TCP { ]), ); } - override async send(data: Buffer) { + override async send(data: Buffer): Promise { const allocLength = Buffer.alloc(4); allocLength.writeInt32LE(Buffer.byteLength(data), 0); await super.send( Buffer.concat([allocLength as unknown as Uint8Array, data as unknown as Uint8Array]), ); } - override async recv(_length: number = 0) { + override async recv(_length: number = 0): Promise { const length = await super.recv(4); if (!length) return; return await super.recv(length.readInt32LE(0)); diff --git a/src/connection/TCP/TCPIntermediateO.ts b/src/connection/TCP/TCPIntermediateO.ts old mode 100644 new mode 100755 index fbe8908e1..58971ab79 --- a/src/connection/TCP/TCPIntermediateO.ts +++ b/src/connection/TCP/TCPIntermediateO.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,12 +8,11 @@ * it under the terms of the GPL v3 License as published. */ -import { TCP } from './tcp.ts'; -import { includesBuffer, normalizeSecretString, sliceBuffer } from '../../helpers.ts'; -import { crypto, Buffer } from '../../platform.deno.ts'; -import { ctr256Cipher, type CtrCipherFn } from '../../crypto/Aes.ts'; -import { Primitive } from '../../raw/core/index.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { TCP } from './tcp.js'; +import { includesBuffer, normalizeSecretString, sliceBuffer } from '../../helpers.js'; +import { crypto, Buffer, Skema } from '../../deps.js'; +import { ctr256Cipher, type CtrCipherFn } from '../../crypto/Aes.js'; +import type { ProxyInterface } from '../connection.js'; /** * @class TCPIntermediateO @@ -126,16 +125,16 @@ export class TCPIntermediateO extends TCP { } await super.send(nonce); } - override async send(data: Buffer) { + override async send(data: Buffer): Promise { const payload = this._encryptor( Buffer.concat([ - Primitive.Int.write(Buffer.byteLength(data)) as unknown as Uint8Array, + Skema.Primitive.Int.write(Buffer.byteLength(data)) as unknown as Uint8Array, data as unknown as Uint8Array, ]), ); return await super.send(payload); } - override async recv(_length: number = 0) { + override async recv(_length: number = 0): Promise { let length = await super.recv(4); if (!length) return; length = this._decryptor(length); diff --git a/src/connection/TCP/TCPPaddedIntermediate.ts b/src/connection/TCP/TCPPaddedIntermediate.ts old mode 100644 new mode 100755 index 2deceeeec..5d08f0a27 --- a/src/connection/TCP/TCPPaddedIntermediate.ts +++ b/src/connection/TCP/TCPPaddedIntermediate.ts @@ -1,15 +1,15 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { Buffer } from '../../platform.deno.ts'; -import { TCP } from './tcp.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { Buffer } from '../../deps.js'; +import { TCP } from './tcp.js'; +import type { ProxyInterface } from '../connection.js'; /** * @class TCPPaddedIntermediate @@ -20,7 +20,12 @@ export class TCPPaddedIntermediate extends TCP { constructor() { super(); } - override async connect(ip: string, port: number, proxy?: ProxyInterface, dcId?: number) { + override async connect( + ip: string, + port: number, + proxy?: ProxyInterface, + dcId?: number, + ): Promise { await super.connect(ip, port, proxy, dcId); await super.send( Buffer.concat([ @@ -31,7 +36,7 @@ export class TCPPaddedIntermediate extends TCP { ]), ); } - override async send(data: Buffer) { + override async send(data: Buffer): Promise { data = Buffer.concat([ data as unknown as Uint8Array, Buffer.alloc(Buffer.byteLength(data) % 4) as unknown as Uint8Array, @@ -42,7 +47,7 @@ export class TCPPaddedIntermediate extends TCP { Buffer.concat([allocLength as unknown as Uint8Array, data as unknown as Uint8Array]), ); } - override async recv(_length: number = 0) { + override async recv(_length: number = 0): Promise { const length = await super.recv(4); if (!length) return; const data = await super.recv(length.readInt32LE(0)); diff --git a/src/connection/TCP/index.ts b/src/connection/TCP/index.ts old mode 100644 new mode 100755 index 57166a1a5..b16144ec5 --- a/src/connection/TCP/index.ts +++ b/src/connection/TCP/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,10 +8,10 @@ * it under the terms of the GPL v3 License as published. */ -export { TCP } from './tcp.ts'; -export { TCPAbridged } from './TCPAbridged.ts'; -export { TCPAbridgedO } from './TCPAbridgedO.ts'; -export { TCPFull } from './TCPFull.ts'; -export { TCPIntermediate } from './TCPIntermediate.ts'; -export { TCPIntermediateO } from './TCPIntermediateO.ts'; -export { TCPPaddedIntermediate } from './TCPPaddedIntermediate.ts'; +export { TCP } from './tcp.js'; +export { TCPAbridged } from './TCPAbridged.js'; +export { TCPAbridgedO } from './TCPAbridgedO.js'; +export { TCPFull } from './TCPFull.js'; +export { TCPIntermediate } from './TCPIntermediate.js'; +export { TCPIntermediateO } from './TCPIntermediateO.js'; +export { TCPPaddedIntermediate } from './TCPPaddedIntermediate.js'; diff --git a/src/connection/TCP/tcp.ts b/src/connection/TCP/tcp.ts old mode 100644 new mode 100755 index 4749f40e6..39761b0e9 --- a/src/connection/TCP/tcp.ts +++ b/src/connection/TCP/tcp.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,36 +8,47 @@ * it under the terms of the GPL v3 License as published. */ -import { Socket } from '../WebSocket.ts'; -import { Mutex, inspect, Buffer } from '../../platform.deno.ts'; -import { Timeout } from '../../Timeout.ts'; -import { sleep } from '../../helpers.ts'; -import type { ProxyInterface } from '../connection.ts'; +import { Socket } from '../WebSocket.js'; +import { Mutex, inspect, Buffer } from '../../deps.js'; +import { Timeout } from '../../Timeout.js'; +import { sleep } from '../../helpers.js'; +import type { ProxyInterface } from '../connection.js'; /** - * @class TCP - * This class is for connecting to telegram server. - * This class will use {@link WebSocket} class to connecting to telegram server. - * You can extend this class to make the MTProto transport (see {@link https://core.telegram.org/mtproto/mtproto-transports transport}) + * Base TCP connection wrapper layer. + * + * Provides network interface orchestration by leveraging the underlying `Socket` class. + * This class can be extended to construct concrete custom MTProto transport protocols + * (e.g. TCPAbridged, TCPIntermediate, etc.) described by the Telegram MTProto Transport specification. + * + * @see {@link https://core.telegram.org/mtproto/mtproto-transports Telegram MTProto Transports} */ export class TCP { - /** @hidden */ + /** The internal Promise-based Socket connection instance. */ private _socks!: Socket; - /** @hidden */ + /** Internal Timeout helper managing task expiration. */ private _task!: Timeout; - /** @hidden */ + /** A Mutex semaphore ensuring thread-safe write execution. */ private _mutex: Mutex = new Mutex(); + /** Indicates if the TCP socket stream is connected. */ connected!: boolean; + + /** + * Initializes a new TCP socket adapter instance. + */ constructor() { this._task = new Timeout(); this._socks = new Socket(10 * 1000); } + /** - * connect to telegram server. - * @param {String} ip - Telegram data center IP. - * @param {Number} port - Port for connecting to telegram data center. - * @param {ProxyInterface | undefined} proxy - Connect to telegram via socks proxy. This only applies on platforms other than browsers. - * @param {Number | undefined} _dcId - Data center for connecting to MTProxy. + * Establishes a TCP socket channel to the specified Telegram server. + * + * @param {string} ip - Target Telegram data center IP address or hostname. + * @param {number} port - Remote target port. + * @param {ProxyInterface} [proxy] - Optional proxy configuration settings. + * @param {number} [_dcId] - Data center index configuration used primarily for MTProxy handshakes. + * @returns {Promise} */ async connect(ip: string, port: number, proxy?: ProxyInterface, _dcId?: number) { const release = await this._mutex.acquire(); @@ -47,19 +58,26 @@ export class TCP { release(); } } + /** - * Disconnect from telegram data center. + * Tears down the active network connection, resets timeout queues, and closes socket streams. + * + * @returns {Promise} */ - async close() { + async close(): Promise { await this._task.clear(); // clear all timeout process await sleep(1); if (!this._socks) return; return await this._socks.destroy(); // destroy socket } + /** - * Send requests to telegram using websocket. The message must be of bytes supported by telegram for the message to be valid. - * see {@link https://core.telegram.org/mtproto/mtproto-transports transport} - * @param {Buffer} data - message to be sent to telegram server. The message must be encrypted according to what is explained on the Telegram website. + * Sends binary buffer requests across the established socket interface. + * + * Thread-safe; serialization is guarded internally by a Mutex. + * + * @param {Buffer} data - Binary buffer payload to transmit. + * @returns {Promise} */ async send(data: Buffer) { const release = await this._mutex.acquire(); @@ -69,11 +87,14 @@ export class TCP { release(); } } + /** - * Receive response or update from telegram. - * @param {Number} length - How many bytes to receive. + * Pulls a guaranteed amount of bytes from the received stream buffer queue. + * + * @param {number} [length=0] - Exact number of bytes to retrieve. + * @returns {Promise} The requested data chunk, or `undefined` if disconnected. */ - async recv(length: number = 0) { + async recv(length: number = 0): Promise { let data: Buffer = Buffer.alloc(0); while (Buffer.byteLength(data) < length) { const chunk = await this._task.run( diff --git a/src/connection/WebSocket.ts b/src/connection/WebSocket.ts old mode 100644 new mode 100755 index 9d695960d..77695d668 --- a/src/connection/WebSocket.ts +++ b/src/connection/WebSocket.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,43 +8,66 @@ * it under the terms of the GPL v3 License as published. */ -import { net, Mutex, SocksClient, isBrowser, inspect, Buffer } from '../platform.deno.ts'; -import { Logger } from '../Logger.ts'; -import { WSError } from '../errors/index.ts'; -import type { ProxyInterface } from './connection.ts'; +import { net, Mutex, SocksClient, platform, inspect, Buffer, Skema } from '../deps.js'; +import { Logger } from '../Logger.js'; +import type { ProxyInterface } from './connection.js'; const mutex = new Mutex(); /** - * Promised version of {@link net.Socket Socket} + * A promised wrapper around node TCP network sockets (`net.Socket`) and browser WebSocket connections. + * + * Unifies the dual-platform network capabilities of `@tgsnake/core` by supporting both + * direct TCP sockets (Deno/Node.js), Socks proxies, and standard secure WebSockets (Browsers). */ export class Socket { + /** The underlying WebSocket instance (browser) or TCP Socket instance (Node/Deno). */ private _client!: WebSocket | net.Socket; + /** Internal byte buffer accumulator for incoming stream frames. */ private _data!: Buffer; + /** Signal Promise controlling asynchronous read block queues. */ private _read!: boolean | Promise; + /** Resolver function to notify waiting read queues of new buffer data packets. */ private _promisedReading!: (value?: unknown) => void; + /** - * The timeout used to run the function of the {@link net.Socket Socket}. If more than the time has been found, it will return a TimeoutError error. + * The connection timeout in milliseconds. */ timeout!: number; + /** - * Whether the current connection is running or not. + * Indicates if the connection is currently closed. */ _connectionClosed!: boolean; + + /** + * Creates a new Promise Socket wrapper. + * + * @param {number} timeout - Connection/read timeout limit in milliseconds. + */ constructor(timeout: number) { this._data = Buffer.alloc(0); this._connectionClosed = true; this.timeout = timeout; } + /** - * Connecting {@link net.Socket Socket} to the server asynchronously. - * @param {String} ip - IP Server - * @param {Number} port - Port server + * Connects to the remote target IP and Port server. + * + * Leverages WebSockets on browser environments, SocksClient on SOCKS proxy scenarios, + * or direct net.Socket streams on standard runtime environments. + * + * @param {string} ip - Server hostname or IP address. + * @param {number} port - Server port. + * @param {ProxyInterface} [proxy] - Optional Socks proxy connection settings. + * @returns {Promise} Resolves to this Socket instance upon successful connection. + * @throws {ProxyUnsupported} Thrown if browser platform attempts SOCKS proxy configurations. + * @throws {WebSocketError} Thrown if network connection fails. */ - async connect(ip: string, port: number, proxy?: ProxyInterface) { - if (isBrowser) { + async connect(ip: string, port: number, proxy?: ProxyInterface): Promise { + if (platform === 'Browser') { if (proxy && !('server' in proxy && 'port' in proxy && 'secret' in proxy)) { - throw new WSError.ProxyUnsupported(); + throw new Skema.WSError.ProxyUnsupported(); } if (port === 443) { this._client = new WebSocket(`wss://${ip.replace('$PORT', String(port))}`, 'binary'); @@ -62,7 +85,7 @@ export class Socket { }; (this._client as WebSocket).onerror = (error: Event) => { return 'message' in error - ? reject(new WSError.WebSocketError(error.message as string)) + ? reject(new Skema.WSError.WebSocketError(error.message as string)) : reject(error); }; (this._client as WebSocket).onclose = () => { @@ -105,7 +128,7 @@ export class Socket { return new Promise((resolve, reject) => { (this._client as net.Socket).on('error', (error: Error) => { return error.message - ? reject(new WSError.WebSocketError(error.message)) + ? reject(new Skema.WSError.WebSocketError(error.message)) : reject(error); }); (this._client as net.Socket).on('close', () => { @@ -131,7 +154,7 @@ export class Socket { }); (this._client as net.Socket).on('error', (error: Error) => { return error.message - ? reject(new WSError.WebSocketError(error.message)) + ? reject(new Skema.WSError.WebSocketError(error.message)) : reject(error); }); (this._client as net.Socket).on('close', () => { @@ -144,16 +167,19 @@ export class Socket { } } } + /** - * Disconnect {@link net.Socket Socket} from server. + * Destroys and closes the active network connection wrapper. + * + * @returns {Promise} Resolves to `true` when connection is successfully shut down. */ - async destroy() { + async destroy(): Promise { if (this._client && !this._connectionClosed) { this._connectionClosed = true; this._read = new Promise((resolve: { (value?: unknown): void }) => { this._promisedReading = resolve; }) as unknown as Promise; - if (isBrowser) { + if (platform === 'Browser') { await (this._client as WebSocket).close(); } else { await (this._client as net.Socket).destroy(); @@ -162,18 +188,20 @@ export class Socket { } return this._connectionClosed; } + /** - * Receive data updates from the server asynchronously. - * If the client is not connected to the client, it will return an {@link WSError.Disconnected} error. + * Spawns listeners to accumulate incoming binary frames into the local data buffer queue. + * + * @throws {Disconnected} Thrown if called while the connection is closed. */ recv() { if (this._client && !this._connectionClosed) { - if (isBrowser) { + if (platform === 'Browser') { (this._client as WebSocket).onmessage = async (data) => { const _data = Buffer.from(await new Response(data.data).arrayBuffer()); const release = await mutex.acquire(); try { - Logger.debug(`[3] Receive ${Buffer.byteLength(_data)} bytes data`); + Logger.debug(`[1.connection.WebSocket] Receive ${Buffer.byteLength(_data)} bytes data`); this._data = Buffer.concat([ this._data as unknown as Uint8Array, _data as unknown as Uint8Array, @@ -187,7 +215,7 @@ export class Socket { (this._client as net.Socket).on('data', async (data: Buffer) => { const release = await mutex.acquire(); try { - Logger.debug(`[3] Receive ${Buffer.byteLength(data)} bytes data`); + Logger.debug(`[2.connection.WebSocket] Receive ${Buffer.byteLength(data)} bytes data`); this._data = Buffer.concat([ this._data as unknown as Uint8Array, data as unknown as Uint8Array, @@ -199,20 +227,23 @@ export class Socket { }); } } else { - throw new WSError.Disconnected(); + throw new Skema.WSError.Disconnected(); } } + /** - * Send request to the server asynchronously. - * If the client is not connected to the client, it will return an {@link WSError.Disconnected} error. - * @param {Buffer} data - The request will be sent to the server. Data must be a buffer. + * Transmits binary data payload buffer over the socket stream. + * + * @param {Buffer} data - Binary data buffer payload. + * @returns {Promise} + * @throws {Disconnected} Thrown if called while the connection is closed. */ async send(data: Buffer) { if (this._client && !this._connectionClosed) { const release = await mutex.acquire(); try { - if (isBrowser) { - (this._client as WebSocket).send(data as unknown as ArrayBufferLike); + if (platform === 'Browser') { + (this._client as WebSocket).send(data as unknown as BufferSource); } else { (this._client as net.Socket).write(data as unknown as Uint8Array); } @@ -220,21 +251,27 @@ export class Socket { release(); } } else { - throw new WSError.Disconnected(); + throw new Skema.WSError.Disconnected(); } } + /** - * Read data updates from the server asynchronously. - * If the client is not connected to the client, it will return an {@link WSError.ReadClosed} error. - * @param {Number} length - How many bytes of data to read. + * Reads a slice of data up to the requested byte length from the buffered accumulator. + * + * Asynchronously blocks until the buffered accumulator acquires enough bytes to fulfill + * the requested slice or until the connection is terminated. + * + * @param {number} length - Number of bytes to retrieve. + * @returns {Promise} The sliced binary buffer payload. + * @throws {ReadClosed} Thrown if the stream read channels close during operation. */ - async read(length: number) { + async read(length: number): Promise { if (this._connectionClosed) { - throw new WSError.ReadClosed(); + throw new Skema.WSError.ReadClosed(); } await this._read; if (this._connectionClosed) { - throw new WSError.ReadClosed(); + throw new Skema.WSError.ReadClosed(); } const toRead = this._data.subarray(0, length); this._data = this._data.subarray(length); @@ -245,12 +282,15 @@ export class Socket { } return toRead; } + /** - * Read data updates from the server asynchronously. - * If the client is not connected to the client, it will return an {@link WSError.ReadClosed} error. - * @param {Number} length - How many bytes of data to read. + * Continuously pulls and aggregates bytes until the exact requested byte length is satisfied. + * + * @param {number} length - Number of bytes to guarantee read. + * @returns {Promise} The accumulated binary buffer payload. + * @throws {ReadClosed} Thrown if the connection is terminated before satisfying the byte length. */ - async reading(length: number) { + async reading(length: number): Promise { if (this._client && !this._connectionClosed) { let data = Buffer.alloc(0); while (!this._connectionClosed) { @@ -259,8 +299,10 @@ export class Socket { length = length - Buffer.byteLength(readed); if (!length) return data; } + // if connection closed before reading the required length, throw error + throw new Skema.WSError.ReadClosed(); } else { - throw new WSError.ReadClosed(); + throw new Skema.WSError.ReadClosed(); } } /** @ignore */ diff --git a/src/connection/connection.ts b/src/connection/connection.ts old mode 100644 new mode 100755 index dac15e00b..31f3ff3f4 --- a/src/connection/connection.ts +++ b/src/connection/connection.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,15 +8,14 @@ * it under the terms of the GPL v3 License as published. */ -import * as TCPs from './TCP/index.ts'; -import { DataCenter } from '../session/index.ts'; -import { sleep, normalizeSecretString } from '../helpers.ts'; -import { Logger } from '../Logger.ts'; -import { isBrowser, inspect, Buffer } from '../platform.deno.ts'; -import { ClientError } from '../errors/index.ts'; +import * as TCPs from './TCP/index.js'; +import { DataCenter } from '../session/index.js'; +import { sleep, normalizeSecretString } from '../helpers.js'; +import { Logger } from '../Logger.js'; +import { platform, inspect, Buffer, Skema } from '../deps.js'; /** - * Several TCP models are available. + * A dictionary mapping connection modes to their corresponding TCP protocol implementation classes. */ export const TCPModes = { 0: TCPs.TCPFull, @@ -27,6 +26,9 @@ export const TCPModes = { 5: TCPs.TCPIntermediateO, }; +/** + * Type representing any supported TCP protocol implementation. + */ export type TypeTCP = | TCPs.TCPFull | TCPs.TCPAbridged @@ -35,77 +37,116 @@ export type TypeTCP = | TCPs.TCPIntermediateO | TCPs.TCPPaddedIntermediate; +/** + * Enumeration representing all available TCP connection modes. + */ export enum TCP { + /** Unabridged MTProto protocol with full 12-byte header, CRC32 checks, and length padding. */ TCPFull = 0, + /** Abridged MTProto protocol with a compact 1-byte or 4-byte header. */ TCPAbridged = 1, + /** Intermediate MTProto protocol with a constant 4-byte header. */ TCPIntermediate = 2, + /** Padded intermediate MTProto protocol with randomized padding to deter traffic analysis. */ TCPPaddedIntermediate = 3, + /** Obfuscated abridged MTProto protocol using random keys to encrypt the stream. */ TCPAbridgedO = 4, + /** Obfuscated intermediate MTProto protocol. */ TCPIntermediateO = 5, } +/** + * Interface detailing configuration parameters for a Socks (Socks4 or Socks5) proxy connection. + */ export interface SocksProxyInterface { /** - * IP destination for socks proxy. + * The destination hostname or IP address of the Socks proxy server. */ hostname: string; /** - * Port destination for socks proxy. + * The destination port of the Socks proxy server. */ port: number; /** - * Socks version. It should be 4 or 5. It marks using Socks4 or Socks5. + * The Socks protocol version. Must be `4` (Socks4) or `5` (Socks5). */ socks: 4 | 5; /** - * If the proxy uses authentication, enter this using the authentication username. + * The optional authentication username. */ username?: string; /** - * If the proxy uses authentication, enter this using the authentication password of given username. + * The optional authentication password of the corresponding username. */ password?: string; } + +/** + * Interface detailing configuration parameters for an MTProto proxy connection. + */ export interface MtprotoProxyInterface { /** - * Destination hostname or server for connecting MTProto Proxy server. + * The server hostname or IP address of the MTProto proxy. */ server: string; /** - * Destination port for connecting to MTProto Proxy server. + * The server port of the MTProto proxy. */ port: number; /** - * Secret of MTProto Proxy, can be encoded as hex string or buffer. + * The authentication secret key of the MTProto proxy (hex string or Buffer representation). */ secret: string | Buffer; } + +/** + * Type combining all proxy interfaces supported by the MTProto client connection layer. + */ export type ProxyInterface = SocksProxyInterface | MtprotoProxyInterface; +/** + * Main Connection manager class responsible for establishing TCP sockets to Telegram. + * + * Manages protocol negotiation, proxy wrappers (Socks & MTProto obfuscated modes), + * and reconnection attempt policies. + */ export class Connection { /** - * Limitations of attempts that must be made to connect to the telegram data center server using the available TCP Modes. - * If it exceeds the specified amount, it will return an @link {ClientError.ClientFailed} error. + * Maximum allowed attempts to establish connection with a Telegram DC. + * + * Exceeding this limit throws a `ClientFailed` error. */ maxRetries!: number; - /** @ignore */ + /** The target data center ID. */ private _dcId!: number; - /** @ignore */ + /** Indicates if the client is connecting to Telegram test servers. */ private _test!: boolean; - /** @ignore */ + /** The proxy configuration if active. */ private _proxy?: ProxyInterface; - /** @ignore */ + /** Indicates if this connection is designated specifically for media downloads/uploads. */ private _media!: boolean; - /** @ignore */ + /** The active TCP connection mode mode. */ private _mode!: TCP; - /** @ignore */ + /** The resolved IP address and port array. */ private _address!: [ip: string, port: number]; - /** @ignore */ + /** The active protocol instance wrapper. */ private _protocol!: TypeTCP; - /** @ignore */ + /** Indicates if the socket is currently connected. */ private _connected!: boolean; - /** @ignore */ + /** Indicates if connection is using Deno/Node local deployment configurations. */ private _local!: boolean; + + /** + * Creates a Connection instance. + * + * @param {number} dcId - Target Telegram DC ID. + * @param {boolean} test - If `true`, connects to Telegram test servers. + * @param {boolean} ipv6 - If `true`, resolves target address as IPv6. + * @param {ProxyInterface} [proxy] - Optional proxy configuration wrapper. + * @param {boolean} [media=false] - If `true`, establishes connection designated for media operations. + * @param {TCP} [mode=TCP.TCPFull] - The default TCP protocol wrapper mode. + * @param {boolean} [local] - Browser platform parameter configuring secured vs unsecured WebSocket protocols. + */ constructor( dcId: number, test: boolean, @@ -113,7 +154,10 @@ export class Connection { proxy?: ProxyInterface, media: boolean = false, mode: TCP = TCP.TCPFull, - local: boolean = (isBrowser && globalThis && globalThis.location.protocol !== 'https:') || true, + local: boolean = (platform === 'Browser' && + globalThis && + globalThis.location.protocol !== 'https:') || + true, ) { this.maxRetries = 3; this._dcId = dcId; @@ -125,9 +169,20 @@ export class Connection { this._local = local; this._connected = false; } - async connect() { + + /** + * Asynchronously initiates the TCP connection to the resolved Telegram address. + * + * If a proxy or web browser environment is detected, it automatically negotiates + * fallback to obfuscated modes (TCPAbridgedO/TCPIntermediateO) to dodge DPI/firewalls. + * + * @returns {Promise} Resolves to `true` when connection establishes successfully. + * @throws {ClientReady} Thrown if connection is already established. + * @throws {ClientFailed} Thrown if connection cannot be established after max retries. + */ + async connect(): Promise { if (this._protocol && this._connected) { - throw new ClientError.ClientReady(); + throw new Skema.ClientError.ClientReady(); } for (let i = 0; i < this.maxRetries; i++) { if ( @@ -135,7 +190,7 @@ export class Connection { 'server' in this._proxy && 'port' in this._proxy && 'secret' in this._proxy) || - isBrowser) && + platform === 'Browser') && this._mode !== TCP.TCPAbridgedO && this._mode !== TCP.TCPIntermediateO ) { @@ -157,41 +212,67 @@ export class Connection { } this._protocol = new TCPModes[this._mode](); try { - Logger.debug(`[1] Connecting to DC${this._dcId} with ${this._protocol.constructor.name}`); + Logger.debug( + `[1.connection.connection] Connecting to DC${this._dcId} with ${this._protocol.constructor.name}`, + ); await this._protocol.connect( this._address[0], - isBrowser ? (this._local ? 80 : this._address[1]) : this._address[1], + platform === 'Browser' ? (this._local ? 80 : this._address[1]) : this._address[1], this._proxy, this._dcId + (this._test ? 10000 : 0) * (this._media ? -1 : 1), ); this._connected = true; break; } catch (error: unknown) { - Logger.error(`[106] Got error when trying connecting to telegram :`, error); + Logger.error( + `[2.connection.connection] Got error when trying connecting to telegram :`, + error, + ); this._protocol.close(); await sleep(2000); } } if (!this._connected) { - throw new ClientError.ClientFailed(); + throw new Skema.ClientError.ClientFailed(); } return this._connected; } + + /** + * Closes the active TCP socket and destroys connection state. + * + * @returns {Promise} + * @throws {ClientNotReady} Thrown if Connection is not active/ready to close. + */ async close() { if (!this._protocol || !this._connected) { - throw new ClientError.ClientNotReady(); + throw new Skema.ClientError.ClientNotReady(); } this._connected = false; await sleep(10); await this._protocol.close(); } + + /** + * Sends raw binary payload data over the active TCP stream. + * + * @param {Buffer} data - The binary buffer data payload. + * @returns {Promise} + */ async send(data: Buffer) { - Logger.debug(`[2] Sending ${Buffer.byteLength(data)} bytes data.`); + Logger.debug(`[3.connection.connection] Sending ${Buffer.byteLength(data)} bytes data.`); await this._protocol.send(data); } - async recv() { + + /** + * Asynchronously waits and receives a raw binary message frame from the active TCP stream. + * + * @returns {Promise} The received buffer frame. + * @throws {ClientDisconnected} Thrown if called while connection is disconnected. + */ + async recv(): Promise { if (!this._connected) { - throw new ClientError.ClientDisconnected(); + throw new Skema.ClientError.ClientDisconnected(); } return await this._protocol.recv(); } diff --git a/src/connection/index.ts b/src/connection/index.ts old mode 100644 new mode 100755 index 9d4587aad..f01f205ed --- a/src/connection/index.ts +++ b/src/connection/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,7 +8,7 @@ * it under the terms of the GPL v3 License as published. */ -import * as TCP from './TCP/index.ts'; -export * as Connections from './connection.ts'; -export { Socket } from './WebSocket.ts'; +import * as TCP from './TCP/index.js'; +export * as Connections from './connection.js'; +export { Socket } from './WebSocket.js'; export { TCP }; diff --git a/src/crypto/Aes.ts b/src/crypto/Aes.ts old mode 100644 new mode 100755 index 1e959f22b..b0b7f99f4 --- a/src/crypto/Aes.ts +++ b/src/crypto/Aes.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,19 +8,23 @@ * it under the terms of the GPL v3 License as published. */ -import { crypto, aesjs, Buffer, where } from '../platform.deno.ts'; -import { Logger } from '../Logger.ts'; -import { range, mod, bigintToBuffer as toBuffer, bufferToBigint as toBigint } from '../helpers.ts'; +import { crypto, aesjs, Buffer, platform, Skema } from '../deps.js'; +import { Logger } from '../Logger.js'; +import { range } from '../helpers.js'; /** - * Encrypt content with AES-256-IGE mode. - * @param {Buffer} data - Content will be encrypted. - * @param {Buffer} key - Key for encrypting content. - * @param {Buffer} iv - Initial Vector for encrypting content. + * Encrypts a binary payload buffer using the AES-256-IGE symmetric cipher mode. + * + * Automatically applies padding (adds random trailing bytes) to align the data length to 16-byte blocks. + * + * @param {Buffer} data - Binary buffer payload to encrypt. + * @param {Buffer} key - 32-byte secret encryption key. + * @param {Buffer} iv - 32-byte initial vector. + * @returns {Buffer} The encrypted payload buffer. */ export function ige256Encrypt(data: Buffer, key: Buffer, iv: Buffer): Buffer { - Logger.debug(`[4] Encrypting ${Buffer.byteLength(data)} bytes data with AES-256-IGE`); - const pad = mod(Buffer.byteLength(data), 16); + Logger.debug(`[1.crypto.Aes] Encrypting ${Buffer.byteLength(data)} bytes data with AES-256-IGE`); + const pad = Skema.mod(Buffer.byteLength(data), 16); if (pad) { data = Buffer.concat([ data as unknown as Uint8Array, @@ -29,63 +33,93 @@ export function ige256Encrypt(data: Buffer, key: Buffer, iv: Buffer): Buffer { } return ige(data, key, iv, true); } + /** - * Decrypt content with AES-256-IGE mode. - * @param {Buffer} data - Content will be decrypting. - * @param {Buffer} key - Key for decrypting content. - * @param {Buffer} iv - Initial Vector for decrypting content. + * Decrypts an AES-256-IGE encrypted binary buffer payload. + * + * @param {Buffer} data - The encrypted binary buffer payload. + * @param {Buffer} key - 32-byte secret encryption key. + * @param {Buffer} iv - 32-byte initial vector. + * @returns {Buffer} The decrypted payload buffer. */ export function ige256Decrypt(data: Buffer, key: Buffer, iv: Buffer): Buffer { - Logger.debug(`[5] Decrypting ${Buffer.byteLength(data)} bytes data with AES-256-IGE`); + Logger.debug(`[2.crypto.Aes] Decrypting ${Buffer.byteLength(data)} bytes data with AES-256-IGE`); return ige(data, key, iv, false); } + /** - * Functions for encryption or decryption content. - * @param {Buffer} data - Content to be encrypted or decrypted. + * Interface definition for AES CTR cipher execution functions. */ export type CtrCipherFn = (data: Buffer) => Buffer; + /** - * Encrypt or decrypt content with AES-256-CTR mode. - * @param {Buffer} key - Key for encrypting content. - * @param {Buffer} iv - Initial Vector for encrypting content. + * Creates and returns an execution function to encrypt or decrypt data streams using the AES-256-CTR cipher. + * + * Unifies NodeJS crypto utilities, browser-friendly JS implementations, and Deno fallbacks. + * + * @param {Buffer} key - The 32-byte key buffer. + * @param {Buffer} iv - The 16-byte initial vector buffer. + * @returns {CtrCipherFn} The cipher execution function. */ export function ctr256Cipher(key: Buffer, iv: Buffer): CtrCipherFn { - if (where === 'Browser') { + if (platform === 'Browser') { const cipher = new aesjs.ModeOfOperation.ctr( key, new aesjs.Counter(Uint8Array.from(iv as unknown as Uint8Array)), ); return (data: Buffer) => { - Logger.debug(`[140] Cryptograph ${Buffer.byteLength(data)} bytes data with AES-256-CTR`); + Logger.debug( + `[3.crypto.Aes] Cryptograph ${Buffer.byteLength(data)} bytes data with AES-256-CTR`, + ); return Buffer.from(cipher.encrypt(data)); }; } try { const cipher = crypto.createCipheriv('AES-256-CTR', key, iv); return (data: Buffer) => { - Logger.debug(`[140] Cryptograph ${Buffer.byteLength(data)} bytes data with AES-256-CTR`); + Logger.debug( + `[4.crypto.Aes] Cryptograph ${Buffer.byteLength(data)} bytes data with AES-256-CTR`, + ); return Buffer.from(cipher.update(data) as unknown as Uint8Array); }; } catch (_error) { const cipher = ctr(key, iv); return (data: Buffer) => { - Logger.debug(`[140] Cryptograph ${Buffer.byteLength(data)} bytes data with AES-256-CTR`); + Logger.debug( + `[5.crypto.Aes] Cryptograph ${Buffer.byteLength(data)} bytes data with AES-256-CTR`, + ); return Buffer.from(cipher.update(data) as unknown as Uint8Array); }; } } + /** - * Xor the A bytes with B bytes. + * Computes the bitwise XOR operation between two byte buffers. + * + * @param {Buffer} a - First byte buffer operand. + * @param {Buffer} b - Second byte buffer operand. + * @returns {Buffer} The resulting byte buffer product. */ -export function xor(a: Buffer, b: Buffer) { - return toBuffer(BigInt(toBigint(a, false) ^ toBigint(b, false)), Buffer.byteLength(a), false); +export function xor(a: Buffer, b: Buffer): Buffer { + return Skema.bigintToBuffer( + BigInt(Skema.bufferToBigint(a, false) ^ Skema.bufferToBigint(b, false)), + Buffer.byteLength(a), + false, + ) as unknown as Buffer; } + /** - * Make AES encryption without Initial Vector. + * Wraps low-level AES symmetric encryption/decryption routines (ECB mode). + * + * @param {Buffer} key - 32-byte secret key buffer. + * @returns {{ encrypt(data: Buffer): Buffer, decrypt(data: Buffer): Buffer }} Symmetric cipher handler options. */ -export function AES(key: Buffer) { +export function AES(key: Buffer): { + encrypt(data: Buffer): Buffer; + decrypt(data: Buffer): Buffer; +} { const iv = Buffer.alloc(0); - if (where === 'Browser' || where === 'Deno') { + if (platform === 'Browser' || platform === 'Deno') { const cipher = new aesjs.ModeOfOperation.ecb(key); return { encrypt(data: Buffer): Buffer { diff --git a/src/crypto/Mtproto.ts b/src/crypto/Mtproto.ts old mode 100644 new mode 100755 index 3b5dfb3c9..bf85f79a3 --- a/src/crypto/Mtproto.ts +++ b/src/crypto/Mtproto.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,13 +8,10 @@ * it under the terms of the GPL v3 License as published. */ -import { crypto, Buffer } from '../platform.deno.ts'; -import { SecurityCheckMismatch } from '../errors/index.ts'; -import { Message, BytesIO } from '../raw/index.ts'; -import { MsgId } from '../session/internals/MsgId.ts'; -import { mod, bigIntMod } from '../helpers.ts'; -import { ige256Encrypt, ige256Decrypt } from './Aes.ts'; -import { Logger } from '../Logger.ts'; +import { crypto, Buffer, Skema, BytesIO } from '../deps.js'; +import { MsgId } from '../session/internals/MsgId.js'; +import { ige256Encrypt, ige256Decrypt } from './Aes.js'; +import { Logger } from '../Logger.js'; const STORED_MSG_IDS_MAX_SIZE = 1000 * 2; @@ -34,7 +31,15 @@ function toBytes(value: bigint): Buffer { } /** - * Encrypt content with kdf + * Generates AES encryption keys and initialization vectors using Key Derivation Function (KDF). + * + * Complies with the official Telegram MTProto key derivation guidelines. + * + * @see {@link https://core.telegram.org/mtproto/description#defining-aes-key-and-initialization-vector MTProto Key Derivation} + * @param {Buffer} authKey - The full authorization key buffer. + * @param {Buffer} msgKey - The 16-byte message key buffer. + * @param {boolean} outgoing - If `true`, derives keys for outgoing traffic; otherwise for incoming. + * @returns {Array} A 2-element array containing the derived [aesKey, aesIv] buffers. */ export function kdf(authKey: Buffer, msgKey: Buffer, outgoing: boolean): Array { // https://core.telegram.org/mtproto/description#defining-aes-key-and-initialization-vector @@ -63,11 +68,26 @@ export function kdf(authKey: Buffer, msgKey: Buffer, outgoing: boolean): Array} storedMsgId - An array accumulating processed message IDs to block replay attacks. + * @returns {Promise} The successfully decrypted and checked TL Message. + * @throws {SecurityCheckMismatch} Thrown if any security integrity checks fail. */ export async function unpack( b: BytesIO, @@ -111,8 +150,8 @@ export async function unpack( authKey: Buffer, authKeyId: Buffer, storedMsgId: Array, -): Promise { - SecurityCheckMismatch.check( +): Promise { + Skema.SecurityCheckMismatch.check( b.read(8).equals(authKeyId as unknown as Uint8Array), 'Provided auth key id is not equal with expected one.', ); @@ -127,18 +166,18 @@ export async function unpack( decrypted as unknown as Uint8Array, ]), ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( msgKey.equals(hash.subarray(8, 24) as unknown as Uint8Array), 'Provided msg key is not equal with expected one', ); const data = new BytesIO(decrypted); data.read(8); // salt // https://core.telegram.org/mtproto/security_guidelines#checking-session-id - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( Buffer.from(data.read(8) as unknown as Uint8Array).equals(sessionId as unknown as Uint8Array), 'Provided session id is not equal with expected one.', ); - const message = await Message.read(new BytesIO(data.buffer.slice(16))).catch((error) => { + const message = await Skema.Message.read(new BytesIO(data.buffer.subarray(16))).catch((error) => { Logger.error(error); // I'm not sure about this, because we don't have a KeyError, so keep this as console.log until we know the error structure. /*if(error.args[0] === 0) throw new Error("Received empty data. Check your internet connection.") @@ -155,17 +194,17 @@ export async function unpack( data.seek(32); // Get to the payload, skip salt (8) + session_id (8) + msg_id (8) + seq_no (4) + length (4) const payload = data.read(); const padding = payload.subarray(message!.length); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( Buffer.byteLength(padding) >= 12 && Buffer.byteLength(padding) <= 1024, 'Payload padding is lower than 12 or bigger than 1024', ); - SecurityCheckMismatch.check( - mod(Buffer.byteLength(padding), 4) === 0, + Skema.SecurityCheckMismatch.check( + Skema.mod(Buffer.byteLength(padding), 4) === 0, 'Mod of padding length with 4 is equal with zero', ); // https://core.telegram.org/mtproto/security_guidelines#checking-msg-id - SecurityCheckMismatch.check( - bigIntMod(message!.msgId, BigInt(2)) !== BigInt(0), + Skema.SecurityCheckMismatch.check( + Skema.bigIntMod(message!.msgId, BigInt(2)) !== BigInt(0), 'Mod of msgId with 2 is not equal with zero', ); if (storedMsgId.length > STORED_MSG_IDS_MAX_SIZE) { @@ -174,21 +213,21 @@ export async function unpack( if (storedMsgId.length) { // Ignored message: msg_id is lower than all of the stored values if (message!.msgId < storedMsgId[0]) { - throw new SecurityCheckMismatch('Msg id is lower than all of the stored values'); + throw new Skema.SecurityCheckMismatch('Msg id is lower than all of the stored values'); } // Ignored message: msg_id is equal to any of the stored values if (storedMsgId.includes(message!.msgId)) { - throw new SecurityCheckMismatch('Msg id is equal to any of the stored values'); + throw new Skema.SecurityCheckMismatch('Msg id is equal to any of the stored values'); } const msgId = new MsgId(); const timeDiff = BigInt(message!.msgId - msgId.getMsgId()) / BigInt(2 ** 32); // Ignored message: msg_id belongs over 30 seconds in the future if (timeDiff > BigInt(30)) { - throw new SecurityCheckMismatch('Msg id belongs over 30 seconds in the future'); + throw new Skema.SecurityCheckMismatch('Msg id belongs over 30 seconds in the future'); } // Ignored message: msg_id belongs over 300 seconds in the past if (timeDiff < BigInt(-300)) { - throw new SecurityCheckMismatch('Msg id belongs over 300 seconds in the past'); + throw new Skema.SecurityCheckMismatch('Msg id belongs over 300 seconds in the past'); } } storedMsgId.push(message!.msgId); diff --git a/src/crypto/Password.ts b/src/crypto/Password.ts old mode 100644 new mode 100755 index 0418be9cf..7296dab78 --- a/src/crypto/Password.ts +++ b/src/crypto/Password.ts @@ -1,15 +1,13 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { Raw } from '../raw/index.ts'; -import { crypto, Buffer } from '../platform.deno.ts'; -import { bufferToBigint, bigintToBuffer, bigIntPow, bigIntMod } from '../helpers.ts'; +import { crypto, Buffer, Skema } from '../deps.js'; /** * Create a sha256 hash. @@ -20,7 +18,7 @@ function sha256(data: Buffer) { /** * Xor the buffer A with B. */ -export function xor(a: Buffer, b: Buffer) { +export function xor(a: Buffer, b: Buffer): Buffer { const length = Math.min(Buffer.byteLength(a), Buffer.byteLength(b)); for (let i = 0; i < length; i++) { (a as unknown as Uint8Array)[i] = @@ -35,7 +33,7 @@ export function xor(a: Buffer, b: Buffer) { */ export function computePasswordHash( - algo: Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow, + algo: Skema.Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow, password: string, ): Buffer { const hash1 = sha256( @@ -67,11 +65,11 @@ export function computePasswordHash( * @param {String} password - Plain password will be check with current password. */ export function computePasswordCheck( - r: Raw.account.Password, + r: Skema.Raw.account.Password, password: string, -): Raw.InputCheckPasswordSRP { +): Skema.Raw.InputCheckPasswordSRP { const algo = - r.currentAlgo as Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow; + r.currentAlgo as Skema.Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow; const pBytes = algo.p; const p = btoi(pBytes); const g = algo.g; @@ -81,12 +79,12 @@ export function computePasswordCheck( const srpId = r.srpId; const xBytes = computePasswordHash(algo, password); const x = btoi(xBytes); - const gX = bigIntPow(BigInt(g), x, p); + const gX = Skema.bigIntPow(BigInt(g), x, p); const kBytes = sha256( Buffer.concat([pBytes as unknown as Uint8Array, gBytes as unknown as Uint8Array]), ); const k = btoi(kBytes); - const kGX = bigIntMod(k * gX, p); + const kGX = Skema.bigIntMod(k * gX, p); let aBytes; let a; let A; @@ -95,17 +93,17 @@ export function computePasswordCheck( while (true) { aBytes = crypto.randomBytes(256); a = btoi(aBytes); - A = bigIntPow(BigInt(g), a, p); + A = Skema.bigIntPow(BigInt(g), a, p); ABytes = itob(A); u = btoi( sha256(Buffer.concat([ABytes as unknown as Uint8Array, BBytes as unknown as Uint8Array])), ); if (u > BigInt(0)) break; } - const gB = bigIntMod(B - kGX, p); + const gB = Skema.bigIntMod(B - kGX, p); const uX = u * x; const aUX = a + uX; - const S = bigIntPow(gB, aUX, p); + const S = Skema.bigIntPow(gB, aUX, p); const SBytes = itob(S); const KBytes = sha256(SBytes); const M1Bytes = sha256( @@ -118,7 +116,7 @@ export function computePasswordCheck( KBytes as unknown as Uint8Array, ]), ); - return new Raw.InputCheckPasswordSRP({ + return new Skema.Raw.InputCheckPasswordSRP({ srpId: srpId!, a: ABytes, m1: M1Bytes, @@ -129,12 +127,12 @@ export function computePasswordCheck( * @param {Buffer} b - Buffer will be converted to big number. */ function btoi(b: Buffer): bigint { - return bufferToBigint(b, false); + return Skema.bufferToBigint(b, false); } /** * Make a large bytes from big number. * @param {BigInt} i - Big Number will be converted to large bytes. */ function itob(i: bigint): Buffer { - return bigintToBuffer(i, 256, false); + return Skema.bigintToBuffer(i, 256, false); } diff --git a/src/crypto/Prime.ts b/src/crypto/Prime.ts old mode 100644 new mode 100755 index 529944fdc..285bded6c --- a/src/crypto/Prime.ts +++ b/src/crypto/Prime.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,9 +8,10 @@ * it under the terms of the GPL v3 License as published. */ -import { bigMath, bigIntMod, randBigint, bigIntPow } from '../helpers.ts'; +import { bigMath, randBigint } from '../helpers.js'; +import { Skema } from '../deps.js'; -const CURRENT_DH_PRIME = BigInt( +const CURRENT_DH_PRIME: bigint = BigInt( '0x' + 'C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F' + '48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C37' + @@ -24,16 +25,16 @@ const CURRENT_DH_PRIME = BigInt( // Recursive variant export function gcd(a: bigint, b: bigint): bigint { while (b) { - const c = bigIntMod(a, b); + const c = Skema.bigIntMod(a, b); a = b; b = c; } return a; } -export function decompose(pq: bigint) { +export function decompose(pq: bigint): bigint { // https://comeoncodeon.wordpress.com/2010/09/18/pollard-rho-brent-integer-factorization/ if (pq == BigInt(1)) return pq; - if (bigIntMod(pq, BigInt(2)) === BigInt(0)) return BigInt(2); + if (Skema.bigIntMod(pq, BigInt(2)) === BigInt(0)) return BigInt(2); let y = randBigint(BigInt(1), pq - BigInt(1)); const c = randBigint(BigInt(1), pq - BigInt(1)); const m = randBigint(BigInt(1), pq - BigInt(1)); @@ -45,14 +46,14 @@ export function decompose(pq: bigint) { while (g === BigInt(1)) { x = y; for (let i = 0; BigInt(i) < r; i++) { - y = bigIntMod(bigIntPow(y, BigInt(2), pq) + c, pq); + y = Skema.bigIntMod(Skema.bigIntPow(y, BigInt(2), pq) + c, pq); } let k = BigInt(0); while (k < r && g === BigInt(1)) { ys = y; for (let i = 0; BigInt(i) < bigMath.min(m, r - k); i++) { - y = bigIntMod(bigIntPow(y, BigInt(2), pq) + c, pq); - q = q * bigIntMod(bigMath.abs(BigInt(x - y)), pq); + y = Skema.bigIntMod(Skema.bigIntPow(y, BigInt(2), pq) + c, pq); + q = q * Skema.bigIntMod(bigMath.abs(BigInt(x - y)), pq); } g = gcd(q, pq); k += m; @@ -60,7 +61,7 @@ export function decompose(pq: bigint) { r *= BigInt(2); if (g === pq) { while (true) { - ys = bigIntMod(bigIntPow(ys, BigInt(2), pq) + c, pq); + ys = Skema.bigIntMod(Skema.bigIntPow(ys, BigInt(2), pq) + c, pq); g = gcd(bigMath.abs(BigInt(x - ys)), pq); if (g > BigInt(1)) break; } diff --git a/src/crypto/RSA.ts b/src/crypto/RSA.ts old mode 100644 new mode 100755 index 10f3ab8af..eae01ea53 --- a/src/crypto/RSA.ts +++ b/src/crypto/RSA.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,14 +8,15 @@ * it under the terms of the GPL v3 License as published. */ -import { - bigIntPow as pow, - bigintToBuffer as toBuffer, - bufferToBigint as toBigint, -} from '../helpers.ts'; -import { Buffer } from '../platform.deno.ts'; +import { Buffer, Skema } from '../deps.js'; -const PublicKey = new Map< +const PublicKey: Map< + bigint, + { + m: bigint; + e: bigint; + } +> = new Map< bigint, { m: bigint; @@ -188,13 +189,31 @@ PublicKey.set(BigInt('2685959930972952888'), { e: BigInt('0x010001'), }); -export function encrypt(data: Buffer, fingerprint: bigint) { +/** + * Encrypts a binary buffer payload using Telegram's RSA public key matching the fingerprint. + * + * Typically utilized during MTProto authentication key exchange handshakes. + * + * @param {Buffer} data - Binary buffer payload to encrypt. + * @param {bigint} fingerprint - Unique public key fingerprint ID. + * @returns {Buffer} Encrypted binary data buffer. + * @throws {Error} Thrown if public key fingerprint is not found. + */ +export function encrypt(data: Buffer, fingerprint: bigint): Buffer { const key = PublicKey.get(fingerprint); if (key == undefined) { throw new Error(`unknown fingerprint ${fingerprint}n`); } return Buffer.from( - toBuffer(pow(toBigint(data, false), key.e, key.m), 256, false) as unknown as Uint8Array, + Skema.bigintToBuffer( + Skema.bigIntPow(Skema.bufferToBigint(data, false), key.e, key.m), + 256, + false, + ) as unknown as Uint8Array, ); } + +/** + * Storage map containing standard Telegram and CDN RSA public keys indexed by fingerprint. + */ export { PublicKey }; diff --git a/src/crypto/SecretChat.ts b/src/crypto/SecretChat.ts old mode 100644 new mode 100755 index 02932aee5..2d8167a62 --- a/src/crypto/SecretChat.ts +++ b/src/crypto/SecretChat.ts @@ -1,18 +1,14 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { crypto, Buffer } from '../platform.deno.ts'; -import { SecurityCheckMismatch, SecretChatError } from '../errors/index.ts'; -import { BytesIO, TLObject } from '../raw/index.ts'; -import { mod } from '../helpers.ts'; -import { ige256Encrypt, ige256Decrypt } from './Aes.ts'; -import { Raw } from '../raw/index.ts'; +import { crypto, Buffer, Skema, BytesIO } from '../deps.js'; +import { ige256Encrypt, ige256Decrypt } from './Aes.js'; function sha256(data: Buffer): Buffer { const hash = crypto.createHash('sha256'); @@ -103,7 +99,7 @@ export function kdf( } export function pack( - message: Raw.TypeDecryptedMessage, + message: Skema.Raw.TypeDecryptedMessage, sharedKey: Buffer, inSeqNo: number, outSeqNo: number, @@ -111,9 +107,9 @@ export function pack( layer: number, mtproto: number = 2, ): Buffer { - let msg: Raw.DecryptedMessageLayer17 | Raw.TypeDecryptedMessage = message; + let msg: Skema.Raw.DecryptedMessageLayer17 | Skema.Raw.TypeDecryptedMessage = message; if (layer > 8) { - msg = new Raw.DecryptedMessageLayer17({ + msg = new Skema.Raw.DecryptedMessageLayer17({ randomBytes: crypto.randomBytes(15 + 4 * Math.floor(Math.random() * 3)), // generate random bytes at least 15 bytes layer: layer, inSeqNo: inSeqNo, @@ -126,7 +122,9 @@ export function pack( length.writeUInt32LE(Buffer.byteLength(bytesmsg), 0); const data = Buffer.concat([length as unknown as Uint8Array, bytesmsg as unknown as Uint8Array]); const padding = Buffer.from( - crypto.randomBytes(mod(-(Buffer.byteLength(data) + 16), 16) + 16) as unknown as Uint8Array, + crypto.randomBytes( + Skema.mod(-(Buffer.byteLength(data) + 16), 16) + 16, + ) as unknown as Uint8Array, ); const paddedMsg = Buffer.concat([ data as unknown as Uint8Array, @@ -153,16 +151,16 @@ export function pack( } export async function unpack( - message: Raw.TypeEncryptedMessage, + message: Skema.Raw.TypeEncryptedMessage, sharedKey: Buffer, isAdmin: boolean, mtproto: number = 2, -): Promise { +): Promise { const data = new BytesIO(message.bytes); const serverFingerprintKey = data.readBigInt64LE(); const clientFingerprintKey = sha1(sharedKey).subarray(-8).readBigInt64LE(); if (serverFingerprintKey !== clientFingerprintKey) { - throw new SecretChatError.FingerprintMismatch(); + throw new Skema.SecretChatError.FingerprintMismatch(); } const msgKey = data.read(16); const encryptedMsg = data.read(); @@ -185,18 +183,18 @@ export async function unpack( mtproto === 1 ? sha1(decryptedMsg.buffer.subarray(0, 4 + msgLength)).subarray(-16) : msgKeyLarge.subarray(8, 8 + 16); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( msgKey.equals(clientMsgKey as unknown as Uint8Array), 'Given message key is not equal with client side', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( Buffer.byteLength(padding) >= 12 && Buffer.byteLength(padding) <= 1024, 'Payload padding is lower than 12 or bigger than 1024', ); - SecurityCheckMismatch.check( - mod(Buffer.byteLength(padding), 4) === 0, + Skema.SecurityCheckMismatch.check( + Skema.mod(Buffer.byteLength(padding), 4) === 0, 'Mod of padding length with 4 is equal with zero', ); - const msg = await TLObject.read(new BytesIO(payload)); + const msg = await Skema.TLObject.read(new BytesIO(payload)); return msg; } diff --git a/src/crypto/index.ts b/src/crypto/index.ts old mode 100644 new mode 100755 index 753c7188f..dc5508010 --- a/src/crypto/index.ts +++ b/src/crypto/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,9 +8,9 @@ * it under the terms of the GPL v3 License as published. */ -export * as Mtproto from './Mtproto.ts'; -export * as Prime from './Prime.ts'; -export * as RSA from './RSA.ts'; -export * as Password from './Password.ts'; -export * as AES from './Aes.ts'; -export * as SecretChats from './SecretChat.ts'; +export * as Mtproto from './Mtproto.js'; +export * as Prime from './Prime.js'; +export * as RSA from './RSA.js'; +export * as Password from './Password.js'; +export * as AES from './Aes.js'; +export * as SecretChats from './SecretChat.js'; diff --git a/src/deps.browser.ts b/src/deps.browser.ts new file mode 100755 index 000000000..2d2c3c623 --- /dev/null +++ b/src/deps.browser.ts @@ -0,0 +1,77 @@ +/** + * tgsnake - Telegram MTProto library for javascript or typescript. + * Copyright (C) 2026 tgsnake + * + * THIS FILE IS PART OF TGSNAKE + * + * tgsnake is a free software : you can redistribute it and/or modify + * it under the terms of the GPL v3 License as published. + */ + +/** + * This file is responsible for providing the necessary dependencies for the tgsnake library. It imports and exports various modules and libraries that are used throughout the codebase, ensuring compatibility across different platforms such as Node.js, Deno, Bun, and browsers. By centralizing these imports and exports, we can maintain a clean and organized codebase while also making it easier to manage dependencies and ensure that the library works seamlessly in various environments. + * The dependencies include core Node.js modules like crypto, net, os, and path, as well as third-party libraries such as aes-js for encryption, big-integer for handling large integers, and SocksClient for proxy support. Additionally, it provides compatibility for different platforms by checking the global environment and exporting the appropriate modules and functions accordingly. + * The browser version of this file will not include Node.js specific modules and will instead rely on browser-compatible libraries and APIs. This ensures that the tgsnake library can run in a browser environment without any issues, while still providing the necessary functionality for Telegram MTProto communication. + * Overall, this file serves as a crucial part of the tgsnake library, ensuring that all necessary dependencies are properly imported and exported for use throughout the codebase while maintaining cross-platform compatibility. + */ +import * as crypto from 'crypto-browserify'; +import * as os from 'os-browserify'; +import * as path from 'path-browserify'; +import stream from 'stream-browserify'; +import aesjs from 'aes-js'; +import bigInt from 'big-integer'; +import process from 'process'; +export { inspect } from 'util'; +export { gzipSync, gunzipSync } from 'browserify-zlib'; +export { Logger } from '@tgsnake/log'; +export { BytesIO } from '@tgsnake/bytesio'; +export * as Skema from '@tgsnake/skema'; +export { Mutex, Semaphore } from 'async-mutex'; +export { Buffer } from 'buffer'; +// Other platform compatibility +// After this line, we will provide some compatibility for Deno, Bun, and Browser so that the same code can run in both environments without modification. +export const platform = 'Browser'; +export const sysprc = { + exit: process.exit, // Deno compatibility, use Deno.exit if available, otherwise use Node's process.exit +}; +// node compatibility +export const SocksClient = { + createConnection: (..._args: Array): any => { + throw new Error('not implemented'); + }, +}; +export class Readable extends stream.Readable { + constructor() { + super(); + } + pipe(destination: any, options?: { end?: boolean }) { + return super.pipe(destination, options); + } +} +class Socket { + destroyed!: boolean; + constructor(..._args: Array) { + throw new Error('not implemented'); + } + connect(..._args: Array): any { + throw new Error('not implemented'); + } + on(..._args: Array): any { + throw new Error('not implemented'); + } + unref(..._args: Array): any { + throw new Error('not implemented'); + } + destroy(..._args: Array): any { + throw new Error('not implemented'); + } + setTimeout(..._args: Array): any { + throw new Error('not implemented'); + } + write(..._args: Array): any { + throw new Error('not implemented'); + } +} +export const net = { Socket }; +export const { Writable, Duplex } = stream; +export { crypto, os, bigInt, path, aesjs }; diff --git a/src/deps.ts b/src/deps.ts new file mode 100755 index 000000000..ebcc7bcfa --- /dev/null +++ b/src/deps.ts @@ -0,0 +1,80 @@ +/** + * tgsnake - Telegram MTProto library for javascript or typescript. + * Copyright (C) 2026 tgsnake + * + * THIS FILE IS PART OF TGSNAKE + * + * tgsnake is a free software : you can redistribute it and/or modify + * it under the terms of the GPL v3 License as published. + */ + +/** + * This file is responsible for providing the necessary dependencies for the tgsnake library. It imports and exports various modules and libraries that are used throughout the codebase, ensuring compatibility across different platforms such as Node.js, Deno, Bun, and browsers. By centralizing these imports and exports, we can maintain a clean and organized codebase while also making it easier to manage dependencies and ensure that the library works seamlessly in various environments. + * The dependencies include core Node.js modules like crypto, net, os, and path, as well as third-party libraries such as aes-js for encryption, big-integer for handling large integers, and SocksClient for proxy support. Additionally, it provides compatibility for different platforms by checking the global environment and exporting the appropriate modules and functions accordingly. + * Overall, this file serves as a crucial part of the tgsnake library, ensuring that all necessary dependencies are properly imported and exported for use throughout the codebase while maintaining cross-platform compatibility. + */ +import * as crypto from 'node:crypto'; +import * as net from 'node:net'; +import * as os from 'node:os'; +import * as path from 'node:path'; +import process from 'node:process'; +import bigInt from 'big-integer'; +import { Buffer } from 'node:buffer'; +import { inspect as nodeInspect } from 'node:util'; +export { gzipSync, gunzipSync } from 'node:zlib'; +export { Readable, Writable, Duplex } from 'node:stream'; +// NPM Dependencies +export { Logger } from '@tgsnake/log'; +export { BytesIO } from '@tgsnake/bytesio'; +export * as Skema from '@tgsnake/skema'; +export { SocksClient } from 'socks'; +export { Mutex, Semaphore } from 'async-mutex'; +// Other platform compatibility +// After this line, we will provide some compatibility for Deno, Bun, and Browser so that the same code can run in both environments without modification. +const isDeno = 'Deno' in globalThis; +const isBun = 'Bun' in globalThis; +const isBrowser = !isDeno && !isBun && typeof window !== 'undefined'; // browser compatibility +export const platform = isDeno ? 'Deno' : isBun ? 'Bun' : isBrowser ? 'Browser' : 'Node'; +export const sysprc = { + exit: isDeno ? globalThis.Deno.exit : process.exit, // Deno compatibility, use Deno.exit if available, otherwise use Node's process.exit +}; +export const inspect = isDeno ? globalThis.Deno.inspect : nodeInspect; // Deno compatibility, use Deno.inspect if available, otherwise use Node's util.inspect +// Browser compatibility +// AES-CTR and AES-ECB are not supported in Deno, so we provide dummy implementations to prevent errors. +class ecb { + constructor(..._args: Array) { + throw new Error('not implemented'); + } + encrypt(..._args: Array): Buffer { + return Buffer.alloc(0); + } + decrypt(..._args: Array): Buffer { + return Buffer.alloc(0); + } +} +class ctr { + constructor(..._args: Array) { + throw new Error('not implemented'); + } + encrypt(..._args: Array): Buffer { + return Buffer.alloc(0); + } + decrypt(..._args: Array): Buffer { + return Buffer.alloc(0); + } +} +class Counter { + constructor(..._args: Array) { + throw new Error('not implemented'); + } +} +const ModeOfOperation = { + ecb, + ctr, +}; +export const aesjs = { + ModeOfOperation, + Counter, +}; + +export { crypto, net, os, bigInt, path, Buffer }; diff --git a/src/errors/Base.ts b/src/errors/Base.ts deleted file mode 100644 index 105fff06e..000000000 --- a/src/errors/Base.ts +++ /dev/null @@ -1,81 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import { inspect } from '../platform.deno.ts'; - -/** - * Represents a base error class for the tgsnake framework. - * Extends the built-in `Error` class and provides additional functionality for custom inspection and JSON serialization. - * - * @remarks - * This class is part of the tgsnake framework and is used as a base class for other custom error types. - * - * @example - * ```typescript - * class CustomError extends BaseError { - * constructor(message: string) { - * super(message); - * this.name = 'CustomError'; - * } - * } - * - * const error = new CustomError('Something went wrong'); - * console.log(error.toString()); - * ``` - * - * @public - */ -export class BaseError extends Error { - override message!: string; - description?: string; - constructor(message?: string) { - super(message); - } - /** @ignore */ - [Symbol.for('nodejs.util.inspect.custom')](): { [key: string]: unknown } { - const toPrint: { [key: string]: unknown } = { - _: this.constructor.name, - }; - for (const key in this) { - if (Object.prototype.hasOwnProperty.call(this, key)) { - const value = this[key]; - if (!key.startsWith('_')) { - toPrint[key] = value; - } - } - } - Object.setPrototypeOf(toPrint, { - stack: this.stack, - }); - return toPrint; - } - /** @ignore */ - [Symbol.for('Deno.customInspect')](): string { - // @ts-ignore: Deno custom inspect - return String(inspect(this[Symbol.for('nodejs.util.inspect.custom')](), { colors: true })); - } - toJSON(): { [key: string]: unknown } { - const toPrint: { [key: string]: unknown } = { - _: this.constructor.name, - stack: this.stack, - }; - for (const key in this) { - if (Object.prototype.hasOwnProperty.call(this, key)) { - const value = this[key]; - if (!key.startsWith('_')) { - toPrint[key] = typeof value === 'bigint' ? String(value) : value; - } - } - } - return toPrint; - } - override toString(): string { - return `[constructor of ${this.constructor.name}] ${JSON.stringify(this, null, 2)}`; - } -} diff --git a/src/errors/Client.ts b/src/errors/Client.ts deleted file mode 100644 index 396d1981e..000000000 --- a/src/errors/Client.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import { BaseError } from './Base.ts'; - -/** - * @class ClientDisconnected - * @extends BaseError - * @description Error thrown when a request is attempted while the Telegram client is disconnected. - */ -export class ClientDisconnected extends BaseError { - override message: string = "Can't send request to telegram when client is unconnected."; - override description: string = - 'The provided telegram client is unconnected, make sure to start the telegram client first before sending request.'; -} - -/** - * @class ClientFailed - * @extends BaseError - * @description Error thrown when the Telegram client fails to connect to the server. - */ -export class ClientFailed extends BaseError { - override message: string = 'Client failed to connect to server.'; - override description: string = - 'The provided telegram client failed to connect to the telegram data center server. Attempts to connect to the telegram server have exceeded the specified maximum limit.'; -} - -/** - * @class ClientReady - * @extends BaseError - * @description Error thrown when an attempt is made to connect an already connected Telegram client. - */ -export class ClientReady extends BaseError { - override message: string = 'Client is already connected to server.'; - override description: string = - 'The provided telegram client has been already connected to the telegram data center server.'; -} - -/** - * @class ClientNotReady - * @extends BaseError - * @description Error thrown when an attempt is made to disconnect an already disconnected Telegram client. - */ -export class ClientNotReady extends BaseError { - override message: string = 'Client is already disconnected to server.'; - override description: string = - 'The provided telegram client has been already disconnected to the telegram data center server.'; -} - -/** - * @class AuthKeyMissing - * @extends BaseError - * @description Error thrown when the authentication key is unavailable. - */ -export class AuthKeyMissing extends BaseError { - override message: string = 'Auth key unavailable'; - override description: string = - 'Auth key is unavailable, this can happen because at when the client is run, the user does not provide information to login.'; -} diff --git a/src/errors/File.ts b/src/errors/File.ts deleted file mode 100644 index 48f9f5a9c..000000000 --- a/src/errors/File.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import { BaseError } from './Base.ts'; - -export class FileError extends BaseError { - constructor(message: string, description?: string) { - super(); - this.message = message; - this.description = description; - } -} - -export class FileUploadZero extends FileError { - constructor() { - super("Can't upload file when it zero bytes.", 'Provided file has zero bytes (0 B) file size.'); - } -} -/** - * Represents an error that occurs when a file upload exceeds the allowed size limit. - * - * @extends {FileError} - */ -export class FileUploadBigger extends FileError { - /** - * Creates an instance of FileUploadBigger. - * - * @param {number} limit - The maximum allowed file size in bytes. - * @param {number} size - The actual size of the uploaded file in bytes. - */ - constructor(limit: number, size: number) { - super( - `File greater than ${limit} B.`, - `The provided file has ${size} B file size, it greater than ${limit} B`, - ); - } -} - -export class FileIsNotReadable extends FileError { - constructor() { - super('FILE_IS_NOT_READABLE', 'The argument provided is not a Readable stream.'); - } -} diff --git a/src/errors/RpcError.ts b/src/errors/RpcError.ts deleted file mode 100644 index a9c775b8a..000000000 --- a/src/errors/RpcError.ts +++ /dev/null @@ -1,168 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { Logger } from '../Logger.ts'; -import { Raw, TLObject } from '../raw/index.ts'; -import { Exceptions } from './exceptions/All.ts'; -import { inspect } from '../platform.deno.ts'; -import { Exceptions as AllExceptions } from './index.ts'; - -interface ExceptionModuleIndexSignature { - SeeOther: typeof AllExceptions.SeeOther; - BadRequest: typeof AllExceptions.BadRequest; - Unauthorized: typeof AllExceptions.Unauthorized; - Forbidden: typeof AllExceptions.Forbidden; - NotAcceptable: typeof AllExceptions.NotAcceptable; - Flood: typeof AllExceptions.Flood; - InternalServerError: typeof AllExceptions.InternalServerError; - ServiceUnavailable: typeof AllExceptions.ServiceUnavailable; - [key: string]: { [key: string]: typeof RPCError }; -} - -function getModule(name: string) { - const [namespace, mod] = name.split('.'); - if ( - (AllExceptions as unknown as ExceptionModuleIndexSignature)[ - namespace as unknown as keyof ExceptionModuleIndexSignature - ] && - (AllExceptions as unknown as ExceptionModuleIndexSignature)[ - namespace as unknown as keyof ExceptionModuleIndexSignature - ][mod] - ) { - return (AllExceptions as unknown as ExceptionModuleIndexSignature)[ - namespace as unknown as keyof ExceptionModuleIndexSignature - ][mod]; - } - return UnknownError; -} - -export class RPCError extends Error { - id!: string; - code!: number; - override message!: string; - override name!: string; - value?: number | string | Raw.RpcError; - _isSigned?: boolean; - _isUnknown?: boolean; - _rpcName?: string; - constructor( - value?: number | string | Raw.RpcError, - rpcName?: string, - isUnknown?: boolean, - isSigned?: boolean, - ) { - super(); - Logger.debug(`[8] Creating new instance RPCError(${rpcName ?? this.name})`); - this._isSigned = isSigned; - this._isUnknown = isUnknown; - this._rpcName = rpcName; - if (!Number.isNaN(value)) { - this.value = Number(value); - } else { - this.value = value; - } - if (isUnknown) { - Logger.debug(`[9] UnknownError : ${this.name}`); - // TODO: write UnknownError.txt file - } - } - /** - * Formating the error messages. - */ - protected _format() { - this.message = `Telegram Says: [${this._isSigned ? '-' : ''}${this.code} ${ - this.id || this.name - }] - ${(this.message || '').replace(/\{value\}/g, String(this.value))} ${ - this._rpcName ? `(caused by ${this._rpcName})` : '' - }`; - } - static async raise(rpcError: Raw.RpcError, rpcType: TLObject) { - let code = rpcError.errorCode; - const message = rpcError.errorMessage; - const isSigned = code < 0; - const name = rpcType.className; - if (isSigned) code = -code; - if (!(code in Exceptions)) { - throw new UnknownError(`[${code} ${message}]`, name, true, isSigned); - } - let id = message.replace(/\_\d+/gm, '_X'); - const regexMatch = message.match(/\_(\d+)/gm); - let value: string = ''; - if (regexMatch) { - value = regexMatch[0].replace(/\_/g, ''); - } - if (!(id in Exceptions[code as keyof typeof Exceptions])) { - // try to replace the last word with asterisk (*) - // example: FILE_REFERENCE_* - id = id.split('_').splice(-1, 1, '*').join('_'); - if (!(id in Exceptions[code as keyof typeof Exceptions])) { - const modules = getModule(Exceptions[code as keyof typeof Exceptions]['_']); - const _module = new modules(value, name, true, isSigned); - _module.message = `[${code} ${message}]`; - _module.id = message.replace(/\_\d+/gm, '_X'); - _module._format(); - throw _module; - } - } - const modules = await getModule( - (Exceptions[code as keyof typeof Exceptions] as { [key: string]: string })[id], - ); - const _module = new modules(value, name, false, isSigned); - _module._format(); - throw _module; - } - /** @ignore */ - [Symbol.for('nodejs.util.inspect.custom')](): { [key: string]: unknown } { - const toPrint: { [key: string]: unknown } = { - _: this.constructor.name, - }; - for (const key in this) { - if (Object.prototype.hasOwnProperty.call(this, key)) { - const value = this[key]; - if (!key.startsWith('_') && value !== undefined && value !== null) { - toPrint[key] = value; - } - } - } - Object.setPrototypeOf(toPrint, { - stack: this.stack, - }); - return toPrint; - } - /** @ignore */ - [Symbol.for('Deno.customInspect')](): string { - // @ts-ignore: deno compatibility - return String(inspect(this[Symbol.for('nodejs.util.inspect.custom')](), { colors: true })); - } - /** @ignore */ - toJSON(): { [key: string]: unknown } { - const toPrint: { [key: string]: unknown } = { - _: this.constructor.name, - stack: this.stack, - }; - for (const key in this) { - if (Object.prototype.hasOwnProperty.call(this, key)) { - const value = this[key]; - if (!key.startsWith('_')) { - toPrint[key] = typeof value === 'bigint' ? String(value) : value; - } - } - } - return toPrint; - } - /** @ignore */ - override toString(): string { - return `[constructor of ${this.constructor.name}] ${JSON.stringify(this, null, 2)}`; - } -} -export class UnknownError extends RPCError { - override code: number = 520; - override name: string = 'Unknown Error'; -} diff --git a/src/errors/SecretChat.ts b/src/errors/SecretChat.ts deleted file mode 100644 index 8dd8be913..000000000 --- a/src/errors/SecretChat.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import { BaseError } from './Base.ts'; -export class SecretChatError extends BaseError { - constructor(message: string, description?: string) { - super(); - this.message = message; - this.description = description; - } -} - -export class FingerprintMismatch extends SecretChatError { - constructor() { - super( - 'Fingerprint key mismatch', - 'Given fingerprint key from message is mismatch. So the message is not secure and the secret chat should be closed.', - ); - } -} -/** - * Error thrown when a secret chat is not found in the session. - * - * @extends {SecretChatError} - */ -export class ChatNotFound extends SecretChatError { - constructor(chatId: number) { - super( - 'Secret chat not found', - `Provided chatId (${chatId}) is not found in session. Make sure the chatId is correct and already saved in session.`, - ); - } -} -export class AlreadyAccepted extends SecretChatError { - constructor() { - super('Secret chat already accepted'); - } -} diff --git a/src/errors/WebSocket.ts b/src/errors/WebSocket.ts deleted file mode 100644 index 8d1e6d914..000000000 --- a/src/errors/WebSocket.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import { BaseError } from './Base.ts'; - -export class WebSocketError extends BaseError { - constructor(message: string, description?: string) { - super(); - this.message = message; - this.description = description; - } -} - -/** - * Represents an error that occurs when attempting to send a request or receive an update - * from a WebSocket server while the WebSocket client is not ready. - * - * @extends WebSocketError - */ -export class Disconnected extends WebSocketError { - constructor() { - super( - 'WebSocket Disconnected', - "This happen when you trying to send request or receive update from websocket server hut the websocket client is doesn't ready. Make sure the websocket client is connected to server.", - ); - } -} -export class ReadClosed extends WebSocketError { - constructor() { - super( - 'WebSocket connection closed when reading data', - 'This happen when suddenly the connection between the websocket client and the server is lost when fetching data updates from the server.', - ); - } -} -export class ProxyUnsupported extends WebSocketError { - constructor() { - super( - 'WebSocket proxy unsupported', - 'This is because browser telegram or websocket proxy are not supported by the framework at this time.', - ); - } -} diff --git a/src/errors/exceptions/All.ts b/src/errors/exceptions/All.ts deleted file mode 100644 index e248e1f38..000000000 --- a/src/errors/exceptions/All.ts +++ /dev/null @@ -1,791 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ - -const count = 743; -const Exceptions = { - 303: { - _: 'SeeOther.SeeOther', - FILE_MIGRATE_X: 'SeeOther.FileMigrate', - NETWORK_MIGRATE_X: 'SeeOther.NetworkMigrate', - PHONE_MIGRATE_X: 'SeeOther.PhoneMigrate', - STATS_MIGRATE_X: 'SeeOther.StatsMigrate', - USER_MIGRATE_X: 'SeeOther.UserMigrate', - }, - 400: { - _: 'BadRequest.BadRequest', - ABOUT_TOO_LONG: 'BadRequest.AboutTooLong', - ACCESS_TOKEN_EXPIRED: 'BadRequest.AccessTokenExpired', - ACCESS_TOKEN_INVALID: 'BadRequest.AccessTokenInvalid', - ADDRESS_INVALID: 'BadRequest.AddressInvalid', - ADMINS_TOO_MUCH: 'BadRequest.AdminsTooMuch', - ADMIN_ID_INVALID: 'BadRequest.AdminIdInvalid', - ADMIN_RANK_EMOJI_NOT_ALLOWED: 'BadRequest.AdminRankEmojiNotAllowed', - ADMIN_RANK_INVALID: 'BadRequest.AdminRankInvalid', - ADMIN_RIGHTS_EMPTY: 'BadRequest.AdminRightsEmpty', - AD_EXPIRED: 'BadRequest.AdExpired', - ALBUM_PHOTOS_TOO_MANY: 'BadRequest.AlbumPhotosTooMany', - API_ID_INVALID: 'BadRequest.ApiIdInvalid', - API_ID_PUBLISHED_FLOOD: 'BadRequest.ApiIdPublishedFlood', - ARTICLE_TITLE_EMPTY: 'BadRequest.ArticleTitleEmpty', - AUDIO_CONTENT_URL_EMPTY: 'BadRequest.AudioContentUrlEmpty', - AUDIO_TITLE_EMPTY: 'BadRequest.AudioTitleEmpty', - AUTH_BYTES_INVALID: 'BadRequest.AuthBytesInvalid', - AUTH_TOKEN_ALREADY_ACCEPTED: 'BadRequest.AuthTokenAlreadyAccepted', - AUTH_TOKEN_EXCEPTION: 'BadRequest.AuthTokenException', - AUTH_TOKEN_EXPIRED: 'BadRequest.AuthTokenExpired', - AUTH_TOKEN_INVALID: 'BadRequest.AuthTokenInvalid', - AUTH_TOKEN_INVALIDX: 'BadRequest.AuthTokenInvalidx', - AUTOARCHIVE_NOT_AVAILABLE: 'BadRequest.AutoarchiveNotAvailable', - BALANCE_TOO_LOW: 'BadRequest.BalanceTooLow', - BANK_CARD_NUMBER_INVALID: 'BadRequest.BankCardNumberInvalid', - BANNED_RIGHTS_INVALID: 'BadRequest.BannedRightsInvalid', - BASE_PORT_LOC_INVALID: 'BadRequest.BasePortLocInvalid', - BIRTHDAY_INVALID: 'BadRequest.BirthdayInvalid', - BOOSTS_EMPTY: 'BadRequest.BoostsEmpty', - BOOSTS_REQUIRED: 'BadRequest.BoostsRequired', - BOOST_NOT_MODIFIED: 'BadRequest.BoostNotModified', - BOOST_PEER_INVALID: 'BadRequest.BoostPeerInvalid', - BOTS_TOO_MUCH: 'BadRequest.BotsTooMuch', - BOT_ALREADY_DISABLED: 'BadRequest.BotAlreadyDisabled', - BOT_APP_BOT_INVALID: 'BadRequest.BotAppBotInvalid', - BOT_APP_INVALID: 'BadRequest.BotAppInvalid', - BOT_APP_SHORTNAME_INVALID: 'BadRequest.BotAppShortnameInvalid', - BOT_BUSINESS_MISSING: 'BadRequest.BotBusinessMissing', - BOT_CHANNELS_NA: 'BadRequest.BotChannelsNa', - BOT_COMMAND_DESCRIPTION_INVALID: 'BadRequest.BotCommandDescriptionInvalid', - BOT_COMMAND_INVALID: 'BadRequest.BotCommandInvalid', - BOT_DOMAIN_INVALID: 'BadRequest.BotDomainInvalid', - BOT_GAMES_DISABLED: 'BadRequest.BotGamesDisabled', - BOT_GROUPS_BLOCKED: 'BadRequest.BotGroupsBlocked', - BOT_INLINE_DISABLED: 'BadRequest.BotInlineDisabled', - BOT_INVALID: 'BadRequest.BotInvalid', - BOT_INVOICE_INVALID: 'BadRequest.BotInvoiceInvalid', - BOT_METHOD_INVALID: 'BadRequest.BotMethodInvalid', - BOT_MISSING: 'BadRequest.BotMissing', - BOT_NOT_CONNECTED_YET: 'BadRequest.BotNotConnectedYet', - BOT_ONESIDE_NOT_AVAIL: 'BadRequest.BotOnesideNotAvail', - BOT_PAYMENTS_DISABLED: 'BadRequest.BotPaymentsDisabled', - BOT_POLLS_DISABLED: 'BadRequest.BotPollsDisabled', - BOT_RESPONSE_TIMEOUT: 'BadRequest.BotResponseTimeout', - BOT_SCORE_NOT_MODIFIED: 'BadRequest.BotScoreNotModified', - BOT_WEBVIEW_DISABLED: 'BadRequest.BotWebviewDisabled', - BROADCAST_ID_INVALID: 'BadRequest.BroadcastIdInvalid', - BROADCAST_PUBLIC_VOTERS_FORBIDDEN: 'BadRequest.BroadcastPublicVotersForbidden', - BROADCAST_REQUIRED: 'BadRequest.BroadcastRequired', - BUSINESS_PEER_INVALID: 'BadRequest.BusinessPeerInvalid', - BUSINESS_PEER_USAGE_MISSING: 'BadRequest.BusinessPeerUsageMissing', - BUSINESS_RECIPIENTS_EMPTY: 'BadRequest.BusinessRecipientsEmpty', - BUSINESS_WORK_HOURS_EMPTY: 'BadRequest.BusinessWorkHoursEmpty', - BUSINESS_WORK_HOURS_PERIOD_INVALID: 'BadRequest.BusinessWorkHoursPeriodInvalid', - BUTTON_COPY_TEXT_INVALID: 'BadRequest.ButtonCopyTextInvalid', - BUTTON_DATA_INVALID: 'BadRequest.ButtonDataInvalid', - BUTTON_ID_INVALID: 'BadRequest.ButtonIdInvalid', - BUTTON_POS_INVALID: 'BadRequest.ButtonPosInvalid', - BUTTON_TEXT_INVALID: 'BadRequest.ButtonTextInvalid', - BUTTON_TYPE_INVALID: 'BadRequest.ButtonTypeInvalid', - BUTTON_URL_INVALID: 'BadRequest.ButtonUrlInvalid', - BUTTON_USER_INVALID: 'BadRequest.ButtonUserInvalid', - BUTTON_USER_PRIVACY_RESTRICTED: 'BadRequest.ButtonUserPrivacyRestricted', - CALL_ALREADY_ACCEPTED: 'BadRequest.CallAlreadyAccepted', - CALL_ALREADY_DECLINED: 'BadRequest.CallAlreadyDeclined', - CALL_OCCUPY_FAILED: 'BadRequest.CallOccupyFailed', - CALL_PEER_INVALID: 'BadRequest.CallPeerInvalid', - CALL_PROTOCOL_FLAGS_INVALID: 'BadRequest.CallProtocolFlagsInvalid', - CDN_METHOD_INVALID: 'BadRequest.CdnMethodInvalid', - CHANNELS_ADMIN_LOCATED_TOO_MUCH: 'BadRequest.ChannelsAdminLocatedTooMuch', - CHANNELS_ADMIN_PUBLIC_TOO_MUCH: 'BadRequest.ChannelsAdminPublicTooMuch', - CHANNELS_TOO_MUCH: 'BadRequest.ChannelsTooMuch', - CHANNEL_ADD_INVALID: 'BadRequest.ChannelAddInvalid', - CHANNEL_BANNED: 'BadRequest.ChannelBanned', - CHANNEL_FORUM_MISSING: 'BadRequest.ChannelForumMissing', - CHANNEL_ID_INVALID: 'BadRequest.ChannelIdInvalid', - CHANNEL_INVALID: 'BadRequest.ChannelInvalid', - CHANNEL_PARICIPANT_MISSING: 'BadRequest.ChannelParicipantMissing', - CHANNEL_PRIVATE: 'BadRequest.ChannelPrivate', - CHANNEL_TOO_BIG: 'BadRequest.ChannelTooBig', - CHANNEL_TOO_LARGE: 'BadRequest.ChannelTooLarge', - CHARGE_ALREADY_REFUNDED: 'BadRequest.ChargeAlreadyRefunded', - CHATLINKS_TOO_MUCH: 'BadRequest.ChatlinksTooMuch', - CHATLINK_SLUG_EMPTY: 'BadRequest.ChatlinkSlugEmpty', - CHATLINK_SLUG_EXPIRED: 'BadRequest.ChatlinkSlugExpired', - CHATLISTS_TOO_MUCH: 'BadRequest.ChatlistsTooMuch', - CHATLIST_EXCLUDE_INVALID: 'BadRequest.ChatlistExcludeInvalid', - CHAT_ABOUT_NOT_MODIFIED: 'BadRequest.ChatAboutNotModified', - CHAT_ABOUT_TOO_LONG: 'BadRequest.ChatAboutTooLong', - CHAT_ADMIN_REQUIRED: 'BadRequest.ChatAdminRequired', - CHAT_DISCUSSION_UNALLOWED: 'BadRequest.ChatDiscussionUnallowed', - CHAT_FORWARDS_RESTRICTED: 'BadRequest.ChatForwardsRestricted', - CHAT_ID_EMPTY: 'BadRequest.ChatIdEmpty', - CHAT_ID_INVALID: 'BadRequest.ChatIdInvalid', - CHAT_INVALID: 'BadRequest.ChatInvalid', - CHAT_INVITE_PERMANENT: 'BadRequest.ChatInvitePermanent', - CHAT_LINK_EXISTS: 'BadRequest.ChatLinkExists', - CHAT_MEMBER_ADD_FAILED: 'BadRequest.ChatMemberAddFailed', - CHAT_NOT_MODIFIED: 'BadRequest.ChatNotModified', - CHAT_PUBLIC_REQUIRED: 'BadRequest.ChatPublicRequired', - CHAT_RESTRICTED: 'BadRequest.ChatRestricted', - CHAT_REVOKE_DATE_UNSUPPORTED: 'BadRequest.ChatRevokeDateUnsupported', - CHAT_SEND_INLINE_FORBIDDEN: 'BadRequest.ChatSendInlineForbidden', - CHAT_TITLE_EMPTY: 'BadRequest.ChatTitleEmpty', - CHAT_TOO_BIG: 'BadRequest.ChatTooBig', - CODE_EMPTY: 'BadRequest.CodeEmpty', - CODE_HASH_INVALID: 'BadRequest.CodeHashInvalid', - CODE_INVALID: 'BadRequest.CodeInvalid', - COLLECTIBLE_INVALID: 'BadRequest.CollectibleInvalid', - COLLECTIBLE_NOT_FOUND: 'BadRequest.CollectibleNotFound', - COLOR_INVALID: 'BadRequest.ColorInvalid', - CONNECTION_API_ID_INVALID: 'BadRequest.ConnectionApiIdInvalid', - CONNECTION_APP_VERSION_EMPTY: 'BadRequest.ConnectionAppVersionEmpty', - CONNECTION_DEVICE_MODEL_EMPTY: 'BadRequest.ConnectionDeviceModelEmpty', - CONNECTION_ID_INVALID: 'BadRequest.ConnectionIdInvalid', - CONNECTION_LANG_PACK_INVALID: 'BadRequest.ConnectionLangPackInvalid', - CONNECTION_LAYER_INVALID: 'BadRequest.ConnectionLayerInvalid', - CONNECTION_NOT_INITED: 'BadRequest.ConnectionNotInited', - CONNECTION_SYSTEM_EMPTY: 'BadRequest.ConnectionSystemEmpty', - CONNECTION_SYSTEM_LANG_CODE_EMPTY: 'BadRequest.ConnectionSystemLangCodeEmpty', - CONTACT_ADD_MISSING: 'BadRequest.ContactAddMissing', - CONTACT_ID_INVALID: 'BadRequest.ContactIdInvalid', - CONTACT_MISSING: 'BadRequest.ContactMissing', - CONTACT_NAME_EMPTY: 'BadRequest.ContactNameEmpty', - CONTACT_REQ_MISSING: 'BadRequest.ContactReqMissing', - CREATE_CALL_FAILED: 'BadRequest.CreateCallFailed', - CURRENCY_TOTAL_AMOUNT_INVALID: 'BadRequest.CurrencyTotalAmountInvalid', - CUSTOM_REACTIONS_TOO_MANY: 'BadRequest.CustomReactionsTooMany', - DATA_INVALID: 'BadRequest.DataInvalid', - DATA_JSON_INVALID: 'BadRequest.DataJsonInvalid', - DATA_TOO_LONG: 'BadRequest.DataTooLong', - DATE_EMPTY: 'BadRequest.DateEmpty', - DC_ID_INVALID: 'BadRequest.DcIdInvalid', - DH_G_A_INVALID: 'BadRequest.DhGAInvalid', - DOCUMENT_INVALID: 'BadRequest.DocumentInvalid', - EMAIL_HASH_EXPIRED: 'BadRequest.EmailHashExpired', - EMAIL_INVALID: 'BadRequest.EmailInvalid', - EMAIL_NOT_ALLOWED: 'BadRequest.EmailNotAllowed', - EMAIL_NOT_SETUP: 'BadRequest.EmailNotSetup', - EMAIL_UNCONFIRMED: 'BadRequest.EmailUnconfirmed', - EMAIL_UNCONFIRMED_X: 'BadRequest.EmailUnconfirmedX', - EMAIL_VERIFY_EXPIRED: 'BadRequest.EmailVerifyExpired', - EMOJI_INVALID: 'BadRequest.EmojiInvalid', - EMOJI_MARKUP_INVALID: 'BadRequest.EmojiMarkupInvalid', - EMOJI_NOT_MODIFIED: 'BadRequest.EmojiNotModified', - EMOTICON_EMPTY: 'BadRequest.EmoticonEmpty', - EMOTICON_INVALID: 'BadRequest.EmoticonInvalid', - EMOTICON_STICKERPACK_MISSING: 'BadRequest.EmoticonStickerpackMissing', - ENCRYPTED_MESSAGE_INVALID: 'BadRequest.EncryptedMessageInvalid', - ENCRYPTION_ALREADY_ACCEPTED: 'BadRequest.EncryptionAlreadyAccepted', - ENCRYPTION_ALREADY_DECLINED: 'BadRequest.EncryptionAlreadyDeclined', - ENCRYPTION_DECLINED: 'BadRequest.EncryptionDeclined', - ENCRYPTION_ID_INVALID: 'BadRequest.EncryptionIdInvalid', - ENTITIES_TOO_LONG: 'BadRequest.EntitiesTooLong', - ENTITY_BOUNDS_INVALID: 'BadRequest.EntityBoundsInvalid', - ENTITY_MENTION_USER_INVALID: 'BadRequest.EntityMentionUserInvalid', - ERROR_TEXT_EMPTY: 'BadRequest.ErrorTextEmpty', - EXPIRE_DATE_INVALID: 'BadRequest.ExpireDateInvalid', - EXPORT_CARD_INVALID: 'BadRequest.ExportCardInvalid', - EXTENDED_MEDIA_AMOUNT_INVALID: 'BadRequest.ExtendedMediaAmountInvalid', - EXTERNAL_URL_INVALID: 'BadRequest.ExternalUrlInvalid', - FIELD_NAME_EMPTY: 'BadRequest.FieldNameEmpty', - FIELD_NAME_INVALID: 'BadRequest.FieldNameInvalid', - FILE_CONTENT_TYPE_INVALID: 'BadRequest.FileContentTypeInvalid', - FILE_EMTPY: 'BadRequest.FileEmtpy', - FILE_ID_INVALID: 'BadRequest.FileIdInvalid', - FILE_MIGRATE_X: 'BadRequest.FileMigrate', - FILE_PARTS_INVALID: 'BadRequest.FilePartsInvalid', - FILE_PART_EMPTY: 'BadRequest.FilePartEmpty', - FILE_PART_INVALID: 'BadRequest.FilePartInvalid', - FILE_PART_LENGTH_INVALID: 'BadRequest.FilePartLengthInvalid', - FILE_PART_SIZE_CHANGED: 'BadRequest.FilePartSizeChanged', - FILE_PART_SIZE_INVALID: 'BadRequest.FilePartSizeInvalid', - FILE_PART_TOO_BIG: 'BadRequest.FilePartTooBig', - FILE_PART_TOO_SMALL: 'BadRequest.FilePartTooSmall', - FILE_PART_X_MISSING: 'BadRequest.FilePartMissing', - 'FILE_REFERENCE_*': 'BadRequest.FileReferenceAny', - FILE_REFERENCE_EMPTY: 'BadRequest.FileReferenceEmpty', - FILE_REFERENCE_EXPIRED: 'BadRequest.FileReferenceExpired', - FILE_REFERENCE_INVALID: 'BadRequest.FileReferenceInvalid', - FILE_REFERENCE_X_EXPIRED: 'BadRequest.FileReferenceXExpired', - FILE_REFERENCE_X_INVALID: 'BadRequest.FileReferenceXInvalid', - FILE_TITLE_EMPTY: 'BadRequest.FileTitleEmpty', - FILE_TOKEN_INVALID: 'BadRequest.FileTokenInvalid', - FILTER_ID_INVALID: 'BadRequest.FilterIdInvalid', - FILTER_INCLUDE_EMPTY: 'BadRequest.FilterIncludeEmpty', - FILTER_NOT_SUPPORTED: 'BadRequest.FilterNotSupported', - FILTER_TITLE_EMPTY: 'BadRequest.FilterTitleEmpty', - FIRSTNAME_INVALID: 'BadRequest.FirstnameInvalid', - FOLDER_ID_EMPTY: 'BadRequest.FolderIdEmpty', - FOLDER_ID_INVALID: 'BadRequest.FolderIdInvalid', - FORM_EXPIRED: 'BadRequest.FormExpired', - FORM_ID_EMPTY: 'BadRequest.FormIdEmpty', - FORM_UNSUPPORTED: 'BadRequest.FormUnsupported', - FORUM_ENABLED: 'BadRequest.ForumEnabled', - FRESH_CHANGE_ADMINS_FORBIDDEN: 'BadRequest.FreshChangeAdminsForbidden', - FROM_MESSAGE_BOT_DISABLED: 'BadRequest.FromMessageBotDisabled', - FROM_PEER_INVALID: 'BadRequest.FromPeerInvalid', - GAME_BOT_INVALID: 'BadRequest.GameBotInvalid', - GENERAL_MODIFY_ICON_FORBIDDEN: 'BadRequest.GeneralModifyIconForbidden', - GEO_POINT_INVALID: 'BadRequest.GeoPointInvalid', - GIFT_SLUG_EXPIRED: 'BadRequest.GiftSlugExpired', - GIFT_SLUG_INVALID: 'BadRequest.GiftSlugInvalid', - GIF_CONTENT_TYPE_INVALID: 'BadRequest.GifContentTypeInvalid', - GIF_ID_INVALID: 'BadRequest.GifIdInvalid', - GRAPH_EXPIRED_RELOAD: 'BadRequest.GraphExpiredReload', - GRAPH_INVALID_RELOAD: 'BadRequest.GraphInvalidReload', - GRAPH_OUTDATED_RELOAD: 'BadRequest.GraphOutdatedReload', - GROUPCALL_ALREADY_DISCARDED: 'BadRequest.GroupcallAlreadyDiscarded', - GROUPCALL_FORBIDDEN: 'BadRequest.GroupcallForbidden', - GROUPCALL_INVALID: 'BadRequest.GroupcallInvalid', - GROUPCALL_JOIN_MISSING: 'BadRequest.GroupcallJoinMissing', - GROUPCALL_NOT_MODIFIED: 'BadRequest.GroupcallNotModified', - GROUPCALL_SSRC_DUPLICATE_MUCH: 'BadRequest.GroupcallSsrcDuplicateMuch', - GROUPED_MEDIA_INVALID: 'BadRequest.GroupedMediaInvalid', - GROUP_CALL_INVALID: 'BadRequest.GroupCallInvalid', - HASHTAG_INVALID: 'BadRequest.HashtagInvalid', - HASH_INVALID: 'BadRequest.HashInvalid', - HIDE_REQUESTER_MISSING: 'BadRequest.HideRequesterMissing', - ID_EXPIRED: 'BadRequest.IdExpired', - ID_INVALID: 'BadRequest.IdInvalid', - IMAGE_PROCESS_FAILED: 'BadRequest.ImageProcessFailed', - IMPORT_FILE_INVALID: 'BadRequest.ImportFileInvalid', - IMPORT_FORMAT_DATE_INVALID: 'BadRequest.ImportFormatDateInvalid', - IMPORT_FORMAT_UNRECOGNIZED: 'BadRequest.ImportFormatUnrecognized', - IMPORT_HISTORY_LOG_EMPTY: 'BadRequest.ImportHistoryLogEmpty', - IMPORT_ID_INVALID: 'BadRequest.ImportIdInvalid', - IMPORT_TOKEN_INVALID: 'BadRequest.ImportTokenInvalid', - INLINE_RESULT_EXPIRED: 'BadRequest.InlineResultExpired', - INPUT_CHATLIST_INVALID: 'BadRequest.InputChatlistInvalid', - INPUT_CONSTRUCTOR_INVALID: 'BadRequest.InputConstructorInvalid', - INPUT_FETCH_ERROR: 'BadRequest.InputFetchError', - INPUT_FETCH_FAIL: 'BadRequest.InputFetchFail', - INPUT_FILE_INVALID: 'BadRequest.InputFileInvalid', - INPUT_FILTER_INVALID: 'BadRequest.InputFilterInvalid', - INPUT_LAYER_INVALID: 'BadRequest.InputLayerInvalid', - INPUT_METHOD_INVALID: 'BadRequest.InputMethodInvalid', - INPUT_PEERS_EMPTY: 'BadRequest.InputPeersEmpty', - INPUT_REQUEST_TOO_LONG: 'BadRequest.InputRequestTooLong', - INPUT_TEXT_EMPTY: 'BadRequest.InputTextEmpty', - INPUT_TEXT_TOO_LONG: 'BadRequest.InputTextTooLong', - INPUT_USER_DEACTIVATED: 'BadRequest.InputUserDeactivated', - INVITES_TOO_MUCH: 'BadRequest.InvitesTooMuch', - INVITE_FORBIDDEN_WITH_JOINAS: 'BadRequest.InviteForbiddenWithJoinas', - INVITE_HASH_EMPTY: 'BadRequest.InviteHashEmpty', - INVITE_HASH_EXPIRED: 'BadRequest.InviteHashExpired', - INVITE_HASH_INVALID: 'BadRequest.InviteHashInvalid', - INVITE_REQUEST_SENT: 'BadRequest.InviteRequestSent', - INVITE_REVOKED_MISSING: 'BadRequest.InviteRevokedMissing', - INVITE_SLUG_EMPTY: 'BadRequest.InviteSlugEmpty', - INVITE_SLUG_EXPIRED: 'BadRequest.InviteSlugExpired', - INVITE_SLUG_INVALID: 'BadRequest.InviteSlugInvalid', - INVOICE_PAYLOAD_INVALID: 'BadRequest.InvoicePayloadInvalid', - JOIN_AS_PEER_INVALID: 'BadRequest.JoinAsPeerInvalid', - LANGUAGE_INVALID: 'BadRequest.LanguageInvalid', - LANG_CODE_INVALID: 'BadRequest.LangCodeInvalid', - LANG_CODE_NOT_SUPPORTED: 'BadRequest.LangCodeNotSupported', - LANG_PACK_INVALID: 'BadRequest.LangPackInvalid', - LASTNAME_INVALID: 'BadRequest.LastnameInvalid', - LIMIT_INVALID: 'BadRequest.LimitInvalid', - LINK_NOT_MODIFIED: 'BadRequest.LinkNotModified', - LOCATION_INVALID: 'BadRequest.LocationInvalid', - MAX_DATE_INVALID: 'BadRequest.MaxDateInvalid', - MAX_ID_INVALID: 'BadRequest.MaxIdInvalid', - MAX_QTS_INVALID: 'BadRequest.MaxQtsInvalid', - MD5_CHECKSUM_INVALID: 'BadRequest.Md5ChecksumInvalid', - MEDIA_CAPTION_TOO_LONG: 'BadRequest.MediaCaptionTooLong', - MEDIA_EMPTY: 'BadRequest.MediaEmpty', - MEDIA_FILE_INVALID: 'BadRequest.MediaFileInvalid', - MEDIA_GROUPED_INVALID: 'BadRequest.MediaGroupedInvalid', - MEDIA_INVALID: 'BadRequest.MediaInvalid', - MEDIA_NEW_INVALID: 'BadRequest.MediaNewInvalid', - MEDIA_PREV_INVALID: 'BadRequest.MediaPrevInvalid', - MEDIA_TTL_INVALID: 'BadRequest.MediaTtlInvalid', - MEDIA_TYPE_INVALID: 'BadRequest.MediaTypeInvalid', - MEDIA_VIDEO_STORY_MISSING: 'BadRequest.MediaVideoStoryMissing', - MEGAGROUP_GEO_REQUIRED: 'BadRequest.MegagroupGeoRequired', - MEGAGROUP_ID_INVALID: 'BadRequest.MegagroupIdInvalid', - MEGAGROUP_PREHISTORY_HIDDEN: 'BadRequest.MegagroupPrehistoryHidden', - MEGAGROUP_REQUIRED: 'BadRequest.MegagroupRequired', - MESSAGE_EDIT_TIME_EXPIRED: 'BadRequest.MessageEditTimeExpired', - MESSAGE_EMPTY: 'BadRequest.MessageEmpty', - MESSAGE_IDS_EMPTY: 'BadRequest.MessageIdsEmpty', - MESSAGE_ID_INVALID: 'BadRequest.MessageIdInvalid', - MESSAGE_NOT_MODIFIED: 'BadRequest.MessageNotModified', - MESSAGE_NOT_READ_YET: 'BadRequest.MessageNotReadYet', - MESSAGE_POLL_CLOSED: 'BadRequest.MessagePollClosed', - MESSAGE_TOO_LONG: 'BadRequest.MessageTooLong', - MESSAGE_TOO_OLD: 'BadRequest.MessageTooOld', - METHOD_INVALID: 'BadRequest.MethodInvalid', - MIN_DATE_INVALID: 'BadRequest.MinDateInvalid', - MSG_ID_INVALID: 'BadRequest.MsgIdInvalid', - MSG_TOO_OLD: 'BadRequest.MsgTooOld', - MSG_WAIT_FAILED: 'BadRequest.MsgWaitFailed', - MULTI_MEDIA_TOO_LONG: 'BadRequest.MultiMediaTooLong', - NEW_SALT_INVALID: 'BadRequest.NewSaltInvalid', - NEW_SETTINGS_EMPTY: 'BadRequest.NewSettingsEmpty', - NEW_SETTINGS_INVALID: 'BadRequest.NewSettingsInvalid', - NEXT_OFFSET_INVALID: 'BadRequest.NextOffsetInvalid', - NOT_ELIGIBLE: 'BadRequest.NotEligible', - NOT_JOINED: 'BadRequest.NotJoined', - OFFSET_INVALID: 'BadRequest.OffsetInvalid', - OFFSET_PEER_ID_INVALID: 'BadRequest.OffsetPeerIdInvalid', - OPTIONS_TOO_MUCH: 'BadRequest.OptionsTooMuch', - OPTION_INVALID: 'BadRequest.OptionInvalid', - ORDER_INVALID: 'BadRequest.OrderInvalid', - PACK_SHORT_NAME_INVALID: 'BadRequest.PackShortNameInvalid', - PACK_SHORT_NAME_OCCUPIED: 'BadRequest.PackShortNameOccupied', - PACK_TITLE_INVALID: 'BadRequest.PackTitleInvalid', - PARTICIPANTS_TOO_FEW: 'BadRequest.ParticipantsTooFew', - PARTICIPANT_ID_INVALID: 'BadRequest.ParticipantIdInvalid', - PARTICIPANT_JOIN_MISSING: 'BadRequest.ParticipantJoinMissing', - PARTICIPANT_VERSION_OUTDATED: 'BadRequest.ParticipantVersionOutdated', - PASSWORD_EMPTY: 'BadRequest.PasswordEmpty', - PASSWORD_HASH_INVALID: 'BadRequest.PasswordHashInvalid', - PASSWORD_MISSING: 'BadRequest.PasswordMissing', - PASSWORD_RECOVERY_EXPIRED: 'BadRequest.PasswordRecoveryExpired', - PASSWORD_RECOVERY_NA: 'BadRequest.PasswordRecoveryNa', - PASSWORD_REQUIRED: 'BadRequest.PasswordRequired', - PASSWORD_TOO_FRESH_X: 'BadRequest.PasswordTooFresh', - PAYMENT_PROVIDER_INVALID: 'BadRequest.PaymentProviderInvalid', - PEERS_LIST_EMPTY: 'BadRequest.PeersListEmpty', - PEER_FLOOD: 'BadRequest.PeerFlood', - PEER_HISTORY_EMPTY: 'BadRequest.PeerHistoryEmpty', - PEER_ID_INVALID: 'BadRequest.PeerIdInvalid', - PEER_ID_NOT_SUPPORTED: 'BadRequest.PeerIdNotSupported', - PEER_TYPES_INVALID: 'BadRequest.PeerTypesInvalid', - PERSISTENT_TIMESTAMP_EMPTY: 'BadRequest.PersistentTimestampEmpty', - PERSISTENT_TIMESTAMP_INVALID: 'BadRequest.PersistentTimestampInvalid', - PHONE_CODE_EMPTY: 'BadRequest.PhoneCodeEmpty', - PHONE_CODE_EXPIRED: 'BadRequest.PhoneCodeExpired', - PHONE_CODE_HASH_EMPTY: 'BadRequest.PhoneCodeHashEmpty', - PHONE_CODE_INVALID: 'BadRequest.PhoneCodeInvalid', - PHONE_HASH_EXPIRED: 'BadRequest.PhoneHashExpired', - PHONE_NOT_OCCUPIED: 'BadRequest.PhoneNotOccupied', - PHONE_NUMBER_APP_SIGNUP_FORBIDDEN: 'BadRequest.PhoneNumberAppSignupForbidden', - PHONE_NUMBER_BANNED: 'BadRequest.PhoneNumberBanned', - PHONE_NUMBER_FLOOD: 'BadRequest.PhoneNumberFlood', - PHONE_NUMBER_INVALID: 'BadRequest.PhoneNumberInvalid', - PHONE_NUMBER_OCCUPIED: 'BadRequest.PhoneNumberOccupied', - PHONE_NUMBER_UNOCCUPIED: 'BadRequest.PhoneNumberUnoccupied', - PHONE_PASSWORD_PROTECTED: 'BadRequest.PhonePasswordProtected', - PHOTO_CONTENT_TYPE_INVALID: 'BadRequest.PhotoContentTypeInvalid', - PHOTO_CONTENT_URL_EMPTY: 'BadRequest.PhotoContentUrlEmpty', - PHOTO_CROP_FILE_MISSING: 'BadRequest.PhotoCropFileMissing', - PHOTO_CROP_SIZE_SMALL: 'BadRequest.PhotoCropSizeSmall', - PHOTO_EXT_INVALID: 'BadRequest.PhotoExtInvalid', - PHOTO_FILE_MISSING: 'BadRequest.PhotoFileMissing', - PHOTO_ID_INVALID: 'BadRequest.PhotoIdInvalid', - PHOTO_INVALID: 'BadRequest.PhotoInvalid', - PHOTO_INVALID_DIMENSIONS: 'BadRequest.PhotoInvalidDimensions', - PHOTO_SAVE_FILE_INVALID: 'BadRequest.PhotoSaveFileInvalid', - PHOTO_THUMB_URL_EMPTY: 'BadRequest.PhotoThumbUrlEmpty', - PHOTO_THUMB_URL_INVALID: 'BadRequest.PhotoThumbUrlInvalid', - PINNED_DIALOGS_TOO_MUCH: 'BadRequest.PinnedDialogsTooMuch', - PIN_RESTRICTED: 'BadRequest.PinRestricted', - POLL_ANSWERS_INVALID: 'BadRequest.PollAnswersInvalid', - POLL_ANSWER_INVALID: 'BadRequest.PollAnswerInvalid', - POLL_OPTION_DUPLICATE: 'BadRequest.PollOptionDuplicate', - POLL_OPTION_INVALID: 'BadRequest.PollOptionInvalid', - POLL_QUESTION_INVALID: 'BadRequest.PollQuestionInvalid', - POLL_UNSUPPORTED: 'BadRequest.PollUnsupported', - POLL_VOTE_REQUIRED: 'BadRequest.PollVoteRequired', - PREMIUM_ACCOUNT_REQUIRED: 'BadRequest.PremiumAccountRequired', - PRICING_CHAT_INVALID: 'BadRequest.PricingChatInvalid', - PRIVACY_KEY_INVALID: 'BadRequest.PrivacyKeyInvalid', - PRIVACY_TOO_LONG: 'BadRequest.PrivacyTooLong', - PRIVACY_VALUE_INVALID: 'BadRequest.PrivacyValueInvalid', - PUBLIC_KEY_REQUIRED: 'BadRequest.PublicKeyRequired', - QUERY_ID_EMPTY: 'BadRequest.QueryIdEmpty', - QUERY_ID_INVALID: 'BadRequest.QueryIdInvalid', - QUERY_TOO_SHORT: 'BadRequest.QueryTooShort', - QUICK_REPLIES_TOO_MUCH: 'BadRequest.QuickRepliesTooMuch', - QUIZ_ANSWER_MISSING: 'BadRequest.QuizAnswerMissing', - QUIZ_CORRECT_ANSWERS_EMPTY: 'BadRequest.QuizCorrectAnswersEmpty', - QUIZ_CORRECT_ANSWERS_TOO_MUCH: 'BadRequest.QuizCorrectAnswersTooMuch', - QUIZ_CORRECT_ANSWER_INVALID: 'BadRequest.QuizCorrectAnswerInvalid', - QUIZ_MULTIPLE_INVALID: 'BadRequest.QuizMultipleInvalid', - QUOTE_TEXT_INVALID: 'BadRequest.QuoteTextInvalid', - RAISE_HAND_FORBIDDEN: 'BadRequest.RaiseHandForbidden', - RANDOM_ID_EMPTY: 'BadRequest.RandomIdEmpty', - RANDOM_ID_INVALID: 'BadRequest.RandomIdInvalid', - RANDOM_LENGTH_INVALID: 'BadRequest.RandomLengthInvalid', - RANGES_INVALID: 'BadRequest.RangesInvalid', - REACTIONS_TOO_MANY: 'BadRequest.ReactionsTooMany', - REACTION_EMPTY: 'BadRequest.ReactionEmpty', - REACTION_INVALID: 'BadRequest.ReactionInvalid', - RECEIPT_EMPTY: 'BadRequest.ReceiptEmpty', - REFLECTOR_NOT_AVAILABLE: 'BadRequest.ReflectorNotAvailable', - REPLY_MARKUP_BUY_EMPTY: 'BadRequest.ReplyMarkupBuyEmpty', - REPLY_MARKUP_GAME_EMPTY: 'BadRequest.ReplyMarkupGameEmpty', - REPLY_MARKUP_INVALID: 'BadRequest.ReplyMarkupInvalid', - REPLY_MARKUP_TOO_LONG: 'BadRequest.ReplyMarkupTooLong', - REPLY_MESSAGES_TOO_MUCH: 'BadRequest.ReplyMessagesTooMuch', - REPLY_MESSAGE_ID_INVALID: 'BadRequest.ReplyMessageIdInvalid', - REPLY_TO_INVALID: 'BadRequest.ReplyToInvalid', - REPLY_TO_USER_INVALID: 'BadRequest.ReplyToUserInvalid', - REQUEST_TOKEN_INVALID: 'BadRequest.RequestTokenInvalid', - RESET_REQUEST_MISSING: 'BadRequest.ResetRequestMissing', - RESULTS_TOO_MUCH: 'BadRequest.ResultsTooMuch', - RESULT_ID_DUPLICATE: 'BadRequest.ResultIdDuplicate', - RESULT_ID_EMPTY: 'BadRequest.ResultIdEmpty', - RESULT_ID_INVALID: 'BadRequest.ResultIdInvalid', - RESULT_TYPE_INVALID: 'BadRequest.ResultTypeInvalid', - REVOTE_NOT_ALLOWED: 'BadRequest.RevoteNotAllowed', - RIGHTS_NOT_MODIFIED: 'BadRequest.RightsNotModified', - RINGTONE_INVALID: 'BadRequest.RingtoneInvalid', - RINGTONE_MIME_INVALID: 'BadRequest.RingtoneMimeInvalid', - RSA_DECRYPT_FAILED: 'BadRequest.RsaDecryptFailed', - SCHEDULE_BOT_NOT_ALLOWED: 'BadRequest.ScheduleBotNotAllowed', - SCHEDULE_DATE_INVALID: 'BadRequest.ScheduleDateInvalid', - SCHEDULE_DATE_TOO_LATE: 'BadRequest.ScheduleDateTooLate', - SCHEDULE_STATUS_PRIVATE: 'BadRequest.ScheduleStatusPrivate', - SCHEDULE_TOO_MUCH: 'BadRequest.ScheduleTooMuch', - SCORE_INVALID: 'BadRequest.ScoreInvalid', - SEARCH_QUERY_EMPTY: 'BadRequest.SearchQueryEmpty', - SEARCH_WITH_LINK_NOT_SUPPORTED: 'BadRequest.SearchWithLinkNotSupported', - SECONDS_INVALID: 'BadRequest.SecondsInvalid', - SECURE_SECRET_REQUIRED: 'BadRequest.SecureSecretRequired', - SEND_AS_PEER_INVALID: 'BadRequest.SendAsPeerInvalid', - SEND_MESSAGE_MEDIA_INVALID: 'BadRequest.SendMessageMediaInvalid', - SEND_MESSAGE_TYPE_INVALID: 'BadRequest.SendMessageTypeInvalid', - SESSION_TOO_FRESH_X: 'BadRequest.SessionTooFresh', - SETTINGS_INVALID: 'BadRequest.SettingsInvalid', - SHA256_HASH_INVALID: 'BadRequest.Sha256HashInvalid', - SHORTCUT_INVALID: 'BadRequest.ShortcutInvalid', - SHORTNAME_OCCUPY_FAILED: 'BadRequest.ShortnameOccupyFailed', - SHORT_NAME_INVALID: 'BadRequest.ShortNameInvalid', - SHORT_NAME_OCCUPIED: 'BadRequest.ShortNameOccupied', - SLOTS_EMPTY: 'BadRequest.SlotsEmpty', - SLOWMODE_MULTI_MSGS_DISABLED: 'BadRequest.SlowmodeMultiMsgsDisabled', - SLUG_INVALID: 'BadRequest.SlugInvalid', - SMSJOB_ID_INVALID: 'BadRequest.SmsjobIdInvalid', - SMS_CODE_CREATE_FAILED: 'BadRequest.SmsCodeCreateFailed', - SRP_A_INVALID: 'BadRequest.SrpAInvalid', - SRP_ID_INVALID: 'BadRequest.SrpIdInvalid', - SRP_PASSWORD_CHANGED: 'BadRequest.SrpPasswordChanged', - STARGIFT_INVALID: 'BadRequest.StargiftInvalid', - STARGIFT_USAGE_LIMITED: 'BadRequest.StargiftUsageLimited', - STARREF_AWAITING_END: 'BadRequest.StarrefAwaitingEnd', - STARREF_HASH_REVOKED: 'BadRequest.StarrefHashRevoked', - STARREF_PERMILLE_INVALID: 'BadRequest.StarrefPermilleInvalid', - STARREF_PERMILLE_TOO_LOW: 'BadRequest.StarrefPermilleTooLow', - STARS_INVOICE_INVALID: 'BadRequest.StarsInvoiceInvalid', - STARS_PAYMENT_REQUIRED: 'BadRequest.StarsPaymentRequired', - START_PARAM_EMPTY: 'BadRequest.StartParamEmpty', - START_PARAM_INVALID: 'BadRequest.StartParamInvalid', - START_PARAM_TOO_LONG: 'BadRequest.StartParamTooLong', - STICKERPACK_STICKERS_TOO_MUCH: 'BadRequest.StickerpackStickersTooMuch', - STICKERSET_INVALID: 'BadRequest.StickersetInvalid', - STICKERSET_NOT_MODIFIED: 'BadRequest.StickersetNotModified', - STICKERS_EMPTY: 'BadRequest.StickersEmpty', - STICKERS_TOO_MUCH: 'BadRequest.StickersTooMuch', - STICKER_DOCUMENT_INVALID: 'BadRequest.StickerDocumentInvalid', - STICKER_EMOJI_INVALID: 'BadRequest.StickerEmojiInvalid', - STICKER_FILE_INVALID: 'BadRequest.StickerFileInvalid', - STICKER_GIF_DIMENSIONS: 'BadRequest.StickerGifDimensions', - STICKER_ID_INVALID: 'BadRequest.StickerIdInvalid', - STICKER_INVALID: 'BadRequest.StickerInvalid', - STICKER_MIME_INVALID: 'BadRequest.StickerMimeInvalid', - STICKER_PNG_DIMENSIONS: 'BadRequest.StickerPngDimensions', - STICKER_PNG_NOPNG: 'BadRequest.StickerPngNopng', - STICKER_TGS_NODOC: 'BadRequest.StickerTgsNodoc', - STICKER_TGS_NOTGS: 'BadRequest.StickerTgsNotgs', - STICKER_THUMB_PNG_NOPNG: 'BadRequest.StickerThumbPngNopng', - STICKER_THUMB_TGS_NOTGS: 'BadRequest.StickerThumbTgsNotgs', - STICKER_VIDEO_BIG: 'BadRequest.StickerVideoBig', - STICKER_VIDEO_NODOC: 'BadRequest.StickerVideoNodoc', - STICKER_VIDEO_NOWEBM: 'BadRequest.StickerVideoNowebm', - STORIES_NEVER_CREATED: 'BadRequest.StoriesNeverCreated', - STORIES_TOO_MUCH: 'BadRequest.StoriesTooMuch', - STORY_ID_EMPTY: 'BadRequest.StoryIdEmpty', - STORY_ID_INVALID: 'BadRequest.StoryIdInvalid', - STORY_NOT_MODIFIED: 'BadRequest.StoryNotModified', - STORY_PERIOD_INVALID: 'BadRequest.StoryPeriodInvalid', - STORY_SEND_FLOOD_MONTHLY_X: 'BadRequest.StorySendFloodMonthly', - STORY_SEND_FLOOD_WEEKLY_X: 'BadRequest.StorySendFloodWeekly', - SUBSCRIPTION_EXPORT_MISSING: 'BadRequest.SubscriptionExportMissing', - SUBSCRIPTION_PERIOD_INVALID: 'BadRequest.SubscriptionPeriodInvalid', - SWITCH_PM_TEXT_EMPTY: 'BadRequest.SwitchPmTextEmpty', - SWITCH_WEBVIEW_URL_INVALID: 'BadRequest.SwitchWebviewUrlInvalid', - TAKEOUT_INVALID: 'BadRequest.TakeoutInvalid', - TAKEOUT_REQUIRED: 'BadRequest.TakeoutRequired', - TASK_ALREADY_EXISTS: 'BadRequest.TaskAlreadyExists', - TEMP_AUTH_KEY_ALREADY_BOUND: 'BadRequest.TempAuthKeyAlreadyBound', - TEMP_AUTH_KEY_EMPTY: 'BadRequest.TempAuthKeyEmpty', - TERMS_URL_INVALID: 'BadRequest.TermsUrlInvalid', - THEME_FILE_INVALID: 'BadRequest.ThemeFileInvalid', - THEME_FORMAT_INVALID: 'BadRequest.ThemeFormatInvalid', - THEME_INVALID: 'BadRequest.ThemeInvalid', - THEME_MIME_INVALID: 'BadRequest.ThemeMimeInvalid', - THEME_PARAMS_INVALID: 'BadRequest.ThemeParamsInvalid', - THEME_TITLE_INVALID: 'BadRequest.ThemeTitleInvalid', - TIMEZONE_INVALID: 'BadRequest.TimezoneInvalid', - TITLE_INVALID: 'BadRequest.TitleInvalid', - TMP_PASSWORD_DISABLED: 'BadRequest.TmpPasswordDisabled', - TMP_PASSWORD_INVALID: 'BadRequest.TmpPasswordInvalid', - TOKEN_EMPTY: 'BadRequest.TokenEmpty', - TOKEN_INVALID: 'BadRequest.TokenInvalid', - TOKEN_TYPE_INVALID: 'BadRequest.TokenTypeInvalid', - TOPICS_EMPTY: 'BadRequest.TopicsEmpty', - TOPIC_CLOSED: 'BadRequest.TopicClosed', - TOPIC_CLOSE_SEPARATELY: 'BadRequest.TopicCloseSeparately', - TOPIC_DELETED: 'BadRequest.TopicDeleted', - TOPIC_HIDE_SEPARATELY: 'BadRequest.TopicHideSeparately', - TOPIC_ID_INVALID: 'BadRequest.TopicIdInvalid', - TOPIC_NOT_MODIFIED: 'BadRequest.TopicNotModified', - TOPIC_TITLE_EMPTY: 'BadRequest.TopicTitleEmpty', - TO_LANG_INVALID: 'BadRequest.ToLangInvalid', - TRANSACTION_ID_INVALID: 'BadRequest.TransactionIdInvalid', - TRANSCRIPTION_FAILED: 'BadRequest.TranscriptionFailed', - TRANSLATE_REQ_QUOTA_EXCEEDED: 'BadRequest.TranslateReqQuotaExceeded', - TTL_DAYS_INVALID: 'BadRequest.TtlDaysInvalid', - TTL_MEDIA_INVALID: 'BadRequest.TtlMediaInvalid', - TTL_PERIOD_INVALID: 'BadRequest.TtlPeriodInvalid', - TYPES_EMPTY: 'BadRequest.TypesEmpty', - TYPE_CONSTRUCTOR_INVALID: 'BadRequest.TypeConstructorInvalid', - UNTIL_DATE_INVALID: 'BadRequest.UntilDateInvalid', - URL_INVALID: 'BadRequest.UrlInvalid', - USAGE_LIMIT_INVALID: 'BadRequest.UsageLimitInvalid', - USERNAMES_ACTIVE_TOO_MUCH: 'BadRequest.UsernamesActiveTooMuch', - USERNAME_INVALID: 'BadRequest.UsernameInvalid', - USERNAME_NOT_MODIFIED: 'BadRequest.UsernameNotModified', - USERNAME_NOT_OCCUPIED: 'BadRequest.UsernameNotOccupied', - USERNAME_OCCUPIED: 'BadRequest.UsernameOccupied', - USERNAME_PURCHASE_AVAILABLE: 'BadRequest.UsernamePurchaseAvailable', - USERPIC_UPLOAD_REQUIRED: 'BadRequest.UserpicUploadRequired', - USERS_TOO_FEW: 'BadRequest.UsersTooFew', - USERS_TOO_MUCH: 'BadRequest.UsersTooMuch', - USER_ADMIN_INVALID: 'BadRequest.UserAdminInvalid', - USER_ALREADY_INVITED: 'BadRequest.UserAlreadyInvited', - USER_ALREADY_PARTICIPANT: 'BadRequest.UserAlreadyParticipant', - USER_BANNED_IN_CHANNEL: 'BadRequest.UserBannedInChannel', - USER_BLOCKED: 'BadRequest.UserBlocked', - USER_BOT: 'BadRequest.UserBot', - USER_BOT_INVALID: 'BadRequest.UserBotInvalid', - USER_BOT_REQUIRED: 'BadRequest.UserBotRequired', - USER_CHANNELS_TOO_MUCH: 'BadRequest.UserChannelsTooMuch', - USER_CREATOR: 'BadRequest.UserCreator', - USER_GIFT_UNAVAILABLE: 'BadRequest.UserGiftUnavailable', - USER_ID_INVALID: 'BadRequest.UserIdInvalid', - USER_INVALID: 'BadRequest.UserInvalid', - USER_IS_BLOCKED: 'BadRequest.UserIsBlocked', - USER_IS_BOT: 'BadRequest.UserIsBot', - USER_KICKED: 'BadRequest.UserKicked', - USER_NOT_MUTUAL_CONTACT: 'BadRequest.UserNotMutualContact', - USER_NOT_PARTICIPANT: 'BadRequest.UserNotParticipant', - USER_PUBLIC_MISSING: 'BadRequest.UserPublicMissing', - USER_VOLUME_INVALID: 'BadRequest.UserVolumeInvalid', - VENUE_ID_INVALID: 'BadRequest.VenueIdInvalid', - VIDEO_CONTENT_TYPE_INVALID: 'BadRequest.VideoContentTypeInvalid', - VIDEO_FILE_INVALID: 'BadRequest.VideoFileInvalid', - VIDEO_PAUSE_FORBIDDEN: 'BadRequest.VideoPauseForbidden', - VIDEO_STOP_FORBIDDEN: 'BadRequest.VideoStopForbidden', - VIDEO_TITLE_EMPTY: 'BadRequest.VideoTitleEmpty', - VOICE_MESSAGES_FORBIDDEN: 'BadRequest.VoiceMessagesForbidden', - VOLUME_LOC_NOT_FOUND: 'BadRequest.VolumeLocNotFound', - WALLPAPER_FILE_INVALID: 'BadRequest.WallpaperFileInvalid', - WALLPAPER_INVALID: 'BadRequest.WallpaperInvalid', - WALLPAPER_MIME_INVALID: 'BadRequest.WallpaperMimeInvalid', - WALLPAPER_NOT_FOUND: 'BadRequest.WallpaperNotFound', - WC_CONVERT_URL_INVALID: 'BadRequest.WcConvertUrlInvalid', - WEBDOCUMENT_INVALID: 'BadRequest.WebdocumentInvalid', - WEBDOCUMENT_MIME_INVALID: 'BadRequest.WebdocumentMimeInvalid', - WEBDOCUMENT_SIZE_TOO_BIG: 'BadRequest.WebdocumentSizeTooBig', - WEBDOCUMENT_URL_EMPTY: 'BadRequest.WebdocumentUrlEmpty', - WEBDOCUMENT_URL_INVALID: 'BadRequest.WebdocumentUrlInvalid', - WEBPAGE_CURL_FAILED: 'BadRequest.WebpageCurlFailed', - WEBPAGE_MEDIA_EMPTY: 'BadRequest.WebpageMediaEmpty', - WEBPAGE_NOT_FOUND: 'BadRequest.WebpageNotFound', - WEBPAGE_URL_INVALID: 'BadRequest.WebpageUrlInvalid', - WEBPUSH_AUTH_INVALID: 'BadRequest.WebpushAuthInvalid', - WEBPUSH_KEY_INVALID: 'BadRequest.WebpushKeyInvalid', - WEBPUSH_TOKEN_INVALID: 'BadRequest.WebpushTokenInvalid', - YOU_BLOCKED_USER: 'BadRequest.YouBlockedUser', - }, - 401: { - _: 'Unauthorized.Unauthorized', - ACTIVE_USER_REQUIRED: 'Unauthorized.ActiveUserRequired', - AUTH_KEY_INVALID: 'Unauthorized.AuthKeyInvalid', - AUTH_KEY_PERM_EMPTY: 'Unauthorized.AuthKeyPermEmpty', - AUTH_KEY_UNREGISTERED: 'Unauthorized.AuthKeyUnregistered', - SESSION_EXPIRED: 'Unauthorized.SessionExpired', - SESSION_PASSWORD_NEEDED: 'Unauthorized.SessionPasswordNeeded', - SESSION_REVOKED: 'Unauthorized.SessionRevoked', - USER_DEACTIVATED: 'Unauthorized.UserDeactivated', - USER_DEACTIVATED_BAN: 'Unauthorized.UserDeactivatedBan', - }, - 403: { - _: 'Forbidden.Forbidden', - ANONYMOUS_REACTIONS_DISABLED: 'Forbidden.AnonymousReactionsDisabled', - BROADCAST_FORBIDDEN: 'Forbidden.BroadcastForbidden', - CHANNEL_PUBLIC_GROUP_NA: 'Forbidden.ChannelPublicGroupNa', - CHAT_ACTION_FORBIDDEN: 'Forbidden.ChatActionForbidden', - CHAT_ADMIN_INVITE_REQUIRED: 'Forbidden.ChatAdminInviteRequired', - CHAT_ADMIN_REQUIRED: 'Forbidden.ChatAdminRequired', - CHAT_FORBIDDEN: 'Forbidden.ChatForbidden', - CHAT_GUEST_SEND_FORBIDDEN: 'Forbidden.ChatGuestSendForbidden', - CHAT_SEND_AUDIOS_FORBIDDEN: 'Forbidden.ChatSendAudiosForbidden', - CHAT_SEND_DOCS_FORBIDDEN: 'Forbidden.ChatSendDocsForbidden', - CHAT_SEND_GAME_FORBIDDEN: 'Forbidden.ChatSendGameForbidden', - CHAT_SEND_GIFS_FORBIDDEN: 'Forbidden.ChatSendGifsForbidden', - CHAT_SEND_INLINE_FORBIDDEN: 'Forbidden.ChatSendInlineForbidden', - CHAT_SEND_MEDIA_FORBIDDEN: 'Forbidden.ChatSendMediaForbidden', - CHAT_SEND_PHOTOS_FORBIDDEN: 'Forbidden.ChatSendPhotosForbidden', - CHAT_SEND_PLAIN_FORBIDDEN: 'Forbidden.ChatSendPlainForbidden', - CHAT_SEND_POLL_FORBIDDEN: 'Forbidden.ChatSendPollForbidden', - CHAT_SEND_ROUNDVIDEOS_FORBIDDEN: 'Forbidden.ChatSendRoundvideosForbidden', - CHAT_SEND_STICKERS_FORBIDDEN: 'Forbidden.ChatSendStickersForbidden', - CHAT_SEND_VIDEOS_FORBIDDEN: 'Forbidden.ChatSendVideosForbidden', - CHAT_SEND_VOICES_FORBIDDEN: 'Forbidden.ChatSendVoicesForbidden', - CHAT_TYPE_INVALID: 'Forbidden.ChatTypeInvalid', - CHAT_WRITE_FORBIDDEN: 'Forbidden.ChatWriteForbidden', - EDIT_BOT_INVITE_FORBIDDEN: 'Forbidden.EditBotInviteForbidden', - GROUPCALL_ALREADY_STARTED: 'Forbidden.GroupcallAlreadyStarted', - GROUPCALL_FORBIDDEN: 'Forbidden.GroupcallForbidden', - INLINE_BOT_REQUIRED: 'Forbidden.InlineBotRequired', - MESSAGE_AUTHOR_REQUIRED: 'Forbidden.MessageAuthorRequired', - MESSAGE_DELETE_FORBIDDEN: 'Forbidden.MessageDeleteForbidden', - NOT_ELIGIBLE: 'Forbidden.NotEligible', - PARTICIPANT_JOIN_MISSING: 'Forbidden.ParticipantJoinMissing', - PEER_ID_INVALID: 'Forbidden.PeerIdInvalid', - POLL_VOTE_REQUIRED: 'Forbidden.PollVoteRequired', - PREMIUM_ACCOUNT_REQUIRED: 'Forbidden.PremiumAccountRequired', - PRIVACY_PREMIUM_REQUIRED: 'Forbidden.PrivacyPremiumRequired', - PUBLIC_CHANNEL_MISSING: 'Forbidden.PublicChannelMissing', - RIGHT_FORBIDDEN: 'Forbidden.RightForbidden', - SENSITIVE_CHANGE_FORBIDDEN: 'Forbidden.SensitiveChangeForbidden', - TAKEOUT_REQUIRED: 'Forbidden.TakeoutRequired', - USER_BOT_INVALID: 'Forbidden.UserBotInvalid', - USER_CHANNELS_TOO_MUCH: 'Forbidden.UserChannelsTooMuch', - USER_DELETED: 'Forbidden.UserDeleted', - USER_INVALID: 'Forbidden.UserInvalid', - USER_IS_BLOCKED: 'Forbidden.UserIsBlocked', - USER_NOT_MUTUAL_CONTACT: 'Forbidden.UserNotMutualContact', - USER_NOT_PARTICIPANT: 'Forbidden.UserNotParticipant', - USER_PRIVACY_RESTRICTED: 'Forbidden.UserPrivacyRestricted', - USER_RESTRICTED: 'Forbidden.UserRestricted', - VOICE_MESSAGES_FORBIDDEN: 'Forbidden.VoiceMessagesForbidden', - YOUR_PRIVACY_RESTRICTED: 'Forbidden.YourPrivacyRestricted', - }, - 404: { - _: 'NotFound.NotFound', - PEER_ID_INVALID: 'NotFound.PeerIdInvalid', - }, - 406: { - _: 'NotAcceptable.NotAcceptable', - AUTH_KEY_DUPLICATED: 'NotAcceptable.AuthKeyDuplicated', - BANNED_RIGHTS_INVALID: 'NotAcceptable.BannedRightsInvalid', - BUSINESS_ADDRESS_ACTIVE: 'NotAcceptable.BusinessAddressActive', - CALL_PROTOCOL_COMPAT_LAYER_INVALID: 'NotAcceptable.CallProtocolCompatLayerInvalid', - CHANNEL_PRIVATE: 'NotAcceptable.ChannelPrivate', - CHANNEL_TOO_LARGE: 'NotAcceptable.ChannelTooLarge', - CHAT_FORWARDS_RESTRICTED: 'NotAcceptable.ChatForwardsRestricted', - FILEREF_UPGRADE_NEEDED: 'NotAcceptable.FilerefUpgradeNeeded', - FRESH_CHANGE_ADMINS_FORBIDDEN: 'NotAcceptable.FreshChangeAdminsForbidden', - FRESH_CHANGE_PHONE_FORBIDDEN: 'NotAcceptable.FreshChangePhoneForbidden', - FRESH_RESET_AUTHORISATION_FORBIDDEN: 'NotAcceptable.FreshResetAuthorisationForbidden', - GIFTCODE_NOT_ALLOWED: 'NotAcceptable.GiftcodeNotAllowed', - INVITE_HASH_EXPIRED: 'NotAcceptable.InviteHashExpired', - PAYMENT_UNSUPPORTED: 'NotAcceptable.PaymentUnsupported', - PHONE_NUMBER_INVALID: 'NotAcceptable.PhoneNumberInvalid', - PHONE_PASSWORD_FLOOD: 'NotAcceptable.PhonePasswordFlood', - PREMIUM_CURRENTLY_UNAVAILABLE: 'NotAcceptable.PremiumCurrentlyUnavailable', - PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_XMIN: 'NotAcceptable.PreviousChatImportActiveWaitmin', - PRIVACY_PREMIUM_REQUIRED: 'NotAcceptable.PrivacyPremiumRequired', - SEND_CODE_UNAVAILABLE: 'NotAcceptable.SendCodeUnavailable', - STICKERSET_INVALID: 'NotAcceptable.StickersetInvalid', - STICKERSET_OWNER_ANONYMOUS: 'NotAcceptable.StickersetOwnerAnonymous', - TOPIC_CLOSED: 'NotAcceptable.TopicClosed', - TOPIC_DELETED: 'NotAcceptable.TopicDeleted', - UPDATE_APP_TO_LOGIN: 'NotAcceptable.UpdateAppToLogin', - USERPIC_PRIVACY_REQUIRED: 'NotAcceptable.UserpicPrivacyRequired', - USERPIC_UPLOAD_REQUIRED: 'NotAcceptable.UserpicUploadRequired', - USER_RESTRICTED: 'NotAcceptable.UserRestricted', - }, - 420: { - _: 'Flood.Flood', - '2FA_CONFIRM_WAIT_X': 'Flood.TwoFaConfirmWait', - ADDRESS_INVALID: 'Flood.AddressInvalid', - FLOOD_PREMIUM_WAIT_X: 'Flood.FloodPremiumWait', - FLOOD_TEST_PHONE_WAIT_X: 'Flood.FloodTestPhoneWait', - FLOOD_WAIT_X: 'Flood.FloodWait', - PREMIUM_SUB_ACTIVE_UNTIL_X: 'Flood.PremiumSubActiveUntil', - SLOWMODE_WAIT_X: 'Flood.SlowmodeWait', - TAKEOUT_INIT_DELAY_X: 'Flood.TakeoutInitDelay', - }, - 500: { - _: 'InternalServerError.InternalServerError', - API_CALL_ERROR: 'InternalServerError.ApiCallError', - AUTH_KEY_UNSYNCHRONIZED: 'InternalServerError.AuthKeyUnsynchronized', - AUTH_RESTART: 'InternalServerError.AuthRestart', - AUTH_RESTART_X: 'InternalServerError.AuthRestartX', - CALL_OCCUPY_FAILED: 'InternalServerError.CallOccupyFailed', - CDN_SALTS_EMPTY: 'InternalServerError.CdnSaltsEmpty', - CDN_UPLOAD_TIMEOUT: 'InternalServerError.CdnUploadTimeout', - CHAT_ID_GENERATE_FAILED: 'InternalServerError.ChatIdGenerateFailed', - CHAT_INVALID: 'InternalServerError.ChatInvalid', - CHAT_OCCUPY_LOC_FAILED: 'InternalServerError.ChatOccupyLocFailed', - CHAT_OCCUPY_USERNAME_FAILED: 'InternalServerError.ChatOccupyUsernameFailed', - CHP_CALL_FAIL: 'InternalServerError.ChpCallFail', - ENCRYPTION_OCCUPY_ADMIN_FAILED: 'InternalServerError.EncryptionOccupyAdminFailed', - ENCRYPTION_OCCUPY_FAILED: 'InternalServerError.EncryptionOccupyFailed', - FOLDER_DEAC_AUTOFIX_ALL: 'InternalServerError.FolderDeacAutofixAll', - GROUPCALL_ADD_PARTICIPANTS_FAILED: 'InternalServerError.GroupcallAddParticipantsFailed', - GROUPED_ID_OCCUPY_FAILED: 'InternalServerError.GroupedIdOccupyFailed', - HISTORY_GET_FAILED: 'InternalServerError.HistoryGetFailed', - IMAGE_ENGINE_DOWN: 'InternalServerError.ImageEngineDown', - INTERDC_X_CALL_ERROR: 'InternalServerError.InterdcCallError', - INTERDC_X_CALL_RICH_ERROR: 'InternalServerError.InterdcCallRichError', - MEMBER_CHAT_ADD_FAILED: 'InternalServerError.MemberChatAddFailed', - MEMBER_FETCH_FAILED: 'InternalServerError.MemberFetchFailed', - MEMBER_NOT_FOUND: 'InternalServerError.MemberNotFound', - MEMBER_NO_LOCATION: 'InternalServerError.MemberNoLocation', - MEMBER_OCCUPY_PRIMARY_LOC_FAILED: 'InternalServerError.MemberOccupyPrimaryLocFailed', - MEMBER_OCCUPY_USERNAME_FAILED: 'InternalServerError.MemberOccupyUsernameFailed', - MSGID_DECREASE_RETRY: 'InternalServerError.MsgidDecreaseRetry', - MSG_RANGE_UNSYNC: 'InternalServerError.MsgRangeUnsync', - MSG_WAIT_FAILED: 'InternalServerError.MsgWaitFailed', - MT_SEND_QUEUE_TOO_LONG: 'InternalServerError.MtSendQueueTooLong', - NEED_CHAT_INVALID: 'InternalServerError.NeedChatInvalid', - NEED_MEMBER_INVALID: 'InternalServerError.NeedMemberInvalid', - No_workers_running: 'InternalServerError.NoWorkersRunning', - PARTICIPANT_CALL_FAILED: 'InternalServerError.ParticipantCallFailed', - PERSISTENT_TIMESTAMP_OUTDATED: 'InternalServerError.PersistentTimestampOutdated', - PHOTO_CREATE_FAILED: 'InternalServerError.PhotoCreateFailed', - POSTPONED_TIMEOUT: 'InternalServerError.PostponedTimeout', - PTS_CHANGE_EMPTY: 'InternalServerError.PtsChangeEmpty', - RANDOM_ID_DUPLICATE: 'InternalServerError.RandomIdDuplicate', - REG_ID_GENERATE_FAILED: 'InternalServerError.RegIdGenerateFailed', - RPC_CALL_FAIL: 'InternalServerError.RpcCallFail', - RPC_CONNECT_FAILED: 'InternalServerError.RpcConnectFailed', - RPC_MCGET_FAIL: 'InternalServerError.RpcMcgetFail', - SEND_MEDIA_INVALID: 'InternalServerError.SendMediaInvalid', - SIGN_IN_FAILED: 'InternalServerError.SignInFailed', - STORAGE_CHECK_FAILED: 'InternalServerError.StorageCheckFailed', - STORE_INVALID_SCALAR_TYPE: 'InternalServerError.StoreInvalidScalarType', - TRANSLATE_REQ_FAILED: 'InternalServerError.TranslateReqFailed', - UNKNOWN_METHOD: 'InternalServerError.UnknownMethod', - UPLOAD_NO_VOLUME: 'InternalServerError.UploadNoVolume', - VOLUME_LOC_NOT_FOUND: 'InternalServerError.VolumeLocNotFound', - WORKER_BUSY_TOO_LONG_RETRY: 'InternalServerError.WorkerBusyTooLongRetry', - WP_ID_GENERATE_FAILED: 'InternalServerError.WpIdGenerateFailed', - }, - 503: { - _: 'ServiceUnavailable.ServiceUnavailable', - ApiCallError: 'ServiceUnavailable.ApiCallError', - MSG_WAIT_TIMEOUT: 'ServiceUnavailable.MsgWaitTimeout', - Timeout: 'ServiceUnavailable.Timeout', - }, -}; - -export { Exceptions, count }; diff --git a/src/errors/exceptions/BadRequest400.ts b/src/errors/exceptions/BadRequest400.ts deleted file mode 100644 index aa68d1228..000000000 --- a/src/errors/exceptions/BadRequest400.ts +++ /dev/null @@ -1,2469 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class BadRequest extends RPCError { - override code: number = 400; - override name: string = 'BAD_REQUEST'; -} -export class AboutTooLong extends BadRequest { - override id: string = 'ABOUT_TOO_LONG'; - override message: string = 'About string too long.'; -} -export class AccessTokenExpired extends BadRequest { - override id: string = 'ACCESS_TOKEN_EXPIRED'; - override message: string = 'Access token expired.'; -} -export class AccessTokenInvalid extends BadRequest { - override id: string = 'ACCESS_TOKEN_INVALID'; - override message: string = 'Access token invalid.'; -} -export class AddressInvalid extends BadRequest { - override id: string = 'ADDRESS_INVALID'; - override message: string = 'The specified geopoint address is invalid.'; -} -export class AdminsTooMuch extends BadRequest { - override id: string = 'ADMINS_TOO_MUCH'; - override message: string = 'There are too many admins.'; -} -export class AdminIdInvalid extends BadRequest { - override id: string = 'ADMIN_ID_INVALID'; - override message: string = 'The specified admin ID is invalid.'; -} -export class AdminRankEmojiNotAllowed extends BadRequest { - override id: string = 'ADMIN_RANK_EMOJI_NOT_ALLOWED'; - override message: string = 'An admin rank cannot contain emojis.'; -} -export class AdminRankInvalid extends BadRequest { - override id: string = 'ADMIN_RANK_INVALID'; - override message: string = 'The specified admin rank is invalid.'; -} -export class AdminRightsEmpty extends BadRequest { - override id: string = 'ADMIN_RIGHTS_EMPTY'; - override message: string = - 'The chatAdminRights constructor passed in keyboardButtonRequestPeer.peer_type.user_admin_rights has no rights set (i.e. flags is 0).'; -} -export class AdExpired extends BadRequest { - override id: string = 'AD_EXPIRED'; - override message: string = 'The ad has expired (too old or not found).'; -} -export class AlbumPhotosTooMany extends BadRequest { - override id: string = 'ALBUM_PHOTOS_TOO_MANY'; - override message: string = - 'You have uploaded too many profile photos, delete some before retrying.'; -} -export class ApiIdInvalid extends BadRequest { - override id: string = 'API_ID_INVALID'; - override message: string = 'API ID invalid.'; -} -export class ApiIdPublishedFlood extends BadRequest { - override id: string = 'API_ID_PUBLISHED_FLOOD'; - override message: string = "This API id was published somewhere, you can't use it now."; -} -export class ArticleTitleEmpty extends BadRequest { - override id: string = 'ARTICLE_TITLE_EMPTY'; - override message: string = 'The title of the article is empty.'; -} -export class AudioContentUrlEmpty extends BadRequest { - override id: string = 'AUDIO_CONTENT_URL_EMPTY'; - override message: string = 'The remote URL specified in the content field is empty.'; -} -export class AudioTitleEmpty extends BadRequest { - override id: string = 'AUDIO_TITLE_EMPTY'; - override message: string = 'An empty audio title was provided.'; -} -export class AuthBytesInvalid extends BadRequest { - override id: string = 'AUTH_BYTES_INVALID'; - override message: string = 'The provided authorization is invalid.'; -} -export class AuthTokenAlreadyAccepted extends BadRequest { - override id: string = 'AUTH_TOKEN_ALREADY_ACCEPTED'; - override message: string = 'The specified auth token was already accepted.'; -} -export class AuthTokenException extends BadRequest { - override id: string = 'AUTH_TOKEN_EXCEPTION'; - override message: string = 'An error occurred while importing the auth token.'; -} -export class AuthTokenExpired extends BadRequest { - override id: string = 'AUTH_TOKEN_EXPIRED'; - override message: string = 'The authorization token has expired.'; -} -export class AuthTokenInvalid extends BadRequest { - override id: string = 'AUTH_TOKEN_INVALID'; - override message: string = 'The specified auth token is invalid.'; -} -export class AuthTokenInvalidx extends BadRequest { - override id: string = 'AUTH_TOKEN_INVALIDX'; - override message: string = 'The specified auth token is invalid.'; -} -export class AutoarchiveNotAvailable extends BadRequest { - override id: string = 'AUTOARCHIVE_NOT_AVAILABLE'; - override message: string = - 'The autoarchive setting is not available at this time: please check the value of the [autoarchive_setting_available field in client config »](https://core.telegram.org/api/config#client-configuration) before calling this method.'; -} -export class BalanceTooLow extends BadRequest { - override id: string = 'BALANCE_TOO_LOW'; - override message: string = - 'The transaction cannot be completed because the current [Telegram Stars balance](https://core.telegram.org/api/stars) is too low.'; -} -export class BankCardNumberInvalid extends BadRequest { - override id: string = 'BANK_CARD_NUMBER_INVALID'; - override message: string = 'The specified card number is invalid.'; -} -export class BannedRightsInvalid extends BadRequest { - override id: string = 'BANNED_RIGHTS_INVALID'; - override message: string = 'You provided some invalid flags in the banned rights.'; -} -export class BasePortLocInvalid extends BadRequest { - override id: string = 'BASE_PORT_LOC_INVALID'; - override message: string = 'The base port location is invalid'; -} -export class BirthdayInvalid extends BadRequest { - override id: string = 'BIRTHDAY_INVALID'; - override message: string = 'An invalid age was specified, must be between 0 and 150 years.'; -} -export class BoostsEmpty extends BadRequest { - override id: string = 'BOOSTS_EMPTY'; - override message: string = 'No boost slots were specified.'; -} -export class BoostsRequired extends BadRequest { - override id: string = 'BOOSTS_REQUIRED'; - override message: string = - 'The specified channel must first be [boosted by its users](https://core.telegram.org/api/boost) in order to perform this action.'; -} -export class BoostNotModified extends BadRequest { - override id: string = 'BOOST_NOT_MODIFIED'; - override message: string = - "You're already [boosting](https://core.telegram.org/api/boost) the specified channel."; -} -export class BoostPeerInvalid extends BadRequest { - override id: string = 'BOOST_PEER_INVALID'; - override message: string = 'The specified `boost_peer` is invalid.'; -} -export class BotsTooMuch extends BadRequest { - override id: string = 'BOTS_TOO_MUCH'; - override message: string = 'There are too many bots in this chat/channel.'; -} -export class BotAlreadyDisabled extends BadRequest { - override id: string = 'BOT_ALREADY_DISABLED'; - override message: string = - 'The connected business bot was already disabled for the specified peer.'; -} -export class BotAppBotInvalid extends BadRequest { - override id: string = 'BOT_APP_BOT_INVALID'; - override message: string = - 'The bot_id passed in the inputBotAppShortName constructor is invalid.'; -} -export class BotAppInvalid extends BadRequest { - override id: string = 'BOT_APP_INVALID'; - override message: string = 'The specified bot app is invalid.'; -} -export class BotAppShortnameInvalid extends BadRequest { - override id: string = 'BOT_APP_SHORTNAME_INVALID'; - override message: string = 'The specified bot app short name is invalid.'; -} -export class BotBusinessMissing extends BadRequest { - override id: string = 'BOT_BUSINESS_MISSING'; - override message: string = - 'The specified bot is not a business bot (the [user](https://core.telegram.org/constructor/user).`bot_business` flag is not set).'; -} -export class BotChannelsNa extends BadRequest { - override id: string = 'BOT_CHANNELS_NA'; - override message: string = "Bots can't edit admin privileges."; -} -export class BotCommandDescriptionInvalid extends BadRequest { - override id: string = 'BOT_COMMAND_DESCRIPTION_INVALID'; - override message: string = 'The specified command description is invalid.'; -} -export class BotCommandInvalid extends BadRequest { - override id: string = 'BOT_COMMAND_INVALID'; - override message: string = 'The specified command is invalid.'; -} -export class BotDomainInvalid extends BadRequest { - override id: string = 'BOT_DOMAIN_INVALID'; - override message: string = 'Bot domain invalid.'; -} -export class BotGamesDisabled extends BadRequest { - override id: string = 'BOT_GAMES_DISABLED'; - override message: string = "Games can't be sent to channels."; -} -export class BotGroupsBlocked extends BadRequest { - override id: string = 'BOT_GROUPS_BLOCKED'; - override message: string = "This bot can't be added to groups."; -} -export class BotInlineDisabled extends BadRequest { - override id: string = 'BOT_INLINE_DISABLED'; - override message: string = "This bot can't be used in inline mode."; -} -export class BotInvalid extends BadRequest { - override id: string = 'BOT_INVALID'; - override message: string = 'This is not a valid bot.'; -} -export class BotInvoiceInvalid extends BadRequest { - override id: string = 'BOT_INVOICE_INVALID'; - override message: string = 'The specified invoice is invalid.'; -} -export class BotMethodInvalid extends BadRequest { - override id: string = 'BOT_METHOD_INVALID'; - override message: string = 'The specified method cannot be used by bots.'; -} -export class BotMissing extends BadRequest { - override id: string = 'BOT_MISSING'; - override message: string = - "Only bots can call this method, please use [@stickers](https://t.me/stickers) if you're a user."; -} -export class BotNotConnectedYet extends BadRequest { - override id: string = 'BOT_NOT_CONNECTED_YET'; - override message: string = - 'No [business bot](https://core.telegram.org/api/business#connected-bots) is connected to the currently logged in user.'; -} -export class BotOnesideNotAvail extends BadRequest { - override id: string = 'BOT_ONESIDE_NOT_AVAIL'; - override message: string = "Bots can't pin messages in PM just for themselves."; -} -export class BotPaymentsDisabled extends BadRequest { - override id: string = 'BOT_PAYMENTS_DISABLED'; - override message: string = 'Please enable bot payments in botfather before calling this method.'; -} -export class BotPollsDisabled extends BadRequest { - override id: string = 'BOT_POLLS_DISABLED'; - override message: string = 'Sending polls by bots has been disabled'; -} -export class BotResponseTimeout extends BadRequest { - override id: string = 'BOT_RESPONSE_TIMEOUT'; - override message: string = 'A timeout occurred while fetching data from the bot.'; -} -export class BotScoreNotModified extends BadRequest { - override id: string = 'BOT_SCORE_NOT_MODIFIED'; - override message: string = "The score wasn't modified."; -} -export class BotWebviewDisabled extends BadRequest { - override id: string = 'BOT_WEBVIEW_DISABLED'; - override message: string = - 'A webview cannot be opened in the specified conditions: emitted for example if `from_bot_menu` or `url` are set and `peer` is not the chat with the bot.'; -} -export class BroadcastIdInvalid extends BadRequest { - override id: string = 'BROADCAST_ID_INVALID'; - override message: string = 'Broadcast ID invalid.'; -} -export class BroadcastPublicVotersForbidden extends BadRequest { - override id: string = 'BROADCAST_PUBLIC_VOTERS_FORBIDDEN'; - override message: string = "You can't forward polls with public voters."; -} -export class BroadcastRequired extends BadRequest { - override id: string = 'BROADCAST_REQUIRED'; - override message: string = - 'This method can only be called on a channel, please use stats.getMegagroupStats for supergroups.'; -} -export class BusinessPeerInvalid extends BadRequest { - override id: string = 'BUSINESS_PEER_INVALID'; - override message: string = - "Messages can't be set to the specified peer through the current [business connection](https://core.telegram.org/api/business#connected-bots)."; -} -export class BusinessPeerUsageMissing extends BadRequest { - override id: string = 'BUSINESS_PEER_USAGE_MISSING'; - override message: string = - "You cannot send a message to a user through a [business connection](https://core.telegram.org/api/business#connected-bots) if the user hasn't recently contacted us."; -} -export class BusinessRecipientsEmpty extends BadRequest { - override id: string = 'BUSINESS_RECIPIENTS_EMPTY'; - override message: string = - "You didn't set any flag in inputBusinessBotRecipients, thus the bot cannot work with *any* peer."; -} -export class BusinessWorkHoursEmpty extends BadRequest { - override id: string = 'BUSINESS_WORK_HOURS_EMPTY'; - override message: string = 'No work hours were specified.'; -} -export class BusinessWorkHoursPeriodInvalid extends BadRequest { - override id: string = 'BUSINESS_WORK_HOURS_PERIOD_INVALID'; - override message: string = - 'The specified work hours are invalid, see [here »](https://core.telegram.org/api/business#opening-hours) for the exact requirements.'; -} -export class ButtonCopyTextInvalid extends BadRequest { - override id: string = 'BUTTON_COPY_TEXT_INVALID'; - override message: string = - 'The specified [keyboardButtonCopy](https://core.telegram.org/constructor/keyboardButtonCopy).`copy_text` is invalid.'; -} -export class ButtonDataInvalid extends BadRequest { - override id: string = 'BUTTON_DATA_INVALID'; - override message: string = 'The data of one or more of the buttons you provided is invalid.'; -} -export class ButtonIdInvalid extends BadRequest { - override id: string = 'BUTTON_ID_INVALID'; - override message: string = 'The specified button ID is invalid.'; -} -export class ButtonPosInvalid extends BadRequest { - override id: string = 'BUTTON_POS_INVALID'; - override message: string = - 'The position of one of the keyboard buttons is invalid (i.e. a Game or Pay button not in the first position, and so on...).'; -} -export class ButtonTextInvalid extends BadRequest { - override id: string = 'BUTTON_TEXT_INVALID'; - override message: string = 'The specified button text is invalid.'; -} -export class ButtonTypeInvalid extends BadRequest { - override id: string = 'BUTTON_TYPE_INVALID'; - override message: string = 'The type of one or more of the buttons you provided is invalid.'; -} -export class ButtonUrlInvalid extends BadRequest { - override id: string = 'BUTTON_URL_INVALID'; - override message: string = 'Button URL invalid.'; -} -export class ButtonUserInvalid extends BadRequest { - override id: string = 'BUTTON_USER_INVALID'; - override message: string = 'The `user_id` passed to inputKeyboardButtonUserProfile is invalid!'; -} -export class ButtonUserPrivacyRestricted extends BadRequest { - override id: string = 'BUTTON_USER_PRIVACY_RESTRICTED'; - override message: string = - 'The privacy setting of the user specified in a [inputKeyboardButtonUserProfile](https://core.telegram.org/constructor/inputKeyboardButtonUserProfile) button do not allow creating such a button.'; -} -export class CallAlreadyAccepted extends BadRequest { - override id: string = 'CALL_ALREADY_ACCEPTED'; - override message: string = 'The call was already accepted.'; -} -export class CallAlreadyDeclined extends BadRequest { - override id: string = 'CALL_ALREADY_DECLINED'; - override message: string = 'The call was already declined.'; -} -export class CallOccupyFailed extends BadRequest { - override id: string = 'CALL_OCCUPY_FAILED'; - override message: string = 'The call failed because the user is already making another call.'; -} -export class CallPeerInvalid extends BadRequest { - override id: string = 'CALL_PEER_INVALID'; - override message: string = 'The provided call peer object is invalid.'; -} -export class CallProtocolFlagsInvalid extends BadRequest { - override id: string = 'CALL_PROTOCOL_FLAGS_INVALID'; - override message: string = 'Call protocol flags invalid.'; -} -export class CdnMethodInvalid extends BadRequest { - override id: string = 'CDN_METHOD_INVALID'; - override message: string = "You can't call this method in a CDN DC."; -} -export class ChannelsAdminLocatedTooMuch extends BadRequest { - override id: string = 'CHANNELS_ADMIN_LOCATED_TOO_MUCH'; - override message: string = 'The user has reached the limit of public geogroups.'; -} -export class ChannelsAdminPublicTooMuch extends BadRequest { - override id: string = 'CHANNELS_ADMIN_PUBLIC_TOO_MUCH'; - override message: string = - "You're admin of too many public channels, make some channels private to change the username of this channel."; -} -export class ChannelsTooMuch extends BadRequest { - override id: string = 'CHANNELS_TOO_MUCH'; - override message: string = 'You have joined too many channels/supergroups.'; -} -export class ChannelAddInvalid extends BadRequest { - override id: string = 'CHANNEL_ADD_INVALID'; - override message: string = 'Internal error.'; -} -export class ChannelBanned extends BadRequest { - override id: string = 'CHANNEL_BANNED'; - override message: string = 'The channel is banned'; -} -export class ChannelForumMissing extends BadRequest { - override id: string = 'CHANNEL_FORUM_MISSING'; - override message: string = 'This supergroup is not a forum.'; -} -export class ChannelIdInvalid extends BadRequest { - override id: string = 'CHANNEL_ID_INVALID'; - override message: string = 'The specified supergroup ID is invalid.'; -} -export class ChannelInvalid extends BadRequest { - override id: string = 'CHANNEL_INVALID'; - override message: string = 'The provided channel is invalid.'; -} -export class ChannelParicipantMissing extends BadRequest { - override id: string = 'CHANNEL_PARICIPANT_MISSING'; - override message: string = 'The current user is not in the channel.'; -} -export class ChannelPrivate extends BadRequest { - override id: string = 'CHANNEL_PRIVATE'; - override message: string = "You haven't joined this channel/supergroup."; -} -export class ChannelTooBig extends BadRequest { - override id: string = 'CHANNEL_TOO_BIG'; - override message: string = 'This channel has too many participants (>1000) to be deleted.'; -} -export class ChannelTooLarge extends BadRequest { - override id: string = 'CHANNEL_TOO_LARGE'; - override message: string = - 'Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change).'; -} -export class ChargeAlreadyRefunded extends BadRequest { - override id: string = 'CHARGE_ALREADY_REFUNDED'; - override message: string = 'The transaction was already refunded.'; -} -export class ChatlinksTooMuch extends BadRequest { - override id: string = 'CHATLINKS_TOO_MUCH'; - override message: string = - 'Too many [business chat links](https://core.telegram.org/api/business#business-chat-links) were created, please delete some older links.'; -} -export class ChatlinkSlugEmpty extends BadRequest { - override id: string = 'CHATLINK_SLUG_EMPTY'; - override message: string = 'The specified slug is empty.'; -} -export class ChatlinkSlugExpired extends BadRequest { - override id: string = 'CHATLINK_SLUG_EXPIRED'; - override message: string = - 'The specified [business chat link](https://core.telegram.org/api/business#business-chat-links) has expired.'; -} -export class ChatlistsTooMuch extends BadRequest { - override id: string = 'CHATLISTS_TOO_MUCH'; - override message: string = - 'You have created too many folder links, hitting the `chatlist_invites_limit_default`/`chatlist_invites_limit_premium` [limits »](https://core.telegram.org/api/config#chatlist-invites-limit-default).'; -} -export class ChatlistExcludeInvalid extends BadRequest { - override id: string = 'CHATLIST_EXCLUDE_INVALID'; - override message: string = 'The specified `exclude_peers` are invalid.'; -} -export class ChatAboutNotModified extends BadRequest { - override id: string = 'CHAT_ABOUT_NOT_MODIFIED'; - override message: string = 'About text has not changed.'; -} -export class ChatAboutTooLong extends BadRequest { - override id: string = 'CHAT_ABOUT_TOO_LONG'; - override message: string = 'Chat about too long.'; -} -export class ChatAdminRequired extends BadRequest { - override id: string = 'CHAT_ADMIN_REQUIRED'; - override message: string = 'You must be an admin in this chat to do this.'; -} -export class ChatDiscussionUnallowed extends BadRequest { - override id: string = 'CHAT_DISCUSSION_UNALLOWED'; - override message: string = - "You can't enable forum topics in a discussion group linked to a channel."; -} -export class ChatForwardsRestricted extends BadRequest { - override id: string = 'CHAT_FORWARDS_RESTRICTED'; - override message: string = "You can't forward messages from a protected chat."; -} -export class ChatIdEmpty extends BadRequest { - override id: string = 'CHAT_ID_EMPTY'; - override message: string = 'The provided chat ID is empty.'; -} -export class ChatIdInvalid extends BadRequest { - override id: string = 'CHAT_ID_INVALID'; - override message: string = 'The provided chat id is invalid.'; -} -export class ChatInvalid extends BadRequest { - override id: string = 'CHAT_INVALID'; - override message: string = 'Invalid chat.'; -} -export class ChatInvitePermanent extends BadRequest { - override id: string = 'CHAT_INVITE_PERMANENT'; - override message: string = "You can't set an expiration date on permanent invite links."; -} -export class ChatLinkExists extends BadRequest { - override id: string = 'CHAT_LINK_EXISTS'; - override message: string = "The chat is public, you can't hide the history to new users."; -} -export class ChatMemberAddFailed extends BadRequest { - override id: string = 'CHAT_MEMBER_ADD_FAILED'; - override message: string = 'Could not add participants.'; -} -export class ChatNotModified extends BadRequest { - override id: string = 'CHAT_NOT_MODIFIED'; - override message: string = - 'No changes were made to chat information because the new information you passed is identical to the current information.'; -} -export class ChatPublicRequired extends BadRequest { - override id: string = 'CHAT_PUBLIC_REQUIRED'; - override message: string = 'You can only enable join requests in public groups.'; -} -export class ChatRestricted extends BadRequest { - override id: string = 'CHAT_RESTRICTED'; - override message: string = "You can't send messages in this chat, you were restricted."; -} -export class ChatRevokeDateUnsupported extends BadRequest { - override id: string = 'CHAT_REVOKE_DATE_UNSUPPORTED'; - override message: string = - '`min_date` and `max_date` are not available for using with non-user peers.'; -} -export class ChatSendInlineForbidden extends BadRequest { - override id: string = 'CHAT_SEND_INLINE_FORBIDDEN'; - override message: string = "You can't send inline messages in this group."; -} -export class ChatTitleEmpty extends BadRequest { - override id: string = 'CHAT_TITLE_EMPTY'; - override message: string = 'No chat title provided.'; -} -export class ChatTooBig extends BadRequest { - override id: string = 'CHAT_TOO_BIG'; - override message: string = - 'This method is not available for groups with more than `chat_read_mark_size_threshold` members, [see client configuration »](https://core.telegram.org/api/config#client-configuration).'; -} -export class CodeEmpty extends BadRequest { - override id: string = 'CODE_EMPTY'; - override message: string = 'The provided code is empty.'; -} -export class CodeHashInvalid extends BadRequest { - override id: string = 'CODE_HASH_INVALID'; - override message: string = 'Code hash invalid.'; -} -export class CodeInvalid extends BadRequest { - override id: string = 'CODE_INVALID'; - override message: string = 'Code invalid.'; -} -export class CollectibleInvalid extends BadRequest { - override id: string = 'COLLECTIBLE_INVALID'; - override message: string = 'The specified collectible is invalid.'; -} -export class CollectibleNotFound extends BadRequest { - override id: string = 'COLLECTIBLE_NOT_FOUND'; - override message: string = 'The specified collectible could not be found.'; -} -export class ColorInvalid extends BadRequest { - override id: string = 'COLOR_INVALID'; - override message: string = 'The specified color palette ID was invalid.'; -} -export class ConnectionApiIdInvalid extends BadRequest { - override id: string = 'CONNECTION_API_ID_INVALID'; - override message: string = 'The provided API id is invalid.'; -} -export class ConnectionAppVersionEmpty extends BadRequest { - override id: string = 'CONNECTION_APP_VERSION_EMPTY'; - override message: string = 'App version is empty.'; -} -export class ConnectionDeviceModelEmpty extends BadRequest { - override id: string = 'CONNECTION_DEVICE_MODEL_EMPTY'; - override message: string = 'The specified device model is empty.'; -} -export class ConnectionIdInvalid extends BadRequest { - override id: string = 'CONNECTION_ID_INVALID'; - override message: string = 'The specified connection ID is invalid.'; -} -export class ConnectionLangPackInvalid extends BadRequest { - override id: string = 'CONNECTION_LANG_PACK_INVALID'; - override message: string = 'The specified language pack is empty.'; -} -export class ConnectionLayerInvalid extends BadRequest { - override id: string = 'CONNECTION_LAYER_INVALID'; - override message: string = 'Layer invalid.'; -} -export class ConnectionNotInited extends BadRequest { - override id: string = 'CONNECTION_NOT_INITED'; - override message: string = - 'Please initialize the connection using initConnection before making queries.'; -} -export class ConnectionSystemEmpty extends BadRequest { - override id: string = 'CONNECTION_SYSTEM_EMPTY'; - override message: string = 'The specified system version is empty.'; -} -export class ConnectionSystemLangCodeEmpty extends BadRequest { - override id: string = 'CONNECTION_SYSTEM_LANG_CODE_EMPTY'; - override message: string = 'The specified system language code is empty.'; -} -export class ContactAddMissing extends BadRequest { - override id: string = 'CONTACT_ADD_MISSING'; - override message: string = 'Contact to add is missing.'; -} -export class ContactIdInvalid extends BadRequest { - override id: string = 'CONTACT_ID_INVALID'; - override message: string = 'The provided contact ID is invalid.'; -} -export class ContactMissing extends BadRequest { - override id: string = 'CONTACT_MISSING'; - override message: string = 'The specified user is not a contact.'; -} -export class ContactNameEmpty extends BadRequest { - override id: string = 'CONTACT_NAME_EMPTY'; - override message: string = 'Contact name empty.'; -} -export class ContactReqMissing extends BadRequest { - override id: string = 'CONTACT_REQ_MISSING'; - override message: string = 'Missing contact request.'; -} -export class CreateCallFailed extends BadRequest { - override id: string = 'CREATE_CALL_FAILED'; - override message: string = 'An error occurred while creating the call.'; -} -export class CurrencyTotalAmountInvalid extends BadRequest { - override id: string = 'CURRENCY_TOTAL_AMOUNT_INVALID'; - override message: string = 'The total amount of all prices is invalid.'; -} -export class CustomReactionsTooMany extends BadRequest { - override id: string = 'CUSTOM_REACTIONS_TOO_MANY'; - override message: string = 'Too many custom reactions were specified.'; -} -export class DataInvalid extends BadRequest { - override id: string = 'DATA_INVALID'; - override message: string = 'Encrypted data invalid.'; -} -export class DataJsonInvalid extends BadRequest { - override id: string = 'DATA_JSON_INVALID'; - override message: string = 'The provided JSON data is invalid.'; -} -export class DataTooLong extends BadRequest { - override id: string = 'DATA_TOO_LONG'; - override message: string = 'Data too long.'; -} -export class DateEmpty extends BadRequest { - override id: string = 'DATE_EMPTY'; - override message: string = 'Date empty.'; -} -export class DcIdInvalid extends BadRequest { - override id: string = 'DC_ID_INVALID'; - override message: string = 'The provided DC ID is invalid.'; -} -export class DhGAInvalid extends BadRequest { - override id: string = 'DH_G_A_INVALID'; - override message: string = 'g_a invalid.'; -} -export class DocumentInvalid extends BadRequest { - override id: string = 'DOCUMENT_INVALID'; - override message: string = 'The specified document is invalid.'; -} -export class EmailHashExpired extends BadRequest { - override id: string = 'EMAIL_HASH_EXPIRED'; - override message: string = 'Email hash expired.'; -} -export class EmailInvalid extends BadRequest { - override id: string = 'EMAIL_INVALID'; - override message: string = 'The specified email is invalid.'; -} -export class EmailNotAllowed extends BadRequest { - override id: string = 'EMAIL_NOT_ALLOWED'; - override message: string = 'The specified email cannot be used to complete the operation.'; -} -export class EmailNotSetup extends BadRequest { - override id: string = 'EMAIL_NOT_SETUP'; - override message: string = - 'In order to change the login email with emailVerifyPurposeLoginChange, an existing login email must already be set using emailVerifyPurposeLoginSetup.'; -} -export class EmailUnconfirmed extends BadRequest { - override id: string = 'EMAIL_UNCONFIRMED'; - override message: string = 'Email unconfirmed.'; -} -export class EmailUnconfirmedX extends BadRequest { - override id: string = 'EMAIL_UNCONFIRMED_X'; - override message: string = - "The provided email isn't confirmed, {value} is the length of the verification code that was just sent to the email: use [account.verifyEmail](https://core.telegram.org/method/account.verifyEmail) to enter the received verification code and enable the recovery email."; -} -export class EmailVerifyExpired extends BadRequest { - override id: string = 'EMAIL_VERIFY_EXPIRED'; - override message: string = 'The verification email has expired.'; -} -export class EmojiInvalid extends BadRequest { - override id: string = 'EMOJI_INVALID'; - override message: string = 'The specified theme emoji is valid.'; -} -export class EmojiMarkupInvalid extends BadRequest { - override id: string = 'EMOJI_MARKUP_INVALID'; - override message: string = 'The specified `video_emoji_markup` was invalid.'; -} -export class EmojiNotModified extends BadRequest { - override id: string = 'EMOJI_NOT_MODIFIED'; - override message: string = "The theme wasn't changed."; -} -export class EmoticonEmpty extends BadRequest { - override id: string = 'EMOTICON_EMPTY'; - override message: string = 'The emoji is empty.'; -} -export class EmoticonInvalid extends BadRequest { - override id: string = 'EMOTICON_INVALID'; - override message: string = 'The specified emoji is invalid.'; -} -export class EmoticonStickerpackMissing extends BadRequest { - override id: string = 'EMOTICON_STICKERPACK_MISSING'; - override message: string = 'inputStickerSetDice.emoji cannot be empty.'; -} -export class EncryptedMessageInvalid extends BadRequest { - override id: string = 'ENCRYPTED_MESSAGE_INVALID'; - override message: string = 'Encrypted message invalid.'; -} -export class EncryptionAlreadyAccepted extends BadRequest { - override id: string = 'ENCRYPTION_ALREADY_ACCEPTED'; - override message: string = 'Secret chat already accepted.'; -} -export class EncryptionAlreadyDeclined extends BadRequest { - override id: string = 'ENCRYPTION_ALREADY_DECLINED'; - override message: string = 'The secret chat was already declined.'; -} -export class EncryptionDeclined extends BadRequest { - override id: string = 'ENCRYPTION_DECLINED'; - override message: string = 'The secret chat was declined.'; -} -export class EncryptionIdInvalid extends BadRequest { - override id: string = 'ENCRYPTION_ID_INVALID'; - override message: string = 'The provided secret chat ID is invalid.'; -} -export class EntitiesTooLong extends BadRequest { - override id: string = 'ENTITIES_TOO_LONG'; - override message: string = 'You provided too many styled message entities.'; -} -export class EntityBoundsInvalid extends BadRequest { - override id: string = 'ENTITY_BOUNDS_INVALID'; - override message: string = - 'A specified [entity offset or length](https://core.telegram.org/api/entities#entity-length) is invalid, see [here »](https://core.telegram.org/api/entities#entity-length) for info on how to properly compute the entity offset/length.'; -} -export class EntityMentionUserInvalid extends BadRequest { - override id: string = 'ENTITY_MENTION_USER_INVALID'; - override message: string = 'You mentioned an invalid user.'; -} -export class ErrorTextEmpty extends BadRequest { - override id: string = 'ERROR_TEXT_EMPTY'; - override message: string = 'The provided error message is empty.'; -} -export class ExpireDateInvalid extends BadRequest { - override id: string = 'EXPIRE_DATE_INVALID'; - override message: string = 'The specified expiration date is invalid.'; -} -export class ExportCardInvalid extends BadRequest { - override id: string = 'EXPORT_CARD_INVALID'; - override message: string = 'Provided card is invalid.'; -} -export class ExtendedMediaAmountInvalid extends BadRequest { - override id: string = 'EXTENDED_MEDIA_AMOUNT_INVALID'; - override message: string = - 'The specified `stars_amount` of the passed [inputMediaPaidMedia](https://core.telegram.org/constructor/inputMediaPaidMedia) is invalid.'; -} -export class ExternalUrlInvalid extends BadRequest { - override id: string = 'EXTERNAL_URL_INVALID'; - override message: string = 'External URL invalid.'; -} -export class FieldNameEmpty extends BadRequest { - override id: string = 'FIELD_NAME_EMPTY'; - override message: string = 'The field with the name FIELD_NAME is missing'; -} -export class FieldNameInvalid extends BadRequest { - override id: string = 'FIELD_NAME_INVALID'; - override message: string = 'The field with the name FIELD_NAME is invalid'; -} -export class FileContentTypeInvalid extends BadRequest { - override id: string = 'FILE_CONTENT_TYPE_INVALID'; - override message: string = 'File content-type is invalid.'; -} -export class FileEmtpy extends BadRequest { - override id: string = 'FILE_EMTPY'; - override message: string = 'An empty file was provided.'; -} -export class FileIdInvalid extends BadRequest { - override id: string = 'FILE_ID_INVALID'; - override message: string = 'The provided file id is invalid.'; -} -export class FileMigrate extends BadRequest { - override id: string = 'FILE_MIGRATE_X'; - override message: string = - 'The file currently being accessed is stored in DC {value}, please re-send the query to that DC.'; -} -export class FilePartsInvalid extends BadRequest { - override id: string = 'FILE_PARTS_INVALID'; - override message: string = 'The number of file parts is invalid.'; -} -export class FilePartEmpty extends BadRequest { - override id: string = 'FILE_PART_EMPTY'; - override message: string = 'The provided file part is empty.'; -} -export class FilePartInvalid extends BadRequest { - override id: string = 'FILE_PART_INVALID'; - override message: string = 'The file part number is invalid.'; -} -export class FilePartLengthInvalid extends BadRequest { - override id: string = 'FILE_PART_LENGTH_INVALID'; - override message: string = 'The length of a file part is invalid.'; -} -export class FilePartSizeChanged extends BadRequest { - override id: string = 'FILE_PART_SIZE_CHANGED'; - override message: string = 'Provided file part size has changed.'; -} -export class FilePartSizeInvalid extends BadRequest { - override id: string = 'FILE_PART_SIZE_INVALID'; - override message: string = 'The provided file part size is invalid.'; -} -export class FilePartTooBig extends BadRequest { - override id: string = 'FILE_PART_TOO_BIG'; - override message: string = 'The uploaded file part is too big.'; -} -export class FilePartTooSmall extends BadRequest { - override id: string = 'FILE_PART_TOO_SMALL'; - override message: string = - 'The size of the uploaded file part is too small, please see the documentation for the allowed sizes.'; -} -export class FilePartMissing extends BadRequest { - override id: string = 'FILE_PART_X_MISSING'; - override message: string = - 'Part {value} of the file is missing from storage. Try repeating the method call to resave the part.'; -} -export class FileReferenceAny extends BadRequest { - override id: string = 'FILE_REFERENCE_*'; - override message: string = - 'The file reference expired, it [must be refreshed](https://core.telegram.org/api/file_reference).'; -} -export class FileReferenceEmpty extends BadRequest { - override id: string = 'FILE_REFERENCE_EMPTY'; - override message: string = - 'An empty [file reference](https://core.telegram.org/api/file_reference) was specified.'; -} -export class FileReferenceExpired extends BadRequest { - override id: string = 'FILE_REFERENCE_EXPIRED'; - override message: string = - 'File reference expired, it must be refetched as described in [the documentation](https://core.telegram.org/api/file_reference).'; -} -export class FileReferenceInvalid extends BadRequest { - override id: string = 'FILE_REFERENCE_INVALID'; - override message: string = - 'The specified [file reference](https://core.telegram.org/api/file_reference) is invalid.'; -} -export class FileReferenceXExpired extends BadRequest { - override id: string = 'FILE_REFERENCE_X_EXPIRED'; - override message: string = - 'The file reference of the media file at index {value} in the passed media array expired, it [must be refreshed](https://core.telegram.org/api/file_reference).'; -} -export class FileReferenceXInvalid extends BadRequest { - override id: string = 'FILE_REFERENCE_X_INVALID'; - override message: string = - 'The file reference of the media file at index {value} in the passed media array is invalid.'; -} -export class FileTitleEmpty extends BadRequest { - override id: string = 'FILE_TITLE_EMPTY'; - override message: string = 'An empty file title was specified.'; -} -export class FileTokenInvalid extends BadRequest { - override id: string = 'FILE_TOKEN_INVALID'; - override message: string = - 'The master DC did not accept the `file_token` (e.g., the token has expired). Continue downloading the file from the master DC using upload.getFile.'; -} -export class FilterIdInvalid extends BadRequest { - override id: string = 'FILTER_ID_INVALID'; - override message: string = 'The specified filter ID is invalid.'; -} -export class FilterIncludeEmpty extends BadRequest { - override id: string = 'FILTER_INCLUDE_EMPTY'; - override message: string = 'The include_peers vector of the filter is empty.'; -} -export class FilterNotSupported extends BadRequest { - override id: string = 'FILTER_NOT_SUPPORTED'; - override message: string = 'The specified filter cannot be used in this context.'; -} -export class FilterTitleEmpty extends BadRequest { - override id: string = 'FILTER_TITLE_EMPTY'; - override message: string = 'The title field of the filter is empty.'; -} -export class FirstnameInvalid extends BadRequest { - override id: string = 'FIRSTNAME_INVALID'; - override message: string = 'The first name is invalid.'; -} -export class FolderIdEmpty extends BadRequest { - override id: string = 'FOLDER_ID_EMPTY'; - override message: string = 'An empty folder ID was specified.'; -} -export class FolderIdInvalid extends BadRequest { - override id: string = 'FOLDER_ID_INVALID'; - override message: string = 'Invalid folder ID.'; -} -export class FormExpired extends BadRequest { - override id: string = 'FORM_EXPIRED'; - override message: string = - 'The form was generated more than 10 minutes ago and has expired, please re-generate it using [payments.getPaymentForm](https://core.telegram.org/method/payments.getPaymentForm) and pass the new `form_id`.'; -} -export class FormIdEmpty extends BadRequest { - override id: string = 'FORM_ID_EMPTY'; - override message: string = 'The specified form ID is empty.'; -} -export class FormUnsupported extends BadRequest { - override id: string = 'FORM_UNSUPPORTED'; - override message: string = 'Please update your client.'; -} -export class ForumEnabled extends BadRequest { - override id: string = 'FORUM_ENABLED'; - override message: string = - "You can't execute the specified action because the group is a [forum](https://core.telegram.org/api/forum), disable forum functionality to continue."; -} -export class FreshChangeAdminsForbidden extends BadRequest { - override id: string = 'FRESH_CHANGE_ADMINS_FORBIDDEN'; - override message: string = - "You were just elected admin, you can't add or modify other admins yet."; -} -export class FromMessageBotDisabled extends BadRequest { - override id: string = 'FROM_MESSAGE_BOT_DISABLED'; - override message: string = "Bots can't use fromMessage min constructors."; -} -export class FromPeerInvalid extends BadRequest { - override id: string = 'FROM_PEER_INVALID'; - override message: string = 'The specified from_id is invalid.'; -} -export class GameBotInvalid extends BadRequest { - override id: string = 'GAME_BOT_INVALID'; - override message: string = "Bots can't send another bot's game."; -} -export class GeneralModifyIconForbidden extends BadRequest { - override id: string = 'GENERAL_MODIFY_ICON_FORBIDDEN'; - override message: string = 'You can\'t modify the icon of the "General" topic.'; -} -export class GeoPointInvalid extends BadRequest { - override id: string = 'GEO_POINT_INVALID'; - override message: string = 'Invalid geoposition provided.'; -} -export class GiftSlugExpired extends BadRequest { - override id: string = 'GIFT_SLUG_EXPIRED'; - override message: string = 'The specified gift slug has expired.'; -} -export class GiftSlugInvalid extends BadRequest { - override id: string = 'GIFT_SLUG_INVALID'; - override message: string = 'The specified slug is invalid.'; -} -export class GifContentTypeInvalid extends BadRequest { - override id: string = 'GIF_CONTENT_TYPE_INVALID'; - override message: string = 'GIF content-type invalid.'; -} -export class GifIdInvalid extends BadRequest { - override id: string = 'GIF_ID_INVALID'; - override message: string = 'The provided GIF ID is invalid.'; -} -export class GraphExpiredReload extends BadRequest { - override id: string = 'GRAPH_EXPIRED_RELOAD'; - override message: string = 'This graph has expired, please obtain a new graph token.'; -} -export class GraphInvalidReload extends BadRequest { - override id: string = 'GRAPH_INVALID_RELOAD'; - override message: string = - 'Invalid graph token provided, please reload the stats and provide the updated token.'; -} -export class GraphOutdatedReload extends BadRequest { - override id: string = 'GRAPH_OUTDATED_RELOAD'; - override message: string = - 'The graph is outdated, please get a new async token using stats.getBroadcastStats.'; -} -export class GroupcallAlreadyDiscarded extends BadRequest { - override id: string = 'GROUPCALL_ALREADY_DISCARDED'; - override message: string = 'The group call was already discarded.'; -} -export class GroupcallForbidden extends BadRequest { - override id: string = 'GROUPCALL_FORBIDDEN'; - override message: string = 'The group call has already ended.'; -} -export class GroupcallInvalid extends BadRequest { - override id: string = 'GROUPCALL_INVALID'; - override message: string = 'The specified group call is invalid.'; -} -export class GroupcallJoinMissing extends BadRequest { - override id: string = 'GROUPCALL_JOIN_MISSING'; - override message: string = "You haven't joined this group call."; -} -export class GroupcallNotModified extends BadRequest { - override id: string = 'GROUPCALL_NOT_MODIFIED'; - override message: string = "Group call settings weren't modified."; -} -export class GroupcallSsrcDuplicateMuch extends BadRequest { - override id: string = 'GROUPCALL_SSRC_DUPLICATE_MUCH'; - override message: string = 'The app needs to retry joining the group call with a new SSRC value.'; -} -export class GroupedMediaInvalid extends BadRequest { - override id: string = 'GROUPED_MEDIA_INVALID'; - override message: string = 'Invalid grouped media.'; -} -export class GroupCallInvalid extends BadRequest { - override id: string = 'GROUP_CALL_INVALID'; - override message: string = 'The group call is invalid'; -} -export class HashtagInvalid extends BadRequest { - override id: string = 'HASHTAG_INVALID'; - override message: string = 'The specified hashtag is invalid.'; -} -export class HashInvalid extends BadRequest { - override id: string = 'HASH_INVALID'; - override message: string = 'The provided hash is invalid.'; -} -export class HideRequesterMissing extends BadRequest { - override id: string = 'HIDE_REQUESTER_MISSING'; - override message: string = 'The join request was missing or was already handled.'; -} -export class IdExpired extends BadRequest { - override id: string = 'ID_EXPIRED'; - override message: string = 'The passed prepared inline message ID has expired.'; -} -export class IdInvalid extends BadRequest { - override id: string = 'ID_INVALID'; - override message: string = 'The passed ID is invalid.'; -} -export class ImageProcessFailed extends BadRequest { - override id: string = 'IMAGE_PROCESS_FAILED'; - override message: string = 'Failure while processing image.'; -} -export class ImportFileInvalid extends BadRequest { - override id: string = 'IMPORT_FILE_INVALID'; - override message: string = 'The specified chat export file is invalid.'; -} -export class ImportFormatDateInvalid extends BadRequest { - override id: string = 'IMPORT_FORMAT_DATE_INVALID'; - override message: string = 'The date specified in the import file is invalid.'; -} -export class ImportFormatUnrecognized extends BadRequest { - override id: string = 'IMPORT_FORMAT_UNRECOGNIZED'; - override message: string = - 'The specified chat export file was exported from an unsupported chat app.'; -} -export class ImportHistoryLogEmpty extends BadRequest { - override id: string = 'IMPORT_HISTORY_LOG_EMPTY'; - override message: string = ''; -} -export class ImportIdInvalid extends BadRequest { - override id: string = 'IMPORT_ID_INVALID'; - override message: string = 'The specified import ID is invalid.'; -} -export class ImportTokenInvalid extends BadRequest { - override id: string = 'IMPORT_TOKEN_INVALID'; - override message: string = 'The specified token is invalid.'; -} -export class InlineResultExpired extends BadRequest { - override id: string = 'INLINE_RESULT_EXPIRED'; - override message: string = 'The inline query expired.'; -} -export class InputChatlistInvalid extends BadRequest { - override id: string = 'INPUT_CHATLIST_INVALID'; - override message: string = 'The specified folder is invalid.'; -} -export class InputConstructorInvalid extends BadRequest { - override id: string = 'INPUT_CONSTRUCTOR_INVALID'; - override message: string = 'The specified TL constructor is invalid.'; -} -export class InputFetchError extends BadRequest { - override id: string = 'INPUT_FETCH_ERROR'; - override message: string = 'An error occurred while parsing the provided TL constructor.'; -} -export class InputFetchFail extends BadRequest { - override id: string = 'INPUT_FETCH_FAIL'; - override message: string = 'An error occurred while parsing the provided TL constructor.'; -} -export class InputFileInvalid extends BadRequest { - override id: string = 'INPUT_FILE_INVALID'; - override message: string = - 'The specified [InputFile](https://core.telegram.org/type/InputFile) is invalid.'; -} -export class InputFilterInvalid extends BadRequest { - override id: string = 'INPUT_FILTER_INVALID'; - override message: string = 'The specified filter is invalid.'; -} -export class InputLayerInvalid extends BadRequest { - override id: string = 'INPUT_LAYER_INVALID'; - override message: string = 'The specified layer is invalid.'; -} -export class InputMethodInvalid extends BadRequest { - override id: string = 'INPUT_METHOD_INVALID'; - override message: string = 'The specified method is invalid.'; -} -export class InputPeersEmpty extends BadRequest { - override id: string = 'INPUT_PEERS_EMPTY'; - override message: string = 'The specified peer array is empty.'; -} -export class InputRequestTooLong extends BadRequest { - override id: string = 'INPUT_REQUEST_TOO_LONG'; - override message: string = 'The request payload is too long.'; -} -export class InputTextEmpty extends BadRequest { - override id: string = 'INPUT_TEXT_EMPTY'; - override message: string = 'The specified text is empty.'; -} -export class InputTextTooLong extends BadRequest { - override id: string = 'INPUT_TEXT_TOO_LONG'; - override message: string = 'The specified text is too long.'; -} -export class InputUserDeactivated extends BadRequest { - override id: string = 'INPUT_USER_DEACTIVATED'; - override message: string = 'The specified user was deleted.'; -} -export class InvitesTooMuch extends BadRequest { - override id: string = 'INVITES_TOO_MUCH'; - override message: string = - 'The maximum number of per-folder invites specified by the `chatlist_invites_limit_default`/`chatlist_invites_limit_premium` [client configuration parameters »](https://core.telegram.org/api/config#chatlist-invites-limit-default) was reached.'; -} -export class InviteForbiddenWithJoinas extends BadRequest { - override id: string = 'INVITE_FORBIDDEN_WITH_JOINAS'; - override message: string = - "If the user has anonymously joined a group call as a channel, they can't invite other users to the group call because that would cause deanonymization, because the invite would be sent using the original user ID, not the anonymized channel ID."; -} -export class InviteHashEmpty extends BadRequest { - override id: string = 'INVITE_HASH_EMPTY'; - override message: string = 'The invite hash is empty.'; -} -export class InviteHashExpired extends BadRequest { - override id: string = 'INVITE_HASH_EXPIRED'; - override message: string = 'The invite link has expired.'; -} -export class InviteHashInvalid extends BadRequest { - override id: string = 'INVITE_HASH_INVALID'; - override message: string = 'The invite hash is invalid.'; -} -export class InviteRequestSent extends BadRequest { - override id: string = 'INVITE_REQUEST_SENT'; - override message: string = 'You have successfully requested to join this chat or channel.'; -} -export class InviteRevokedMissing extends BadRequest { - override id: string = 'INVITE_REVOKED_MISSING'; - override message: string = 'The specified invite link was already revoked or is invalid.'; -} -export class InviteSlugEmpty extends BadRequest { - override id: string = 'INVITE_SLUG_EMPTY'; - override message: string = 'The specified invite slug is empty.'; -} -export class InviteSlugExpired extends BadRequest { - override id: string = 'INVITE_SLUG_EXPIRED'; - override message: string = 'The specified chat folder link has expired.'; -} -export class InviteSlugInvalid extends BadRequest { - override id: string = 'INVITE_SLUG_INVALID'; - override message: string = 'The specified invitation slug is invalid.'; -} -export class InvoicePayloadInvalid extends BadRequest { - override id: string = 'INVOICE_PAYLOAD_INVALID'; - override message: string = 'The specified invoice payload is invalid.'; -} -export class JoinAsPeerInvalid extends BadRequest { - override id: string = 'JOIN_AS_PEER_INVALID'; - override message: string = 'The specified peer cannot be used to join a group call.'; -} -export class LanguageInvalid extends BadRequest { - override id: string = 'LANGUAGE_INVALID'; - override message: string = 'The specified lang_code is invalid.'; -} -export class LangCodeInvalid extends BadRequest { - override id: string = 'LANG_CODE_INVALID'; - override message: string = 'The specified language code is invalid.'; -} -export class LangCodeNotSupported extends BadRequest { - override id: string = 'LANG_CODE_NOT_SUPPORTED'; - override message: string = 'The specified language code is not supported.'; -} -export class LangPackInvalid extends BadRequest { - override id: string = 'LANG_PACK_INVALID'; - override message: string = 'The provided language pack is invalid.'; -} -export class LastnameInvalid extends BadRequest { - override id: string = 'LASTNAME_INVALID'; - override message: string = 'The last name is invalid.'; -} -export class LimitInvalid extends BadRequest { - override id: string = 'LIMIT_INVALID'; - override message: string = 'The provided limit is invalid.'; -} -export class LinkNotModified extends BadRequest { - override id: string = 'LINK_NOT_MODIFIED'; - override message: string = 'Discussion link not modified.'; -} -export class LocationInvalid extends BadRequest { - override id: string = 'LOCATION_INVALID'; - override message: string = 'The provided location is invalid.'; -} -export class MaxDateInvalid extends BadRequest { - override id: string = 'MAX_DATE_INVALID'; - override message: string = 'The specified maximum date is invalid.'; -} -export class MaxIdInvalid extends BadRequest { - override id: string = 'MAX_ID_INVALID'; - override message: string = 'The provided max ID is invalid.'; -} -export class MaxQtsInvalid extends BadRequest { - override id: string = 'MAX_QTS_INVALID'; - override message: string = 'The specified max_qts is invalid.'; -} -export class Md5ChecksumInvalid extends BadRequest { - override id: string = 'MD5_CHECKSUM_INVALID'; - override message: string = 'The MD5 checksums do not match.'; -} -export class MediaCaptionTooLong extends BadRequest { - override id: string = 'MEDIA_CAPTION_TOO_LONG'; - override message: string = 'The caption is too long.'; -} -export class MediaEmpty extends BadRequest { - override id: string = 'MEDIA_EMPTY'; - override message: string = 'The provided media object is invalid.'; -} -export class MediaFileInvalid extends BadRequest { - override id: string = 'MEDIA_FILE_INVALID'; - override message: string = 'The specified media file is invalid.'; -} -export class MediaGroupedInvalid extends BadRequest { - override id: string = 'MEDIA_GROUPED_INVALID'; - override message: string = 'You tried to send media of different types in an album.'; -} -export class MediaInvalid extends BadRequest { - override id: string = 'MEDIA_INVALID'; - override message: string = 'Media invalid.'; -} -export class MediaNewInvalid extends BadRequest { - override id: string = 'MEDIA_NEW_INVALID'; - override message: string = 'The new media is invalid.'; -} -export class MediaPrevInvalid extends BadRequest { - override id: string = 'MEDIA_PREV_INVALID'; - override message: string = 'Previous media invalid.'; -} -export class MediaTtlInvalid extends BadRequest { - override id: string = 'MEDIA_TTL_INVALID'; - override message: string = 'The specified media TTL is invalid.'; -} -export class MediaTypeInvalid extends BadRequest { - override id: string = 'MEDIA_TYPE_INVALID'; - override message: string = 'The specified media type cannot be used in stories.'; -} -export class MediaVideoStoryMissing extends BadRequest { - override id: string = 'MEDIA_VIDEO_STORY_MISSING'; - override message: string = - 'A non-story video cannot be repubblished as a story (emitted when trying to resend a non-story video as a story using inputDocument).'; -} -export class MegagroupGeoRequired extends BadRequest { - override id: string = 'MEGAGROUP_GEO_REQUIRED'; - override message: string = 'This method can only be invoked on a geogroup.'; -} -export class MegagroupIdInvalid extends BadRequest { - override id: string = 'MEGAGROUP_ID_INVALID'; - override message: string = 'Invalid supergroup ID.'; -} -export class MegagroupPrehistoryHidden extends BadRequest { - override id: string = 'MEGAGROUP_PREHISTORY_HIDDEN'; - override message: string = - "Group with hidden history for new members can't be set as discussion groups."; -} -export class MegagroupRequired extends BadRequest { - override id: string = 'MEGAGROUP_REQUIRED'; - override message: string = 'You can only use this method on a supergroup.'; -} -export class MessageEditTimeExpired extends BadRequest { - override id: string = 'MESSAGE_EDIT_TIME_EXPIRED'; - override message: string = - "You can't edit this message anymore, too much time has passed since its creation."; -} -export class MessageEmpty extends BadRequest { - override id: string = 'MESSAGE_EMPTY'; - override message: string = 'The provided message is empty.'; -} -export class MessageIdsEmpty extends BadRequest { - override id: string = 'MESSAGE_IDS_EMPTY'; - override message: string = 'No message ids were provided.'; -} -export class MessageIdInvalid extends BadRequest { - override id: string = 'MESSAGE_ID_INVALID'; - override message: string = 'The provided message id is invalid.'; -} -export class MessageNotModified extends BadRequest { - override id: string = 'MESSAGE_NOT_MODIFIED'; - override message: string = - "The provided message data is identical to the previous message data, the message wasn't modified."; -} -export class MessageNotReadYet extends BadRequest { - override id: string = 'MESSAGE_NOT_READ_YET'; - override message: string = "The specified message wasn't read yet."; -} -export class MessagePollClosed extends BadRequest { - override id: string = 'MESSAGE_POLL_CLOSED'; - override message: string = 'Poll closed.'; -} -export class MessageTooLong extends BadRequest { - override id: string = 'MESSAGE_TOO_LONG'; - override message: string = 'The provided message is too long.'; -} -export class MessageTooOld extends BadRequest { - override id: string = 'MESSAGE_TOO_OLD'; - override message: string = 'The message is too old, the requested information is not available.'; -} -export class MethodInvalid extends BadRequest { - override id: string = 'METHOD_INVALID'; - override message: string = 'The specified method is invalid.'; -} -export class MinDateInvalid extends BadRequest { - override id: string = 'MIN_DATE_INVALID'; - override message: string = 'The specified minimum date is invalid.'; -} -export class MsgIdInvalid extends BadRequest { - override id: string = 'MSG_ID_INVALID'; - override message: string = 'Invalid message ID provided.'; -} -export class MsgTooOld extends BadRequest { - override id: string = 'MSG_TOO_OLD'; - override message: string = - '[`chat_read_mark_expire_period` seconds](https://core.telegram.org/api/config#chat-read-mark-expire-period) have passed since the message was sent, read receipts were deleted.'; -} -export class MsgWaitFailed extends BadRequest { - override id: string = 'MSG_WAIT_FAILED'; - override message: string = 'A waiting call returned an error.'; -} -export class MultiMediaTooLong extends BadRequest { - override id: string = 'MULTI_MEDIA_TOO_LONG'; - override message: string = 'Too many media files for album.'; -} -export class NewSaltInvalid extends BadRequest { - override id: string = 'NEW_SALT_INVALID'; - override message: string = 'The new salt is invalid.'; -} -export class NewSettingsEmpty extends BadRequest { - override id: string = 'NEW_SETTINGS_EMPTY'; - override message: string = - 'No password is set on the current account, and no new password was specified in `new_settings`.'; -} -export class NewSettingsInvalid extends BadRequest { - override id: string = 'NEW_SETTINGS_INVALID'; - override message: string = 'The new password settings are invalid.'; -} -export class NextOffsetInvalid extends BadRequest { - override id: string = 'NEXT_OFFSET_INVALID'; - override message: string = 'The specified offset is longer than 64 bytes.'; -} -export class NotEligible extends BadRequest { - override id: string = 'NOT_ELIGIBLE'; - override message: string = - 'The current user is not eligible to join the Peer-to-Peer Login Program.'; -} -export class NotJoined extends BadRequest { - override id: string = 'NOT_JOINED'; - override message: string = "The current user hasn't joined the Peer-to-Peer Login Program."; -} -export class OffsetInvalid extends BadRequest { - override id: string = 'OFFSET_INVALID'; - override message: string = 'The provided offset is invalid.'; -} -export class OffsetPeerIdInvalid extends BadRequest { - override id: string = 'OFFSET_PEER_ID_INVALID'; - override message: string = 'The provided offset peer is invalid.'; -} -export class OptionsTooMuch extends BadRequest { - override id: string = 'OPTIONS_TOO_MUCH'; - override message: string = 'Too many options provided.'; -} -export class OptionInvalid extends BadRequest { - override id: string = 'OPTION_INVALID'; - override message: string = 'Invalid option selected.'; -} -export class OrderInvalid extends BadRequest { - override id: string = 'ORDER_INVALID'; - override message: string = 'The specified username order is invalid.'; -} -export class PackShortNameInvalid extends BadRequest { - override id: string = 'PACK_SHORT_NAME_INVALID'; - override message: string = 'Short pack name invalid.'; -} -export class PackShortNameOccupied extends BadRequest { - override id: string = 'PACK_SHORT_NAME_OCCUPIED'; - override message: string = 'A stickerpack with this name already exists.'; -} -export class PackTitleInvalid extends BadRequest { - override id: string = 'PACK_TITLE_INVALID'; - override message: string = 'The stickerpack title is invalid.'; -} -export class ParticipantsTooFew extends BadRequest { - override id: string = 'PARTICIPANTS_TOO_FEW'; - override message: string = 'Not enough participants.'; -} -export class ParticipantIdInvalid extends BadRequest { - override id: string = 'PARTICIPANT_ID_INVALID'; - override message: string = 'The specified participant ID is invalid.'; -} -export class ParticipantJoinMissing extends BadRequest { - override id: string = 'PARTICIPANT_JOIN_MISSING'; - override message: string = - "Trying to enable a presentation, when the user hasn't joined the Video Chat with [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)."; -} -export class ParticipantVersionOutdated extends BadRequest { - override id: string = 'PARTICIPANT_VERSION_OUTDATED'; - override message: string = - 'The other participant does not use an up to date telegram client with support for calls.'; -} -export class PasswordEmpty extends BadRequest { - override id: string = 'PASSWORD_EMPTY'; - override message: string = 'The provided password is empty.'; -} -export class PasswordHashInvalid extends BadRequest { - override id: string = 'PASSWORD_HASH_INVALID'; - override message: string = 'The provided password hash is invalid.'; -} -export class PasswordMissing extends BadRequest { - override id: string = 'PASSWORD_MISSING'; - override message: string = - 'You must [enable 2FA](https://core.telegram.org/api/srp) before executing this operation.'; -} -export class PasswordRecoveryExpired extends BadRequest { - override id: string = 'PASSWORD_RECOVERY_EXPIRED'; - override message: string = 'The recovery code has expired.'; -} -export class PasswordRecoveryNa extends BadRequest { - override id: string = 'PASSWORD_RECOVERY_NA'; - override message: string = "No email was set, can't recover password via email."; -} -export class PasswordRequired extends BadRequest { - override id: string = 'PASSWORD_REQUIRED'; - override message: string = - 'A [2FA password](https://core.telegram.org/api/srp) must be configured to use Telegram Passport.'; -} -export class PasswordTooFresh extends BadRequest { - override id: string = 'PASSWORD_TOO_FRESH_X'; - override message: string = - 'The password was modified less than 24 hours ago, try again in {value} seconds.'; -} -export class PaymentProviderInvalid extends BadRequest { - override id: string = 'PAYMENT_PROVIDER_INVALID'; - override message: string = 'The specified payment provider is invalid.'; -} -export class PeersListEmpty extends BadRequest { - override id: string = 'PEERS_LIST_EMPTY'; - override message: string = 'The specified list of peers is empty.'; -} -export class PeerFlood extends BadRequest { - override id: string = 'PEER_FLOOD'; - override message: string = - 'The current account is spamreported, you cannot execute this action, check @spambot for more info.'; -} -export class PeerHistoryEmpty extends BadRequest { - override id: string = 'PEER_HISTORY_EMPTY'; - override message: string = "You can't pin an empty chat with a user."; -} -export class PeerIdInvalid extends BadRequest { - override id: string = 'PEER_ID_INVALID'; - override message: string = 'The provided peer id is invalid.'; -} -export class PeerIdNotSupported extends BadRequest { - override id: string = 'PEER_ID_NOT_SUPPORTED'; - override message: string = 'The provided peer ID is not supported.'; -} -export class PeerTypesInvalid extends BadRequest { - override id: string = 'PEER_TYPES_INVALID'; - override message: string = - 'The passed [keyboardButtonSwitchInline](https://core.telegram.org/constructor/keyboardButtonSwitchInline).`peer_types` field is invalid.'; -} -export class PersistentTimestampEmpty extends BadRequest { - override id: string = 'PERSISTENT_TIMESTAMP_EMPTY'; - override message: string = 'Persistent timestamp empty.'; -} -export class PersistentTimestampInvalid extends BadRequest { - override id: string = 'PERSISTENT_TIMESTAMP_INVALID'; - override message: string = 'Persistent timestamp invalid.'; -} -export class PhoneCodeEmpty extends BadRequest { - override id: string = 'PHONE_CODE_EMPTY'; - override message: string = 'phone_code is missing.'; -} -export class PhoneCodeExpired extends BadRequest { - override id: string = 'PHONE_CODE_EXPIRED'; - override message: string = 'The phone code you provided has expired.'; -} -export class PhoneCodeHashEmpty extends BadRequest { - override id: string = 'PHONE_CODE_HASH_EMPTY'; - override message: string = 'phone_code_hash is missing.'; -} -export class PhoneCodeInvalid extends BadRequest { - override id: string = 'PHONE_CODE_INVALID'; - override message: string = 'The provided phone code is invalid.'; -} -export class PhoneHashExpired extends BadRequest { - override id: string = 'PHONE_HASH_EXPIRED'; - override message: string = 'An invalid or expired `phone_code_hash` was provided.'; -} -export class PhoneNotOccupied extends BadRequest { - override id: string = 'PHONE_NOT_OCCUPIED'; - override message: string = 'No user is associated to the specified phone number.'; -} -export class PhoneNumberAppSignupForbidden extends BadRequest { - override id: string = 'PHONE_NUMBER_APP_SIGNUP_FORBIDDEN'; - override message: string = "You can't sign up using this app."; -} -export class PhoneNumberBanned extends BadRequest { - override id: string = 'PHONE_NUMBER_BANNED'; - override message: string = 'The provided phone number is banned from telegram.'; -} -export class PhoneNumberFlood extends BadRequest { - override id: string = 'PHONE_NUMBER_FLOOD'; - override message: string = 'You asked for the code too many times.'; -} -export class PhoneNumberInvalid extends BadRequest { - override id: string = 'PHONE_NUMBER_INVALID'; - override message: string = 'The phone number is invalid.'; -} -export class PhoneNumberOccupied extends BadRequest { - override id: string = 'PHONE_NUMBER_OCCUPIED'; - override message: string = 'The phone number is already in use.'; -} -export class PhoneNumberUnoccupied extends BadRequest { - override id: string = 'PHONE_NUMBER_UNOCCUPIED'; - override message: string = 'The phone number is not yet being used.'; -} -export class PhonePasswordProtected extends BadRequest { - override id: string = 'PHONE_PASSWORD_PROTECTED'; - override message: string = 'This phone is password protected.'; -} -export class PhotoContentTypeInvalid extends BadRequest { - override id: string = 'PHOTO_CONTENT_TYPE_INVALID'; - override message: string = 'Photo mime-type invalid.'; -} -export class PhotoContentUrlEmpty extends BadRequest { - override id: string = 'PHOTO_CONTENT_URL_EMPTY'; - override message: string = 'Photo URL invalid.'; -} -export class PhotoCropFileMissing extends BadRequest { - override id: string = 'PHOTO_CROP_FILE_MISSING'; - override message: string = 'Photo crop file missing.'; -} -export class PhotoCropSizeSmall extends BadRequest { - override id: string = 'PHOTO_CROP_SIZE_SMALL'; - override message: string = 'Photo is too small.'; -} -export class PhotoExtInvalid extends BadRequest { - override id: string = 'PHOTO_EXT_INVALID'; - override message: string = 'The extension of the photo is invalid.'; -} -export class PhotoFileMissing extends BadRequest { - override id: string = 'PHOTO_FILE_MISSING'; - override message: string = 'Profile photo file missing.'; -} -export class PhotoIdInvalid extends BadRequest { - override id: string = 'PHOTO_ID_INVALID'; - override message: string = 'Photo ID invalid.'; -} -export class PhotoInvalid extends BadRequest { - override id: string = 'PHOTO_INVALID'; - override message: string = 'Photo invalid.'; -} -export class PhotoInvalidDimensions extends BadRequest { - override id: string = 'PHOTO_INVALID_DIMENSIONS'; - override message: string = 'The photo dimensions are invalid.'; -} -export class PhotoSaveFileInvalid extends BadRequest { - override id: string = 'PHOTO_SAVE_FILE_INVALID'; - override message: string = 'Internal issues, try again later.'; -} -export class PhotoThumbUrlEmpty extends BadRequest { - override id: string = 'PHOTO_THUMB_URL_EMPTY'; - override message: string = 'Photo thumbnail URL is empty.'; -} -export class PhotoThumbUrlInvalid extends BadRequest { - override id: string = 'PHOTO_THUMB_URL_INVALID'; - override message: string = 'The photo thumb URL is invalid'; -} -export class PinnedDialogsTooMuch extends BadRequest { - override id: string = 'PINNED_DIALOGS_TOO_MUCH'; - override message: string = 'Too many pinned dialogs.'; -} -export class PinRestricted extends BadRequest { - override id: string = 'PIN_RESTRICTED'; - override message: string = "You can't pin messages."; -} -export class PollAnswersInvalid extends BadRequest { - override id: string = 'POLL_ANSWERS_INVALID'; - override message: string = 'Invalid poll answers were provided.'; -} -export class PollAnswerInvalid extends BadRequest { - override id: string = 'POLL_ANSWER_INVALID'; - override message: string = 'One of the poll answers is not acceptable.'; -} -export class PollOptionDuplicate extends BadRequest { - override id: string = 'POLL_OPTION_DUPLICATE'; - override message: string = 'Duplicate poll options provided.'; -} -export class PollOptionInvalid extends BadRequest { - override id: string = 'POLL_OPTION_INVALID'; - override message: string = 'Invalid poll option provided.'; -} -export class PollQuestionInvalid extends BadRequest { - override id: string = 'POLL_QUESTION_INVALID'; - override message: string = 'One of the poll questions is not acceptable.'; -} -export class PollUnsupported extends BadRequest { - override id: string = 'POLL_UNSUPPORTED'; - override message: string = 'This layer does not support polls in the invoked method'; -} -export class PollVoteRequired extends BadRequest { - override id: string = 'POLL_VOTE_REQUIRED'; - override message: string = 'Cast a vote in the poll before calling this method'; -} -export class PremiumAccountRequired extends BadRequest { - override id: string = 'PREMIUM_ACCOUNT_REQUIRED'; - override message: string = 'A premium account is required to execute this action.'; -} -export class PricingChatInvalid extends BadRequest { - override id: string = 'PRICING_CHAT_INVALID'; - override message: string = - 'The pricing for the [subscription](https://core.telegram.org/api/subscriptions) is invalid, the maximum price is specified in the [`stars_subscription_amount_max` config key »](https://core.telegram.org/api/config#stars-subscription-amount-max).'; -} -export class PrivacyKeyInvalid extends BadRequest { - override id: string = 'PRIVACY_KEY_INVALID'; - override message: string = 'The privacy key is invalid.'; -} -export class PrivacyTooLong extends BadRequest { - override id: string = 'PRIVACY_TOO_LONG'; - override message: string = 'Too many privacy rules were specified, the current limit is 1000.'; -} -export class PrivacyValueInvalid extends BadRequest { - override id: string = 'PRIVACY_VALUE_INVALID'; - override message: string = 'The specified privacy rule combination is invalid.'; -} -export class PublicKeyRequired extends BadRequest { - override id: string = 'PUBLIC_KEY_REQUIRED'; - override message: string = 'A public key is required.'; -} -export class QueryIdEmpty extends BadRequest { - override id: string = 'QUERY_ID_EMPTY'; - override message: string = 'The query ID is empty.'; -} -export class QueryIdInvalid extends BadRequest { - override id: string = 'QUERY_ID_INVALID'; - override message: string = 'The query ID is invalid.'; -} -export class QueryTooShort extends BadRequest { - override id: string = 'QUERY_TOO_SHORT'; - override message: string = 'The query string is too short.'; -} -export class QuickRepliesTooMuch extends BadRequest { - override id: string = 'QUICK_REPLIES_TOO_MUCH'; - override message: string = - 'A maximum of [appConfig.`quick_replies_limit`](https://core.telegram.org/api/config#quick-replies-limit) shortcuts may be created, the limit was reached.'; -} -export class QuizAnswerMissing extends BadRequest { - override id: string = 'QUIZ_ANSWER_MISSING'; - override message: string = - 'You can forward a quiz while hiding the original author only after choosing an option in the quiz.'; -} -export class QuizCorrectAnswersEmpty extends BadRequest { - override id: string = 'QUIZ_CORRECT_ANSWERS_EMPTY'; - override message: string = 'No correct quiz answer was specified.'; -} -export class QuizCorrectAnswersTooMuch extends BadRequest { - override id: string = 'QUIZ_CORRECT_ANSWERS_TOO_MUCH'; - override message: string = - 'You specified too many correct answers in a quiz, quizzes can only have one right answer!'; -} -export class QuizCorrectAnswerInvalid extends BadRequest { - override id: string = 'QUIZ_CORRECT_ANSWER_INVALID'; - override message: string = 'An invalid value was provided to the correct_answers field.'; -} -export class QuizMultipleInvalid extends BadRequest { - override id: string = 'QUIZ_MULTIPLE_INVALID'; - override message: string = "Quizzes can't have the multiple_choice flag set!"; -} -export class QuoteTextInvalid extends BadRequest { - override id: string = 'QUOTE_TEXT_INVALID'; - override message: string = 'The specified `reply_to`.`quote_text` field is invalid.'; -} -export class RaiseHandForbidden extends BadRequest { - override id: string = 'RAISE_HAND_FORBIDDEN'; - override message: string = 'You cannot raise your hand.'; -} -export class RandomIdEmpty extends BadRequest { - override id: string = 'RANDOM_ID_EMPTY'; - override message: string = 'Random ID empty.'; -} -export class RandomIdInvalid extends BadRequest { - override id: string = 'RANDOM_ID_INVALID'; - override message: string = 'A provided random ID is invalid.'; -} -export class RandomLengthInvalid extends BadRequest { - override id: string = 'RANDOM_LENGTH_INVALID'; - override message: string = 'Random length invalid.'; -} -export class RangesInvalid extends BadRequest { - override id: string = 'RANGES_INVALID'; - override message: string = 'Invalid range provided.'; -} -export class ReactionsTooMany extends BadRequest { - override id: string = 'REACTIONS_TOO_MANY'; - override message: string = - "The message already has exactly `reactions_uniq_max` reaction emojis, you can't react with a new emoji, see [the docs for more info »](https://core.telegram.org/api/config#client-configuration)."; -} -export class ReactionEmpty extends BadRequest { - override id: string = 'REACTION_EMPTY'; - override message: string = 'Empty reaction provided.'; -} -export class ReactionInvalid extends BadRequest { - override id: string = 'REACTION_INVALID'; - override message: string = 'The specified reaction is invalid.'; -} -export class ReceiptEmpty extends BadRequest { - override id: string = 'RECEIPT_EMPTY'; - override message: string = 'The specified receipt is empty.'; -} -export class ReflectorNotAvailable extends BadRequest { - override id: string = 'REFLECTOR_NOT_AVAILABLE'; - override message: string = 'The call reflector is not available'; -} -export class ReplyMarkupBuyEmpty extends BadRequest { - override id: string = 'REPLY_MARKUP_BUY_EMPTY'; - override message: string = 'Reply markup for buy button empty.'; -} -export class ReplyMarkupGameEmpty extends BadRequest { - override id: string = 'REPLY_MARKUP_GAME_EMPTY'; - override message: string = - "A game message is being edited, but the newly provided keyboard doesn't have a keyboardButtonGame button."; -} -export class ReplyMarkupInvalid extends BadRequest { - override id: string = 'REPLY_MARKUP_INVALID'; - override message: string = 'The provided reply markup is invalid.'; -} -export class ReplyMarkupTooLong extends BadRequest { - override id: string = 'REPLY_MARKUP_TOO_LONG'; - override message: string = 'The specified reply_markup is too long.'; -} -export class ReplyMessagesTooMuch extends BadRequest { - override id: string = 'REPLY_MESSAGES_TOO_MUCH'; - override message: string = - 'Each shortcut can contain a maximum of [appConfig.`quick_reply_messages_limit`](https://core.telegram.org/api/config#quick-reply-messages-limit) messages, the limit was reached.'; -} -export class ReplyMessageIdInvalid extends BadRequest { - override id: string = 'REPLY_MESSAGE_ID_INVALID'; - override message: string = 'The specified reply-to message ID is invalid.'; -} -export class ReplyToInvalid extends BadRequest { - override id: string = 'REPLY_TO_INVALID'; - override message: string = 'The specified `reply_to` field is invalid.'; -} -export class ReplyToUserInvalid extends BadRequest { - override id: string = 'REPLY_TO_USER_INVALID'; - override message: string = 'The replied-to user is invalid.'; -} -export class RequestTokenInvalid extends BadRequest { - override id: string = 'REQUEST_TOKEN_INVALID'; - override message: string = - 'The master DC did not accept the `request_token` from the CDN DC. Continue downloading the file from the master DC using upload.getFile.'; -} -export class ResetRequestMissing extends BadRequest { - override id: string = 'RESET_REQUEST_MISSING'; - override message: string = 'No password reset is in progress.'; -} -export class ResultsTooMuch extends BadRequest { - override id: string = 'RESULTS_TOO_MUCH'; - override message: string = 'Too many results were provided.'; -} -export class ResultIdDuplicate extends BadRequest { - override id: string = 'RESULT_ID_DUPLICATE'; - override message: string = 'You provided a duplicate result ID.'; -} -export class ResultIdEmpty extends BadRequest { - override id: string = 'RESULT_ID_EMPTY'; - override message: string = 'Result ID empty.'; -} -export class ResultIdInvalid extends BadRequest { - override id: string = 'RESULT_ID_INVALID'; - override message: string = 'One of the specified result IDs is invalid.'; -} -export class ResultTypeInvalid extends BadRequest { - override id: string = 'RESULT_TYPE_INVALID'; - override message: string = 'Result type invalid.'; -} -export class RevoteNotAllowed extends BadRequest { - override id: string = 'REVOTE_NOT_ALLOWED'; - override message: string = 'You cannot change your vote.'; -} -export class RightsNotModified extends BadRequest { - override id: string = 'RIGHTS_NOT_MODIFIED'; - override message: string = - 'The new admin rights are equal to the old rights, no change was made.'; -} -export class RingtoneInvalid extends BadRequest { - override id: string = 'RINGTONE_INVALID'; - override message: string = 'The specified ringtone is invalid.'; -} -export class RingtoneMimeInvalid extends BadRequest { - override id: string = 'RINGTONE_MIME_INVALID'; - override message: string = 'The MIME type for the ringtone is invalid.'; -} -export class RsaDecryptFailed extends BadRequest { - override id: string = 'RSA_DECRYPT_FAILED'; - override message: string = 'Internal RSA decryption failed.'; -} -export class ScheduleBotNotAllowed extends BadRequest { - override id: string = 'SCHEDULE_BOT_NOT_ALLOWED'; - override message: string = 'Bots cannot schedule messages.'; -} -export class ScheduleDateInvalid extends BadRequest { - override id: string = 'SCHEDULE_DATE_INVALID'; - override message: string = 'Invalid schedule date provided.'; -} -export class ScheduleDateTooLate extends BadRequest { - override id: string = 'SCHEDULE_DATE_TOO_LATE'; - override message: string = "You can't schedule a message this far in the future."; -} -export class ScheduleStatusPrivate extends BadRequest { - override id: string = 'SCHEDULE_STATUS_PRIVATE'; - override message: string = - "Can't schedule until user is online, if the user's last seen timestamp is hidden by their privacy settings."; -} -export class ScheduleTooMuch extends BadRequest { - override id: string = 'SCHEDULE_TOO_MUCH'; - override message: string = 'There are too many scheduled messages.'; -} -export class ScoreInvalid extends BadRequest { - override id: string = 'SCORE_INVALID'; - override message: string = 'The specified game score is invalid.'; -} -export class SearchQueryEmpty extends BadRequest { - override id: string = 'SEARCH_QUERY_EMPTY'; - override message: string = 'The search query is empty.'; -} -export class SearchWithLinkNotSupported extends BadRequest { - override id: string = 'SEARCH_WITH_LINK_NOT_SUPPORTED'; - override message: string = - 'You cannot provide a search query and an invite link at the same time.'; -} -export class SecondsInvalid extends BadRequest { - override id: string = 'SECONDS_INVALID'; - override message: string = 'Invalid duration provided.'; -} -export class SecureSecretRequired extends BadRequest { - override id: string = 'SECURE_SECRET_REQUIRED'; - override message: string = 'A secure secret is required.'; -} -export class SendAsPeerInvalid extends BadRequest { - override id: string = 'SEND_AS_PEER_INVALID'; - override message: string = "You can't send messages as the specified peer."; -} -export class SendMessageMediaInvalid extends BadRequest { - override id: string = 'SEND_MESSAGE_MEDIA_INVALID'; - override message: string = 'Invalid media provided.'; -} -export class SendMessageTypeInvalid extends BadRequest { - override id: string = 'SEND_MESSAGE_TYPE_INVALID'; - override message: string = 'The message type is invalid.'; -} -export class SessionTooFresh extends BadRequest { - override id: string = 'SESSION_TOO_FRESH_X'; - override message: string = - 'This session was created less than 24 hours ago, try again in {value} seconds.'; -} -export class SettingsInvalid extends BadRequest { - override id: string = 'SETTINGS_INVALID'; - override message: string = 'Invalid settings were provided.'; -} -export class Sha256HashInvalid extends BadRequest { - override id: string = 'SHA256_HASH_INVALID'; - override message: string = 'The provided SHA256 hash is invalid.'; -} -export class ShortcutInvalid extends BadRequest { - override id: string = 'SHORTCUT_INVALID'; - override message: string = 'The specified shortcut is invalid.'; -} -export class ShortnameOccupyFailed extends BadRequest { - override id: string = 'SHORTNAME_OCCUPY_FAILED'; - override message: string = - 'An error occurred when trying to register the short-name used for the sticker pack. Try a different name'; -} -export class ShortNameInvalid extends BadRequest { - override id: string = 'SHORT_NAME_INVALID'; - override message: string = 'The specified short name is invalid.'; -} -export class ShortNameOccupied extends BadRequest { - override id: string = 'SHORT_NAME_OCCUPIED'; - override message: string = 'The specified short name is already in use.'; -} -export class SlotsEmpty extends BadRequest { - override id: string = 'SLOTS_EMPTY'; - override message: string = 'The specified slot list is empty.'; -} -export class SlowmodeMultiMsgsDisabled extends BadRequest { - override id: string = 'SLOWMODE_MULTI_MSGS_DISABLED'; - override message: string = - 'Slowmode is enabled, you cannot forward multiple messages to this group.'; -} -export class SlugInvalid extends BadRequest { - override id: string = 'SLUG_INVALID'; - override message: string = 'The specified invoice slug is invalid.'; -} -export class SmsjobIdInvalid extends BadRequest { - override id: string = 'SMSJOB_ID_INVALID'; - override message: string = 'The specified job ID is invalid.'; -} -export class SmsCodeCreateFailed extends BadRequest { - override id: string = 'SMS_CODE_CREATE_FAILED'; - override message: string = 'An error occurred while creating the SMS code.'; -} -export class SrpAInvalid extends BadRequest { - override id: string = 'SRP_A_INVALID'; - override message: string = 'The specified inputCheckPasswordSRP.A value is invalid.'; -} -export class SrpIdInvalid extends BadRequest { - override id: string = 'SRP_ID_INVALID'; - override message: string = 'Invalid SRP ID provided.'; -} -export class SrpPasswordChanged extends BadRequest { - override id: string = 'SRP_PASSWORD_CHANGED'; - override message: string = 'Password has changed.'; -} -export class StargiftInvalid extends BadRequest { - override id: string = 'STARGIFT_INVALID'; - override message: string = - 'The passed [inputInvoiceStarGift](https://core.telegram.org/constructor/inputInvoiceStarGift) is invalid.'; -} -export class StargiftUsageLimited extends BadRequest { - override id: string = 'STARGIFT_USAGE_LIMITED'; - override message: string = 'The gift is sold out.'; -} -export class StarrefAwaitingEnd extends BadRequest { - override id: string = 'STARREF_AWAITING_END'; - override message: string = - 'The previous referral program was terminated less than 24 hours ago: further changes can be made after the date specified in userFull.starref_program.end_date.'; -} -export class StarrefHashRevoked extends BadRequest { - override id: string = 'STARREF_HASH_REVOKED'; - override message: string = 'The specified affiliate link was already revoked.'; -} -export class StarrefPermilleInvalid extends BadRequest { - override id: string = 'STARREF_PERMILLE_INVALID'; - override message: string = - 'The specified commission_permille is invalid: the minimum and maximum values for this parameter are contained in the [starref_min_commission_permille](https://core.telegram.org/api/config#starref-min-commission-permille) and [starref_max_commission_permille](https://core.telegram.org/api/config#starref-max-commission-permille) client configuration parameters.'; -} -export class StarrefPermilleTooLow extends BadRequest { - override id: string = 'STARREF_PERMILLE_TOO_LOW'; - override message: string = - 'The specified commission_permille is too low: the minimum and maximum values for this parameter are contained in the [starref_min_commission_permille](https://core.telegram.org/api/config#starref-min-commission-permille) and [starref_max_commission_permille](https://core.telegram.org/api/config#starref-max-commission-permille) client configuration parameters.'; -} -export class StarsInvoiceInvalid extends BadRequest { - override id: string = 'STARS_INVOICE_INVALID'; - override message: string = 'The specified Telegram Star invoice is invalid.'; -} -export class StarsPaymentRequired extends BadRequest { - override id: string = 'STARS_PAYMENT_REQUIRED'; - override message: string = - 'To import this chat invite link, you must first [pay for the associated Telegram Star subscription »](https://core.telegram.org/api/subscriptions#channel-subscriptions).'; -} -export class StartParamEmpty extends BadRequest { - override id: string = 'START_PARAM_EMPTY'; - override message: string = 'The start parameter is empty.'; -} -export class StartParamInvalid extends BadRequest { - override id: string = 'START_PARAM_INVALID'; - override message: string = 'Start parameter invalid.'; -} -export class StartParamTooLong extends BadRequest { - override id: string = 'START_PARAM_TOO_LONG'; - override message: string = 'Start parameter is too long.'; -} -export class StickerpackStickersTooMuch extends BadRequest { - override id: string = 'STICKERPACK_STICKERS_TOO_MUCH'; - override message: string = - "There are too many stickers in this stickerpack, you can't add any more."; -} -export class StickersetInvalid extends BadRequest { - override id: string = 'STICKERSET_INVALID'; - override message: string = 'The provided sticker set is invalid.'; -} -export class StickersetNotModified extends BadRequest { - override id: string = 'STICKERSET_NOT_MODIFIED'; - override message: string = - 'The passed stickerset information is equal to the current information.'; -} -export class StickersEmpty extends BadRequest { - override id: string = 'STICKERS_EMPTY'; - override message: string = 'No sticker provided.'; -} -export class StickersTooMuch extends BadRequest { - override id: string = 'STICKERS_TOO_MUCH'; - override message: string = - "There are too many stickers in this stickerpack, you can't add any more."; -} -export class StickerDocumentInvalid extends BadRequest { - override id: string = 'STICKER_DOCUMENT_INVALID'; - override message: string = 'The specified sticker document is invalid.'; -} -export class StickerEmojiInvalid extends BadRequest { - override id: string = 'STICKER_EMOJI_INVALID'; - override message: string = 'Sticker emoji invalid.'; -} -export class StickerFileInvalid extends BadRequest { - override id: string = 'STICKER_FILE_INVALID'; - override message: string = 'Sticker file invalid.'; -} -export class StickerGifDimensions extends BadRequest { - override id: string = 'STICKER_GIF_DIMENSIONS'; - override message: string = 'The specified video sticker has invalid dimensions.'; -} -export class StickerIdInvalid extends BadRequest { - override id: string = 'STICKER_ID_INVALID'; - override message: string = 'The provided sticker ID is invalid.'; -} -export class StickerInvalid extends BadRequest { - override id: string = 'STICKER_INVALID'; - override message: string = 'The provided sticker is invalid.'; -} -export class StickerMimeInvalid extends BadRequest { - override id: string = 'STICKER_MIME_INVALID'; - override message: string = 'The specified sticker MIME type is invalid.'; -} -export class StickerPngDimensions extends BadRequest { - override id: string = 'STICKER_PNG_DIMENSIONS'; - override message: string = 'Sticker png dimensions invalid.'; -} -export class StickerPngNopng extends BadRequest { - override id: string = 'STICKER_PNG_NOPNG'; - override message: string = 'One of the specified stickers is not a valid PNG file.'; -} -export class StickerTgsNodoc extends BadRequest { - override id: string = 'STICKER_TGS_NODOC'; - override message: string = 'You must send the animated sticker as a document.'; -} -export class StickerTgsNotgs extends BadRequest { - override id: string = 'STICKER_TGS_NOTGS'; - override message: string = 'Invalid TGS sticker provided.'; -} -export class StickerThumbPngNopng extends BadRequest { - override id: string = 'STICKER_THUMB_PNG_NOPNG'; - override message: string = 'Incorrect stickerset thumb file provided, PNG / WEBP expected.'; -} -export class StickerThumbTgsNotgs extends BadRequest { - override id: string = 'STICKER_THUMB_TGS_NOTGS'; - override message: string = 'Incorrect stickerset TGS thumb file provided.'; -} -export class StickerVideoBig extends BadRequest { - override id: string = 'STICKER_VIDEO_BIG'; - override message: string = 'The specified video sticker is too big.'; -} -export class StickerVideoNodoc extends BadRequest { - override id: string = 'STICKER_VIDEO_NODOC'; - override message: string = 'You must send the video sticker as a document.'; -} -export class StickerVideoNowebm extends BadRequest { - override id: string = 'STICKER_VIDEO_NOWEBM'; - override message: string = 'The specified video sticker is not in webm format.'; -} -export class StoriesNeverCreated extends BadRequest { - override id: string = 'STORIES_NEVER_CREATED'; - override message: string = "This peer hasn't ever posted any stories."; -} -export class StoriesTooMuch extends BadRequest { - override id: string = 'STORIES_TOO_MUCH'; - override message: string = - 'You have hit the maximum active stories limit as specified by the [`story_expiring_limit_*` client configuration parameters](https://core.telegram.org/api/config#story-expiring-limit-default): you should buy a [Premium](https://core.telegram.org/api/premium) subscription, delete an active story, or wait for the oldest story to expire.'; -} -export class StoryIdEmpty extends BadRequest { - override id: string = 'STORY_ID_EMPTY'; - override message: string = 'You specified no story IDs.'; -} -export class StoryIdInvalid extends BadRequest { - override id: string = 'STORY_ID_INVALID'; - override message: string = 'The specified story ID is invalid.'; -} -export class StoryNotModified extends BadRequest { - override id: string = 'STORY_NOT_MODIFIED'; - override message: string = - "The new story information you passed is equal to the previous story information, thus it wasn't modified."; -} -export class StoryPeriodInvalid extends BadRequest { - override id: string = 'STORY_PERIOD_INVALID'; - override message: string = 'The specified story period is invalid for this account.'; -} -export class StorySendFloodMonthly extends BadRequest { - override id: string = 'STORY_SEND_FLOOD_MONTHLY_X'; - override message: string = - "You've hit the monthly story limit as specified by the [`stories_sent_monthly_limit_*` client configuration parameters](https://core.telegram.org/api/config#stories-sent-monthly-limit-default): wait for the specified number of seconds before posting a new story."; -} -export class StorySendFloodWeekly extends BadRequest { - override id: string = 'STORY_SEND_FLOOD_WEEKLY_X'; - override message: string = - "You've hit the weekly story limit as specified by the [`stories_sent_weekly_limit_*` client configuration parameters](https://core.telegram.org/api/config#stories-sent-weekly-limit-default): wait for the specified number of seconds before posting a new story."; -} -export class SubscriptionExportMissing extends BadRequest { - override id: string = 'SUBSCRIPTION_EXPORT_MISSING'; - override message: string = - 'You cannot send a [bot subscription invoice](https://core.telegram.org/api/subscriptions#bot-subscriptions) directly, you may only create invoice links using [payments.exportInvoice](https://core.telegram.org/method/payments.exportInvoice).'; -} -export class SubscriptionPeriodInvalid extends BadRequest { - override id: string = 'SUBSCRIPTION_PERIOD_INVALID'; - override message: string = 'The specified subscription_pricing.period is invalid.'; -} -export class SwitchPmTextEmpty extends BadRequest { - override id: string = 'SWITCH_PM_TEXT_EMPTY'; - override message: string = 'The switch_pm.text field was empty.'; -} -export class SwitchWebviewUrlInvalid extends BadRequest { - override id: string = 'SWITCH_WEBVIEW_URL_INVALID'; - override message: string = 'The URL specified in switch_webview.url is invalid!'; -} -export class TakeoutInvalid extends BadRequest { - override id: string = 'TAKEOUT_INVALID'; - override message: string = 'The specified takeout ID is invalid.'; -} -export class TakeoutRequired extends BadRequest { - override id: string = 'TAKEOUT_REQUIRED'; - override message: string = - 'A [takeout](https://core.telegram.org/api/takeout) session needs to be initialized first, [see here » for more info](https://core.telegram.org/api/takeout).'; -} -export class TaskAlreadyExists extends BadRequest { - override id: string = 'TASK_ALREADY_EXISTS'; - override message: string = 'An email reset was already requested.'; -} -export class TempAuthKeyAlreadyBound extends BadRequest { - override id: string = 'TEMP_AUTH_KEY_ALREADY_BOUND'; - override message: string = - 'The passed temporary key is already bound to another **perm_auth_key_id**.'; -} -export class TempAuthKeyEmpty extends BadRequest { - override id: string = 'TEMP_AUTH_KEY_EMPTY'; - override message: string = 'No temporary auth key provided.'; -} -export class TermsUrlInvalid extends BadRequest { - override id: string = 'TERMS_URL_INVALID'; - override message: string = - 'The specified [invoice](https://core.telegram.org/constructor/invoice).`terms_url` is invalid.'; -} -export class ThemeFileInvalid extends BadRequest { - override id: string = 'THEME_FILE_INVALID'; - override message: string = 'Invalid theme file provided.'; -} -export class ThemeFormatInvalid extends BadRequest { - override id: string = 'THEME_FORMAT_INVALID'; - override message: string = 'Invalid theme format provided.'; -} -export class ThemeInvalid extends BadRequest { - override id: string = 'THEME_INVALID'; - override message: string = 'Invalid theme provided.'; -} -export class ThemeMimeInvalid extends BadRequest { - override id: string = 'THEME_MIME_INVALID'; - override message: string = "The theme's MIME type is invalid."; -} -export class ThemeParamsInvalid extends BadRequest { - override id: string = 'THEME_PARAMS_INVALID'; - override message: string = 'The specified `theme_params` field is invalid.'; -} -export class ThemeTitleInvalid extends BadRequest { - override id: string = 'THEME_TITLE_INVALID'; - override message: string = 'The specified theme title is invalid.'; -} -export class TimezoneInvalid extends BadRequest { - override id: string = 'TIMEZONE_INVALID'; - override message: string = 'The specified timezone does not exist.'; -} -export class TitleInvalid extends BadRequest { - override id: string = 'TITLE_INVALID'; - override message: string = 'The specified stickerpack title is invalid.'; -} -export class TmpPasswordDisabled extends BadRequest { - override id: string = 'TMP_PASSWORD_DISABLED'; - override message: string = 'The temporary password is disabled.'; -} -export class TmpPasswordInvalid extends BadRequest { - override id: string = 'TMP_PASSWORD_INVALID'; - override message: string = 'The passed tmp_password is invalid.'; -} -export class TokenEmpty extends BadRequest { - override id: string = 'TOKEN_EMPTY'; - override message: string = 'The specified token is empty.'; -} -export class TokenInvalid extends BadRequest { - override id: string = 'TOKEN_INVALID'; - override message: string = 'The provided token is invalid.'; -} -export class TokenTypeInvalid extends BadRequest { - override id: string = 'TOKEN_TYPE_INVALID'; - override message: string = 'The specified token type is invalid.'; -} -export class TopicsEmpty extends BadRequest { - override id: string = 'TOPICS_EMPTY'; - override message: string = 'You specified no topic IDs.'; -} -export class TopicClosed extends BadRequest { - override id: string = 'TOPIC_CLOSED'; - override message: string = "This topic was closed, you can't send messages to it anymore."; -} -export class TopicCloseSeparately extends BadRequest { - override id: string = 'TOPIC_CLOSE_SEPARATELY'; - override message: string = - 'The `close` flag cannot be provided together with any of the other flags.'; -} -export class TopicDeleted extends BadRequest { - override id: string = 'TOPIC_DELETED'; - override message: string = 'The specified topic was deleted.'; -} -export class TopicHideSeparately extends BadRequest { - override id: string = 'TOPIC_HIDE_SEPARATELY'; - override message: string = - 'The `hide` flag cannot be provided together with any of the other flags.'; -} -export class TopicIdInvalid extends BadRequest { - override id: string = 'TOPIC_ID_INVALID'; - override message: string = 'The specified topic ID is invalid.'; -} -export class TopicNotModified extends BadRequest { - override id: string = 'TOPIC_NOT_MODIFIED'; - override message: string = - 'The updated topic info is equal to the current topic info, nothing was changed.'; -} -export class TopicTitleEmpty extends BadRequest { - override id: string = 'TOPIC_TITLE_EMPTY'; - override message: string = 'The specified topic title is empty.'; -} -export class ToLangInvalid extends BadRequest { - override id: string = 'TO_LANG_INVALID'; - override message: string = 'The specified destination language is invalid.'; -} -export class TransactionIdInvalid extends BadRequest { - override id: string = 'TRANSACTION_ID_INVALID'; - override message: string = 'The specified transaction ID is invalid.'; -} -export class TranscriptionFailed extends BadRequest { - override id: string = 'TRANSCRIPTION_FAILED'; - override message: string = 'Audio transcription failed.'; -} -export class TranslateReqQuotaExceeded extends BadRequest { - override id: string = 'TRANSLATE_REQ_QUOTA_EXCEEDED'; - override message: string = - 'Translation is currently unavailable due to a temporary server-side lack of resources.'; -} -export class TtlDaysInvalid extends BadRequest { - override id: string = 'TTL_DAYS_INVALID'; - override message: string = 'The provided TTL is invalid.'; -} -export class TtlMediaInvalid extends BadRequest { - override id: string = 'TTL_MEDIA_INVALID'; - override message: string = 'Invalid media Time To Live was provided.'; -} -export class TtlPeriodInvalid extends BadRequest { - override id: string = 'TTL_PERIOD_INVALID'; - override message: string = 'The specified TTL period is invalid.'; -} -export class TypesEmpty extends BadRequest { - override id: string = 'TYPES_EMPTY'; - override message: string = 'No top peer type was provided.'; -} -export class TypeConstructorInvalid extends BadRequest { - override id: string = 'TYPE_CONSTRUCTOR_INVALID'; - override message: string = 'The type constructor is invalid'; -} -export class UntilDateInvalid extends BadRequest { - override id: string = 'UNTIL_DATE_INVALID'; - override message: string = 'Invalid until date provided.'; -} -export class UrlInvalid extends BadRequest { - override id: string = 'URL_INVALID'; - override message: string = 'Invalid URL provided.'; -} -export class UsageLimitInvalid extends BadRequest { - override id: string = 'USAGE_LIMIT_INVALID'; - override message: string = 'The specified usage limit is invalid.'; -} -export class UsernamesActiveTooMuch extends BadRequest { - override id: string = 'USERNAMES_ACTIVE_TOO_MUCH'; - override message: string = 'The maximum number of active usernames was reached.'; -} -export class UsernameInvalid extends BadRequest { - override id: string = 'USERNAME_INVALID'; - override message: string = 'The provided username is not valid.'; -} -export class UsernameNotModified extends BadRequest { - override id: string = 'USERNAME_NOT_MODIFIED'; - override message: string = 'The username was not modified.'; -} -export class UsernameNotOccupied extends BadRequest { - override id: string = 'USERNAME_NOT_OCCUPIED'; - override message: string = 'The provided username is not occupied.'; -} -export class UsernameOccupied extends BadRequest { - override id: string = 'USERNAME_OCCUPIED'; - override message: string = 'The provided username is already occupied.'; -} -export class UsernamePurchaseAvailable extends BadRequest { - override id: string = 'USERNAME_PURCHASE_AVAILABLE'; - override message: string = 'The specified username can be purchased on https://fragment.com.'; -} -export class UserpicUploadRequired extends BadRequest { - override id: string = 'USERPIC_UPLOAD_REQUIRED'; - override message: string = 'You must have a profile picture to publish your geolocation.'; -} -export class UsersTooFew extends BadRequest { - override id: string = 'USERS_TOO_FEW'; - override message: string = 'Not enough users (to create a chat, for example).'; -} -export class UsersTooMuch extends BadRequest { - override id: string = 'USERS_TOO_MUCH'; - override message: string = - 'The maximum number of users has been exceeded (to create a chat, for example).'; -} -export class UserAdminInvalid extends BadRequest { - override id: string = 'USER_ADMIN_INVALID'; - override message: string = "You're not an admin."; -} -export class UserAlreadyInvited extends BadRequest { - override id: string = 'USER_ALREADY_INVITED'; - override message: string = 'You have already invited this user.'; -} -export class UserAlreadyParticipant extends BadRequest { - override id: string = 'USER_ALREADY_PARTICIPANT'; - override message: string = 'The user is already in the group.'; -} -export class UserBannedInChannel extends BadRequest { - override id: string = 'USER_BANNED_IN_CHANNEL'; - override message: string = "You're banned from sending messages in supergroups/channels."; -} -export class UserBlocked extends BadRequest { - override id: string = 'USER_BLOCKED'; - override message: string = 'User blocked.'; -} -export class UserBot extends BadRequest { - override id: string = 'USER_BOT'; - override message: string = 'Bots can only be admins in channels.'; -} -export class UserBotInvalid extends BadRequest { - override id: string = 'USER_BOT_INVALID'; - override message: string = - 'User accounts must provide the `bot` method parameter when calling this method. If there is no such method parameter, this method can only be invoked by bot accounts.'; -} -export class UserBotRequired extends BadRequest { - override id: string = 'USER_BOT_REQUIRED'; - override message: string = 'This method can only be called by a bot.'; -} -export class UserChannelsTooMuch extends BadRequest { - override id: string = 'USER_CHANNELS_TOO_MUCH'; - override message: string = - 'One of the users you tried to add is already in too many channels/supergroups.'; -} -export class UserCreator extends BadRequest { - override id: string = 'USER_CREATOR'; - override message: string = - "For channels.editAdmin: you've tried to edit the admin rights of the owner, but you're not the owner; for channels.leaveChannel: you can't leave this channel, because you're its creator."; -} -export class UserGiftUnavailable extends BadRequest { - override id: string = 'USER_GIFT_UNAVAILABLE'; - override message: string = - 'Gifts are not available in the current region ([stars_gifts_enabled](https://core.telegram.org/api/config#stars-gifts-enabled) is equal to false).'; -} -export class UserIdInvalid extends BadRequest { - override id: string = 'USER_ID_INVALID'; - override message: string = 'The provided user ID is invalid.'; -} -export class UserInvalid extends BadRequest { - override id: string = 'USER_INVALID'; - override message: string = 'Invalid user provided.'; -} -export class UserIsBlocked extends BadRequest { - override id: string = 'USER_IS_BLOCKED'; - override message: string = 'You were blocked by this user.'; -} -export class UserIsBot extends BadRequest { - override id: string = 'USER_IS_BOT'; - override message: string = "Bots can't send messages to other bots."; -} -export class UserKicked extends BadRequest { - override id: string = 'USER_KICKED'; - override message: string = 'This user was kicked from this supergroup/channel.'; -} -export class UserNotMutualContact extends BadRequest { - override id: string = 'USER_NOT_MUTUAL_CONTACT'; - override message: string = 'The provided user is not a mutual contact.'; -} -export class UserNotParticipant extends BadRequest { - override id: string = 'USER_NOT_PARTICIPANT'; - override message: string = "You're not a member of this supergroup/channel."; -} -export class UserPublicMissing extends BadRequest { - override id: string = 'USER_PUBLIC_MISSING'; - override message: string = - 'Cannot generate a link to stories posted by a peer without a username.'; -} -export class UserVolumeInvalid extends BadRequest { - override id: string = 'USER_VOLUME_INVALID'; - override message: string = 'The specified user volume is invalid.'; -} -export class VenueIdInvalid extends BadRequest { - override id: string = 'VENUE_ID_INVALID'; - override message: string = 'The specified venue ID is invalid.'; -} -export class VideoContentTypeInvalid extends BadRequest { - override id: string = 'VIDEO_CONTENT_TYPE_INVALID'; - override message: string = "The video's content type is invalid."; -} -export class VideoFileInvalid extends BadRequest { - override id: string = 'VIDEO_FILE_INVALID'; - override message: string = 'The specified video file is invalid.'; -} -export class VideoPauseForbidden extends BadRequest { - override id: string = 'VIDEO_PAUSE_FORBIDDEN'; - override message: string = 'You cannot pause the video stream.'; -} -export class VideoStopForbidden extends BadRequest { - override id: string = 'VIDEO_STOP_FORBIDDEN'; - override message: string = 'You cannot stop the video stream.'; -} -export class VideoTitleEmpty extends BadRequest { - override id: string = 'VIDEO_TITLE_EMPTY'; - override message: string = 'The specified video title is empty.'; -} -export class VoiceMessagesForbidden extends BadRequest { - override id: string = 'VOICE_MESSAGES_FORBIDDEN'; - override message: string = "This user's privacy settings forbid you from sending voice messages."; -} -export class VolumeLocNotFound extends BadRequest { - override id: string = 'VOLUME_LOC_NOT_FOUND'; - override message: string = "The volume location can't be found"; -} -export class WallpaperFileInvalid extends BadRequest { - override id: string = 'WALLPAPER_FILE_INVALID'; - override message: string = 'The specified wallpaper file is invalid.'; -} -export class WallpaperInvalid extends BadRequest { - override id: string = 'WALLPAPER_INVALID'; - override message: string = 'The specified wallpaper is invalid.'; -} -export class WallpaperMimeInvalid extends BadRequest { - override id: string = 'WALLPAPER_MIME_INVALID'; - override message: string = 'The specified wallpaper MIME type is invalid.'; -} -export class WallpaperNotFound extends BadRequest { - override id: string = 'WALLPAPER_NOT_FOUND'; - override message: string = 'The specified wallpaper could not be found.'; -} -export class WcConvertUrlInvalid extends BadRequest { - override id: string = 'WC_CONVERT_URL_INVALID'; - override message: string = 'WC convert URL invalid.'; -} -export class WebdocumentInvalid extends BadRequest { - override id: string = 'WEBDOCUMENT_INVALID'; - override message: string = 'Invalid webdocument URL provided.'; -} -export class WebdocumentMimeInvalid extends BadRequest { - override id: string = 'WEBDOCUMENT_MIME_INVALID'; - override message: string = 'Invalid webdocument mime type provided.'; -} -export class WebdocumentSizeTooBig extends BadRequest { - override id: string = 'WEBDOCUMENT_SIZE_TOO_BIG'; - override message: string = 'Webdocument is too big!'; -} -export class WebdocumentUrlEmpty extends BadRequest { - override id: string = 'WEBDOCUMENT_URL_EMPTY'; - override message: string = 'The passed web document URL is empty.'; -} -export class WebdocumentUrlInvalid extends BadRequest { - override id: string = 'WEBDOCUMENT_URL_INVALID'; - override message: string = 'The specified webdocument URL is invalid.'; -} -export class WebpageCurlFailed extends BadRequest { - override id: string = 'WEBPAGE_CURL_FAILED'; - override message: string = 'Failure while fetching the webpage with cURL.'; -} -export class WebpageMediaEmpty extends BadRequest { - override id: string = 'WEBPAGE_MEDIA_EMPTY'; - override message: string = 'Webpage media empty.'; -} -export class WebpageNotFound extends BadRequest { - override id: string = 'WEBPAGE_NOT_FOUND'; - override message: string = 'A preview for the specified webpage `url` could not be generated.'; -} -export class WebpageUrlInvalid extends BadRequest { - override id: string = 'WEBPAGE_URL_INVALID'; - override message: string = 'The specified webpage `url` is invalid.'; -} -export class WebpushAuthInvalid extends BadRequest { - override id: string = 'WEBPUSH_AUTH_INVALID'; - override message: string = 'The specified web push authentication secret is invalid.'; -} -export class WebpushKeyInvalid extends BadRequest { - override id: string = 'WEBPUSH_KEY_INVALID'; - override message: string = - 'The specified web push elliptic curve Diffie-Hellman public key is invalid.'; -} -export class WebpushTokenInvalid extends BadRequest { - override id: string = 'WEBPUSH_TOKEN_INVALID'; - override message: string = 'The specified web push token is invalid.'; -} -export class YouBlockedUser extends BadRequest { - override id: string = 'YOU_BLOCKED_USER'; - override message: string = 'You blocked this user.'; -} diff --git a/src/errors/exceptions/Flood420.ts b/src/errors/exceptions/Flood420.ts deleted file mode 100644 index e0716dedc..000000000 --- a/src/errors/exceptions/Flood420.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class Flood extends RPCError { - override code: number = 420; - override name: string = 'FLOOD'; -} -export class TwoFaConfirmWait extends Flood { - override id: string = '2FA_CONFIRM_WAIT_X'; - override message: string = - "Since this account is active and protected by a 2FA password, we will delete it in 1 week for security purposes. You can cancel this process at any time, you'll be able to reset your account in {value} seconds."; -} -export class AddressInvalid extends Flood { - override id: string = 'ADDRESS_INVALID'; - override message: string = 'The specified geopoint address is invalid.'; -} -export class FloodPremiumWait extends Flood { - override id: string = 'FLOOD_PREMIUM_WAIT_X'; - override message: string = - 'Please wait {value} seconds before repeating the action, or purchase a [Telegram Premium subscription](https://core.telegram.org/api/premium) to remove this rate limit.'; -} -export class FloodTestPhoneWait extends Flood { - override id: string = 'FLOOD_TEST_PHONE_WAIT_X'; - override message: string = 'A wait of {value} seconds is required in the test servers'; -} -export class FloodWait extends Flood { - override id: string = 'FLOOD_WAIT_X'; - override message: string = 'Please wait {value} seconds before repeating the action.'; -} -export class PremiumSubActiveUntil extends Flood { - override id: string = 'PREMIUM_SUB_ACTIVE_UNTIL_X'; - override message: string = - 'You already have a premium subscription active until unixtime {value} .'; -} -export class SlowmodeWait extends Flood { - override id: string = 'SLOWMODE_WAIT_X'; - override message: string = - 'Slowmode is enabled in this chat: wait {value} seconds before sending another message to this chat.'; -} -export class TakeoutInitDelay extends Flood { - override id: string = 'TAKEOUT_INIT_DELAY_X'; - override message: string = - "Sorry, for security reasons, you will be able to begin downloading your data in {value} seconds. We have notified all your devices about the export request to make sure it's authorized and to give you time to react if it's not."; -} diff --git a/src/errors/exceptions/Forbidden403.ts b/src/errors/exceptions/Forbidden403.ts deleted file mode 100644 index 00aac5224..000000000 --- a/src/errors/exceptions/Forbidden403.ts +++ /dev/null @@ -1,235 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class Forbidden extends RPCError { - override code: number = 403; - override name: string = 'FORBIDDEN'; -} -export class AnonymousReactionsDisabled extends Forbidden { - override id: string = 'ANONYMOUS_REACTIONS_DISABLED'; - override message: string = - 'Sorry, anonymous administrators cannot leave reactions or participate in polls.'; -} -export class BroadcastForbidden extends Forbidden { - override id: string = 'BROADCAST_FORBIDDEN'; - override message: string = - 'Channel poll voters and reactions cannot be fetched to prevent deanonymization.'; -} -export class ChannelPublicGroupNa extends Forbidden { - override id: string = 'CHANNEL_PUBLIC_GROUP_NA'; - override message: string = 'channel/supergroup not available.'; -} -export class ChatActionForbidden extends Forbidden { - override id: string = 'CHAT_ACTION_FORBIDDEN'; - override message: string = 'You cannot execute this action.'; -} -export class ChatAdminInviteRequired extends Forbidden { - override id: string = 'CHAT_ADMIN_INVITE_REQUIRED'; - override message: string = 'You do not have the rights to do this.'; -} -export class ChatAdminRequired extends Forbidden { - override id: string = 'CHAT_ADMIN_REQUIRED'; - override message: string = 'You must be an admin in this chat to do this.'; -} -export class ChatForbidden extends Forbidden { - override id: string = 'CHAT_FORBIDDEN'; - override message: string = 'This chat is not available to the current user.'; -} -export class ChatGuestSendForbidden extends Forbidden { - override id: string = 'CHAT_GUEST_SEND_FORBIDDEN'; - override message: string = - 'You join the discussion group before commenting, see [here »](https://core.telegram.org/api/discussion#requiring-users-to-join-the-group) for more info.'; -} -export class ChatSendAudiosForbidden extends Forbidden { - override id: string = 'CHAT_SEND_AUDIOS_FORBIDDEN'; - override message: string = "You can't send audio messages in this chat."; -} -export class ChatSendDocsForbidden extends Forbidden { - override id: string = 'CHAT_SEND_DOCS_FORBIDDEN'; - override message: string = "You can't send documents in this chat."; -} -export class ChatSendGameForbidden extends Forbidden { - override id: string = 'CHAT_SEND_GAME_FORBIDDEN'; - override message: string = "You can't send a game to this chat."; -} -export class ChatSendGifsForbidden extends Forbidden { - override id: string = 'CHAT_SEND_GIFS_FORBIDDEN'; - override message: string = "You can't send gifs in this chat."; -} -export class ChatSendInlineForbidden extends Forbidden { - override id: string = 'CHAT_SEND_INLINE_FORBIDDEN'; - override message: string = "You can't send inline messages in this group."; -} -export class ChatSendMediaForbidden extends Forbidden { - override id: string = 'CHAT_SEND_MEDIA_FORBIDDEN'; - override message: string = "You can't send media in this chat."; -} -export class ChatSendPhotosForbidden extends Forbidden { - override id: string = 'CHAT_SEND_PHOTOS_FORBIDDEN'; - override message: string = "You can't send photos in this chat."; -} -export class ChatSendPlainForbidden extends Forbidden { - override id: string = 'CHAT_SEND_PLAIN_FORBIDDEN'; - override message: string = "You can't send non-media (text) messages in this chat."; -} -export class ChatSendPollForbidden extends Forbidden { - override id: string = 'CHAT_SEND_POLL_FORBIDDEN'; - override message: string = "You can't send polls in this chat."; -} -export class ChatSendRoundvideosForbidden extends Forbidden { - override id: string = 'CHAT_SEND_ROUNDVIDEOS_FORBIDDEN'; - override message: string = "You can't send round videos to this chat."; -} -export class ChatSendStickersForbidden extends Forbidden { - override id: string = 'CHAT_SEND_STICKERS_FORBIDDEN'; - override message: string = "You can't send stickers in this chat."; -} -export class ChatSendVideosForbidden extends Forbidden { - override id: string = 'CHAT_SEND_VIDEOS_FORBIDDEN'; - override message: string = "You can't send videos in this chat."; -} -export class ChatSendVoicesForbidden extends Forbidden { - override id: string = 'CHAT_SEND_VOICES_FORBIDDEN'; - override message: string = "You can't send voice recordings in this chat."; -} -export class ChatTypeInvalid extends Forbidden { - override id: string = 'CHAT_TYPE_INVALID'; - override message: string = 'The specified user type is invalid.'; -} -export class ChatWriteForbidden extends Forbidden { - override id: string = 'CHAT_WRITE_FORBIDDEN'; - override message: string = "You can't write in this chat."; -} -export class EditBotInviteForbidden extends Forbidden { - override id: string = 'EDIT_BOT_INVITE_FORBIDDEN'; - override message: string = "Normal users can't edit invites that were created by bots."; -} -export class GroupcallAlreadyStarted extends Forbidden { - override id: string = 'GROUPCALL_ALREADY_STARTED'; - override message: string = - 'The groupcall has already started, you can join directly using [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall).'; -} -export class GroupcallForbidden extends Forbidden { - override id: string = 'GROUPCALL_FORBIDDEN'; - override message: string = 'The group call has already ended.'; -} -export class InlineBotRequired extends Forbidden { - override id: string = 'INLINE_BOT_REQUIRED'; - override message: string = 'Only the inline bot can edit message.'; -} -export class MessageAuthorRequired extends Forbidden { - override id: string = 'MESSAGE_AUTHOR_REQUIRED'; - override message: string = 'Message author required.'; -} -export class MessageDeleteForbidden extends Forbidden { - override id: string = 'MESSAGE_DELETE_FORBIDDEN'; - override message: string = - "You can't delete one of the messages you tried to delete, most likely because it is a service message."; -} -export class NotEligible extends Forbidden { - override id: string = 'NOT_ELIGIBLE'; - override message: string = - 'The current user is not eligible to join the Peer-to-Peer Login Program.'; -} -export class ParticipantJoinMissing extends Forbidden { - override id: string = 'PARTICIPANT_JOIN_MISSING'; - override message: string = - "Trying to enable a presentation, when the user hasn't joined the Video Chat with [phone.joinGroupCall](https://core.telegram.org/method/phone.joinGroupCall)."; -} -export class PeerIdInvalid extends Forbidden { - override id: string = 'PEER_ID_INVALID'; - override message: string = 'The provided peer id is invalid.'; -} -export class PollVoteRequired extends Forbidden { - override id: string = 'POLL_VOTE_REQUIRED'; - override message: string = 'Cast a vote in the poll before calling this method.'; -} -export class PremiumAccountRequired extends Forbidden { - override id: string = 'PREMIUM_ACCOUNT_REQUIRED'; - override message: string = 'A premium account is required to execute this action.'; -} -export class PrivacyPremiumRequired extends Forbidden { - override id: string = 'PRIVACY_PREMIUM_REQUIRED'; - override message: string = - 'You need a [Telegram Premium subscription](https://core.telegram.org/api/premium) to send a message to this user.'; -} -export class PublicChannelMissing extends Forbidden { - override id: string = 'PUBLIC_CHANNEL_MISSING'; - override message: string = - 'You can only export group call invite links for public chats or channels.'; -} -export class RightForbidden extends Forbidden { - override id: string = 'RIGHT_FORBIDDEN'; - override message: string = 'Your admin rights do not allow you to do this.'; -} -export class SensitiveChangeForbidden extends Forbidden { - override id: string = 'SENSITIVE_CHANGE_FORBIDDEN'; - override message: string = "You can't change your sensitive content settings."; -} -export class TakeoutRequired extends Forbidden { - override id: string = 'TAKEOUT_REQUIRED'; - override message: string = - 'A [takeout](https://core.telegram.org/api/takeout) session needs to be initialized first, [see here » for more info](https://core.telegram.org/api/takeout).'; -} -export class UserBotInvalid extends Forbidden { - override id: string = 'USER_BOT_INVALID'; - override message: string = - 'User accounts must provide the `bot` method parameter when calling this method. If there is no such method parameter, this method can only be invoked by bot accounts.'; -} -export class UserChannelsTooMuch extends Forbidden { - override id: string = 'USER_CHANNELS_TOO_MUCH'; - override message: string = - 'One of the users you tried to add is already in too many channels/supergroups.'; -} -export class UserDeleted extends Forbidden { - override id: string = 'USER_DELETED'; - override message: string = - "You can't send this secret message because the other participant deleted their account."; -} -export class UserInvalid extends Forbidden { - override id: string = 'USER_INVALID'; - override message: string = 'Invalid user provided.'; -} -export class UserIsBlocked extends Forbidden { - override id: string = 'USER_IS_BLOCKED'; - override message: string = 'You were blocked by this user.'; -} -export class UserNotMutualContact extends Forbidden { - override id: string = 'USER_NOT_MUTUAL_CONTACT'; - override message: string = 'The provided user is not a mutual contact.'; -} -export class UserNotParticipant extends Forbidden { - override id: string = 'USER_NOT_PARTICIPANT'; - override message: string = "You're not a member of this supergroup/channel."; -} -export class UserPrivacyRestricted extends Forbidden { - override id: string = 'USER_PRIVACY_RESTRICTED'; - override message: string = "The user's privacy settings do not allow you to do this."; -} -export class UserRestricted extends Forbidden { - override id: string = 'USER_RESTRICTED'; - override message: string = "You're spamreported, you can't create channels or chats."; -} -export class VoiceMessagesForbidden extends Forbidden { - override id: string = 'VOICE_MESSAGES_FORBIDDEN'; - override message: string = "This user's privacy settings forbid you from sending voice messages."; -} -export class YourPrivacyRestricted extends Forbidden { - override id: string = 'YOUR_PRIVACY_RESTRICTED'; - override message: string = - 'You cannot fetch the read date of this message because you have disallowed other users to do so for *your* messages; to fix, allow other users to see *your* exact last online date OR purchase a [Telegram Premium](https://core.telegram.org/api/premium) subscription.'; -} diff --git a/src/errors/exceptions/InternalServerError500.ts b/src/errors/exceptions/InternalServerError500.ts deleted file mode 100644 index d014f2794..000000000 --- a/src/errors/exceptions/InternalServerError500.ts +++ /dev/null @@ -1,256 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class InternalServerError extends RPCError { - override code: number = 500; - override name: string = 'INTERNAL_SERVER_ERROR'; -} -export class ApiCallError extends InternalServerError { - override id: string = 'API_CALL_ERROR'; - override message: string = - 'API call error due to Telegram having internal problems. Please try again later'; -} -export class AuthKeyUnsynchronized extends InternalServerError { - override id: string = 'AUTH_KEY_UNSYNCHRONIZED'; - override message: string = 'Internal error, please repeat the method call.'; -} -export class AuthRestart extends InternalServerError { - override id: string = 'AUTH_RESTART'; - override message: string = 'Restart the authorization process.'; -} -export class AuthRestartX extends InternalServerError { - override id: string = 'AUTH_RESTART_X'; - override message: string = 'Internal error (debug info {value}), please repeat the method call.'; -} -export class CallOccupyFailed extends InternalServerError { - override id: string = 'CALL_OCCUPY_FAILED'; - override message: string = 'The call failed because the user is already making another call.'; -} -export class CdnSaltsEmpty extends InternalServerError { - override id: string = 'CDN_SALTS_EMPTY'; - override message: string = ''; -} -export class CdnUploadTimeout extends InternalServerError { - override id: string = 'CDN_UPLOAD_TIMEOUT'; - override message: string = - 'A server-side timeout occurred while reuploading the file to the CDN DC.'; -} -export class ChatIdGenerateFailed extends InternalServerError { - override id: string = 'CHAT_ID_GENERATE_FAILED'; - override message: string = 'Failure while generating the chat ID.'; -} -export class ChatInvalid extends InternalServerError { - override id: string = 'CHAT_INVALID'; - override message: string = 'Invalid chat.'; -} -export class ChatOccupyLocFailed extends InternalServerError { - override id: string = 'CHAT_OCCUPY_LOC_FAILED'; - override message: string = 'An internal error occurred while creating the chat'; -} -export class ChatOccupyUsernameFailed extends InternalServerError { - override id: string = 'CHAT_OCCUPY_USERNAME_FAILED'; - override message: string = - 'Failure to occupy chat username due to Telegram having internal problems. Please try again later'; -} -export class ChpCallFail extends InternalServerError { - override id: string = 'CHP_CALL_FAIL'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class EncryptionOccupyAdminFailed extends InternalServerError { - override id: string = 'ENCRYPTION_OCCUPY_ADMIN_FAILED'; - override message: string = - 'Failed occupying memory for admin info due to Telegram having internal problems. Please try again later'; -} -export class EncryptionOccupyFailed extends InternalServerError { - override id: string = 'ENCRYPTION_OCCUPY_FAILED'; - override message: string = 'Internal server error while accepting secret chat'; -} -export class FolderDeacAutofixAll extends InternalServerError { - override id: string = 'FOLDER_DEAC_AUTOFIX_ALL'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class GroupcallAddParticipantsFailed extends InternalServerError { - override id: string = 'GROUPCALL_ADD_PARTICIPANTS_FAILED'; - override message: string = - 'Failure while adding voice chat member due to Telegram having internal problems. Please try again later'; -} -export class GroupedIdOccupyFailed extends InternalServerError { - override id: string = 'GROUPED_ID_OCCUPY_FAILED'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class HistoryGetFailed extends InternalServerError { - override id: string = 'HISTORY_GET_FAILED'; - override message: string = - "The chat history couldn't be retrieved due to Telegram having internal problems. Please try again later"; -} -export class ImageEngineDown extends InternalServerError { - override id: string = 'IMAGE_ENGINE_DOWN'; - override message: string = - 'Image engine down due to Telegram having internal problems. Please try again later'; -} -export class InterdcCallError extends InternalServerError { - override id: string = 'INTERDC_X_CALL_ERROR'; - override message: string = - 'An error occurred while Telegram was intercommunicating with DC{value}. Please try again later'; -} -export class InterdcCallRichError extends InternalServerError { - override id: string = 'INTERDC_X_CALL_RICH_ERROR'; - override message: string = - 'A rich error occurred while Telegram was intercommunicating with DC{value}. Please try again later'; -} -export class MemberChatAddFailed extends InternalServerError { - override id: string = 'MEMBER_CHAT_ADD_FAILED'; - override message: string = ''; -} -export class MemberFetchFailed extends InternalServerError { - override id: string = 'MEMBER_FETCH_FAILED'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class MemberNotFound extends InternalServerError { - override id: string = 'MEMBER_NOT_FOUND'; - override message: string = ''; -} -export class MemberNoLocation extends InternalServerError { - override id: string = 'MEMBER_NO_LOCATION'; - override message: string = - "Couldn't find the member's location due to Telegram having internal problems. Please try again later"; -} -export class MemberOccupyPrimaryLocFailed extends InternalServerError { - override id: string = 'MEMBER_OCCUPY_PRIMARY_LOC_FAILED'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class MemberOccupyUsernameFailed extends InternalServerError { - override id: string = 'MEMBER_OCCUPY_USERNAME_FAILED'; - override message: string = - 'Failure to occupy member username due to Telegram having internal problems. Please try again later'; -} -export class MsgidDecreaseRetry extends InternalServerError { - override id: string = 'MSGID_DECREASE_RETRY'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class MsgRangeUnsync extends InternalServerError { - override id: string = 'MSG_RANGE_UNSYNC'; - override message: string = - 'Message range unsynchronized due to Telegram having internal problems. Please try again later'; -} -export class MsgWaitFailed extends InternalServerError { - override id: string = 'MSG_WAIT_FAILED'; - override message: string = 'A waiting call returned an error.'; -} -export class MtSendQueueTooLong extends InternalServerError { - override id: string = 'MT_SEND_QUEUE_TOO_LONG'; - override message: string = - 'The MTProto send queue has grown too much due to Telegram having internal problems. Please try again later'; -} -export class NeedChatInvalid extends InternalServerError { - override id: string = 'NEED_CHAT_INVALID'; - override message: string = 'The provided chat is invalid'; -} -export class NeedMemberInvalid extends InternalServerError { - override id: string = 'NEED_MEMBER_INVALID'; - override message: string = 'The provided member is invalid or does not exist'; -} -export class NoWorkersRunning extends InternalServerError { - override id: string = 'No_workers_running'; - override message: string = 'The Telegram server is restarting its workers. Try again later.'; -} -export class ParticipantCallFailed extends InternalServerError { - override id: string = 'PARTICIPANT_CALL_FAILED'; - override message: string = - 'Failure while making call due to Telegram having internal problems. Please try again later'; -} -export class PersistentTimestampOutdated extends InternalServerError { - override id: string = 'PERSISTENT_TIMESTAMP_OUTDATED'; - override message: string = - 'Channel internal replication issues, try again later (treat this like an RPC_CALL_FAIL).'; -} -export class PhotoCreateFailed extends InternalServerError { - override id: string = 'PHOTO_CREATE_FAILED'; - override message: string = - 'The creation of the photo failed due to Telegram having internal problems. Please try again later'; -} -export class PostponedTimeout extends InternalServerError { - override id: string = 'POSTPONED_TIMEOUT'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class PtsChangeEmpty extends InternalServerError { - override id: string = 'PTS_CHANGE_EMPTY'; - override message: string = 'No PTS change'; -} -export class RandomIdDuplicate extends InternalServerError { - override id: string = 'RANDOM_ID_DUPLICATE'; - override message: string = 'You provided a random ID that was already used.'; -} -export class RegIdGenerateFailed extends InternalServerError { - override id: string = 'REG_ID_GENERATE_FAILED'; - override message: string = - 'The registration id failed to generate due to Telegram having internal problems. Please try again later'; -} -export class RpcCallFail extends InternalServerError { - override id: string = 'RPC_CALL_FAIL'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class RpcConnectFailed extends InternalServerError { - override id: string = 'RPC_CONNECT_FAILED'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class RpcMcgetFail extends InternalServerError { - override id: string = 'RPC_MCGET_FAIL'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class SendMediaInvalid extends InternalServerError { - override id: string = 'SEND_MEDIA_INVALID'; - override message: string = 'The specified media is invalid.'; -} -export class SignInFailed extends InternalServerError { - override id: string = 'SIGN_IN_FAILED'; - override message: string = 'Failure while signing in.'; -} -export class StorageCheckFailed extends InternalServerError { - override id: string = 'STORAGE_CHECK_FAILED'; - override message: string = - 'Server storage check failed due to Telegram having internal problems. Please try again later'; -} -export class StoreInvalidScalarType extends InternalServerError { - override id: string = 'STORE_INVALID_SCALAR_TYPE'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class TranslateReqFailed extends InternalServerError { - override id: string = 'TRANSLATE_REQ_FAILED'; - override message: string = 'Translation failed, please try again later.'; -} -export class UnknownMethod extends InternalServerError { - override id: string = 'UNKNOWN_METHOD'; - override message: string = 'The method you tried to call cannot be called on non-CDN DCs'; -} -export class UploadNoVolume extends InternalServerError { - override id: string = 'UPLOAD_NO_VOLUME'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class VolumeLocNotFound extends InternalServerError { - override id: string = 'VOLUME_LOC_NOT_FOUND'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} -export class WorkerBusyTooLongRetry extends InternalServerError { - override id: string = 'WORKER_BUSY_TOO_LONG_RETRY'; - override message: string = - 'Server workers are too busy right now due to Telegram having internal problems. Please try again later'; -} -export class WpIdGenerateFailed extends InternalServerError { - override id: string = 'WP_ID_GENERATE_FAILED'; - override message: string = 'Telegram is having internal problems. Please try again later'; -} diff --git a/src/errors/exceptions/NotAcceptable406.ts b/src/errors/exceptions/NotAcceptable406.ts deleted file mode 100644 index 0fecf4973..000000000 --- a/src/errors/exceptions/NotAcceptable406.ts +++ /dev/null @@ -1,147 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class NotAcceptable extends RPCError { - override code: number = 406; - override name: string = 'NOT_ACCEPTABLE'; -} -export class AuthKeyDuplicated extends NotAcceptable { - override id: string = 'AUTH_KEY_DUPLICATED'; - override message: string = - 'Concurrent usage of the current session from multiple connections was detected, the current session was invalidated by the server for security reasons!'; -} -export class BannedRightsInvalid extends NotAcceptable { - override id: string = 'BANNED_RIGHTS_INVALID'; - override message: string = 'You provided some invalid flags in the banned rights.'; -} -export class BusinessAddressActive extends NotAcceptable { - override id: string = 'BUSINESS_ADDRESS_ACTIVE'; - override message: string = - 'The user is currently advertising a [Business Location](https://core.telegram.org/api/business#location), the location may only be changed (or removed) using [account.updateBusinessLocation »](https://core.telegram.org/method/account.updateBusinessLocation). .'; -} -export class CallProtocolCompatLayerInvalid extends NotAcceptable { - override id: string = 'CALL_PROTOCOL_COMPAT_LAYER_INVALID'; - override message: string = - 'The other side of the call does not support any of the VoIP protocols supported by the local client, as specified by the `protocol.layer` and `protocol.library_versions` fields.'; -} -export class ChannelPrivate extends NotAcceptable { - override id: string = 'CHANNEL_PRIVATE'; - override message: string = "You haven't joined this channel/supergroup."; -} -export class ChannelTooLarge extends NotAcceptable { - override id: string = 'CHANNEL_TOO_LARGE'; - override message: string = - 'Channel is too large to be deleted; this error is issued when trying to delete channels with more than 1000 members (subject to change).'; -} -export class ChatForwardsRestricted extends NotAcceptable { - override id: string = 'CHAT_FORWARDS_RESTRICTED'; - override message: string = "You can't forward messages from a protected chat."; -} -export class FilerefUpgradeNeeded extends NotAcceptable { - override id: string = 'FILEREF_UPGRADE_NEEDED'; - override message: string = - 'The client has to be updated in order to support [file references](https://core.telegram.org/api/file_reference).'; -} -export class FreshChangeAdminsForbidden extends NotAcceptable { - override id: string = 'FRESH_CHANGE_ADMINS_FORBIDDEN'; - override message: string = - "You were just elected admin, you can't add or modify other admins yet."; -} -export class FreshChangePhoneForbidden extends NotAcceptable { - override id: string = 'FRESH_CHANGE_PHONE_FORBIDDEN'; - override message: string = - "You can't change phone number right after logging in, please wait at least 24 hours."; -} -export class FreshResetAuthorisationForbidden extends NotAcceptable { - override id: string = 'FRESH_RESET_AUTHORISATION_FORBIDDEN'; - override message: string = - "You can't logout other sessions if less than 24 hours have passed since you logged on the current session."; -} -export class GiftcodeNotAllowed extends NotAcceptable { - override id: string = 'GIFTCODE_NOT_ALLOWED'; - override message: string = ''; -} -export class InviteHashExpired extends NotAcceptable { - override id: string = 'INVITE_HASH_EXPIRED'; - override message: string = 'The invite link has expired.'; -} -export class PaymentUnsupported extends NotAcceptable { - override id: string = 'PAYMENT_UNSUPPORTED'; - override message: string = - 'A detailed description of the error will be received separately as described [here »](https://core.telegram.org/api/errors#406-not-acceptable).'; -} -export class PhoneNumberInvalid extends NotAcceptable { - override id: string = 'PHONE_NUMBER_INVALID'; - override message: string = 'The phone number is invalid.'; -} -export class PhonePasswordFlood extends NotAcceptable { - override id: string = 'PHONE_PASSWORD_FLOOD'; - override message: string = 'You have tried logging in too many times.'; -} -export class PremiumCurrentlyUnavailable extends NotAcceptable { - override id: string = 'PREMIUM_CURRENTLY_UNAVAILABLE'; - override message: string = 'You cannot currently purchase a Premium subscription.'; -} -export class PreviousChatImportActiveWaitmin extends NotAcceptable { - override id: string = 'PREVIOUS_CHAT_IMPORT_ACTIVE_WAIT_XMIN'; - override message: string = - 'Import for this chat is already in progress, wait {value} minutes before starting a new one.'; -} -export class PrivacyPremiumRequired extends NotAcceptable { - override id: string = 'PRIVACY_PREMIUM_REQUIRED'; - override message: string = - 'You need a [Telegram Premium subscription](https://core.telegram.org/api/premium) to send a message to this user.'; -} -export class SendCodeUnavailable extends NotAcceptable { - override id: string = 'SEND_CODE_UNAVAILABLE'; - override message: string = - 'Returned when all available options for this type of number were already used (e.g. flash-call, then SMS, then this error might be returned to trigger a second resend).'; -} -export class StickersetInvalid extends NotAcceptable { - override id: string = 'STICKERSET_INVALID'; - override message: string = 'The provided sticker set is invalid.'; -} -export class StickersetOwnerAnonymous extends NotAcceptable { - override id: string = 'STICKERSET_OWNER_ANONYMOUS'; - override message: string = - "Provided stickerset can't be installed as group stickerset to prevent admin deanonymization."; -} -export class TopicClosed extends NotAcceptable { - override id: string = 'TOPIC_CLOSED'; - override message: string = "This topic was closed, you can't send messages to it anymore."; -} -export class TopicDeleted extends NotAcceptable { - override id: string = 'TOPIC_DELETED'; - override message: string = 'The specified topic was deleted.'; -} -export class UpdateAppToLogin extends NotAcceptable { - override id: string = 'UPDATE_APP_TO_LOGIN'; - override message: string = 'Please update your client to login.'; -} -export class UserpicPrivacyRequired extends NotAcceptable { - override id: string = 'USERPIC_PRIVACY_REQUIRED'; - override message: string = - 'You need to disable privacy settings for your profile picture in order to make your geolocation public.'; -} -export class UserpicUploadRequired extends NotAcceptable { - override id: string = 'USERPIC_UPLOAD_REQUIRED'; - override message: string = 'You must have a profile picture to publish your geolocation.'; -} -export class UserRestricted extends NotAcceptable { - override id: string = 'USER_RESTRICTED'; - override message: string = "You're spamreported, you can't create channels or chats."; -} diff --git a/src/errors/exceptions/NotFound404.ts b/src/errors/exceptions/NotFound404.ts deleted file mode 100644 index 188eddfb4..000000000 --- a/src/errors/exceptions/NotFound404.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class NotFound extends RPCError { - override code: number = 404; - override name: string = 'NOT_FOUND'; -} -export class PeerIdInvalid extends NotFound { - override id: string = 'PEER_ID_INVALID'; - override message: string = 'The provided peer id is invalid.'; -} diff --git a/src/errors/exceptions/SeeOther303.ts b/src/errors/exceptions/SeeOther303.ts deleted file mode 100644 index de2a0f143..000000000 --- a/src/errors/exceptions/SeeOther303.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class SeeOther extends RPCError { - override code: number = 303; - override name: string = 'SEE_OTHER'; -} -export class FileMigrate extends SeeOther { - override id: string = 'FILE_MIGRATE_X'; - override message: string = 'The file to be accessed is currently stored in DC{value}'; -} -export class NetworkMigrate extends SeeOther { - override id: string = 'NETWORK_MIGRATE_X'; - override message: string = - 'Your IP address is associated to DC {value}, please re-send the query to that DC.'; -} -export class PhoneMigrate extends SeeOther { - override id: string = 'PHONE_MIGRATE_X'; - override message: string = - 'Your phone number is associated to DC {value}, please re-send the query to that DC.'; -} -export class StatsMigrate extends SeeOther { - override id: string = 'STATS_MIGRATE_X'; - override message: string = - 'Channel statistics for the specified channel are stored on DC {value}, please re-send the query to that DC.'; -} -export class UserMigrate extends SeeOther { - override id: string = 'USER_MIGRATE_X'; - override message: string = - 'Your account is associated to DC {value}, please re-send the query to that DC.'; -} diff --git a/src/errors/exceptions/ServiceUnavailable503.ts b/src/errors/exceptions/ServiceUnavailable503.ts deleted file mode 100644 index ecbe7e1ce..000000000 --- a/src/errors/exceptions/ServiceUnavailable503.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class ServiceUnavailable extends RPCError { - override code: number = 503; - override name: string = 'SERVICE_UNAVAILABLE'; -} -export class ApiCallError extends ServiceUnavailable { - override id: string = 'ApiCallError'; - override message: string = 'Telegram is having internal problems. Please try again later.'; -} -export class MsgWaitTimeout extends ServiceUnavailable { - override id: string = 'MSG_WAIT_TIMEOUT'; - override message: string = - 'Spent too much time waiting for a previous query in the invokeAfterMsg request queue, aborting!'; -} -export class Timeout extends ServiceUnavailable { - override id: string = 'Timeout'; - override message: string = 'Timeout while fetching data.'; -} diff --git a/src/errors/exceptions/Unauthorized401.ts b/src/errors/exceptions/Unauthorized401.ts deleted file mode 100644 index 885b4f16c..000000000 --- a/src/errors/exceptions/Unauthorized401.ts +++ /dev/null @@ -1,60 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { RPCError } from '../RpcError.ts'; - -export class Unauthorized extends RPCError { - override code: number = 401; - override name: string = 'UNAUTHORIZED'; -} -export class ActiveUserRequired extends Unauthorized { - override id: string = 'ACTIVE_USER_REQUIRED'; - override message: string = 'The method is only available to already activated users'; -} -export class AuthKeyInvalid extends Unauthorized { - override id: string = 'AUTH_KEY_INVALID'; - override message: string = 'The specified auth key is invalid.'; -} -export class AuthKeyPermEmpty extends Unauthorized { - override id: string = 'AUTH_KEY_PERM_EMPTY'; - override message: string = - 'The method is unavailable for temporary authorization keys, not bound to a permanent authorization key.'; -} -export class AuthKeyUnregistered extends Unauthorized { - override id: string = 'AUTH_KEY_UNREGISTERED'; - override message: string = - 'The specified authorization key is not registered in the system (for example, a PFS temporary key has expired).'; -} -export class SessionExpired extends Unauthorized { - override id: string = 'SESSION_EXPIRED'; - override message: string = 'The session has expired.'; -} -export class SessionPasswordNeeded extends Unauthorized { - override id: string = 'SESSION_PASSWORD_NEEDED'; - override message: string = '2FA is enabled, use a password to login.'; -} -export class SessionRevoked extends Unauthorized { - override id: string = 'SESSION_REVOKED'; - override message: string = 'The session was revoked by the user.'; -} -export class UserDeactivated extends Unauthorized { - override id: string = 'USER_DEACTIVATED'; - override message: string = 'The current account was deleted by the user.'; -} -export class UserDeactivatedBan extends Unauthorized { - override id: string = 'USER_DEACTIVATED_BAN'; - override message: string = - "The current account was deleted and banned by Telegram's antispam system."; -} diff --git a/src/errors/exceptions/index.ts b/src/errors/exceptions/index.ts deleted file mode 100644 index 298603f22..000000000 --- a/src/errors/exceptions/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -export { count, Exceptions } from './All.ts'; -export * as SeeOther from './SeeOther303.ts'; -export * as BadRequest from './BadRequest400.ts'; -export * as Unauthorized from './Unauthorized401.ts'; -export * as Forbidden from './Forbidden403.ts'; -export * as NotFound from './NotFound404.ts'; -export * as NotAcceptable from './NotAcceptable406.ts'; -export * as Flood from './Flood420.ts'; -export * as InternalServerError from './InternalServerError500.ts'; -export * as ServiceUnavailable from './ServiceUnavailable503.ts'; diff --git a/src/errors/index.ts b/src/errors/index.ts deleted file mode 100644 index 567292dc4..000000000 --- a/src/errors/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -export * as Exceptions from './exceptions/index.ts'; -export * as ClientError from './Client.ts'; -export * as WSError from './WebSocket.ts'; -export * as SecretChatError from './SecretChat.ts'; -export * as FileErrors from './File.ts'; -export { RPCError, UnknownError } from './RpcError.ts'; - -import { BaseError } from './Base.ts'; - -export class TimeoutError extends BaseError { - timeout!: number; - constructor(timeout: number) { - super(); - this.message = `Running timeout after ${timeout} ms`; - this.timeout = timeout; - this.description = `The function is running too long, until it reaches the time limit that has been given.`; - } -} -export class NotAFunctionClass extends BaseError { - override message: string = '{value} is not a function.'; - override description: string = - "The provided class {value} is not a function constructor, can't sending request with that class."; - constructor(className: string) { - super(); - this.message = this.message.replace('{value}', className); - this.description = this.description.replace('{value}', className); - } -} -export class BadMsgNotification extends BaseError { - constructor(code: number) { - const description: { [key: number]: string } = { - 16: 'The msg_id is too low, the client time has to be synchronized.', - 17: 'The msg_id is too high, the client time has to be synchronized.', - 18: 'Incorrect two lower order of the msg_id bits, the server expects the client message\nmsg_id to be divisible by 4.', - 19: 'The container msg_id is the same as the msg_id of a previously received message.', - 20: 'The message is too old, it cannot be verified by the server.', - 32: 'The msg_seqno is too low.', - 33: 'The msg_seqno is too high.', - 34: 'An even msg_seqno was expected, but an odd one was received.', - 35: 'An odd msg_seqno was expected, but an even one was received.', - 48: 'Incorrect server salt.', - 64: 'Invalid container.', - }; - super(`[${code}] ${description[code] ?? 'Unknown Error'}`); - } -} -export class SecurityError extends BaseError { - constructor(description?: string) { - super(); - this.description = description; - } - static check(cond: boolean, description?: string) { - if (!cond) throw new SecurityError(description); - } -} -export class SecurityCheckMismatch extends SecurityError { - override message: string = 'A security check mismatch has occurred.'; - static override check(cond: boolean, description?: string) { - if (!cond) throw new SecurityCheckMismatch(description); - } -} -export class CDNFileHashMismatch extends SecurityError { - override message: string = 'A CDN file hash mismatch has occurred.'; - static override check(cond: boolean, description?: string) { - if (!cond) throw new CDNFileHashMismatch(description); - } -} diff --git a/src/file/Download.ts b/src/file/Download.ts old mode 100644 new mode 100755 index 29c1e86c7..13b0f5a61 --- a/src/file/Download.ts +++ b/src/file/Download.ts @@ -1,25 +1,23 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { File } from './File.ts'; -import { Raw } from '../raw/index.ts'; -import { Session, Auth } from '../session/index.ts'; -import { bigMath, bigintToBuffer } from '../helpers.ts'; -import { Exceptions, CDNFileHashMismatch } from '../errors/index.ts'; -import { AES } from '../crypto/index.ts'; -import { crypto, Buffer, isDeno } from '../platform.deno.ts'; -import { type Client } from '../client/Client.ts'; +import { File } from './File.js'; +import { Session, Auth } from '../session/index.js'; +import { bigMath } from '../helpers.js'; +import { AES } from '../crypto/index.js'; +import { crypto, Buffer, platform, Skema } from '../deps.js'; +import { type Client } from '../client/Client.js'; export async function handleDownload( client: Client, file: File, - location: Raw.TypeInputFileLocation, + location: Skema.Raw.TypeInputFileLocation, dcId: number, limit: number, offset: bigint, @@ -42,16 +40,18 @@ export async function handleDownload( try { await session.start(); if (dcId !== client._storage.dcId) { - const exportedAuth = await client.invoke(new Raw.auth.ExportAuthorization({ dcId: dcId })); + const exportedAuth = await client.invoke( + new Skema.Raw.auth.ExportAuthorization({ dcId: dcId }), + ); await session.invoke( - new Raw.auth.ImportAuthorization({ + new Skema.Raw.auth.ImportAuthorization({ id: exportedAuth.id, bytes: exportedAuth.bytes, }), ); } let r = await session.invoke( - new Raw.upload.GetFile({ + new Skema.Raw.upload.GetFile({ location: location, offset: offsetBytes, limit: chunkSize, @@ -60,9 +60,9 @@ export async function handleDownload( session.WAIT_TIMEOUT, 30000, ); - if (r instanceof Raw.upload.File) { + if (r instanceof Skema.Raw.upload.File) { while (true) { - const chunk = (r as Raw.upload.File).bytes; + const chunk = (r as Skema.Raw.upload.File).bytes; file.push(chunk); current++; offsetBytes += BigInt(chunkSize); @@ -70,7 +70,7 @@ export async function handleDownload( break; } r = await session.invoke( - new Raw.upload.GetFile({ + new Skema.Raw.upload.GetFile({ location: location, offset: offsetBytes, limit: chunkSize, @@ -80,7 +80,7 @@ export async function handleDownload( 30000, ); } - } else if (r instanceof Raw.upload.FileCdnRedirect) { + } else if (r instanceof Skema.Raw.upload.FileCdnRedirect) { const cdnSession = new Session( client, dcId, @@ -94,53 +94,53 @@ export async function handleDownload( ); try { while (true) { - const r2: Raw.upload.File = (await cdnSession.invoke( - new Raw.upload.GetCdnFile({ - fileToken: (r as Raw.upload.FileCdnRedirect).fileToken, + const r2: Skema.Raw.upload.File = (await cdnSession.invoke( + new Skema.Raw.upload.GetCdnFile({ + fileToken: (r as Skema.Raw.upload.FileCdnRedirect).fileToken, offset: offsetBytes, limit: chunkSize, }), session.MAX_RETRIES, session.WAIT_TIMEOUT, 30000, - )) as unknown as Raw.upload.File; - if (r2 instanceof Raw.upload.CdnFileReuploadNeeded) { + )) as unknown as Skema.Raw.upload.File; + if (r2 instanceof Skema.Raw.upload.CdnFileReuploadNeeded) { try { await session.invoke( - new Raw.upload.ReuploadCdnFile({ - fileToken: (r as Raw.upload.FileCdnRedirect).fileToken, - requestToken: (r2 as Raw.upload.CdnFileReuploadNeeded).requestToken, + new Skema.Raw.upload.ReuploadCdnFile({ + fileToken: (r as Skema.Raw.upload.FileCdnRedirect).fileToken, + requestToken: (r2 as Skema.Raw.upload.CdnFileReuploadNeeded).requestToken, }), ); } catch (error) { - if (error instanceof Exceptions.BadRequest.VolumeLocNotFound) { + if (error instanceof Skema.Exceptions.BadRequest.VolumeLocNotFound) { break; } } } const chunk = r2.bytes; const decryptedChunk = await AES.ctr256Cipher( - (r as Raw.upload.FileCdnRedirect).encryptionKey, + (r as Skema.Raw.upload.FileCdnRedirect).encryptionKey, Buffer.concat([ - (r as Raw.upload.FileCdnRedirect).encryptionIv.subarray( + (r as Skema.Raw.upload.FileCdnRedirect).encryptionIv.subarray( 0, -4, ) as unknown as Uint8Array, - bigintToBuffer(offsetBytes / BigInt(16), 4, false) as unknown as Uint8Array, + Skema.bigintToBuffer(offsetBytes / BigInt(16), 4, false) as unknown as Uint8Array, ]), )(chunk); - const hashes: Array = (await session.invoke( - new Raw.upload.GetCdnFileHashes({ - fileToken: (r as Raw.upload.FileCdnRedirect).fileToken, + const hashes: Array = (await session.invoke( + new Skema.Raw.upload.GetCdnFileHashes({ + fileToken: (r as Skema.Raw.upload.FileCdnRedirect).fileToken, offset: offsetBytes, }), - )) as unknown as Array; + )) as unknown as Array; for (let i = 0; i < hashes.length; i++) { - const hash: Raw.FileHash = hashes[i]; + const hash: Skema.Raw.FileHash = hashes[i]; const hashChunk = decryptedChunk.subarray(hash.limit * i, hash.limit * (i + 1)); const chash = crypto.createHash('sha256'); chash.update(hashChunk); - CDNFileHashMismatch.check( + Skema.CDNFileHashMismatch.check( chash.digest('hex') === hash.hash.toString('hex'), `CDN file hash mismatch when downloading cdn file`, ); @@ -158,7 +158,7 @@ export async function handleDownload( } finally { await session.stop(); file.push(null); - if (isDeno) { + if (platform === 'Deno') { // @ts-ignore: deno compatibility release(); } else { @@ -170,7 +170,7 @@ export async function handleDownload( export function downloadStream( client: Client, - location: Raw.TypeInputFileLocation, + location: Skema.Raw.TypeInputFileLocation, dcId: number, limit: number = 0, offset: bigint = BigInt(0), @@ -184,7 +184,7 @@ export interface DownloadParam { /** * File location will be downloaded. */ - file: Raw.TypeInputFileLocation; + file: Skema.Raw.TypeInputFileLocation; /** * DC id where the file is stored. */ diff --git a/src/file/File.ts b/src/file/File.ts old mode 100644 new mode 100755 index 2efdadcb9..da0fbc1bc --- a/src/file/File.ts +++ b/src/file/File.ts @@ -1,14 +1,13 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { Duplex, inspect, Buffer, type BufferEncoding } from '../platform.deno.ts'; -import { BytesIO } from '../raw/index.ts'; +import { Duplex, inspect, Buffer, BytesIO } from '../deps.js'; export type TypeFileChunk = Buffer | ArrayBufferView | DataView | string | null | any; export type TypeFileCallback = (error?: any) => void; @@ -75,7 +74,7 @@ export class File extends Duplex { * Internal Use: Browser compatibility! */ // @ts-ignore: doesn't need to be implemented on browser but need on other platform - pipe(destination: any, options?: { end?: boolean }) { + pipe(destination: any, options?: { end?: boolean }): any { return super.pipe(destination, options); } get bytes(): BytesIO { @@ -114,7 +113,7 @@ export class File extends Duplex { return toPrint; } // @ts-ignore: doesn't need to be implemented on browser but need on other platform - toString() { + toString(): string { return `[constructor of ${this.constructor.name}] ${JSON.stringify(this, null, 2)}`; } } diff --git a/src/file/Upload.ts b/src/file/Upload.ts old mode 100644 new mode 100755 index af4567f46..2e10fac0a --- a/src/file/Upload.ts +++ b/src/file/Upload.ts @@ -1,27 +1,18 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { - crypto, - isDeno, - type Readable, - Buffer, - Writable, - type BufferEncoding, -} from '../platform.deno.ts'; -import { type Client } from '../client/Client.ts'; -import { File, type TypeFileCallback, type TypeFileChunk } from './File.ts'; -import { Queue } from '../Queue.ts'; -import { FileErrors } from '../errors/index.ts'; -import { Session } from '../session/index.ts'; -import { Raw, BytesIO, type TLObject } from '../raw/index.ts'; -import { Logger } from '../Logger.ts'; +import { crypto, platform, Skema, BytesIO, Buffer, Writable, type Readable } from '../deps.js'; +import { type Client } from '../client/Client.js'; +import { File, type TypeFileCallback, type TypeFileChunk } from './File.js'; +import { Queue } from '../Queue.js'; +import { Session } from '../session/index.js'; +import { Logger } from '../Logger.js'; /** * @param {Number} current - Current total chunks. * @param {Number} total - The total of all chunks of the complete file. @@ -75,38 +66,38 @@ export async function upload( fileId?: bigint, filePart: number = 0, progress?: Progress, -): Promise { +): Promise { const release = await client._saveFileSemaphore.acquire(); try { - const queue = new Queue(1); + const queue = new Queue(1); const partSize = 512 * 1024; const user = client._me?.users.find((user) => user.id === client._me?.fullUser.id); const premium = user && 'premium' in user ? user.premium : false; const fileSizeLimitMiB = premium ? 4000 : 2000; const fileSize = Buffer.byteLength(source); if (fileSize === 0) { - throw new FileErrors.FileUploadZero(); + throw new Skema.FileErrors.FileUploadZero(); } // MiB to B if (fileSize > fileSizeLimitMiB * 1024 * 1024) { - throw new FileErrors.FileUploadBigger(fileSizeLimitMiB * 1024 * 1024, fileSize); + throw new Skema.FileErrors.FileUploadBigger(fileSizeLimitMiB * 1024 * 1024, fileSize); } const worker = async (session: Session, index: number) => { - Logger.debug(`[142] Worker ${index} running`); + Logger.debug(`[1.file.Upload] Worker ${index} running`); while (true) { - Logger.debug(`[143] Worker ${index} getting the queue`); + Logger.debug(`[2.file.Upload] Worker ${index} getting the queue`); const data = await queue.get(); - Logger.debug(`[144] Worker ${index} successfully getting the queue`); + Logger.debug(`[3.file.Upload] Worker ${index} successfully getting the queue`); if (data === null) { - Logger.debug(`[145] Worker ${index} finished`); + Logger.debug(`[4.file.Upload] Worker ${index} finished`); return; } if (data) { try { - Logger.debug(`[146] Worker ${index} sending data from queue`); + Logger.debug(`[5.file.Upload] Worker ${index} sending data from queue`); await session.invoke(data!); } catch (error) { - Logger.error(`[147] Error when uploading file:`, error); + Logger.error(`[6.file.Upload] Error when uploading file:`, error); } } } @@ -140,7 +131,7 @@ export async function upload( } if (isBig) { await queue.put( - new Raw.upload.SaveBigFilePart({ + new Skema.Raw.upload.SaveBigFilePart({ fileId: fileId!, filePart: filePart, fileTotalParts: fileTotalParts, @@ -149,7 +140,7 @@ export async function upload( ); } else { await queue.put( - new Raw.upload.SaveFilePart({ + new Skema.Raw.upload.SaveFilePart({ fileId: fileId!, filePart: filePart, bytes: chunk, @@ -165,13 +156,13 @@ export async function upload( } } if (isBig) { - return new Raw.InputFileBig({ + return new Skema.Raw.InputFileBig({ id: fileId!, parts: fileTotalParts, name: fileName ?? 'file.unknown', }); } else { - return new Raw.InputFile({ + return new Skema.Raw.InputFile({ id: fileId!, parts: fileTotalParts, name: fileName ?? 'file.unknown', @@ -179,7 +170,7 @@ export async function upload( }); } } catch (error) { - Logger.error('[141] Got error when trying to put rpc to queue', error); + Logger.error('[7.file.Upload] Got error when trying to put rpc to queue', error); } finally { for (let _ of workers) { await queue.put(null); @@ -189,7 +180,7 @@ export async function upload( await session.stop(); } } finally { - if (isDeno) { + if (platform === 'Deno') { // @ts-ignore: deno compatibility release(); } else { @@ -204,11 +195,11 @@ export async function uploadStream( source: Readable | File, fileName?: string, progress?: Progress, -): Promise { +): Promise { //.only accept Readable stream or Duplex // @ts-ignore if (!source.readable || !source._readableState) { - throw new FileErrors.FileIsNotReadable(); + throw new Skema.FileErrors.FileIsNotReadable(); } // file part should be 512 * 1024 // @ts-ignore @@ -217,7 +208,7 @@ export async function uploadStream( source._readableState.highWaterMark = 512 * 1024; } const release = await client._saveFileSemaphore.acquire(); - Logger.debug(`[148] Upload stream started.`); + Logger.debug(`[8.file.Upload] Upload stream started.`); try { let resolve: (value?: unknown) => void; const partSize = 512 * 1024; @@ -225,7 +216,7 @@ export async function uploadStream( let totalStreamSize = 0; const fileId = Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(); let hasEndedBefore = false; - const queue = new Queue(1); + const queue = new Queue(1); const waitUpload = new Promise((res) => { resolve = res; }); @@ -233,21 +224,21 @@ export async function uploadStream( const premium = user && 'premium' in user ? true : false; const fileSizeLimitMiB = premium ? 4000 : 2000; const worker = async (session: Session, index: number) => { - Logger.debug(`[149] Worker ${index} running`); + Logger.debug(`[9.file.Upload] Worker ${index} running`); while (true) { - Logger.debug(`[150] Worker ${index} getting the queue`); + Logger.debug(`[10.file.Upload] Worker ${index} getting the queue`); const data = await queue.get(); - Logger.debug(`[151] Worker ${index} successfully getting the queue`); + Logger.debug(`[11.file.Upload] Worker ${index} successfully getting the queue`); if (data === null) { - Logger.debug(`[152] Worker ${index} finished`); + Logger.debug(`[12.file.Upload] Worker ${index} finished`); return; } if (data) { try { - Logger.debug(`[153] Worker ${index} sending data from queue`); + Logger.debug(`[13.file.Upload] Worker ${index} sending data from queue`); await session.invoke(data!); } catch (error) { - Logger.error(`[154] Error when uploading file:`, error); + Logger.error(`[14.file.Upload] Error when uploading file:`, error); } } } @@ -267,15 +258,18 @@ export async function uploadStream( await session.start(); const uploader = new Writable({ highWaterMark: 512 * 1024, - async write(chunk: TypeFileChunk, encoding: BufferEncoding, callback: TypeFileCallback) { + async write(chunk: TypeFileChunk, encoding, callback: TypeFileCallback) { totalStreamSize += Buffer.byteLength(chunk); if (totalStreamSize > fileSizeLimitMiB * 1024 * 1024) { - throw new FileErrors.FileUploadBigger(fileSizeLimitMiB * 1024 * 1024, totalStreamSize); + throw new Skema.FileErrors.FileUploadBigger( + fileSizeLimitMiB * 1024 * 1024, + totalStreamSize, + ); } if (Buffer.byteLength(chunk) < 512 * 1024) { hasEndedBefore = true; await queue.put( - new Raw.upload.SaveBigFilePart({ + new Skema.Raw.upload.SaveBigFilePart({ fileId: fileId!, filePart: filePart, fileTotalParts: Math.ceil(totalStreamSize / partSize), @@ -284,7 +278,7 @@ export async function uploadStream( ); } else { await queue.put( - new Raw.upload.SaveBigFilePart({ + new Skema.Raw.upload.SaveBigFilePart({ fileId: fileId!, filePart: filePart, fileTotalParts: -1, @@ -303,7 +297,7 @@ export async function uploadStream( if (!hasEndedBefore) { hasEndedBefore = true; await queue.put( - new Raw.upload.SaveBigFilePart({ + new Skema.Raw.upload.SaveBigFilePart({ fileId: fileId!, filePart: filePart, fileTotalParts: Math.ceil(totalStreamSize / partSize), @@ -318,13 +312,13 @@ export async function uploadStream( }); source.pipe(uploader); await waitUpload; - return new Raw.InputFileBig({ + return new Skema.Raw.InputFileBig({ id: fileId!, parts: Math.ceil(totalStreamSize / partSize), name: fileName ?? 'file.unknown', }); } catch (error) { - Logger.error('[155] Got error when trying to put rpc to queue', error); + Logger.error('[15.file.Upload] Got error when trying to put rpc to queue', error); } finally { for (let _ of workers) { await queue.put(null); @@ -334,7 +328,7 @@ export async function uploadStream( await session.stop(); } } finally { - if (isDeno) { + if (platform === 'Deno') { // @ts-ignore: deno compatibility release(); } else { diff --git a/src/file/index.ts b/src/file/index.ts old mode 100644 new mode 100755 index 800cff2ef..3dcfd8e7d --- a/src/file/index.ts +++ b/src/file/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,12 +8,12 @@ * it under the terms of the GPL v3 License as published. */ -export { File } from './File.ts'; +export { File } from './File.js'; export { upload, uploadStream, type Progress, type SaveFileParams, type SaveFileStreamParams, -} from './Upload.ts'; -export { handleDownload, downloadStream, type DownloadParam } from './Download.ts'; +} from './Upload.js'; +export { handleDownload, downloadStream, type DownloadParam } from './Download.js'; diff --git a/src/helpers.ts b/src/helpers.ts old mode 100644 new mode 100755 index 3957de484..8b8c16a07 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,56 +8,9 @@ * it under the terms of the GPL v3 License as published. */ -import { bigInt, Buffer } from './platform.deno.ts'; -// https://github.com/gram-js/gramjs/blob/b99879464cd1114d89b333c5d929610780c4b003/gramjs/Helpers.ts#L13 -export function bigintToBuffer( - int: bigint, - padding: number, - litte: boolean = true, - signed: boolean = false, -) { - const bigintLength = int.toString(2).length; - const bytes = Math.ceil(bigintLength / 8); - if (padding < bytes) { - throw new Error("Too big, Can't convert it to buffer with that padding."); - } - if (!signed && int < BigInt(0)) { - throw new Error('Too small, can convert it when unsigned.'); - } - let isBellow = false; - if (int < BigInt(0)) { - isBellow = true; - int = int * BigInt(-1); - } - const hex = int.toString(16).padStart(padding * 2, '0'); - let buffer = Buffer.from(hex, 'hex'); - if (litte) buffer = buffer.reverse(); - if (isBellow && signed) { - if (litte) { - let isReminder = false; - if ((buffer as unknown as Uint8Array)[0]) (buffer as unknown as Uint8Array)[0] -= 1; - for (let b = 0; b < Buffer.byteLength(buffer); b++) { - if (!(buffer as unknown as Uint8Array)[b]) { - isReminder = true; - continue; - } - if (isReminder) { - (buffer as unknown as Uint8Array)[b] -= 1; - isReminder = false; - } - (buffer as unknown as Uint8Array)[b] = 255 - (buffer as unknown as Uint8Array)[b]; - } - } else { - (buffer as unknown as Uint8Array)[Buffer.byteLength(buffer) - 1] = - 256 - (buffer as unknown as Uint8Array)[Buffer.byteLength(buffer) - 1]; - for (let b = 0; b < Buffer.byteLength(buffer); b++) { - (buffer as unknown as Uint8Array)[b] = 255 - (buffer as unknown as Uint8Array)[b]; - } - } - } - return buffer; -} -export function includesBuffer(array: Array, buffer: Buffer) { +import { bigInt, Buffer, Skema } from './deps.js'; + +export function includesBuffer(array: Array, buffer: Buffer): boolean { for (const buff of array) { if (buff.equals(buffer as unknown as Uint8Array)) { return true; @@ -66,7 +19,7 @@ export function includesBuffer(array: Array, buffer: Buffer) { return false; } // https://t.me/butthxforward/85 -export function sliceBuffer(buffer: Buffer, start: number, stop: number, step: number = 1) { +export function sliceBuffer(buffer: Buffer, start: number, stop: number, step: number = 1): Buffer { let slc = buffer.subarray(start, stop); let res = slc; if (step === 0) { @@ -98,7 +51,7 @@ export function sliceBuffer(buffer: Buffer, start: number, stop: number, step: n return res; } // https://stackoverflow.com/questions/18638900/javascript-crc32/18639999#18639999 -export function makeCRCTable() { +export function makeCRCTable(): Array { let c; const crcTable: Array = []; for (let n = 0; n < 256; n++) { @@ -110,7 +63,7 @@ export function makeCRCTable() { } return crcTable; } -export function crc32(str: Buffer | string) { +export function crc32(str: Buffer | string): number { str = Buffer.isBuffer(str) ? Buffer.from(str as unknown as Uint8Array) : str; const crcTable = makeCRCTable(); const length = Buffer.isBuffer(str) ? Buffer.byteLength(str) : str.length; @@ -121,28 +74,11 @@ export function crc32(str: Buffer | string) { } return (crc ^ -1) >>> 0; } -export function sleep(ms: number) { +export function sleep(ms: number): Promise { return new Promise((resolve) => { setTimeout(resolve, ms); }); } -export function bufferToBigint(buffer: Buffer, little: boolean = true, signed: boolean = false) { - const length = Buffer.byteLength(buffer); - const value = little ? buffer.reverse().toString('hex') : buffer.toString('hex'); - const _bigint = bigInt(value, 16); - let bigint = BigInt(String(_bigint)); - if (signed && Math.floor(bigint.toString(2).length / 8) >= length) { - bigint = bigint - bigIntPow(BigInt(2), BigInt(length * 8)); - } - return BigInt(bigint); -} -// https://stackoverflow.com/questions/4467539/javascript-modulo-gives-a-negative-result-for-negative-numbers -export function mod(n: number, m: number): number { - return ((n % m) + m) % m; -} -export function bigIntMod(n: bigint, m: bigint): bigint { - return ((n % m) + m) % m; -} export function range(start: number, stop: number, step: number = 1): Array { const temp: Array = []; const results: Array = []; @@ -239,73 +175,61 @@ export function rangeBigint(start: bigint, stop: bigint, step: number = 1): Arra } return temp; } -export function randint(min: number, max: number) { +export function randint(min: number, max: number): number { return Math.floor(Math.random() * (max - min)) + min; } -export function randBigint(min: bigint, max: bigint) { +export function randBigint(min: bigint, max: bigint): bigint { //@ts-ignore return bigInt.randBetween(min, max).value; } -export function pow(x: number, y: number, z?: number) { +export function pow(x: number, y: number, z?: number): number { let result = Math.pow(x, y); if (z !== undefined) { - return mod(result, z); + return Skema.mod(result, z); } return result; } -export function bigIntPow(x: bigint, y: bigint, z?: bigint) { - if (z === undefined) { - return x ** y; - } else { - let result = BigInt(1); - while (y > BigInt(0)) { - if (bigIntMod(y, BigInt(2)) === BigInt(1)) { - result = bigIntMod(result * x, z); - } - y = y >> BigInt(1); - x = bigIntMod(x * x, z); - } - return result; - } -} // https://stackoverflow.com/a/64953280/16600138 -const bigMath = { - abs(x: bigint) { +const bigMath: { + abs(x: bigint): bigint; + sign(x: bigint): bigint; + pow(base: bigint, exponent: bigint): bigint; + min(value: bigint, ...values: Array): bigint; + max(value: bigint, ...values: Array): bigint; +} = { + abs(x: bigint): bigint { return x < BigInt(0) ? -x : x; }, - sign(x: bigint) { + sign(x: bigint): bigint { if (x === BigInt(0)) return BigInt(0); return x < BigInt(0) ? -BigInt(1) : BigInt(1); }, - pow(base: bigint, exponent: bigint) { + pow(base: bigint, exponent: bigint): bigint { return base ** exponent; }, - min(value: bigint, ...values: Array) { + min(value: bigint, ...values: Array): bigint { for (const v of values) if (v < value) value = v; return value; }, - max(value: bigint, ...values: Array) { + max(value: bigint, ...values: Array): bigint { for (const v of values) if (v > value) value = v; return value; }, }; export { bigMath }; -export const MIN_CHANNEL_ID = BigInt(-1002147483647); -export const MAX_CHANNEL_ID = BigInt(-1000000000000); -export const MIN_CHAT_ID = BigInt(-2147483647); -export const MAX_USER_ID_OLD = BigInt(2147483647); -export const MAX_USER_ID = BigInt(999999999999); -export function getChannelId(id: bigint) { +export const MIN_CHANNEL_ID: bigint = BigInt(-1002147483647); +export const MAX_CHANNEL_ID: bigint = BigInt(-1000000000000); +export const MIN_CHAT_ID: bigint = BigInt(-2147483647); +export const MAX_USER_ID_OLD: bigint = BigInt(2147483647); +export const MAX_USER_ID: bigint = BigInt(999999999999); +export function getChannelId(id: bigint): bigint { return MAX_CHANNEL_ID - id; } -export function getPeerType(id: bigint) { +export function getPeerType(id: bigint): string | undefined { if (id < BigInt(0)) { - // @ts-ignore if (MIN_CHAT_ID <= id) return 'chat'; - // @ts-ignore - if (MIN_CHANNEL_ID <= id < MAX_CHANNEL_ID) return 'channel'; - // @ts-ignore - } else if (BigInt(0) < id <= MAX_USER_ID) { + if (MIN_CHANNEL_ID <= id && id < MAX_CHANNEL_ID) return 'channel'; + } else if (BigInt(0) < id && id <= MAX_USER_ID) { return 'user'; } else { throw new Error(`PeerId Invalid: ${id}`); @@ -322,7 +246,7 @@ export function base64urlTobase64(text: string): string { } // https://devimalplanet.com/how-to-generate-random-number-in-range-javascript#generate-random-bigint-between-low-and-high -export function generateRandomBigInt(lowBigInt: bigint, highBigInt: bigint) { +export function generateRandomBigInt(lowBigInt: bigint, highBigInt: bigint): bigint { if (lowBigInt >= highBigInt) { throw new Error('lowBigInt must be smaller than highBigInt'); } @@ -339,7 +263,7 @@ export function generateRandomBigInt(lowBigInt: bigint, highBigInt: bigint) { return lowBigInt + randomDifference; } -export function normalizeSecretString(secret: string) { +export function normalizeSecretString(secret: string): Buffer { // https://github.com/LonamiWebs/Telethon/blob/494b20db2dc9f1a0d88f9ac0e84717789416cc20/telethon/network/connection/tcpmtproxy.py#L136 if (secret.slice(0, 2) === 'dd' || secret.slice(0, 2) === 'ee') { secret = secret.slice(2); @@ -348,5 +272,5 @@ export function normalizeSecretString(secret: string) { if (/^[0-9a-fA-F]+$/.test(secret)) { return Buffer.from(secret, 'hex'); } - return Buffer.from(secret, 'base64').subarray(0, 16); + return Buffer.from(secret, 'base64').subarray(0, 16) as Buffer; } diff --git a/src/index.ts b/src/index.ts old mode 100644 new mode 100755 index 11c9d9226..d0347bb60 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,19 +8,21 @@ * it under the terms of the GPL v3 License as published. */ -export { Client } from './client/Client.ts'; -export { Raw } from './raw/index.ts'; -export { Queue } from './Queue.ts'; -export { TCP } from './connection/connection.ts'; -export * as Clients from './client/index.ts'; -export * as Connections from './connection/index.ts'; -export * as Cryptos from './crypto/index.ts'; -export * as Errors from './errors/index.ts'; -export * as Files from './file/index.ts'; -export * as Raws from './raw/index.ts'; -export * as Sessions from './session/index.ts'; -export * as Storages from './storage/index.ts'; -export * as Versions from './Version.deno.ts'; -export * as Helpers from './helpers.ts'; -export * as Timeouts from './Timeout.ts'; -export * as Loggers from './Logger.ts'; +export { Client } from './client/Client.js'; +export { Queue } from './Queue.js'; +export { TCP } from './connection/connection.js'; +export * as Clients from './client/index.js'; +export * as Connections from './connection/index.js'; +export * as Cryptos from './crypto/index.js'; +export * as Files from './file/index.js'; +export * as Sessions from './session/index.js'; +export * as Storages from './storage/index.js'; +export * as Versions from './Version.js'; +export * as Helpers from './helpers.js'; +export * as Timeouts from './Timeout.js'; +export * as Loggers from './Logger.js'; +// backward compatibility +// We will keep these exports for backward compatibility. +export { Raw } from '@tgsnake/skema'; +export * as Raws from '@tgsnake/skema/dist/src/raw/index.js'; +export * as Errors from '@tgsnake/skema/dist/src/errors/index.js'; diff --git a/src/platform.browser.ts b/src/platform.browser.ts deleted file mode 100644 index 21522258f..000000000 --- a/src/platform.browser.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import * as crypto from 'crypto-browserify'; -import * as os from 'os-browserify'; -import * as path from 'path-browserify'; -import stream from 'stream-browserify'; -import aesjs from 'aes-js'; -import bigInt from 'big-integer'; -import process from 'process'; -export { inspect } from 'util'; -export { gzipSync, gunzipSync } from 'browserify-zlib'; -export { Logger } from '@tgsnake/log'; -export { Mutex, Semaphore } from 'async-mutex'; -export { Buffer } from 'buffer'; // NodeJS compatibility -export type BufferEncoding = - | 'utf-8' - | 'utf8' - | 'utf-16le' - | 'utf16le' - | 'latin1' - | 'binary' - | 'base64' - | 'hex'; // NodeJS compatibility; -export const isDeno = 'Deno' in globalThis; // Deno compatibility -export const isBun = 'Bun' in globalThis; // Bun compatibility -export const { Writable, Duplex } = stream; -export const isBrowser = !isDeno && !isBun && typeof window !== 'undefined'; // browser compatibility -export const where = isDeno ? 'Deno' : isBun ? 'Bun' : isBrowser ? 'Browser' : 'Node'; -// node compatibility -export const SocksClient = { - createConnection: (..._args: Array): any => { - throw new Error('not implemented'); - }, -}; -export class Readable extends stream.Readable { - constructor() { - super(); - } - pipe(destination: any, options?: { end?: boolean }) { - return super.pipe(destination, options); - } -} -export namespace net { - export class Socket { - destroyed!: boolean; - constructor(..._args: Array) { - throw new Error('not implemented'); - } - connect(..._args: Array): any { - throw new Error('not implemented'); - } - on(..._args: Array): any { - throw new Error('not implemented'); - } - unref(..._args: Array): any { - throw new Error('not implemented'); - } - destroy(..._args: Array): any { - throw new Error('not implemented'); - } - setTimeout(..._args: Array): any { - throw new Error('not implemented'); - } - write(..._args: Array): any { - throw new Error('not implemented'); - } - } -} -export { crypto, os, bigInt, path, aesjs, process as sysprc }; diff --git a/src/platform.deno.ts b/src/platform.deno.ts deleted file mode 100644 index 612ea4c73..000000000 --- a/src/platform.deno.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import * as crypto from 'node:crypto'; -import * as net from 'node:net'; -import * as os from 'node:os'; -import * as path from 'node:path'; -import aesjs from 'https://cdn.skypack.dev/aes-js?dts'; -export { Buffer } from 'node:buffer'; // NodeJS compatibility -export { gzipSync, gunzipSync } from 'node:zlib'; -export { Readable, Writable, Duplex } from 'node:stream'; -export { Logger } from 'https://deno.land/x/tgsnake_log/src/index.ts'; -export { default as bigInt } from 'https://cdn.skypack.dev/big-integer@v1.6.52?dts'; -export { SocksClient } from 'https://deno.land/x/deno_socks@v2.8.3/mod.ts'; -export { Mutex, Semaphore } from 'https://deno.land/x/semaphore@v1.1.2/mod.ts'; -export type BufferEncoding = - | 'utf-8' - | 'utf8' - | 'utf-16le' - | 'utf16le' - | 'latin1' - | 'binary' - | 'base64' - | 'hex'; // NodeJS compatibility -export const sysprc = { - exit: Deno.exit, -}; -export const { inspect } = Deno; -export const isDeno = 'Deno' in globalThis; // Deno compatibility -export const isBun = 'Bun' in globalThis; // Bun compatibility -export const isBrowser = !isDeno && !isBun && typeof window !== 'undefined'; // browser compatibility -export const where = isDeno ? 'Deno' : isBun ? 'Bun' : isBrowser ? 'Browser' : 'Node'; -export { crypto, net, os, path, aesjs }; diff --git a/src/platform.node.ts b/src/platform.node.ts deleted file mode 100644 index a092e0101..000000000 --- a/src/platform.node.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import * as crypto from 'crypto'; -import * as net from 'net'; -import * as os from 'os'; -import * as path from 'path'; -import process from 'process'; -import { Buffer } from 'buffer'; -export { inspect } from 'util'; -export { gzipSync, gunzipSync } from 'zlib'; -import bigInt from 'big-integer'; -export { Logger } from '@tgsnake/log'; -export { SocksClient } from 'socks'; -export { Mutex, Semaphore } from 'async-mutex'; -export { Readable, Writable, Duplex } from 'stream'; -export const isDeno = 'Deno' in globalThis; // Deno compatibility -export const isBun = 'Bun' in globalThis; // Bun compatibility -export const isBrowser = !isDeno && !isBun && typeof window !== 'undefined'; // browser compatibility -export const where = isDeno ? 'Deno' : isBun ? 'Bun' : isBrowser ? 'Browser' : 'Node'; -export type BufferEncoding = - | 'utf-8' - | 'utf8' - | 'utf-16le' - | 'utf16le' - | 'latin1' - | 'binary' - | 'base64' - | 'hex'; // NodeJS compatibility -export namespace aesjs { - export namespace ModeOfOperation { - export class ecb { - constructor(..._args: Array) { - throw new Error('not implemented'); - } - encrypt(..._args: Array): Buffer { - return Buffer.alloc(0); - } - decrypt(..._args: Array): Buffer { - return Buffer.alloc(0); - } - } - export class ctr { - constructor(..._args: Array) { - throw new Error('not implemented'); - } - encrypt(..._args: Array): Buffer { - return Buffer.alloc(0); - } - decrypt(..._args: Array): Buffer { - return Buffer.alloc(0); - } - } - } - export class Counter { - constructor(..._args: Array) { - throw new Error('not implemented'); - } - } -} // Deno compatibility -export { crypto, net, os, bigInt, path, process as sysprc, Buffer }; diff --git a/src/raw/All.ts b/src/raw/All.ts deleted file mode 100644 index d7f6e0440..000000000 --- a/src/raw/All.ts +++ /dev/null @@ -1,2275 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ - -export const AllTLObject = { - 0xbc799737: 'Primitive.BoolFalse', - 0x997275b5: 'Primitive.BoolTrue', - 0x1cb5c415: 'Primitive.Vector', - 0x73f1f8dc: 'MsgContainer', - 0x3072cfa1: 'GzipPacked', - 0x5bb8e511: 'Message', - - 0x05162463: 'Raw.ResPQ', - 0x83c95aec: 'Raw.PQInnerData', - 0xa9f55f95: 'Raw.PQInnerDataDc', - 0x3c6a84d4: 'Raw.PQInnerDataTemp', - 0x56fddf88: 'Raw.PQInnerDataTempDc', - 0x75a3f765: 'Raw.BindAuthKeyInner', - 0x79cb045d: 'Raw.ServerDhParamsFail', - 0xd0e8075c: 'Raw.ServerDhParamsOk', - 0xb5890dba: 'Raw.ServerDhInnerData', - 0x6643b654: 'Raw.ClientDhInnerData', - 0x3bcbf734: 'Raw.DhGenOk', - 0x46dc1fb9: 'Raw.DhGenRetry', - 0xa69dae02: 'Raw.DhGenFail', - 0xf660e1d4: 'Raw.DestroyAuthKeyOk', - 0x0a9f2259: 'Raw.DestroyAuthKeyNone', - 0xea109b13: 'Raw.DestroyAuthKeyFail', - 0x60469778: 'Raw.ReqPq', - 0xbe7e8ef1: 'Raw.ReqPqMulti', - 0xd712e4be: 'Raw.ReqDhParams', - 0xf5045f1f: 'Raw.SetClientDhParams', - 0xd1435160: 'Raw.DestroyAuthKey', - 0x62d6b459: 'Raw.MsgsAck', - 0xa7eff811: 'Raw.BadMsgNotification', - 0xedab447b: 'Raw.BadServerSalt', - 0xda69fb52: 'Raw.MsgsStateReq', - 0x04deb57d: 'Raw.MsgsStateInfo', - 0x8cc0d131: 'Raw.MsgsAllInfo', - 0x276d3ec6: 'Raw.MsgDetailedInfo', - 0x809db6df: 'Raw.MsgNewDetailedInfo', - 0x7d861a08: 'Raw.MsgResendReq', - 0xf35c6d01: 'Raw.RpcResult', - 0x2144ca19: 'Raw.RpcError', - 0x5e2ad36e: 'Raw.RpcAnswerUnknown', - 0xcd78e586: 'Raw.RpcAnswerDroppedRunning', - 0xa43ad8b7: 'Raw.RpcAnswerDropped', - 0x0949d9dc: 'Raw.FutureSalt', - 0xae500895: 'Raw.FutureSalts', - 0x347773c5: 'Raw.Pong', - 0xe22045fc: 'Raw.DestroySessionOk', - 0x62d350c9: 'Raw.DestroySessionNone', - 0x9ec20908: 'Raw.NewSessionCreated', - 0x9299359f: 'Raw.HttpWait', - 0xd433ad73: 'Raw.IpPort', - 0x37982646: 'Raw.IpPortSecret', - 0x4679b65f: 'Raw.AccessPointRule', - 0x5a592a6c: 'Raw.help.ConfigSimple', - 0x58e4a740: 'Raw.RpcDropAnswer', - 0xb921bd04: 'Raw.GetFutureSalts', - 0x7abe77ec: 'Raw.Ping', - 0xf3427b8c: 'Raw.PingDelayDisconnect', - 0xe7512126: 'Raw.DestroySession', - 0x7f3b18ea: 'Raw.InputPeerEmpty', - 0x7da07ec9: 'Raw.InputPeerSelf', - 0x35a95cb9: 'Raw.InputPeerChat', - 0xdde8a54c: 'Raw.InputPeerUser', - 0x27bcbbfc: 'Raw.InputPeerChannel', - 0xa87b0a1c: 'Raw.InputPeerUserFromMessage', - 0xbd2a0840: 'Raw.InputPeerChannelFromMessage', - 0xb98886cf: 'Raw.InputUserEmpty', - 0xf7c1b13f: 'Raw.InputUserSelf', - 0xf21158c6: 'Raw.InputUser', - 0x1da448e2: 'Raw.InputUserFromMessage', - 0xf392b7f4: 'Raw.InputPhoneContact', - 0xf52ff27f: 'Raw.InputFile', - 0xfa4f0bb5: 'Raw.InputFileBig', - 0x62dc8b48: 'Raw.InputFileStoryDocument', - 0x9664f57f: 'Raw.InputMediaEmpty', - 0x1e287d04: 'Raw.InputMediaUploadedPhoto', - 0xb3ba0635: 'Raw.InputMediaPhoto', - 0xf9c44144: 'Raw.InputMediaGeoPoint', - 0xf8ab7dfb: 'Raw.InputMediaContact', - 0x37c9330: 'Raw.InputMediaUploadedDocument', - 0xa8763ab5: 'Raw.InputMediaDocument', - 0xc13d1c11: 'Raw.InputMediaVenue', - 0xe5bbfe1a: 'Raw.InputMediaPhotoExternal', - 0x779600f9: 'Raw.InputMediaDocumentExternal', - 0xd33f43f3: 'Raw.InputMediaGame', - 0x405fef0d: 'Raw.InputMediaInvoice', - 0x971fa843: 'Raw.InputMediaGeoLive', - 0xf94e5f1: 'Raw.InputMediaPoll', - 0xe66fbf7b: 'Raw.InputMediaDice', - 0x89fdd778: 'Raw.InputMediaStory', - 0xc21b8849: 'Raw.InputMediaWebPage', - 0xc4103386: 'Raw.InputMediaPaidMedia', - 0x9fc55fde: 'Raw.InputMediaTodo', - 0x1ca48f57: 'Raw.InputChatPhotoEmpty', - 0xbdcdaec0: 'Raw.InputChatUploadedPhoto', - 0x8953ad37: 'Raw.InputChatPhoto', - 0xe4c123d6: 'Raw.InputGeoPointEmpty', - 0x48222faf: 'Raw.InputGeoPoint', - 0x1cd7bf0d: 'Raw.InputPhotoEmpty', - 0x3bb3b94a: 'Raw.InputPhoto', - 0xdfdaabe1: 'Raw.InputFileLocation', - 0xf5235d55: 'Raw.InputEncryptedFileLocation', - 0xbad07584: 'Raw.InputDocumentFileLocation', - 0xcbc7ee28: 'Raw.InputSecureFileLocation', - 0x29be5899: 'Raw.InputTakeoutFileLocation', - 0x40181ffe: 'Raw.InputPhotoFileLocation', - 0xd83466f3: 'Raw.InputPhotoLegacyFileLocation', - 0x37257e99: 'Raw.InputPeerPhotoFileLocation', - 0x9d84f3db: 'Raw.InputStickerSetThumb', - 0x598a92a: 'Raw.InputGroupCallStream', - 0x59511722: 'Raw.PeerUser', - 0x36c6019a: 'Raw.PeerChat', - 0xa2a5371e: 'Raw.PeerChannel', - 0xaa963b05: 'Raw.storage.FileUnknown', - 0x40bc6f52: 'Raw.storage.FilePartial', - 0x7efe0e: 'Raw.storage.FileJpeg', - 0xcae1aadf: 'Raw.storage.FileGif', - 0xa4f63c0: 'Raw.storage.FilePng', - 0xae1e508d: 'Raw.storage.FilePdf', - 0x528a0677: 'Raw.storage.FileMp3', - 0x4b09ebbc: 'Raw.storage.FileMov', - 0xb3cea0e4: 'Raw.storage.FileMp4', - 0x1081464c: 'Raw.storage.FileWebp', - 0xd3bc4b7a: 'Raw.UserEmpty', - 0x20b1422: 'Raw.User', - 0x4f11bae1: 'Raw.UserProfilePhotoEmpty', - 0x82d1f706: 'Raw.UserProfilePhoto', - 0x9d05049: 'Raw.UserStatusEmpty', - 0xedb93949: 'Raw.UserStatusOnline', - 0x8c703f: 'Raw.UserStatusOffline', - 0x7b197dc8: 'Raw.UserStatusRecently', - 0x541a1d1a: 'Raw.UserStatusLastWeek', - 0x65899777: 'Raw.UserStatusLastMonth', - 0x29562865: 'Raw.ChatEmpty', - 0x41cbf256: 'Raw.Chat', - 0x6592a1a7: 'Raw.ChatForbidden', - 0xfe685355: 'Raw.Channel', - 0x17d493d5: 'Raw.ChannelForbidden', - 0x2633421b: 'Raw.ChatFull', - 0xe07429de: 'Raw.ChannelFull', - 0xc02d4007: 'Raw.ChatParticipant', - 0xe46bcee4: 'Raw.ChatParticipantCreator', - 0xa0933f5b: 'Raw.ChatParticipantAdmin', - 0x8763d3e1: 'Raw.ChatParticipantsForbidden', - 0x3cbc93f8: 'Raw.ChatParticipants', - 0x37c1011c: 'Raw.ChatPhotoEmpty', - 0x1c6e1c11: 'Raw.ChatPhoto', - 0x90a6ca84: 'Raw.MessageEmpty', - 0x9815cec8: 'Raw.Message', - 0x7a800e0a: 'Raw.MessageService', - 0x3ded6320: 'Raw.MessageMediaEmpty', - 0x695150d7: 'Raw.MessageMediaPhoto', - 0x56e0d474: 'Raw.MessageMediaGeo', - 0x70322949: 'Raw.MessageMediaContact', - 0x9f84f49e: 'Raw.MessageMediaUnsupported', - 0x52d8ccd9: 'Raw.MessageMediaDocument', - 0xddf10c3b: 'Raw.MessageMediaWebPage', - 0x2ec0533f: 'Raw.MessageMediaVenue', - 0xfdb19008: 'Raw.MessageMediaGame', - 0xf6a548d3: 'Raw.MessageMediaInvoice', - 0xb940c666: 'Raw.MessageMediaGeoLive', - 0x4bd6e798: 'Raw.MessageMediaPoll', - 0x3f7ee58b: 'Raw.MessageMediaDice', - 0x68cb6283: 'Raw.MessageMediaStory', - 0xaa073beb: 'Raw.MessageMediaGiveaway', - 0xceaa3ea1: 'Raw.MessageMediaGiveawayResults', - 0xa8852491: 'Raw.MessageMediaPaidMedia', - 0x8a53b014: 'Raw.MessageMediaToDo', - 0xb6aef7b0: 'Raw.MessageActionEmpty', - 0xbd47cbad: 'Raw.MessageActionChatCreate', - 0xb5a1ce5a: 'Raw.MessageActionChatEditTitle', - 0x7fcb13a8: 'Raw.MessageActionChatEditPhoto', - 0x95e3fbef: 'Raw.MessageActionChatDeletePhoto', - 0x15cefd00: 'Raw.MessageActionChatAddUser', - 0xa43f30cc: 'Raw.MessageActionChatDeleteUser', - 0x31224c3: 'Raw.MessageActionChatJoinedByLink', - 0x95d2ac92: 'Raw.MessageActionChannelCreate', - 0xe1037f92: 'Raw.MessageActionChatMigrateTo', - 0xea3948e9: 'Raw.MessageActionChannelMigrateFrom', - 0x94bd38ed: 'Raw.MessageActionPinMessage', - 0x9fbab604: 'Raw.MessageActionHistoryClear', - 0x92a72876: 'Raw.MessageActionGameScore', - 0xffa00ccc: 'Raw.MessageActionPaymentSentMe', - 0xc624b16e: 'Raw.MessageActionPaymentSent', - 0x80e11a7f: 'Raw.MessageActionPhoneCall', - 0x4792929b: 'Raw.MessageActionScreenshotTaken', - 0xfae69f56: 'Raw.MessageActionCustomAction', - 0xc516d679: 'Raw.MessageActionBotAllowed', - 0x1b287353: 'Raw.MessageActionSecureValuesSentMe', - 0xd95c6154: 'Raw.MessageActionSecureValuesSent', - 0xf3f25f76: 'Raw.MessageActionContactSignUp', - 0x98e0d697: 'Raw.MessageActionGeoProximityReached', - 0x7a0d7f42: 'Raw.MessageActionGroupCall', - 0x502f92f7: 'Raw.MessageActionInviteToGroupCall', - 0x3c134d7b: 'Raw.MessageActionSetMessagesTTL', - 0xb3a07661: 'Raw.MessageActionGroupCallScheduled', - 0xaa786345: 'Raw.MessageActionSetChatTheme', - 0xebbca3cb: 'Raw.MessageActionChatJoinedByRequest', - 0x47dd8079: 'Raw.MessageActionWebViewDataSentMe', - 0xb4c38cb5: 'Raw.MessageActionWebViewDataSent', - 0x6c6274fa: 'Raw.MessageActionGiftPremium', - 0xd999256: 'Raw.MessageActionTopicCreate', - 0xc0944820: 'Raw.MessageActionTopicEdit', - 0x57de635e: 'Raw.MessageActionSuggestProfilePhoto', - 0x31518e9b: 'Raw.MessageActionRequestedPeer', - 0x5060a3f4: 'Raw.MessageActionSetChatWallPaper', - 0x56d03994: 'Raw.MessageActionGiftCode', - 0xa80f51e4: 'Raw.MessageActionGiveawayLaunch', - 0x87e2f155: 'Raw.MessageActionGiveawayResults', - 0xcc02aa6d: 'Raw.MessageActionBoostApply', - 0x93b31848: 'Raw.MessageActionRequestedPeerSentMe', - 0x41b3e202: 'Raw.MessageActionPaymentRefunded', - 0x45d5b021: 'Raw.MessageActionGiftStars', - 0xb00c47a2: 'Raw.MessageActionPrizeStars', - 0x4717e8a4: 'Raw.MessageActionStarGift', - 0x2e3ae60e: 'Raw.MessageActionStarGiftUnique', - 0xac1f1fcd: 'Raw.MessageActionPaidMessagesRefunded', - 0x84b88578: 'Raw.MessageActionPaidMessagesPrice', - 0x2ffe2f7a: 'Raw.MessageActionConferenceCall', - 0xcc7c5c89: 'Raw.MessageActionTodoCompletions', - 0xc7edbc83: 'Raw.MessageActionTodoAppendTasks', - 0xee7a1596: 'Raw.MessageActionSuggestedPostApproval', - 0x95ddcf69: 'Raw.MessageActionSuggestedPostSuccess', - 0x69f916f8: 'Raw.MessageActionSuggestedPostRefund', - 0xa8a3c699: 'Raw.MessageActionGiftTon', - 0xd58a08c6: 'Raw.Dialog', - 0x71bd134c: 'Raw.DialogFolder', - 0x2331b22d: 'Raw.PhotoEmpty', - 0xfb197a65: 'Raw.Photo', - 0xe17e23c: 'Raw.PhotoSizeEmpty', - 0x75c78e60: 'Raw.PhotoSize', - 0x21e1ad6: 'Raw.PhotoCachedSize', - 0xe0b0bc2e: 'Raw.PhotoStrippedSize', - 0xfa3efb95: 'Raw.PhotoSizeProgressive', - 0xd8214d41: 'Raw.PhotoPathSize', - 0x1117dd5f: 'Raw.GeoPointEmpty', - 0xb2a2f663: 'Raw.GeoPoint', - 0x5e002502: 'Raw.auth.SentCode', - 0x2390fe44: 'Raw.auth.SentCodeSuccess', - 0xd7cef980: 'Raw.auth.SentCodePaymentRequired', - 0x2ea2c0d4: 'Raw.auth.Authorization', - 0x44747e9a: 'Raw.auth.AuthorizationSignUpRequired', - 0xb434e2b8: 'Raw.auth.ExportedAuthorization', - 0xb8bc5b0c: 'Raw.InputNotifyPeer', - 0x193b4417: 'Raw.InputNotifyUsers', - 0x4a95e84e: 'Raw.InputNotifyChats', - 0xb1db7c7e: 'Raw.InputNotifyBroadcasts', - 0x5c467992: 'Raw.InputNotifyForumTopic', - 0xcacb6ae2: 'Raw.InputPeerNotifySettings', - 0x99622c0c: 'Raw.PeerNotifySettings', - 0xf47741f7: 'Raw.PeerSettings', - 0xa437c3ed: 'Raw.WallPaper', - 0xe0804116: 'Raw.WallPaperNoFile', - 0x58dbcab8: 'Raw.InputReportReasonSpam', - 0x1e22c78d: 'Raw.InputReportReasonViolence', - 0x2e59d922: 'Raw.InputReportReasonPornography', - 0xadf44ee3: 'Raw.InputReportReasonChildAbuse', - 0xc1e4a2b1: 'Raw.InputReportReasonOther', - 0x9b89f93a: 'Raw.InputReportReasonCopyright', - 0xdbd4feed: 'Raw.InputReportReasonGeoIrrelevant', - 0xf5ddd6e7: 'Raw.InputReportReasonFake', - 0xa8eb2be: 'Raw.InputReportReasonIllegalDrugs', - 0x9ec7863d: 'Raw.InputReportReasonPersonalDetails', - 0x99e78045: 'Raw.UserFull', - 0x145ade0b: 'Raw.Contact', - 0xc13e3c50: 'Raw.ImportedContact', - 0x16d9703b: 'Raw.ContactStatus', - 0xb74ba9d2: 'Raw.contacts.ContactsNotModified', - 0xeae87e42: 'Raw.contacts.Contacts', - 0x77d01c3b: 'Raw.contacts.ImportedContacts', - 0xade1591: 'Raw.contacts.Blocked', - 0xe1664194: 'Raw.contacts.BlockedSlice', - 0x15ba6c40: 'Raw.messages.Dialogs', - 0x71e094f3: 'Raw.messages.DialogsSlice', - 0xf0e3e596: 'Raw.messages.DialogsNotModified', - 0x8c718e87: 'Raw.messages.Messages', - 0x3a54685e: 'Raw.messages.MessagesSlice', - 0xc776ba4e: 'Raw.messages.ChannelMessages', - 0x74535f21: 'Raw.messages.MessagesNotModified', - 0x64ff9fd5: 'Raw.messages.Chats', - 0x9cd81144: 'Raw.messages.ChatsSlice', - 0xe5d7d19c: 'Raw.messages.ChatFull', - 0xb45c69d1: 'Raw.messages.AffectedHistory', - 0x57e2f66c: 'Raw.InputMessagesFilterEmpty', - 0x9609a51c: 'Raw.InputMessagesFilterPhotos', - 0x9fc00e65: 'Raw.InputMessagesFilterVideo', - 0x56e9f0e4: 'Raw.InputMessagesFilterPhotoVideo', - 0x9eddf188: 'Raw.InputMessagesFilterDocument', - 0x7ef0dd87: 'Raw.InputMessagesFilterUrl', - 0xffc86587: 'Raw.InputMessagesFilterGif', - 0x50f5c392: 'Raw.InputMessagesFilterVoice', - 0x3751b49e: 'Raw.InputMessagesFilterMusic', - 0x3a20ecb8: 'Raw.InputMessagesFilterChatPhotos', - 0x80c99768: 'Raw.InputMessagesFilterPhoneCalls', - 0x7a7c17a4: 'Raw.InputMessagesFilterRoundVoice', - 0xb549da53: 'Raw.InputMessagesFilterRoundVideo', - 0xc1f8e69a: 'Raw.InputMessagesFilterMyMentions', - 0xe7026d0d: 'Raw.InputMessagesFilterGeo', - 0xe062db83: 'Raw.InputMessagesFilterContacts', - 0x1bb00451: 'Raw.InputMessagesFilterPinned', - 0x1f2b0afd: 'Raw.UpdateNewMessage', - 0x4e90bfd6: 'Raw.UpdateMessageID', - 0xa20db0e5: 'Raw.UpdateDeleteMessages', - 0xc01e857f: 'Raw.UpdateUserTyping', - 0x83487af0: 'Raw.UpdateChatUserTyping', - 0x7761198: 'Raw.UpdateChatParticipants', - 0xe5bdf8de: 'Raw.UpdateUserStatus', - 0xa7848924: 'Raw.UpdateUserName', - 0x8951abef: 'Raw.UpdateNewAuthorization', - 0x12bcbd9a: 'Raw.UpdateNewEncryptedMessage', - 0x1710f156: 'Raw.UpdateEncryptedChatTyping', - 0xb4a2e88d: 'Raw.UpdateEncryption', - 0x38fe25b7: 'Raw.UpdateEncryptedMessagesRead', - 0x3dda5451: 'Raw.UpdateChatParticipantAdd', - 0xe32f3d77: 'Raw.UpdateChatParticipantDelete', - 0x8e5e9873: 'Raw.UpdateDcOptions', - 0xbec268ef: 'Raw.UpdateNotifySettings', - 0xebe46819: 'Raw.UpdateServiceNotification', - 0xee3b272a: 'Raw.UpdatePrivacy', - 0x5492a13: 'Raw.UpdateUserPhone', - 0x9c974fdf: 'Raw.UpdateReadHistoryInbox', - 0x2f2f21bf: 'Raw.UpdateReadHistoryOutbox', - 0x7f891213: 'Raw.UpdateWebPage', - 0xf8227181: 'Raw.UpdateReadMessagesContents', - 0x108d941f: 'Raw.UpdateChannelTooLong', - 0x635b4c09: 'Raw.UpdateChannel', - 0x62ba04d9: 'Raw.UpdateNewChannelMessage', - 0x922e6e10: 'Raw.UpdateReadChannelInbox', - 0xc32d5b12: 'Raw.UpdateDeleteChannelMessages', - 0xf226ac08: 'Raw.UpdateChannelMessageViews', - 0xd7ca61a2: 'Raw.UpdateChatParticipantAdmin', - 0x688a30aa: 'Raw.UpdateNewStickerSet', - 0xbb2d201: 'Raw.UpdateStickerSetsOrder', - 0x31c24808: 'Raw.UpdateStickerSets', - 0x9375341e: 'Raw.UpdateSavedGifs', - 0x496f379c: 'Raw.UpdateBotInlineQuery', - 0x12f12a07: 'Raw.UpdateBotInlineSend', - 0x1b3f4df7: 'Raw.UpdateEditChannelMessage', - 0xb9cfc48d: 'Raw.UpdateBotCallbackQuery', - 0xe40370a3: 'Raw.UpdateEditMessage', - 0x691e9052: 'Raw.UpdateInlineBotCallbackQuery', - 0xb75f99a9: 'Raw.UpdateReadChannelOutbox', - 0xedfc111e: 'Raw.UpdateDraftMessage', - 0x571d2742: 'Raw.UpdateReadFeaturedStickers', - 0x9a422c20: 'Raw.UpdateRecentStickers', - 0xa229dd06: 'Raw.UpdateConfig', - 0x3354678f: 'Raw.UpdatePtsChanged', - 0x2f2ba99f: 'Raw.UpdateChannelWebPage', - 0x6e6fe51c: 'Raw.UpdateDialogPinned', - 0xfa0f3ca2: 'Raw.UpdatePinnedDialogs', - 0x8317c0c3: 'Raw.UpdateBotWebhookJSON', - 0x9b9240a6: 'Raw.UpdateBotWebhookJSONQuery', - 0xb5aefd7d: 'Raw.UpdateBotShippingQuery', - 0x8caa9a96: 'Raw.UpdateBotPrecheckoutQuery', - 0xab0f6b1e: 'Raw.UpdatePhoneCall', - 0x46560264: 'Raw.UpdateLangPackTooLong', - 0x56022f4d: 'Raw.UpdateLangPack', - 0xe511996d: 'Raw.UpdateFavedStickers', - 0x25f324f7: 'Raw.UpdateChannelReadMessagesContents', - 0x7084a7be: 'Raw.UpdateContactsReset', - 0xb23fc698: 'Raw.UpdateChannelAvailableMessages', - 0xb658f23e: 'Raw.UpdateDialogUnreadMark', - 0xaca1657b: 'Raw.UpdateMessagePoll', - 0x54c01850: 'Raw.UpdateChatDefaultBannedRights', - 0x19360dc0: 'Raw.UpdateFolderPeers', - 0x6a7e7366: 'Raw.UpdatePeerSettings', - 0xb4afcfb0: 'Raw.UpdatePeerLocated', - 0x39a51dfb: 'Raw.UpdateNewScheduledMessage', - 0xf2a71983: 'Raw.UpdateDeleteScheduledMessages', - 0x8216fba3: 'Raw.UpdateTheme', - 0x871fb939: 'Raw.UpdateGeoLiveViewed', - 0x564fe691: 'Raw.UpdateLoginToken', - 0x24f40e77: 'Raw.UpdateMessagePollVote', - 0x26ffde7d: 'Raw.UpdateDialogFilter', - 0xa5d72105: 'Raw.UpdateDialogFilterOrder', - 0x3504914f: 'Raw.UpdateDialogFilters', - 0x2661bf09: 'Raw.UpdatePhoneCallSignalingData', - 0xd29a27f4: 'Raw.UpdateChannelMessageForwards', - 0xd6b19546: 'Raw.UpdateReadChannelDiscussionInbox', - 0x695c9e7c: 'Raw.UpdateReadChannelDiscussionOutbox', - 0xebe07752: 'Raw.UpdatePeerBlocked', - 0x8c88c923: 'Raw.UpdateChannelUserTyping', - 0xed85eab5: 'Raw.UpdatePinnedMessages', - 0x5bb98608: 'Raw.UpdatePinnedChannelMessages', - 0xf89a6a4e: 'Raw.UpdateChat', - 0xf2ebdb4e: 'Raw.UpdateGroupCallParticipants', - 0x97d64341: 'Raw.UpdateGroupCall', - 0xbb9bb9a5: 'Raw.UpdatePeerHistoryTTL', - 0xd087663a: 'Raw.UpdateChatParticipant', - 0x985d3abb: 'Raw.UpdateChannelParticipant', - 0xc4870a49: 'Raw.UpdateBotStopped', - 0xb783982: 'Raw.UpdateGroupCallConnection', - 0x4d712f2e: 'Raw.UpdateBotCommands', - 0x7063c3db: 'Raw.UpdatePendingJoinRequests', - 0x11dfa986: 'Raw.UpdateBotChatInviteRequester', - 0x1e297bfa: 'Raw.UpdateMessageReactions', - 0x17b7a20b: 'Raw.UpdateAttachMenuBots', - 0x1592b79d: 'Raw.UpdateWebViewResultSent', - 0x14b85813: 'Raw.UpdateBotMenuButton', - 0x74d8be99: 'Raw.UpdateSavedRingtones', - 0x84cd5a: 'Raw.UpdateTranscribedAudio', - 0xfb4c496c: 'Raw.UpdateReadFeaturedEmojiStickers', - 0x28373599: 'Raw.UpdateUserEmojiStatus', - 0x30f443db: 'Raw.UpdateRecentEmojiStatuses', - 0x6f7863f4: 'Raw.UpdateRecentReactions', - 0x86fccf85: 'Raw.UpdateMoveStickerSetToTop', - 0xd5a41724: 'Raw.UpdateMessageExtendedMedia', - 0x192efbe3: 'Raw.UpdateChannelPinnedTopic', - 0xfe198602: 'Raw.UpdateChannelPinnedTopics', - 0x20529438: 'Raw.UpdateUser', - 0xec05b097: 'Raw.UpdateAutoSaveSettings', - 0x75b3b798: 'Raw.UpdateStory', - 0xf74e932b: 'Raw.UpdateReadStories', - 0x1bf335b9: 'Raw.UpdateStoryID', - 0x2c084dc1: 'Raw.UpdateStoriesStealthMode', - 0x7d627683: 'Raw.UpdateSentStoryReaction', - 0x904dd49c: 'Raw.UpdateBotChatBoost', - 0x7b68920: 'Raw.UpdateChannelViewForumAsMessages', - 0xae3f101d: 'Raw.UpdatePeerWallpaper', - 0xac21d3ce: 'Raw.UpdateBotMessageReaction', - 0x9cb7759: 'Raw.UpdateBotMessageReactions', - 0xaeaf9e74: 'Raw.UpdateSavedDialogPinned', - 0x686c85a6: 'Raw.UpdatePinnedSavedDialogs', - 0x39c67432: 'Raw.UpdateSavedReactionTags', - 0xf16269d4: 'Raw.UpdateSmsJob', - 0xf9470ab2: 'Raw.UpdateQuickReplies', - 0xf53da717: 'Raw.UpdateNewQuickReply', - 0x53e6f1ec: 'Raw.UpdateDeleteQuickReply', - 0x3e050d0f: 'Raw.UpdateQuickReplyMessage', - 0x566fe7cd: 'Raw.UpdateDeleteQuickReplyMessages', - 0x8ae5c97a: 'Raw.UpdateBotBusinessConnect', - 0x9ddb347c: 'Raw.UpdateBotNewBusinessMessage', - 0x7df587c: 'Raw.UpdateBotEditBusinessMessage', - 0xa02a982e: 'Raw.UpdateBotDeleteBusinessMessage', - 0x1824e40b: 'Raw.UpdateNewStoryReaction', - 0x4e80a379: 'Raw.UpdateStarsBalance', - 0x1ea2fda7: 'Raw.UpdateBusinessBotCallbackQuery', - 0xa584b019: 'Raw.UpdateStarsRevenueStatus', - 0x283bd312: 'Raw.UpdateBotPurchasedPaidMedia', - 0x8b725fce: 'Raw.UpdatePaidReactionPrivacy', - 0x504aa18f: 'Raw.UpdateSentPhoneCode', - 0xa477288f: 'Raw.UpdateGroupCallChainBlocks', - 0x77b0e372: 'Raw.UpdateReadMonoForumInbox', - 0xa4a79376: 'Raw.UpdateReadMonoForumOutbox', - 0x9f812b08: 'Raw.UpdateMonoForumNoPaidException', - 0xa56c2a3e: 'Raw.updates.State', - 0x5d75a138: 'Raw.updates.DifferenceEmpty', - 0xf49ca0: 'Raw.updates.Difference', - 0xa8fb1981: 'Raw.updates.DifferenceSlice', - 0x4afe8f6d: 'Raw.updates.DifferenceTooLong', - 0xe317af7e: 'Raw.UpdatesTooLong', - 0x313bc7f8: 'Raw.UpdateShortMessage', - 0x4d6deea5: 'Raw.UpdateShortChatMessage', - 0x78d4dec1: 'Raw.UpdateShort', - 0x725b04c3: 'Raw.UpdatesCombined', - 0x74ae4240: 'Raw.Updates', - 0x9015e101: 'Raw.UpdateShortSentMessage', - 0x8dca6aa5: 'Raw.photos.Photos', - 0x15051f54: 'Raw.photos.PhotosSlice', - 0x20212ca8: 'Raw.photos.Photo', - 0x96a18d5: 'Raw.upload.File', - 0xf18cda44: 'Raw.upload.FileCdnRedirect', - 0x18b7a10d: 'Raw.DcOption', - 0xcc1a241e: 'Raw.Config', - 0x8e1a1775: 'Raw.NearestDc', - 0xccbbce30: 'Raw.help.AppUpdate', - 0xc45a6536: 'Raw.help.NoAppUpdate', - 0x18cb9f78: 'Raw.help.InviteText', - 0xab7ec0a0: 'Raw.EncryptedChatEmpty', - 0x66b25953: 'Raw.EncryptedChatWaiting', - 0x48f1d94c: 'Raw.EncryptedChatRequested', - 0x61f0d4c7: 'Raw.EncryptedChat', - 0x1e1c7c45: 'Raw.EncryptedChatDiscarded', - 0xf141b5e1: 'Raw.InputEncryptedChat', - 0xc21f497e: 'Raw.EncryptedFileEmpty', - 0xa8008cd8: 'Raw.EncryptedFile', - 0x1837c364: 'Raw.InputEncryptedFileEmpty', - 0x64bd0306: 'Raw.InputEncryptedFileUploaded', - 0x5a17b5e5: 'Raw.InputEncryptedFile', - 0x2dc173c8: 'Raw.InputEncryptedFileBigUploaded', - 0xed18c118: 'Raw.EncryptedMessage', - 0x23734b06: 'Raw.EncryptedMessageService', - 0xc0e24635: 'Raw.messages.DhConfigNotModified', - 0x2c221edd: 'Raw.messages.DhConfig', - 0x560f8935: 'Raw.messages.SentEncryptedMessage', - 0x9493ff32: 'Raw.messages.SentEncryptedFile', - 0x72f0eaae: 'Raw.InputDocumentEmpty', - 0x1abfb575: 'Raw.InputDocument', - 0x36f8c871: 'Raw.DocumentEmpty', - 0x8fd4c4d8: 'Raw.Document', - 0x17c6b5f6: 'Raw.help.Support', - 0x9fd40bd8: 'Raw.NotifyPeer', - 0xb4c83b4c: 'Raw.NotifyUsers', - 0xc007cec3: 'Raw.NotifyChats', - 0xd612e8ef: 'Raw.NotifyBroadcasts', - 0x226e6308: 'Raw.NotifyForumTopic', - 0x16bf744e: 'Raw.SendMessageTypingAction', - 0xfd5ec8f5: 'Raw.SendMessageCancelAction', - 0xa187d66f: 'Raw.SendMessageRecordVideoAction', - 0xe9763aec: 'Raw.SendMessageUploadVideoAction', - 0xd52f73f7: 'Raw.SendMessageRecordAudioAction', - 0xf351d7ab: 'Raw.SendMessageUploadAudioAction', - 0xd1d34a26: 'Raw.SendMessageUploadPhotoAction', - 0xaa0cd9e4: 'Raw.SendMessageUploadDocumentAction', - 0x176f8ba1: 'Raw.SendMessageGeoLocationAction', - 0x628cbc6f: 'Raw.SendMessageChooseContactAction', - 0xdd6a8f48: 'Raw.SendMessageGamePlayAction', - 0x88f27fbc: 'Raw.SendMessageRecordRoundAction', - 0x243e1c66: 'Raw.SendMessageUploadRoundAction', - 0xd92c2285: 'Raw.SpeakingInGroupCallAction', - 0xdbda9246: 'Raw.SendMessageHistoryImportAction', - 0xb05ac6b1: 'Raw.SendMessageChooseStickerAction', - 0x25972bcb: 'Raw.SendMessageEmojiInteraction', - 0xb665902e: 'Raw.SendMessageEmojiInteractionSeen', - 0xb3134d9d: 'Raw.contacts.Found', - 0x4f96cb18: 'Raw.InputPrivacyKeyStatusTimestamp', - 0xbdfb0426: 'Raw.InputPrivacyKeyChatInvite', - 0xfabadc5f: 'Raw.InputPrivacyKeyPhoneCall', - 0xdb9e70d2: 'Raw.InputPrivacyKeyPhoneP2P', - 0xa4dd4c08: 'Raw.InputPrivacyKeyForwards', - 0x5719bacc: 'Raw.InputPrivacyKeyProfilePhoto', - 0x352dafa: 'Raw.InputPrivacyKeyPhoneNumber', - 0xd1219bdd: 'Raw.InputPrivacyKeyAddedByPhone', - 0xaee69d68: 'Raw.InputPrivacyKeyVoiceMessages', - 0x3823cc40: 'Raw.InputPrivacyKeyAbout', - 0xd65a11cc: 'Raw.InputPrivacyKeyBirthday', - 0xe1732341: 'Raw.InputPrivacyKeyStarGiftsAutoSave', - 0xbdc597b4: 'Raw.InputPrivacyKeyNoPaidMessages', - 0xbc2eab30: 'Raw.PrivacyKeyStatusTimestamp', - 0x500e6dfa: 'Raw.PrivacyKeyChatInvite', - 0x3d662b7b: 'Raw.PrivacyKeyPhoneCall', - 0x39491cc8: 'Raw.PrivacyKeyPhoneP2P', - 0x69ec56a3: 'Raw.PrivacyKeyForwards', - 0x96151fed: 'Raw.PrivacyKeyProfilePhoto', - 0xd19ae46d: 'Raw.PrivacyKeyPhoneNumber', - 0x42ffd42b: 'Raw.PrivacyKeyAddedByPhone', - 0x697f414: 'Raw.PrivacyKeyVoiceMessages', - 0xa486b761: 'Raw.PrivacyKeyAbout', - 0x2000a518: 'Raw.PrivacyKeyBirthday', - 0x2ca4fdf8: 'Raw.PrivacyKeyStarGiftsAutoSave', - 0x17d348d2: 'Raw.PrivacyKeyNoPaidMessages', - 0xd09e07b: 'Raw.InputPrivacyValueAllowContacts', - 0x184b35ce: 'Raw.InputPrivacyValueAllowAll', - 0x131cc67f: 'Raw.InputPrivacyValueAllowUsers', - 0xba52007: 'Raw.InputPrivacyValueDisallowContacts', - 0xd66b66c9: 'Raw.InputPrivacyValueDisallowAll', - 0x90110467: 'Raw.InputPrivacyValueDisallowUsers', - 0x840649cf: 'Raw.InputPrivacyValueAllowChatParticipants', - 0xe94f0f86: 'Raw.InputPrivacyValueDisallowChatParticipants', - 0x2f453e49: 'Raw.InputPrivacyValueAllowCloseFriends', - 0x77cdc9f1: 'Raw.InputPrivacyValueAllowPremium', - 0x5a4fcce5: 'Raw.InputPrivacyValueAllowBots', - 0xc4e57915: 'Raw.InputPrivacyValueDisallowBots', - 0xfffe1bac: 'Raw.PrivacyValueAllowContacts', - 0x65427b82: 'Raw.PrivacyValueAllowAll', - 0xb8905fb2: 'Raw.PrivacyValueAllowUsers', - 0xf888fa1a: 'Raw.PrivacyValueDisallowContacts', - 0x8b73e763: 'Raw.PrivacyValueDisallowAll', - 0xe4621141: 'Raw.PrivacyValueDisallowUsers', - 0x6b134e8e: 'Raw.PrivacyValueAllowChatParticipants', - 0x41c87565: 'Raw.PrivacyValueDisallowChatParticipants', - 0xf7e8d89b: 'Raw.PrivacyValueAllowCloseFriends', - 0xece9814b: 'Raw.PrivacyValueAllowPremium', - 0x21461b5d: 'Raw.PrivacyValueAllowBots', - 0xf6a5f82f: 'Raw.PrivacyValueDisallowBots', - 0x50a04e45: 'Raw.account.PrivacyRules', - 0xb8d0afdf: 'Raw.AccountDaysTTL', - 0x6c37c15c: 'Raw.DocumentAttributeImageSize', - 0x11b58939: 'Raw.DocumentAttributeAnimated', - 0x6319d612: 'Raw.DocumentAttributeSticker', - 0x43c57c48: 'Raw.DocumentAttributeVideo', - 0x9852f9c6: 'Raw.DocumentAttributeAudio', - 0x15590068: 'Raw.DocumentAttributeFilename', - 0x9801d2f7: 'Raw.DocumentAttributeHasStickers', - 0xfd149899: 'Raw.DocumentAttributeCustomEmoji', - 0xf1749a22: 'Raw.messages.StickersNotModified', - 0x30a6ec7e: 'Raw.messages.Stickers', - 0x12b299d4: 'Raw.StickerPack', - 0xe86602c3: 'Raw.messages.AllStickersNotModified', - 0xcdbbcebb: 'Raw.messages.AllStickers', - 0x84d19185: 'Raw.messages.AffectedMessages', - 0x211a1788: 'Raw.WebPageEmpty', - 0xb0d13e47: 'Raw.WebPagePending', - 0xe89c45b2: 'Raw.WebPage', - 0x7311ca11: 'Raw.WebPageNotModified', - 0xad01d61d: 'Raw.Authorization', - 0x4bff8ea0: 'Raw.account.Authorizations', - 0x957b50fb: 'Raw.account.Password', - 0x9a5c33e5: 'Raw.account.PasswordSettings', - 0xc23727c9: 'Raw.account.PasswordInputSettings', - 0x137948a5: 'Raw.auth.PasswordRecovery', - 0xa384b779: 'Raw.ReceivedNotifyMessage', - 0xa22cbd96: 'Raw.ChatInviteExported', - 0xed107ab7: 'Raw.ChatInvitePublicJoinRequests', - 0x5a686d7c: 'Raw.ChatInviteAlready', - 0x5c9d3702: 'Raw.ChatInvite', - 0x61695cb0: 'Raw.ChatInvitePeek', - 0xffb62b95: 'Raw.InputStickerSetEmpty', - 0x9de7a269: 'Raw.InputStickerSetID', - 0x861cc8a0: 'Raw.InputStickerSetShortName', - 0x28703c8: 'Raw.InputStickerSetAnimatedEmoji', - 0xe67f520e: 'Raw.InputStickerSetDice', - 0xcde3739: 'Raw.InputStickerSetAnimatedEmojiAnimations', - 0xc88b3b02: 'Raw.InputStickerSetPremiumGifts', - 0x4c4d4ce: 'Raw.InputStickerSetEmojiGenericAnimations', - 0x29d0f5ee: 'Raw.InputStickerSetEmojiDefaultStatuses', - 0x44c1f8e9: 'Raw.InputStickerSetEmojiDefaultTopicIcons', - 0x49748553: 'Raw.InputStickerSetEmojiChannelDefaultStatuses', - 0x1cf671a0: 'Raw.InputStickerSetTonGifts', - 0x2dd14edc: 'Raw.StickerSet', - 0x6e153f16: 'Raw.messages.StickerSet', - 0xd3f924eb: 'Raw.messages.StickerSetNotModified', - 0xc27ac8c7: 'Raw.BotCommand', - 0x4d8a0299: 'Raw.BotInfo', - 0xa2fa4880: 'Raw.KeyboardButton', - 0x258aff05: 'Raw.KeyboardButtonUrl', - 0x35bbdb6b: 'Raw.KeyboardButtonCallback', - 0xb16a6c29: 'Raw.KeyboardButtonRequestPhone', - 0xfc796b3f: 'Raw.KeyboardButtonRequestGeoLocation', - 0x93b9fbb5: 'Raw.KeyboardButtonSwitchInline', - 0x50f41ccf: 'Raw.KeyboardButtonGame', - 0xafd93fbb: 'Raw.KeyboardButtonBuy', - 0x10b78d29: 'Raw.KeyboardButtonUrlAuth', - 0xd02e7fd4: 'Raw.InputKeyboardButtonUrlAuth', - 0xbbc7515d: 'Raw.KeyboardButtonRequestPoll', - 0xe988037b: 'Raw.InputKeyboardButtonUserProfile', - 0x308660c1: 'Raw.KeyboardButtonUserProfile', - 0x13767230: 'Raw.KeyboardButtonWebView', - 0xa0c0505c: 'Raw.KeyboardButtonSimpleWebView', - 0x53d7bfd8: 'Raw.KeyboardButtonRequestPeer', - 0xc9662d05: 'Raw.InputKeyboardButtonRequestPeer', - 0x75d2698e: 'Raw.KeyboardButtonCopy', - 0x77608b83: 'Raw.KeyboardButtonRow', - 0xa03e5b85: 'Raw.ReplyKeyboardHide', - 0x86b40b08: 'Raw.ReplyKeyboardForceReply', - 0x85dd99d1: 'Raw.ReplyKeyboardMarkup', - 0x48a30254: 'Raw.ReplyInlineMarkup', - 0xbb92ba95: 'Raw.MessageEntityUnknown', - 0xfa04579d: 'Raw.MessageEntityMention', - 0x6f635b0d: 'Raw.MessageEntityHashtag', - 0x6cef8ac7: 'Raw.MessageEntityBotCommand', - 0x6ed02538: 'Raw.MessageEntityUrl', - 0x64e475c2: 'Raw.MessageEntityEmail', - 0xbd610bc9: 'Raw.MessageEntityBold', - 0x826f8b60: 'Raw.MessageEntityItalic', - 0x28a20571: 'Raw.MessageEntityCode', - 0x73924be0: 'Raw.MessageEntityPre', - 0x76a6d327: 'Raw.MessageEntityTextUrl', - 0xdc7b1140: 'Raw.MessageEntityMentionName', - 0x208e68c9: 'Raw.InputMessageEntityMentionName', - 0x9b69e34b: 'Raw.MessageEntityPhone', - 0x4c4e743f: 'Raw.MessageEntityCashtag', - 0x9c4e7e8b: 'Raw.MessageEntityUnderline', - 0xbf0693d4: 'Raw.MessageEntityStrike', - 0x761e6af4: 'Raw.MessageEntityBankCard', - 0x32ca960f: 'Raw.MessageEntitySpoiler', - 0xc8cf05f8: 'Raw.MessageEntityCustomEmoji', - 0xf1ccaaac: 'Raw.MessageEntityBlockquote', - 0xee8c1e86: 'Raw.InputChannelEmpty', - 0xf35aec28: 'Raw.InputChannel', - 0x5b934f9d: 'Raw.InputChannelFromMessage', - 0x7f077ad9: 'Raw.contacts.ResolvedPeer', - 0xae30253: 'Raw.MessageRange', - 0x3e11affb: 'Raw.updates.ChannelDifferenceEmpty', - 0xa4bcc6fe: 'Raw.updates.ChannelDifferenceTooLong', - 0x2064674e: 'Raw.updates.ChannelDifference', - 0x94d42ee7: 'Raw.ChannelMessagesFilterEmpty', - 0xcd77d957: 'Raw.ChannelMessagesFilter', - 0xcb397619: 'Raw.ChannelParticipant', - 0x4f607bef: 'Raw.ChannelParticipantSelf', - 0x2fe601d3: 'Raw.ChannelParticipantCreator', - 0x34c3bb53: 'Raw.ChannelParticipantAdmin', - 0x6df8014e: 'Raw.ChannelParticipantBanned', - 0x1b03f006: 'Raw.ChannelParticipantLeft', - 0xde3f3c79: 'Raw.ChannelParticipantsRecent', - 0xb4608969: 'Raw.ChannelParticipantsAdmins', - 0xa3b54985: 'Raw.ChannelParticipantsKicked', - 0xb0d1865b: 'Raw.ChannelParticipantsBots', - 0x1427a5e1: 'Raw.ChannelParticipantsBanned', - 0x656ac4b: 'Raw.ChannelParticipantsSearch', - 0xbb6ae88d: 'Raw.ChannelParticipantsContacts', - 0xe04b5ceb: 'Raw.ChannelParticipantsMentions', - 0x9ab0feaf: 'Raw.channels.ChannelParticipants', - 0xf0173fe9: 'Raw.channels.ChannelParticipantsNotModified', - 0xdfb80317: 'Raw.channels.ChannelParticipant', - 0x780a0310: 'Raw.help.TermsOfService', - 0xe8025ca2: 'Raw.messages.SavedGifsNotModified', - 0x84a02a0d: 'Raw.messages.SavedGifs', - 0x3380c786: 'Raw.InputBotInlineMessageMediaAuto', - 0x3dcd7a87: 'Raw.InputBotInlineMessageText', - 0x96929a85: 'Raw.InputBotInlineMessageMediaGeo', - 0x417bbf11: 'Raw.InputBotInlineMessageMediaVenue', - 0xa6edbffd: 'Raw.InputBotInlineMessageMediaContact', - 0x4b425864: 'Raw.InputBotInlineMessageGame', - 0xd7e78225: 'Raw.InputBotInlineMessageMediaInvoice', - 0xbddcc510: 'Raw.InputBotInlineMessageMediaWebPage', - 0x88bf9319: 'Raw.InputBotInlineResult', - 0xa8d864a7: 'Raw.InputBotInlineResultPhoto', - 0xfff8fdc4: 'Raw.InputBotInlineResultDocument', - 0x4fa417f2: 'Raw.InputBotInlineResultGame', - 0x764cf810: 'Raw.BotInlineMessageMediaAuto', - 0x8c7f65e2: 'Raw.BotInlineMessageText', - 0x51846fd: 'Raw.BotInlineMessageMediaGeo', - 0x8a86659c: 'Raw.BotInlineMessageMediaVenue', - 0x18d1cdc2: 'Raw.BotInlineMessageMediaContact', - 0x354a9b09: 'Raw.BotInlineMessageMediaInvoice', - 0x809ad9a6: 'Raw.BotInlineMessageMediaWebPage', - 0x11965f3a: 'Raw.BotInlineResult', - 0x17db940b: 'Raw.BotInlineMediaResult', - 0xe021f2f6: 'Raw.messages.BotResults', - 0x5dab1af4: 'Raw.ExportedMessageLink', - 0x4e4df4bb: 'Raw.MessageFwdHeader', - 0x72a3158c: 'Raw.auth.CodeTypeSms', - 0x741cd3e3: 'Raw.auth.CodeTypeCall', - 0x226ccefb: 'Raw.auth.CodeTypeFlashCall', - 0xd61ad6ee: 'Raw.auth.CodeTypeMissedCall', - 0x6ed998c: 'Raw.auth.CodeTypeFragmentSms', - 0x3dbb5986: 'Raw.auth.SentCodeTypeApp', - 0xc000bba2: 'Raw.auth.SentCodeTypeSms', - 0x5353e5a7: 'Raw.auth.SentCodeTypeCall', - 0xab03c6d9: 'Raw.auth.SentCodeTypeFlashCall', - 0x82006484: 'Raw.auth.SentCodeTypeMissedCall', - 0xf450f59b: 'Raw.auth.SentCodeTypeEmailCode', - 0xa5491dea: 'Raw.auth.SentCodeTypeSetUpEmailRequired', - 0xd9565c39: 'Raw.auth.SentCodeTypeFragmentSms', - 0x9fd736: 'Raw.auth.SentCodeTypeFirebaseSms', - 0xa416ac81: 'Raw.auth.SentCodeTypeSmsWord', - 0xb37794af: 'Raw.auth.SentCodeTypeSmsPhrase', - 0x36585ea4: 'Raw.messages.BotCallbackAnswer', - 0x26b5dde6: 'Raw.messages.MessageEditData', - 0x890c3d89: 'Raw.InputBotInlineMessageID', - 0xb6d915d7: 'Raw.InputBotInlineMessageID64', - 0x3c20629f: 'Raw.InlineBotSwitchPM', - 0x3371c354: 'Raw.messages.PeerDialogs', - 0xedcdc05b: 'Raw.TopPeer', - 0xab661b5b: 'Raw.TopPeerCategoryBotsPM', - 0x148677e2: 'Raw.TopPeerCategoryBotsInline', - 0x637b7ed: 'Raw.TopPeerCategoryCorrespondents', - 0xbd17a14a: 'Raw.TopPeerCategoryGroups', - 0x161d9628: 'Raw.TopPeerCategoryChannels', - 0x1e76a78c: 'Raw.TopPeerCategoryPhoneCalls', - 0xa8406ca9: 'Raw.TopPeerCategoryForwardUsers', - 0xfbeec0f0: 'Raw.TopPeerCategoryForwardChats', - 0xfd9e7bec: 'Raw.TopPeerCategoryBotsApp', - 0xfb834291: 'Raw.TopPeerCategoryPeers', - 0xde266ef5: 'Raw.contacts.TopPeersNotModified', - 0x70b772a8: 'Raw.contacts.TopPeers', - 0xb52c939d: 'Raw.contacts.TopPeersDisabled', - 0x1b0c841a: 'Raw.DraftMessageEmpty', - 0x96eaa5eb: 'Raw.DraftMessage', - 0xc6dc0c66: 'Raw.messages.FeaturedStickersNotModified', - 0xbe382906: 'Raw.messages.FeaturedStickers', - 0xb17f890: 'Raw.messages.RecentStickersNotModified', - 0x88d37c56: 'Raw.messages.RecentStickers', - 0x4fcba9c8: 'Raw.messages.ArchivedStickers', - 0x38641628: 'Raw.messages.StickerSetInstallResultSuccess', - 0x35e410a8: 'Raw.messages.StickerSetInstallResultArchive', - 0x6410a5d2: 'Raw.StickerSetCovered', - 0x3407e51b: 'Raw.StickerSetMultiCovered', - 0x40d13c0e: 'Raw.StickerSetFullCovered', - 0x77b15d1c: 'Raw.StickerSetNoCovered', - 0xaed6dbb2: 'Raw.MaskCoords', - 0x4a992157: 'Raw.InputStickeredMediaPhoto', - 0x438865b: 'Raw.InputStickeredMediaDocument', - 0xbdf9653b: 'Raw.Game', - 0x32c3e77: 'Raw.InputGameID', - 0xc331e80a: 'Raw.InputGameShortName', - 0x73a379eb: 'Raw.HighScore', - 0x9a3bfd99: 'Raw.messages.HighScores', - 0xdc3d824f: 'Raw.TextEmpty', - 0x744694e0: 'Raw.TextPlain', - 0x6724abc4: 'Raw.TextBold', - 0xd912a59c: 'Raw.TextItalic', - 0xc12622c4: 'Raw.TextUnderline', - 0x9bf8bb95: 'Raw.TextStrike', - 0x6c3f19b9: 'Raw.TextFixed', - 0x3c2884c1: 'Raw.TextUrl', - 0xde5a0dd6: 'Raw.TextEmail', - 0x7e6260d7: 'Raw.TextConcat', - 0xed6a8504: 'Raw.TextSubscript', - 0xc7fb5e01: 'Raw.TextSuperscript', - 0x34b8621: 'Raw.TextMarked', - 0x1ccb966a: 'Raw.TextPhone', - 0x81ccf4f: 'Raw.TextImage', - 0x35553762: 'Raw.TextAnchor', - 0x13567e8a: 'Raw.PageBlockUnsupported', - 0x70abc3fd: 'Raw.PageBlockTitle', - 0x8ffa9a1f: 'Raw.PageBlockSubtitle', - 0xbaafe5e0: 'Raw.PageBlockAuthorDate', - 0xbfd064ec: 'Raw.PageBlockHeader', - 0xf12bb6e1: 'Raw.PageBlockSubheader', - 0x467a0766: 'Raw.PageBlockParagraph', - 0xc070d93e: 'Raw.PageBlockPreformatted', - 0x48870999: 'Raw.PageBlockFooter', - 0xdb20b188: 'Raw.PageBlockDivider', - 0xce0d37b0: 'Raw.PageBlockAnchor', - 0xe4e88011: 'Raw.PageBlockList', - 0x263d7c26: 'Raw.PageBlockBlockquote', - 0x4f4456d3: 'Raw.PageBlockPullquote', - 0x1759c560: 'Raw.PageBlockPhoto', - 0x7c8fe7b6: 'Raw.PageBlockVideo', - 0x39f23300: 'Raw.PageBlockCover', - 0xa8718dc5: 'Raw.PageBlockEmbed', - 0xf259a80b: 'Raw.PageBlockEmbedPost', - 0x65a0fa4d: 'Raw.PageBlockCollage', - 0x31f9590: 'Raw.PageBlockSlideshow', - 0xef1751b5: 'Raw.PageBlockChannel', - 0x804361ea: 'Raw.PageBlockAudio', - 0x1e148390: 'Raw.PageBlockKicker', - 0xbf4dea82: 'Raw.PageBlockTable', - 0x9a8ae1e1: 'Raw.PageBlockOrderedList', - 0x76768bed: 'Raw.PageBlockDetails', - 0x16115a96: 'Raw.PageBlockRelatedArticles', - 0xa44f3ef6: 'Raw.PageBlockMap', - 0x85e42301: 'Raw.PhoneCallDiscardReasonMissed', - 0xe095c1a0: 'Raw.PhoneCallDiscardReasonDisconnect', - 0x57adc690: 'Raw.PhoneCallDiscardReasonHangup', - 0xfaf7e8c9: 'Raw.PhoneCallDiscardReasonBusy', - 0x9fbbf1f7: 'Raw.PhoneCallDiscardReasonMigrateConferenceCall', - 0x7d748d04: 'Raw.DataJSON', - 0xcb296bf8: 'Raw.LabeledPrice', - 0x49ee584: 'Raw.Invoice', - 0xea02c27e: 'Raw.PaymentCharge', - 0x1e8caaeb: 'Raw.PostAddress', - 0x909c3f94: 'Raw.PaymentRequestedInfo', - 0xcdc27a1f: 'Raw.PaymentSavedCredentialsCard', - 0x1c570ed1: 'Raw.WebDocument', - 0xf9c8bcc6: 'Raw.WebDocumentNoProxy', - 0x9bed434d: 'Raw.InputWebDocument', - 0xc239d686: 'Raw.InputWebFileLocation', - 0x9f2221c9: 'Raw.InputWebFileGeoPointLocation', - 0xf46fe924: 'Raw.InputWebFileAudioAlbumThumbLocation', - 0x21e753bc: 'Raw.upload.WebFile', - 0xa0058751: 'Raw.payments.PaymentForm', - 0x7bf6b15c: 'Raw.payments.PaymentFormStars', - 0xb425cfe1: 'Raw.payments.PaymentFormStarGift', - 0xd1451883: 'Raw.payments.ValidatedRequestedInfo', - 0x4e5f810d: 'Raw.payments.PaymentResult', - 0xd8411139: 'Raw.payments.PaymentVerificationNeeded', - 0x70c4fe03: 'Raw.payments.PaymentReceipt', - 0xdabbf83a: 'Raw.payments.PaymentReceiptStars', - 0xfb8fe43c: 'Raw.payments.SavedInfo', - 0xc10eb2cf: 'Raw.InputPaymentCredentialsSaved', - 0x3417d728: 'Raw.InputPaymentCredentials', - 0xaa1c39f: 'Raw.InputPaymentCredentialsApplePay', - 0x8ac32801: 'Raw.InputPaymentCredentialsGooglePay', - 0xdb64fd34: 'Raw.account.TmpPassword', - 0xb6213cdf: 'Raw.ShippingOption', - 0x32da9e9c: 'Raw.InputStickerSetItem', - 0x1e36fded: 'Raw.InputPhoneCall', - 0x5366c915: 'Raw.PhoneCallEmpty', - 0xc5226f17: 'Raw.PhoneCallWaiting', - 0x14b0ed0c: 'Raw.PhoneCallRequested', - 0x3660c311: 'Raw.PhoneCallAccepted', - 0x30535af5: 'Raw.PhoneCall', - 0x50ca4de1: 'Raw.PhoneCallDiscarded', - 0x9cc123c7: 'Raw.PhoneConnection', - 0x635fe375: 'Raw.PhoneConnectionWebrtc', - 0xfc878fc8: 'Raw.PhoneCallProtocol', - 0xec82e140: 'Raw.phone.PhoneCall', - 0xeea8e46e: 'Raw.upload.CdnFileReuploadNeeded', - 0xa99fca4f: 'Raw.upload.CdnFile', - 0xc982eaba: 'Raw.CdnPublicKey', - 0x5725e40a: 'Raw.CdnConfig', - 0xcad181f6: 'Raw.LangPackString', - 0x6c47ac9f: 'Raw.LangPackStringPluralized', - 0x2979eeb2: 'Raw.LangPackStringDeleted', - 0xf385c1f6: 'Raw.LangPackDifference', - 0xeeca5ce3: 'Raw.LangPackLanguage', - 0xe6dfb825: 'Raw.ChannelAdminLogEventActionChangeTitle', - 0x55188a2e: 'Raw.ChannelAdminLogEventActionChangeAbout', - 0x6a4afc38: 'Raw.ChannelAdminLogEventActionChangeUsername', - 0x434bd2af: 'Raw.ChannelAdminLogEventActionChangePhoto', - 0x1b7907ae: 'Raw.ChannelAdminLogEventActionToggleInvites', - 0x26ae0971: 'Raw.ChannelAdminLogEventActionToggleSignatures', - 0xe9e82c18: 'Raw.ChannelAdminLogEventActionUpdatePinned', - 0x709b2405: 'Raw.ChannelAdminLogEventActionEditMessage', - 0x42e047bb: 'Raw.ChannelAdminLogEventActionDeleteMessage', - 0x183040d3: 'Raw.ChannelAdminLogEventActionParticipantJoin', - 0xf89777f2: 'Raw.ChannelAdminLogEventActionParticipantLeave', - 0xe31c34d8: 'Raw.ChannelAdminLogEventActionParticipantInvite', - 0xe6d83d7e: 'Raw.ChannelAdminLogEventActionParticipantToggleBan', - 0xd5676710: 'Raw.ChannelAdminLogEventActionParticipantToggleAdmin', - 0xb1c3caa7: 'Raw.ChannelAdminLogEventActionChangeStickerSet', - 0x5f5c95f1: 'Raw.ChannelAdminLogEventActionTogglePreHistoryHidden', - 0x2df5fc0a: 'Raw.ChannelAdminLogEventActionDefaultBannedRights', - 0x8f079643: 'Raw.ChannelAdminLogEventActionStopPoll', - 0x50c7ac8: 'Raw.ChannelAdminLogEventActionChangeLinkedChat', - 0xe6b76ae: 'Raw.ChannelAdminLogEventActionChangeLocation', - 0x53909779: 'Raw.ChannelAdminLogEventActionToggleSlowMode', - 0x23209745: 'Raw.ChannelAdminLogEventActionStartGroupCall', - 0xdb9f9140: 'Raw.ChannelAdminLogEventActionDiscardGroupCall', - 0xf92424d2: 'Raw.ChannelAdminLogEventActionParticipantMute', - 0xe64429c0: 'Raw.ChannelAdminLogEventActionParticipantUnmute', - 0x56d6a247: 'Raw.ChannelAdminLogEventActionToggleGroupCallSetting', - 0xfe9fc158: 'Raw.ChannelAdminLogEventActionParticipantJoinByInvite', - 0x5a50fca4: 'Raw.ChannelAdminLogEventActionExportedInviteDelete', - 0x410a134e: 'Raw.ChannelAdminLogEventActionExportedInviteRevoke', - 0xe90ebb59: 'Raw.ChannelAdminLogEventActionExportedInviteEdit', - 0x3e7f6847: 'Raw.ChannelAdminLogEventActionParticipantVolume', - 0x6e941a38: 'Raw.ChannelAdminLogEventActionChangeHistoryTTL', - 0xafb6144a: 'Raw.ChannelAdminLogEventActionParticipantJoinByRequest', - 0xcb2ac766: 'Raw.ChannelAdminLogEventActionToggleNoForwards', - 0x278f2868: 'Raw.ChannelAdminLogEventActionSendMessage', - 0xbe4e0ef8: 'Raw.ChannelAdminLogEventActionChangeAvailableReactions', - 0xf04fb3a9: 'Raw.ChannelAdminLogEventActionChangeUsernames', - 0x2cc6383: 'Raw.ChannelAdminLogEventActionToggleForum', - 0x58707d28: 'Raw.ChannelAdminLogEventActionCreateTopic', - 0xf06fe208: 'Raw.ChannelAdminLogEventActionEditTopic', - 0xae168909: 'Raw.ChannelAdminLogEventActionDeleteTopic', - 0x5d8d353b: 'Raw.ChannelAdminLogEventActionPinTopic', - 0x64f36dfc: 'Raw.ChannelAdminLogEventActionToggleAntiSpam', - 0x5796e780: 'Raw.ChannelAdminLogEventActionChangePeerColor', - 0x5e477b25: 'Raw.ChannelAdminLogEventActionChangeProfilePeerColor', - 0x31bb5d52: 'Raw.ChannelAdminLogEventActionChangeWallpaper', - 0x3ea9feb1: 'Raw.ChannelAdminLogEventActionChangeEmojiStatus', - 0x46d840ab: 'Raw.ChannelAdminLogEventActionChangeEmojiStickerSet', - 0x60a79c79: 'Raw.ChannelAdminLogEventActionToggleSignatureProfiles', - 0x64642db3: 'Raw.ChannelAdminLogEventActionParticipantSubExtend', - 0xc517f77e: 'Raw.ChannelAdminLogEventActionToggleAutotranslation', - 0x1fad68cd: 'Raw.ChannelAdminLogEvent', - 0xed8af74d: 'Raw.channels.AdminLogResults', - 0xea107ae4: 'Raw.ChannelAdminLogEventsFilter', - 0x5ce14175: 'Raw.PopularContact', - 0x9e8fa6d3: 'Raw.messages.FavedStickersNotModified', - 0x2cb51097: 'Raw.messages.FavedStickers', - 0x46e1d13d: 'Raw.RecentMeUrlUnknown', - 0xb92c09e2: 'Raw.RecentMeUrlUser', - 0xb2da71d2: 'Raw.RecentMeUrlChat', - 0xeb49081d: 'Raw.RecentMeUrlChatInvite', - 0xbc0a57dc: 'Raw.RecentMeUrlStickerSet', - 0xe0310d7: 'Raw.help.RecentMeUrls', - 0x1cc6e91f: 'Raw.InputSingleMedia', - 0xa6f8f452: 'Raw.WebAuthorization', - 0xed56c9fc: 'Raw.account.WebAuthorizations', - 0xa676a322: 'Raw.InputMessageID', - 0xbad88395: 'Raw.InputMessageReplyTo', - 0x86872538: 'Raw.InputMessagePinned', - 0xacfa1a7e: 'Raw.InputMessageCallbackQuery', - 0xfcaafeb7: 'Raw.InputDialogPeer', - 0x64600527: 'Raw.InputDialogPeerFolder', - 0xe56dbf05: 'Raw.DialogPeer', - 0x514519e2: 'Raw.DialogPeerFolder', - 0xd54b65d: 'Raw.messages.FoundStickerSetsNotModified', - 0x8af09dd2: 'Raw.messages.FoundStickerSets', - 0xf39b035c: 'Raw.FileHash', - 0x75588b3f: 'Raw.InputClientProxy', - 0xe3309f7f: 'Raw.help.TermsOfServiceUpdateEmpty', - 0x28ecf961: 'Raw.help.TermsOfServiceUpdate', - 0x3334b0f0: 'Raw.InputSecureFileUploaded', - 0x5367e5be: 'Raw.InputSecureFile', - 0x64199744: 'Raw.SecureFileEmpty', - 0x7d09c27e: 'Raw.SecureFile', - 0x8aeabec3: 'Raw.SecureData', - 0x7d6099dd: 'Raw.SecurePlainPhone', - 0x21ec5a5f: 'Raw.SecurePlainEmail', - 0x9d2a81e3: 'Raw.SecureValueTypePersonalDetails', - 0x3dac6a00: 'Raw.SecureValueTypePassport', - 0x6e425c4: 'Raw.SecureValueTypeDriverLicense', - 0xa0d0744b: 'Raw.SecureValueTypeIdentityCard', - 0x99a48f23: 'Raw.SecureValueTypeInternalPassport', - 0xcbe31e26: 'Raw.SecureValueTypeAddress', - 0xfc36954e: 'Raw.SecureValueTypeUtilityBill', - 0x89137c0d: 'Raw.SecureValueTypeBankStatement', - 0x8b883488: 'Raw.SecureValueTypeRentalAgreement', - 0x99e3806a: 'Raw.SecureValueTypePassportRegistration', - 0xea02ec33: 'Raw.SecureValueTypeTemporaryRegistration', - 0xb320aadb: 'Raw.SecureValueTypePhone', - 0x8e3ca7ee: 'Raw.SecureValueTypeEmail', - 0x187fa0ca: 'Raw.SecureValue', - 0xdb21d0a7: 'Raw.InputSecureValue', - 0xed1ecdb0: 'Raw.SecureValueHash', - 0xe8a40bd9: 'Raw.SecureValueErrorData', - 0xbe3dfa: 'Raw.SecureValueErrorFrontSide', - 0x868a2aa5: 'Raw.SecureValueErrorReverseSide', - 0xe537ced6: 'Raw.SecureValueErrorSelfie', - 0x7a700873: 'Raw.SecureValueErrorFile', - 0x666220e9: 'Raw.SecureValueErrorFiles', - 0x869d758f: 'Raw.SecureValueError', - 0xa1144770: 'Raw.SecureValueErrorTranslationFile', - 0x34636dd8: 'Raw.SecureValueErrorTranslationFiles', - 0x33f0ea47: 'Raw.SecureCredentialsEncrypted', - 0xad2e1cd8: 'Raw.account.AuthorizationForm', - 0x811f854f: 'Raw.account.SentEmailCode', - 0x66afa166: 'Raw.help.DeepLinkInfoEmpty', - 0x6a4ee832: 'Raw.help.DeepLinkInfo', - 0x1142bd56: 'Raw.SavedPhoneContact', - 0x4dba4501: 'Raw.account.Takeout', - 0xd45ab096: 'Raw.PasswordKdfAlgoUnknown', - 0x3a912d4a: 'Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow', - 0x4a8537: 'Raw.SecurePasswordKdfAlgoUnknown', - 0xbbf2dda0: 'Raw.SecurePasswordKdfAlgoPBKDF2HMACSHA512iter100000', - 0x86471d92: 'Raw.SecurePasswordKdfAlgoSHA512', - 0x1527bcac: 'Raw.SecureSecretSettings', - 0x9880f658: 'Raw.InputCheckPasswordEmpty', - 0xd27ff082: 'Raw.InputCheckPasswordSRP', - 0x829d99da: 'Raw.SecureRequiredType', - 0x27477b4: 'Raw.SecureRequiredTypeOneOf', - 0xbfb9f457: 'Raw.help.PassportConfigNotModified', - 0xa098d6af: 'Raw.help.PassportConfig', - 0x1d1b1245: 'Raw.InputAppEvent', - 0xc0de1bd9: 'Raw.JsonObjectValue', - 0x3f6d7b68: 'Raw.JsonNull', - 0xc7345e6a: 'Raw.JsonBool', - 0x2be0dfa4: 'Raw.JsonNumber', - 0xb71e767a: 'Raw.JsonString', - 0xf7444763: 'Raw.JsonArray', - 0x99c1d49d: 'Raw.JsonObject', - 0x34566b6a: 'Raw.PageTableCell', - 0xe0c0c5e5: 'Raw.PageTableRow', - 0x6f747657: 'Raw.PageCaption', - 0xb92fb6cd: 'Raw.PageListItemText', - 0x25e073fc: 'Raw.PageListItemBlocks', - 0x5e068047: 'Raw.PageListOrderedItemText', - 0x98dd8936: 'Raw.PageListOrderedItemBlocks', - 0xb390dc08: 'Raw.PageRelatedArticle', - 0x98657f0d: 'Raw.Page', - 0x8c05f1c9: 'Raw.help.SupportName', - 0xf3ae2eed: 'Raw.help.UserInfoEmpty', - 0x1eb3758: 'Raw.help.UserInfo', - 0xff16e2ca: 'Raw.PollAnswer', - 0x58747131: 'Raw.Poll', - 0x3b6ddad2: 'Raw.PollAnswerVoters', - 0x7adf2420: 'Raw.PollResults', - 0xf041e250: 'Raw.ChatOnlines', - 0x47a971e0: 'Raw.StatsURL', - 0x5fb224d5: 'Raw.ChatAdminRights', - 0x9f120418: 'Raw.ChatBannedRights', - 0xe630b979: 'Raw.InputWallPaper', - 0x72091c80: 'Raw.InputWallPaperSlug', - 0x967a462e: 'Raw.InputWallPaperNoFile', - 0x1c199183: 'Raw.account.WallPapersNotModified', - 0xcdc3858c: 'Raw.account.WallPapers', - 0xad253d78: 'Raw.CodeSettings', - 0x372efcd0: 'Raw.WallPaperSettings', - 0xbaa57628: 'Raw.AutoDownloadSettings', - 0x63cacf26: 'Raw.account.AutoDownloadSettings', - 0xd5b3b9f9: 'Raw.EmojiKeyword', - 0x236df622: 'Raw.EmojiKeywordDeleted', - 0x5cc761bd: 'Raw.EmojiKeywordsDifference', - 0xa575739d: 'Raw.EmojiURL', - 0xb3fb5361: 'Raw.EmojiLanguage', - 0xff544e65: 'Raw.Folder', - 0xfbd2c296: 'Raw.InputFolderPeer', - 0xe9baa668: 'Raw.FolderPeer', - 0xe844ebff: 'Raw.messages.SearchCounter', - 0x92d33a0e: 'Raw.UrlAuthResultRequest', - 0x8f8c0e4e: 'Raw.UrlAuthResultAccepted', - 0xa9d6db1f: 'Raw.UrlAuthResultDefault', - 0xbfb5ad8b: 'Raw.ChannelLocationEmpty', - 0x209b82db: 'Raw.ChannelLocation', - 0xca461b5d: 'Raw.PeerLocated', - 0xf8ec284b: 'Raw.PeerSelfLocated', - 0xd072acb4: 'Raw.RestrictionReason', - 0x3c5693e9: 'Raw.InputTheme', - 0xf5890df1: 'Raw.InputThemeSlug', - 0xa00e67d6: 'Raw.Theme', - 0xf41eb622: 'Raw.account.ThemesNotModified', - 0x9a3d8c6d: 'Raw.account.Themes', - 0x629f1980: 'Raw.auth.LoginToken', - 0x68e9916: 'Raw.auth.LoginTokenMigrateTo', - 0x390d5c5e: 'Raw.auth.LoginTokenSuccess', - 0x57e28221: 'Raw.account.ContentSettings', - 0xa927fec5: 'Raw.messages.InactiveChats', - 0xc3a12462: 'Raw.BaseThemeClassic', - 0xfbd81688: 'Raw.BaseThemeDay', - 0xb7b31ea8: 'Raw.BaseThemeNight', - 0x6d5f77ee: 'Raw.BaseThemeTinted', - 0x5b11125a: 'Raw.BaseThemeArctic', - 0x8fde504f: 'Raw.InputThemeSettings', - 0xfa58b6d4: 'Raw.ThemeSettings', - 0x54b56617: 'Raw.WebPageAttributeTheme', - 0x2e94c3e7: 'Raw.WebPageAttributeStory', - 0x50cc03d3: 'Raw.WebPageAttributeStickerSet', - 0xcf6f6db8: 'Raw.WebPageAttributeUniqueStarGift', - 0x4899484e: 'Raw.messages.VotesList', - 0xf568028a: 'Raw.BankCardOpenUrl', - 0x3e24e573: 'Raw.payments.BankCardData', - 0xaa472651: 'Raw.DialogFilter', - 0x363293ae: 'Raw.DialogFilterDefault', - 0x96537bd7: 'Raw.DialogFilterChatlist', - 0x77744d4a: 'Raw.DialogFilterSuggested', - 0xb637edaf: 'Raw.StatsDateRangeDays', - 0xcb43acde: 'Raw.StatsAbsValueAndPrev', - 0xcbce2fe0: 'Raw.StatsPercentValue', - 0x4a27eb2d: 'Raw.StatsGraphAsync', - 0xbedc9822: 'Raw.StatsGraphError', - 0x8ea464b6: 'Raw.StatsGraph', - 0x396ca5fc: 'Raw.stats.BroadcastStats', - 0x98f6ac75: 'Raw.help.PromoDataEmpty', - 0x8a4d87a: 'Raw.help.PromoData', - 0xde33b094: 'Raw.VideoSize', - 0xf85c413c: 'Raw.VideoSizeEmojiMarkup', - 0xda082fe: 'Raw.VideoSizeStickerMarkup', - 0x9d04af9b: 'Raw.StatsGroupTopPoster', - 0xd7584c87: 'Raw.StatsGroupTopAdmin', - 0x535f779d: 'Raw.StatsGroupTopInviter', - 0xef7ff916: 'Raw.stats.MegagroupStats', - 0xfe41b34f: 'Raw.GlobalPrivacySettings', - 0x4203c5ef: 'Raw.help.CountryCode', - 0xc3878e23: 'Raw.help.Country', - 0x93cc1f32: 'Raw.help.CountriesListNotModified', - 0x87d0759e: 'Raw.help.CountriesList', - 0x455b853d: 'Raw.MessageViews', - 0xb6c4f543: 'Raw.messages.MessageViews', - 0xa6341782: 'Raw.messages.DiscussionMessage', - 0xafbc09db: 'Raw.MessageReplyHeader', - 0xe5af939: 'Raw.MessageReplyStoryHeader', - 0x83d60fc2: 'Raw.MessageReplies', - 0xe8fd8014: 'Raw.PeerBlocked', - 0x7fe91c14: 'Raw.stats.MessageStats', - 0x7780bcb4: 'Raw.GroupCallDiscarded', - 0x553b0ba1: 'Raw.GroupCall', - 0xd8aa840f: 'Raw.InputGroupCall', - 0xfe06823f: 'Raw.InputGroupCallSlug', - 0x8c10603f: 'Raw.InputGroupCallInviteMessage', - 0xeba636fe: 'Raw.GroupCallParticipant', - 0x9e727aad: 'Raw.phone.GroupCall', - 0xf47751b6: 'Raw.phone.GroupParticipants', - 0x3081ed9d: 'Raw.InlineQueryPeerTypeSameBotPM', - 0x833c0fac: 'Raw.InlineQueryPeerTypePM', - 0xd766c50a: 'Raw.InlineQueryPeerTypeChat', - 0x5ec4be43: 'Raw.InlineQueryPeerTypeMegagroup', - 0x6334ee9a: 'Raw.InlineQueryPeerTypeBroadcast', - 0xe3b2d0c: 'Raw.InlineQueryPeerTypeBotPM', - 0x1662af0b: 'Raw.messages.HistoryImport', - 0x5e0fb7b9: 'Raw.messages.HistoryImportParsed', - 0xef8d3e6c: 'Raw.messages.AffectedFoundMessages', - 0x8c5adfd9: 'Raw.ChatInviteImporter', - 0xbdc62dcc: 'Raw.messages.ExportedChatInvites', - 0x1871be50: 'Raw.messages.ExportedChatInvite', - 0x222600ef: 'Raw.messages.ExportedChatInviteReplaced', - 0x81b6b00a: 'Raw.messages.ChatInviteImporters', - 0xf2ecef23: 'Raw.ChatAdminWithInvites', - 0xb69b72d7: 'Raw.messages.ChatAdminsWithInvites', - 0xa24de717: 'Raw.messages.CheckedHistoryImportPeer', - 0xafe5623f: 'Raw.phone.JoinAsPeers', - 0x204bd158: 'Raw.phone.ExportedGroupCallInvite', - 0xdcb118b7: 'Raw.GroupCallParticipantVideoSourceGroup', - 0x67753ac8: 'Raw.GroupCallParticipantVideo', - 0x85fea03f: 'Raw.stickers.SuggestedShortName', - 0x2f6cb2ab: 'Raw.BotCommandScopeDefault', - 0x3c4f04d8: 'Raw.BotCommandScopeUsers', - 0x6fe1a881: 'Raw.BotCommandScopeChats', - 0xb9aa606a: 'Raw.BotCommandScopeChatAdmins', - 0xdb9d897d: 'Raw.BotCommandScopePeer', - 0x3fd863d1: 'Raw.BotCommandScopePeerAdmins', - 0xa1321f3: 'Raw.BotCommandScopePeerUser', - 0xe3779861: 'Raw.account.ResetPasswordFailedWait', - 0xe9effc7d: 'Raw.account.ResetPasswordRequestedWait', - 0xe926d63e: 'Raw.account.ResetPasswordOk', - 0x7dbf8673: 'Raw.SponsoredMessage', - 0xffda656d: 'Raw.messages.SponsoredMessages', - 0x1839490f: 'Raw.messages.SponsoredMessagesEmpty', - 0xc9b0539f: 'Raw.SearchResultsCalendarPeriod', - 0x147ee23c: 'Raw.messages.SearchResultsCalendar', - 0x7f648b67: 'Raw.SearchResultPosition', - 0x53b22baf: 'Raw.messages.SearchResultsPositions', - 0xf496b0c6: 'Raw.channels.SendAsPeers', - 0x3b6d152e: 'Raw.users.UserFull', - 0x6880b94d: 'Raw.messages.PeerSettings', - 0xc3a2835f: 'Raw.auth.LoggedOut', - 0xa3d1cb80: 'Raw.ReactionCount', - 0xa339f0b: 'Raw.MessageReactions', - 0x31bd492d: 'Raw.messages.MessageReactionsList', - 0xc077ec01: 'Raw.AvailableReaction', - 0x9f071957: 'Raw.messages.AvailableReactionsNotModified', - 0x768e3aad: 'Raw.messages.AvailableReactions', - 0x8c79b63c: 'Raw.MessagePeerReaction', - 0x80eb48af: 'Raw.GroupCallStreamChannel', - 0xd0e482b2: 'Raw.phone.GroupCallStreamChannels', - 0x2dbf3432: 'Raw.phone.GroupCallStreamRtmpUrl', - 0x4576f3f0: 'Raw.AttachMenuBotIconColor', - 0xb2a7386b: 'Raw.AttachMenuBotIcon', - 0xd90d8dfe: 'Raw.AttachMenuBot', - 0xf1d88a5c: 'Raw.AttachMenuBotsNotModified', - 0x3c4301c0: 'Raw.AttachMenuBots', - 0x93bf667f: 'Raw.AttachMenuBotsBot', - 0x4d22ff98: 'Raw.WebViewResultUrl', - 0xc94511c: 'Raw.WebViewMessageSent', - 0x7533a588: 'Raw.BotMenuButtonDefault', - 0x4258c205: 'Raw.BotMenuButtonCommands', - 0xc7b57ce6: 'Raw.BotMenuButton', - 0xfbf6e8b1: 'Raw.account.SavedRingtonesNotModified', - 0xc1e92cc5: 'Raw.account.SavedRingtones', - 0x97e8bebe: 'Raw.NotificationSoundDefault', - 0x6f0c34df: 'Raw.NotificationSoundNone', - 0x830b9ae4: 'Raw.NotificationSoundLocal', - 0xff6c8049: 'Raw.NotificationSoundRingtone', - 0xb7263f6d: 'Raw.account.SavedRingtone', - 0x1f307eb7: 'Raw.account.SavedRingtoneConverted', - 0x7d6be90e: 'Raw.AttachMenuPeerTypeSameBotPM', - 0xc32bfa1a: 'Raw.AttachMenuPeerTypeBotPM', - 0xf146d31f: 'Raw.AttachMenuPeerTypePM', - 0x509113f: 'Raw.AttachMenuPeerTypeChat', - 0x7bfbdefc: 'Raw.AttachMenuPeerTypeBroadcast', - 0xc5b56859: 'Raw.InputInvoiceMessage', - 0xc326caef: 'Raw.InputInvoiceSlug', - 0x98986c0d: 'Raw.InputInvoicePremiumGiftCode', - 0x65f00ce3: 'Raw.InputInvoiceStars', - 0x34e793f1: 'Raw.InputInvoiceChatInviteSubscription', - 0xe8625e92: 'Raw.InputInvoiceStarGift', - 0x4d818d5d: 'Raw.InputInvoiceStarGiftUpgrade', - 0x4a5f5bd9: 'Raw.InputInvoiceStarGiftTransfer', - 0xdabab2ef: 'Raw.InputInvoicePremiumGiftStars', - 0xf4997e42: 'Raw.InputInvoiceBusinessBotTransferStars', - 0x63cbc38c: 'Raw.InputInvoiceStarGiftResale', - 0xaed0cbd9: 'Raw.payments.ExportedInvoice', - 0xcfb9d957: 'Raw.messages.TranscribedAudio', - 0x5334759c: 'Raw.help.PremiumPromo', - 0xa6751e66: 'Raw.InputStorePaymentPremiumSubscription', - 0x616f7fe8: 'Raw.InputStorePaymentGiftPremium', - 0xfb790393: 'Raw.InputStorePaymentPremiumGiftCode', - 0x160544ca: 'Raw.InputStorePaymentPremiumGiveaway', - 0xdddd0f56: 'Raw.InputStorePaymentStarsTopup', - 0x1d741ef7: 'Raw.InputStorePaymentStarsGift', - 0x751f08fa: 'Raw.InputStorePaymentStarsGiveaway', - 0x9bb2636d: 'Raw.InputStorePaymentAuthCode', - 0x88f8f21b: 'Raw.PaymentFormMethod', - 0x2de11aae: 'Raw.EmojiStatusEmpty', - 0xe7ff068a: 'Raw.EmojiStatus', - 0x7184603b: 'Raw.EmojiStatusCollectible', - 0x7141dbf: 'Raw.InputEmojiStatusCollectible', - 0xd08ce645: 'Raw.account.EmojiStatusesNotModified', - 0x90c467d1: 'Raw.account.EmojiStatuses', - 0x79f5d419: 'Raw.ReactionEmpty', - 0x1b2286b8: 'Raw.ReactionEmoji', - 0x8935fc73: 'Raw.ReactionCustomEmoji', - 0x523da4eb: 'Raw.ReactionPaid', - 0xeafc32bc: 'Raw.ChatReactionsNone', - 0x52928bca: 'Raw.ChatReactionsAll', - 0x661d4037: 'Raw.ChatReactionsSome', - 0xb06fdbdf: 'Raw.messages.ReactionsNotModified', - 0xeafdf716: 'Raw.messages.Reactions', - 0x4345be73: 'Raw.EmailVerifyPurposeLoginSetup', - 0x527d22eb: 'Raw.EmailVerifyPurposeLoginChange', - 0xbbf51685: 'Raw.EmailVerifyPurposePassport', - 0x922e55a9: 'Raw.EmailVerificationCode', - 0xdb909ec2: 'Raw.EmailVerificationGoogle', - 0x96d074fd: 'Raw.EmailVerificationApple', - 0x2b96cd1b: 'Raw.account.EmailVerified', - 0xe1bb0d61: 'Raw.account.EmailVerifiedLogin', - 0x5f2d1df2: 'Raw.PremiumSubscriptionOption', - 0xb81c7034: 'Raw.SendAsPeer', - 0xad628cc8: 'Raw.MessageExtendedMediaPreview', - 0xee479c64: 'Raw.MessageExtendedMedia', - 0xfcfeb29c: 'Raw.StickerKeyword', - 0xb4073647: 'Raw.Username', - 0x23f109b: 'Raw.ForumTopicDeleted', - 0x71701da9: 'Raw.ForumTopic', - 0x367617d3: 'Raw.messages.ForumTopics', - 0x43b46b20: 'Raw.DefaultHistoryTTL', - 0x41bf109b: 'Raw.ExportedContactToken', - 0x5f3b8a00: 'Raw.RequestPeerTypeUser', - 0xc9f06e1b: 'Raw.RequestPeerTypeChat', - 0x339bef6c: 'Raw.RequestPeerTypeBroadcast', - 0x481eadfa: 'Raw.EmojiListNotModified', - 0x7a1e11d1: 'Raw.EmojiList', - 0x7a9abda9: 'Raw.EmojiGroup', - 0x80d26cc7: 'Raw.EmojiGroupGreeting', - 0x93bcf34: 'Raw.EmojiGroupPremium', - 0x6fb4ad87: 'Raw.messages.EmojiGroupsNotModified', - 0x881fb94b: 'Raw.messages.EmojiGroups', - 0x751f3146: 'Raw.TextWithEntities', - 0x33db32f8: 'Raw.messages.TranslateResult', - 0xc84834ce: 'Raw.AutoSaveSettings', - 0x81602d47: 'Raw.AutoSaveException', - 0x4c3e069d: 'Raw.account.AutoSaveSettings', - 0x7cde641d: 'Raw.help.AppConfigNotModified', - 0xdd18782e: 'Raw.help.AppConfig', - 0xa920bd7a: 'Raw.InputBotAppID', - 0x908c0407: 'Raw.InputBotAppShortName', - 0x5da674b7: 'Raw.BotAppNotModified', - 0x95fcd1d6: 'Raw.BotApp', - 0xeb50adf5: 'Raw.messages.BotApp', - 0xb57295d5: 'Raw.InlineBotWebView', - 0x4a4ff172: 'Raw.ReadParticipantDate', - 0xf3e0da33: 'Raw.InputChatlistDialogFilter', - 0xc5181ac: 'Raw.ExportedChatlistInvite', - 0x10e6e3a6: 'Raw.chatlists.ExportedChatlistInvite', - 0x10ab6dc7: 'Raw.chatlists.ExportedInvites', - 0xfa87f659: 'Raw.chatlists.ChatlistInviteAlready', - 0xf10ece2f: 'Raw.chatlists.ChatlistInvite', - 0x93bd878d: 'Raw.chatlists.ChatlistUpdates', - 0xe8a775b0: 'Raw.bots.BotInfo', - 0xb6cc2d5c: 'Raw.MessagePeerVote', - 0x74cda504: 'Raw.MessagePeerVoteInputOption', - 0x4628f6e6: 'Raw.MessagePeerVoteMultiple', - 0x8d595cd6: 'Raw.StoryViews', - 0x51e6ee4f: 'Raw.StoryItemDeleted', - 0xffadc913: 'Raw.StoryItemSkipped', - 0x79b26a24: 'Raw.StoryItem', - 0x1158fe3e: 'Raw.stories.AllStoriesNotModified', - 0x6efc5e81: 'Raw.stories.AllStories', - 0x63c3dd0a: 'Raw.stories.Stories', - 0xb0bdeac5: 'Raw.StoryView', - 0x9083670b: 'Raw.StoryViewPublicForward', - 0xbd74cf49: 'Raw.StoryViewPublicRepost', - 0x59d78fc5: 'Raw.stories.StoryViewsList', - 0xde9eed1d: 'Raw.stories.StoryViews', - 0xb07038b0: 'Raw.InputReplyToMessage', - 0x5881323a: 'Raw.InputReplyToStory', - 0x69d66c45: 'Raw.InputReplyToMonoForum', - 0x3fc9053b: 'Raw.ExportedStoryLink', - 0x712e27fd: 'Raw.StoriesStealthMode', - 0xcfc9e002: 'Raw.MediaAreaCoordinates', - 0xbe82db9c: 'Raw.MediaAreaVenue', - 0xb282217f: 'Raw.InputMediaAreaVenue', - 0xcad5452d: 'Raw.MediaAreaGeoPoint', - 0x14455871: 'Raw.MediaAreaSuggestedReaction', - 0x770416af: 'Raw.MediaAreaChannelPost', - 0x2271f2bf: 'Raw.InputMediaAreaChannelPost', - 0x37381085: 'Raw.MediaAreaUrl', - 0x49a6549c: 'Raw.MediaAreaWeather', - 0x5787686d: 'Raw.MediaAreaStarGift', - 0x9a35e999: 'Raw.PeerStories', - 0xcae68768: 'Raw.stories.PeerStories', - 0xfd5e12bd: 'Raw.messages.WebPage', - 0x257e962b: 'Raw.PremiumGiftCodeOption', - 0x284a1096: 'Raw.payments.CheckedGiftCode', - 0x4367daa0: 'Raw.payments.GiveawayInfo', - 0xe175e66f: 'Raw.payments.GiveawayInfoResults', - 0xb2539d54: 'Raw.PrepaidGiveaway', - 0x9a9d77e0: 'Raw.PrepaidStarsGiveaway', - 0x4b3e14d6: 'Raw.Boost', - 0x86f8613c: 'Raw.premium.BoostsList', - 0xc448415c: 'Raw.MyBoost', - 0x9ae228e2: 'Raw.premium.MyBoosts', - 0x4959427a: 'Raw.premium.BoostsStatus', - 0xb826e150: 'Raw.StoryFwdHeader', - 0xe7058e7f: 'Raw.PostInteractionCountersMessage', - 0x8a480e27: 'Raw.PostInteractionCountersStory', - 0x50cd067c: 'Raw.stats.StoryStats', - 0x1f2bf4a: 'Raw.PublicForwardMessage', - 0xedf3add0: 'Raw.PublicForwardStory', - 0x93037e20: 'Raw.stats.PublicForwards', - 0xb54b5acf: 'Raw.PeerColor', - 0x26219a58: 'Raw.help.PeerColorSet', - 0x767d61eb: 'Raw.help.PeerColorProfileSet', - 0xadec6ebe: 'Raw.help.PeerColorOption', - 0x2ba1f5ce: 'Raw.help.PeerColorsNotModified', - 0xf8ed08: 'Raw.help.PeerColors', - 0x6090d6d5: 'Raw.StoryReaction', - 0xbbab2643: 'Raw.StoryReactionPublicForward', - 0xcfcd0f13: 'Raw.StoryReactionPublicRepost', - 0xaa5f789c: 'Raw.stories.StoryReactionsList', - 0xbd87cb6c: 'Raw.SavedDialog', - 0x64407ea7: 'Raw.MonoForumDialog', - 0xf83ae221: 'Raw.messages.SavedDialogs', - 0x44ba9dd9: 'Raw.messages.SavedDialogsSlice', - 0xc01f6fe8: 'Raw.messages.SavedDialogsNotModified', - 0xcb6ff828: 'Raw.SavedReactionTag', - 0x889b59ef: 'Raw.messages.SavedReactionTagsNotModified', - 0x3259950a: 'Raw.messages.SavedReactionTags', - 0x3bb842ac: 'Raw.OutboxReadDate', - 0xdc8b44cf: 'Raw.smsjobs.EligibleToJoin', - 0x2aee9191: 'Raw.smsjobs.Status', - 0xe6a1eeb8: 'Raw.SmsJob', - 0x120b1ab9: 'Raw.BusinessWeeklyOpen', - 0x8c92b098: 'Raw.BusinessWorkHours', - 0xac5c1af7: 'Raw.BusinessLocation', - 0x6f8b32aa: 'Raw.InputBusinessRecipients', - 0x21108ff7: 'Raw.BusinessRecipients', - 0xc9b9e2b9: 'Raw.BusinessAwayMessageScheduleAlways', - 0xc3f2f501: 'Raw.BusinessAwayMessageScheduleOutsideWorkHours', - 0xcc4d9ecc: 'Raw.BusinessAwayMessageScheduleCustom', - 0x194cb3b: 'Raw.InputBusinessGreetingMessage', - 0xe519abab: 'Raw.BusinessGreetingMessage', - 0x832175e0: 'Raw.InputBusinessAwayMessage', - 0xef156a5c: 'Raw.BusinessAwayMessage', - 0xff9289f5: 'Raw.Timezone', - 0x970708cc: 'Raw.help.TimezonesListNotModified', - 0x7b74ed71: 'Raw.help.TimezonesList', - 0x697102b: 'Raw.QuickReply', - 0x24596d41: 'Raw.InputQuickReplyShortcut', - 0x1190cf1: 'Raw.InputQuickReplyShortcutId', - 0xc68d6695: 'Raw.messages.QuickReplies', - 0x5f91eb5b: 'Raw.messages.QuickRepliesNotModified', - 0xcd64636c: 'Raw.ConnectedBot', - 0x17d7f87b: 'Raw.account.ConnectedBots', - 0x2ad93719: 'Raw.messages.DialogFilters', - 0x6c8e1e06: 'Raw.Birthday', - 0x8f34b2f5: 'Raw.BotBusinessConnection', - 0x9c469cd: 'Raw.InputBusinessIntro', - 0x5a0a066d: 'Raw.BusinessIntro', - 0xfaff629d: 'Raw.messages.MyStickers', - 0xe39460a9: 'Raw.InputCollectibleUsername', - 0xa2e214a4: 'Raw.InputCollectiblePhone', - 0x6ebdff91: 'Raw.fragment.CollectibleInfo', - 0xc4e5921e: 'Raw.InputBusinessBotRecipients', - 0xb88cf373: 'Raw.BusinessBotRecipients', - 0x1d998733: 'Raw.ContactBirthday', - 0x114ff30d: 'Raw.contacts.ContactBirthdays', - 0x628c9224: 'Raw.MissingInvitee', - 0x7f5defa6: 'Raw.messages.InvitedUsers', - 0x11679fa7: 'Raw.InputBusinessChatLink', - 0xb4ae666f: 'Raw.BusinessChatLink', - 0xec43a2d1: 'Raw.account.BusinessChatLinks', - 0x9a23af21: 'Raw.account.ResolvedBusinessChatLinks', - 0xd62ff46a: 'Raw.RequestedPeerUser', - 0x7307544f: 'Raw.RequestedPeerChat', - 0x8ba403e4: 'Raw.RequestedPeerChannel', - 0x430d3150: 'Raw.SponsoredMessageReportOption', - 0x846f9e42: 'Raw.channels.SponsoredMessageReportResultChooseOption', - 0x3e3bcf2f: 'Raw.channels.SponsoredMessageReportResultAdsHidden', - 0xad798849: 'Raw.channels.SponsoredMessageReportResultReported', - 0xbac3a61a: 'Raw.ReactionNotificationsFromContacts', - 0x4b9e22a0: 'Raw.ReactionNotificationsFromAll', - 0x56e34970: 'Raw.ReactionsNotifySettings', - 0x93c3e27e: 'Raw.AvailableEffect', - 0xd1ed9a5b: 'Raw.messages.AvailableEffectsNotModified', - 0xbddb616e: 'Raw.messages.AvailableEffects', - 0xb89bfccf: 'Raw.FactCheck', - 0x95f2bfe4: 'Raw.StarsTransactionPeerUnsupported', - 0xb457b375: 'Raw.StarsTransactionPeerAppStore', - 0x7b560a0b: 'Raw.StarsTransactionPeerPlayMarket', - 0x250dbaf8: 'Raw.StarsTransactionPeerPremiumBot', - 0xe92fd902: 'Raw.StarsTransactionPeerFragment', - 0xd80da15d: 'Raw.StarsTransactionPeer', - 0x60682812: 'Raw.StarsTransactionPeerAds', - 0xf9677aad: 'Raw.StarsTransactionPeerAPI', - 0xbd915c0: 'Raw.StarsTopupOption', - 0x13659eb0: 'Raw.StarsTransaction', - 0x6c9ce8ed: 'Raw.payments.StarsStatus', - 0xe87acbc0: 'Raw.FoundStory', - 0xe2de7737: 'Raw.stories.FoundStories', - 0xde4c5d93: 'Raw.GeoPointAddress', - 0xfebe5491: 'Raw.StarsRevenueStatus', - 0x6c207376: 'Raw.payments.StarsRevenueStats', - 0x1dab80b7: 'Raw.payments.StarsRevenueWithdrawalUrl', - 0x394e7f21: 'Raw.payments.StarsRevenueAdsAccountUrl', - 0x206ae6d1: 'Raw.InputStarsTransaction', - 0x5e0589f1: 'Raw.StarsGiftOption', - 0x1991b13b: 'Raw.bots.PopularAppBots', - 0x23e91ba3: 'Raw.BotPreviewMedia', - 0xca71d64: 'Raw.bots.PreviewInfo', - 0x5416d58: 'Raw.StarsSubscriptionPricing', - 0x2e6eab1a: 'Raw.StarsSubscription', - 0x4ba3a95a: 'Raw.MessageReactor', - 0x94ce852a: 'Raw.StarsGiveawayOption', - 0x54236209: 'Raw.StarsGiveawayWinnersOption', - 0x7f853c12: 'Raw.StarGift', - 0xf63778ae: 'Raw.StarGiftUnique', - 0xa388a368: 'Raw.payments.StarGiftsNotModified', - 0x2ed82995: 'Raw.payments.StarGifts', - 0x7903e3d9: 'Raw.MessageReportOption', - 0xf0e4e0b6: 'Raw.ReportResultChooseOption', - 0x6f09ac31: 'Raw.ReportResultAddComment', - 0x8db33c4b: 'Raw.ReportResultReported', - 0x8ecf0511: 'Raw.messages.BotPreparedInlineMessage', - 0xff57708d: 'Raw.messages.PreparedInlineMessage', - 0xc99b1950: 'Raw.BotAppSettings', - 0xdd0c66f2: 'Raw.StarRefProgram', - 0x19a13f71: 'Raw.ConnectedBotStarRef', - 0x98d5ea1d: 'Raw.payments.ConnectedStarRefBots', - 0xb4d5d859: 'Raw.payments.SuggestedStarRefBots', - 0xbbb6b4a3: 'Raw.StarsAmount', - 0x74aee3e0: 'Raw.StarsTonAmount', - 0x6010c534: 'Raw.messages.FoundStickersNotModified', - 0x82c9e290: 'Raw.messages.FoundStickers', - 0xb0cd6617: 'Raw.BotVerifierSettings', - 0xf93cd45c: 'Raw.BotVerification', - 0x39d99013: 'Raw.StarGiftAttributeModel', - 0x13acff19: 'Raw.StarGiftAttributePattern', - 0xd93d859c: 'Raw.StarGiftAttributeBackdrop', - 0xe0bff26c: 'Raw.StarGiftAttributeOriginalDetails', - 0x167bd90b: 'Raw.payments.StarGiftUpgradePreview', - 0x62d706b8: 'Raw.users.Users', - 0x315a4974: 'Raw.users.UsersSlice', - 0xcaa2f60b: 'Raw.payments.UniqueStarGift', - 0xb53e8b21: 'Raw.messages.WebPagePreview', - 0xdfda0499: 'Raw.SavedStarGift', - 0x95f389b1: 'Raw.payments.SavedStarGifts', - 0x69279795: 'Raw.InputSavedStarGiftUser', - 0xf101aa7f: 'Raw.InputSavedStarGiftChat', - 0x2085c238: 'Raw.InputSavedStarGiftSlug', - 0x84aa3a9c: 'Raw.payments.StarGiftWithdrawalUrl', - 0x206ad49e: 'Raw.PaidReactionPrivacyDefault', - 0x1f0c1ad9: 'Raw.PaidReactionPrivacyAnonymous', - 0xdc6cfcf0: 'Raw.PaidReactionPrivacyPeer', - 0x1e109708: 'Raw.account.PaidMessagesRevenue', - 0x50a9839: 'Raw.RequirementToContactEmpty', - 0xe581e4e9: 'Raw.RequirementToContactPremium', - 0xb4f67e93: 'Raw.RequirementToContactPaidMessages', - 0xa0624cf7: 'Raw.BusinessBotRights', - 0x71f276c4: 'Raw.DisallowedGiftsSettings', - 0xc69708d3: 'Raw.SponsoredPeer', - 0xea32b4b1: 'Raw.contacts.SponsoredPeersEmpty', - 0xeb032884: 'Raw.contacts.SponsoredPeers', - 0x48aaae3c: 'Raw.StarGiftAttributeIdModel', - 0x4a162433: 'Raw.StarGiftAttributeIdPattern', - 0x1f01c757: 'Raw.StarGiftAttributeIdBackdrop', - 0x2eb1b658: 'Raw.StarGiftAttributeCounter', - 0x947a12df: 'Raw.payments.ResaleStarGifts', - 0xc387c04e: 'Raw.stories.CanSendStoryCount', - 0xe7e82e12: 'Raw.PendingSuggestion', - 0xcba9a52f: 'Raw.TodoItem', - 0x49b92a26: 'Raw.TodoList', - 0x4cc120b7: 'Raw.TodoCompletion', - 0xe8e37e5: 'Raw.SuggestedPost', - 0xcb9f372d: 'Raw.InvokeAfterMsg', - 0x3dc4b4f0: 'Raw.InvokeAfterMsgs', - 0xc1cd5ea9: 'Raw.InitConnection', - 0xda9b0d0d: 'Raw.InvokeWithLayer', - 0xbf9459b7: 'Raw.InvokeWithoutUpdates', - 0x365275f2: 'Raw.InvokeWithMessagesRange', - 0xaca9fd2e: 'Raw.InvokeWithTakeout', - 0xdd289f8e: 'Raw.InvokeWithBusinessConnection', - 0x1df92984: 'Raw.InvokeWithGooglePlayIntegrity', - 0x0dae54f8: 'Raw.InvokeWithApnsSecret', - 0xadbb0f94: 'Raw.InvokeWithReCaptcha', - 0xa677244f: 'Raw.auth.SendCode', - 0xaac7b717: 'Raw.auth.SignUp', - 0x8d52a951: 'Raw.auth.SignIn', - 0x3e72ba19: 'Raw.auth.LogOut', - 0x9fab0d1a: 'Raw.auth.ResetAuthorizations', - 0xe5bfffcd: 'Raw.auth.ExportAuthorization', - 0xa57a7dad: 'Raw.auth.ImportAuthorization', - 0xcdd42a05: 'Raw.auth.BindTempAuthKey', - 0x67a3ff2c: 'Raw.auth.ImportBotAuthorization', - 0xd18b4d16: 'Raw.auth.CheckPassword', - 0xd897bc66: 'Raw.auth.RequestPasswordRecovery', - 0x37096c70: 'Raw.auth.RecoverPassword', - 0xcae47523: 'Raw.auth.ResendCode', - 0x1f040578: 'Raw.auth.CancelCode', - 0x8e48a188: 'Raw.auth.DropTempAuthKeys', - 0xb7e085fe: 'Raw.auth.ExportLoginToken', - 0x95ac5ce4: 'Raw.auth.ImportLoginToken', - 0xe894ad4d: 'Raw.auth.AcceptLoginToken', - 0xd36bf79: 'Raw.auth.CheckRecoveryPassword', - 0x2db873a9: 'Raw.auth.ImportWebTokenAuthorization', - 0x8e39261e: 'Raw.auth.RequestFirebaseSms', - 0x7e960193: 'Raw.auth.ResetLoginEmail', - 0xcb9deff6: 'Raw.auth.ReportMissingCode', - 0xec86017a: 'Raw.account.RegisterDevice', - 0x6a0d3206: 'Raw.account.UnregisterDevice', - 0x84be5b93: 'Raw.account.UpdateNotifySettings', - 0x12b3ad31: 'Raw.account.GetNotifySettings', - 0xdb7e1747: 'Raw.account.ResetNotifySettings', - 0x78515775: 'Raw.account.UpdateProfile', - 0x6628562c: 'Raw.account.UpdateStatus', - 0x7967d36: 'Raw.account.GetWallPapers', - 0xc5ba3d86: 'Raw.account.ReportPeer', - 0x2714d86c: 'Raw.account.CheckUsername', - 0x3e0bdd7c: 'Raw.account.UpdateUsername', - 0xdadbc950: 'Raw.account.GetPrivacy', - 0xc9f81ce8: 'Raw.account.SetPrivacy', - 0xa2c0cf74: 'Raw.account.DeleteAccount', - 0x8fc711d: 'Raw.account.GetAccountTTL', - 0x2442485e: 'Raw.account.SetAccountTTL', - 0x82574ae5: 'Raw.account.SendChangePhoneCode', - 0x70c32edb: 'Raw.account.ChangePhone', - 0x38df3532: 'Raw.account.UpdateDeviceLocked', - 0xe320c158: 'Raw.account.GetAuthorizations', - 0xdf77f3bc: 'Raw.account.ResetAuthorization', - 0x548a30f5: 'Raw.account.GetPassword', - 0x9cd4eaf9: 'Raw.account.GetPasswordSettings', - 0xa59b102f: 'Raw.account.UpdatePasswordSettings', - 0x1b3faa88: 'Raw.account.SendConfirmPhoneCode', - 0x5f2178c3: 'Raw.account.ConfirmPhone', - 0x449e0b51: 'Raw.account.GetTmpPassword', - 0x182e6d6f: 'Raw.account.GetWebAuthorizations', - 0x2d01b9ef: 'Raw.account.ResetWebAuthorization', - 0x682d2594: 'Raw.account.ResetWebAuthorizations', - 0xb288bc7d: 'Raw.account.GetAllSecureValues', - 0x73665bc2: 'Raw.account.GetSecureValue', - 0x899fe31d: 'Raw.account.SaveSecureValue', - 0xb880bc4b: 'Raw.account.DeleteSecureValue', - 0xa929597a: 'Raw.account.GetAuthorizationForm', - 0xf3ed4c73: 'Raw.account.AcceptAuthorization', - 0xa5a356f9: 'Raw.account.SendVerifyPhoneCode', - 0x4dd3a7f6: 'Raw.account.VerifyPhone', - 0x98e037bb: 'Raw.account.SendVerifyEmailCode', - 0x32da4cf: 'Raw.account.VerifyEmail', - 0x8ef3eab0: 'Raw.account.InitTakeoutSession', - 0x1d2652ee: 'Raw.account.FinishTakeoutSession', - 0x8fdf1920: 'Raw.account.ConfirmPasswordEmail', - 0x7a7f2a15: 'Raw.account.ResendPasswordEmail', - 0xc1cbd5b6: 'Raw.account.CancelPasswordEmail', - 0x9f07c728: 'Raw.account.GetContactSignUpNotification', - 0xcff43f61: 'Raw.account.SetContactSignUpNotification', - 0x53577479: 'Raw.account.GetNotifyExceptions', - 0xfc8ddbea: 'Raw.account.GetWallPaper', - 0xe39a8f03: 'Raw.account.UploadWallPaper', - 0x6c5a5b37: 'Raw.account.SaveWallPaper', - 0xfeed5769: 'Raw.account.InstallWallPaper', - 0xbb3b9804: 'Raw.account.ResetWallPapers', - 0x56da0b3f: 'Raw.account.GetAutoDownloadSettings', - 0x76f36233: 'Raw.account.SaveAutoDownloadSettings', - 0x1c3db333: 'Raw.account.UploadTheme', - 0x652e4400: 'Raw.account.CreateTheme', - 0x2bf40ccc: 'Raw.account.UpdateTheme', - 0xf257106c: 'Raw.account.SaveTheme', - 0xc727bb3b: 'Raw.account.InstallTheme', - 0x3a5869ec: 'Raw.account.GetTheme', - 0x7206e458: 'Raw.account.GetThemes', - 0xb574b16b: 'Raw.account.SetContentSettings', - 0x8b9b4dae: 'Raw.account.GetContentSettings', - 0x65ad71dc: 'Raw.account.GetMultiWallPapers', - 0xeb2b4cf6: 'Raw.account.GetGlobalPrivacySettings', - 0x1edaaac2: 'Raw.account.SetGlobalPrivacySettings', - 0xfa8cc6f5: 'Raw.account.ReportProfilePhoto', - 0x9308ce1b: 'Raw.account.ResetPassword', - 0x4c9409f6: 'Raw.account.DeclinePasswordReset', - 0xd638de89: 'Raw.account.GetChatThemes', - 0xbf899aa0: 'Raw.account.SetAuthorizationTTL', - 0x40f48462: 'Raw.account.ChangeAuthorizationSettings', - 0xe1902288: 'Raw.account.GetSavedRingtones', - 0x3dea5b03: 'Raw.account.SaveRingtone', - 0x831a83a2: 'Raw.account.UploadRingtone', - 0xfbd3de6b: 'Raw.account.UpdateEmojiStatus', - 0xd6753386: 'Raw.account.GetDefaultEmojiStatuses', - 0xf578105: 'Raw.account.GetRecentEmojiStatuses', - 0x18201aae: 'Raw.account.ClearRecentEmojiStatuses', - 0xef500eab: 'Raw.account.ReorderUsernames', - 0x58d6b376: 'Raw.account.ToggleUsername', - 0xe2750328: 'Raw.account.GetDefaultProfilePhotoEmojis', - 0x915860ae: 'Raw.account.GetDefaultGroupPhotoEmojis', - 0xadcbbcda: 'Raw.account.GetAutoSaveSettings', - 0xd69b8361: 'Raw.account.SaveAutoSaveSettings', - 0x53bc0020: 'Raw.account.DeleteAutoSaveExceptions', - 0xca8ae8ba: 'Raw.account.InvalidateSignInCodes', - 0x7cefa15d: 'Raw.account.UpdateColor', - 0xa60ab9ce: 'Raw.account.GetDefaultBackgroundEmojis', - 0x7727a7d5: 'Raw.account.GetChannelDefaultEmojiStatuses', - 0x35a9e0d5: 'Raw.account.GetChannelRestrictedStatusEmojis', - 0x4b00e066: 'Raw.account.UpdateBusinessWorkHours', - 0x9e6b131a: 'Raw.account.UpdateBusinessLocation', - 0x66cdafc4: 'Raw.account.UpdateBusinessGreetingMessage', - 0xa26a7fa5: 'Raw.account.UpdateBusinessAwayMessage', - 0x66a08c7e: 'Raw.account.UpdateConnectedBot', - 0x4ea4c80f: 'Raw.account.GetConnectedBots', - 0x76a86270: 'Raw.account.GetBotBusinessConnection', - 0xa614d034: 'Raw.account.UpdateBusinessIntro', - 0x646e1097: 'Raw.account.ToggleConnectedBotPaused', - 0x5e437ed9: 'Raw.account.DisablePeerConnectedBot', - 0xcc6e0c11: 'Raw.account.UpdateBirthday', - 0x8851e68e: 'Raw.account.CreateBusinessChatLink', - 0x8c3410af: 'Raw.account.EditBusinessChatLink', - 0x60073674: 'Raw.account.DeleteBusinessChatLink', - 0x6f70dde1: 'Raw.account.GetBusinessChatLinks', - 0x5492e5ee: 'Raw.account.ResolveBusinessChatLink', - 0xd94305e0: 'Raw.account.UpdatePersonalChannel', - 0xb9d9a38d: 'Raw.account.ToggleSponsoredMessages', - 0x6dd654c: 'Raw.account.GetReactionsNotifySettings', - 0x316ce548: 'Raw.account.SetReactionsNotifySettings', - 0x2e7b4543: 'Raw.account.GetCollectibleEmojiStatuses', - 0x19ba4a67: 'Raw.account.GetPaidMessagesRevenue', - 0xfe2eda76: 'Raw.account.ToggleNoPaidMessagesException', - 0xd91a548: 'Raw.users.GetUsers', - 0xb60f5918: 'Raw.users.GetFullUser', - 0x90c894b5: 'Raw.users.SetSecureValueErrors', - 0xd89a83a3: 'Raw.users.GetRequirementsToContact', - 0x7adc669d: 'Raw.contacts.GetContactIDs', - 0xc4a353ee: 'Raw.contacts.GetStatuses', - 0x5dd69e12: 'Raw.contacts.GetContacts', - 0x2c800be5: 'Raw.contacts.ImportContacts', - 0x96a0e00: 'Raw.contacts.DeleteContacts', - 0x1013fd9e: 'Raw.contacts.DeleteByPhones', - 0x2e2e8734: 'Raw.contacts.Block', - 0xb550d328: 'Raw.contacts.Unblock', - 0x9a868f80: 'Raw.contacts.GetBlocked', - 0x11f812d8: 'Raw.contacts.Search', - 0x725afbbc: 'Raw.contacts.ResolveUsername', - 0x973478b6: 'Raw.contacts.GetTopPeers', - 0x1ae373ac: 'Raw.contacts.ResetTopPeerRating', - 0x879537f1: 'Raw.contacts.ResetSaved', - 0x82f1e39f: 'Raw.contacts.GetSaved', - 0x8514bdda: 'Raw.contacts.ToggleTopPeers', - 0xe8f463d0: 'Raw.contacts.AddContact', - 0xf831a20f: 'Raw.contacts.AcceptContact', - 0xd348bc44: 'Raw.contacts.GetLocated', - 0x29a8962c: 'Raw.contacts.BlockFromReplies', - 0x8af94344: 'Raw.contacts.ResolvePhone', - 0xf8654027: 'Raw.contacts.ExportContactToken', - 0x13005788: 'Raw.contacts.ImportContactToken', - 0xba6705f0: 'Raw.contacts.EditCloseFriends', - 0x94c65c76: 'Raw.contacts.SetBlocked', - 0xdaeda864: 'Raw.contacts.GetBirthdays', - 0xb6c8c393: 'Raw.contacts.GetSponsoredPeers', - 0x63c66506: 'Raw.messages.GetMessages', - 0xa0f4cb4f: 'Raw.messages.GetDialogs', - 0x4423e6c5: 'Raw.messages.GetHistory', - 0x29ee847a: 'Raw.messages.Search', - 0xe306d3a: 'Raw.messages.ReadHistory', - 0xb08f922a: 'Raw.messages.DeleteHistory', - 0xe58e95d2: 'Raw.messages.DeleteMessages', - 0x5a954c0: 'Raw.messages.ReceivedMessages', - 0x58943ee2: 'Raw.messages.SetTyping', - 0xfe05dc9a: 'Raw.messages.SendMessage', - 0xac55d9c1: 'Raw.messages.SendMedia', - 0x978928ca: 'Raw.messages.ForwardMessages', - 0xcf1592db: 'Raw.messages.ReportSpam', - 0xefd9a6a2: 'Raw.messages.GetPeerSettings', - 0xfc78af9b: 'Raw.messages.Report', - 0x49e9528f: 'Raw.messages.GetChats', - 0xaeb00b34: 'Raw.messages.GetFullChat', - 0x73783ffd: 'Raw.messages.EditChatTitle', - 0x35ddd674: 'Raw.messages.EditChatPhoto', - 0xcbc6d107: 'Raw.messages.AddChatUser', - 0xa2185cab: 'Raw.messages.DeleteChatUser', - 0x92ceddd4: 'Raw.messages.CreateChat', - 0x26cf8950: 'Raw.messages.GetDhConfig', - 0xf64daf43: 'Raw.messages.RequestEncryption', - 0x3dbc0415: 'Raw.messages.AcceptEncryption', - 0xf393aea0: 'Raw.messages.DiscardEncryption', - 0x791451ed: 'Raw.messages.SetEncryptedTyping', - 0x7f4b690a: 'Raw.messages.ReadEncryptedHistory', - 0x44fa7a15: 'Raw.messages.SendEncrypted', - 0x5559481d: 'Raw.messages.SendEncryptedFile', - 0x32d439a4: 'Raw.messages.SendEncryptedService', - 0x55a5bb66: 'Raw.messages.ReceivedQueue', - 0x4b0c8c0f: 'Raw.messages.ReportEncryptedSpam', - 0x36a73f77: 'Raw.messages.ReadMessageContents', - 0xd5a5d3a1: 'Raw.messages.GetStickers', - 0xb8a0a1a8: 'Raw.messages.GetAllStickers', - 0x570d6f6f: 'Raw.messages.GetWebPagePreview', - 0xa455de90: 'Raw.messages.ExportChatInvite', - 0x3eadb1bb: 'Raw.messages.CheckChatInvite', - 0x6c50051c: 'Raw.messages.ImportChatInvite', - 0xc8a0ec74: 'Raw.messages.GetStickerSet', - 0xc78fe460: 'Raw.messages.InstallStickerSet', - 0xf96e55de: 'Raw.messages.UninstallStickerSet', - 0xe6df7378: 'Raw.messages.StartBot', - 0x5784d3e1: 'Raw.messages.GetMessagesViews', - 0xa85bd1c2: 'Raw.messages.EditChatAdmin', - 0xa2875319: 'Raw.messages.MigrateChat', - 0x4bc6589a: 'Raw.messages.SearchGlobal', - 0x78337739: 'Raw.messages.ReorderStickerSets', - 0xb1f2061f: 'Raw.messages.GetDocumentByHash', - 0x5cf09635: 'Raw.messages.GetSavedGifs', - 0x327a30cb: 'Raw.messages.SaveGif', - 0x514e999d: 'Raw.messages.GetInlineBotResults', - 0xbb12a419: 'Raw.messages.SetInlineBotResults', - 0xc0cf7646: 'Raw.messages.SendInlineBotResult', - 0xfda68d36: 'Raw.messages.GetMessageEditData', - 0xdfd14005: 'Raw.messages.EditMessage', - 0x83557dba: 'Raw.messages.EditInlineBotMessage', - 0x9342ca07: 'Raw.messages.GetBotCallbackAnswer', - 0xd58f130a: 'Raw.messages.SetBotCallbackAnswer', - 0xe470bcfd: 'Raw.messages.GetPeerDialogs', - 0x54ae308e: 'Raw.messages.SaveDraft', - 0x6a3f8d65: 'Raw.messages.GetAllDrafts', - 0x64780b14: 'Raw.messages.GetFeaturedStickers', - 0x5b118126: 'Raw.messages.ReadFeaturedStickers', - 0x9da9403b: 'Raw.messages.GetRecentStickers', - 0x392718f8: 'Raw.messages.SaveRecentSticker', - 0x8999602d: 'Raw.messages.ClearRecentStickers', - 0x57f17692: 'Raw.messages.GetArchivedStickers', - 0x640f82b8: 'Raw.messages.GetMaskStickers', - 0xcc5b67cc: 'Raw.messages.GetAttachedStickers', - 0x8ef8ecc0: 'Raw.messages.SetGameScore', - 0x15ad9f64: 'Raw.messages.SetInlineGameScore', - 0xe822649d: 'Raw.messages.GetGameHighScores', - 0xf635e1b: 'Raw.messages.GetInlineGameHighScores', - 0xe40ca104: 'Raw.messages.GetCommonChats', - 0x8d9692a3: 'Raw.messages.GetWebPage', - 0xa731e257: 'Raw.messages.ToggleDialogPin', - 0x3b1adf37: 'Raw.messages.ReorderPinnedDialogs', - 0xd6b94df2: 'Raw.messages.GetPinnedDialogs', - 0xe5f672fa: 'Raw.messages.SetBotShippingResults', - 0x9c2dd95: 'Raw.messages.SetBotPrecheckoutResults', - 0x14967978: 'Raw.messages.UploadMedia', - 0xa1405817: 'Raw.messages.SendScreenshotNotification', - 0x4f1aaa9: 'Raw.messages.GetFavedStickers', - 0xb9ffc55b: 'Raw.messages.FaveSticker', - 0xf107e790: 'Raw.messages.GetUnreadMentions', - 0x36e5bf4d: 'Raw.messages.ReadMentions', - 0x702a40e0: 'Raw.messages.GetRecentLocations', - 0x1bf89d74: 'Raw.messages.SendMultiMedia', - 0x5057c497: 'Raw.messages.UploadEncryptedFile', - 0x35705b8a: 'Raw.messages.SearchStickerSets', - 0x1cff7e08: 'Raw.messages.GetSplitRanges', - 0x8c5006f8: 'Raw.messages.MarkDialogUnread', - 0x21202222: 'Raw.messages.GetDialogUnreadMarks', - 0x7e58ee9c: 'Raw.messages.ClearAllDrafts', - 0xd2aaf7ec: 'Raw.messages.UpdatePinnedMessage', - 0x10ea6184: 'Raw.messages.SendVote', - 0x73bb643b: 'Raw.messages.GetPollResults', - 0x6e2be050: 'Raw.messages.GetOnlines', - 0xdef60797: 'Raw.messages.EditChatAbout', - 0xa5866b41: 'Raw.messages.EditChatDefaultBannedRights', - 0x35a0e062: 'Raw.messages.GetEmojiKeywords', - 0x1508b6af: 'Raw.messages.GetEmojiKeywordsDifference', - 0x4e9963b2: 'Raw.messages.GetEmojiKeywordsLanguages', - 0xd5b10c26: 'Raw.messages.GetEmojiURL', - 0x1bbcf300: 'Raw.messages.GetSearchCounters', - 0x198fb446: 'Raw.messages.RequestUrlAuth', - 0xb12c7125: 'Raw.messages.AcceptUrlAuth', - 0x4facb138: 'Raw.messages.HidePeerSettingsBar', - 0xf516760b: 'Raw.messages.GetScheduledHistory', - 0xbdbb0464: 'Raw.messages.GetScheduledMessages', - 0xbd38850a: 'Raw.messages.SendScheduledMessages', - 0x59ae2b16: 'Raw.messages.DeleteScheduledMessages', - 0xb86e380e: 'Raw.messages.GetPollVotes', - 0xb5052fea: 'Raw.messages.ToggleStickerSets', - 0xefd48c89: 'Raw.messages.GetDialogFilters', - 0xa29cd42c: 'Raw.messages.GetSuggestedDialogFilters', - 0x1ad4a04a: 'Raw.messages.UpdateDialogFilter', - 0xc563c1e4: 'Raw.messages.UpdateDialogFiltersOrder', - 0x7ed094a1: 'Raw.messages.GetOldFeaturedStickers', - 0x22ddd30c: 'Raw.messages.GetReplies', - 0x446972fd: 'Raw.messages.GetDiscussionMessage', - 0xf731a9f4: 'Raw.messages.ReadDiscussion', - 0x62dd747: 'Raw.messages.UnpinAllMessages', - 0x5bd0ee50: 'Raw.messages.DeleteChat', - 0xf9cbe409: 'Raw.messages.DeletePhoneCallHistory', - 0x43fe19f3: 'Raw.messages.CheckHistoryImport', - 0x34090c3b: 'Raw.messages.InitHistoryImport', - 0x2a862092: 'Raw.messages.UploadImportedMedia', - 0xb43df344: 'Raw.messages.StartHistoryImport', - 0xa2b5a3f6: 'Raw.messages.GetExportedChatInvites', - 0x73746f5c: 'Raw.messages.GetExportedChatInvite', - 0xbdca2f75: 'Raw.messages.EditExportedChatInvite', - 0x56987bd5: 'Raw.messages.DeleteRevokedExportedChatInvites', - 0xd464a42b: 'Raw.messages.DeleteExportedChatInvite', - 0x3920e6ef: 'Raw.messages.GetAdminsWithInvites', - 0xdf04dd4e: 'Raw.messages.GetChatInviteImporters', - 0xb80e5fe4: 'Raw.messages.SetHistoryTTL', - 0x5dc60f03: 'Raw.messages.CheckHistoryImportPeer', - 0xe63be13f: 'Raw.messages.SetChatTheme', - 0x31c1c44f: 'Raw.messages.GetMessageReadParticipants', - 0x6aa3f6bd: 'Raw.messages.GetSearchResultsCalendar', - 0x9c7f2f10: 'Raw.messages.GetSearchResultsPositions', - 0x7fe7e815: 'Raw.messages.HideChatJoinRequest', - 0xe085f4ea: 'Raw.messages.HideAllChatJoinRequests', - 0xb11eafa2: 'Raw.messages.ToggleNoForwards', - 0xccfddf96: 'Raw.messages.SaveDefaultSendAs', - 0xd30d78d4: 'Raw.messages.SendReaction', - 0x8bba90e6: 'Raw.messages.GetMessagesReactions', - 0x461b3f48: 'Raw.messages.GetMessageReactionsList', - 0x864b2581: 'Raw.messages.SetChatAvailableReactions', - 0x18dea0ac: 'Raw.messages.GetAvailableReactions', - 0x4f47a016: 'Raw.messages.SetDefaultReaction', - 0x63183030: 'Raw.messages.TranslateText', - 0xbd7f90ac: 'Raw.messages.GetUnreadReactions', - 0x9ec44f93: 'Raw.messages.ReadReactions', - 0x107e31a0: 'Raw.messages.SearchSentMedia', - 0x16fcc2cb: 'Raw.messages.GetAttachMenuBots', - 0x77216192: 'Raw.messages.GetAttachMenuBot', - 0x69f59d69: 'Raw.messages.ToggleBotInAttachMenu', - 0x269dc2c1: 'Raw.messages.RequestWebView', - 0xb0d81a83: 'Raw.messages.ProlongWebView', - 0x413a3e73: 'Raw.messages.RequestSimpleWebView', - 0xa4314f5: 'Raw.messages.SendWebViewResultMessage', - 0xdc0242c8: 'Raw.messages.SendWebViewData', - 0x269e9a49: 'Raw.messages.TranscribeAudio', - 0x7f1d072f: 'Raw.messages.RateTranscribedAudio', - 0xd9ab0f54: 'Raw.messages.GetCustomEmojiDocuments', - 0xfbfca18f: 'Raw.messages.GetEmojiStickers', - 0xecf6736: 'Raw.messages.GetFeaturedEmojiStickers', - 0x3f64c076: 'Raw.messages.ReportReaction', - 0xbb8125ba: 'Raw.messages.GetTopReactions', - 0x39461db2: 'Raw.messages.GetRecentReactions', - 0x9dfeefb4: 'Raw.messages.ClearRecentReactions', - 0x84f80814: 'Raw.messages.GetExtendedMedia', - 0x9eb51445: 'Raw.messages.SetDefaultHistoryTTL', - 0x658b7188: 'Raw.messages.GetDefaultHistoryTTL', - 0x91b2d060: 'Raw.messages.SendBotRequestedPeer', - 0x7488ce5b: 'Raw.messages.GetEmojiGroups', - 0x2ecd56cd: 'Raw.messages.GetEmojiStatusGroups', - 0x21a548f3: 'Raw.messages.GetEmojiProfilePhotoGroups', - 0x2c11c0d7: 'Raw.messages.SearchCustomEmoji', - 0xe47cb579: 'Raw.messages.TogglePeerTranslations', - 0x34fdc5c3: 'Raw.messages.GetBotApp', - 0x53618bce: 'Raw.messages.RequestAppWebView', - 0x8ffacae1: 'Raw.messages.SetChatWallPaper', - 0x92b4494c: 'Raw.messages.SearchEmojiStickerSets', - 0x1e91fc99: 'Raw.messages.GetSavedDialogs', - 0x998ab009: 'Raw.messages.GetSavedHistory', - 0x4dc5085f: 'Raw.messages.DeleteSavedHistory', - 0xd63d94e0: 'Raw.messages.GetPinnedSavedDialogs', - 0xac81bbde: 'Raw.messages.ToggleSavedDialogPin', - 0x8b716587: 'Raw.messages.ReorderPinnedSavedDialogs', - 0x3637e05b: 'Raw.messages.GetSavedReactionTags', - 0x60297dec: 'Raw.messages.UpdateSavedReactionTag', - 0xbdf93428: 'Raw.messages.GetDefaultTagReactions', - 0x8c4bfe5d: 'Raw.messages.GetOutboxReadDate', - 0xd483f2a8: 'Raw.messages.GetQuickReplies', - 0x60331907: 'Raw.messages.ReorderQuickReplies', - 0xf1d0fbd3: 'Raw.messages.CheckQuickReplyShortcut', - 0x5c003cef: 'Raw.messages.EditQuickReplyShortcut', - 0x3cc04740: 'Raw.messages.DeleteQuickReplyShortcut', - 0x94a495c3: 'Raw.messages.GetQuickReplyMessages', - 0x6c750de1: 'Raw.messages.SendQuickReplyMessages', - 0xe105e910: 'Raw.messages.DeleteQuickReplyMessages', - 0xfd2dda49: 'Raw.messages.ToggleDialogFilterTags', - 0xd0b5e1fc: 'Raw.messages.GetMyStickers', - 0x1dd840f5: 'Raw.messages.GetEmojiStickerGroups', - 0xdea20a39: 'Raw.messages.GetAvailableEffects', - 0x589ee75: 'Raw.messages.EditFactCheck', - 0xd1da940c: 'Raw.messages.DeleteFactCheck', - 0xb9cdc5ee: 'Raw.messages.GetFactCheck', - 0xc9e01e7b: 'Raw.messages.RequestMainWebView', - 0x58bbcb50: 'Raw.messages.SendPaidReaction', - 0x435885b5: 'Raw.messages.TogglePaidReactionPrivacy', - 0x472455aa: 'Raw.messages.GetPaidReactionPrivacy', - 0x269e3643: 'Raw.messages.ViewSponsoredMessage', - 0x8235057e: 'Raw.messages.ClickSponsoredMessage', - 0x12cbf0c4: 'Raw.messages.ReportSponsoredMessage', - 0x3d6ce850: 'Raw.messages.GetSponsoredMessages', - 0xf21f7f2f: 'Raw.messages.SavePreparedInlineMessage', - 0x857ebdb8: 'Raw.messages.GetPreparedInlineMessage', - 0x29b1c66a: 'Raw.messages.SearchStickers', - 0x5a6d7395: 'Raw.messages.ReportMessagesDelivery', - 0x6f6f9c96: 'Raw.messages.GetSavedDialogsByID', - 0xba4a3b5b: 'Raw.messages.ReadSavedHistory', - 0xd3e03124: 'Raw.messages.ToggleTodoCompleted', - 0x21a61057: 'Raw.messages.AppendTodoList', - 0x8107455c: 'Raw.messages.ToggleSuggestedPostApproval', - 0xedd4882a: 'Raw.updates.GetState', - 0x19c2f763: 'Raw.updates.GetDifference', - 0x3173d78: 'Raw.updates.GetChannelDifference', - 0x9e82039: 'Raw.photos.UpdateProfilePhoto', - 0x388a3b5: 'Raw.photos.UploadProfilePhoto', - 0x87cf7f2f: 'Raw.photos.DeletePhotos', - 0x91cd32a8: 'Raw.photos.GetUserPhotos', - 0xe14c4a71: 'Raw.photos.UploadContactProfilePhoto', - 0xb304a621: 'Raw.upload.SaveFilePart', - 0xbe5335be: 'Raw.upload.GetFile', - 0xde7b673d: 'Raw.upload.SaveBigFilePart', - 0x24e6818d: 'Raw.upload.GetWebFile', - 0x395f69da: 'Raw.upload.GetCdnFile', - 0x9b2754a8: 'Raw.upload.ReuploadCdnFile', - 0x91dc3f31: 'Raw.upload.GetCdnFileHashes', - 0x9156982a: 'Raw.upload.GetFileHashes', - 0xc4f9186b: 'Raw.help.GetConfig', - 0x1fb33026: 'Raw.help.GetNearestDc', - 0x522d5a7d: 'Raw.help.GetAppUpdate', - 0x4d392343: 'Raw.help.GetInviteText', - 0x9cdf08cd: 'Raw.help.GetSupport', - 0xec22cfcd: 'Raw.help.SetBotUpdatesStatus', - 0x52029342: 'Raw.help.GetCdnConfig', - 0x3dc0f114: 'Raw.help.GetRecentMeUrls', - 0x2ca51fd1: 'Raw.help.GetTermsOfServiceUpdate', - 0xee72f79a: 'Raw.help.AcceptTermsOfService', - 0x3fedc75f: 'Raw.help.GetDeepLinkInfo', - 0x61e3f854: 'Raw.help.GetAppConfig', - 0x6f02f748: 'Raw.help.SaveAppLog', - 0xc661ad08: 'Raw.help.GetPassportConfig', - 0xd360e72c: 'Raw.help.GetSupportName', - 0x38a08d3: 'Raw.help.GetUserInfo', - 0x66b91b70: 'Raw.help.EditUserInfo', - 0xc0977421: 'Raw.help.GetPromoData', - 0x1e251c95: 'Raw.help.HidePromoData', - 0xf50dbaa1: 'Raw.help.DismissSuggestion', - 0x735787a8: 'Raw.help.GetCountriesList', - 0xb81b93d4: 'Raw.help.GetPremiumPromo', - 0xda80f42f: 'Raw.help.GetPeerColors', - 0xabcfa9fd: 'Raw.help.GetPeerProfileColors', - 0x49b30240: 'Raw.help.GetTimezonesList', - 0xcc104937: 'Raw.channels.ReadHistory', - 0x84c1fd4e: 'Raw.channels.DeleteMessages', - 0xf44a8315: 'Raw.channels.ReportSpam', - 0xad8c9a23: 'Raw.channels.GetMessages', - 0x77ced9d0: 'Raw.channels.GetParticipants', - 0xa0ab6cc6: 'Raw.channels.GetParticipant', - 0xa7f6bbb: 'Raw.channels.GetChannels', - 0x8736a09: 'Raw.channels.GetFullChannel', - 0x91006707: 'Raw.channels.CreateChannel', - 0xd33c8902: 'Raw.channels.EditAdmin', - 0x566decd0: 'Raw.channels.EditTitle', - 0xf12e57c9: 'Raw.channels.EditPhoto', - 0x10e6bd2c: 'Raw.channels.CheckUsername', - 0x3514b3de: 'Raw.channels.UpdateUsername', - 0x24b524c5: 'Raw.channels.JoinChannel', - 0xf836aa95: 'Raw.channels.LeaveChannel', - 0xc9e33d54: 'Raw.channels.InviteToChannel', - 0xc0111fe3: 'Raw.channels.DeleteChannel', - 0xe63fadeb: 'Raw.channels.ExportMessageLink', - 0x418d549c: 'Raw.channels.ToggleSignatures', - 0xf8b036af: 'Raw.channels.GetAdminedPublicChannels', - 0x96e6cd81: 'Raw.channels.EditBanned', - 0x33ddf480: 'Raw.channels.GetAdminLog', - 0xea8ca4f9: 'Raw.channels.SetStickers', - 0xeab5dc38: 'Raw.channels.ReadMessageContents', - 0x9baa9647: 'Raw.channels.DeleteHistory', - 0xeabbb94c: 'Raw.channels.TogglePreHistoryHidden', - 0x8341ecc0: 'Raw.channels.GetLeftChannels', - 0xf5dad378: 'Raw.channels.GetGroupsForDiscussion', - 0x40582bb2: 'Raw.channels.SetDiscussionGroup', - 0x8f38cd1f: 'Raw.channels.EditCreator', - 0x58e63f6d: 'Raw.channels.EditLocation', - 0xedd49ef0: 'Raw.channels.ToggleSlowMode', - 0x11e831ee: 'Raw.channels.GetInactiveChannels', - 0xb290c69: 'Raw.channels.ConvertToGigagroup', - 0xe785a43f: 'Raw.channels.GetSendAs', - 0x367544db: 'Raw.channels.DeleteParticipantHistory', - 0xe4cb9580: 'Raw.channels.ToggleJoinToSend', - 0x4c2985b6: 'Raw.channels.ToggleJoinRequest', - 0xb45ced1d: 'Raw.channels.ReorderUsernames', - 0x50f24105: 'Raw.channels.ToggleUsername', - 0xa245dd3: 'Raw.channels.DeactivateAllUsernames', - 0x3ff75734: 'Raw.channels.ToggleForum', - 0xf40c0224: 'Raw.channels.CreateForumTopic', - 0xde560d1: 'Raw.channels.GetForumTopics', - 0xb0831eb9: 'Raw.channels.GetForumTopicsByID', - 0xf4dfa185: 'Raw.channels.EditForumTopic', - 0x6c2d9026: 'Raw.channels.UpdatePinnedForumTopic', - 0x34435f2d: 'Raw.channels.DeleteTopicHistory', - 0x2950a18f: 'Raw.channels.ReorderPinnedForumTopics', - 0x68f3e4eb: 'Raw.channels.ToggleAntiSpam', - 0xa850a693: 'Raw.channels.ReportAntiSpamFalsePositive', - 0x6a6e7854: 'Raw.channels.ToggleParticipantsHidden', - 0xd8aa3671: 'Raw.channels.UpdateColor', - 0x9738bb15: 'Raw.channels.ToggleViewForumAsMessages', - 0x25a71742: 'Raw.channels.GetChannelRecommendations', - 0xf0d3e6a8: 'Raw.channels.UpdateEmojiStatus', - 0xad399cee: 'Raw.channels.SetBoostsToUnblockRestrictions', - 0x3cd930b7: 'Raw.channels.SetEmojiStickers', - 0x9ae91519: 'Raw.channels.RestrictSponsoredMessages', - 0xd19f987b: 'Raw.channels.SearchPosts', - 0x4b12327b: 'Raw.channels.UpdatePaidMessagesPrice', - 0x167fc0a1: 'Raw.channels.ToggleAutotranslation', - 0xece2a0e6: 'Raw.channels.GetMessageAuthor', - 0xaa2769ed: 'Raw.bots.SendCustomRequest', - 0xe6213f4d: 'Raw.bots.AnswerWebhookJSONQuery', - 0x517165a: 'Raw.bots.SetBotCommands', - 0x3d8de0f9: 'Raw.bots.ResetBotCommands', - 0xe34c0dd6: 'Raw.bots.GetBotCommands', - 0x4504d54f: 'Raw.bots.SetBotMenuButton', - 0x9c60eb28: 'Raw.bots.GetBotMenuButton', - 0x788464e1: 'Raw.bots.SetBotBroadcastDefaultAdminRights', - 0x925ec9ea: 'Raw.bots.SetBotGroupDefaultAdminRights', - 0x10cf3123: 'Raw.bots.SetBotInfo', - 0xdcd914fd: 'Raw.bots.GetBotInfo', - 0x9709b1c2: 'Raw.bots.ReorderUsernames', - 0x53ca973: 'Raw.bots.ToggleUsername', - 0x1359f4e6: 'Raw.bots.CanSendMessage', - 0xf132e3ef: 'Raw.bots.AllowSendMessage', - 0x87fc5e7: 'Raw.bots.InvokeWebViewCustomMethod', - 0xc2510192: 'Raw.bots.GetPopularAppBots', - 0x17aeb75a: 'Raw.bots.AddPreviewMedia', - 0x8525606f: 'Raw.bots.EditPreviewMedia', - 0x2d0135b3: 'Raw.bots.DeletePreviewMedia', - 0xb627f3aa: 'Raw.bots.ReorderPreviewMedias', - 0x423ab3ad: 'Raw.bots.GetPreviewInfo', - 0xa2a5594d: 'Raw.bots.GetPreviewMedias', - 0xed9f30c5: 'Raw.bots.UpdateUserEmojiStatus', - 0x6de6392: 'Raw.bots.ToggleUserEmojiStatusPermission', - 0x50077589: 'Raw.bots.CheckDownloadFileParams', - 0xb0711d83: 'Raw.bots.GetAdminedBots', - 0x778b5ab3: 'Raw.bots.UpdateStarRefProgram', - 0x8b89dfbd: 'Raw.bots.SetCustomVerification', - 0xa1b70815: 'Raw.bots.GetBotRecommendations', - 0x37148dbb: 'Raw.payments.GetPaymentForm', - 0x2478d1cc: 'Raw.payments.GetPaymentReceipt', - 0xb6c8f12b: 'Raw.payments.ValidateRequestedInfo', - 0x2d03522f: 'Raw.payments.SendPaymentForm', - 0x227d824b: 'Raw.payments.GetSavedInfo', - 0xd83d70c1: 'Raw.payments.ClearSavedInfo', - 0x2e79d779: 'Raw.payments.GetBankCardData', - 0xf91b065: 'Raw.payments.ExportInvoice', - 0x80ed747d: 'Raw.payments.AssignAppStoreTransaction', - 0xdffd50d3: 'Raw.payments.AssignPlayMarketTransaction', - 0x2757ba54: 'Raw.payments.GetPremiumGiftCodeOptions', - 0x8e51b4c1: 'Raw.payments.CheckGiftCode', - 0xf6e26854: 'Raw.payments.ApplyGiftCode', - 0xf4239425: 'Raw.payments.GetGiveawayInfo', - 0x5ff58f20: 'Raw.payments.LaunchPrepaidGiveaway', - 0xc00ec7d3: 'Raw.payments.GetStarsTopupOptions', - 0x4ea9b3bf: 'Raw.payments.GetStarsStatus', - 0x69da4557: 'Raw.payments.GetStarsTransactions', - 0x7998c914: 'Raw.payments.SendStarsForm', - 0x25ae8f4a: 'Raw.payments.RefundStarsCharge', - 0xd91ffad6: 'Raw.payments.GetStarsRevenueStats', - 0x2433dc92: 'Raw.payments.GetStarsRevenueWithdrawalUrl', - 0xd1d7efc5: 'Raw.payments.GetStarsRevenueAdsAccountUrl', - 0x2dca16b8: 'Raw.payments.GetStarsTransactionsByID', - 0xd3c96bc8: 'Raw.payments.GetStarsGiftOptions', - 0x32512c5: 'Raw.payments.GetStarsSubscriptions', - 0xc7770878: 'Raw.payments.ChangeStarsSubscription', - 0xcc5bebb3: 'Raw.payments.FulfillStarsSubscription', - 0xbd1efd3e: 'Raw.payments.GetStarsGiveawayOptions', - 0xc4563590: 'Raw.payments.GetStarGifts', - 0x2a2a697c: 'Raw.payments.SaveStarGift', - 0x74bf076b: 'Raw.payments.ConvertStarGift', - 0x6dfa0622: 'Raw.payments.BotCancelStarsSubscription', - 0x5869a553: 'Raw.payments.GetConnectedStarRefBots', - 0xb7d998f0: 'Raw.payments.GetConnectedStarRefBot', - 0xd6b48f7: 'Raw.payments.GetSuggestedStarRefBots', - 0x7ed5348a: 'Raw.payments.ConnectStarRefBot', - 0xe4fca4a3: 'Raw.payments.EditConnectedStarRefBot', - 0x9c9abcb1: 'Raw.payments.GetStarGiftUpgradePreview', - 0xaed6e4f5: 'Raw.payments.UpgradeStarGift', - 0x7f18176a: 'Raw.payments.TransferStarGift', - 0xa1974d72: 'Raw.payments.GetUniqueStarGift', - 0x23830de9: 'Raw.payments.GetSavedStarGifts', - 0xb455a106: 'Raw.payments.GetSavedStarGift', - 0xd06e93a8: 'Raw.payments.GetStarGiftWithdrawalUrl', - 0x60eaefa1: 'Raw.payments.ToggleChatStarGiftNotifications', - 0x1513e7b0: 'Raw.payments.ToggleStarGiftsPinnedToTop', - 0x4fdc5ea7: 'Raw.payments.CanPurchaseStore', - 0x7a5fa236: 'Raw.payments.GetResaleStarGifts', - 0x3baea4e1: 'Raw.payments.UpdateStarGiftPrice', - 0x9021ab67: 'Raw.stickers.CreateStickerSet', - 0xf7760f51: 'Raw.stickers.RemoveStickerFromSet', - 0xffb6d4ca: 'Raw.stickers.ChangeStickerPosition', - 0x8653febe: 'Raw.stickers.AddStickerToSet', - 0xa76a5392: 'Raw.stickers.SetStickerSetThumb', - 0x284b3639: 'Raw.stickers.CheckShortName', - 0x4dafc503: 'Raw.stickers.SuggestShortName', - 0xf5537ebc: 'Raw.stickers.ChangeSticker', - 0x124b1c00: 'Raw.stickers.RenameStickerSet', - 0x87704394: 'Raw.stickers.DeleteStickerSet', - 0x4696459a: 'Raw.stickers.ReplaceSticker', - 0x55451fa9: 'Raw.phone.GetCallConfig', - 0x42ff96ed: 'Raw.phone.RequestCall', - 0x3bd2b4a0: 'Raw.phone.AcceptCall', - 0x2efe1722: 'Raw.phone.ConfirmCall', - 0x17d54f61: 'Raw.phone.ReceivedCall', - 0xb2cbc1c0: 'Raw.phone.DiscardCall', - 0x59ead627: 'Raw.phone.SetCallRating', - 0x277add7e: 'Raw.phone.SaveCallDebug', - 0xff7a9383: 'Raw.phone.SendSignalingData', - 0x48cdc6d8: 'Raw.phone.CreateGroupCall', - 0x8fb53057: 'Raw.phone.JoinGroupCall', - 0x500377f9: 'Raw.phone.LeaveGroupCall', - 0x7b393160: 'Raw.phone.InviteToGroupCall', - 0x7a777135: 'Raw.phone.DiscardGroupCall', - 0x74bbb43d: 'Raw.phone.ToggleGroupCallSettings', - 0x41845db: 'Raw.phone.GetGroupCall', - 0xc558d8ab: 'Raw.phone.GetGroupParticipants', - 0xb59cf977: 'Raw.phone.CheckGroupCall', - 0xf128c708: 'Raw.phone.ToggleGroupCallRecord', - 0xa5273abf: 'Raw.phone.EditGroupCallParticipant', - 0x1ca6ac0a: 'Raw.phone.EditGroupCallTitle', - 0xef7c213a: 'Raw.phone.GetGroupCallJoinAs', - 0xe6aa647f: 'Raw.phone.ExportGroupCallInvite', - 0x219c34e6: 'Raw.phone.ToggleGroupCallStartSubscription', - 0x5680e342: 'Raw.phone.StartScheduledGroupCall', - 0x575e1f8c: 'Raw.phone.SaveDefaultGroupCallJoinAs', - 0xcbea6bc4: 'Raw.phone.JoinGroupCallPresentation', - 0x1c50d144: 'Raw.phone.LeaveGroupCallPresentation', - 0x1ab21940: 'Raw.phone.GetGroupCallStreamChannels', - 0xdeb3abbf: 'Raw.phone.GetGroupCallStreamRtmpUrl', - 0x41248786: 'Raw.phone.SaveCallLog', - 0x7d0444bb: 'Raw.phone.CreateConferenceCall', - 0x8ca60525: 'Raw.phone.DeleteConferenceCallParticipants', - 0xc6701900: 'Raw.phone.SendConferenceCallBroadcast', - 0xbcf22685: 'Raw.phone.InviteConferenceCallParticipant', - 0x3c479971: 'Raw.phone.DeclineConferenceCallInvite', - 0xee9f88a6: 'Raw.phone.GetGroupCallChainBlocks', - 0xf2f2330a: 'Raw.langpack.GetLangPack', - 0xefea3803: 'Raw.langpack.GetStrings', - 0xcd984aa5: 'Raw.langpack.GetDifference', - 0x42c6978f: 'Raw.langpack.GetLanguages', - 0x6a596502: 'Raw.langpack.GetLanguage', - 0x6847d0ab: 'Raw.folders.EditPeerFolders', - 0xab42441a: 'Raw.stats.GetBroadcastStats', - 0x621d5fa0: 'Raw.stats.LoadAsyncGraph', - 0xdcdf8607: 'Raw.stats.GetMegagroupStats', - 0x5f150144: 'Raw.stats.GetMessagePublicForwards', - 0xb6e0a3f5: 'Raw.stats.GetMessageStats', - 0x374fef40: 'Raw.stats.GetStoryStats', - 0xa6437ef6: 'Raw.stats.GetStoryPublicForwards', - 0x8472478e: 'Raw.chatlists.ExportChatlistInvite', - 0x719c5c5e: 'Raw.chatlists.DeleteExportedInvite', - 0x653db63d: 'Raw.chatlists.EditExportedInvite', - 0xce03da83: 'Raw.chatlists.GetExportedInvites', - 0x41c10fff: 'Raw.chatlists.CheckChatlistInvite', - 0xa6b1e39a: 'Raw.chatlists.JoinChatlistInvite', - 0x89419521: 'Raw.chatlists.GetChatlistUpdates', - 0xe089f8f5: 'Raw.chatlists.JoinChatlistUpdates', - 0x66e486fb: 'Raw.chatlists.HideChatlistUpdates', - 0xfdbcd714: 'Raw.chatlists.GetLeaveChatlistSuggestions', - 0x74fae13a: 'Raw.chatlists.LeaveChatlist', - 0x30eb63f0: 'Raw.stories.CanSendStory', - 0xe4e6694b: 'Raw.stories.SendStory', - 0xb583ba46: 'Raw.stories.EditStory', - 0xae59db5f: 'Raw.stories.DeleteStories', - 0x9a75a1ef: 'Raw.stories.TogglePinned', - 0xeeb0d625: 'Raw.stories.GetAllStories', - 0x5821a5dc: 'Raw.stories.GetPinnedStories', - 0xb4352016: 'Raw.stories.GetStoriesArchive', - 0x5774ca74: 'Raw.stories.GetStoriesByID', - 0x7c2557c4: 'Raw.stories.ToggleAllStoriesHidden', - 0xa556dac8: 'Raw.stories.ReadStories', - 0xb2028afb: 'Raw.stories.IncrementStoryViews', - 0x7ed23c57: 'Raw.stories.GetStoryViewsList', - 0x28e16cc8: 'Raw.stories.GetStoriesViews', - 0x7b8def20: 'Raw.stories.ExportStoryLink', - 0x19d8eb45: 'Raw.stories.Report', - 0x57bbd166: 'Raw.stories.ActivateStealthMode', - 0x7fd736b2: 'Raw.stories.SendReaction', - 0x2c4ada50: 'Raw.stories.GetPeerStories', - 0x9b5ae7f9: 'Raw.stories.GetAllReadPeerStories', - 0x535983c3: 'Raw.stories.GetPeerMaxIDs', - 0xa56a8b60: 'Raw.stories.GetChatsToSend', - 0xbd0415c4: 'Raw.stories.TogglePeerStoriesHidden', - 0xb9b2881f: 'Raw.stories.GetStoryReactionsList', - 0xb297e9b: 'Raw.stories.TogglePinnedToTop', - 0xd1810907: 'Raw.stories.SearchPosts', - 0x60f67660: 'Raw.premium.GetBoostsList', - 0xbe77b4a: 'Raw.premium.GetMyBoosts', - 0x6b7da746: 'Raw.premium.ApplyBoost', - 0x42f1f61: 'Raw.premium.GetBoostsStatus', - 0x39854d1f: 'Raw.premium.GetUserBoosts', - 0xedc39d0: 'Raw.smsjobs.IsEligibleToJoin', - 0xa74ece2d: 'Raw.smsjobs.Join', - 0x9898ad73: 'Raw.smsjobs.Leave', - 0x93fa0bf: 'Raw.smsjobs.UpdateSettings', - 0x10a698e8: 'Raw.smsjobs.GetStatus', - 0x778d902f: 'Raw.smsjobs.GetSmsJob', - 0x4f1ebf24: 'Raw.smsjobs.FinishJob', - 0xbe1e85ba: 'Raw.fragment.GetCollectibleInfo', - 0x1f814f1f: 'Raw.DecryptedMessage8', - 0xaa48327d: 'Raw.DecryptedMessageService8', - 0x89f5c4a: 'Raw.DecryptedMessageMediaEmpty8', - 0x32798a8c: 'Raw.DecryptedMessageMediaPhoto8', - 0x4cee6ef3: 'Raw.DecryptedMessageMediaVideo8', - 0x35480a59: 'Raw.DecryptedMessageMediaGeoPoint8', - 0x588a0a97: 'Raw.DecryptedMessageMediaContact8', - 0xa1733aec: 'Raw.DecryptedMessageActionSetMessageTTL8', - 0xb095434b: 'Raw.DecryptedMessageMediaDocument8', - 0x6080758f: 'Raw.DecryptedMessageMediaAudio8', - 0xc4f40be: 'Raw.DecryptedMessageActionReadMessages8', - 0x65614304: 'Raw.DecryptedMessageActionDeleteMessages8', - 0x8ac1f475: 'Raw.DecryptedMessageActionScreenshotMessages8', - 0x6719e45c: 'Raw.DecryptedMessageActionFlushHistory8', - 0x204d3878: 'Raw.DecryptedMessage17', - 0x73164160: 'Raw.DecryptedMessageService17', - 0x524a415d: 'Raw.DecryptedMessageMediaVideo17', - 0x57e0a9cb: 'Raw.DecryptedMessageMediaAudio17', - 0x1be31789: 'Raw.DecryptedMessageLayer17', - 0x92042ff7: 'Raw.SendMessageUploadVideoAction17', - 0xe6ac8a6f: 'Raw.SendMessageUploadAudioAction17', - 0x990a3c1a: 'Raw.SendMessageUploadPhotoAction17', - 0x8faee98e: 'Raw.SendMessageUploadDocumentAction17', - 0x511110b0: 'Raw.DecryptedMessageActionResend17', - 0xf3048883: 'Raw.DecryptedMessageActionNotifyLayer17', - 0xccb27641: 'Raw.DecryptedMessageActionTyping17', - 0xf3c9611b: 'Raw.DecryptedMessageActionRequestKey20', - 0x6fe1735b: 'Raw.DecryptedMessageActionAcceptKey20', - 0xdd05ec6b: 'Raw.DecryptedMessageActionAbortKey20', - 0xec2e0b9b: 'Raw.DecryptedMessageActionCommitKey20', - 0xa82fdd63: 'Raw.DecryptedMessageActionNoop20', - 0xfb0a5727: 'Raw.DocumentAttributeSticker23', - 0x5910cccb: 'Raw.DocumentAttributeVideo23', - 0x51448e5: 'Raw.DocumentAttributeAudio23', - 0x77bfb61b: 'Raw.PhotoSize23', - 0xe9a734fa: 'Raw.PhotoCachedSize23', - 0x7c596b46: 'Raw.FileLocationUnavailable23', - 0x53d69076: 'Raw.FileLocation23', - 0xfa95b0dd: 'Raw.DecryptedMessageMediaExternalDocument23', - 0x36b091de: 'Raw.DecryptedMessage45', - 0xf1fa8d78: 'Raw.DecryptedMessageMediaPhoto45', - 0x970c8c0e: 'Raw.DecryptedMessageMediaVideo45', - 0x7afe8ae2: 'Raw.DecryptedMessageMediaDocument45', - 0x3a556302: 'Raw.DocumentAttributeSticker45', - 0xded218e0: 'Raw.DocumentAttributeAudio45', - 0x8a0df56f: 'Raw.DecryptedMessageMediaVenue45', - 0xe50511d8: 'Raw.DecryptedMessageMediaWebPage45', - 0xef02ce6: 'Raw.DocumentAttributeVideo66', - 0xbb718624: 'Raw.SendMessageUploadRoundAction66', - 0x91cc4674: 'Raw.DecryptedMessage73', - 0x20df5d0: 'Raw.MessageEntityBlockquote101', - 0x6abd9782: 'Raw.DecryptedMessageMediaDocument143', -}; diff --git a/src/raw/Raw.ts b/src/raw/Raw.ts deleted file mode 100644 index 5787f1677..000000000 --- a/src/raw/Raw.ts +++ /dev/null @@ -1,124976 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -/*********************************************************** - * Warning!! * - * This file is auto generate. * - * All change made in this file will be lost! * - ***********************************************************/ -import { TLObject, BytesIO, Primitive, type UpdateSecretChatMessage } from './core/index.ts'; -import { Buffer } from '../platform.deno.ts'; - -/** - * This is a telegram schema, so you can see the documentation in https://core.telegram.org/schema. - * All schema wrapped in Raw namespace. - */ -export namespace Raw { - export type X = TLObject; - export type Type = TLObject; - export type Bool = boolean; - export type int = number; - export type double = number; - export type float = number; - export type int128 = bigint; - export type int256 = bigint; - export type long = bigint; - export type bytes = Buffer; - export type Vector = Array; - /** - * The Telegram layer we using. - */ - export const Layer: number = 207; - /** - * The highest telegram secret chat schema layer. - */ - export const HighestSCLayer: number = 144; - // Start telegram schema - - export type TypesTLRequest = - | Raw.ReqPq - | Raw.ReqPqMulti - | Raw.ReqDhParams - | Raw.SetClientDhParams - | Raw.DestroyAuthKey - | Raw.RpcDropAnswer - | Raw.GetFutureSalts - | Raw.Ping - | Raw.PingDelayDisconnect - | Raw.DestroySession - | Raw.InvokeAfterMsg - | Raw.InvokeAfterMsgs - | Raw.InitConnection - | Raw.InvokeWithLayer - | Raw.InvokeWithoutUpdates - | Raw.InvokeWithMessagesRange - | Raw.InvokeWithTakeout - | Raw.InvokeWithBusinessConnection - | Raw.InvokeWithGooglePlayIntegrity - | Raw.InvokeWithApnsSecret - | Raw.InvokeWithReCaptcha - | Raw.auth.SendCode - | Raw.auth.SignUp - | Raw.auth.SignIn - | Raw.auth.LogOut - | Raw.auth.ResetAuthorizations - | Raw.auth.ExportAuthorization - | Raw.auth.ImportAuthorization - | Raw.auth.BindTempAuthKey - | Raw.auth.ImportBotAuthorization - | Raw.auth.CheckPassword - | Raw.auth.RequestPasswordRecovery - | Raw.auth.RecoverPassword - | Raw.auth.ResendCode - | Raw.auth.CancelCode - | Raw.auth.DropTempAuthKeys - | Raw.auth.ExportLoginToken - | Raw.auth.ImportLoginToken - | Raw.auth.AcceptLoginToken - | Raw.auth.CheckRecoveryPassword - | Raw.auth.ImportWebTokenAuthorization - | Raw.auth.RequestFirebaseSms - | Raw.auth.ResetLoginEmail - | Raw.auth.ReportMissingCode - | Raw.account.RegisterDevice - | Raw.account.UnregisterDevice - | Raw.account.UpdateNotifySettings - | Raw.account.GetNotifySettings - | Raw.account.ResetNotifySettings - | Raw.account.UpdateProfile - | Raw.account.UpdateStatus - | Raw.account.GetWallPapers - | Raw.account.ReportPeer - | Raw.account.CheckUsername - | Raw.account.UpdateUsername - | Raw.account.GetPrivacy - | Raw.account.SetPrivacy - | Raw.account.DeleteAccount - | Raw.account.GetAccountTTL - | Raw.account.SetAccountTTL - | Raw.account.SendChangePhoneCode - | Raw.account.ChangePhone - | Raw.account.UpdateDeviceLocked - | Raw.account.GetAuthorizations - | Raw.account.ResetAuthorization - | Raw.account.GetPassword - | Raw.account.GetPasswordSettings - | Raw.account.UpdatePasswordSettings - | Raw.account.SendConfirmPhoneCode - | Raw.account.ConfirmPhone - | Raw.account.GetTmpPassword - | Raw.account.GetWebAuthorizations - | Raw.account.ResetWebAuthorization - | Raw.account.ResetWebAuthorizations - | Raw.account.GetAllSecureValues - | Raw.account.GetSecureValue - | Raw.account.SaveSecureValue - | Raw.account.DeleteSecureValue - | Raw.account.GetAuthorizationForm - | Raw.account.AcceptAuthorization - | Raw.account.SendVerifyPhoneCode - | Raw.account.VerifyPhone - | Raw.account.SendVerifyEmailCode - | Raw.account.VerifyEmail - | Raw.account.InitTakeoutSession - | Raw.account.FinishTakeoutSession - | Raw.account.ConfirmPasswordEmail - | Raw.account.ResendPasswordEmail - | Raw.account.CancelPasswordEmail - | Raw.account.GetContactSignUpNotification - | Raw.account.SetContactSignUpNotification - | Raw.account.GetNotifyExceptions - | Raw.account.GetWallPaper - | Raw.account.UploadWallPaper - | Raw.account.SaveWallPaper - | Raw.account.InstallWallPaper - | Raw.account.ResetWallPapers - | Raw.account.GetAutoDownloadSettings - | Raw.account.SaveAutoDownloadSettings - | Raw.account.UploadTheme - | Raw.account.CreateTheme - | Raw.account.UpdateTheme - | Raw.account.SaveTheme - | Raw.account.InstallTheme - | Raw.account.GetTheme - | Raw.account.GetThemes - | Raw.account.SetContentSettings - | Raw.account.GetContentSettings - | Raw.account.GetMultiWallPapers - | Raw.account.GetGlobalPrivacySettings - | Raw.account.SetGlobalPrivacySettings - | Raw.account.ReportProfilePhoto - | Raw.account.ResetPassword - | Raw.account.DeclinePasswordReset - | Raw.account.GetChatThemes - | Raw.account.SetAuthorizationTTL - | Raw.account.ChangeAuthorizationSettings - | Raw.account.GetSavedRingtones - | Raw.account.SaveRingtone - | Raw.account.UploadRingtone - | Raw.account.UpdateEmojiStatus - | Raw.account.GetDefaultEmojiStatuses - | Raw.account.GetRecentEmojiStatuses - | Raw.account.ClearRecentEmojiStatuses - | Raw.account.ReorderUsernames - | Raw.account.ToggleUsername - | Raw.account.GetDefaultProfilePhotoEmojis - | Raw.account.GetDefaultGroupPhotoEmojis - | Raw.account.GetAutoSaveSettings - | Raw.account.SaveAutoSaveSettings - | Raw.account.DeleteAutoSaveExceptions - | Raw.account.InvalidateSignInCodes - | Raw.account.UpdateColor - | Raw.account.GetDefaultBackgroundEmojis - | Raw.account.GetChannelDefaultEmojiStatuses - | Raw.account.GetChannelRestrictedStatusEmojis - | Raw.account.UpdateBusinessWorkHours - | Raw.account.UpdateBusinessLocation - | Raw.account.UpdateBusinessGreetingMessage - | Raw.account.UpdateBusinessAwayMessage - | Raw.account.UpdateConnectedBot - | Raw.account.GetConnectedBots - | Raw.account.GetBotBusinessConnection - | Raw.account.UpdateBusinessIntro - | Raw.account.ToggleConnectedBotPaused - | Raw.account.DisablePeerConnectedBot - | Raw.account.UpdateBirthday - | Raw.account.CreateBusinessChatLink - | Raw.account.EditBusinessChatLink - | Raw.account.DeleteBusinessChatLink - | Raw.account.GetBusinessChatLinks - | Raw.account.ResolveBusinessChatLink - | Raw.account.UpdatePersonalChannel - | Raw.account.ToggleSponsoredMessages - | Raw.account.GetReactionsNotifySettings - | Raw.account.SetReactionsNotifySettings - | Raw.account.GetCollectibleEmojiStatuses - | Raw.account.GetPaidMessagesRevenue - | Raw.account.ToggleNoPaidMessagesException - | Raw.users.GetUsers - | Raw.users.GetFullUser - | Raw.users.SetSecureValueErrors - | Raw.users.GetRequirementsToContact - | Raw.contacts.GetContactIDs - | Raw.contacts.GetStatuses - | Raw.contacts.GetContacts - | Raw.contacts.ImportContacts - | Raw.contacts.DeleteContacts - | Raw.contacts.DeleteByPhones - | Raw.contacts.Block - | Raw.contacts.Unblock - | Raw.contacts.GetBlocked - | Raw.contacts.Search - | Raw.contacts.ResolveUsername - | Raw.contacts.GetTopPeers - | Raw.contacts.ResetTopPeerRating - | Raw.contacts.ResetSaved - | Raw.contacts.GetSaved - | Raw.contacts.ToggleTopPeers - | Raw.contacts.AddContact - | Raw.contacts.AcceptContact - | Raw.contacts.GetLocated - | Raw.contacts.BlockFromReplies - | Raw.contacts.ResolvePhone - | Raw.contacts.ExportContactToken - | Raw.contacts.ImportContactToken - | Raw.contacts.EditCloseFriends - | Raw.contacts.SetBlocked - | Raw.contacts.GetBirthdays - | Raw.contacts.GetSponsoredPeers - | Raw.messages.GetMessages - | Raw.messages.GetDialogs - | Raw.messages.GetHistory - | Raw.messages.Search - | Raw.messages.ReadHistory - | Raw.messages.DeleteHistory - | Raw.messages.DeleteMessages - | Raw.messages.ReceivedMessages - | Raw.messages.SetTyping - | Raw.messages.SendMessage - | Raw.messages.SendMedia - | Raw.messages.ForwardMessages - | Raw.messages.ReportSpam - | Raw.messages.GetPeerSettings - | Raw.messages.Report - | Raw.messages.GetChats - | Raw.messages.GetFullChat - | Raw.messages.EditChatTitle - | Raw.messages.EditChatPhoto - | Raw.messages.AddChatUser - | Raw.messages.DeleteChatUser - | Raw.messages.CreateChat - | Raw.messages.GetDhConfig - | Raw.messages.RequestEncryption - | Raw.messages.AcceptEncryption - | Raw.messages.DiscardEncryption - | Raw.messages.SetEncryptedTyping - | Raw.messages.ReadEncryptedHistory - | Raw.messages.SendEncrypted - | Raw.messages.SendEncryptedFile - | Raw.messages.SendEncryptedService - | Raw.messages.ReceivedQueue - | Raw.messages.ReportEncryptedSpam - | Raw.messages.ReadMessageContents - | Raw.messages.GetStickers - | Raw.messages.GetAllStickers - | Raw.messages.GetWebPagePreview - | Raw.messages.ExportChatInvite - | Raw.messages.CheckChatInvite - | Raw.messages.ImportChatInvite - | Raw.messages.GetStickerSet - | Raw.messages.InstallStickerSet - | Raw.messages.UninstallStickerSet - | Raw.messages.StartBot - | Raw.messages.GetMessagesViews - | Raw.messages.EditChatAdmin - | Raw.messages.MigrateChat - | Raw.messages.SearchGlobal - | Raw.messages.ReorderStickerSets - | Raw.messages.GetDocumentByHash - | Raw.messages.GetSavedGifs - | Raw.messages.SaveGif - | Raw.messages.GetInlineBotResults - | Raw.messages.SetInlineBotResults - | Raw.messages.SendInlineBotResult - | Raw.messages.GetMessageEditData - | Raw.messages.EditMessage - | Raw.messages.EditInlineBotMessage - | Raw.messages.GetBotCallbackAnswer - | Raw.messages.SetBotCallbackAnswer - | Raw.messages.GetPeerDialogs - | Raw.messages.SaveDraft - | Raw.messages.GetAllDrafts - | Raw.messages.GetFeaturedStickers - | Raw.messages.ReadFeaturedStickers - | Raw.messages.GetRecentStickers - | Raw.messages.SaveRecentSticker - | Raw.messages.ClearRecentStickers - | Raw.messages.GetArchivedStickers - | Raw.messages.GetMaskStickers - | Raw.messages.GetAttachedStickers - | Raw.messages.SetGameScore - | Raw.messages.SetInlineGameScore - | Raw.messages.GetGameHighScores - | Raw.messages.GetInlineGameHighScores - | Raw.messages.GetCommonChats - | Raw.messages.GetWebPage - | Raw.messages.ToggleDialogPin - | Raw.messages.ReorderPinnedDialogs - | Raw.messages.GetPinnedDialogs - | Raw.messages.SetBotShippingResults - | Raw.messages.SetBotPrecheckoutResults - | Raw.messages.UploadMedia - | Raw.messages.SendScreenshotNotification - | Raw.messages.GetFavedStickers - | Raw.messages.FaveSticker - | Raw.messages.GetUnreadMentions - | Raw.messages.ReadMentions - | Raw.messages.GetRecentLocations - | Raw.messages.SendMultiMedia - | Raw.messages.UploadEncryptedFile - | Raw.messages.SearchStickerSets - | Raw.messages.GetSplitRanges - | Raw.messages.MarkDialogUnread - | Raw.messages.GetDialogUnreadMarks - | Raw.messages.ClearAllDrafts - | Raw.messages.UpdatePinnedMessage - | Raw.messages.SendVote - | Raw.messages.GetPollResults - | Raw.messages.GetOnlines - | Raw.messages.EditChatAbout - | Raw.messages.EditChatDefaultBannedRights - | Raw.messages.GetEmojiKeywords - | Raw.messages.GetEmojiKeywordsDifference - | Raw.messages.GetEmojiKeywordsLanguages - | Raw.messages.GetEmojiURL - | Raw.messages.GetSearchCounters - | Raw.messages.RequestUrlAuth - | Raw.messages.AcceptUrlAuth - | Raw.messages.HidePeerSettingsBar - | Raw.messages.GetScheduledHistory - | Raw.messages.GetScheduledMessages - | Raw.messages.SendScheduledMessages - | Raw.messages.DeleteScheduledMessages - | Raw.messages.GetPollVotes - | Raw.messages.ToggleStickerSets - | Raw.messages.GetDialogFilters - | Raw.messages.GetSuggestedDialogFilters - | Raw.messages.UpdateDialogFilter - | Raw.messages.UpdateDialogFiltersOrder - | Raw.messages.GetOldFeaturedStickers - | Raw.messages.GetReplies - | Raw.messages.GetDiscussionMessage - | Raw.messages.ReadDiscussion - | Raw.messages.UnpinAllMessages - | Raw.messages.DeleteChat - | Raw.messages.DeletePhoneCallHistory - | Raw.messages.CheckHistoryImport - | Raw.messages.InitHistoryImport - | Raw.messages.UploadImportedMedia - | Raw.messages.StartHistoryImport - | Raw.messages.GetExportedChatInvites - | Raw.messages.GetExportedChatInvite - | Raw.messages.EditExportedChatInvite - | Raw.messages.DeleteRevokedExportedChatInvites - | Raw.messages.DeleteExportedChatInvite - | Raw.messages.GetAdminsWithInvites - | Raw.messages.GetChatInviteImporters - | Raw.messages.SetHistoryTTL - | Raw.messages.CheckHistoryImportPeer - | Raw.messages.SetChatTheme - | Raw.messages.GetMessageReadParticipants - | Raw.messages.GetSearchResultsCalendar - | Raw.messages.GetSearchResultsPositions - | Raw.messages.HideChatJoinRequest - | Raw.messages.HideAllChatJoinRequests - | Raw.messages.ToggleNoForwards - | Raw.messages.SaveDefaultSendAs - | Raw.messages.SendReaction - | Raw.messages.GetMessagesReactions - | Raw.messages.GetMessageReactionsList - | Raw.messages.SetChatAvailableReactions - | Raw.messages.GetAvailableReactions - | Raw.messages.SetDefaultReaction - | Raw.messages.TranslateText - | Raw.messages.GetUnreadReactions - | Raw.messages.ReadReactions - | Raw.messages.SearchSentMedia - | Raw.messages.GetAttachMenuBots - | Raw.messages.GetAttachMenuBot - | Raw.messages.ToggleBotInAttachMenu - | Raw.messages.RequestWebView - | Raw.messages.ProlongWebView - | Raw.messages.RequestSimpleWebView - | Raw.messages.SendWebViewResultMessage - | Raw.messages.SendWebViewData - | Raw.messages.TranscribeAudio - | Raw.messages.RateTranscribedAudio - | Raw.messages.GetCustomEmojiDocuments - | Raw.messages.GetEmojiStickers - | Raw.messages.GetFeaturedEmojiStickers - | Raw.messages.ReportReaction - | Raw.messages.GetTopReactions - | Raw.messages.GetRecentReactions - | Raw.messages.ClearRecentReactions - | Raw.messages.GetExtendedMedia - | Raw.messages.SetDefaultHistoryTTL - | Raw.messages.GetDefaultHistoryTTL - | Raw.messages.SendBotRequestedPeer - | Raw.messages.GetEmojiGroups - | Raw.messages.GetEmojiStatusGroups - | Raw.messages.GetEmojiProfilePhotoGroups - | Raw.messages.SearchCustomEmoji - | Raw.messages.TogglePeerTranslations - | Raw.messages.GetBotApp - | Raw.messages.RequestAppWebView - | Raw.messages.SetChatWallPaper - | Raw.messages.SearchEmojiStickerSets - | Raw.messages.GetSavedDialogs - | Raw.messages.GetSavedHistory - | Raw.messages.DeleteSavedHistory - | Raw.messages.GetPinnedSavedDialogs - | Raw.messages.ToggleSavedDialogPin - | Raw.messages.ReorderPinnedSavedDialogs - | Raw.messages.GetSavedReactionTags - | Raw.messages.UpdateSavedReactionTag - | Raw.messages.GetDefaultTagReactions - | Raw.messages.GetOutboxReadDate - | Raw.messages.GetQuickReplies - | Raw.messages.ReorderQuickReplies - | Raw.messages.CheckQuickReplyShortcut - | Raw.messages.EditQuickReplyShortcut - | Raw.messages.DeleteQuickReplyShortcut - | Raw.messages.GetQuickReplyMessages - | Raw.messages.SendQuickReplyMessages - | Raw.messages.DeleteQuickReplyMessages - | Raw.messages.ToggleDialogFilterTags - | Raw.messages.GetMyStickers - | Raw.messages.GetEmojiStickerGroups - | Raw.messages.GetAvailableEffects - | Raw.messages.EditFactCheck - | Raw.messages.DeleteFactCheck - | Raw.messages.GetFactCheck - | Raw.messages.RequestMainWebView - | Raw.messages.SendPaidReaction - | Raw.messages.TogglePaidReactionPrivacy - | Raw.messages.GetPaidReactionPrivacy - | Raw.messages.ViewSponsoredMessage - | Raw.messages.ClickSponsoredMessage - | Raw.messages.ReportSponsoredMessage - | Raw.messages.GetSponsoredMessages - | Raw.messages.SavePreparedInlineMessage - | Raw.messages.GetPreparedInlineMessage - | Raw.messages.SearchStickers - | Raw.messages.ReportMessagesDelivery - | Raw.messages.GetSavedDialogsByID - | Raw.messages.ReadSavedHistory - | Raw.messages.ToggleTodoCompleted - | Raw.messages.AppendTodoList - | Raw.messages.ToggleSuggestedPostApproval - | Raw.updates.GetState - | Raw.updates.GetDifference - | Raw.updates.GetChannelDifference - | Raw.photos.UpdateProfilePhoto - | Raw.photos.UploadProfilePhoto - | Raw.photos.DeletePhotos - | Raw.photos.GetUserPhotos - | Raw.photos.UploadContactProfilePhoto - | Raw.upload.SaveFilePart - | Raw.upload.GetFile - | Raw.upload.SaveBigFilePart - | Raw.upload.GetWebFile - | Raw.upload.GetCdnFile - | Raw.upload.ReuploadCdnFile - | Raw.upload.GetCdnFileHashes - | Raw.upload.GetFileHashes - | Raw.help.GetConfig - | Raw.help.GetNearestDc - | Raw.help.GetAppUpdate - | Raw.help.GetInviteText - | Raw.help.GetSupport - | Raw.help.SetBotUpdatesStatus - | Raw.help.GetCdnConfig - | Raw.help.GetRecentMeUrls - | Raw.help.GetTermsOfServiceUpdate - | Raw.help.AcceptTermsOfService - | Raw.help.GetDeepLinkInfo - | Raw.help.GetAppConfig - | Raw.help.SaveAppLog - | Raw.help.GetPassportConfig - | Raw.help.GetSupportName - | Raw.help.GetUserInfo - | Raw.help.EditUserInfo - | Raw.help.GetPromoData - | Raw.help.HidePromoData - | Raw.help.DismissSuggestion - | Raw.help.GetCountriesList - | Raw.help.GetPremiumPromo - | Raw.help.GetPeerColors - | Raw.help.GetPeerProfileColors - | Raw.help.GetTimezonesList - | Raw.channels.ReadHistory - | Raw.channels.DeleteMessages - | Raw.channels.ReportSpam - | Raw.channels.GetMessages - | Raw.channels.GetParticipants - | Raw.channels.GetParticipant - | Raw.channels.GetChannels - | Raw.channels.GetFullChannel - | Raw.channels.CreateChannel - | Raw.channels.EditAdmin - | Raw.channels.EditTitle - | Raw.channels.EditPhoto - | Raw.channels.CheckUsername - | Raw.channels.UpdateUsername - | Raw.channels.JoinChannel - | Raw.channels.LeaveChannel - | Raw.channels.InviteToChannel - | Raw.channels.DeleteChannel - | Raw.channels.ExportMessageLink - | Raw.channels.ToggleSignatures - | Raw.channels.GetAdminedPublicChannels - | Raw.channels.EditBanned - | Raw.channels.GetAdminLog - | Raw.channels.SetStickers - | Raw.channels.ReadMessageContents - | Raw.channels.DeleteHistory - | Raw.channels.TogglePreHistoryHidden - | Raw.channels.GetLeftChannels - | Raw.channels.GetGroupsForDiscussion - | Raw.channels.SetDiscussionGroup - | Raw.channels.EditCreator - | Raw.channels.EditLocation - | Raw.channels.ToggleSlowMode - | Raw.channels.GetInactiveChannels - | Raw.channels.ConvertToGigagroup - | Raw.channels.GetSendAs - | Raw.channels.DeleteParticipantHistory - | Raw.channels.ToggleJoinToSend - | Raw.channels.ToggleJoinRequest - | Raw.channels.ReorderUsernames - | Raw.channels.ToggleUsername - | Raw.channels.DeactivateAllUsernames - | Raw.channels.ToggleForum - | Raw.channels.CreateForumTopic - | Raw.channels.GetForumTopics - | Raw.channels.GetForumTopicsByID - | Raw.channels.EditForumTopic - | Raw.channels.UpdatePinnedForumTopic - | Raw.channels.DeleteTopicHistory - | Raw.channels.ReorderPinnedForumTopics - | Raw.channels.ToggleAntiSpam - | Raw.channels.ReportAntiSpamFalsePositive - | Raw.channels.ToggleParticipantsHidden - | Raw.channels.UpdateColor - | Raw.channels.ToggleViewForumAsMessages - | Raw.channels.GetChannelRecommendations - | Raw.channels.UpdateEmojiStatus - | Raw.channels.SetBoostsToUnblockRestrictions - | Raw.channels.SetEmojiStickers - | Raw.channels.RestrictSponsoredMessages - | Raw.channels.SearchPosts - | Raw.channels.UpdatePaidMessagesPrice - | Raw.channels.ToggleAutotranslation - | Raw.channels.GetMessageAuthor - | Raw.bots.SendCustomRequest - | Raw.bots.AnswerWebhookJSONQuery - | Raw.bots.SetBotCommands - | Raw.bots.ResetBotCommands - | Raw.bots.GetBotCommands - | Raw.bots.SetBotMenuButton - | Raw.bots.GetBotMenuButton - | Raw.bots.SetBotBroadcastDefaultAdminRights - | Raw.bots.SetBotGroupDefaultAdminRights - | Raw.bots.SetBotInfo - | Raw.bots.GetBotInfo - | Raw.bots.ReorderUsernames - | Raw.bots.ToggleUsername - | Raw.bots.CanSendMessage - | Raw.bots.AllowSendMessage - | Raw.bots.InvokeWebViewCustomMethod - | Raw.bots.GetPopularAppBots - | Raw.bots.AddPreviewMedia - | Raw.bots.EditPreviewMedia - | Raw.bots.DeletePreviewMedia - | Raw.bots.ReorderPreviewMedias - | Raw.bots.GetPreviewInfo - | Raw.bots.GetPreviewMedias - | Raw.bots.UpdateUserEmojiStatus - | Raw.bots.ToggleUserEmojiStatusPermission - | Raw.bots.CheckDownloadFileParams - | Raw.bots.GetAdminedBots - | Raw.bots.UpdateStarRefProgram - | Raw.bots.SetCustomVerification - | Raw.bots.GetBotRecommendations - | Raw.payments.GetPaymentForm - | Raw.payments.GetPaymentReceipt - | Raw.payments.ValidateRequestedInfo - | Raw.payments.SendPaymentForm - | Raw.payments.GetSavedInfo - | Raw.payments.ClearSavedInfo - | Raw.payments.GetBankCardData - | Raw.payments.ExportInvoice - | Raw.payments.AssignAppStoreTransaction - | Raw.payments.AssignPlayMarketTransaction - | Raw.payments.GetPremiumGiftCodeOptions - | Raw.payments.CheckGiftCode - | Raw.payments.ApplyGiftCode - | Raw.payments.GetGiveawayInfo - | Raw.payments.LaunchPrepaidGiveaway - | Raw.payments.GetStarsTopupOptions - | Raw.payments.GetStarsStatus - | Raw.payments.GetStarsTransactions - | Raw.payments.SendStarsForm - | Raw.payments.RefundStarsCharge - | Raw.payments.GetStarsRevenueStats - | Raw.payments.GetStarsRevenueWithdrawalUrl - | Raw.payments.GetStarsRevenueAdsAccountUrl - | Raw.payments.GetStarsTransactionsByID - | Raw.payments.GetStarsGiftOptions - | Raw.payments.GetStarsSubscriptions - | Raw.payments.ChangeStarsSubscription - | Raw.payments.FulfillStarsSubscription - | Raw.payments.GetStarsGiveawayOptions - | Raw.payments.GetStarGifts - | Raw.payments.SaveStarGift - | Raw.payments.ConvertStarGift - | Raw.payments.BotCancelStarsSubscription - | Raw.payments.GetConnectedStarRefBots - | Raw.payments.GetConnectedStarRefBot - | Raw.payments.GetSuggestedStarRefBots - | Raw.payments.ConnectStarRefBot - | Raw.payments.EditConnectedStarRefBot - | Raw.payments.GetStarGiftUpgradePreview - | Raw.payments.UpgradeStarGift - | Raw.payments.TransferStarGift - | Raw.payments.GetUniqueStarGift - | Raw.payments.GetSavedStarGifts - | Raw.payments.GetSavedStarGift - | Raw.payments.GetStarGiftWithdrawalUrl - | Raw.payments.ToggleChatStarGiftNotifications - | Raw.payments.ToggleStarGiftsPinnedToTop - | Raw.payments.CanPurchaseStore - | Raw.payments.GetResaleStarGifts - | Raw.payments.UpdateStarGiftPrice - | Raw.stickers.CreateStickerSet - | Raw.stickers.RemoveStickerFromSet - | Raw.stickers.ChangeStickerPosition - | Raw.stickers.AddStickerToSet - | Raw.stickers.SetStickerSetThumb - | Raw.stickers.CheckShortName - | Raw.stickers.SuggestShortName - | Raw.stickers.ChangeSticker - | Raw.stickers.RenameStickerSet - | Raw.stickers.DeleteStickerSet - | Raw.stickers.ReplaceSticker - | Raw.phone.GetCallConfig - | Raw.phone.RequestCall - | Raw.phone.AcceptCall - | Raw.phone.ConfirmCall - | Raw.phone.ReceivedCall - | Raw.phone.DiscardCall - | Raw.phone.SetCallRating - | Raw.phone.SaveCallDebug - | Raw.phone.SendSignalingData - | Raw.phone.CreateGroupCall - | Raw.phone.JoinGroupCall - | Raw.phone.LeaveGroupCall - | Raw.phone.InviteToGroupCall - | Raw.phone.DiscardGroupCall - | Raw.phone.ToggleGroupCallSettings - | Raw.phone.GetGroupCall - | Raw.phone.GetGroupParticipants - | Raw.phone.CheckGroupCall - | Raw.phone.ToggleGroupCallRecord - | Raw.phone.EditGroupCallParticipant - | Raw.phone.EditGroupCallTitle - | Raw.phone.GetGroupCallJoinAs - | Raw.phone.ExportGroupCallInvite - | Raw.phone.ToggleGroupCallStartSubscription - | Raw.phone.StartScheduledGroupCall - | Raw.phone.SaveDefaultGroupCallJoinAs - | Raw.phone.JoinGroupCallPresentation - | Raw.phone.LeaveGroupCallPresentation - | Raw.phone.GetGroupCallStreamChannels - | Raw.phone.GetGroupCallStreamRtmpUrl - | Raw.phone.SaveCallLog - | Raw.phone.CreateConferenceCall - | Raw.phone.DeleteConferenceCallParticipants - | Raw.phone.SendConferenceCallBroadcast - | Raw.phone.InviteConferenceCallParticipant - | Raw.phone.DeclineConferenceCallInvite - | Raw.phone.GetGroupCallChainBlocks - | Raw.langpack.GetLangPack - | Raw.langpack.GetStrings - | Raw.langpack.GetDifference - | Raw.langpack.GetLanguages - | Raw.langpack.GetLanguage - | Raw.folders.EditPeerFolders - | Raw.stats.GetBroadcastStats - | Raw.stats.LoadAsyncGraph - | Raw.stats.GetMegagroupStats - | Raw.stats.GetMessagePublicForwards - | Raw.stats.GetMessageStats - | Raw.stats.GetStoryStats - | Raw.stats.GetStoryPublicForwards - | Raw.chatlists.ExportChatlistInvite - | Raw.chatlists.DeleteExportedInvite - | Raw.chatlists.EditExportedInvite - | Raw.chatlists.GetExportedInvites - | Raw.chatlists.CheckChatlistInvite - | Raw.chatlists.JoinChatlistInvite - | Raw.chatlists.GetChatlistUpdates - | Raw.chatlists.JoinChatlistUpdates - | Raw.chatlists.HideChatlistUpdates - | Raw.chatlists.GetLeaveChatlistSuggestions - | Raw.chatlists.LeaveChatlist - | Raw.stories.CanSendStory - | Raw.stories.SendStory - | Raw.stories.EditStory - | Raw.stories.DeleteStories - | Raw.stories.TogglePinned - | Raw.stories.GetAllStories - | Raw.stories.GetPinnedStories - | Raw.stories.GetStoriesArchive - | Raw.stories.GetStoriesByID - | Raw.stories.ToggleAllStoriesHidden - | Raw.stories.ReadStories - | Raw.stories.IncrementStoryViews - | Raw.stories.GetStoryViewsList - | Raw.stories.GetStoriesViews - | Raw.stories.ExportStoryLink - | Raw.stories.Report - | Raw.stories.ActivateStealthMode - | Raw.stories.SendReaction - | Raw.stories.GetPeerStories - | Raw.stories.GetAllReadPeerStories - | Raw.stories.GetPeerMaxIDs - | Raw.stories.GetChatsToSend - | Raw.stories.TogglePeerStoriesHidden - | Raw.stories.GetStoryReactionsList - | Raw.stories.TogglePinnedToTop - | Raw.stories.SearchPosts - | Raw.premium.GetBoostsList - | Raw.premium.GetMyBoosts - | Raw.premium.ApplyBoost - | Raw.premium.GetBoostsStatus - | Raw.premium.GetUserBoosts - | Raw.smsjobs.IsEligibleToJoin - | Raw.smsjobs.Join - | Raw.smsjobs.Leave - | Raw.smsjobs.UpdateSettings - | Raw.smsjobs.GetStatus - | Raw.smsjobs.GetSmsJob - | Raw.smsjobs.FinishJob - | Raw.fragment.GetCollectibleInfo; - export type TypeFileLocation = Raw.FileLocationUnavailable23 | Raw.FileLocation23; - export type TypeDecryptedMessage = - | Raw.DecryptedMessage8 - | Raw.DecryptedMessageService8 - | Raw.DecryptedMessage17 - | Raw.DecryptedMessageService17 - | Raw.DecryptedMessage45 - | Raw.DecryptedMessage73; - export type TypeDecryptedMessageAction = - | Raw.DecryptedMessageActionSetMessageTTL8 - | Raw.DecryptedMessageActionReadMessages8 - | Raw.DecryptedMessageActionDeleteMessages8 - | Raw.DecryptedMessageActionScreenshotMessages8 - | Raw.DecryptedMessageActionFlushHistory8 - | Raw.DecryptedMessageActionResend17 - | Raw.DecryptedMessageActionNotifyLayer17 - | Raw.DecryptedMessageActionTyping17 - | Raw.DecryptedMessageActionRequestKey20 - | Raw.DecryptedMessageActionAcceptKey20 - | Raw.DecryptedMessageActionAbortKey20 - | Raw.DecryptedMessageActionCommitKey20 - | Raw.DecryptedMessageActionNoop20; - export type TypeDecryptedMessageMedia = - | Raw.DecryptedMessageMediaEmpty8 - | Raw.DecryptedMessageMediaPhoto8 - | Raw.DecryptedMessageMediaVideo8 - | Raw.DecryptedMessageMediaGeoPoint8 - | Raw.DecryptedMessageMediaContact8 - | Raw.DecryptedMessageMediaDocument8 - | Raw.DecryptedMessageMediaAudio8 - | Raw.DecryptedMessageMediaVideo17 - | Raw.DecryptedMessageMediaAudio17 - | Raw.DecryptedMessageMediaExternalDocument23 - | Raw.DecryptedMessageMediaPhoto45 - | Raw.DecryptedMessageMediaVideo45 - | Raw.DecryptedMessageMediaDocument45 - | Raw.DecryptedMessageMediaVenue45 - | Raw.DecryptedMessageMediaWebPage45 - | Raw.DecryptedMessageMediaDocument143; - export type TypeInputCollectible = Raw.InputCollectibleUsername | Raw.InputCollectiblePhone; - export type TypeSmsJob = Raw.SmsJob; - export type TypeExportedStoryLink = Raw.ExportedStoryLink; - export type TypeInputChatlist = Raw.InputChatlistDialogFilter; - export type TypeInputFolderPeer = Raw.InputFolderPeer; - export type TypeLangPackLanguage = Raw.LangPackLanguage; - export type TypeInputPhoneCall = Raw.InputPhoneCall; - export type TypeInputStickerSetItem = Raw.InputStickerSetItem; - export type TypeStarsGiveawayOption = Raw.StarsGiveawayOption; - export type TypeStarsGiftOption = Raw.StarsGiftOption; - export type TypeInputStarsTransaction = Raw.InputStarsTransaction; - export type TypeStarsTopupOption = Raw.StarsTopupOption; - export type TypeInputPaymentCredentials = - | Raw.InputPaymentCredentialsSaved - | Raw.InputPaymentCredentials - | Raw.InputPaymentCredentialsApplePay - | Raw.InputPaymentCredentialsGooglePay; - export type TypeInputInvoice = - | Raw.InputInvoiceMessage - | Raw.InputInvoiceSlug - | Raw.InputInvoicePremiumGiftCode - | Raw.InputInvoiceStars - | Raw.InputInvoiceChatInviteSubscription - | Raw.InputInvoiceStarGift - | Raw.InputInvoiceStarGiftUpgrade - | Raw.InputInvoiceStarGiftTransfer - | Raw.InputInvoicePremiumGiftStars - | Raw.InputInvoiceBusinessBotTransferStars - | Raw.InputInvoiceStarGiftResale; - export type TypeBotCommandScope = - | Raw.BotCommandScopeDefault - | Raw.BotCommandScopeUsers - | Raw.BotCommandScopeChats - | Raw.BotCommandScopeChatAdmins - | Raw.BotCommandScopePeer - | Raw.BotCommandScopePeerAdmins - | Raw.BotCommandScopePeerUser; - export type TypeChannelAdminLogEventsFilter = Raw.ChannelAdminLogEventsFilter; - export type TypeExportedMessageLink = Raw.ExportedMessageLink; - export type TypeChannelParticipantsFilter = - | Raw.ChannelParticipantsRecent - | Raw.ChannelParticipantsAdmins - | Raw.ChannelParticipantsKicked - | Raw.ChannelParticipantsBots - | Raw.ChannelParticipantsBanned - | Raw.ChannelParticipantsSearch - | Raw.ChannelParticipantsContacts - | Raw.ChannelParticipantsMentions; - export type TypeInputAppEvent = Raw.InputAppEvent; - export type TypeCdnConfig = Raw.CdnConfig; - export type TypeNearestDc = Raw.NearestDc; - export type TypeConfig = Raw.Config; - export type TypeInputWebFileLocation = - | Raw.InputWebFileLocation - | Raw.InputWebFileGeoPointLocation - | Raw.InputWebFileAudioAlbumThumbLocation; - export type TypeInputFileLocation = - | Raw.InputFileLocation - | Raw.InputEncryptedFileLocation - | Raw.InputDocumentFileLocation - | Raw.InputSecureFileLocation - | Raw.InputTakeoutFileLocation - | Raw.InputPhotoFileLocation - | Raw.InputPhotoLegacyFileLocation - | Raw.InputPeerPhotoFileLocation - | Raw.InputStickerSetThumb - | Raw.InputGroupCallStream; - export type TypeChannelMessagesFilter = - | Raw.ChannelMessagesFilterEmpty - | Raw.ChannelMessagesFilter; - export type TypeOutboxReadDate = Raw.OutboxReadDate; - export type TypeInputBotApp = Raw.InputBotAppID | Raw.InputBotAppShortName; - export type TypeDefaultHistoryTTL = Raw.DefaultHistoryTTL; - export type TypeWebViewMessageSent = Raw.WebViewMessageSent; - export type TypeWebViewResult = Raw.WebViewResultUrl; - export type TypeAttachMenuBotsBot = Raw.AttachMenuBotsBot; - export type TypeAttachMenuBots = Raw.AttachMenuBotsNotModified | Raw.AttachMenuBots; - export type TypeReadParticipantDate = Raw.ReadParticipantDate; - export type TypeDialogFilterSuggested = Raw.DialogFilterSuggested; - export type TypeUrlAuthResult = - | Raw.UrlAuthResultRequest - | Raw.UrlAuthResultAccepted - | Raw.UrlAuthResultDefault; - export type TypeEmojiURL = Raw.EmojiURL; - export type TypeEmojiLanguage = Raw.EmojiLanguage; - export type TypeEmojiKeywordsDifference = Raw.EmojiKeywordsDifference; - export type TypeChatOnlines = Raw.ChatOnlines; - export type TypeInputSingleMedia = Raw.InputSingleMedia; - export type TypeInputStickeredMedia = - | Raw.InputStickeredMediaPhoto - | Raw.InputStickeredMediaDocument; - export type TypeInputDialogPeer = Raw.InputDialogPeer | Raw.InputDialogPeerFolder; - export type TypeInputBotInlineResult = - | Raw.InputBotInlineResult - | Raw.InputBotInlineResultPhoto - | Raw.InputBotInlineResultDocument - | Raw.InputBotInlineResultGame; - export type TypeInputEncryptedFile = - | Raw.InputEncryptedFileEmpty - | Raw.InputEncryptedFileUploaded - | Raw.InputEncryptedFile - | Raw.InputEncryptedFileBigUploaded; - export type TypeInputEncryptedChat = Raw.InputEncryptedChat; - export type TypeInputChatPhoto = - | Raw.InputChatPhotoEmpty - | Raw.InputChatUploadedPhoto - | Raw.InputChatPhoto; - export type TypeReportResult = - | Raw.ReportResultChooseOption - | Raw.ReportResultAddComment - | Raw.ReportResultReported; - export type TypeInputQuickReplyShortcut = - | Raw.InputQuickReplyShortcut - | Raw.InputQuickReplyShortcutId; - export type TypeReceivedNotifyMessage = Raw.ReceivedNotifyMessage; - export type TypeInputMessage = - | Raw.InputMessageID - | Raw.InputMessageReplyTo - | Raw.InputMessagePinned - | Raw.InputMessageCallbackQuery; - export type TypeExportedContactToken = Raw.ExportedContactToken; - export type TypeSavedContact = Raw.SavedPhoneContact; - export type TypeInputContact = Raw.InputPhoneContact; - export type TypeContactStatus = Raw.ContactStatus; - export type TypeRequirementToContact = - | Raw.RequirementToContactEmpty - | Raw.RequirementToContactPremium - | Raw.RequirementToContactPaidMessages; - export type TypeReactionsNotifySettings = Raw.ReactionsNotifySettings; - export type TypeInputBusinessChatLink = Raw.InputBusinessChatLink; - export type TypeInputBusinessIntro = Raw.InputBusinessIntro; - export type TypeInputBusinessBotRecipients = Raw.InputBusinessBotRecipients; - export type TypeInputBusinessAwayMessage = Raw.InputBusinessAwayMessage; - export type TypeInputBusinessGreetingMessage = Raw.InputBusinessGreetingMessage; - export type TypeEmojiList = Raw.EmojiListNotModified | Raw.EmojiList; - export type TypeGlobalPrivacySettings = Raw.GlobalPrivacySettings; - export type TypeInputTheme = Raw.InputTheme | Raw.InputThemeSlug; - export type TypeInputThemeSettings = Raw.InputThemeSettings; - export type TypeEmailVerifyPurpose = - | Raw.EmailVerifyPurposeLoginSetup - | Raw.EmailVerifyPurposeLoginChange - | Raw.EmailVerifyPurposePassport; - export type TypeSecureValueHash = Raw.SecureValueHash; - export type TypeInputSecureValue = Raw.InputSecureValue; - export type TypeAccountDaysTTL = Raw.AccountDaysTTL; - export type TypeInputPrivacyRule = - | Raw.InputPrivacyValueAllowContacts - | Raw.InputPrivacyValueAllowAll - | Raw.InputPrivacyValueAllowUsers - | Raw.InputPrivacyValueDisallowContacts - | Raw.InputPrivacyValueDisallowAll - | Raw.InputPrivacyValueDisallowUsers - | Raw.InputPrivacyValueAllowChatParticipants - | Raw.InputPrivacyValueDisallowChatParticipants - | Raw.InputPrivacyValueAllowCloseFriends - | Raw.InputPrivacyValueAllowPremium - | Raw.InputPrivacyValueAllowBots - | Raw.InputPrivacyValueDisallowBots; - export type TypeInputPrivacyKey = - | Raw.InputPrivacyKeyStatusTimestamp - | Raw.InputPrivacyKeyChatInvite - | Raw.InputPrivacyKeyPhoneCall - | Raw.InputPrivacyKeyPhoneP2P - | Raw.InputPrivacyKeyForwards - | Raw.InputPrivacyKeyProfilePhoto - | Raw.InputPrivacyKeyPhoneNumber - | Raw.InputPrivacyKeyAddedByPhone - | Raw.InputPrivacyKeyVoiceMessages - | Raw.InputPrivacyKeyAbout - | Raw.InputPrivacyKeyBirthday - | Raw.InputPrivacyKeyStarGiftsAutoSave - | Raw.InputPrivacyKeyNoPaidMessages; - export type TypeReportReason = - | Raw.InputReportReasonSpam - | Raw.InputReportReasonViolence - | Raw.InputReportReasonPornography - | Raw.InputReportReasonChildAbuse - | Raw.InputReportReasonOther - | Raw.InputReportReasonCopyright - | Raw.InputReportReasonGeoIrrelevant - | Raw.InputReportReasonFake - | Raw.InputReportReasonIllegalDrugs - | Raw.InputReportReasonPersonalDetails; - export type TypeInputPeerNotifySettings = Raw.InputPeerNotifySettings; - export type TypeInputNotifyPeer = - | Raw.InputNotifyPeer - | Raw.InputNotifyUsers - | Raw.InputNotifyChats - | Raw.InputNotifyBroadcasts - | Raw.InputNotifyForumTopic; - export type TypeInputCheckPasswordSRP = Raw.InputCheckPasswordEmpty | Raw.InputCheckPasswordSRP; - export type TypeEmailVerification = - | Raw.EmailVerificationCode - | Raw.EmailVerificationGoogle - | Raw.EmailVerificationApple; - export type TypeCodeSettings = Raw.CodeSettings; - export type TypeInputClientProxy = Raw.InputClientProxy; - export type TypeStarGiftAttributeCounter = Raw.StarGiftAttributeCounter; - export type TypeStarGiftAttributeId = - | Raw.StarGiftAttributeIdModel - | Raw.StarGiftAttributeIdPattern - | Raw.StarGiftAttributeIdBackdrop; - export type TypeSponsoredPeer = Raw.SponsoredPeer; - export type TypeSavedStarGift = Raw.SavedStarGift; - export type TypeConnectedBotStarRef = Raw.ConnectedBotStarRef; - export type TypeMessageReportOption = Raw.MessageReportOption; - export type TypeStarGiftAttribute = - | Raw.StarGiftAttributeModel - | Raw.StarGiftAttributePattern - | Raw.StarGiftAttributeBackdrop - | Raw.StarGiftAttributeOriginalDetails; - export type TypeStarsGiveawayWinnersOption = Raw.StarsGiveawayWinnersOption; - export type TypeBotPreviewMedia = Raw.BotPreviewMedia; - export type TypeFoundStory = Raw.FoundStory; - export type TypeStarsTransaction = Raw.StarsTransaction; - export type TypeStarsSubscription = Raw.StarsSubscription; - export type TypeStarsTransactionPeer = - | Raw.StarsTransactionPeerUnsupported - | Raw.StarsTransactionPeerAppStore - | Raw.StarsTransactionPeerPlayMarket - | Raw.StarsTransactionPeerPremiumBot - | Raw.StarsTransactionPeerFragment - | Raw.StarsTransactionPeer - | Raw.StarsTransactionPeerAds - | Raw.StarsTransactionPeerAPI; - export type TypeAvailableEffect = Raw.AvailableEffect; - export type TypeReactionNotificationsFrom = - | Raw.ReactionNotificationsFromContacts - | Raw.ReactionNotificationsFromAll; - export type TypeSponsoredMessageReportOption = Raw.SponsoredMessageReportOption; - export type TypeBusinessChatLink = Raw.BusinessChatLink; - export type TypeMissingInvitee = Raw.MissingInvitee; - export type TypeContactBirthday = Raw.ContactBirthday; - export type TypeConnectedBot = Raw.ConnectedBot; - export type TypeBusinessBotRights = Raw.BusinessBotRights; - export type TypeBusinessBotRecipients = Raw.BusinessBotRecipients; - export type TypeTimezone = Raw.Timezone; - export type TypeBusinessAwayMessageSchedule = - | Raw.BusinessAwayMessageScheduleAlways - | Raw.BusinessAwayMessageScheduleOutsideWorkHours - | Raw.BusinessAwayMessageScheduleCustom; - export type TypeBusinessRecipients = Raw.BusinessRecipients; - export type TypeInputBusinessRecipients = Raw.InputBusinessRecipients; - export type TypeBusinessWeeklyOpen = Raw.BusinessWeeklyOpen; - export type TypeSavedReactionTag = Raw.SavedReactionTag; - export type TypeSavedDialog = Raw.SavedDialog | Raw.MonoForumDialog; - export type TypeStoryReaction = - | Raw.StoryReaction - | Raw.StoryReactionPublicForward - | Raw.StoryReactionPublicRepost; - export type TypePublicForward = Raw.PublicForwardMessage | Raw.PublicForwardStory; - export type TypePrepaidGiveaway = Raw.PrepaidGiveaway | Raw.PrepaidStarsGiveaway; - export type TypeMyBoost = Raw.MyBoost; - export type TypeGeoPointAddress = Raw.GeoPointAddress; - export type TypeMediaAreaCoordinates = Raw.MediaAreaCoordinates; - export type TypeStoryView = - | Raw.StoryView - | Raw.StoryViewPublicForward - | Raw.StoryViewPublicRepost; - export type TypeStoryViews = Raw.StoryViews; - export type TypeMediaArea = - | Raw.MediaAreaVenue - | Raw.InputMediaAreaVenue - | Raw.MediaAreaGeoPoint - | Raw.MediaAreaSuggestedReaction - | Raw.MediaAreaChannelPost - | Raw.InputMediaAreaChannelPost - | Raw.MediaAreaUrl - | Raw.MediaAreaWeather - | Raw.MediaAreaStarGift; - export type TypeStoryFwdHeader = Raw.StoryFwdHeader; - export type TypeExportedChatlistInvite = Raw.ExportedChatlistInvite; - export type TypeAutoSaveException = Raw.AutoSaveException; - export type TypeAutoSaveSettings = Raw.AutoSaveSettings; - export type TypeEmojiGroup = Raw.EmojiGroup | Raw.EmojiGroupGreeting | Raw.EmojiGroupPremium; - export type TypePremiumSubscriptionOption = Raw.PremiumSubscriptionOption; - export type TypeInputSavedStarGift = - | Raw.InputSavedStarGiftUser - | Raw.InputSavedStarGiftChat - | Raw.InputSavedStarGiftSlug; - export type TypePremiumGiftCodeOption = Raw.PremiumGiftCodeOption; - export type TypeInputStorePaymentPurpose = - | Raw.InputStorePaymentPremiumSubscription - | Raw.InputStorePaymentGiftPremium - | Raw.InputStorePaymentPremiumGiftCode - | Raw.InputStorePaymentPremiumGiveaway - | Raw.InputStorePaymentStarsTopup - | Raw.InputStorePaymentStarsGift - | Raw.InputStorePaymentStarsGiveaway - | Raw.InputStorePaymentAuthCode; - export type TypeAttachMenuBot = Raw.AttachMenuBot; - export type TypeAttachMenuBotIcon = Raw.AttachMenuBotIcon; - export type TypeAttachMenuPeerType = - | Raw.AttachMenuPeerTypeSameBotPM - | Raw.AttachMenuPeerTypeBotPM - | Raw.AttachMenuPeerTypePM - | Raw.AttachMenuPeerTypeChat - | Raw.AttachMenuPeerTypeBroadcast; - export type TypeAttachMenuBotIconColor = Raw.AttachMenuBotIconColor; - export type TypeGroupCallStreamChannel = Raw.GroupCallStreamChannel; - export type TypeAvailableReaction = Raw.AvailableReaction; - export type TypeMessageReactor = Raw.MessageReactor; - export type TypeMessagePeerReaction = Raw.MessagePeerReaction; - export type TypeUserFull = Raw.UserFull; - export type TypeSendAsPeer = Raw.SendAsPeer; - export type TypeSearchResultsPosition = Raw.SearchResultPosition; - export type TypeSearchResultsCalendarPeriod = Raw.SearchResultsCalendarPeriod; - export type TypeSponsoredMessage = Raw.SponsoredMessage; - export type TypeGroupCallParticipantVideoSourceGroup = Raw.GroupCallParticipantVideoSourceGroup; - export type TypeChatAdminWithInvites = Raw.ChatAdminWithInvites; - export type TypeChatInviteImporter = Raw.ChatInviteImporter; - export type TypeGroupCallParticipantVideo = Raw.GroupCallParticipantVideo; - export type TypeMessageViews = Raw.MessageViews; - export type TypeStatsGroupTopInviter = Raw.StatsGroupTopInviter; - export type TypeStatsGroupTopAdmin = Raw.StatsGroupTopAdmin; - export type TypeStatsGroupTopPoster = Raw.StatsGroupTopPoster; - export type TypePendingSuggestion = Raw.PendingSuggestion; - export type TypePostInteractionCounters = - | Raw.PostInteractionCountersMessage - | Raw.PostInteractionCountersStory; - export type TypeStatsGraph = Raw.StatsGraphAsync | Raw.StatsGraphError | Raw.StatsGraph; - export type TypeStatsPercentValue = Raw.StatsPercentValue; - export type TypeStatsAbsValueAndPrev = Raw.StatsAbsValueAndPrev; - export type TypeStatsDateRangeDays = Raw.StatsDateRangeDays; - export type TypeBankCardOpenUrl = Raw.BankCardOpenUrl; - export type TypeMessagePeerVote = - | Raw.MessagePeerVote - | Raw.MessagePeerVoteInputOption - | Raw.MessagePeerVoteMultiple; - export type TypeInputWallPaper = - | Raw.InputWallPaper - | Raw.InputWallPaperSlug - | Raw.InputWallPaperNoFile; - export type TypeBaseTheme = - | Raw.BaseThemeClassic - | Raw.BaseThemeDay - | Raw.BaseThemeNight - | Raw.BaseThemeTinted - | Raw.BaseThemeArctic; - export type TypeThemeSettings = Raw.ThemeSettings; - export type TypeMessagesFilter = - | Raw.InputMessagesFilterEmpty - | Raw.InputMessagesFilterPhotos - | Raw.InputMessagesFilterVideo - | Raw.InputMessagesFilterPhotoVideo - | Raw.InputMessagesFilterDocument - | Raw.InputMessagesFilterUrl - | Raw.InputMessagesFilterGif - | Raw.InputMessagesFilterVoice - | Raw.InputMessagesFilterMusic - | Raw.InputMessagesFilterChatPhotos - | Raw.InputMessagesFilterPhoneCalls - | Raw.InputMessagesFilterRoundVoice - | Raw.InputMessagesFilterRoundVideo - | Raw.InputMessagesFilterMyMentions - | Raw.InputMessagesFilterGeo - | Raw.InputMessagesFilterContacts - | Raw.InputMessagesFilterPinned; - export type TypeEmojiKeyword = Raw.EmojiKeyword | Raw.EmojiKeywordDeleted; - export type TypeAutoDownloadSettings = Raw.AutoDownloadSettings; - export type TypePollAnswerVoters = Raw.PollAnswerVoters; - export type TypePollAnswer = Raw.PollAnswer; - export type TypePageTableCell = Raw.PageTableCell; - export type TypeJSONObjectValue = Raw.JsonObjectValue; - export type TypeJSONValue = - | Raw.JsonNull - | Raw.JsonBool - | Raw.JsonNumber - | Raw.JsonString - | Raw.JsonArray - | Raw.JsonObject; - export type TypeSecureValueError = - | Raw.SecureValueErrorData - | Raw.SecureValueErrorFrontSide - | Raw.SecureValueErrorReverseSide - | Raw.SecureValueErrorSelfie - | Raw.SecureValueErrorFile - | Raw.SecureValueErrorFiles - | Raw.SecureValueError - | Raw.SecureValueErrorTranslationFile - | Raw.SecureValueErrorTranslationFiles; - export type TypeSecureRequiredType = Raw.SecureRequiredType | Raw.SecureRequiredTypeOneOf; - export type TypeInputSecureFile = Raw.InputSecureFileUploaded | Raw.InputSecureFile; - export type TypeSecurePlainData = Raw.SecurePlainPhone | Raw.SecurePlainEmail; - export type TypeSecureFile = Raw.SecureFileEmpty | Raw.SecureFile; - export type TypeSecureData = Raw.SecureData; - export type TypeWebAuthorization = Raw.WebAuthorization; - export type TypeRecentMeUrl = - | Raw.RecentMeUrlUnknown - | Raw.RecentMeUrlUser - | Raw.RecentMeUrlChat - | Raw.RecentMeUrlChatInvite - | Raw.RecentMeUrlStickerSet; - export type TypeChatInvite = Raw.ChatInviteAlready | Raw.ChatInvite | Raw.ChatInvitePeek; - export type TypeChannelAdminLogEvent = Raw.ChannelAdminLogEvent; - export type TypeChannelAdminLogEventAction = - | Raw.ChannelAdminLogEventActionChangeTitle - | Raw.ChannelAdminLogEventActionChangeAbout - | Raw.ChannelAdminLogEventActionChangeUsername - | Raw.ChannelAdminLogEventActionChangePhoto - | Raw.ChannelAdminLogEventActionToggleInvites - | Raw.ChannelAdminLogEventActionToggleSignatures - | Raw.ChannelAdminLogEventActionUpdatePinned - | Raw.ChannelAdminLogEventActionEditMessage - | Raw.ChannelAdminLogEventActionDeleteMessage - | Raw.ChannelAdminLogEventActionParticipantJoin - | Raw.ChannelAdminLogEventActionParticipantLeave - | Raw.ChannelAdminLogEventActionParticipantInvite - | Raw.ChannelAdminLogEventActionParticipantToggleBan - | Raw.ChannelAdminLogEventActionParticipantToggleAdmin - | Raw.ChannelAdminLogEventActionChangeStickerSet - | Raw.ChannelAdminLogEventActionTogglePreHistoryHidden - | Raw.ChannelAdminLogEventActionDefaultBannedRights - | Raw.ChannelAdminLogEventActionStopPoll - | Raw.ChannelAdminLogEventActionChangeLinkedChat - | Raw.ChannelAdminLogEventActionChangeLocation - | Raw.ChannelAdminLogEventActionToggleSlowMode - | Raw.ChannelAdminLogEventActionStartGroupCall - | Raw.ChannelAdminLogEventActionDiscardGroupCall - | Raw.ChannelAdminLogEventActionParticipantMute - | Raw.ChannelAdminLogEventActionParticipantUnmute - | Raw.ChannelAdminLogEventActionToggleGroupCallSetting - | Raw.ChannelAdminLogEventActionParticipantJoinByInvite - | Raw.ChannelAdminLogEventActionExportedInviteDelete - | Raw.ChannelAdminLogEventActionExportedInviteRevoke - | Raw.ChannelAdminLogEventActionExportedInviteEdit - | Raw.ChannelAdminLogEventActionParticipantVolume - | Raw.ChannelAdminLogEventActionChangeHistoryTTL - | Raw.ChannelAdminLogEventActionParticipantJoinByRequest - | Raw.ChannelAdminLogEventActionToggleNoForwards - | Raw.ChannelAdminLogEventActionSendMessage - | Raw.ChannelAdminLogEventActionChangeAvailableReactions - | Raw.ChannelAdminLogEventActionChangeUsernames - | Raw.ChannelAdminLogEventActionToggleForum - | Raw.ChannelAdminLogEventActionCreateTopic - | Raw.ChannelAdminLogEventActionEditTopic - | Raw.ChannelAdminLogEventActionDeleteTopic - | Raw.ChannelAdminLogEventActionPinTopic - | Raw.ChannelAdminLogEventActionToggleAntiSpam - | Raw.ChannelAdminLogEventActionChangePeerColor - | Raw.ChannelAdminLogEventActionChangeProfilePeerColor - | Raw.ChannelAdminLogEventActionChangeWallpaper - | Raw.ChannelAdminLogEventActionChangeEmojiStatus - | Raw.ChannelAdminLogEventActionChangeEmojiStickerSet - | Raw.ChannelAdminLogEventActionToggleSignatureProfiles - | Raw.ChannelAdminLogEventActionParticipantSubExtend - | Raw.ChannelAdminLogEventActionToggleAutotranslation; - export type TypeLangPackString = - | Raw.LangPackString - | Raw.LangPackStringPluralized - | Raw.LangPackStringDeleted; - export type TypeCdnPublicKey = Raw.CdnPublicKey; - export type TypePhoneConnection = Raw.PhoneConnection | Raw.PhoneConnectionWebrtc; - export type TypePhoneCallProtocol = Raw.PhoneCallProtocol; - export type TypeUpdates = - | Raw.UpdatesTooLong - | Raw.UpdateShortMessage - | Raw.UpdateShortChatMessage - | Raw.UpdateShort - | Raw.UpdatesCombined - | Raw.Updates - | Raw.UpdateShortSentMessage; - export type TypeShippingOption = Raw.ShippingOption; - export type TypePaymentSavedCredentials = Raw.PaymentSavedCredentialsCard; - export type TypePaymentFormMethod = Raw.PaymentFormMethod; - export type TypeLabeledPrice = Raw.LabeledPrice; - export type TypePageRelatedArticle = Raw.PageRelatedArticle; - export type TypePageListOrderedItem = Raw.PageListOrderedItemText | Raw.PageListOrderedItemBlocks; - export type TypePageTableRow = Raw.PageTableRow; - export type TypePageBlock = - | Raw.PageBlockUnsupported - | Raw.PageBlockTitle - | Raw.PageBlockSubtitle - | Raw.PageBlockAuthorDate - | Raw.PageBlockHeader - | Raw.PageBlockSubheader - | Raw.PageBlockParagraph - | Raw.PageBlockPreformatted - | Raw.PageBlockFooter - | Raw.PageBlockDivider - | Raw.PageBlockAnchor - | Raw.PageBlockList - | Raw.PageBlockBlockquote - | Raw.PageBlockPullquote - | Raw.PageBlockPhoto - | Raw.PageBlockVideo - | Raw.PageBlockCover - | Raw.PageBlockEmbed - | Raw.PageBlockEmbedPost - | Raw.PageBlockCollage - | Raw.PageBlockSlideshow - | Raw.PageBlockChannel - | Raw.PageBlockAudio - | Raw.PageBlockKicker - | Raw.PageBlockTable - | Raw.PageBlockOrderedList - | Raw.PageBlockDetails - | Raw.PageBlockRelatedArticles - | Raw.PageBlockMap; - export type TypePageCaption = Raw.PageCaption; - export type TypePageListItem = Raw.PageListItemText | Raw.PageListItemBlocks; - export type TypeRichText = - | Raw.TextEmpty - | Raw.TextPlain - | Raw.TextBold - | Raw.TextItalic - | Raw.TextUnderline - | Raw.TextStrike - | Raw.TextFixed - | Raw.TextUrl - | Raw.TextEmail - | Raw.TextConcat - | Raw.TextSubscript - | Raw.TextSuperscript - | Raw.TextMarked - | Raw.TextPhone - | Raw.TextImage - | Raw.TextAnchor; - export type TypeHighScore = Raw.HighScore; - export type TypeStickerSetCovered = - | Raw.StickerSetCovered - | Raw.StickerSetMultiCovered - | Raw.StickerSetFullCovered - | Raw.StickerSetNoCovered; - export type TypeInputReplyTo = - | Raw.InputReplyToMessage - | Raw.InputReplyToStory - | Raw.InputReplyToMonoForum; - export type TypeTopPeerCategoryPeers = Raw.TopPeerCategoryPeers; - export type TypeTopPeer = Raw.TopPeer; - export type TypeTopPeerCategory = - | Raw.TopPeerCategoryBotsPM - | Raw.TopPeerCategoryBotsInline - | Raw.TopPeerCategoryCorrespondents - | Raw.TopPeerCategoryGroups - | Raw.TopPeerCategoryChannels - | Raw.TopPeerCategoryPhoneCalls - | Raw.TopPeerCategoryForwardUsers - | Raw.TopPeerCategoryForwardChats - | Raw.TopPeerCategoryBotsApp; - export type TypeBotInlineResult = Raw.BotInlineResult | Raw.BotInlineMediaResult; - export type TypeInlineBotWebView = Raw.InlineBotWebView; - export type TypeInlineBotSwitchPM = Raw.InlineBotSwitchPM; - export type TypeBotInlineMessage = - | Raw.BotInlineMessageMediaAuto - | Raw.BotInlineMessageText - | Raw.BotInlineMessageMediaGeo - | Raw.BotInlineMessageMediaVenue - | Raw.BotInlineMessageMediaContact - | Raw.BotInlineMessageMediaInvoice - | Raw.BotInlineMessageMediaWebPage; - export type TypeInputBotInlineMessage = - | Raw.InputBotInlineMessageMediaAuto - | Raw.InputBotInlineMessageText - | Raw.InputBotInlineMessageMediaGeo - | Raw.InputBotInlineMessageMediaVenue - | Raw.InputBotInlineMessageMediaContact - | Raw.InputBotInlineMessageGame - | Raw.InputBotInlineMessageMediaInvoice - | Raw.InputBotInlineMessageMediaWebPage; - export type TypeMessageRange = Raw.MessageRange; - export type TypeKeyboardButtonRow = Raw.KeyboardButtonRow; - export type TypeKeyboardButton = - | Raw.KeyboardButton - | Raw.KeyboardButtonUrl - | Raw.KeyboardButtonCallback - | Raw.KeyboardButtonRequestPhone - | Raw.KeyboardButtonRequestGeoLocation - | Raw.KeyboardButtonSwitchInline - | Raw.KeyboardButtonGame - | Raw.KeyboardButtonBuy - | Raw.KeyboardButtonUrlAuth - | Raw.InputKeyboardButtonUrlAuth - | Raw.KeyboardButtonRequestPoll - | Raw.InputKeyboardButtonUserProfile - | Raw.KeyboardButtonUserProfile - | Raw.KeyboardButtonWebView - | Raw.KeyboardButtonSimpleWebView - | Raw.KeyboardButtonRequestPeer - | Raw.InputKeyboardButtonRequestPeer - | Raw.KeyboardButtonCopy; - export type TypeRequestPeerType = - | Raw.RequestPeerTypeUser - | Raw.RequestPeerTypeChat - | Raw.RequestPeerTypeBroadcast; - export type TypeBotVerifierSettings = Raw.BotVerifierSettings; - export type TypeBotAppSettings = Raw.BotAppSettings; - export type TypeStickerKeyword = Raw.StickerKeyword; - export type TypeStickerPack = Raw.StickerPack; - export type TypeStarsSubscriptionPricing = Raw.StarsSubscriptionPricing; - export type TypeSecureSecretSettings = Raw.SecureSecretSettings; - export type TypeSecurePasswordKdfAlgo = - | Raw.SecurePasswordKdfAlgoUnknown - | Raw.SecurePasswordKdfAlgoPBKDF2HMACSHA512iter100000 - | Raw.SecurePasswordKdfAlgoSHA512; - export type TypePasswordKdfAlgo = - | Raw.PasswordKdfAlgoUnknown - | Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow; - export type TypeAuthorization = Raw.Authorization; - export type TypeWebPageAttribute = - | Raw.WebPageAttributeTheme - | Raw.WebPageAttributeStory - | Raw.WebPageAttributeStickerSet - | Raw.WebPageAttributeUniqueStarGift; - export type TypePage = Raw.Page; - export type TypeMaskCoords = Raw.MaskCoords; - export type TypeInputUser = - | Raw.InputUserEmpty - | Raw.InputUserSelf - | Raw.InputUser - | Raw.InputUserFromMessage; - export type TypeEncryptedFile = Raw.EncryptedFileEmpty | Raw.EncryptedFile; - export type TypeFileHash = Raw.FileHash; - export type TypeUpdate = - | Raw.UpdateNewMessage - | Raw.UpdateMessageID - | Raw.UpdateDeleteMessages - | Raw.UpdateUserTyping - | Raw.UpdateChatUserTyping - | Raw.UpdateChatParticipants - | Raw.UpdateUserStatus - | Raw.UpdateUserName - | Raw.UpdateNewAuthorization - | Raw.UpdateNewEncryptedMessage - | Raw.UpdateEncryptedChatTyping - | Raw.UpdateEncryption - | Raw.UpdateEncryptedMessagesRead - | Raw.UpdateChatParticipantAdd - | Raw.UpdateChatParticipantDelete - | Raw.UpdateDcOptions - | Raw.UpdateNotifySettings - | Raw.UpdateServiceNotification - | Raw.UpdatePrivacy - | Raw.UpdateUserPhone - | Raw.UpdateReadHistoryInbox - | Raw.UpdateReadHistoryOutbox - | Raw.UpdateWebPage - | Raw.UpdateReadMessagesContents - | Raw.UpdateChannelTooLong - | Raw.UpdateChannel - | Raw.UpdateNewChannelMessage - | Raw.UpdateReadChannelInbox - | Raw.UpdateDeleteChannelMessages - | Raw.UpdateChannelMessageViews - | Raw.UpdateChatParticipantAdmin - | Raw.UpdateNewStickerSet - | Raw.UpdateStickerSetsOrder - | Raw.UpdateStickerSets - | Raw.UpdateSavedGifs - | Raw.UpdateBotInlineQuery - | Raw.UpdateBotInlineSend - | Raw.UpdateEditChannelMessage - | Raw.UpdateBotCallbackQuery - | Raw.UpdateEditMessage - | Raw.UpdateInlineBotCallbackQuery - | Raw.UpdateReadChannelOutbox - | Raw.UpdateDraftMessage - | Raw.UpdateReadFeaturedStickers - | Raw.UpdateRecentStickers - | Raw.UpdateConfig - | Raw.UpdatePtsChanged - | Raw.UpdateChannelWebPage - | Raw.UpdateDialogPinned - | Raw.UpdatePinnedDialogs - | Raw.UpdateBotWebhookJSON - | Raw.UpdateBotWebhookJSONQuery - | Raw.UpdateBotShippingQuery - | Raw.UpdateBotPrecheckoutQuery - | Raw.UpdatePhoneCall - | Raw.UpdateLangPackTooLong - | Raw.UpdateLangPack - | Raw.UpdateFavedStickers - | Raw.UpdateChannelReadMessagesContents - | Raw.UpdateContactsReset - | Raw.UpdateChannelAvailableMessages - | Raw.UpdateDialogUnreadMark - | Raw.UpdateMessagePoll - | Raw.UpdateChatDefaultBannedRights - | Raw.UpdateFolderPeers - | Raw.UpdatePeerSettings - | Raw.UpdatePeerLocated - | Raw.UpdateNewScheduledMessage - | Raw.UpdateDeleteScheduledMessages - | Raw.UpdateTheme - | Raw.UpdateGeoLiveViewed - | Raw.UpdateLoginToken - | Raw.UpdateMessagePollVote - | Raw.UpdateDialogFilter - | Raw.UpdateDialogFilterOrder - | Raw.UpdateDialogFilters - | Raw.UpdatePhoneCallSignalingData - | Raw.UpdateChannelMessageForwards - | Raw.UpdateReadChannelDiscussionInbox - | Raw.UpdateReadChannelDiscussionOutbox - | Raw.UpdatePeerBlocked - | Raw.UpdateChannelUserTyping - | Raw.UpdatePinnedMessages - | Raw.UpdatePinnedChannelMessages - | Raw.UpdateChat - | Raw.UpdateGroupCallParticipants - | Raw.UpdateGroupCall - | Raw.UpdatePeerHistoryTTL - | Raw.UpdateChatParticipant - | Raw.UpdateChannelParticipant - | Raw.UpdateBotStopped - | Raw.UpdateGroupCallConnection - | Raw.UpdateBotCommands - | Raw.UpdatePendingJoinRequests - | Raw.UpdateBotChatInviteRequester - | Raw.UpdateMessageReactions - | Raw.UpdateAttachMenuBots - | Raw.UpdateWebViewResultSent - | Raw.UpdateBotMenuButton - | Raw.UpdateSavedRingtones - | Raw.UpdateTranscribedAudio - | Raw.UpdateReadFeaturedEmojiStickers - | Raw.UpdateUserEmojiStatus - | Raw.UpdateRecentEmojiStatuses - | Raw.UpdateRecentReactions - | Raw.UpdateMoveStickerSetToTop - | Raw.UpdateMessageExtendedMedia - | Raw.UpdateChannelPinnedTopic - | Raw.UpdateChannelPinnedTopics - | Raw.UpdateUser - | Raw.UpdateAutoSaveSettings - | Raw.UpdateStory - | Raw.UpdateReadStories - | Raw.UpdateStoryID - | Raw.UpdateStoriesStealthMode - | Raw.UpdateSentStoryReaction - | Raw.UpdateBotChatBoost - | Raw.UpdateChannelViewForumAsMessages - | Raw.UpdatePeerWallpaper - | Raw.UpdateBotMessageReaction - | Raw.UpdateBotMessageReactions - | Raw.UpdateSavedDialogPinned - | Raw.UpdatePinnedSavedDialogs - | Raw.UpdateSavedReactionTags - | Raw.UpdateSmsJob - | Raw.UpdateQuickReplies - | Raw.UpdateNewQuickReply - | Raw.UpdateDeleteQuickReply - | Raw.UpdateQuickReplyMessage - | Raw.UpdateDeleteQuickReplyMessages - | Raw.UpdateBotBusinessConnect - | Raw.UpdateBotNewBusinessMessage - | Raw.UpdateBotEditBusinessMessage - | Raw.UpdateBotDeleteBusinessMessage - | Raw.UpdateNewStoryReaction - | Raw.UpdateStarsBalance - | Raw.UpdateBusinessBotCallbackQuery - | Raw.UpdateStarsRevenueStatus - | Raw.UpdateBotPurchasedPaidMedia - | Raw.UpdatePaidReactionPrivacy - | Raw.UpdateSentPhoneCode - | Raw.UpdateGroupCallChainBlocks - | Raw.UpdateReadMonoForumInbox - | Raw.UpdateReadMonoForumOutbox - | Raw.UpdateMonoForumNoPaidException - | UpdateSecretChatMessage; - export type TypePaidReactionPrivacy = - | Raw.PaidReactionPrivacyDefault - | Raw.PaidReactionPrivacyAnonymous - | Raw.PaidReactionPrivacyPeer; - export type TypeStarsRevenueStatus = Raw.StarsRevenueStatus; - export type TypeBotBusinessConnection = Raw.BotBusinessConnection; - export type TypeQuickReply = Raw.QuickReply; - export type TypeReactionCount = Raw.ReactionCount; - export type TypeBoost = Raw.Boost; - export type TypeReaction = - | Raw.ReactionEmpty - | Raw.ReactionEmoji - | Raw.ReactionCustomEmoji - | Raw.ReactionPaid; - export type TypeStoriesStealthMode = Raw.StoriesStealthMode; - export type TypeBotMenuButton = - | Raw.BotMenuButtonDefault - | Raw.BotMenuButtonCommands - | Raw.BotMenuButton; - export type TypeBotCommand = Raw.BotCommand; - export type TypeChannelParticipant = - | Raw.ChannelParticipant - | Raw.ChannelParticipantSelf - | Raw.ChannelParticipantCreator - | Raw.ChannelParticipantAdmin - | Raw.ChannelParticipantBanned - | Raw.ChannelParticipantLeft; - export type TypeGroupCall = Raw.GroupCallDiscarded | Raw.GroupCall; - export type TypeGroupCallParticipant = Raw.GroupCallParticipant; - export type TypeDialogFilter = - | Raw.DialogFilter - | Raw.DialogFilterDefault - | Raw.DialogFilterChatlist; - export type TypeTheme = Raw.Theme; - export type TypePeerLocated = Raw.PeerLocated | Raw.PeerSelfLocated; - export type TypeFolderPeer = Raw.FolderPeer; - export type TypeLangPackDifference = Raw.LangPackDifference; - export type TypePhoneCall = - | Raw.PhoneCallEmpty - | Raw.PhoneCallWaiting - | Raw.PhoneCallRequested - | Raw.PhoneCallAccepted - | Raw.PhoneCall - | Raw.PhoneCallDiscarded; - export type TypePostAddress = Raw.PostAddress; - export type TypeDialogPeer = Raw.DialogPeer | Raw.DialogPeerFolder; - export type TypeInputBotInlineMessageID = - | Raw.InputBotInlineMessageID - | Raw.InputBotInlineMessageID64; - export type TypeInlineQueryPeerType = - | Raw.InlineQueryPeerTypeSameBotPM - | Raw.InlineQueryPeerTypePM - | Raw.InlineQueryPeerTypeChat - | Raw.InlineQueryPeerTypeMegagroup - | Raw.InlineQueryPeerTypeBroadcast - | Raw.InlineQueryPeerTypeBotPM; - export type TypePrivacyRule = - | Raw.PrivacyValueAllowContacts - | Raw.PrivacyValueAllowAll - | Raw.PrivacyValueAllowUsers - | Raw.PrivacyValueDisallowContacts - | Raw.PrivacyValueDisallowAll - | Raw.PrivacyValueDisallowUsers - | Raw.PrivacyValueAllowChatParticipants - | Raw.PrivacyValueDisallowChatParticipants - | Raw.PrivacyValueAllowCloseFriends - | Raw.PrivacyValueAllowPremium - | Raw.PrivacyValueAllowBots - | Raw.PrivacyValueDisallowBots; - export type TypePrivacyKey = - | Raw.PrivacyKeyStatusTimestamp - | Raw.PrivacyKeyChatInvite - | Raw.PrivacyKeyPhoneCall - | Raw.PrivacyKeyPhoneP2P - | Raw.PrivacyKeyForwards - | Raw.PrivacyKeyProfilePhoto - | Raw.PrivacyKeyPhoneNumber - | Raw.PrivacyKeyAddedByPhone - | Raw.PrivacyKeyVoiceMessages - | Raw.PrivacyKeyAbout - | Raw.PrivacyKeyBirthday - | Raw.PrivacyKeyStarGiftsAutoSave - | Raw.PrivacyKeyNoPaidMessages; - export type TypeNotifyPeer = - | Raw.NotifyPeer - | Raw.NotifyUsers - | Raw.NotifyChats - | Raw.NotifyBroadcasts - | Raw.NotifyForumTopic; - export type TypeDcOption = Raw.DcOption; - export type TypeEncryptedChat = - | Raw.EncryptedChatEmpty - | Raw.EncryptedChatWaiting - | Raw.EncryptedChatRequested - | Raw.EncryptedChat - | Raw.EncryptedChatDiscarded; - export type TypeEncryptedMessage = Raw.EncryptedMessage | Raw.EncryptedMessageService; - export type TypeSendMessageAction = - | Raw.SendMessageTypingAction - | Raw.SendMessageCancelAction - | Raw.SendMessageRecordVideoAction - | Raw.SendMessageUploadVideoAction - | Raw.SendMessageRecordAudioAction - | Raw.SendMessageUploadAudioAction - | Raw.SendMessageUploadPhotoAction - | Raw.SendMessageUploadDocumentAction - | Raw.SendMessageGeoLocationAction - | Raw.SendMessageChooseContactAction - | Raw.SendMessageGamePlayAction - | Raw.SendMessageRecordRoundAction - | Raw.SendMessageUploadRoundAction - | Raw.SpeakingInGroupCallAction - | Raw.SendMessageHistoryImportAction - | Raw.SendMessageChooseStickerAction - | Raw.SendMessageEmojiInteraction - | Raw.SendMessageEmojiInteractionSeen - | Raw.SendMessageUploadVideoAction17 - | Raw.SendMessageUploadAudioAction17 - | Raw.SendMessageUploadPhotoAction17 - | Raw.SendMessageUploadDocumentAction17 - | Raw.SendMessageUploadRoundAction66; - export type TypeChatFull = Raw.ChatFull | Raw.ChannelFull; - export type TypeForumTopic = Raw.ForumTopicDeleted | Raw.ForumTopic; - export type TypeMessage = Raw.MessageEmpty | Raw.Message | Raw.MessageService; - export type TypeDialog = Raw.Dialog | Raw.DialogFolder; - export type TypeChat = - | Raw.ChatEmpty - | Raw.Chat - | Raw.ChatForbidden - | Raw.Channel - | Raw.ChannelForbidden; - export type TypePeerBlocked = Raw.PeerBlocked; - export type TypePopularContact = Raw.PopularContact; - export type TypeImportedContact = Raw.ImportedContact; - export type TypeContact = Raw.Contact; - export type TypeDisallowedGiftsSettings = Raw.DisallowedGiftsSettings; - export type TypeStarRefProgram = Raw.StarRefProgram; - export type TypeBirthday = Raw.Birthday; - export type TypeBusinessIntro = Raw.BusinessIntro; - export type TypeBusinessAwayMessage = Raw.BusinessAwayMessage; - export type TypeBusinessGreetingMessage = Raw.BusinessGreetingMessage; - export type TypeBusinessLocation = Raw.BusinessLocation; - export type TypeBusinessWorkHours = Raw.BusinessWorkHours; - export type TypePeerSettings = Raw.PeerSettings; - export type TypeWallPaperSettings = Raw.WallPaperSettings; - export type TypeNotificationSound = - | Raw.NotificationSoundDefault - | Raw.NotificationSoundNone - | Raw.NotificationSoundLocal - | Raw.NotificationSoundRingtone; - export type TypeUser = Raw.UserEmpty | Raw.User; - export type TypePhotoSize = - | Raw.PhotoSizeEmpty - | Raw.PhotoSize - | Raw.PhotoCachedSize - | Raw.PhotoStrippedSize - | Raw.PhotoSizeProgressive - | Raw.PhotoPathSize - | Raw.PhotoSize23 - | Raw.PhotoCachedSize23; - export type TypeFolder = Raw.Folder; - export type TypeDraftMessage = Raw.DraftMessageEmpty | Raw.DraftMessage; - export type TypeStarsAmount = Raw.StarsAmount | Raw.StarsTonAmount; - export type TypeTodoItem = Raw.TodoItem; - export type TypeStarGift = Raw.StarGift | Raw.StarGiftUnique; - export type TypeRequestedPeer = - | Raw.RequestedPeerUser - | Raw.RequestedPeerChat - | Raw.RequestedPeerChannel; - export type TypeTextWithEntities = Raw.TextWithEntities; - export type TypeSecureValueType = - | Raw.SecureValueTypePersonalDetails - | Raw.SecureValueTypePassport - | Raw.SecureValueTypeDriverLicense - | Raw.SecureValueTypeIdentityCard - | Raw.SecureValueTypeInternalPassport - | Raw.SecureValueTypeAddress - | Raw.SecureValueTypeUtilityBill - | Raw.SecureValueTypeBankStatement - | Raw.SecureValueTypeRentalAgreement - | Raw.SecureValueTypePassportRegistration - | Raw.SecureValueTypeTemporaryRegistration - | Raw.SecureValueTypePhone - | Raw.SecureValueTypeEmail; - export type TypeSecureCredentialsEncrypted = Raw.SecureCredentialsEncrypted; - export type TypeSecureValue = Raw.SecureValue; - export type TypeBotApp = Raw.BotAppNotModified | Raw.BotApp; - export type TypePhoneCallDiscardReason = - | Raw.PhoneCallDiscardReasonMissed - | Raw.PhoneCallDiscardReasonDisconnect - | Raw.PhoneCallDiscardReasonHangup - | Raw.PhoneCallDiscardReasonBusy - | Raw.PhoneCallDiscardReasonMigrateConferenceCall; - export type TypePaymentCharge = Raw.PaymentCharge; - export type TypePaymentRequestedInfo = Raw.PaymentRequestedInfo; - export type TypeTodoCompletion = Raw.TodoCompletion; - export type TypeStoryItem = Raw.StoryItemDeleted | Raw.StoryItemSkipped | Raw.StoryItem; - export type TypePollResults = Raw.PollResults; - export type TypeMessageExtendedMedia = Raw.MessageExtendedMediaPreview | Raw.MessageExtendedMedia; - export type TypeWebDocument = Raw.WebDocument | Raw.WebDocumentNoProxy; - export type TypeGame = Raw.Game; - export type TypeWebPage = - | Raw.WebPageEmpty - | Raw.WebPagePending - | Raw.WebPage - | Raw.WebPageNotModified; - export type TypeDocument = Raw.DocumentEmpty | Raw.Document; - export type TypeGeoPoint = Raw.GeoPointEmpty | Raw.GeoPoint; - export type TypeMessageAction = - | Raw.MessageActionEmpty - | Raw.MessageActionChatCreate - | Raw.MessageActionChatEditTitle - | Raw.MessageActionChatEditPhoto - | Raw.MessageActionChatDeletePhoto - | Raw.MessageActionChatAddUser - | Raw.MessageActionChatDeleteUser - | Raw.MessageActionChatJoinedByLink - | Raw.MessageActionChannelCreate - | Raw.MessageActionChatMigrateTo - | Raw.MessageActionChannelMigrateFrom - | Raw.MessageActionPinMessage - | Raw.MessageActionHistoryClear - | Raw.MessageActionGameScore - | Raw.MessageActionPaymentSentMe - | Raw.MessageActionPaymentSent - | Raw.MessageActionPhoneCall - | Raw.MessageActionScreenshotTaken - | Raw.MessageActionCustomAction - | Raw.MessageActionBotAllowed - | Raw.MessageActionSecureValuesSentMe - | Raw.MessageActionSecureValuesSent - | Raw.MessageActionContactSignUp - | Raw.MessageActionGeoProximityReached - | Raw.MessageActionGroupCall - | Raw.MessageActionInviteToGroupCall - | Raw.MessageActionSetMessagesTTL - | Raw.MessageActionGroupCallScheduled - | Raw.MessageActionSetChatTheme - | Raw.MessageActionChatJoinedByRequest - | Raw.MessageActionWebViewDataSentMe - | Raw.MessageActionWebViewDataSent - | Raw.MessageActionGiftPremium - | Raw.MessageActionTopicCreate - | Raw.MessageActionTopicEdit - | Raw.MessageActionSuggestProfilePhoto - | Raw.MessageActionRequestedPeer - | Raw.MessageActionSetChatWallPaper - | Raw.MessageActionGiftCode - | Raw.MessageActionGiveawayLaunch - | Raw.MessageActionGiveawayResults - | Raw.MessageActionBoostApply - | Raw.MessageActionRequestedPeerSentMe - | Raw.MessageActionPaymentRefunded - | Raw.MessageActionGiftStars - | Raw.MessageActionPrizeStars - | Raw.MessageActionStarGift - | Raw.MessageActionStarGiftUnique - | Raw.MessageActionPaidMessagesRefunded - | Raw.MessageActionPaidMessagesPrice - | Raw.MessageActionConferenceCall - | Raw.MessageActionTodoCompletions - | Raw.MessageActionTodoAppendTasks - | Raw.MessageActionSuggestedPostApproval - | Raw.MessageActionSuggestedPostSuccess - | Raw.MessageActionSuggestedPostRefund - | Raw.MessageActionGiftTon; - export type TypeSuggestedPost = Raw.SuggestedPost; - export type TypeFactCheck = Raw.FactCheck; - export type TypeMessageReactions = Raw.MessageReactions; - export type TypeMessageReplies = Raw.MessageReplies; - export type TypeReplyMarkup = - | Raw.ReplyKeyboardHide - | Raw.ReplyKeyboardForceReply - | Raw.ReplyKeyboardMarkup - | Raw.ReplyInlineMarkup; - export type TypeMessageMedia = - | Raw.MessageMediaEmpty - | Raw.MessageMediaPhoto - | Raw.MessageMediaGeo - | Raw.MessageMediaContact - | Raw.MessageMediaUnsupported - | Raw.MessageMediaDocument - | Raw.MessageMediaWebPage - | Raw.MessageMediaVenue - | Raw.MessageMediaGame - | Raw.MessageMediaInvoice - | Raw.MessageMediaGeoLive - | Raw.MessageMediaPoll - | Raw.MessageMediaDice - | Raw.MessageMediaStory - | Raw.MessageMediaGiveaway - | Raw.MessageMediaGiveawayResults - | Raw.MessageMediaPaidMedia - | Raw.MessageMediaToDo; - export type TypeMessageReplyHeader = Raw.MessageReplyHeader | Raw.MessageReplyStoryHeader; - export type TypeMessageFwdHeader = Raw.MessageFwdHeader; - export type TypeChatParticipant = - | Raw.ChatParticipant - | Raw.ChatParticipantCreator - | Raw.ChatParticipantAdmin; - export type TypeBotVerification = Raw.BotVerification; - export type TypeWallPaper = Raw.WallPaper | Raw.WallPaperNoFile; - export type TypePeerStories = Raw.PeerStories; - export type TypeChannelLocation = Raw.ChannelLocationEmpty | Raw.ChannelLocation; - export type TypeStickerSet = Raw.StickerSet; - export type TypeChatReactions = - | Raw.ChatReactionsNone - | Raw.ChatReactionsAll - | Raw.ChatReactionsSome; - export type TypePeer = Raw.PeerUser | Raw.PeerChat | Raw.PeerChannel; - export type TypeBotInfo = Raw.BotInfo; - export type TypeExportedChatInvite = Raw.ChatInviteExported | Raw.ChatInvitePublicJoinRequests; - export type TypePeerNotifySettings = Raw.PeerNotifySettings; - export type TypePhoto = Raw.PhotoEmpty | Raw.Photo; - export type TypeChatParticipants = Raw.ChatParticipantsForbidden | Raw.ChatParticipants; - export type TypeChatBannedRights = Raw.ChatBannedRights; - export type TypeChatAdminRights = Raw.ChatAdminRights; - export type TypeInputChannel = - | Raw.InputChannelEmpty - | Raw.InputChannel - | Raw.InputChannelFromMessage; - export type TypeChatPhoto = Raw.ChatPhotoEmpty | Raw.ChatPhoto; - export type TypePeerColor = Raw.PeerColor; - export type TypeUsername = Raw.Username; - export type TypeEmojiStatus = - | Raw.EmojiStatusEmpty - | Raw.EmojiStatus - | Raw.EmojiStatusCollectible - | Raw.InputEmojiStatusCollectible; - export type TypeRestrictionReason = Raw.RestrictionReason; - export type TypeUserStatus = - | Raw.UserStatusEmpty - | Raw.UserStatusOnline - | Raw.UserStatusOffline - | Raw.UserStatusRecently - | Raw.UserStatusLastWeek - | Raw.UserStatusLastMonth; - export type TypeUserProfilePhoto = Raw.UserProfilePhotoEmpty | Raw.UserProfilePhoto; - export type TypeInputGroupCall = - | Raw.InputGroupCall - | Raw.InputGroupCallSlug - | Raw.InputGroupCallInviteMessage; - export type TypeInputStickerSet = - | Raw.InputStickerSetEmpty - | Raw.InputStickerSetID - | Raw.InputStickerSetShortName - | Raw.InputStickerSetAnimatedEmoji - | Raw.InputStickerSetDice - | Raw.InputStickerSetAnimatedEmojiAnimations - | Raw.InputStickerSetPremiumGifts - | Raw.InputStickerSetEmojiGenericAnimations - | Raw.InputStickerSetEmojiDefaultStatuses - | Raw.InputStickerSetEmojiDefaultTopicIcons - | Raw.InputStickerSetEmojiChannelDefaultStatuses - | Raw.InputStickerSetTonGifts; - export type TypeVideoSize = Raw.VideoSize | Raw.VideoSizeEmojiMarkup | Raw.VideoSizeStickerMarkup; - export type TypeTodoList = Raw.TodoList; - export type TypeMessageEntity = - | Raw.MessageEntityUnknown - | Raw.MessageEntityMention - | Raw.MessageEntityHashtag - | Raw.MessageEntityBotCommand - | Raw.MessageEntityUrl - | Raw.MessageEntityEmail - | Raw.MessageEntityBold - | Raw.MessageEntityItalic - | Raw.MessageEntityCode - | Raw.MessageEntityPre - | Raw.MessageEntityTextUrl - | Raw.MessageEntityMentionName - | Raw.InputMessageEntityMentionName - | Raw.MessageEntityPhone - | Raw.MessageEntityCashtag - | Raw.MessageEntityUnderline - | Raw.MessageEntityStrike - | Raw.MessageEntityBankCard - | Raw.MessageEntitySpoiler - | Raw.MessageEntityCustomEmoji - | Raw.MessageEntityBlockquote - | Raw.MessageEntityBlockquote101; - export type TypePoll = Raw.Poll; - export type TypeInputMedia = - | Raw.InputMediaEmpty - | Raw.InputMediaUploadedPhoto - | Raw.InputMediaPhoto - | Raw.InputMediaGeoPoint - | Raw.InputMediaContact - | Raw.InputMediaUploadedDocument - | Raw.InputMediaDocument - | Raw.InputMediaVenue - | Raw.InputMediaPhotoExternal - | Raw.InputMediaDocumentExternal - | Raw.InputMediaGame - | Raw.InputMediaInvoice - | Raw.InputMediaGeoLive - | Raw.InputMediaPoll - | Raw.InputMediaDice - | Raw.InputMediaStory - | Raw.InputMediaWebPage - | Raw.InputMediaPaidMedia - | Raw.InputMediaTodo; - export type TypeDataJSON = Raw.DataJSON; - export type TypeInvoice = Raw.Invoice; - export type TypeInputWebDocument = Raw.InputWebDocument; - export type TypeInputGame = Raw.InputGameID | Raw.InputGameShortName; - export type TypeDocumentAttribute = - | Raw.DocumentAttributeImageSize - | Raw.DocumentAttributeAnimated - | Raw.DocumentAttributeSticker - | Raw.DocumentAttributeVideo - | Raw.DocumentAttributeAudio - | Raw.DocumentAttributeFilename - | Raw.DocumentAttributeHasStickers - | Raw.DocumentAttributeCustomEmoji - | Raw.DocumentAttributeSticker23 - | Raw.DocumentAttributeVideo23 - | Raw.DocumentAttributeAudio23 - | Raw.DocumentAttributeSticker45 - | Raw.DocumentAttributeAudio45 - | Raw.DocumentAttributeVideo66; - export type TypeInputGeoPoint = Raw.InputGeoPointEmpty | Raw.InputGeoPoint; - export type TypeInputPhoto = Raw.InputPhotoEmpty | Raw.InputPhoto; - export type TypeInputFile = Raw.InputFile | Raw.InputFileBig | Raw.InputFileStoryDocument; - export type TypeInputDocument = Raw.InputDocumentEmpty | Raw.InputDocument; - export type TypeInputPeer = - | Raw.InputPeerEmpty - | Raw.InputPeerSelf - | Raw.InputPeerChat - | Raw.InputPeerUser - | Raw.InputPeerChannel - | Raw.InputPeerUserFromMessage - | Raw.InputPeerChannelFromMessage; - export type TypeDestroySessionRes = Raw.DestroySessionOk | Raw.DestroySessionNone; - export type TypePong = Raw.Pong; - export type TypeFutureSalts = Raw.FutureSalts; - export type TypeRpcDropAnswer = - | Raw.RpcAnswerUnknown - | Raw.RpcAnswerDroppedRunning - | Raw.RpcAnswerDropped; - export type TypeAccessPointRule = Raw.AccessPointRule; - export type TypeIpPort = Raw.IpPort | Raw.IpPortSecret; - export type TypeFutureSalt = Raw.FutureSalt; - export type TypeDestroyAuthKeyRes = - | Raw.DestroyAuthKeyOk - | Raw.DestroyAuthKeyNone - | Raw.DestroyAuthKeyFail; - export type TypeSetClientDhParamsAnswer = Raw.DhGenOk | Raw.DhGenRetry | Raw.DhGenFail; - export type TypeServerDhParams = Raw.ServerDhParamsFail | Raw.ServerDhParamsOk; - export type TypeResPQ = Raw.ResPQ; - export class ResPQ extends TLObject { - nonce!: int128; - serverNonce!: int128; - pq!: bytes; - serverPublicKeyFingerprints!: Vector; - - constructor(params: { - nonce: int128; - serverNonce: int128; - pq: bytes; - serverPublicKeyFingerprints: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'ResPQ'; - this.constructorId = 0x05162463; - this.subclassOfId = 0x786986b8; - this._slots = ['nonce', 'serverNonce', 'pq', 'serverPublicKeyFingerprints']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.pq = params.pq; - this.serverPublicKeyFingerprints = params.serverPublicKeyFingerprints; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let pq = await Primitive.Bytes.read(_data); - let serverPublicKeyFingerprints = await TLObject.read(_data, Primitive.Long); - return new Raw.ResPQ({ - nonce: nonce, - serverNonce: serverNonce, - pq: pq, - serverPublicKeyFingerprints: serverPublicKeyFingerprints, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.pq !== undefined) { - b.write(Primitive.Bytes.write(this.pq) as unknown as Buffer); - } - if (this.serverPublicKeyFingerprints) { - b.write( - Primitive.Vector.write( - this.serverPublicKeyFingerprints, - Primitive.Long, - ) as unknown as Buffer, - ); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PQInnerData extends TLObject { - pq!: bytes; - p!: bytes; - q!: bytes; - nonce!: int128; - serverNonce!: int128; - newNonce!: int256; - - constructor(params: { - pq: bytes; - p: bytes; - q: bytes; - nonce: int128; - serverNonce: int128; - newNonce: int256; - }) { - super(); - this.classType = 'types'; - this.className = 'PQInnerData'; - this.constructorId = 0x83c95aec; - this.subclassOfId = 0x41701377; - this._slots = ['pq', 'p', 'q', 'nonce', 'serverNonce', 'newNonce']; - this.pq = params.pq; - this.p = params.p; - this.q = params.q; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonce = params.newNonce; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let pq = await Primitive.Bytes.read(_data); - let p = await Primitive.Bytes.read(_data); - let q = await Primitive.Bytes.read(_data); - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonce = await Primitive.Int256.read(_data); - return new Raw.PQInnerData({ - pq: pq, - p: p, - q: q, - nonce: nonce, - serverNonce: serverNonce, - newNonce: newNonce, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pq !== undefined) { - b.write(Primitive.Bytes.write(this.pq) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.Bytes.write(this.q) as unknown as Buffer); - } - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonce !== undefined) { - b.write(Primitive.Int256.write(this.newNonce) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PQInnerDataDc extends TLObject { - pq!: bytes; - p!: bytes; - q!: bytes; - nonce!: int128; - serverNonce!: int128; - newNonce!: int256; - dc!: int; - - constructor(params: { - pq: bytes; - p: bytes; - q: bytes; - nonce: int128; - serverNonce: int128; - newNonce: int256; - dc: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PQInnerDataDc'; - this.constructorId = 0xa9f55f95; - this.subclassOfId = 0x41701377; - this._slots = ['pq', 'p', 'q', 'nonce', 'serverNonce', 'newNonce', 'dc']; - this.pq = params.pq; - this.p = params.p; - this.q = params.q; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonce = params.newNonce; - this.dc = params.dc; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let pq = await Primitive.Bytes.read(_data); - let p = await Primitive.Bytes.read(_data); - let q = await Primitive.Bytes.read(_data); - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonce = await Primitive.Int256.read(_data); - let dc = await Primitive.Int.read(_data); - return new Raw.PQInnerDataDc({ - pq: pq, - p: p, - q: q, - nonce: nonce, - serverNonce: serverNonce, - newNonce: newNonce, - dc: dc, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pq !== undefined) { - b.write(Primitive.Bytes.write(this.pq) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.Bytes.write(this.q) as unknown as Buffer); - } - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonce !== undefined) { - b.write(Primitive.Int256.write(this.newNonce) as unknown as Buffer); - } - if (this.dc !== undefined) { - b.write(Primitive.Int.write(this.dc) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PQInnerDataTemp extends TLObject { - pq!: bytes; - p!: bytes; - q!: bytes; - nonce!: int128; - serverNonce!: int128; - newNonce!: int256; - expiresIn!: int; - - constructor(params: { - pq: bytes; - p: bytes; - q: bytes; - nonce: int128; - serverNonce: int128; - newNonce: int256; - expiresIn: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PQInnerDataTemp'; - this.constructorId = 0x3c6a84d4; - this.subclassOfId = 0x41701377; - this._slots = ['pq', 'p', 'q', 'nonce', 'serverNonce', 'newNonce', 'expiresIn']; - this.pq = params.pq; - this.p = params.p; - this.q = params.q; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonce = params.newNonce; - this.expiresIn = params.expiresIn; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let pq = await Primitive.Bytes.read(_data); - let p = await Primitive.Bytes.read(_data); - let q = await Primitive.Bytes.read(_data); - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonce = await Primitive.Int256.read(_data); - let expiresIn = await Primitive.Int.read(_data); - return new Raw.PQInnerDataTemp({ - pq: pq, - p: p, - q: q, - nonce: nonce, - serverNonce: serverNonce, - newNonce: newNonce, - expiresIn: expiresIn, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pq !== undefined) { - b.write(Primitive.Bytes.write(this.pq) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.Bytes.write(this.q) as unknown as Buffer); - } - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonce !== undefined) { - b.write(Primitive.Int256.write(this.newNonce) as unknown as Buffer); - } - if (this.expiresIn !== undefined) { - b.write(Primitive.Int.write(this.expiresIn) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PQInnerDataTempDc extends TLObject { - pq!: bytes; - p!: bytes; - q!: bytes; - nonce!: int128; - serverNonce!: int128; - newNonce!: int256; - dc!: int; - expiresIn!: int; - - constructor(params: { - pq: bytes; - p: bytes; - q: bytes; - nonce: int128; - serverNonce: int128; - newNonce: int256; - dc: int; - expiresIn: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PQInnerDataTempDc'; - this.constructorId = 0x56fddf88; - this.subclassOfId = 0x41701377; - this._slots = ['pq', 'p', 'q', 'nonce', 'serverNonce', 'newNonce', 'dc', 'expiresIn']; - this.pq = params.pq; - this.p = params.p; - this.q = params.q; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonce = params.newNonce; - this.dc = params.dc; - this.expiresIn = params.expiresIn; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pq = await Primitive.Bytes.read(_data); - let p = await Primitive.Bytes.read(_data); - let q = await Primitive.Bytes.read(_data); - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonce = await Primitive.Int256.read(_data); - let dc = await Primitive.Int.read(_data); - let expiresIn = await Primitive.Int.read(_data); - return new Raw.PQInnerDataTempDc({ - pq: pq, - p: p, - q: q, - nonce: nonce, - serverNonce: serverNonce, - newNonce: newNonce, - dc: dc, - expiresIn: expiresIn, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pq !== undefined) { - b.write(Primitive.Bytes.write(this.pq) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.Bytes.write(this.q) as unknown as Buffer); - } - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonce !== undefined) { - b.write(Primitive.Int256.write(this.newNonce) as unknown as Buffer); - } - if (this.dc !== undefined) { - b.write(Primitive.Int.write(this.dc) as unknown as Buffer); - } - if (this.expiresIn !== undefined) { - b.write(Primitive.Int.write(this.expiresIn) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BindAuthKeyInner extends TLObject { - nonce!: long; - tempAuthKeyId!: long; - permAuthKeyId!: long; - tempSessionId!: long; - expiresAt!: int; - - constructor(params: { - nonce: long; - tempAuthKeyId: long; - permAuthKeyId: long; - tempSessionId: long; - expiresAt: int; - }) { - super(); - this.classType = 'types'; - this.className = 'BindAuthKeyInner'; - this.constructorId = 0x75a3f765; - this.subclassOfId = 0x2f099171; - this._slots = ['nonce', 'tempAuthKeyId', 'permAuthKeyId', 'tempSessionId', 'expiresAt']; - this.nonce = params.nonce; - this.tempAuthKeyId = params.tempAuthKeyId; - this.permAuthKeyId = params.permAuthKeyId; - this.tempSessionId = params.tempSessionId; - this.expiresAt = params.expiresAt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.Long.read(_data); - let tempAuthKeyId = await Primitive.Long.read(_data); - let permAuthKeyId = await Primitive.Long.read(_data); - let tempSessionId = await Primitive.Long.read(_data); - let expiresAt = await Primitive.Int.read(_data); - return new Raw.BindAuthKeyInner({ - nonce: nonce, - tempAuthKeyId: tempAuthKeyId, - permAuthKeyId: permAuthKeyId, - tempSessionId: tempSessionId, - expiresAt: expiresAt, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Long.write(this.nonce) as unknown as Buffer); - } - if (this.tempAuthKeyId !== undefined) { - b.write(Primitive.Long.write(this.tempAuthKeyId) as unknown as Buffer); - } - if (this.permAuthKeyId !== undefined) { - b.write(Primitive.Long.write(this.permAuthKeyId) as unknown as Buffer); - } - if (this.tempSessionId !== undefined) { - b.write(Primitive.Long.write(this.tempSessionId) as unknown as Buffer); - } - if (this.expiresAt !== undefined) { - b.write(Primitive.Int.write(this.expiresAt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ServerDhParamsFail extends TLObject { - nonce!: int128; - serverNonce!: int128; - newNonceHash!: int128; - - constructor(params: { nonce: int128; serverNonce: int128; newNonceHash: int128 }) { - super(); - this.classType = 'types'; - this.className = 'ServerDhParamsFail'; - this.constructorId = 0x79cb045d; - this.subclassOfId = 0xa6188d9e; - this._slots = ['nonce', 'serverNonce', 'newNonceHash']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonceHash = params.newNonceHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonceHash = await Primitive.Int128.read(_data); - return new Raw.ServerDhParamsFail({ - nonce: nonce, - serverNonce: serverNonce, - newNonceHash: newNonceHash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonceHash !== undefined) { - b.write(Primitive.Int128.write(this.newNonceHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ServerDhParamsOk extends TLObject { - nonce!: int128; - serverNonce!: int128; - encryptedAnswer!: bytes; - - constructor(params: { nonce: int128; serverNonce: int128; encryptedAnswer: bytes }) { - super(); - this.classType = 'types'; - this.className = 'ServerDhParamsOk'; - this.constructorId = 0xd0e8075c; - this.subclassOfId = 0xa6188d9e; - this._slots = ['nonce', 'serverNonce', 'encryptedAnswer']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.encryptedAnswer = params.encryptedAnswer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let encryptedAnswer = await Primitive.Bytes.read(_data); - return new Raw.ServerDhParamsOk({ - nonce: nonce, - serverNonce: serverNonce, - encryptedAnswer: encryptedAnswer, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.encryptedAnswer !== undefined) { - b.write(Primitive.Bytes.write(this.encryptedAnswer) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ServerDhInnerData extends TLObject { - nonce!: int128; - serverNonce!: int128; - g!: int; - dhPrime!: bytes; - gA!: bytes; - serverTime!: int; - - constructor(params: { - nonce: int128; - serverNonce: int128; - g: int; - dhPrime: bytes; - gA: bytes; - serverTime: int; - }) { - super(); - this.classType = 'types'; - this.className = 'ServerDhInnerData'; - this.constructorId = 0xb5890dba; - this.subclassOfId = 0xc69a67bc; - this._slots = ['nonce', 'serverNonce', 'g', 'dhPrime', 'gA', 'serverTime']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.g = params.g; - this.dhPrime = params.dhPrime; - this.gA = params.gA; - this.serverTime = params.serverTime; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let g = await Primitive.Int.read(_data); - let dhPrime = await Primitive.Bytes.read(_data); - let gA = await Primitive.Bytes.read(_data); - let serverTime = await Primitive.Int.read(_data); - return new Raw.ServerDhInnerData({ - nonce: nonce, - serverNonce: serverNonce, - g: g, - dhPrime: dhPrime, - gA: gA, - serverTime: serverTime, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.g !== undefined) { - b.write(Primitive.Int.write(this.g) as unknown as Buffer); - } - if (this.dhPrime !== undefined) { - b.write(Primitive.Bytes.write(this.dhPrime) as unknown as Buffer); - } - if (this.gA !== undefined) { - b.write(Primitive.Bytes.write(this.gA) as unknown as Buffer); - } - if (this.serverTime !== undefined) { - b.write(Primitive.Int.write(this.serverTime) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClientDhInnerData extends TLObject { - nonce!: int128; - serverNonce!: int128; - retryId!: long; - gB!: bytes; - - constructor(params: { nonce: int128; serverNonce: int128; retryId: long; gB: bytes }) { - super(); - this.classType = 'types'; - this.className = 'ClientDhInnerData'; - this.constructorId = 0x6643b654; - this.subclassOfId = 0xf8eeef6a; - this._slots = ['nonce', 'serverNonce', 'retryId', 'gB']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.retryId = params.retryId; - this.gB = params.gB; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let retryId = await Primitive.Long.read(_data); - let gB = await Primitive.Bytes.read(_data); - return new Raw.ClientDhInnerData({ - nonce: nonce, - serverNonce: serverNonce, - retryId: retryId, - gB: gB, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.retryId !== undefined) { - b.write(Primitive.Long.write(this.retryId) as unknown as Buffer); - } - if (this.gB !== undefined) { - b.write(Primitive.Bytes.write(this.gB) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DhGenOk extends TLObject { - nonce!: int128; - serverNonce!: int128; - newNonceHash1!: int128; - - constructor(params: { nonce: int128; serverNonce: int128; newNonceHash1: int128 }) { - super(); - this.classType = 'types'; - this.className = 'DhGenOk'; - this.constructorId = 0x3bcbf734; - this.subclassOfId = 0x55dd6cdb; - this._slots = ['nonce', 'serverNonce', 'newNonceHash1']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonceHash1 = params.newNonceHash1; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonceHash1 = await Primitive.Int128.read(_data); - return new Raw.DhGenOk({ - nonce: nonce, - serverNonce: serverNonce, - newNonceHash1: newNonceHash1, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonceHash1 !== undefined) { - b.write(Primitive.Int128.write(this.newNonceHash1) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DhGenRetry extends TLObject { - nonce!: int128; - serverNonce!: int128; - newNonceHash2!: int128; - - constructor(params: { nonce: int128; serverNonce: int128; newNonceHash2: int128 }) { - super(); - this.classType = 'types'; - this.className = 'DhGenRetry'; - this.constructorId = 0x46dc1fb9; - this.subclassOfId = 0x55dd6cdb; - this._slots = ['nonce', 'serverNonce', 'newNonceHash2']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonceHash2 = params.newNonceHash2; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonceHash2 = await Primitive.Int128.read(_data); - return new Raw.DhGenRetry({ - nonce: nonce, - serverNonce: serverNonce, - newNonceHash2: newNonceHash2, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonceHash2 !== undefined) { - b.write(Primitive.Int128.write(this.newNonceHash2) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DhGenFail extends TLObject { - nonce!: int128; - serverNonce!: int128; - newNonceHash3!: int128; - - constructor(params: { nonce: int128; serverNonce: int128; newNonceHash3: int128 }) { - super(); - this.classType = 'types'; - this.className = 'DhGenFail'; - this.constructorId = 0xa69dae02; - this.subclassOfId = 0x55dd6cdb; - this._slots = ['nonce', 'serverNonce', 'newNonceHash3']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.newNonceHash3 = params.newNonceHash3; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let newNonceHash3 = await Primitive.Int128.read(_data); - return new Raw.DhGenFail({ - nonce: nonce, - serverNonce: serverNonce, - newNonceHash3: newNonceHash3, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.newNonceHash3 !== undefined) { - b.write(Primitive.Int128.write(this.newNonceHash3) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroyAuthKeyOk extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DestroyAuthKeyOk'; - this.constructorId = 0xf660e1d4; - this.subclassOfId = 0x8291e68e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DestroyAuthKeyOk(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroyAuthKeyNone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DestroyAuthKeyNone'; - this.constructorId = 0x0a9f2259; - this.subclassOfId = 0x8291e68e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DestroyAuthKeyNone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroyAuthKeyFail extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DestroyAuthKeyFail'; - this.constructorId = 0xea109b13; - this.subclassOfId = 0x8291e68e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DestroyAuthKeyFail(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReqPq extends TLObject { - __response__!: Raw.TypeResPQ; - nonce!: int128; - - constructor(params: { nonce: int128 }) { - super(); - this.classType = 'functions'; - this.className = 'ReqPq'; - this.constructorId = 0x60469778; - this.subclassOfId = 0x786986b8; - this._slots = ['nonce']; - this.nonce = params.nonce; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - return new Raw.ReqPq({ nonce: nonce }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReqPqMulti extends TLObject { - __response__!: Raw.TypeResPQ; - nonce!: int128; - - constructor(params: { nonce: int128 }) { - super(); - this.classType = 'functions'; - this.className = 'ReqPqMulti'; - this.constructorId = 0xbe7e8ef1; - this.subclassOfId = 0x786986b8; - this._slots = ['nonce']; - this.nonce = params.nonce; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - return new Raw.ReqPqMulti({ nonce: nonce }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReqDhParams extends TLObject { - __response__!: Raw.TypeServerDhParams; - nonce!: int128; - serverNonce!: int128; - p!: bytes; - q!: bytes; - publicKeyFingerprint!: long; - encryptedData!: bytes; - - constructor(params: { - nonce: int128; - serverNonce: int128; - p: bytes; - q: bytes; - publicKeyFingerprint: long; - encryptedData: bytes; - }) { - super(); - this.classType = 'functions'; - this.className = 'ReqDhParams'; - this.constructorId = 0xd712e4be; - this.subclassOfId = 0xa6188d9e; - this._slots = ['nonce', 'serverNonce', 'p', 'q', 'publicKeyFingerprint', 'encryptedData']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.p = params.p; - this.q = params.q; - this.publicKeyFingerprint = params.publicKeyFingerprint; - this.encryptedData = params.encryptedData; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let p = await Primitive.Bytes.read(_data); - let q = await Primitive.Bytes.read(_data); - let publicKeyFingerprint = await Primitive.Long.read(_data); - let encryptedData = await Primitive.Bytes.read(_data); - return new Raw.ReqDhParams({ - nonce: nonce, - serverNonce: serverNonce, - p: p, - q: q, - publicKeyFingerprint: publicKeyFingerprint, - encryptedData: encryptedData, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.Bytes.write(this.q) as unknown as Buffer); - } - if (this.publicKeyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.publicKeyFingerprint) as unknown as Buffer); - } - if (this.encryptedData !== undefined) { - b.write(Primitive.Bytes.write(this.encryptedData) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetClientDhParams extends TLObject { - __response__!: Raw.TypeSetClientDhParamsAnswer; - nonce!: int128; - serverNonce!: int128; - encryptedData!: bytes; - - constructor(params: { nonce: int128; serverNonce: int128; encryptedData: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'SetClientDhParams'; - this.constructorId = 0xf5045f1f; - this.subclassOfId = 0x55dd6cdb; - this._slots = ['nonce', 'serverNonce', 'encryptedData']; - this.nonce = params.nonce; - this.serverNonce = params.serverNonce; - this.encryptedData = params.encryptedData; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.Int128.read(_data); - let serverNonce = await Primitive.Int128.read(_data); - let encryptedData = await Primitive.Bytes.read(_data); - return new Raw.SetClientDhParams({ - nonce: nonce, - serverNonce: serverNonce, - encryptedData: encryptedData, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.Int128.write(this.nonce) as unknown as Buffer); - } - if (this.serverNonce !== undefined) { - b.write(Primitive.Int128.write(this.serverNonce) as unknown as Buffer); - } - if (this.encryptedData !== undefined) { - b.write(Primitive.Bytes.write(this.encryptedData) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroyAuthKey extends TLObject { - __response__!: Raw.TypeDestroyAuthKeyRes; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'DestroyAuthKey'; - this.constructorId = 0xd1435160; - this.subclassOfId = 0x8291e68e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.DestroyAuthKey(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgsAck extends TLObject { - msgIds!: Vector; - - constructor(params: { msgIds: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MsgsAck'; - this.constructorId = 0x62d6b459; - this.subclassOfId = 0x827677c4; - this._slots = ['msgIds']; - this.msgIds = params.msgIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgIds = await TLObject.read(_data, Primitive.Long); - return new Raw.MsgsAck({ msgIds: msgIds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgIds) { - b.write(Primitive.Vector.write(this.msgIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BadMsgNotification extends TLObject { - badMsgId!: long; - badMsgSeqno!: int; - errorCode!: int; - - constructor(params: { badMsgId: long; badMsgSeqno: int; errorCode: int }) { - super(); - this.classType = 'types'; - this.className = 'BadMsgNotification'; - this.constructorId = 0xa7eff811; - this.subclassOfId = 0xcebaa157; - this._slots = ['badMsgId', 'badMsgSeqno', 'errorCode']; - this.badMsgId = params.badMsgId; - this.badMsgSeqno = params.badMsgSeqno; - this.errorCode = params.errorCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let badMsgId = await Primitive.Long.read(_data); - let badMsgSeqno = await Primitive.Int.read(_data); - let errorCode = await Primitive.Int.read(_data); - return new Raw.BadMsgNotification({ - badMsgId: badMsgId, - badMsgSeqno: badMsgSeqno, - errorCode: errorCode, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.badMsgId !== undefined) { - b.write(Primitive.Long.write(this.badMsgId) as unknown as Buffer); - } - if (this.badMsgSeqno !== undefined) { - b.write(Primitive.Int.write(this.badMsgSeqno) as unknown as Buffer); - } - if (this.errorCode !== undefined) { - b.write(Primitive.Int.write(this.errorCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BadServerSalt extends TLObject { - badMsgId!: long; - badMsgSeqno!: int; - errorCode!: int; - newServerSalt!: long; - - constructor(params: { badMsgId: long; badMsgSeqno: int; errorCode: int; newServerSalt: long }) { - super(); - this.classType = 'types'; - this.className = 'BadServerSalt'; - this.constructorId = 0xedab447b; - this.subclassOfId = 0xcebaa157; - this._slots = ['badMsgId', 'badMsgSeqno', 'errorCode', 'newServerSalt']; - this.badMsgId = params.badMsgId; - this.badMsgSeqno = params.badMsgSeqno; - this.errorCode = params.errorCode; - this.newServerSalt = params.newServerSalt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let badMsgId = await Primitive.Long.read(_data); - let badMsgSeqno = await Primitive.Int.read(_data); - let errorCode = await Primitive.Int.read(_data); - let newServerSalt = await Primitive.Long.read(_data); - return new Raw.BadServerSalt({ - badMsgId: badMsgId, - badMsgSeqno: badMsgSeqno, - errorCode: errorCode, - newServerSalt: newServerSalt, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.badMsgId !== undefined) { - b.write(Primitive.Long.write(this.badMsgId) as unknown as Buffer); - } - if (this.badMsgSeqno !== undefined) { - b.write(Primitive.Int.write(this.badMsgSeqno) as unknown as Buffer); - } - if (this.errorCode !== undefined) { - b.write(Primitive.Int.write(this.errorCode) as unknown as Buffer); - } - if (this.newServerSalt !== undefined) { - b.write(Primitive.Long.write(this.newServerSalt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgsStateReq extends TLObject { - msgIds!: Vector; - - constructor(params: { msgIds: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MsgsStateReq'; - this.constructorId = 0xda69fb52; - this.subclassOfId = 0x18f01dd0; - this._slots = ['msgIds']; - this.msgIds = params.msgIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgIds = await TLObject.read(_data, Primitive.Long); - return new Raw.MsgsStateReq({ msgIds: msgIds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgIds) { - b.write(Primitive.Vector.write(this.msgIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgsStateInfo extends TLObject { - reqMsgId!: long; - info!: string; - - constructor(params: { reqMsgId: long; info: string }) { - super(); - this.classType = 'types'; - this.className = 'MsgsStateInfo'; - this.constructorId = 0x04deb57d; - this.subclassOfId = 0x70a0a64; - this._slots = ['reqMsgId', 'info']; - this.reqMsgId = params.reqMsgId; - this.info = params.info; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let reqMsgId = await Primitive.Long.read(_data); - let info = await Primitive.String.read(_data); - return new Raw.MsgsStateInfo({ reqMsgId: reqMsgId, info: info }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.reqMsgId !== undefined) { - b.write(Primitive.Long.write(this.reqMsgId) as unknown as Buffer); - } - if (this.info !== undefined) { - b.write(Primitive.String.write(this.info) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgsAllInfo extends TLObject { - msgIds!: Vector; - info!: string; - - constructor(params: { msgIds: Vector; info: string }) { - super(); - this.classType = 'types'; - this.className = 'MsgsAllInfo'; - this.constructorId = 0x8cc0d131; - this.subclassOfId = 0xfa8fcb54; - this._slots = ['msgIds', 'info']; - this.msgIds = params.msgIds; - this.info = params.info; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgIds = await TLObject.read(_data, Primitive.Long); - let info = await Primitive.String.read(_data); - return new Raw.MsgsAllInfo({ msgIds: msgIds, info: info }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgIds) { - b.write(Primitive.Vector.write(this.msgIds, Primitive.Long) as unknown as Buffer); - } - if (this.info !== undefined) { - b.write(Primitive.String.write(this.info) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgDetailedInfo extends TLObject { - msgId!: long; - answerMsgId!: long; - bytes!: int; - status!: int; - - constructor(params: { msgId: long; answerMsgId: long; bytes: int; status: int }) { - super(); - this.classType = 'types'; - this.className = 'MsgDetailedInfo'; - this.constructorId = 0x276d3ec6; - this.subclassOfId = 0x5f32d5ee; - this._slots = ['msgId', 'answerMsgId', 'bytes', 'status']; - this.msgId = params.msgId; - this.answerMsgId = params.answerMsgId; - this.bytes = params.bytes; - this.status = params.status; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgId = await Primitive.Long.read(_data); - let answerMsgId = await Primitive.Long.read(_data); - let bytes = await Primitive.Int.read(_data); - let status = await Primitive.Int.read(_data); - return new Raw.MsgDetailedInfo({ - msgId: msgId, - answerMsgId: answerMsgId, - bytes: bytes, - status: status, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Long.write(this.msgId) as unknown as Buffer); - } - if (this.answerMsgId !== undefined) { - b.write(Primitive.Long.write(this.answerMsgId) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Int.write(this.bytes) as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(Primitive.Int.write(this.status) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgNewDetailedInfo extends TLObject { - answerMsgId!: long; - bytes!: int; - status!: int; - - constructor(params: { answerMsgId: long; bytes: int; status: int }) { - super(); - this.classType = 'types'; - this.className = 'MsgNewDetailedInfo'; - this.constructorId = 0x809db6df; - this.subclassOfId = 0x5f32d5ee; - this._slots = ['answerMsgId', 'bytes', 'status']; - this.answerMsgId = params.answerMsgId; - this.bytes = params.bytes; - this.status = params.status; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let answerMsgId = await Primitive.Long.read(_data); - let bytes = await Primitive.Int.read(_data); - let status = await Primitive.Int.read(_data); - return new Raw.MsgNewDetailedInfo({ answerMsgId: answerMsgId, bytes: bytes, status: status }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.answerMsgId !== undefined) { - b.write(Primitive.Long.write(this.answerMsgId) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Int.write(this.bytes) as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(Primitive.Int.write(this.status) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MsgResendReq extends TLObject { - msgIds!: Vector; - - constructor(params: { msgIds: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MsgResendReq'; - this.constructorId = 0x7d861a08; - this.subclassOfId = 0x2024514; - this._slots = ['msgIds']; - this.msgIds = params.msgIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgIds = await TLObject.read(_data, Primitive.Long); - return new Raw.MsgResendReq({ msgIds: msgIds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgIds) { - b.write(Primitive.Vector.write(this.msgIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RpcResult extends TLObject { - reqMsgId!: long; - result!: any; - - constructor(params: { reqMsgId: long; result: any }) { - super(); - this.classType = 'types'; - this.className = 'RpcResult'; - this.constructorId = 0xf35c6d01; - this.subclassOfId = 0x9a7df30; - this._slots = ['reqMsgId', 'result']; - this.reqMsgId = params.reqMsgId; - this.result = params.result; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let reqMsgId = await Primitive.Long.read(_data); - let result = await TLObject.read(_data); - return new Raw.RpcResult({ reqMsgId: reqMsgId, result: result }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.reqMsgId !== undefined) { - b.write(Primitive.Long.write(this.reqMsgId) as unknown as Buffer); - } - if (this.result !== undefined) { - b.write(this.result.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RpcError extends TLObject { - errorCode!: int; - errorMessage!: string; - - constructor(params: { errorCode: int; errorMessage: string }) { - super(); - this.classType = 'types'; - this.className = 'RpcError'; - this.constructorId = 0x2144ca19; - this.subclassOfId = 0x4a17e265; - this._slots = ['errorCode', 'errorMessage']; - this.errorCode = params.errorCode; - this.errorMessage = params.errorMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let errorCode = await Primitive.Int.read(_data); - let errorMessage = await Primitive.String.read(_data); - return new Raw.RpcError({ errorCode: errorCode, errorMessage: errorMessage }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.errorCode !== undefined) { - b.write(Primitive.Int.write(this.errorCode) as unknown as Buffer); - } - if (this.errorMessage !== undefined) { - b.write(Primitive.String.write(this.errorMessage) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RpcAnswerUnknown extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'RpcAnswerUnknown'; - this.constructorId = 0x5e2ad36e; - this.subclassOfId = 0x4bca7570; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.RpcAnswerUnknown(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RpcAnswerDroppedRunning extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'RpcAnswerDroppedRunning'; - this.constructorId = 0xcd78e586; - this.subclassOfId = 0x4bca7570; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.RpcAnswerDroppedRunning(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RpcAnswerDropped extends TLObject { - msgId!: long; - seqNo!: int; - bytes!: int; - - constructor(params: { msgId: long; seqNo: int; bytes: int }) { - super(); - this.classType = 'types'; - this.className = 'RpcAnswerDropped'; - this.constructorId = 0xa43ad8b7; - this.subclassOfId = 0x4bca7570; - this._slots = ['msgId', 'seqNo', 'bytes']; - this.msgId = params.msgId; - this.seqNo = params.seqNo; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let msgId = await Primitive.Long.read(_data); - let seqNo = await Primitive.Int.read(_data); - let bytes = await Primitive.Int.read(_data); - return new Raw.RpcAnswerDropped({ msgId: msgId, seqNo: seqNo, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Long.write(this.msgId) as unknown as Buffer); - } - if (this.seqNo !== undefined) { - b.write(Primitive.Int.write(this.seqNo) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Int.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FutureSalt extends TLObject { - validSince!: int; - validUntil!: int; - salt!: long; - - constructor(params: { validSince: int; validUntil: int; salt: long }) { - super(); - this.classType = 'types'; - this.className = 'FutureSalt'; - this.constructorId = 0x0949d9dc; - this.subclassOfId = 0x45e53dcf; - this._slots = ['validSince', 'validUntil', 'salt']; - this.validSince = params.validSince; - this.validUntil = params.validUntil; - this.salt = params.salt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let validSince = await Primitive.Int.read(_data); - let validUntil = await Primitive.Int.read(_data); - let salt = await Primitive.Long.read(_data); - return new Raw.FutureSalt({ validSince: validSince, validUntil: validUntil, salt: salt }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.validSince !== undefined) { - b.write(Primitive.Int.write(this.validSince) as unknown as Buffer); - } - if (this.validUntil !== undefined) { - b.write(Primitive.Int.write(this.validUntil) as unknown as Buffer); - } - if (this.salt !== undefined) { - b.write(Primitive.Long.write(this.salt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FutureSalts extends TLObject { - reqMsgId!: long; - now!: int; - salts!: Vector; - - constructor(params: { reqMsgId: long; now: int; salts: Vector }) { - super(); - this.classType = 'types'; - this.className = 'FutureSalts'; - this.constructorId = 0xae500895; - this.subclassOfId = 0x1090f517; - this._slots = ['reqMsgId', 'now', 'salts']; - this.reqMsgId = params.reqMsgId; - this.now = params.now; - this.salts = params.salts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let reqMsgId = await Primitive.Long.read(_data); - let now = await Primitive.Int.read(_data); - let salts = await TLObject.read(_data); - return new Raw.FutureSalts({ reqMsgId: reqMsgId, now: now, salts: salts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.reqMsgId !== undefined) { - b.write(Primitive.Long.write(this.reqMsgId) as unknown as Buffer); - } - if (this.now !== undefined) { - b.write(Primitive.Int.write(this.now) as unknown as Buffer); - } - if (this.salts) { - b.write(Primitive.Vector.write(this.salts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Pong extends TLObject { - msgId!: long; - pingId!: long; - - constructor(params: { msgId: long; pingId: long }) { - super(); - this.classType = 'types'; - this.className = 'Pong'; - this.constructorId = 0x347773c5; - this.subclassOfId = 0x816aee71; - this._slots = ['msgId', 'pingId']; - this.msgId = params.msgId; - this.pingId = params.pingId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgId = await Primitive.Long.read(_data); - let pingId = await Primitive.Long.read(_data); - return new Raw.Pong({ msgId: msgId, pingId: pingId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Long.write(this.msgId) as unknown as Buffer); - } - if (this.pingId !== undefined) { - b.write(Primitive.Long.write(this.pingId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroySessionOk extends TLObject { - sessionId!: long; - - constructor(params: { sessionId: long }) { - super(); - this.classType = 'types'; - this.className = 'DestroySessionOk'; - this.constructorId = 0xe22045fc; - this.subclassOfId = 0xaf0ce7bd; - this._slots = ['sessionId']; - this.sessionId = params.sessionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sessionId = await Primitive.Long.read(_data); - return new Raw.DestroySessionOk({ sessionId: sessionId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sessionId !== undefined) { - b.write(Primitive.Long.write(this.sessionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroySessionNone extends TLObject { - sessionId!: long; - - constructor(params: { sessionId: long }) { - super(); - this.classType = 'types'; - this.className = 'DestroySessionNone'; - this.constructorId = 0x62d350c9; - this.subclassOfId = 0xaf0ce7bd; - this._slots = ['sessionId']; - this.sessionId = params.sessionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sessionId = await Primitive.Long.read(_data); - return new Raw.DestroySessionNone({ sessionId: sessionId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sessionId !== undefined) { - b.write(Primitive.Long.write(this.sessionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NewSessionCreated extends TLObject { - firstMsgId!: long; - uniqueId!: long; - serverSalt!: long; - - constructor(params: { firstMsgId: long; uniqueId: long; serverSalt: long }) { - super(); - this.classType = 'types'; - this.className = 'NewSessionCreated'; - this.constructorId = 0x9ec20908; - this.subclassOfId = 0x510d3031; - this._slots = ['firstMsgId', 'uniqueId', 'serverSalt']; - this.firstMsgId = params.firstMsgId; - this.uniqueId = params.uniqueId; - this.serverSalt = params.serverSalt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let firstMsgId = await Primitive.Long.read(_data); - let uniqueId = await Primitive.Long.read(_data); - let serverSalt = await Primitive.Long.read(_data); - return new Raw.NewSessionCreated({ - firstMsgId: firstMsgId, - uniqueId: uniqueId, - serverSalt: serverSalt, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.firstMsgId !== undefined) { - b.write(Primitive.Long.write(this.firstMsgId) as unknown as Buffer); - } - if (this.uniqueId !== undefined) { - b.write(Primitive.Long.write(this.uniqueId) as unknown as Buffer); - } - if (this.serverSalt !== undefined) { - b.write(Primitive.Long.write(this.serverSalt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HttpWait extends TLObject { - maxDelay!: int; - waitAfter!: int; - maxWait!: int; - - constructor(params: { maxDelay: int; waitAfter: int; maxWait: int }) { - super(); - this.classType = 'types'; - this.className = 'HttpWait'; - this.constructorId = 0x9299359f; - this.subclassOfId = 0x1284aed6; - this._slots = ['maxDelay', 'waitAfter', 'maxWait']; - this.maxDelay = params.maxDelay; - this.waitAfter = params.waitAfter; - this.maxWait = params.maxWait; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let maxDelay = await Primitive.Int.read(_data); - let waitAfter = await Primitive.Int.read(_data); - let maxWait = await Primitive.Int.read(_data); - return new Raw.HttpWait({ maxDelay: maxDelay, waitAfter: waitAfter, maxWait: maxWait }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.maxDelay !== undefined) { - b.write(Primitive.Int.write(this.maxDelay) as unknown as Buffer); - } - if (this.waitAfter !== undefined) { - b.write(Primitive.Int.write(this.waitAfter) as unknown as Buffer); - } - if (this.maxWait !== undefined) { - b.write(Primitive.Int.write(this.maxWait) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class IpPort extends TLObject { - ipv4!: int; - port!: int; - - constructor(params: { ipv4: int; port: int }) { - super(); - this.classType = 'types'; - this.className = 'IpPort'; - this.constructorId = 0xd433ad73; - this.subclassOfId = 0xa2a03726; - this._slots = ['ipv4', 'port']; - this.ipv4 = params.ipv4; - this.port = params.port; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let ipv4 = await Primitive.Int.read(_data); - let port = await Primitive.Int.read(_data); - return new Raw.IpPort({ ipv4: ipv4, port: port }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.ipv4 !== undefined) { - b.write(Primitive.Int.write(this.ipv4) as unknown as Buffer); - } - if (this.port !== undefined) { - b.write(Primitive.Int.write(this.port) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class IpPortSecret extends TLObject { - ipv4!: int; - port!: int; - secret!: bytes; - - constructor(params: { ipv4: int; port: int; secret: bytes }) { - super(); - this.classType = 'types'; - this.className = 'IpPortSecret'; - this.constructorId = 0x37982646; - this.subclassOfId = 0xa2a03726; - this._slots = ['ipv4', 'port', 'secret']; - this.ipv4 = params.ipv4; - this.port = params.port; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let ipv4 = await Primitive.Int.read(_data); - let port = await Primitive.Int.read(_data); - let secret = await Primitive.Bytes.read(_data); - return new Raw.IpPortSecret({ ipv4: ipv4, port: port, secret: secret }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.ipv4 !== undefined) { - b.write(Primitive.Int.write(this.ipv4) as unknown as Buffer); - } - if (this.port !== undefined) { - b.write(Primitive.Int.write(this.port) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AccessPointRule extends TLObject { - phonePrefixRules!: string; - dcId!: int; - ips!: Vector; - - constructor(params: { phonePrefixRules: string; dcId: int; ips: Vector }) { - super(); - this.classType = 'types'; - this.className = 'AccessPointRule'; - this.constructorId = 0x4679b65f; - this.subclassOfId = 0xb1aca0fd; - this._slots = ['phonePrefixRules', 'dcId', 'ips']; - this.phonePrefixRules = params.phonePrefixRules; - this.dcId = params.dcId; - this.ips = params.ips; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let phonePrefixRules = await Primitive.String.read(_data); - let dcId = await Primitive.Int.read(_data); - let ips = await TLObject.read(_data); - return new Raw.AccessPointRule({ phonePrefixRules: phonePrefixRules, dcId: dcId, ips: ips }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phonePrefixRules !== undefined) { - b.write(Primitive.String.write(this.phonePrefixRules) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.ips) { - b.write(Primitive.Vector.write(this.ips) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RpcDropAnswer extends TLObject { - __response__!: Raw.TypeRpcDropAnswer; - reqMsgId!: long; - - constructor(params: { reqMsgId: long }) { - super(); - this.classType = 'functions'; - this.className = 'RpcDropAnswer'; - this.constructorId = 0x58e4a740; - this.subclassOfId = 0x4bca7570; - this._slots = ['reqMsgId']; - this.reqMsgId = params.reqMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let reqMsgId = await Primitive.Long.read(_data); - return new Raw.RpcDropAnswer({ reqMsgId: reqMsgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.reqMsgId !== undefined) { - b.write(Primitive.Long.write(this.reqMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFutureSalts extends TLObject { - __response__!: Raw.TypeFutureSalts; - num!: int; - - constructor(params: { num: int }) { - super(); - this.classType = 'functions'; - this.className = 'GetFutureSalts'; - this.constructorId = 0xb921bd04; - this.subclassOfId = 0x1090f517; - this._slots = ['num']; - this.num = params.num; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let num = await Primitive.Int.read(_data); - return new Raw.GetFutureSalts({ num: num }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.num !== undefined) { - b.write(Primitive.Int.write(this.num) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Ping extends TLObject { - __response__!: Raw.TypePong; - pingId!: long; - - constructor(params: { pingId: long }) { - super(); - this.classType = 'functions'; - this.className = 'Ping'; - this.constructorId = 0x7abe77ec; - this.subclassOfId = 0x816aee71; - this._slots = ['pingId']; - this.pingId = params.pingId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let pingId = await Primitive.Long.read(_data); - return new Raw.Ping({ pingId: pingId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pingId !== undefined) { - b.write(Primitive.Long.write(this.pingId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PingDelayDisconnect extends TLObject { - __response__!: Raw.TypePong; - pingId!: long; - disconnectDelay!: int; - - constructor(params: { pingId: long; disconnectDelay: int }) { - super(); - this.classType = 'functions'; - this.className = 'PingDelayDisconnect'; - this.constructorId = 0xf3427b8c; - this.subclassOfId = 0x816aee71; - this._slots = ['pingId', 'disconnectDelay']; - this.pingId = params.pingId; - this.disconnectDelay = params.disconnectDelay; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pingId = await Primitive.Long.read(_data); - let disconnectDelay = await Primitive.Int.read(_data); - return new Raw.PingDelayDisconnect({ pingId: pingId, disconnectDelay: disconnectDelay }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pingId !== undefined) { - b.write(Primitive.Long.write(this.pingId) as unknown as Buffer); - } - if (this.disconnectDelay !== undefined) { - b.write(Primitive.Int.write(this.disconnectDelay) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DestroySession extends TLObject { - __response__!: Raw.TypeDestroySessionRes; - sessionId!: long; - - constructor(params: { sessionId: long }) { - super(); - this.classType = 'functions'; - this.className = 'DestroySession'; - this.constructorId = 0xe7512126; - this.subclassOfId = 0xaf0ce7bd; - this._slots = ['sessionId']; - this.sessionId = params.sessionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let sessionId = await Primitive.Long.read(_data); - return new Raw.DestroySession({ sessionId: sessionId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sessionId !== undefined) { - b.write(Primitive.Long.write(this.sessionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPeerEmpty'; - this.constructorId = 0x7f3b18ea; - this.subclassOfId = 0xc91c90b6; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.InputPeerEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerSelf extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPeerSelf'; - this.constructorId = 0x7da07ec9; - this.subclassOfId = 0xc91c90b6; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.InputPeerSelf(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerChat extends TLObject { - chatId!: long; - - constructor(params: { chatId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerChat'; - this.constructorId = 0x35a95cb9; - this.subclassOfId = 0xc91c90b6; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - return new Raw.InputPeerChat({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerUser extends TLObject { - userId!: long; - accessHash!: long; - - constructor(params: { userId: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerUser'; - this.constructorId = 0xdde8a54c; - this.subclassOfId = 0xc91c90b6; - this._slots = ['userId', 'accessHash']; - this.userId = params.userId; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputPeerUser({ userId: userId, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerChannel extends TLObject { - channelId!: long; - accessHash!: long; - - constructor(params: { channelId: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerChannel'; - this.constructorId = 0x27bcbbfc; - this.subclassOfId = 0xc91c90b6; - this._slots = ['channelId', 'accessHash']; - this.channelId = params.channelId; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputPeerChannel({ channelId: channelId, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerUserFromMessage extends TLObject { - peer!: Raw.TypeInputPeer; - msgId!: int; - userId!: long; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; userId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerUserFromMessage'; - this.constructorId = 0xa87b0a1c; - this.subclassOfId = 0xc91c90b6; - this._slots = ['peer', 'msgId', 'userId']; - this.peer = params.peer; - this.msgId = params.msgId; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - return new Raw.InputPeerUserFromMessage({ peer: peer, msgId: msgId, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerChannelFromMessage extends TLObject { - peer!: Raw.TypeInputPeer; - msgId!: int; - channelId!: long; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; channelId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerChannelFromMessage'; - this.constructorId = 0xbd2a0840; - this.subclassOfId = 0xc91c90b6; - this._slots = ['peer', 'msgId', 'channelId']; - this.peer = params.peer; - this.msgId = params.msgId; - this.channelId = params.channelId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - return new Raw.InputPeerChannelFromMessage({ - peer: peer, - msgId: msgId, - channelId: channelId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputUserEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputUserEmpty'; - this.constructorId = 0xb98886cf; - this.subclassOfId = 0xe669bf46; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.InputUserEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputUserSelf extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputUserSelf'; - this.constructorId = 0xf7c1b13f; - this.subclassOfId = 0xe669bf46; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.InputUserSelf(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputUser extends TLObject { - userId!: long; - accessHash!: long; - - constructor(params: { userId: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputUser'; - this.constructorId = 0xf21158c6; - this.subclassOfId = 0xe669bf46; - this._slots = ['userId', 'accessHash']; - this.userId = params.userId; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputUser({ userId: userId, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputUserFromMessage extends TLObject { - peer!: Raw.TypeInputPeer; - msgId!: int; - userId!: long; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; userId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputUserFromMessage'; - this.constructorId = 0x1da448e2; - this.subclassOfId = 0xe669bf46; - this._slots = ['peer', 'msgId', 'userId']; - this.peer = params.peer; - this.msgId = params.msgId; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - return new Raw.InputUserFromMessage({ peer: peer, msgId: msgId, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPhoneContact extends TLObject { - clientId!: long; - phone!: string; - firstName!: string; - lastName!: string; - - constructor(params: { clientId: long; phone: string; firstName: string; lastName: string }) { - super(); - this.classType = 'types'; - this.className = 'InputPhoneContact'; - this.constructorId = 0xf392b7f4; - this.subclassOfId = 0xae696a82; - this._slots = ['clientId', 'phone', 'firstName', 'lastName']; - this.clientId = params.clientId; - this.phone = params.phone; - this.firstName = params.firstName; - this.lastName = params.lastName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let clientId = await Primitive.Long.read(_data); - let phone = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - return new Raw.InputPhoneContact({ - clientId: clientId, - phone: phone, - firstName: firstName, - lastName: lastName, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.clientId !== undefined) { - b.write(Primitive.Long.write(this.clientId) as unknown as Buffer); - } - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputFile extends TLObject { - id!: long; - parts!: int; - name!: string; - md5Checksum!: string; - - constructor(params: { id: long; parts: int; name: string; md5Checksum: string }) { - super(); - this.classType = 'types'; - this.className = 'InputFile'; - this.constructorId = 0xf52ff27f; - this.subclassOfId = 0xe7655f1f; - this._slots = ['id', 'parts', 'name', 'md5Checksum']; - this.id = params.id; - this.parts = params.parts; - this.name = params.name; - this.md5Checksum = params.md5Checksum; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let parts = await Primitive.Int.read(_data); - let name = await Primitive.String.read(_data); - let md5Checksum = await Primitive.String.read(_data); - return new Raw.InputFile({ id: id, parts: parts, name: name, md5Checksum: md5Checksum }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.parts !== undefined) { - b.write(Primitive.Int.write(this.parts) as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.md5Checksum !== undefined) { - b.write(Primitive.String.write(this.md5Checksum) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputFileBig extends TLObject { - id!: long; - parts!: int; - name!: string; - - constructor(params: { id: long; parts: int; name: string }) { - super(); - this.classType = 'types'; - this.className = 'InputFileBig'; - this.constructorId = 0xfa4f0bb5; - this.subclassOfId = 0xe7655f1f; - this._slots = ['id', 'parts', 'name']; - this.id = params.id; - this.parts = params.parts; - this.name = params.name; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let parts = await Primitive.Int.read(_data); - let name = await Primitive.String.read(_data); - return new Raw.InputFileBig({ id: id, parts: parts, name: name }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.parts !== undefined) { - b.write(Primitive.Int.write(this.parts) as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputFileStoryDocument extends TLObject { - id!: Raw.TypeInputDocument; - - constructor(params: { id: Raw.TypeInputDocument }) { - super(); - this.classType = 'types'; - this.className = 'InputFileStoryDocument'; - this.constructorId = 0x62dc8b48; - this.subclassOfId = 0xe7655f1f; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.InputFileStoryDocument({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMediaEmpty'; - this.constructorId = 0x9664f57f; - this.subclassOfId = 0xfaf846f4; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.InputMediaEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaUploadedPhoto extends TLObject { - spoiler?: boolean; - file!: Raw.TypeInputFile; - stickers?: Vector; - ttlSeconds?: int; - - constructor(params: { - spoiler?: boolean; - file: Raw.TypeInputFile; - stickers?: Vector; - ttlSeconds?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaUploadedPhoto'; - this.constructorId = 0x1e287d04; - this.subclassOfId = 0xfaf846f4; - this._slots = ['spoiler', 'file', 'stickers', 'ttlSeconds']; - this.spoiler = params.spoiler; - this.file = params.file; - this.stickers = params.stickers; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let spoiler = flags & (1 << 2) ? true : false; - let file = await TLObject.read(_data); - let stickers = flags & (1 << 0) ? await TLObject.read(_data) : []; - let ttlSeconds = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputMediaUploadedPhoto({ - spoiler: spoiler, - file: file, - stickers: stickers, - ttlSeconds: ttlSeconds, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.spoiler ? 1 << 2 : 0; - flags |= this.stickers ? 1 << 0 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaPhoto extends TLObject { - spoiler?: boolean; - id!: Raw.TypeInputPhoto; - ttlSeconds?: int; - - constructor(params: { spoiler?: boolean; id: Raw.TypeInputPhoto; ttlSeconds?: int }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaPhoto'; - this.constructorId = 0xb3ba0635; - this.subclassOfId = 0xfaf846f4; - this._slots = ['spoiler', 'id', 'ttlSeconds']; - this.spoiler = params.spoiler; - this.id = params.id; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let spoiler = flags & (1 << 1) ? true : false; - let id = await TLObject.read(_data); - let ttlSeconds = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputMediaPhoto({ spoiler: spoiler, id: id, ttlSeconds: ttlSeconds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.spoiler ? 1 << 1 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaGeoPoint extends TLObject { - geoPoint!: Raw.TypeInputGeoPoint; - - constructor(params: { geoPoint: Raw.TypeInputGeoPoint }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaGeoPoint'; - this.constructorId = 0xf9c44144; - this.subclassOfId = 0xfaf846f4; - this._slots = ['geoPoint']; - this.geoPoint = params.geoPoint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let geoPoint = await TLObject.read(_data); - return new Raw.InputMediaGeoPoint({ geoPoint: geoPoint }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaContact extends TLObject { - phoneNumber!: string; - firstName!: string; - lastName!: string; - vcard!: string; - - constructor(params: { - phoneNumber: string; - firstName: string; - lastName: string; - vcard: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaContact'; - this.constructorId = 0xf8ab7dfb; - this.subclassOfId = 0xfaf846f4; - this._slots = ['phoneNumber', 'firstName', 'lastName', 'vcard']; - this.phoneNumber = params.phoneNumber; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.vcard = params.vcard; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let vcard = await Primitive.String.read(_data); - return new Raw.InputMediaContact({ - phoneNumber: phoneNumber, - firstName: firstName, - lastName: lastName, - vcard: vcard, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.vcard !== undefined) { - b.write(Primitive.String.write(this.vcard) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaUploadedDocument extends TLObject { - nosoundVideo?: boolean; - forceFile?: boolean; - spoiler?: boolean; - file!: Raw.TypeInputFile; - thumb?: Raw.TypeInputFile; - mimeType!: string; - attributes!: Vector; - stickers?: Vector; - videoCover?: Raw.TypeInputPhoto; - videoTimestamp?: int; - ttlSeconds?: int; - - constructor(params: { - nosoundVideo?: boolean; - forceFile?: boolean; - spoiler?: boolean; - file: Raw.TypeInputFile; - thumb?: Raw.TypeInputFile; - mimeType: string; - attributes: Vector; - stickers?: Vector; - videoCover?: Raw.TypeInputPhoto; - videoTimestamp?: int; - ttlSeconds?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaUploadedDocument'; - this.constructorId = 0x37c9330; - this.subclassOfId = 0xfaf846f4; - this._slots = [ - 'nosoundVideo', - 'forceFile', - 'spoiler', - 'file', - 'thumb', - 'mimeType', - 'attributes', - 'stickers', - 'videoCover', - 'videoTimestamp', - 'ttlSeconds', - ]; - this.nosoundVideo = params.nosoundVideo; - this.forceFile = params.forceFile; - this.spoiler = params.spoiler; - this.file = params.file; - this.thumb = params.thumb; - this.mimeType = params.mimeType; - this.attributes = params.attributes; - this.stickers = params.stickers; - this.videoCover = params.videoCover; - this.videoTimestamp = params.videoTimestamp; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nosoundVideo = flags & (1 << 3) ? true : false; - let forceFile = flags & (1 << 4) ? true : false; - let spoiler = flags & (1 << 5) ? true : false; - let file = await TLObject.read(_data); - let thumb = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let mimeType = await Primitive.String.read(_data); - let attributes = await TLObject.read(_data); - let stickers = flags & (1 << 0) ? await TLObject.read(_data) : []; - let videoCover = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let videoTimestamp = flags & (1 << 7) ? await Primitive.Int.read(_data) : undefined; - let ttlSeconds = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputMediaUploadedDocument({ - nosoundVideo: nosoundVideo, - forceFile: forceFile, - spoiler: spoiler, - file: file, - thumb: thumb, - mimeType: mimeType, - attributes: attributes, - stickers: stickers, - videoCover: videoCover, - videoTimestamp: videoTimestamp, - ttlSeconds: ttlSeconds, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nosoundVideo ? 1 << 3 : 0; - flags |= this.forceFile ? 1 << 4 : 0; - flags |= this.spoiler ? 1 << 5 : 0; - flags |= this.thumb !== undefined ? 1 << 2 : 0; - flags |= this.stickers ? 1 << 0 : 0; - flags |= this.videoCover !== undefined ? 1 << 6 : 0; - flags |= this.videoTimestamp !== undefined ? 1 << 7 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - if (this.videoCover !== undefined) { - b.write(this.videoCover.write() as unknown as Buffer); - } - if (this.videoTimestamp !== undefined) { - b.write(Primitive.Int.write(this.videoTimestamp) as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaDocument extends TLObject { - spoiler?: boolean; - id!: Raw.TypeInputDocument; - videoCover?: Raw.TypeInputPhoto; - videoTimestamp?: int; - ttlSeconds?: int; - query?: string; - - constructor(params: { - spoiler?: boolean; - id: Raw.TypeInputDocument; - videoCover?: Raw.TypeInputPhoto; - videoTimestamp?: int; - ttlSeconds?: int; - query?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaDocument'; - this.constructorId = 0xa8763ab5; - this.subclassOfId = 0xfaf846f4; - this._slots = ['spoiler', 'id', 'videoCover', 'videoTimestamp', 'ttlSeconds', 'query']; - this.spoiler = params.spoiler; - this.id = params.id; - this.videoCover = params.videoCover; - this.videoTimestamp = params.videoTimestamp; - this.ttlSeconds = params.ttlSeconds; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let spoiler = flags & (1 << 2) ? true : false; - let id = await TLObject.read(_data); - let videoCover = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let videoTimestamp = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let ttlSeconds = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let query = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.InputMediaDocument({ - spoiler: spoiler, - id: id, - videoCover: videoCover, - videoTimestamp: videoTimestamp, - ttlSeconds: ttlSeconds, - query: query, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.spoiler ? 1 << 2 : 0; - flags |= this.videoCover !== undefined ? 1 << 3 : 0; - flags |= this.videoTimestamp !== undefined ? 1 << 4 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 0 : 0; - flags |= this.query !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.videoCover !== undefined) { - b.write(this.videoCover.write() as unknown as Buffer); - } - if (this.videoTimestamp !== undefined) { - b.write(Primitive.Int.write(this.videoTimestamp) as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(Primitive.String.write(this.query) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaVenue extends TLObject { - geoPoint!: Raw.TypeInputGeoPoint; - title!: string; - address!: string; - provider!: string; - venueId!: string; - venueType!: string; - - constructor(params: { - geoPoint: Raw.TypeInputGeoPoint; - title: string; - address: string; - provider: string; - venueId: string; - venueType: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaVenue'; - this.constructorId = 0xc13d1c11; - this.subclassOfId = 0xfaf846f4; - this._slots = ['geoPoint', 'title', 'address', 'provider', 'venueId', 'venueType']; - this.geoPoint = params.geoPoint; - this.title = params.title; - this.address = params.address; - this.provider = params.provider; - this.venueId = params.venueId; - this.venueType = params.venueType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let geoPoint = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let address = await Primitive.String.read(_data); - let provider = await Primitive.String.read(_data); - let venueId = await Primitive.String.read(_data); - let venueType = await Primitive.String.read(_data); - return new Raw.InputMediaVenue({ - geoPoint: geoPoint, - title: title, - address: address, - provider: provider, - venueId: venueId, - venueType: venueType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.venueId !== undefined) { - b.write(Primitive.String.write(this.venueId) as unknown as Buffer); - } - if (this.venueType !== undefined) { - b.write(Primitive.String.write(this.venueType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaPhotoExternal extends TLObject { - spoiler?: boolean; - url!: string; - ttlSeconds?: int; - - constructor(params: { spoiler?: boolean; url: string; ttlSeconds?: int }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaPhotoExternal'; - this.constructorId = 0xe5bbfe1a; - this.subclassOfId = 0xfaf846f4; - this._slots = ['spoiler', 'url', 'ttlSeconds']; - this.spoiler = params.spoiler; - this.url = params.url; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let spoiler = flags & (1 << 1) ? true : false; - let url = await Primitive.String.read(_data); - let ttlSeconds = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputMediaPhotoExternal({ - spoiler: spoiler, - url: url, - ttlSeconds: ttlSeconds, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.spoiler ? 1 << 1 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaDocumentExternal extends TLObject { - spoiler?: boolean; - url!: string; - ttlSeconds?: int; - videoCover?: Raw.TypeInputPhoto; - videoTimestamp?: int; - - constructor(params: { - spoiler?: boolean; - url: string; - ttlSeconds?: int; - videoCover?: Raw.TypeInputPhoto; - videoTimestamp?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaDocumentExternal'; - this.constructorId = 0x779600f9; - this.subclassOfId = 0xfaf846f4; - this._slots = ['spoiler', 'url', 'ttlSeconds', 'videoCover', 'videoTimestamp']; - this.spoiler = params.spoiler; - this.url = params.url; - this.ttlSeconds = params.ttlSeconds; - this.videoCover = params.videoCover; - this.videoTimestamp = params.videoTimestamp; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let spoiler = flags & (1 << 1) ? true : false; - let url = await Primitive.String.read(_data); - let ttlSeconds = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let videoCover = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let videoTimestamp = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputMediaDocumentExternal({ - spoiler: spoiler, - url: url, - ttlSeconds: ttlSeconds, - videoCover: videoCover, - videoTimestamp: videoTimestamp, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.spoiler ? 1 << 1 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 0 : 0; - flags |= this.videoCover !== undefined ? 1 << 2 : 0; - flags |= this.videoTimestamp !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - if (this.videoCover !== undefined) { - b.write(this.videoCover.write() as unknown as Buffer); - } - if (this.videoTimestamp !== undefined) { - b.write(Primitive.Int.write(this.videoTimestamp) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaGame extends TLObject { - id!: Raw.TypeInputGame; - - constructor(params: { id: Raw.TypeInputGame }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaGame'; - this.constructorId = 0xd33f43f3; - this.subclassOfId = 0xfaf846f4; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.InputMediaGame({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaInvoice extends TLObject { - title!: string; - description!: string; - photo?: Raw.TypeInputWebDocument; - invoice!: Raw.TypeInvoice; - payload!: bytes; - provider?: string; - providerData!: Raw.TypeDataJSON; - startParam?: string; - extendedMedia?: Raw.TypeInputMedia; - - constructor(params: { - title: string; - description: string; - photo?: Raw.TypeInputWebDocument; - invoice: Raw.TypeInvoice; - payload: bytes; - provider?: string; - providerData: Raw.TypeDataJSON; - startParam?: string; - extendedMedia?: Raw.TypeInputMedia; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaInvoice'; - this.constructorId = 0x405fef0d; - this.subclassOfId = 0xfaf846f4; - this._slots = [ - 'title', - 'description', - 'photo', - 'invoice', - 'payload', - 'provider', - 'providerData', - 'startParam', - 'extendedMedia', - ]; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.invoice = params.invoice; - this.payload = params.payload; - this.provider = params.provider; - this.providerData = params.providerData; - this.startParam = params.startParam; - this.extendedMedia = params.extendedMedia; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let invoice = await TLObject.read(_data); - let payload = await Primitive.Bytes.read(_data); - let provider = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let providerData = await TLObject.read(_data); - let startParam = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let extendedMedia = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputMediaInvoice({ - title: title, - description: description, - photo: photo, - invoice: invoice, - payload: payload, - provider: provider, - providerData: providerData, - startParam: startParam, - extendedMedia: extendedMedia, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photo !== undefined ? 1 << 0 : 0; - flags |= this.provider !== undefined ? 1 << 3 : 0; - flags |= this.startParam !== undefined ? 1 << 1 : 0; - flags |= this.extendedMedia !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.Bytes.write(this.payload) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.providerData !== undefined) { - b.write(this.providerData.write() as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - if (this.extendedMedia !== undefined) { - b.write(this.extendedMedia.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaGeoLive extends TLObject { - stopped?: boolean; - geoPoint!: Raw.TypeInputGeoPoint; - heading?: int; - period?: int; - proximityNotificationRadius?: int; - - constructor(params: { - stopped?: boolean; - geoPoint: Raw.TypeInputGeoPoint; - heading?: int; - period?: int; - proximityNotificationRadius?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaGeoLive'; - this.constructorId = 0x971fa843; - this.subclassOfId = 0xfaf846f4; - this._slots = ['stopped', 'geoPoint', 'heading', 'period', 'proximityNotificationRadius']; - this.stopped = params.stopped; - this.geoPoint = params.geoPoint; - this.heading = params.heading; - this.period = params.period; - this.proximityNotificationRadius = params.proximityNotificationRadius; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let stopped = flags & (1 << 0) ? true : false; - let geoPoint = await TLObject.read(_data); - let heading = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let period = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let proximityNotificationRadius = - flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputMediaGeoLive({ - stopped: stopped, - geoPoint: geoPoint, - heading: heading, - period: period, - proximityNotificationRadius: proximityNotificationRadius, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.stopped ? 1 << 0 : 0; - flags |= this.heading !== undefined ? 1 << 2 : 0; - flags |= this.period !== undefined ? 1 << 1 : 0; - flags |= this.proximityNotificationRadius !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.heading !== undefined) { - b.write(Primitive.Int.write(this.heading) as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.proximityNotificationRadius !== undefined) { - b.write(Primitive.Int.write(this.proximityNotificationRadius) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaPoll extends TLObject { - poll!: Raw.TypePoll; - correctAnswers?: Vector; - solution?: string; - solutionEntities?: Vector; - - constructor(params: { - poll: Raw.TypePoll; - correctAnswers?: Vector; - solution?: string; - solutionEntities?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaPoll'; - this.constructorId = 0xf94e5f1; - this.subclassOfId = 0xfaf846f4; - this._slots = ['poll', 'correctAnswers', 'solution', 'solutionEntities']; - this.poll = params.poll; - this.correctAnswers = params.correctAnswers; - this.solution = params.solution; - this.solutionEntities = params.solutionEntities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let poll = await TLObject.read(_data); - let correctAnswers = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Bytes) : []; - let solution = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let solutionEntities = flags & (1 << 1) ? await TLObject.read(_data) : []; - return new Raw.InputMediaPoll({ - poll: poll, - correctAnswers: correctAnswers, - solution: solution, - solutionEntities: solutionEntities, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.correctAnswers ? 1 << 0 : 0; - flags |= this.solution !== undefined ? 1 << 1 : 0; - flags |= this.solutionEntities ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.poll !== undefined) { - b.write(this.poll.write() as unknown as Buffer); - } - if (this.correctAnswers) { - b.write(Primitive.Vector.write(this.correctAnswers, Primitive.Bytes) as unknown as Buffer); - } - if (this.solution !== undefined) { - b.write(Primitive.String.write(this.solution) as unknown as Buffer); - } - if (this.solutionEntities) { - b.write(Primitive.Vector.write(this.solutionEntities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaDice extends TLObject { - emoticon!: string; - - constructor(params: { emoticon: string }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaDice'; - this.constructorId = 0xe66fbf7b; - this.subclassOfId = 0xfaf846f4; - this._slots = ['emoticon']; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - return new Raw.InputMediaDice({ emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaStory extends TLObject { - peer!: Raw.TypeInputPeer; - id!: int; - - constructor(params: { peer: Raw.TypeInputPeer; id: int }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaStory'; - this.constructorId = 0x89fdd778; - this.subclassOfId = 0xfaf846f4; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.InputMediaStory({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaWebPage extends TLObject { - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - optional?: boolean; - url!: string; - - constructor(params: { - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - optional?: boolean; - url: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaWebPage'; - this.constructorId = 0xc21b8849; - this.subclassOfId = 0xfaf846f4; - this._slots = ['forceLargeMedia', 'forceSmallMedia', 'optional', 'url']; - this.forceLargeMedia = params.forceLargeMedia; - this.forceSmallMedia = params.forceSmallMedia; - this.optional = params.optional; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forceLargeMedia = flags & (1 << 0) ? true : false; - let forceSmallMedia = flags & (1 << 1) ? true : false; - let optional = flags & (1 << 2) ? true : false; - let url = await Primitive.String.read(_data); - return new Raw.InputMediaWebPage({ - forceLargeMedia: forceLargeMedia, - forceSmallMedia: forceSmallMedia, - optional: optional, - url: url, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forceLargeMedia ? 1 << 0 : 0; - flags |= this.forceSmallMedia ? 1 << 1 : 0; - flags |= this.optional ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaPaidMedia extends TLObject { - starsAmount!: long; - extendedMedia!: Vector; - payload?: string; - - constructor(params: { - starsAmount: long; - extendedMedia: Vector; - payload?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaPaidMedia'; - this.constructorId = 0xc4103386; - this.subclassOfId = 0xfaf846f4; - this._slots = ['starsAmount', 'extendedMedia', 'payload']; - this.starsAmount = params.starsAmount; - this.extendedMedia = params.extendedMedia; - this.payload = params.payload; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let starsAmount = await Primitive.Long.read(_data); - let extendedMedia = await TLObject.read(_data); - let payload = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.InputMediaPaidMedia({ - starsAmount: starsAmount, - extendedMedia: extendedMedia, - payload: payload, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.payload !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.starsAmount !== undefined) { - b.write(Primitive.Long.write(this.starsAmount) as unknown as Buffer); - } - if (this.extendedMedia) { - b.write(Primitive.Vector.write(this.extendedMedia) as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.String.write(this.payload) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaTodo extends TLObject { - todo!: Raw.TypeTodoList; - - constructor(params: { todo: Raw.TypeTodoList }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaTodo'; - this.constructorId = 0x9fc55fde; - this.subclassOfId = 0xfaf846f4; - this._slots = ['todo']; - this.todo = params.todo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let todo = await TLObject.read(_data); - return new Raw.InputMediaTodo({ todo: todo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.todo !== undefined) { - b.write(this.todo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChatPhotoEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputChatPhotoEmpty'; - this.constructorId = 0x1ca48f57; - this.subclassOfId = 0xd4eb2d74; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputChatPhotoEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChatUploadedPhoto extends TLObject { - file?: Raw.TypeInputFile; - video?: Raw.TypeInputFile; - videoStartTs?: double; - videoEmojiMarkup?: Raw.TypeVideoSize; - - constructor(params: { - file?: Raw.TypeInputFile; - video?: Raw.TypeInputFile; - videoStartTs?: double; - videoEmojiMarkup?: Raw.TypeVideoSize; - }) { - super(); - this.classType = 'types'; - this.className = 'InputChatUploadedPhoto'; - this.constructorId = 0xbdcdaec0; - this.subclassOfId = 0xd4eb2d74; - this._slots = ['file', 'video', 'videoStartTs', 'videoEmojiMarkup']; - this.file = params.file; - this.video = params.video; - this.videoStartTs = params.videoStartTs; - this.videoEmojiMarkup = params.videoEmojiMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let file = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let video = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let videoStartTs = flags & (1 << 2) ? await Primitive.Double.read(_data) : undefined; - let videoEmojiMarkup = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - return new Raw.InputChatUploadedPhoto({ - file: file, - video: video, - videoStartTs: videoStartTs, - videoEmojiMarkup: videoEmojiMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.file !== undefined ? 1 << 0 : 0; - flags |= this.video !== undefined ? 1 << 1 : 0; - flags |= this.videoStartTs !== undefined ? 1 << 2 : 0; - flags |= this.videoEmojiMarkup !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.video !== undefined) { - b.write(this.video.write() as unknown as Buffer); - } - if (this.videoStartTs !== undefined) { - b.write(Primitive.Double.write(this.videoStartTs) as unknown as Buffer); - } - if (this.videoEmojiMarkup !== undefined) { - b.write(this.videoEmojiMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChatPhoto extends TLObject { - id!: Raw.TypeInputPhoto; - - constructor(params: { id: Raw.TypeInputPhoto }) { - super(); - this.classType = 'types'; - this.className = 'InputChatPhoto'; - this.constructorId = 0x8953ad37; - this.subclassOfId = 0xd4eb2d74; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.InputChatPhoto({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGeoPointEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputGeoPointEmpty'; - this.constructorId = 0xe4c123d6; - this.subclassOfId = 0x430d225; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputGeoPointEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGeoPoint extends TLObject { - lat!: double; - long!: double; - accuracyRadius?: int; - - constructor(params: { lat: double; long: double; accuracyRadius?: int }) { - super(); - this.classType = 'types'; - this.className = 'InputGeoPoint'; - this.constructorId = 0x48222faf; - this.subclassOfId = 0x430d225; - this._slots = ['lat', 'long', 'accuracyRadius']; - this.lat = params.lat; - this.long = params.long; - this.accuracyRadius = params.accuracyRadius; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let lat = await Primitive.Double.read(_data); - let long = await Primitive.Double.read(_data); - let accuracyRadius = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputGeoPoint({ lat: lat, long: long, accuracyRadius: accuracyRadius }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.accuracyRadius !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.lat !== undefined) { - b.write(Primitive.Double.write(this.lat) as unknown as Buffer); - } - if (this.long !== undefined) { - b.write(Primitive.Double.write(this.long) as unknown as Buffer); - } - if (this.accuracyRadius !== undefined) { - b.write(Primitive.Int.write(this.accuracyRadius) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPhotoEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPhotoEmpty'; - this.constructorId = 0x1cd7bf0d; - this.subclassOfId = 0x846363e0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.InputPhotoEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPhoto extends TLObject { - id!: long; - accessHash!: long; - fileReference!: bytes; - - constructor(params: { id: long; accessHash: long; fileReference: bytes }) { - super(); - this.classType = 'types'; - this.className = 'InputPhoto'; - this.constructorId = 0x3bb3b94a; - this.subclassOfId = 0x846363e0; - this._slots = ['id', 'accessHash', 'fileReference']; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - return new Raw.InputPhoto({ id: id, accessHash: accessHash, fileReference: fileReference }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputFileLocation extends TLObject { - volumeId!: long; - localId!: int; - secret!: long; - fileReference!: bytes; - - constructor(params: { volumeId: long; localId: int; secret: long; fileReference: bytes }) { - super(); - this.classType = 'types'; - this.className = 'InputFileLocation'; - this.constructorId = 0xdfdaabe1; - this.subclassOfId = 0x1523d462; - this._slots = ['volumeId', 'localId', 'secret', 'fileReference']; - this.volumeId = params.volumeId; - this.localId = params.localId; - this.secret = params.secret; - this.fileReference = params.fileReference; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let volumeId = await Primitive.Long.read(_data); - let localId = await Primitive.Int.read(_data); - let secret = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - return new Raw.InputFileLocation({ - volumeId: volumeId, - localId: localId, - secret: secret, - fileReference: fileReference, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.volumeId !== undefined) { - b.write(Primitive.Long.write(this.volumeId) as unknown as Buffer); - } - if (this.localId !== undefined) { - b.write(Primitive.Int.write(this.localId) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Long.write(this.secret) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEncryptedFileLocation extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputEncryptedFileLocation'; - this.constructorId = 0xf5235d55; - this.subclassOfId = 0x1523d462; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputEncryptedFileLocation({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputDocumentFileLocation extends TLObject { - id!: long; - accessHash!: long; - fileReference!: bytes; - thumbSize!: string; - - constructor(params: { id: long; accessHash: long; fileReference: bytes; thumbSize: string }) { - super(); - this.classType = 'types'; - this.className = 'InputDocumentFileLocation'; - this.constructorId = 0xbad07584; - this.subclassOfId = 0x1523d462; - this._slots = ['id', 'accessHash', 'fileReference', 'thumbSize']; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - this.thumbSize = params.thumbSize; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - let thumbSize = await Primitive.String.read(_data); - return new Raw.InputDocumentFileLocation({ - id: id, - accessHash: accessHash, - fileReference: fileReference, - thumbSize: thumbSize, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - if (this.thumbSize !== undefined) { - b.write(Primitive.String.write(this.thumbSize) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSecureFileLocation extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputSecureFileLocation'; - this.constructorId = 0xcbc7ee28; - this.subclassOfId = 0x1523d462; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputSecureFileLocation({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputTakeoutFileLocation extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputTakeoutFileLocation'; - this.constructorId = 0x29be5899; - this.subclassOfId = 0x1523d462; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputTakeoutFileLocation(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPhotoFileLocation extends TLObject { - id!: long; - accessHash!: long; - fileReference!: bytes; - thumbSize!: string; - - constructor(params: { id: long; accessHash: long; fileReference: bytes; thumbSize: string }) { - super(); - this.classType = 'types'; - this.className = 'InputPhotoFileLocation'; - this.constructorId = 0x40181ffe; - this.subclassOfId = 0x1523d462; - this._slots = ['id', 'accessHash', 'fileReference', 'thumbSize']; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - this.thumbSize = params.thumbSize; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - let thumbSize = await Primitive.String.read(_data); - return new Raw.InputPhotoFileLocation({ - id: id, - accessHash: accessHash, - fileReference: fileReference, - thumbSize: thumbSize, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - if (this.thumbSize !== undefined) { - b.write(Primitive.String.write(this.thumbSize) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPhotoLegacyFileLocation extends TLObject { - id!: long; - accessHash!: long; - fileReference!: bytes; - volumeId!: long; - localId!: int; - secret!: long; - - constructor(params: { - id: long; - accessHash: long; - fileReference: bytes; - volumeId: long; - localId: int; - secret: long; - }) { - super(); - this.classType = 'types'; - this.className = 'InputPhotoLegacyFileLocation'; - this.constructorId = 0xd83466f3; - this.subclassOfId = 0x1523d462; - this._slots = ['id', 'accessHash', 'fileReference', 'volumeId', 'localId', 'secret']; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - this.volumeId = params.volumeId; - this.localId = params.localId; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - let volumeId = await Primitive.Long.read(_data); - let localId = await Primitive.Int.read(_data); - let secret = await Primitive.Long.read(_data); - return new Raw.InputPhotoLegacyFileLocation({ - id: id, - accessHash: accessHash, - fileReference: fileReference, - volumeId: volumeId, - localId: localId, - secret: secret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - if (this.volumeId !== undefined) { - b.write(Primitive.Long.write(this.volumeId) as unknown as Buffer); - } - if (this.localId !== undefined) { - b.write(Primitive.Int.write(this.localId) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Long.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerPhotoFileLocation extends TLObject { - big?: boolean; - peer!: Raw.TypeInputPeer; - photoId!: long; - - constructor(params: { big?: boolean; peer: Raw.TypeInputPeer; photoId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerPhotoFileLocation'; - this.constructorId = 0x37257e99; - this.subclassOfId = 0x1523d462; - this._slots = ['big', 'peer', 'photoId']; - this.big = params.big; - this.peer = params.peer; - this.photoId = params.photoId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let big = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let photoId = await Primitive.Long.read(_data); - return new Raw.InputPeerPhotoFileLocation({ big: big, peer: peer, photoId: photoId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.big ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.photoId !== undefined) { - b.write(Primitive.Long.write(this.photoId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetThumb extends TLObject { - stickerset!: Raw.TypeInputStickerSet; - thumbVersion!: int; - - constructor(params: { stickerset: Raw.TypeInputStickerSet; thumbVersion: int }) { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetThumb'; - this.constructorId = 0x9d84f3db; - this.subclassOfId = 0x1523d462; - this._slots = ['stickerset', 'thumbVersion']; - this.stickerset = params.stickerset; - this.thumbVersion = params.thumbVersion; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - let thumbVersion = await Primitive.Int.read(_data); - return new Raw.InputStickerSetThumb({ stickerset: stickerset, thumbVersion: thumbVersion }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.thumbVersion !== undefined) { - b.write(Primitive.Int.write(this.thumbVersion) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGroupCallStream extends TLObject { - call!: Raw.TypeInputGroupCall; - timeMs!: long; - scale!: int; - videoChannel?: int; - videoQuality?: int; - - constructor(params: { - call: Raw.TypeInputGroupCall; - timeMs: long; - scale: int; - videoChannel?: int; - videoQuality?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputGroupCallStream'; - this.constructorId = 0x598a92a; - this.subclassOfId = 0x1523d462; - this._slots = ['call', 'timeMs', 'scale', 'videoChannel', 'videoQuality']; - this.call = params.call; - this.timeMs = params.timeMs; - this.scale = params.scale; - this.videoChannel = params.videoChannel; - this.videoQuality = params.videoQuality; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let call = await TLObject.read(_data); - let timeMs = await Primitive.Long.read(_data); - let scale = await Primitive.Int.read(_data); - let videoChannel = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let videoQuality = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputGroupCallStream({ - call: call, - timeMs: timeMs, - scale: scale, - videoChannel: videoChannel, - videoQuality: videoQuality, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.videoChannel !== undefined ? 1 << 0 : 0; - flags |= this.videoQuality !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.timeMs !== undefined) { - b.write(Primitive.Long.write(this.timeMs) as unknown as Buffer); - } - if (this.scale !== undefined) { - b.write(Primitive.Int.write(this.scale) as unknown as Buffer); - } - if (this.videoChannel !== undefined) { - b.write(Primitive.Int.write(this.videoChannel) as unknown as Buffer); - } - if (this.videoQuality !== undefined) { - b.write(Primitive.Int.write(this.videoQuality) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerUser extends TLObject { - userId!: long; - - constructor(params: { userId: long }) { - super(); - this.classType = 'types'; - this.className = 'PeerUser'; - this.constructorId = 0x59511722; - this.subclassOfId = 0x2d45687; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - return new Raw.PeerUser({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerChat extends TLObject { - chatId!: long; - - constructor(params: { chatId: long }) { - super(); - this.classType = 'types'; - this.className = 'PeerChat'; - this.constructorId = 0x36c6019a; - this.subclassOfId = 0x2d45687; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - return new Raw.PeerChat({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerChannel extends TLObject { - channelId!: long; - - constructor(params: { channelId: long }) { - super(); - this.classType = 'types'; - this.className = 'PeerChannel'; - this.constructorId = 0xa2a5371e; - this.subclassOfId = 0x2d45687; - this._slots = ['channelId']; - this.channelId = params.channelId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - return new Raw.PeerChannel({ channelId: channelId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserEmpty extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'UserEmpty'; - this.constructorId = 0xd3bc4b7a; - this.subclassOfId = 0x2da17977; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.UserEmpty({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class User extends TLObject { - self?: boolean; - contact?: boolean; - mutualContact?: boolean; - deleted?: boolean; - bot?: boolean; - botChatHistory?: boolean; - botNochats?: boolean; - verified?: boolean; - restricted?: boolean; - min?: boolean; - botInlineGeo?: boolean; - support?: boolean; - scam?: boolean; - applyMinPhoto?: boolean; - fake?: boolean; - botAttachMenu?: boolean; - premium?: boolean; - attachMenuEnabled?: boolean; - botCanEdit?: boolean; - closeFriend?: boolean; - storiesHidden?: boolean; - storiesUnavailable?: boolean; - contactRequirePremium?: boolean; - botBusiness?: boolean; - botHasMainApp?: boolean; - id!: long; - accessHash?: long; - firstName?: string; - lastName?: string; - username?: string; - phone?: string; - photo?: Raw.TypeUserProfilePhoto; - status?: Raw.TypeUserStatus; - botInfoVersion?: int; - restrictionReason?: Vector; - botInlinePlaceholder?: string; - langCode?: string; - emojiStatus?: Raw.TypeEmojiStatus; - usernames?: Vector; - storiesMaxId?: int; - color?: Raw.TypePeerColor; - profileColor?: Raw.TypePeerColor; - botActiveUsers?: int; - botVerificationIcon?: long; - sendPaidMessagesStars?: long; - - constructor(params: { - self?: boolean; - contact?: boolean; - mutualContact?: boolean; - deleted?: boolean; - bot?: boolean; - botChatHistory?: boolean; - botNochats?: boolean; - verified?: boolean; - restricted?: boolean; - min?: boolean; - botInlineGeo?: boolean; - support?: boolean; - scam?: boolean; - applyMinPhoto?: boolean; - fake?: boolean; - botAttachMenu?: boolean; - premium?: boolean; - attachMenuEnabled?: boolean; - botCanEdit?: boolean; - closeFriend?: boolean; - storiesHidden?: boolean; - storiesUnavailable?: boolean; - contactRequirePremium?: boolean; - botBusiness?: boolean; - botHasMainApp?: boolean; - id: long; - accessHash?: long; - firstName?: string; - lastName?: string; - username?: string; - phone?: string; - photo?: Raw.TypeUserProfilePhoto; - status?: Raw.TypeUserStatus; - botInfoVersion?: int; - restrictionReason?: Vector; - botInlinePlaceholder?: string; - langCode?: string; - emojiStatus?: Raw.TypeEmojiStatus; - usernames?: Vector; - storiesMaxId?: int; - color?: Raw.TypePeerColor; - profileColor?: Raw.TypePeerColor; - botActiveUsers?: int; - botVerificationIcon?: long; - sendPaidMessagesStars?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'User'; - this.constructorId = 0x20b1422; - this.subclassOfId = 0x2da17977; - this._slots = [ - 'self', - 'contact', - 'mutualContact', - 'deleted', - 'bot', - 'botChatHistory', - 'botNochats', - 'verified', - 'restricted', - 'min', - 'botInlineGeo', - 'support', - 'scam', - 'applyMinPhoto', - 'fake', - 'botAttachMenu', - 'premium', - 'attachMenuEnabled', - 'botCanEdit', - 'closeFriend', - 'storiesHidden', - 'storiesUnavailable', - 'contactRequirePremium', - 'botBusiness', - 'botHasMainApp', - 'id', - 'accessHash', - 'firstName', - 'lastName', - 'username', - 'phone', - 'photo', - 'status', - 'botInfoVersion', - 'restrictionReason', - 'botInlinePlaceholder', - 'langCode', - 'emojiStatus', - 'usernames', - 'storiesMaxId', - 'color', - 'profileColor', - 'botActiveUsers', - 'botVerificationIcon', - 'sendPaidMessagesStars', - ]; - this.self = params.self; - this.contact = params.contact; - this.mutualContact = params.mutualContact; - this.deleted = params.deleted; - this.bot = params.bot; - this.botChatHistory = params.botChatHistory; - this.botNochats = params.botNochats; - this.verified = params.verified; - this.restricted = params.restricted; - this.min = params.min; - this.botInlineGeo = params.botInlineGeo; - this.support = params.support; - this.scam = params.scam; - this.applyMinPhoto = params.applyMinPhoto; - this.fake = params.fake; - this.botAttachMenu = params.botAttachMenu; - this.premium = params.premium; - this.attachMenuEnabled = params.attachMenuEnabled; - this.botCanEdit = params.botCanEdit; - this.closeFriend = params.closeFriend; - this.storiesHidden = params.storiesHidden; - this.storiesUnavailable = params.storiesUnavailable; - this.contactRequirePremium = params.contactRequirePremium; - this.botBusiness = params.botBusiness; - this.botHasMainApp = params.botHasMainApp; - this.id = params.id; - this.accessHash = params.accessHash; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.username = params.username; - this.phone = params.phone; - this.photo = params.photo; - this.status = params.status; - this.botInfoVersion = params.botInfoVersion; - this.restrictionReason = params.restrictionReason; - this.botInlinePlaceholder = params.botInlinePlaceholder; - this.langCode = params.langCode; - this.emojiStatus = params.emojiStatus; - this.usernames = params.usernames; - this.storiesMaxId = params.storiesMaxId; - this.color = params.color; - this.profileColor = params.profileColor; - this.botActiveUsers = params.botActiveUsers; - this.botVerificationIcon = params.botVerificationIcon; - this.sendPaidMessagesStars = params.sendPaidMessagesStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let self = flags & (1 << 10) ? true : false; - let contact = flags & (1 << 11) ? true : false; - let mutualContact = flags & (1 << 12) ? true : false; - let deleted = flags & (1 << 13) ? true : false; - let bot = flags & (1 << 14) ? true : false; - let botChatHistory = flags & (1 << 15) ? true : false; - let botNochats = flags & (1 << 16) ? true : false; - let verified = flags & (1 << 17) ? true : false; - let restricted = flags & (1 << 18) ? true : false; - let min = flags & (1 << 20) ? true : false; - let botInlineGeo = flags & (1 << 21) ? true : false; - let support = flags & (1 << 23) ? true : false; - let scam = flags & (1 << 24) ? true : false; - let applyMinPhoto = flags & (1 << 25) ? true : false; - let fake = flags & (1 << 26) ? true : false; - let botAttachMenu = flags & (1 << 27) ? true : false; - let premium = flags & (1 << 28) ? true : false; - let attachMenuEnabled = flags & (1 << 29) ? true : false; - // @ts-ignore - let flags2 = await Primitive.Int.read(_data); - let botCanEdit = flags2 & (1 << 1) ? true : false; - let closeFriend = flags2 & (1 << 2) ? true : false; - let storiesHidden = flags2 & (1 << 3) ? true : false; - let storiesUnavailable = flags2 & (1 << 4) ? true : false; - let contactRequirePremium = flags2 & (1 << 10) ? true : false; - let botBusiness = flags2 & (1 << 11) ? true : false; - let botHasMainApp = flags2 & (1 << 13) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let firstName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let lastName = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let username = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let phone = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let status = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let botInfoVersion = flags & (1 << 14) ? await Primitive.Int.read(_data) : undefined; - let restrictionReason = flags & (1 << 18) ? await TLObject.read(_data) : []; - let botInlinePlaceholder = flags & (1 << 19) ? await Primitive.String.read(_data) : undefined; - let langCode = flags & (1 << 22) ? await Primitive.String.read(_data) : undefined; - let emojiStatus = flags & (1 << 30) ? await TLObject.read(_data) : undefined; - let usernames = flags2 & (1 << 0) ? await TLObject.read(_data) : []; - let storiesMaxId = flags2 & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let color = flags2 & (1 << 8) ? await TLObject.read(_data) : undefined; - let profileColor = flags2 & (1 << 9) ? await TLObject.read(_data) : undefined; - let botActiveUsers = flags2 & (1 << 12) ? await Primitive.Int.read(_data) : undefined; - let botVerificationIcon = flags2 & (1 << 14) ? await Primitive.Long.read(_data) : undefined; - let sendPaidMessagesStars = flags2 & (1 << 15) ? await Primitive.Long.read(_data) : undefined; - return new Raw.User({ - self: self, - contact: contact, - mutualContact: mutualContact, - deleted: deleted, - bot: bot, - botChatHistory: botChatHistory, - botNochats: botNochats, - verified: verified, - restricted: restricted, - min: min, - botInlineGeo: botInlineGeo, - support: support, - scam: scam, - applyMinPhoto: applyMinPhoto, - fake: fake, - botAttachMenu: botAttachMenu, - premium: premium, - attachMenuEnabled: attachMenuEnabled, - botCanEdit: botCanEdit, - closeFriend: closeFriend, - storiesHidden: storiesHidden, - storiesUnavailable: storiesUnavailable, - contactRequirePremium: contactRequirePremium, - botBusiness: botBusiness, - botHasMainApp: botHasMainApp, - id: id, - accessHash: accessHash, - firstName: firstName, - lastName: lastName, - username: username, - phone: phone, - photo: photo, - status: status, - botInfoVersion: botInfoVersion, - restrictionReason: restrictionReason, - botInlinePlaceholder: botInlinePlaceholder, - langCode: langCode, - emojiStatus: emojiStatus, - usernames: usernames, - storiesMaxId: storiesMaxId, - color: color, - profileColor: profileColor, - botActiveUsers: botActiveUsers, - botVerificationIcon: botVerificationIcon, - sendPaidMessagesStars: sendPaidMessagesStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.self ? 1 << 10 : 0; - flags |= this.contact ? 1 << 11 : 0; - flags |= this.mutualContact ? 1 << 12 : 0; - flags |= this.deleted ? 1 << 13 : 0; - flags |= this.bot ? 1 << 14 : 0; - flags |= this.botChatHistory ? 1 << 15 : 0; - flags |= this.botNochats ? 1 << 16 : 0; - flags |= this.verified ? 1 << 17 : 0; - flags |= this.restricted ? 1 << 18 : 0; - flags |= this.min ? 1 << 20 : 0; - flags |= this.botInlineGeo ? 1 << 21 : 0; - flags |= this.support ? 1 << 23 : 0; - flags |= this.scam ? 1 << 24 : 0; - flags |= this.applyMinPhoto ? 1 << 25 : 0; - flags |= this.fake ? 1 << 26 : 0; - flags |= this.botAttachMenu ? 1 << 27 : 0; - flags |= this.premium ? 1 << 28 : 0; - flags |= this.attachMenuEnabled ? 1 << 29 : 0; - flags |= this.accessHash !== undefined ? 1 << 0 : 0; - flags |= this.firstName !== undefined ? 1 << 1 : 0; - flags |= this.lastName !== undefined ? 1 << 2 : 0; - flags |= this.username !== undefined ? 1 << 3 : 0; - flags |= this.phone !== undefined ? 1 << 4 : 0; - flags |= this.photo !== undefined ? 1 << 5 : 0; - flags |= this.status !== undefined ? 1 << 6 : 0; - flags |= this.botInfoVersion !== undefined ? 1 << 14 : 0; - flags |= this.restrictionReason ? 1 << 18 : 0; - flags |= this.botInlinePlaceholder !== undefined ? 1 << 19 : 0; - flags |= this.langCode !== undefined ? 1 << 22 : 0; - flags |= this.emojiStatus !== undefined ? 1 << 30 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - // @ts-ignore - let flags2 = 0; - flags2 |= this.botCanEdit ? 1 << 1 : 0; - flags2 |= this.closeFriend ? 1 << 2 : 0; - flags2 |= this.storiesHidden ? 1 << 3 : 0; - flags2 |= this.storiesUnavailable ? 1 << 4 : 0; - flags2 |= this.contactRequirePremium ? 1 << 10 : 0; - flags2 |= this.botBusiness ? 1 << 11 : 0; - flags2 |= this.botHasMainApp ? 1 << 13 : 0; - flags2 |= this.usernames ? 1 << 0 : 0; - flags2 |= this.storiesMaxId !== undefined ? 1 << 5 : 0; - flags2 |= this.color !== undefined ? 1 << 8 : 0; - flags2 |= this.profileColor !== undefined ? 1 << 9 : 0; - flags2 |= this.botActiveUsers !== undefined ? 1 << 12 : 0; - flags2 |= this.botVerificationIcon !== undefined ? 1 << 14 : 0; - flags2 |= this.sendPaidMessagesStars !== undefined ? 1 << 15 : 0; - b.write(Primitive.Int.write(flags2) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(this.status.write() as unknown as Buffer); - } - if (this.botInfoVersion !== undefined) { - b.write(Primitive.Int.write(this.botInfoVersion) as unknown as Buffer); - } - if (this.restrictionReason) { - b.write(Primitive.Vector.write(this.restrictionReason) as unknown as Buffer); - } - if (this.botInlinePlaceholder !== undefined) { - b.write(Primitive.String.write(this.botInlinePlaceholder) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.emojiStatus !== undefined) { - b.write(this.emojiStatus.write() as unknown as Buffer); - } - if (this.usernames) { - b.write(Primitive.Vector.write(this.usernames) as unknown as Buffer); - } - if (this.storiesMaxId !== undefined) { - b.write(Primitive.Int.write(this.storiesMaxId) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(this.color.write() as unknown as Buffer); - } - if (this.profileColor !== undefined) { - b.write(this.profileColor.write() as unknown as Buffer); - } - if (this.botActiveUsers !== undefined) { - b.write(Primitive.Int.write(this.botActiveUsers) as unknown as Buffer); - } - if (this.botVerificationIcon !== undefined) { - b.write(Primitive.Long.write(this.botVerificationIcon) as unknown as Buffer); - } - if (this.sendPaidMessagesStars !== undefined) { - b.write(Primitive.Long.write(this.sendPaidMessagesStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserProfilePhotoEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UserProfilePhotoEmpty'; - this.constructorId = 0x4f11bae1; - this.subclassOfId = 0xc6338f7d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UserProfilePhotoEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserProfilePhoto extends TLObject { - hasVideo?: boolean; - personal?: boolean; - photoId!: long; - strippedThumb?: bytes; - dcId!: int; - - constructor(params: { - hasVideo?: boolean; - personal?: boolean; - photoId: long; - strippedThumb?: bytes; - dcId: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UserProfilePhoto'; - this.constructorId = 0x82d1f706; - this.subclassOfId = 0xc6338f7d; - this._slots = ['hasVideo', 'personal', 'photoId', 'strippedThumb', 'dcId']; - this.hasVideo = params.hasVideo; - this.personal = params.personal; - this.photoId = params.photoId; - this.strippedThumb = params.strippedThumb; - this.dcId = params.dcId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasVideo = flags & (1 << 0) ? true : false; - let personal = flags & (1 << 2) ? true : false; - let photoId = await Primitive.Long.read(_data); - let strippedThumb = flags & (1 << 1) ? await Primitive.Bytes.read(_data) : undefined; - let dcId = await Primitive.Int.read(_data); - return new Raw.UserProfilePhoto({ - hasVideo: hasVideo, - personal: personal, - photoId: photoId, - strippedThumb: strippedThumb, - dcId: dcId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasVideo ? 1 << 0 : 0; - flags |= this.personal ? 1 << 2 : 0; - flags |= this.strippedThumb !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.photoId !== undefined) { - b.write(Primitive.Long.write(this.photoId) as unknown as Buffer); - } - if (this.strippedThumb !== undefined) { - b.write(Primitive.Bytes.write(this.strippedThumb) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserStatusEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UserStatusEmpty'; - this.constructorId = 0x9d05049; - this.subclassOfId = 0x5b0b743e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.UserStatusEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserStatusOnline extends TLObject { - expires!: int; - - constructor(params: { expires: int }) { - super(); - this.classType = 'types'; - this.className = 'UserStatusOnline'; - this.constructorId = 0xedb93949; - this.subclassOfId = 0x5b0b743e; - this._slots = ['expires']; - this.expires = params.expires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let expires = await Primitive.Int.read(_data); - return new Raw.UserStatusOnline({ expires: expires }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserStatusOffline extends TLObject { - wasOnline!: int; - - constructor(params: { wasOnline: int }) { - super(); - this.classType = 'types'; - this.className = 'UserStatusOffline'; - this.constructorId = 0x8c703f; - this.subclassOfId = 0x5b0b743e; - this._slots = ['wasOnline']; - this.wasOnline = params.wasOnline; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let wasOnline = await Primitive.Int.read(_data); - return new Raw.UserStatusOffline({ wasOnline: wasOnline }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.wasOnline !== undefined) { - b.write(Primitive.Int.write(this.wasOnline) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserStatusRecently extends TLObject { - byMe?: boolean; - - constructor(params: { byMe?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'UserStatusRecently'; - this.constructorId = 0x7b197dc8; - this.subclassOfId = 0x5b0b743e; - this._slots = ['byMe']; - this.byMe = params.byMe; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let byMe = flags & (1 << 0) ? true : false; - return new Raw.UserStatusRecently({ byMe: byMe }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.byMe ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserStatusLastWeek extends TLObject { - byMe?: boolean; - - constructor(params: { byMe?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'UserStatusLastWeek'; - this.constructorId = 0x541a1d1a; - this.subclassOfId = 0x5b0b743e; - this._slots = ['byMe']; - this.byMe = params.byMe; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let byMe = flags & (1 << 0) ? true : false; - return new Raw.UserStatusLastWeek({ byMe: byMe }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.byMe ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserStatusLastMonth extends TLObject { - byMe?: boolean; - - constructor(params: { byMe?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'UserStatusLastMonth'; - this.constructorId = 0x65899777; - this.subclassOfId = 0x5b0b743e; - this._slots = ['byMe']; - this.byMe = params.byMe; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let byMe = flags & (1 << 0) ? true : false; - return new Raw.UserStatusLastMonth({ byMe: byMe }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.byMe ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatEmpty extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'ChatEmpty'; - this.constructorId = 0x29562865; - this.subclassOfId = 0xc5af5d94; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.ChatEmpty({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Chat extends TLObject { - creator?: boolean; - left?: boolean; - deactivated?: boolean; - callActive?: boolean; - callNotEmpty?: boolean; - noforwards?: boolean; - id!: long; - title!: string; - photo!: Raw.TypeChatPhoto; - participantsCount!: int; - date!: int; - version!: int; - migratedTo?: Raw.TypeInputChannel; - adminRights?: Raw.TypeChatAdminRights; - defaultBannedRights?: Raw.TypeChatBannedRights; - - constructor(params: { - creator?: boolean; - left?: boolean; - deactivated?: boolean; - callActive?: boolean; - callNotEmpty?: boolean; - noforwards?: boolean; - id: long; - title: string; - photo: Raw.TypeChatPhoto; - participantsCount: int; - date: int; - version: int; - migratedTo?: Raw.TypeInputChannel; - adminRights?: Raw.TypeChatAdminRights; - defaultBannedRights?: Raw.TypeChatBannedRights; - }) { - super(); - this.classType = 'types'; - this.className = 'Chat'; - this.constructorId = 0x41cbf256; - this.subclassOfId = 0xc5af5d94; - this._slots = [ - 'creator', - 'left', - 'deactivated', - 'callActive', - 'callNotEmpty', - 'noforwards', - 'id', - 'title', - 'photo', - 'participantsCount', - 'date', - 'version', - 'migratedTo', - 'adminRights', - 'defaultBannedRights', - ]; - this.creator = params.creator; - this.left = params.left; - this.deactivated = params.deactivated; - this.callActive = params.callActive; - this.callNotEmpty = params.callNotEmpty; - this.noforwards = params.noforwards; - this.id = params.id; - this.title = params.title; - this.photo = params.photo; - this.participantsCount = params.participantsCount; - this.date = params.date; - this.version = params.version; - this.migratedTo = params.migratedTo; - this.adminRights = params.adminRights; - this.defaultBannedRights = params.defaultBannedRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let creator = flags & (1 << 0) ? true : false; - let left = flags & (1 << 2) ? true : false; - let deactivated = flags & (1 << 5) ? true : false; - let callActive = flags & (1 << 23) ? true : false; - let callNotEmpty = flags & (1 << 24) ? true : false; - let noforwards = flags & (1 << 25) ? true : false; - let id = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let photo = await TLObject.read(_data); - let participantsCount = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let version = await Primitive.Int.read(_data); - let migratedTo = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let adminRights = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - let defaultBannedRights = flags & (1 << 18) ? await TLObject.read(_data) : undefined; - return new Raw.Chat({ - creator: creator, - left: left, - deactivated: deactivated, - callActive: callActive, - callNotEmpty: callNotEmpty, - noforwards: noforwards, - id: id, - title: title, - photo: photo, - participantsCount: participantsCount, - date: date, - version: version, - migratedTo: migratedTo, - adminRights: adminRights, - defaultBannedRights: defaultBannedRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.creator ? 1 << 0 : 0; - flags |= this.left ? 1 << 2 : 0; - flags |= this.deactivated ? 1 << 5 : 0; - flags |= this.callActive ? 1 << 23 : 0; - flags |= this.callNotEmpty ? 1 << 24 : 0; - flags |= this.noforwards ? 1 << 25 : 0; - flags |= this.migratedTo !== undefined ? 1 << 6 : 0; - flags |= this.adminRights !== undefined ? 1 << 14 : 0; - flags |= this.defaultBannedRights !== undefined ? 1 << 18 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.participantsCount !== undefined) { - b.write(Primitive.Int.write(this.participantsCount) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - if (this.migratedTo !== undefined) { - b.write(this.migratedTo.write() as unknown as Buffer); - } - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - if (this.defaultBannedRights !== undefined) { - b.write(this.defaultBannedRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatForbidden extends TLObject { - id!: long; - title!: string; - - constructor(params: { id: long; title: string }) { - super(); - this.classType = 'types'; - this.className = 'ChatForbidden'; - this.constructorId = 0x6592a1a7; - this.subclassOfId = 0xc5af5d94; - this._slots = ['id', 'title']; - this.id = params.id; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.ChatForbidden({ id: id, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Channel extends TLObject { - creator?: boolean; - left?: boolean; - broadcast?: boolean; - verified?: boolean; - megagroup?: boolean; - restricted?: boolean; - signatures?: boolean; - min?: boolean; - scam?: boolean; - hasLink?: boolean; - hasGeo?: boolean; - slowmodeEnabled?: boolean; - callActive?: boolean; - callNotEmpty?: boolean; - fake?: boolean; - gigagroup?: boolean; - noforwards?: boolean; - joinToSend?: boolean; - joinRequest?: boolean; - forum?: boolean; - storiesHidden?: boolean; - storiesHiddenMin?: boolean; - storiesUnavailable?: boolean; - signatureProfiles?: boolean; - autotranslation?: boolean; - broadcastMessagesAllowed?: boolean; - monoforum?: boolean; - forumTabs?: boolean; - id!: long; - accessHash?: long; - title!: string; - username?: string; - photo!: Raw.TypeChatPhoto; - date!: int; - restrictionReason?: Vector; - adminRights?: Raw.TypeChatAdminRights; - bannedRights?: Raw.TypeChatBannedRights; - defaultBannedRights?: Raw.TypeChatBannedRights; - participantsCount?: int; - usernames?: Vector; - storiesMaxId?: int; - color?: Raw.TypePeerColor; - profileColor?: Raw.TypePeerColor; - emojiStatus?: Raw.TypeEmojiStatus; - level?: int; - subscriptionUntilDate?: int; - botVerificationIcon?: long; - sendPaidMessagesStars?: long; - linkedMonoforumId?: long; - - constructor(params: { - creator?: boolean; - left?: boolean; - broadcast?: boolean; - verified?: boolean; - megagroup?: boolean; - restricted?: boolean; - signatures?: boolean; - min?: boolean; - scam?: boolean; - hasLink?: boolean; - hasGeo?: boolean; - slowmodeEnabled?: boolean; - callActive?: boolean; - callNotEmpty?: boolean; - fake?: boolean; - gigagroup?: boolean; - noforwards?: boolean; - joinToSend?: boolean; - joinRequest?: boolean; - forum?: boolean; - storiesHidden?: boolean; - storiesHiddenMin?: boolean; - storiesUnavailable?: boolean; - signatureProfiles?: boolean; - autotranslation?: boolean; - broadcastMessagesAllowed?: boolean; - monoforum?: boolean; - forumTabs?: boolean; - id: long; - accessHash?: long; - title: string; - username?: string; - photo: Raw.TypeChatPhoto; - date: int; - restrictionReason?: Vector; - adminRights?: Raw.TypeChatAdminRights; - bannedRights?: Raw.TypeChatBannedRights; - defaultBannedRights?: Raw.TypeChatBannedRights; - participantsCount?: int; - usernames?: Vector; - storiesMaxId?: int; - color?: Raw.TypePeerColor; - profileColor?: Raw.TypePeerColor; - emojiStatus?: Raw.TypeEmojiStatus; - level?: int; - subscriptionUntilDate?: int; - botVerificationIcon?: long; - sendPaidMessagesStars?: long; - linkedMonoforumId?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'Channel'; - this.constructorId = 0xfe685355; - this.subclassOfId = 0xc5af5d94; - this._slots = [ - 'creator', - 'left', - 'broadcast', - 'verified', - 'megagroup', - 'restricted', - 'signatures', - 'min', - 'scam', - 'hasLink', - 'hasGeo', - 'slowmodeEnabled', - 'callActive', - 'callNotEmpty', - 'fake', - 'gigagroup', - 'noforwards', - 'joinToSend', - 'joinRequest', - 'forum', - 'storiesHidden', - 'storiesHiddenMin', - 'storiesUnavailable', - 'signatureProfiles', - 'autotranslation', - 'broadcastMessagesAllowed', - 'monoforum', - 'forumTabs', - 'id', - 'accessHash', - 'title', - 'username', - 'photo', - 'date', - 'restrictionReason', - 'adminRights', - 'bannedRights', - 'defaultBannedRights', - 'participantsCount', - 'usernames', - 'storiesMaxId', - 'color', - 'profileColor', - 'emojiStatus', - 'level', - 'subscriptionUntilDate', - 'botVerificationIcon', - 'sendPaidMessagesStars', - 'linkedMonoforumId', - ]; - this.creator = params.creator; - this.left = params.left; - this.broadcast = params.broadcast; - this.verified = params.verified; - this.megagroup = params.megagroup; - this.restricted = params.restricted; - this.signatures = params.signatures; - this.min = params.min; - this.scam = params.scam; - this.hasLink = params.hasLink; - this.hasGeo = params.hasGeo; - this.slowmodeEnabled = params.slowmodeEnabled; - this.callActive = params.callActive; - this.callNotEmpty = params.callNotEmpty; - this.fake = params.fake; - this.gigagroup = params.gigagroup; - this.noforwards = params.noforwards; - this.joinToSend = params.joinToSend; - this.joinRequest = params.joinRequest; - this.forum = params.forum; - this.storiesHidden = params.storiesHidden; - this.storiesHiddenMin = params.storiesHiddenMin; - this.storiesUnavailable = params.storiesUnavailable; - this.signatureProfiles = params.signatureProfiles; - this.autotranslation = params.autotranslation; - this.broadcastMessagesAllowed = params.broadcastMessagesAllowed; - this.monoforum = params.monoforum; - this.forumTabs = params.forumTabs; - this.id = params.id; - this.accessHash = params.accessHash; - this.title = params.title; - this.username = params.username; - this.photo = params.photo; - this.date = params.date; - this.restrictionReason = params.restrictionReason; - this.adminRights = params.adminRights; - this.bannedRights = params.bannedRights; - this.defaultBannedRights = params.defaultBannedRights; - this.participantsCount = params.participantsCount; - this.usernames = params.usernames; - this.storiesMaxId = params.storiesMaxId; - this.color = params.color; - this.profileColor = params.profileColor; - this.emojiStatus = params.emojiStatus; - this.level = params.level; - this.subscriptionUntilDate = params.subscriptionUntilDate; - this.botVerificationIcon = params.botVerificationIcon; - this.sendPaidMessagesStars = params.sendPaidMessagesStars; - this.linkedMonoforumId = params.linkedMonoforumId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let creator = flags & (1 << 0) ? true : false; - let left = flags & (1 << 2) ? true : false; - let broadcast = flags & (1 << 5) ? true : false; - let verified = flags & (1 << 7) ? true : false; - let megagroup = flags & (1 << 8) ? true : false; - let restricted = flags & (1 << 9) ? true : false; - let signatures = flags & (1 << 11) ? true : false; - let min = flags & (1 << 12) ? true : false; - let scam = flags & (1 << 19) ? true : false; - let hasLink = flags & (1 << 20) ? true : false; - let hasGeo = flags & (1 << 21) ? true : false; - let slowmodeEnabled = flags & (1 << 22) ? true : false; - let callActive = flags & (1 << 23) ? true : false; - let callNotEmpty = flags & (1 << 24) ? true : false; - let fake = flags & (1 << 25) ? true : false; - let gigagroup = flags & (1 << 26) ? true : false; - let noforwards = flags & (1 << 27) ? true : false; - let joinToSend = flags & (1 << 28) ? true : false; - let joinRequest = flags & (1 << 29) ? true : false; - let forum = flags & (1 << 30) ? true : false; - // @ts-ignore - let flags2 = await Primitive.Int.read(_data); - let storiesHidden = flags2 & (1 << 1) ? true : false; - let storiesHiddenMin = flags2 & (1 << 2) ? true : false; - let storiesUnavailable = flags2 & (1 << 3) ? true : false; - let signatureProfiles = flags2 & (1 << 12) ? true : false; - let autotranslation = flags2 & (1 << 15) ? true : false; - let broadcastMessagesAllowed = flags2 & (1 << 16) ? true : false; - let monoforum = flags2 & (1 << 17) ? true : false; - let forumTabs = flags2 & (1 << 19) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = flags & (1 << 13) ? await Primitive.Long.read(_data) : undefined; - let title = await Primitive.String.read(_data); - let username = flags & (1 << 6) ? await Primitive.String.read(_data) : undefined; - let photo = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let restrictionReason = flags & (1 << 9) ? await TLObject.read(_data) : []; - let adminRights = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - let bannedRights = flags & (1 << 15) ? await TLObject.read(_data) : undefined; - let defaultBannedRights = flags & (1 << 18) ? await TLObject.read(_data) : undefined; - let participantsCount = flags & (1 << 17) ? await Primitive.Int.read(_data) : undefined; - let usernames = flags2 & (1 << 0) ? await TLObject.read(_data) : []; - let storiesMaxId = flags2 & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let color = flags2 & (1 << 7) ? await TLObject.read(_data) : undefined; - let profileColor = flags2 & (1 << 8) ? await TLObject.read(_data) : undefined; - let emojiStatus = flags2 & (1 << 9) ? await TLObject.read(_data) : undefined; - let level = flags2 & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let subscriptionUntilDate = flags2 & (1 << 11) ? await Primitive.Int.read(_data) : undefined; - let botVerificationIcon = flags2 & (1 << 13) ? await Primitive.Long.read(_data) : undefined; - let sendPaidMessagesStars = flags2 & (1 << 14) ? await Primitive.Long.read(_data) : undefined; - let linkedMonoforumId = flags2 & (1 << 18) ? await Primitive.Long.read(_data) : undefined; - return new Raw.Channel({ - creator: creator, - left: left, - broadcast: broadcast, - verified: verified, - megagroup: megagroup, - restricted: restricted, - signatures: signatures, - min: min, - scam: scam, - hasLink: hasLink, - hasGeo: hasGeo, - slowmodeEnabled: slowmodeEnabled, - callActive: callActive, - callNotEmpty: callNotEmpty, - fake: fake, - gigagroup: gigagroup, - noforwards: noforwards, - joinToSend: joinToSend, - joinRequest: joinRequest, - forum: forum, - storiesHidden: storiesHidden, - storiesHiddenMin: storiesHiddenMin, - storiesUnavailable: storiesUnavailable, - signatureProfiles: signatureProfiles, - autotranslation: autotranslation, - broadcastMessagesAllowed: broadcastMessagesAllowed, - monoforum: monoforum, - forumTabs: forumTabs, - id: id, - accessHash: accessHash, - title: title, - username: username, - photo: photo, - date: date, - restrictionReason: restrictionReason, - adminRights: adminRights, - bannedRights: bannedRights, - defaultBannedRights: defaultBannedRights, - participantsCount: participantsCount, - usernames: usernames, - storiesMaxId: storiesMaxId, - color: color, - profileColor: profileColor, - emojiStatus: emojiStatus, - level: level, - subscriptionUntilDate: subscriptionUntilDate, - botVerificationIcon: botVerificationIcon, - sendPaidMessagesStars: sendPaidMessagesStars, - linkedMonoforumId: linkedMonoforumId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.creator ? 1 << 0 : 0; - flags |= this.left ? 1 << 2 : 0; - flags |= this.broadcast ? 1 << 5 : 0; - flags |= this.verified ? 1 << 7 : 0; - flags |= this.megagroup ? 1 << 8 : 0; - flags |= this.restricted ? 1 << 9 : 0; - flags |= this.signatures ? 1 << 11 : 0; - flags |= this.min ? 1 << 12 : 0; - flags |= this.scam ? 1 << 19 : 0; - flags |= this.hasLink ? 1 << 20 : 0; - flags |= this.hasGeo ? 1 << 21 : 0; - flags |= this.slowmodeEnabled ? 1 << 22 : 0; - flags |= this.callActive ? 1 << 23 : 0; - flags |= this.callNotEmpty ? 1 << 24 : 0; - flags |= this.fake ? 1 << 25 : 0; - flags |= this.gigagroup ? 1 << 26 : 0; - flags |= this.noforwards ? 1 << 27 : 0; - flags |= this.joinToSend ? 1 << 28 : 0; - flags |= this.joinRequest ? 1 << 29 : 0; - flags |= this.forum ? 1 << 30 : 0; - flags |= this.accessHash !== undefined ? 1 << 13 : 0; - flags |= this.username !== undefined ? 1 << 6 : 0; - flags |= this.restrictionReason ? 1 << 9 : 0; - flags |= this.adminRights !== undefined ? 1 << 14 : 0; - flags |= this.bannedRights !== undefined ? 1 << 15 : 0; - flags |= this.defaultBannedRights !== undefined ? 1 << 18 : 0; - flags |= this.participantsCount !== undefined ? 1 << 17 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - // @ts-ignore - let flags2 = 0; - flags2 |= this.storiesHidden ? 1 << 1 : 0; - flags2 |= this.storiesHiddenMin ? 1 << 2 : 0; - flags2 |= this.storiesUnavailable ? 1 << 3 : 0; - flags2 |= this.signatureProfiles ? 1 << 12 : 0; - flags2 |= this.autotranslation ? 1 << 15 : 0; - flags2 |= this.broadcastMessagesAllowed ? 1 << 16 : 0; - flags2 |= this.monoforum ? 1 << 17 : 0; - flags2 |= this.forumTabs ? 1 << 19 : 0; - flags2 |= this.usernames ? 1 << 0 : 0; - flags2 |= this.storiesMaxId !== undefined ? 1 << 4 : 0; - flags2 |= this.color !== undefined ? 1 << 7 : 0; - flags2 |= this.profileColor !== undefined ? 1 << 8 : 0; - flags2 |= this.emojiStatus !== undefined ? 1 << 9 : 0; - flags2 |= this.level !== undefined ? 1 << 10 : 0; - flags2 |= this.subscriptionUntilDate !== undefined ? 1 << 11 : 0; - flags2 |= this.botVerificationIcon !== undefined ? 1 << 13 : 0; - flags2 |= this.sendPaidMessagesStars !== undefined ? 1 << 14 : 0; - flags2 |= this.linkedMonoforumId !== undefined ? 1 << 18 : 0; - b.write(Primitive.Int.write(flags2) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.restrictionReason) { - b.write(Primitive.Vector.write(this.restrictionReason) as unknown as Buffer); - } - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - if (this.bannedRights !== undefined) { - b.write(this.bannedRights.write() as unknown as Buffer); - } - if (this.defaultBannedRights !== undefined) { - b.write(this.defaultBannedRights.write() as unknown as Buffer); - } - if (this.participantsCount !== undefined) { - b.write(Primitive.Int.write(this.participantsCount) as unknown as Buffer); - } - if (this.usernames) { - b.write(Primitive.Vector.write(this.usernames) as unknown as Buffer); - } - if (this.storiesMaxId !== undefined) { - b.write(Primitive.Int.write(this.storiesMaxId) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(this.color.write() as unknown as Buffer); - } - if (this.profileColor !== undefined) { - b.write(this.profileColor.write() as unknown as Buffer); - } - if (this.emojiStatus !== undefined) { - b.write(this.emojiStatus.write() as unknown as Buffer); - } - if (this.level !== undefined) { - b.write(Primitive.Int.write(this.level) as unknown as Buffer); - } - if (this.subscriptionUntilDate !== undefined) { - b.write(Primitive.Int.write(this.subscriptionUntilDate) as unknown as Buffer); - } - if (this.botVerificationIcon !== undefined) { - b.write(Primitive.Long.write(this.botVerificationIcon) as unknown as Buffer); - } - if (this.sendPaidMessagesStars !== undefined) { - b.write(Primitive.Long.write(this.sendPaidMessagesStars) as unknown as Buffer); - } - if (this.linkedMonoforumId !== undefined) { - b.write(Primitive.Long.write(this.linkedMonoforumId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelForbidden extends TLObject { - broadcast?: boolean; - megagroup?: boolean; - id!: long; - accessHash!: long; - title!: string; - untilDate?: int; - - constructor(params: { - broadcast?: boolean; - megagroup?: boolean; - id: long; - accessHash: long; - title: string; - untilDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelForbidden'; - this.constructorId = 0x17d493d5; - this.subclassOfId = 0xc5af5d94; - this._slots = ['broadcast', 'megagroup', 'id', 'accessHash', 'title', 'untilDate']; - this.broadcast = params.broadcast; - this.megagroup = params.megagroup; - this.id = params.id; - this.accessHash = params.accessHash; - this.title = params.title; - this.untilDate = params.untilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let broadcast = flags & (1 << 5) ? true : false; - let megagroup = flags & (1 << 8) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let untilDate = flags & (1 << 16) ? await Primitive.Int.read(_data) : undefined; - return new Raw.ChannelForbidden({ - broadcast: broadcast, - megagroup: megagroup, - id: id, - accessHash: accessHash, - title: title, - untilDate: untilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.broadcast ? 1 << 5 : 0; - flags |= this.megagroup ? 1 << 8 : 0; - flags |= this.untilDate !== undefined ? 1 << 16 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatFull extends TLObject { - canSetUsername?: boolean; - hasScheduled?: boolean; - translationsDisabled?: boolean; - id!: long; - about!: string; - participants!: Raw.TypeChatParticipants; - chatPhoto?: Raw.TypePhoto; - notifySettings!: Raw.TypePeerNotifySettings; - exportedInvite?: Raw.TypeExportedChatInvite; - botInfo?: Vector; - pinnedMsgId?: int; - folderId?: int; - call?: Raw.TypeInputGroupCall; - ttlPeriod?: int; - groupcallDefaultJoinAs?: Raw.TypePeer; - themeEmoticon?: string; - requestsPending?: int; - recentRequesters?: Vector; - availableReactions?: Raw.TypeChatReactions; - reactionsLimit?: int; - - constructor(params: { - canSetUsername?: boolean; - hasScheduled?: boolean; - translationsDisabled?: boolean; - id: long; - about: string; - participants: Raw.TypeChatParticipants; - chatPhoto?: Raw.TypePhoto; - notifySettings: Raw.TypePeerNotifySettings; - exportedInvite?: Raw.TypeExportedChatInvite; - botInfo?: Vector; - pinnedMsgId?: int; - folderId?: int; - call?: Raw.TypeInputGroupCall; - ttlPeriod?: int; - groupcallDefaultJoinAs?: Raw.TypePeer; - themeEmoticon?: string; - requestsPending?: int; - recentRequesters?: Vector; - availableReactions?: Raw.TypeChatReactions; - reactionsLimit?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatFull'; - this.constructorId = 0x2633421b; - this.subclassOfId = 0xd49a2697; - this._slots = [ - 'canSetUsername', - 'hasScheduled', - 'translationsDisabled', - 'id', - 'about', - 'participants', - 'chatPhoto', - 'notifySettings', - 'exportedInvite', - 'botInfo', - 'pinnedMsgId', - 'folderId', - 'call', - 'ttlPeriod', - 'groupcallDefaultJoinAs', - 'themeEmoticon', - 'requestsPending', - 'recentRequesters', - 'availableReactions', - 'reactionsLimit', - ]; - this.canSetUsername = params.canSetUsername; - this.hasScheduled = params.hasScheduled; - this.translationsDisabled = params.translationsDisabled; - this.id = params.id; - this.about = params.about; - this.participants = params.participants; - this.chatPhoto = params.chatPhoto; - this.notifySettings = params.notifySettings; - this.exportedInvite = params.exportedInvite; - this.botInfo = params.botInfo; - this.pinnedMsgId = params.pinnedMsgId; - this.folderId = params.folderId; - this.call = params.call; - this.ttlPeriod = params.ttlPeriod; - this.groupcallDefaultJoinAs = params.groupcallDefaultJoinAs; - this.themeEmoticon = params.themeEmoticon; - this.requestsPending = params.requestsPending; - this.recentRequesters = params.recentRequesters; - this.availableReactions = params.availableReactions; - this.reactionsLimit = params.reactionsLimit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canSetUsername = flags & (1 << 7) ? true : false; - let hasScheduled = flags & (1 << 8) ? true : false; - let translationsDisabled = flags & (1 << 19) ? true : false; - let id = await Primitive.Long.read(_data); - let about = await Primitive.String.read(_data); - let participants = await TLObject.read(_data); - let chatPhoto = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let notifySettings = await TLObject.read(_data); - let exportedInvite = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let botInfo = flags & (1 << 3) ? await TLObject.read(_data) : []; - let pinnedMsgId = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let folderId = flags & (1 << 11) ? await Primitive.Int.read(_data) : undefined; - let call = flags & (1 << 12) ? await TLObject.read(_data) : undefined; - let ttlPeriod = flags & (1 << 14) ? await Primitive.Int.read(_data) : undefined; - let groupcallDefaultJoinAs = flags & (1 << 15) ? await TLObject.read(_data) : undefined; - let themeEmoticon = flags & (1 << 16) ? await Primitive.String.read(_data) : undefined; - let requestsPending = flags & (1 << 17) ? await Primitive.Int.read(_data) : undefined; - let recentRequesters = flags & (1 << 17) ? await TLObject.read(_data, Primitive.Long) : []; - let availableReactions = flags & (1 << 18) ? await TLObject.read(_data) : undefined; - let reactionsLimit = flags & (1 << 20) ? await Primitive.Int.read(_data) : undefined; - return new Raw.ChatFull({ - canSetUsername: canSetUsername, - hasScheduled: hasScheduled, - translationsDisabled: translationsDisabled, - id: id, - about: about, - participants: participants, - chatPhoto: chatPhoto, - notifySettings: notifySettings, - exportedInvite: exportedInvite, - botInfo: botInfo, - pinnedMsgId: pinnedMsgId, - folderId: folderId, - call: call, - ttlPeriod: ttlPeriod, - groupcallDefaultJoinAs: groupcallDefaultJoinAs, - themeEmoticon: themeEmoticon, - requestsPending: requestsPending, - recentRequesters: recentRequesters, - availableReactions: availableReactions, - reactionsLimit: reactionsLimit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canSetUsername ? 1 << 7 : 0; - flags |= this.hasScheduled ? 1 << 8 : 0; - flags |= this.translationsDisabled ? 1 << 19 : 0; - flags |= this.chatPhoto !== undefined ? 1 << 2 : 0; - flags |= this.exportedInvite !== undefined ? 1 << 13 : 0; - flags |= this.botInfo ? 1 << 3 : 0; - flags |= this.pinnedMsgId !== undefined ? 1 << 6 : 0; - flags |= this.folderId !== undefined ? 1 << 11 : 0; - flags |= this.call !== undefined ? 1 << 12 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 14 : 0; - flags |= this.groupcallDefaultJoinAs !== undefined ? 1 << 15 : 0; - flags |= this.themeEmoticon !== undefined ? 1 << 16 : 0; - flags |= this.requestsPending !== undefined ? 1 << 17 : 0; - flags |= this.recentRequesters ? 1 << 17 : 0; - flags |= this.availableReactions !== undefined ? 1 << 18 : 0; - flags |= this.reactionsLimit !== undefined ? 1 << 20 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.participants !== undefined) { - b.write(this.participants.write() as unknown as Buffer); - } - if (this.chatPhoto !== undefined) { - b.write(this.chatPhoto.write() as unknown as Buffer); - } - if (this.notifySettings !== undefined) { - b.write(this.notifySettings.write() as unknown as Buffer); - } - if (this.exportedInvite !== undefined) { - b.write(this.exportedInvite.write() as unknown as Buffer); - } - if (this.botInfo) { - b.write(Primitive.Vector.write(this.botInfo) as unknown as Buffer); - } - if (this.pinnedMsgId !== undefined) { - b.write(Primitive.Int.write(this.pinnedMsgId) as unknown as Buffer); - } - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - if (this.groupcallDefaultJoinAs !== undefined) { - b.write(this.groupcallDefaultJoinAs.write() as unknown as Buffer); - } - if (this.themeEmoticon !== undefined) { - b.write(Primitive.String.write(this.themeEmoticon) as unknown as Buffer); - } - if (this.requestsPending !== undefined) { - b.write(Primitive.Int.write(this.requestsPending) as unknown as Buffer); - } - if (this.recentRequesters) { - b.write(Primitive.Vector.write(this.recentRequesters, Primitive.Long) as unknown as Buffer); - } - if (this.availableReactions !== undefined) { - b.write(this.availableReactions.write() as unknown as Buffer); - } - if (this.reactionsLimit !== undefined) { - b.write(Primitive.Int.write(this.reactionsLimit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelFull extends TLObject { - canViewParticipants?: boolean; - canSetUsername?: boolean; - canSetStickers?: boolean; - hiddenPrehistory?: boolean; - canSetLocation?: boolean; - hasScheduled?: boolean; - canViewStats?: boolean; - blocked?: boolean; - canDeleteChannel?: boolean; - antispam?: boolean; - participantsHidden?: boolean; - translationsDisabled?: boolean; - storiesPinnedAvailable?: boolean; - viewForumAsMessages?: boolean; - restrictedSponsored?: boolean; - canViewRevenue?: boolean; - paidMediaAllowed?: boolean; - canViewStarsRevenue?: boolean; - paidReactionsAvailable?: boolean; - stargiftsAvailable?: boolean; - paidMessagesAvailable?: boolean; - id!: long; - about!: string; - participantsCount?: int; - adminsCount?: int; - kickedCount?: int; - bannedCount?: int; - onlineCount?: int; - readInboxMaxId!: int; - readOutboxMaxId!: int; - unreadCount!: int; - chatPhoto!: Raw.TypePhoto; - notifySettings!: Raw.TypePeerNotifySettings; - exportedInvite?: Raw.TypeExportedChatInvite; - botInfo!: Vector; - migratedFromChatId?: long; - migratedFromMaxId?: int; - pinnedMsgId?: int; - stickerset?: Raw.TypeStickerSet; - availableMinId?: int; - folderId?: int; - linkedChatId?: long; - location?: Raw.TypeChannelLocation; - slowmodeSeconds?: int; - slowmodeNextSendDate?: int; - statsDc?: int; - pts!: int; - call?: Raw.TypeInputGroupCall; - ttlPeriod?: int; - pendingSuggestions?: Vector; - groupcallDefaultJoinAs?: Raw.TypePeer; - themeEmoticon?: string; - requestsPending?: int; - recentRequesters?: Vector; - defaultSendAs?: Raw.TypePeer; - availableReactions?: Raw.TypeChatReactions; - reactionsLimit?: int; - stories?: Raw.TypePeerStories; - wallpaper?: Raw.TypeWallPaper; - boostsApplied?: int; - boostsUnrestrict?: int; - emojiset?: Raw.TypeStickerSet; - botVerification?: Raw.TypeBotVerification; - stargiftsCount?: int; - sendPaidMessagesStars?: long; - - constructor(params: { - canViewParticipants?: boolean; - canSetUsername?: boolean; - canSetStickers?: boolean; - hiddenPrehistory?: boolean; - canSetLocation?: boolean; - hasScheduled?: boolean; - canViewStats?: boolean; - blocked?: boolean; - canDeleteChannel?: boolean; - antispam?: boolean; - participantsHidden?: boolean; - translationsDisabled?: boolean; - storiesPinnedAvailable?: boolean; - viewForumAsMessages?: boolean; - restrictedSponsored?: boolean; - canViewRevenue?: boolean; - paidMediaAllowed?: boolean; - canViewStarsRevenue?: boolean; - paidReactionsAvailable?: boolean; - stargiftsAvailable?: boolean; - paidMessagesAvailable?: boolean; - id: long; - about: string; - participantsCount?: int; - adminsCount?: int; - kickedCount?: int; - bannedCount?: int; - onlineCount?: int; - readInboxMaxId: int; - readOutboxMaxId: int; - unreadCount: int; - chatPhoto: Raw.TypePhoto; - notifySettings: Raw.TypePeerNotifySettings; - exportedInvite?: Raw.TypeExportedChatInvite; - botInfo: Vector; - migratedFromChatId?: long; - migratedFromMaxId?: int; - pinnedMsgId?: int; - stickerset?: Raw.TypeStickerSet; - availableMinId?: int; - folderId?: int; - linkedChatId?: long; - location?: Raw.TypeChannelLocation; - slowmodeSeconds?: int; - slowmodeNextSendDate?: int; - statsDc?: int; - pts: int; - call?: Raw.TypeInputGroupCall; - ttlPeriod?: int; - pendingSuggestions?: Vector; - groupcallDefaultJoinAs?: Raw.TypePeer; - themeEmoticon?: string; - requestsPending?: int; - recentRequesters?: Vector; - defaultSendAs?: Raw.TypePeer; - availableReactions?: Raw.TypeChatReactions; - reactionsLimit?: int; - stories?: Raw.TypePeerStories; - wallpaper?: Raw.TypeWallPaper; - boostsApplied?: int; - boostsUnrestrict?: int; - emojiset?: Raw.TypeStickerSet; - botVerification?: Raw.TypeBotVerification; - stargiftsCount?: int; - sendPaidMessagesStars?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelFull'; - this.constructorId = 0xe07429de; - this.subclassOfId = 0xd49a2697; - this._slots = [ - 'canViewParticipants', - 'canSetUsername', - 'canSetStickers', - 'hiddenPrehistory', - 'canSetLocation', - 'hasScheduled', - 'canViewStats', - 'blocked', - 'canDeleteChannel', - 'antispam', - 'participantsHidden', - 'translationsDisabled', - 'storiesPinnedAvailable', - 'viewForumAsMessages', - 'restrictedSponsored', - 'canViewRevenue', - 'paidMediaAllowed', - 'canViewStarsRevenue', - 'paidReactionsAvailable', - 'stargiftsAvailable', - 'paidMessagesAvailable', - 'id', - 'about', - 'participantsCount', - 'adminsCount', - 'kickedCount', - 'bannedCount', - 'onlineCount', - 'readInboxMaxId', - 'readOutboxMaxId', - 'unreadCount', - 'chatPhoto', - 'notifySettings', - 'exportedInvite', - 'botInfo', - 'migratedFromChatId', - 'migratedFromMaxId', - 'pinnedMsgId', - 'stickerset', - 'availableMinId', - 'folderId', - 'linkedChatId', - 'location', - 'slowmodeSeconds', - 'slowmodeNextSendDate', - 'statsDc', - 'pts', - 'call', - 'ttlPeriod', - 'pendingSuggestions', - 'groupcallDefaultJoinAs', - 'themeEmoticon', - 'requestsPending', - 'recentRequesters', - 'defaultSendAs', - 'availableReactions', - 'reactionsLimit', - 'stories', - 'wallpaper', - 'boostsApplied', - 'boostsUnrestrict', - 'emojiset', - 'botVerification', - 'stargiftsCount', - 'sendPaidMessagesStars', - ]; - this.canViewParticipants = params.canViewParticipants; - this.canSetUsername = params.canSetUsername; - this.canSetStickers = params.canSetStickers; - this.hiddenPrehistory = params.hiddenPrehistory; - this.canSetLocation = params.canSetLocation; - this.hasScheduled = params.hasScheduled; - this.canViewStats = params.canViewStats; - this.blocked = params.blocked; - this.canDeleteChannel = params.canDeleteChannel; - this.antispam = params.antispam; - this.participantsHidden = params.participantsHidden; - this.translationsDisabled = params.translationsDisabled; - this.storiesPinnedAvailable = params.storiesPinnedAvailable; - this.viewForumAsMessages = params.viewForumAsMessages; - this.restrictedSponsored = params.restrictedSponsored; - this.canViewRevenue = params.canViewRevenue; - this.paidMediaAllowed = params.paidMediaAllowed; - this.canViewStarsRevenue = params.canViewStarsRevenue; - this.paidReactionsAvailable = params.paidReactionsAvailable; - this.stargiftsAvailable = params.stargiftsAvailable; - this.paidMessagesAvailable = params.paidMessagesAvailable; - this.id = params.id; - this.about = params.about; - this.participantsCount = params.participantsCount; - this.adminsCount = params.adminsCount; - this.kickedCount = params.kickedCount; - this.bannedCount = params.bannedCount; - this.onlineCount = params.onlineCount; - this.readInboxMaxId = params.readInboxMaxId; - this.readOutboxMaxId = params.readOutboxMaxId; - this.unreadCount = params.unreadCount; - this.chatPhoto = params.chatPhoto; - this.notifySettings = params.notifySettings; - this.exportedInvite = params.exportedInvite; - this.botInfo = params.botInfo; - this.migratedFromChatId = params.migratedFromChatId; - this.migratedFromMaxId = params.migratedFromMaxId; - this.pinnedMsgId = params.pinnedMsgId; - this.stickerset = params.stickerset; - this.availableMinId = params.availableMinId; - this.folderId = params.folderId; - this.linkedChatId = params.linkedChatId; - this.location = params.location; - this.slowmodeSeconds = params.slowmodeSeconds; - this.slowmodeNextSendDate = params.slowmodeNextSendDate; - this.statsDc = params.statsDc; - this.pts = params.pts; - this.call = params.call; - this.ttlPeriod = params.ttlPeriod; - this.pendingSuggestions = params.pendingSuggestions; - this.groupcallDefaultJoinAs = params.groupcallDefaultJoinAs; - this.themeEmoticon = params.themeEmoticon; - this.requestsPending = params.requestsPending; - this.recentRequesters = params.recentRequesters; - this.defaultSendAs = params.defaultSendAs; - this.availableReactions = params.availableReactions; - this.reactionsLimit = params.reactionsLimit; - this.stories = params.stories; - this.wallpaper = params.wallpaper; - this.boostsApplied = params.boostsApplied; - this.boostsUnrestrict = params.boostsUnrestrict; - this.emojiset = params.emojiset; - this.botVerification = params.botVerification; - this.stargiftsCount = params.stargiftsCount; - this.sendPaidMessagesStars = params.sendPaidMessagesStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canViewParticipants = flags & (1 << 3) ? true : false; - let canSetUsername = flags & (1 << 6) ? true : false; - let canSetStickers = flags & (1 << 7) ? true : false; - let hiddenPrehistory = flags & (1 << 10) ? true : false; - let canSetLocation = flags & (1 << 16) ? true : false; - let hasScheduled = flags & (1 << 19) ? true : false; - let canViewStats = flags & (1 << 20) ? true : false; - let blocked = flags & (1 << 22) ? true : false; - // @ts-ignore - let flags2 = await Primitive.Int.read(_data); - let canDeleteChannel = flags2 & (1 << 0) ? true : false; - let antispam = flags2 & (1 << 1) ? true : false; - let participantsHidden = flags2 & (1 << 2) ? true : false; - let translationsDisabled = flags2 & (1 << 3) ? true : false; - let storiesPinnedAvailable = flags2 & (1 << 5) ? true : false; - let viewForumAsMessages = flags2 & (1 << 6) ? true : false; - let restrictedSponsored = flags2 & (1 << 11) ? true : false; - let canViewRevenue = flags2 & (1 << 12) ? true : false; - let paidMediaAllowed = flags2 & (1 << 14) ? true : false; - let canViewStarsRevenue = flags2 & (1 << 15) ? true : false; - let paidReactionsAvailable = flags2 & (1 << 16) ? true : false; - let stargiftsAvailable = flags2 & (1 << 19) ? true : false; - let paidMessagesAvailable = flags2 & (1 << 20) ? true : false; - let id = await Primitive.Long.read(_data); - let about = await Primitive.String.read(_data); - let participantsCount = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let adminsCount = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let kickedCount = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let bannedCount = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let onlineCount = flags & (1 << 13) ? await Primitive.Int.read(_data) : undefined; - let readInboxMaxId = await Primitive.Int.read(_data); - let readOutboxMaxId = await Primitive.Int.read(_data); - let unreadCount = await Primitive.Int.read(_data); - let chatPhoto = await TLObject.read(_data); - let notifySettings = await TLObject.read(_data); - let exportedInvite = flags & (1 << 23) ? await TLObject.read(_data) : undefined; - let botInfo = await TLObject.read(_data); - let migratedFromChatId = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let migratedFromMaxId = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let pinnedMsgId = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let stickerset = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let availableMinId = flags & (1 << 9) ? await Primitive.Int.read(_data) : undefined; - let folderId = flags & (1 << 11) ? await Primitive.Int.read(_data) : undefined; - let linkedChatId = flags & (1 << 14) ? await Primitive.Long.read(_data) : undefined; - let location = flags & (1 << 15) ? await TLObject.read(_data) : undefined; - let slowmodeSeconds = flags & (1 << 17) ? await Primitive.Int.read(_data) : undefined; - let slowmodeNextSendDate = flags & (1 << 18) ? await Primitive.Int.read(_data) : undefined; - let statsDc = flags & (1 << 12) ? await Primitive.Int.read(_data) : undefined; - let pts = await Primitive.Int.read(_data); - let call = flags & (1 << 21) ? await TLObject.read(_data) : undefined; - let ttlPeriod = flags & (1 << 24) ? await Primitive.Int.read(_data) : undefined; - let pendingSuggestions = - flags & (1 << 25) ? await TLObject.read(_data, Primitive.String) : []; - let groupcallDefaultJoinAs = flags & (1 << 26) ? await TLObject.read(_data) : undefined; - let themeEmoticon = flags & (1 << 27) ? await Primitive.String.read(_data) : undefined; - let requestsPending = flags & (1 << 28) ? await Primitive.Int.read(_data) : undefined; - let recentRequesters = flags & (1 << 28) ? await TLObject.read(_data, Primitive.Long) : []; - let defaultSendAs = flags & (1 << 29) ? await TLObject.read(_data) : undefined; - let availableReactions = flags & (1 << 30) ? await TLObject.read(_data) : undefined; - let reactionsLimit = flags2 & (1 << 13) ? await Primitive.Int.read(_data) : undefined; - let stories = flags2 & (1 << 4) ? await TLObject.read(_data) : undefined; - let wallpaper = flags2 & (1 << 7) ? await TLObject.read(_data) : undefined; - let boostsApplied = flags2 & (1 << 8) ? await Primitive.Int.read(_data) : undefined; - let boostsUnrestrict = flags2 & (1 << 9) ? await Primitive.Int.read(_data) : undefined; - let emojiset = flags2 & (1 << 10) ? await TLObject.read(_data) : undefined; - let botVerification = flags2 & (1 << 17) ? await TLObject.read(_data) : undefined; - let stargiftsCount = flags2 & (1 << 18) ? await Primitive.Int.read(_data) : undefined; - let sendPaidMessagesStars = flags2 & (1 << 21) ? await Primitive.Long.read(_data) : undefined; - return new Raw.ChannelFull({ - canViewParticipants: canViewParticipants, - canSetUsername: canSetUsername, - canSetStickers: canSetStickers, - hiddenPrehistory: hiddenPrehistory, - canSetLocation: canSetLocation, - hasScheduled: hasScheduled, - canViewStats: canViewStats, - blocked: blocked, - canDeleteChannel: canDeleteChannel, - antispam: antispam, - participantsHidden: participantsHidden, - translationsDisabled: translationsDisabled, - storiesPinnedAvailable: storiesPinnedAvailable, - viewForumAsMessages: viewForumAsMessages, - restrictedSponsored: restrictedSponsored, - canViewRevenue: canViewRevenue, - paidMediaAllowed: paidMediaAllowed, - canViewStarsRevenue: canViewStarsRevenue, - paidReactionsAvailable: paidReactionsAvailable, - stargiftsAvailable: stargiftsAvailable, - paidMessagesAvailable: paidMessagesAvailable, - id: id, - about: about, - participantsCount: participantsCount, - adminsCount: adminsCount, - kickedCount: kickedCount, - bannedCount: bannedCount, - onlineCount: onlineCount, - readInboxMaxId: readInboxMaxId, - readOutboxMaxId: readOutboxMaxId, - unreadCount: unreadCount, - chatPhoto: chatPhoto, - notifySettings: notifySettings, - exportedInvite: exportedInvite, - botInfo: botInfo, - migratedFromChatId: migratedFromChatId, - migratedFromMaxId: migratedFromMaxId, - pinnedMsgId: pinnedMsgId, - stickerset: stickerset, - availableMinId: availableMinId, - folderId: folderId, - linkedChatId: linkedChatId, - location: location, - slowmodeSeconds: slowmodeSeconds, - slowmodeNextSendDate: slowmodeNextSendDate, - statsDc: statsDc, - pts: pts, - call: call, - ttlPeriod: ttlPeriod, - pendingSuggestions: pendingSuggestions, - groupcallDefaultJoinAs: groupcallDefaultJoinAs, - themeEmoticon: themeEmoticon, - requestsPending: requestsPending, - recentRequesters: recentRequesters, - defaultSendAs: defaultSendAs, - availableReactions: availableReactions, - reactionsLimit: reactionsLimit, - stories: stories, - wallpaper: wallpaper, - boostsApplied: boostsApplied, - boostsUnrestrict: boostsUnrestrict, - emojiset: emojiset, - botVerification: botVerification, - stargiftsCount: stargiftsCount, - sendPaidMessagesStars: sendPaidMessagesStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canViewParticipants ? 1 << 3 : 0; - flags |= this.canSetUsername ? 1 << 6 : 0; - flags |= this.canSetStickers ? 1 << 7 : 0; - flags |= this.hiddenPrehistory ? 1 << 10 : 0; - flags |= this.canSetLocation ? 1 << 16 : 0; - flags |= this.hasScheduled ? 1 << 19 : 0; - flags |= this.canViewStats ? 1 << 20 : 0; - flags |= this.blocked ? 1 << 22 : 0; - flags |= this.participantsCount !== undefined ? 1 << 0 : 0; - flags |= this.adminsCount !== undefined ? 1 << 1 : 0; - flags |= this.kickedCount !== undefined ? 1 << 2 : 0; - flags |= this.bannedCount !== undefined ? 1 << 2 : 0; - flags |= this.onlineCount !== undefined ? 1 << 13 : 0; - flags |= this.exportedInvite !== undefined ? 1 << 23 : 0; - flags |= this.migratedFromChatId !== undefined ? 1 << 4 : 0; - flags |= this.migratedFromMaxId !== undefined ? 1 << 4 : 0; - flags |= this.pinnedMsgId !== undefined ? 1 << 5 : 0; - flags |= this.stickerset !== undefined ? 1 << 8 : 0; - flags |= this.availableMinId !== undefined ? 1 << 9 : 0; - flags |= this.folderId !== undefined ? 1 << 11 : 0; - flags |= this.linkedChatId !== undefined ? 1 << 14 : 0; - flags |= this.location !== undefined ? 1 << 15 : 0; - flags |= this.slowmodeSeconds !== undefined ? 1 << 17 : 0; - flags |= this.slowmodeNextSendDate !== undefined ? 1 << 18 : 0; - flags |= this.statsDc !== undefined ? 1 << 12 : 0; - flags |= this.call !== undefined ? 1 << 21 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 24 : 0; - flags |= this.pendingSuggestions ? 1 << 25 : 0; - flags |= this.groupcallDefaultJoinAs !== undefined ? 1 << 26 : 0; - flags |= this.themeEmoticon !== undefined ? 1 << 27 : 0; - flags |= this.requestsPending !== undefined ? 1 << 28 : 0; - flags |= this.recentRequesters ? 1 << 28 : 0; - flags |= this.defaultSendAs !== undefined ? 1 << 29 : 0; - flags |= this.availableReactions !== undefined ? 1 << 30 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - // @ts-ignore - let flags2 = 0; - flags2 |= this.canDeleteChannel ? 1 << 0 : 0; - flags2 |= this.antispam ? 1 << 1 : 0; - flags2 |= this.participantsHidden ? 1 << 2 : 0; - flags2 |= this.translationsDisabled ? 1 << 3 : 0; - flags2 |= this.storiesPinnedAvailable ? 1 << 5 : 0; - flags2 |= this.viewForumAsMessages ? 1 << 6 : 0; - flags2 |= this.restrictedSponsored ? 1 << 11 : 0; - flags2 |= this.canViewRevenue ? 1 << 12 : 0; - flags2 |= this.paidMediaAllowed ? 1 << 14 : 0; - flags2 |= this.canViewStarsRevenue ? 1 << 15 : 0; - flags2 |= this.paidReactionsAvailable ? 1 << 16 : 0; - flags2 |= this.stargiftsAvailable ? 1 << 19 : 0; - flags2 |= this.paidMessagesAvailable ? 1 << 20 : 0; - flags2 |= this.reactionsLimit !== undefined ? 1 << 13 : 0; - flags2 |= this.stories !== undefined ? 1 << 4 : 0; - flags2 |= this.wallpaper !== undefined ? 1 << 7 : 0; - flags2 |= this.boostsApplied !== undefined ? 1 << 8 : 0; - flags2 |= this.boostsUnrestrict !== undefined ? 1 << 9 : 0; - flags2 |= this.emojiset !== undefined ? 1 << 10 : 0; - flags2 |= this.botVerification !== undefined ? 1 << 17 : 0; - flags2 |= this.stargiftsCount !== undefined ? 1 << 18 : 0; - flags2 |= this.sendPaidMessagesStars !== undefined ? 1 << 21 : 0; - b.write(Primitive.Int.write(flags2) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.participantsCount !== undefined) { - b.write(Primitive.Int.write(this.participantsCount) as unknown as Buffer); - } - if (this.adminsCount !== undefined) { - b.write(Primitive.Int.write(this.adminsCount) as unknown as Buffer); - } - if (this.kickedCount !== undefined) { - b.write(Primitive.Int.write(this.kickedCount) as unknown as Buffer); - } - if (this.bannedCount !== undefined) { - b.write(Primitive.Int.write(this.bannedCount) as unknown as Buffer); - } - if (this.onlineCount !== undefined) { - b.write(Primitive.Int.write(this.onlineCount) as unknown as Buffer); - } - if (this.readInboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readInboxMaxId) as unknown as Buffer); - } - if (this.readOutboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readOutboxMaxId) as unknown as Buffer); - } - if (this.unreadCount !== undefined) { - b.write(Primitive.Int.write(this.unreadCount) as unknown as Buffer); - } - if (this.chatPhoto !== undefined) { - b.write(this.chatPhoto.write() as unknown as Buffer); - } - if (this.notifySettings !== undefined) { - b.write(this.notifySettings.write() as unknown as Buffer); - } - if (this.exportedInvite !== undefined) { - b.write(this.exportedInvite.write() as unknown as Buffer); - } - if (this.botInfo) { - b.write(Primitive.Vector.write(this.botInfo) as unknown as Buffer); - } - if (this.migratedFromChatId !== undefined) { - b.write(Primitive.Long.write(this.migratedFromChatId) as unknown as Buffer); - } - if (this.migratedFromMaxId !== undefined) { - b.write(Primitive.Int.write(this.migratedFromMaxId) as unknown as Buffer); - } - if (this.pinnedMsgId !== undefined) { - b.write(Primitive.Int.write(this.pinnedMsgId) as unknown as Buffer); - } - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.availableMinId !== undefined) { - b.write(Primitive.Int.write(this.availableMinId) as unknown as Buffer); - } - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.linkedChatId !== undefined) { - b.write(Primitive.Long.write(this.linkedChatId) as unknown as Buffer); - } - if (this.location !== undefined) { - b.write(this.location.write() as unknown as Buffer); - } - if (this.slowmodeSeconds !== undefined) { - b.write(Primitive.Int.write(this.slowmodeSeconds) as unknown as Buffer); - } - if (this.slowmodeNextSendDate !== undefined) { - b.write(Primitive.Int.write(this.slowmodeNextSendDate) as unknown as Buffer); - } - if (this.statsDc !== undefined) { - b.write(Primitive.Int.write(this.statsDc) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - if (this.pendingSuggestions) { - b.write( - Primitive.Vector.write(this.pendingSuggestions, Primitive.String) as unknown as Buffer, - ); - } - if (this.groupcallDefaultJoinAs !== undefined) { - b.write(this.groupcallDefaultJoinAs.write() as unknown as Buffer); - } - if (this.themeEmoticon !== undefined) { - b.write(Primitive.String.write(this.themeEmoticon) as unknown as Buffer); - } - if (this.requestsPending !== undefined) { - b.write(Primitive.Int.write(this.requestsPending) as unknown as Buffer); - } - if (this.recentRequesters) { - b.write(Primitive.Vector.write(this.recentRequesters, Primitive.Long) as unknown as Buffer); - } - if (this.defaultSendAs !== undefined) { - b.write(this.defaultSendAs.write() as unknown as Buffer); - } - if (this.availableReactions !== undefined) { - b.write(this.availableReactions.write() as unknown as Buffer); - } - if (this.reactionsLimit !== undefined) { - b.write(Primitive.Int.write(this.reactionsLimit) as unknown as Buffer); - } - if (this.stories !== undefined) { - b.write(this.stories.write() as unknown as Buffer); - } - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - if (this.boostsApplied !== undefined) { - b.write(Primitive.Int.write(this.boostsApplied) as unknown as Buffer); - } - if (this.boostsUnrestrict !== undefined) { - b.write(Primitive.Int.write(this.boostsUnrestrict) as unknown as Buffer); - } - if (this.emojiset !== undefined) { - b.write(this.emojiset.write() as unknown as Buffer); - } - if (this.botVerification !== undefined) { - b.write(this.botVerification.write() as unknown as Buffer); - } - if (this.stargiftsCount !== undefined) { - b.write(Primitive.Int.write(this.stargiftsCount) as unknown as Buffer); - } - if (this.sendPaidMessagesStars !== undefined) { - b.write(Primitive.Long.write(this.sendPaidMessagesStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatParticipant extends TLObject { - userId!: long; - inviterId!: long; - date!: int; - - constructor(params: { userId: long; inviterId: long; date: int }) { - super(); - this.classType = 'types'; - this.className = 'ChatParticipant'; - this.constructorId = 0xc02d4007; - this.subclassOfId = 0x7d7c6f86; - this._slots = ['userId', 'inviterId', 'date']; - this.userId = params.userId; - this.inviterId = params.inviterId; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let inviterId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.ChatParticipant({ userId: userId, inviterId: inviterId, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.inviterId !== undefined) { - b.write(Primitive.Long.write(this.inviterId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatParticipantCreator extends TLObject { - userId!: long; - - constructor(params: { userId: long }) { - super(); - this.classType = 'types'; - this.className = 'ChatParticipantCreator'; - this.constructorId = 0xe46bcee4; - this.subclassOfId = 0x7d7c6f86; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - return new Raw.ChatParticipantCreator({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatParticipantAdmin extends TLObject { - userId!: long; - inviterId!: long; - date!: int; - - constructor(params: { userId: long; inviterId: long; date: int }) { - super(); - this.classType = 'types'; - this.className = 'ChatParticipantAdmin'; - this.constructorId = 0xa0933f5b; - this.subclassOfId = 0x7d7c6f86; - this._slots = ['userId', 'inviterId', 'date']; - this.userId = params.userId; - this.inviterId = params.inviterId; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let inviterId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.ChatParticipantAdmin({ userId: userId, inviterId: inviterId, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.inviterId !== undefined) { - b.write(Primitive.Long.write(this.inviterId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatParticipantsForbidden extends TLObject { - chatId!: long; - selfParticipant?: Raw.TypeChatParticipant; - - constructor(params: { chatId: long; selfParticipant?: Raw.TypeChatParticipant }) { - super(); - this.classType = 'types'; - this.className = 'ChatParticipantsForbidden'; - this.constructorId = 0x8763d3e1; - this.subclassOfId = 0x1fa89571; - this._slots = ['chatId', 'selfParticipant']; - this.chatId = params.chatId; - this.selfParticipant = params.selfParticipant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chatId = await Primitive.Long.read(_data); - let selfParticipant = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.ChatParticipantsForbidden({ - chatId: chatId, - selfParticipant: selfParticipant, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.selfParticipant !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.selfParticipant !== undefined) { - b.write(this.selfParticipant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatParticipants extends TLObject { - chatId!: long; - participants!: Vector; - version!: int; - - constructor(params: { - chatId: long; - participants: Vector; - version: int; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatParticipants'; - this.constructorId = 0x3cbc93f8; - this.subclassOfId = 0x1fa89571; - this._slots = ['chatId', 'participants', 'version']; - this.chatId = params.chatId; - this.participants = params.participants; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let participants = await TLObject.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.ChatParticipants({ - chatId: chatId, - participants: participants, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.participants) { - b.write(Primitive.Vector.write(this.participants) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatPhotoEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChatPhotoEmpty'; - this.constructorId = 0x37c1011c; - this.subclassOfId = 0xac3ec4e5; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.ChatPhotoEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatPhoto extends TLObject { - hasVideo?: boolean; - photoId!: long; - strippedThumb?: bytes; - dcId!: int; - - constructor(params: { hasVideo?: boolean; photoId: long; strippedThumb?: bytes; dcId: int }) { - super(); - this.classType = 'types'; - this.className = 'ChatPhoto'; - this.constructorId = 0x1c6e1c11; - this.subclassOfId = 0xac3ec4e5; - this._slots = ['hasVideo', 'photoId', 'strippedThumb', 'dcId']; - this.hasVideo = params.hasVideo; - this.photoId = params.photoId; - this.strippedThumb = params.strippedThumb; - this.dcId = params.dcId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasVideo = flags & (1 << 0) ? true : false; - let photoId = await Primitive.Long.read(_data); - let strippedThumb = flags & (1 << 1) ? await Primitive.Bytes.read(_data) : undefined; - let dcId = await Primitive.Int.read(_data); - return new Raw.ChatPhoto({ - hasVideo: hasVideo, - photoId: photoId, - strippedThumb: strippedThumb, - dcId: dcId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasVideo ? 1 << 0 : 0; - flags |= this.strippedThumb !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.photoId !== undefined) { - b.write(Primitive.Long.write(this.photoId) as unknown as Buffer); - } - if (this.strippedThumb !== undefined) { - b.write(Primitive.Bytes.write(this.strippedThumb) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEmpty extends TLObject { - id!: int; - peerId?: Raw.TypePeer; - - constructor(params: { id: int; peerId?: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'MessageEmpty'; - this.constructorId = 0x90a6ca84; - this.subclassOfId = 0x790009e3; - this._slots = ['id', 'peerId']; - this.id = params.id; - this.peerId = params.peerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Int.read(_data); - let peerId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.MessageEmpty({ id: id, peerId: peerId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.peerId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Message extends TLObject { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - silent?: boolean; - post?: boolean; - fromScheduled?: boolean; - legacy?: boolean; - editHide?: boolean; - pinned?: boolean; - noforwards?: boolean; - invertMedia?: boolean; - offline?: boolean; - videoProcessingPending?: boolean; - paidSuggestedPostStars?: boolean; - paidSuggestedPostTon?: boolean; - id!: int; - fromId?: Raw.TypePeer; - fromBoostsApplied?: int; - peerId!: Raw.TypePeer; - savedPeerId?: Raw.TypePeer; - fwdFrom?: Raw.TypeMessageFwdHeader; - viaBotId?: long; - viaBusinessBotId?: long; - replyTo?: Raw.TypeMessageReplyHeader; - date!: int; - message!: string; - media?: Raw.TypeMessageMedia; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - views?: int; - forwards?: int; - replies?: Raw.TypeMessageReplies; - editDate?: int; - postAuthor?: string; - groupedId?: long; - reactions?: Raw.TypeMessageReactions; - restrictionReason?: Vector; - ttlPeriod?: int; - quickReplyShortcutId?: int; - effect?: long; - factcheck?: Raw.TypeFactCheck; - reportDeliveryUntilDate?: int; - paidMessageStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - - constructor(params: { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - silent?: boolean; - post?: boolean; - fromScheduled?: boolean; - legacy?: boolean; - editHide?: boolean; - pinned?: boolean; - noforwards?: boolean; - invertMedia?: boolean; - offline?: boolean; - videoProcessingPending?: boolean; - paidSuggestedPostStars?: boolean; - paidSuggestedPostTon?: boolean; - id: int; - fromId?: Raw.TypePeer; - fromBoostsApplied?: int; - peerId: Raw.TypePeer; - savedPeerId?: Raw.TypePeer; - fwdFrom?: Raw.TypeMessageFwdHeader; - viaBotId?: long; - viaBusinessBotId?: long; - replyTo?: Raw.TypeMessageReplyHeader; - date: int; - message: string; - media?: Raw.TypeMessageMedia; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - views?: int; - forwards?: int; - replies?: Raw.TypeMessageReplies; - editDate?: int; - postAuthor?: string; - groupedId?: long; - reactions?: Raw.TypeMessageReactions; - restrictionReason?: Vector; - ttlPeriod?: int; - quickReplyShortcutId?: int; - effect?: long; - factcheck?: Raw.TypeFactCheck; - reportDeliveryUntilDate?: int; - paidMessageStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - }) { - super(); - this.classType = 'types'; - this.className = 'Message'; - this.constructorId = 0x9815cec8; - this.subclassOfId = 0x790009e3; - this._slots = [ - 'out', - 'mentioned', - 'mediaUnread', - 'silent', - 'post', - 'fromScheduled', - 'legacy', - 'editHide', - 'pinned', - 'noforwards', - 'invertMedia', - 'offline', - 'videoProcessingPending', - 'paidSuggestedPostStars', - 'paidSuggestedPostTon', - 'id', - 'fromId', - 'fromBoostsApplied', - 'peerId', - 'savedPeerId', - 'fwdFrom', - 'viaBotId', - 'viaBusinessBotId', - 'replyTo', - 'date', - 'message', - 'media', - 'replyMarkup', - 'entities', - 'views', - 'forwards', - 'replies', - 'editDate', - 'postAuthor', - 'groupedId', - 'reactions', - 'restrictionReason', - 'ttlPeriod', - 'quickReplyShortcutId', - 'effect', - 'factcheck', - 'reportDeliveryUntilDate', - 'paidMessageStars', - 'suggestedPost', - ]; - this.out = params.out; - this.mentioned = params.mentioned; - this.mediaUnread = params.mediaUnread; - this.silent = params.silent; - this.post = params.post; - this.fromScheduled = params.fromScheduled; - this.legacy = params.legacy; - this.editHide = params.editHide; - this.pinned = params.pinned; - this.noforwards = params.noforwards; - this.invertMedia = params.invertMedia; - this.offline = params.offline; - this.videoProcessingPending = params.videoProcessingPending; - this.paidSuggestedPostStars = params.paidSuggestedPostStars; - this.paidSuggestedPostTon = params.paidSuggestedPostTon; - this.id = params.id; - this.fromId = params.fromId; - this.fromBoostsApplied = params.fromBoostsApplied; - this.peerId = params.peerId; - this.savedPeerId = params.savedPeerId; - this.fwdFrom = params.fwdFrom; - this.viaBotId = params.viaBotId; - this.viaBusinessBotId = params.viaBusinessBotId; - this.replyTo = params.replyTo; - this.date = params.date; - this.message = params.message; - this.media = params.media; - this.replyMarkup = params.replyMarkup; - this.entities = params.entities; - this.views = params.views; - this.forwards = params.forwards; - this.replies = params.replies; - this.editDate = params.editDate; - this.postAuthor = params.postAuthor; - this.groupedId = params.groupedId; - this.reactions = params.reactions; - this.restrictionReason = params.restrictionReason; - this.ttlPeriod = params.ttlPeriod; - this.quickReplyShortcutId = params.quickReplyShortcutId; - this.effect = params.effect; - this.factcheck = params.factcheck; - this.reportDeliveryUntilDate = params.reportDeliveryUntilDate; - this.paidMessageStars = params.paidMessageStars; - this.suggestedPost = params.suggestedPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let out = flags & (1 << 1) ? true : false; - let mentioned = flags & (1 << 4) ? true : false; - let mediaUnread = flags & (1 << 5) ? true : false; - let silent = flags & (1 << 13) ? true : false; - let post = flags & (1 << 14) ? true : false; - let fromScheduled = flags & (1 << 18) ? true : false; - let legacy = flags & (1 << 19) ? true : false; - let editHide = flags & (1 << 21) ? true : false; - let pinned = flags & (1 << 24) ? true : false; - let noforwards = flags & (1 << 26) ? true : false; - let invertMedia = flags & (1 << 27) ? true : false; - // @ts-ignore - let flags2 = await Primitive.Int.read(_data); - let offline = flags2 & (1 << 1) ? true : false; - let videoProcessingPending = flags2 & (1 << 4) ? true : false; - let paidSuggestedPostStars = flags2 & (1 << 8) ? true : false; - let paidSuggestedPostTon = flags2 & (1 << 9) ? true : false; - let id = await Primitive.Int.read(_data); - let fromId = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let fromBoostsApplied = flags & (1 << 29) ? await Primitive.Int.read(_data) : undefined; - let peerId = await TLObject.read(_data); - let savedPeerId = flags & (1 << 28) ? await TLObject.read(_data) : undefined; - let fwdFrom = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let viaBotId = flags & (1 << 11) ? await Primitive.Long.read(_data) : undefined; - let viaBusinessBotId = flags2 & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let replyTo = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - let media = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let replyMarkup = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let views = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let forwards = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let replies = flags & (1 << 23) ? await TLObject.read(_data) : undefined; - let editDate = flags & (1 << 15) ? await Primitive.Int.read(_data) : undefined; - let postAuthor = flags & (1 << 16) ? await Primitive.String.read(_data) : undefined; - let groupedId = flags & (1 << 17) ? await Primitive.Long.read(_data) : undefined; - let reactions = flags & (1 << 20) ? await TLObject.read(_data) : undefined; - let restrictionReason = flags & (1 << 22) ? await TLObject.read(_data) : []; - let ttlPeriod = flags & (1 << 25) ? await Primitive.Int.read(_data) : undefined; - let quickReplyShortcutId = flags & (1 << 30) ? await Primitive.Int.read(_data) : undefined; - let effect = flags2 & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - let factcheck = flags2 & (1 << 3) ? await TLObject.read(_data) : undefined; - let reportDeliveryUntilDate = flags2 & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let paidMessageStars = flags2 & (1 << 6) ? await Primitive.Long.read(_data) : undefined; - let suggestedPost = flags2 & (1 << 7) ? await TLObject.read(_data) : undefined; - return new Raw.Message({ - out: out, - mentioned: mentioned, - mediaUnread: mediaUnread, - silent: silent, - post: post, - fromScheduled: fromScheduled, - legacy: legacy, - editHide: editHide, - pinned: pinned, - noforwards: noforwards, - invertMedia: invertMedia, - offline: offline, - videoProcessingPending: videoProcessingPending, - paidSuggestedPostStars: paidSuggestedPostStars, - paidSuggestedPostTon: paidSuggestedPostTon, - id: id, - fromId: fromId, - fromBoostsApplied: fromBoostsApplied, - peerId: peerId, - savedPeerId: savedPeerId, - fwdFrom: fwdFrom, - viaBotId: viaBotId, - viaBusinessBotId: viaBusinessBotId, - replyTo: replyTo, - date: date, - message: message, - media: media, - replyMarkup: replyMarkup, - entities: entities, - views: views, - forwards: forwards, - replies: replies, - editDate: editDate, - postAuthor: postAuthor, - groupedId: groupedId, - reactions: reactions, - restrictionReason: restrictionReason, - ttlPeriod: ttlPeriod, - quickReplyShortcutId: quickReplyShortcutId, - effect: effect, - factcheck: factcheck, - reportDeliveryUntilDate: reportDeliveryUntilDate, - paidMessageStars: paidMessageStars, - suggestedPost: suggestedPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.out ? 1 << 1 : 0; - flags |= this.mentioned ? 1 << 4 : 0; - flags |= this.mediaUnread ? 1 << 5 : 0; - flags |= this.silent ? 1 << 13 : 0; - flags |= this.post ? 1 << 14 : 0; - flags |= this.fromScheduled ? 1 << 18 : 0; - flags |= this.legacy ? 1 << 19 : 0; - flags |= this.editHide ? 1 << 21 : 0; - flags |= this.pinned ? 1 << 24 : 0; - flags |= this.noforwards ? 1 << 26 : 0; - flags |= this.invertMedia ? 1 << 27 : 0; - flags |= this.fromId !== undefined ? 1 << 8 : 0; - flags |= this.fromBoostsApplied !== undefined ? 1 << 29 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 28 : 0; - flags |= this.fwdFrom !== undefined ? 1 << 2 : 0; - flags |= this.viaBotId !== undefined ? 1 << 11 : 0; - flags |= this.replyTo !== undefined ? 1 << 3 : 0; - flags |= this.media !== undefined ? 1 << 9 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 6 : 0; - flags |= this.entities ? 1 << 7 : 0; - flags |= this.views !== undefined ? 1 << 10 : 0; - flags |= this.forwards !== undefined ? 1 << 10 : 0; - flags |= this.replies !== undefined ? 1 << 23 : 0; - flags |= this.editDate !== undefined ? 1 << 15 : 0; - flags |= this.postAuthor !== undefined ? 1 << 16 : 0; - flags |= this.groupedId !== undefined ? 1 << 17 : 0; - flags |= this.reactions !== undefined ? 1 << 20 : 0; - flags |= this.restrictionReason ? 1 << 22 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 25 : 0; - flags |= this.quickReplyShortcutId !== undefined ? 1 << 30 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - // @ts-ignore - let flags2 = 0; - flags2 |= this.offline ? 1 << 1 : 0; - flags2 |= this.videoProcessingPending ? 1 << 4 : 0; - flags2 |= this.paidSuggestedPostStars ? 1 << 8 : 0; - flags2 |= this.paidSuggestedPostTon ? 1 << 9 : 0; - flags2 |= this.viaBusinessBotId !== undefined ? 1 << 0 : 0; - flags2 |= this.effect !== undefined ? 1 << 2 : 0; - flags2 |= this.factcheck !== undefined ? 1 << 3 : 0; - flags2 |= this.reportDeliveryUntilDate !== undefined ? 1 << 5 : 0; - flags2 |= this.paidMessageStars !== undefined ? 1 << 6 : 0; - flags2 |= this.suggestedPost !== undefined ? 1 << 7 : 0; - b.write(Primitive.Int.write(flags2) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.fromBoostsApplied !== undefined) { - b.write(Primitive.Int.write(this.fromBoostsApplied) as unknown as Buffer); - } - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.fwdFrom !== undefined) { - b.write(this.fwdFrom.write() as unknown as Buffer); - } - if (this.viaBotId !== undefined) { - b.write(Primitive.Long.write(this.viaBotId) as unknown as Buffer); - } - if (this.viaBusinessBotId !== undefined) { - b.write(Primitive.Long.write(this.viaBusinessBotId) as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - if (this.forwards !== undefined) { - b.write(Primitive.Int.write(this.forwards) as unknown as Buffer); - } - if (this.replies !== undefined) { - b.write(this.replies.write() as unknown as Buffer); - } - if (this.editDate !== undefined) { - b.write(Primitive.Int.write(this.editDate) as unknown as Buffer); - } - if (this.postAuthor !== undefined) { - b.write(Primitive.String.write(this.postAuthor) as unknown as Buffer); - } - if (this.groupedId !== undefined) { - b.write(Primitive.Long.write(this.groupedId) as unknown as Buffer); - } - if (this.reactions !== undefined) { - b.write(this.reactions.write() as unknown as Buffer); - } - if (this.restrictionReason) { - b.write(Primitive.Vector.write(this.restrictionReason) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - if (this.quickReplyShortcutId !== undefined) { - b.write(Primitive.Int.write(this.quickReplyShortcutId) as unknown as Buffer); - } - if (this.effect !== undefined) { - b.write(Primitive.Long.write(this.effect) as unknown as Buffer); - } - if (this.factcheck !== undefined) { - b.write(this.factcheck.write() as unknown as Buffer); - } - if (this.reportDeliveryUntilDate !== undefined) { - b.write(Primitive.Int.write(this.reportDeliveryUntilDate) as unknown as Buffer); - } - if (this.paidMessageStars !== undefined) { - b.write(Primitive.Long.write(this.paidMessageStars) as unknown as Buffer); - } - if (this.suggestedPost !== undefined) { - b.write(this.suggestedPost.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageService extends TLObject { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - reactionsArePossible?: boolean; - silent?: boolean; - post?: boolean; - legacy?: boolean; - id!: int; - fromId?: Raw.TypePeer; - peerId!: Raw.TypePeer; - savedPeerId?: Raw.TypePeer; - replyTo?: Raw.TypeMessageReplyHeader; - date!: int; - action!: Raw.TypeMessageAction; - reactions?: Raw.TypeMessageReactions; - ttlPeriod?: int; - - constructor(params: { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - reactionsArePossible?: boolean; - silent?: boolean; - post?: boolean; - legacy?: boolean; - id: int; - fromId?: Raw.TypePeer; - peerId: Raw.TypePeer; - savedPeerId?: Raw.TypePeer; - replyTo?: Raw.TypeMessageReplyHeader; - date: int; - action: Raw.TypeMessageAction; - reactions?: Raw.TypeMessageReactions; - ttlPeriod?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageService'; - this.constructorId = 0x7a800e0a; - this.subclassOfId = 0x790009e3; - this._slots = [ - 'out', - 'mentioned', - 'mediaUnread', - 'reactionsArePossible', - 'silent', - 'post', - 'legacy', - 'id', - 'fromId', - 'peerId', - 'savedPeerId', - 'replyTo', - 'date', - 'action', - 'reactions', - 'ttlPeriod', - ]; - this.out = params.out; - this.mentioned = params.mentioned; - this.mediaUnread = params.mediaUnread; - this.reactionsArePossible = params.reactionsArePossible; - this.silent = params.silent; - this.post = params.post; - this.legacy = params.legacy; - this.id = params.id; - this.fromId = params.fromId; - this.peerId = params.peerId; - this.savedPeerId = params.savedPeerId; - this.replyTo = params.replyTo; - this.date = params.date; - this.action = params.action; - this.reactions = params.reactions; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let out = flags & (1 << 1) ? true : false; - let mentioned = flags & (1 << 4) ? true : false; - let mediaUnread = flags & (1 << 5) ? true : false; - let reactionsArePossible = flags & (1 << 9) ? true : false; - let silent = flags & (1 << 13) ? true : false; - let post = flags & (1 << 14) ? true : false; - let legacy = flags & (1 << 19) ? true : false; - let id = await Primitive.Int.read(_data); - let fromId = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let peerId = await TLObject.read(_data); - let savedPeerId = flags & (1 << 28) ? await TLObject.read(_data) : undefined; - let replyTo = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let action = await TLObject.read(_data); - let reactions = flags & (1 << 20) ? await TLObject.read(_data) : undefined; - let ttlPeriod = flags & (1 << 25) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageService({ - out: out, - mentioned: mentioned, - mediaUnread: mediaUnread, - reactionsArePossible: reactionsArePossible, - silent: silent, - post: post, - legacy: legacy, - id: id, - fromId: fromId, - peerId: peerId, - savedPeerId: savedPeerId, - replyTo: replyTo, - date: date, - action: action, - reactions: reactions, - ttlPeriod: ttlPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.out ? 1 << 1 : 0; - flags |= this.mentioned ? 1 << 4 : 0; - flags |= this.mediaUnread ? 1 << 5 : 0; - flags |= this.reactionsArePossible ? 1 << 9 : 0; - flags |= this.silent ? 1 << 13 : 0; - flags |= this.post ? 1 << 14 : 0; - flags |= this.legacy ? 1 << 19 : 0; - flags |= this.fromId !== undefined ? 1 << 8 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 28 : 0; - flags |= this.replyTo !== undefined ? 1 << 3 : 0; - flags |= this.reactions !== undefined ? 1 << 20 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 25 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - if (this.reactions !== undefined) { - b.write(this.reactions.write() as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageMediaEmpty'; - this.constructorId = 0x3ded6320; - this.subclassOfId = 0x476cbe32; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageMediaEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaPhoto extends TLObject { - spoiler?: boolean; - photo?: Raw.TypePhoto; - ttlSeconds?: int; - - constructor(params: { spoiler?: boolean; photo?: Raw.TypePhoto; ttlSeconds?: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaPhoto'; - this.constructorId = 0x695150d7; - this.subclassOfId = 0x476cbe32; - this._slots = ['spoiler', 'photo', 'ttlSeconds']; - this.spoiler = params.spoiler; - this.photo = params.photo; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let spoiler = flags & (1 << 3) ? true : false; - let photo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let ttlSeconds = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageMediaPhoto({ spoiler: spoiler, photo: photo, ttlSeconds: ttlSeconds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.spoiler ? 1 << 3 : 0; - flags |= this.photo !== undefined ? 1 << 0 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaGeo extends TLObject { - geo!: Raw.TypeGeoPoint; - - constructor(params: { geo: Raw.TypeGeoPoint }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaGeo'; - this.constructorId = 0x56e0d474; - this.subclassOfId = 0x476cbe32; - this._slots = ['geo']; - this.geo = params.geo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let geo = await TLObject.read(_data); - return new Raw.MessageMediaGeo({ geo: geo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaContact extends TLObject { - phoneNumber!: string; - firstName!: string; - lastName!: string; - vcard!: string; - userId!: long; - - constructor(params: { - phoneNumber: string; - firstName: string; - lastName: string; - vcard: string; - userId: long; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaContact'; - this.constructorId = 0x70322949; - this.subclassOfId = 0x476cbe32; - this._slots = ['phoneNumber', 'firstName', 'lastName', 'vcard', 'userId']; - this.phoneNumber = params.phoneNumber; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.vcard = params.vcard; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let vcard = await Primitive.String.read(_data); - let userId = await Primitive.Long.read(_data); - return new Raw.MessageMediaContact({ - phoneNumber: phoneNumber, - firstName: firstName, - lastName: lastName, - vcard: vcard, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.vcard !== undefined) { - b.write(Primitive.String.write(this.vcard) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaUnsupported extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageMediaUnsupported'; - this.constructorId = 0x9f84f49e; - this.subclassOfId = 0x476cbe32; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageMediaUnsupported(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaDocument extends TLObject { - nopremium?: boolean; - spoiler?: boolean; - video?: boolean; - round?: boolean; - voice?: boolean; - document?: Raw.TypeDocument; - altDocuments?: Vector; - videoCover?: Raw.TypePhoto; - videoTimestamp?: int; - ttlSeconds?: int; - - constructor(params: { - nopremium?: boolean; - spoiler?: boolean; - video?: boolean; - round?: boolean; - voice?: boolean; - document?: Raw.TypeDocument; - altDocuments?: Vector; - videoCover?: Raw.TypePhoto; - videoTimestamp?: int; - ttlSeconds?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaDocument'; - this.constructorId = 0x52d8ccd9; - this.subclassOfId = 0x476cbe32; - this._slots = [ - 'nopremium', - 'spoiler', - 'video', - 'round', - 'voice', - 'document', - 'altDocuments', - 'videoCover', - 'videoTimestamp', - 'ttlSeconds', - ]; - this.nopremium = params.nopremium; - this.spoiler = params.spoiler; - this.video = params.video; - this.round = params.round; - this.voice = params.voice; - this.document = params.document; - this.altDocuments = params.altDocuments; - this.videoCover = params.videoCover; - this.videoTimestamp = params.videoTimestamp; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nopremium = flags & (1 << 3) ? true : false; - let spoiler = flags & (1 << 4) ? true : false; - let video = flags & (1 << 6) ? true : false; - let round = flags & (1 << 7) ? true : false; - let voice = flags & (1 << 8) ? true : false; - let document = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let altDocuments = flags & (1 << 5) ? await TLObject.read(_data) : []; - let videoCover = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let videoTimestamp = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let ttlSeconds = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageMediaDocument({ - nopremium: nopremium, - spoiler: spoiler, - video: video, - round: round, - voice: voice, - document: document, - altDocuments: altDocuments, - videoCover: videoCover, - videoTimestamp: videoTimestamp, - ttlSeconds: ttlSeconds, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nopremium ? 1 << 3 : 0; - flags |= this.spoiler ? 1 << 4 : 0; - flags |= this.video ? 1 << 6 : 0; - flags |= this.round ? 1 << 7 : 0; - flags |= this.voice ? 1 << 8 : 0; - flags |= this.document !== undefined ? 1 << 0 : 0; - flags |= this.altDocuments ? 1 << 5 : 0; - flags |= this.videoCover !== undefined ? 1 << 9 : 0; - flags |= this.videoTimestamp !== undefined ? 1 << 10 : 0; - flags |= this.ttlSeconds !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.altDocuments) { - b.write(Primitive.Vector.write(this.altDocuments) as unknown as Buffer); - } - if (this.videoCover !== undefined) { - b.write(this.videoCover.write() as unknown as Buffer); - } - if (this.videoTimestamp !== undefined) { - b.write(Primitive.Int.write(this.videoTimestamp) as unknown as Buffer); - } - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaWebPage extends TLObject { - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - manual?: boolean; - safe?: boolean; - webpage!: Raw.TypeWebPage; - - constructor(params: { - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - manual?: boolean; - safe?: boolean; - webpage: Raw.TypeWebPage; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaWebPage'; - this.constructorId = 0xddf10c3b; - this.subclassOfId = 0x476cbe32; - this._slots = ['forceLargeMedia', 'forceSmallMedia', 'manual', 'safe', 'webpage']; - this.forceLargeMedia = params.forceLargeMedia; - this.forceSmallMedia = params.forceSmallMedia; - this.manual = params.manual; - this.safe = params.safe; - this.webpage = params.webpage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forceLargeMedia = flags & (1 << 0) ? true : false; - let forceSmallMedia = flags & (1 << 1) ? true : false; - let manual = flags & (1 << 3) ? true : false; - let safe = flags & (1 << 4) ? true : false; - let webpage = await TLObject.read(_data); - return new Raw.MessageMediaWebPage({ - forceLargeMedia: forceLargeMedia, - forceSmallMedia: forceSmallMedia, - manual: manual, - safe: safe, - webpage: webpage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forceLargeMedia ? 1 << 0 : 0; - flags |= this.forceSmallMedia ? 1 << 1 : 0; - flags |= this.manual ? 1 << 3 : 0; - flags |= this.safe ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.webpage !== undefined) { - b.write(this.webpage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaVenue extends TLObject { - geo!: Raw.TypeGeoPoint; - title!: string; - address!: string; - provider!: string; - venueId!: string; - venueType!: string; - - constructor(params: { - geo: Raw.TypeGeoPoint; - title: string; - address: string; - provider: string; - venueId: string; - venueType: string; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaVenue'; - this.constructorId = 0x2ec0533f; - this.subclassOfId = 0x476cbe32; - this._slots = ['geo', 'title', 'address', 'provider', 'venueId', 'venueType']; - this.geo = params.geo; - this.title = params.title; - this.address = params.address; - this.provider = params.provider; - this.venueId = params.venueId; - this.venueType = params.venueType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let geo = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let address = await Primitive.String.read(_data); - let provider = await Primitive.String.read(_data); - let venueId = await Primitive.String.read(_data); - let venueType = await Primitive.String.read(_data); - return new Raw.MessageMediaVenue({ - geo: geo, - title: title, - address: address, - provider: provider, - venueId: venueId, - venueType: venueType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.venueId !== undefined) { - b.write(Primitive.String.write(this.venueId) as unknown as Buffer); - } - if (this.venueType !== undefined) { - b.write(Primitive.String.write(this.venueType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaGame extends TLObject { - game!: Raw.TypeGame; - - constructor(params: { game: Raw.TypeGame }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaGame'; - this.constructorId = 0xfdb19008; - this.subclassOfId = 0x476cbe32; - this._slots = ['game']; - this.game = params.game; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let game = await TLObject.read(_data); - return new Raw.MessageMediaGame({ game: game }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.game !== undefined) { - b.write(this.game.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaInvoice extends TLObject { - shippingAddressRequested?: boolean; - test?: boolean; - title!: string; - description!: string; - photo?: Raw.TypeWebDocument; - receiptMsgId?: int; - currency!: string; - totalAmount!: long; - startParam!: string; - extendedMedia?: Raw.TypeMessageExtendedMedia; - - constructor(params: { - shippingAddressRequested?: boolean; - test?: boolean; - title: string; - description: string; - photo?: Raw.TypeWebDocument; - receiptMsgId?: int; - currency: string; - totalAmount: long; - startParam: string; - extendedMedia?: Raw.TypeMessageExtendedMedia; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaInvoice'; - this.constructorId = 0xf6a548d3; - this.subclassOfId = 0x476cbe32; - this._slots = [ - 'shippingAddressRequested', - 'test', - 'title', - 'description', - 'photo', - 'receiptMsgId', - 'currency', - 'totalAmount', - 'startParam', - 'extendedMedia', - ]; - this.shippingAddressRequested = params.shippingAddressRequested; - this.test = params.test; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.receiptMsgId = params.receiptMsgId; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.startParam = params.startParam; - this.extendedMedia = params.extendedMedia; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let shippingAddressRequested = flags & (1 << 1) ? true : false; - let test = flags & (1 << 3) ? true : false; - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let receiptMsgId = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let startParam = await Primitive.String.read(_data); - let extendedMedia = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - return new Raw.MessageMediaInvoice({ - shippingAddressRequested: shippingAddressRequested, - test: test, - title: title, - description: description, - photo: photo, - receiptMsgId: receiptMsgId, - currency: currency, - totalAmount: totalAmount, - startParam: startParam, - extendedMedia: extendedMedia, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.shippingAddressRequested ? 1 << 1 : 0; - flags |= this.test ? 1 << 3 : 0; - flags |= this.photo !== undefined ? 1 << 0 : 0; - flags |= this.receiptMsgId !== undefined ? 1 << 2 : 0; - flags |= this.extendedMedia !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.receiptMsgId !== undefined) { - b.write(Primitive.Int.write(this.receiptMsgId) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - if (this.extendedMedia !== undefined) { - b.write(this.extendedMedia.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaGeoLive extends TLObject { - geo!: Raw.TypeGeoPoint; - heading?: int; - period!: int; - proximityNotificationRadius?: int; - - constructor(params: { - geo: Raw.TypeGeoPoint; - heading?: int; - period: int; - proximityNotificationRadius?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaGeoLive'; - this.constructorId = 0xb940c666; - this.subclassOfId = 0x476cbe32; - this._slots = ['geo', 'heading', 'period', 'proximityNotificationRadius']; - this.geo = params.geo; - this.heading = params.heading; - this.period = params.period; - this.proximityNotificationRadius = params.proximityNotificationRadius; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geo = await TLObject.read(_data); - let heading = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let period = await Primitive.Int.read(_data); - let proximityNotificationRadius = - flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageMediaGeoLive({ - geo: geo, - heading: heading, - period: period, - proximityNotificationRadius: proximityNotificationRadius, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.heading !== undefined ? 1 << 0 : 0; - flags |= this.proximityNotificationRadius !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.heading !== undefined) { - b.write(Primitive.Int.write(this.heading) as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.proximityNotificationRadius !== undefined) { - b.write(Primitive.Int.write(this.proximityNotificationRadius) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaPoll extends TLObject { - poll!: Raw.TypePoll; - results!: Raw.TypePollResults; - - constructor(params: { poll: Raw.TypePoll; results: Raw.TypePollResults }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaPoll'; - this.constructorId = 0x4bd6e798; - this.subclassOfId = 0x476cbe32; - this._slots = ['poll', 'results']; - this.poll = params.poll; - this.results = params.results; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let poll = await TLObject.read(_data); - let results = await TLObject.read(_data); - return new Raw.MessageMediaPoll({ poll: poll, results: results }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.poll !== undefined) { - b.write(this.poll.write() as unknown as Buffer); - } - if (this.results !== undefined) { - b.write(this.results.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaDice extends TLObject { - value!: int; - emoticon!: string; - - constructor(params: { value: int; emoticon: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaDice'; - this.constructorId = 0x3f7ee58b; - this.subclassOfId = 0x476cbe32; - this._slots = ['value', 'emoticon']; - this.value = params.value; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let value = await Primitive.Int.read(_data); - let emoticon = await Primitive.String.read(_data); - return new Raw.MessageMediaDice({ value: value, emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value !== undefined) { - b.write(Primitive.Int.write(this.value) as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaStory extends TLObject { - viaMention?: boolean; - peer!: Raw.TypePeer; - id!: int; - story?: Raw.TypeStoryItem; - - constructor(params: { - viaMention?: boolean; - peer: Raw.TypePeer; - id: int; - story?: Raw.TypeStoryItem; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaStory'; - this.constructorId = 0x68cb6283; - this.subclassOfId = 0x476cbe32; - this._slots = ['viaMention', 'peer', 'id', 'story']; - this.viaMention = params.viaMention; - this.peer = params.peer; - this.id = params.id; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viaMention = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let story = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.MessageMediaStory({ - viaMention: viaMention, - peer: peer, - id: id, - story: story, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viaMention ? 1 << 1 : 0; - flags |= this.story !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaGiveaway extends TLObject { - onlyNewSubscribers?: boolean; - winnersAreVisible?: boolean; - channels!: Vector; - countriesIso2?: Vector; - prizeDescription?: string; - quantity!: int; - months?: int; - stars?: long; - untilDate!: int; - - constructor(params: { - onlyNewSubscribers?: boolean; - winnersAreVisible?: boolean; - channels: Vector; - countriesIso2?: Vector; - prizeDescription?: string; - quantity: int; - months?: int; - stars?: long; - untilDate: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaGiveaway'; - this.constructorId = 0xaa073beb; - this.subclassOfId = 0x476cbe32; - this._slots = [ - 'onlyNewSubscribers', - 'winnersAreVisible', - 'channels', - 'countriesIso2', - 'prizeDescription', - 'quantity', - 'months', - 'stars', - 'untilDate', - ]; - this.onlyNewSubscribers = params.onlyNewSubscribers; - this.winnersAreVisible = params.winnersAreVisible; - this.channels = params.channels; - this.countriesIso2 = params.countriesIso2; - this.prizeDescription = params.prizeDescription; - this.quantity = params.quantity; - this.months = params.months; - this.stars = params.stars; - this.untilDate = params.untilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let onlyNewSubscribers = flags & (1 << 0) ? true : false; - let winnersAreVisible = flags & (1 << 2) ? true : false; - let channels = await TLObject.read(_data, Primitive.Long); - let countriesIso2 = flags & (1 << 1) ? await TLObject.read(_data, Primitive.String) : []; - let prizeDescription = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let quantity = await Primitive.Int.read(_data); - let months = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let stars = flags & (1 << 5) ? await Primitive.Long.read(_data) : undefined; - let untilDate = await Primitive.Int.read(_data); - return new Raw.MessageMediaGiveaway({ - onlyNewSubscribers: onlyNewSubscribers, - winnersAreVisible: winnersAreVisible, - channels: channels, - countriesIso2: countriesIso2, - prizeDescription: prizeDescription, - quantity: quantity, - months: months, - stars: stars, - untilDate: untilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.onlyNewSubscribers ? 1 << 0 : 0; - flags |= this.winnersAreVisible ? 1 << 2 : 0; - flags |= this.countriesIso2 ? 1 << 1 : 0; - flags |= this.prizeDescription !== undefined ? 1 << 3 : 0; - flags |= this.months !== undefined ? 1 << 4 : 0; - flags |= this.stars !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channels) { - b.write(Primitive.Vector.write(this.channels, Primitive.Long) as unknown as Buffer); - } - if (this.countriesIso2) { - b.write(Primitive.Vector.write(this.countriesIso2, Primitive.String) as unknown as Buffer); - } - if (this.prizeDescription !== undefined) { - b.write(Primitive.String.write(this.prizeDescription) as unknown as Buffer); - } - if (this.quantity !== undefined) { - b.write(Primitive.Int.write(this.quantity) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaGiveawayResults extends TLObject { - onlyNewSubscribers?: boolean; - refunded?: boolean; - channelId!: long; - additionalPeersCount?: int; - launchMsgId!: int; - winnersCount!: int; - unclaimedCount!: int; - winners!: Vector; - months?: int; - stars?: long; - prizeDescription?: string; - untilDate!: int; - - constructor(params: { - onlyNewSubscribers?: boolean; - refunded?: boolean; - channelId: long; - additionalPeersCount?: int; - launchMsgId: int; - winnersCount: int; - unclaimedCount: int; - winners: Vector; - months?: int; - stars?: long; - prizeDescription?: string; - untilDate: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaGiveawayResults'; - this.constructorId = 0xceaa3ea1; - this.subclassOfId = 0x476cbe32; - this._slots = [ - 'onlyNewSubscribers', - 'refunded', - 'channelId', - 'additionalPeersCount', - 'launchMsgId', - 'winnersCount', - 'unclaimedCount', - 'winners', - 'months', - 'stars', - 'prizeDescription', - 'untilDate', - ]; - this.onlyNewSubscribers = params.onlyNewSubscribers; - this.refunded = params.refunded; - this.channelId = params.channelId; - this.additionalPeersCount = params.additionalPeersCount; - this.launchMsgId = params.launchMsgId; - this.winnersCount = params.winnersCount; - this.unclaimedCount = params.unclaimedCount; - this.winners = params.winners; - this.months = params.months; - this.stars = params.stars; - this.prizeDescription = params.prizeDescription; - this.untilDate = params.untilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let onlyNewSubscribers = flags & (1 << 0) ? true : false; - let refunded = flags & (1 << 2) ? true : false; - let channelId = await Primitive.Long.read(_data); - let additionalPeersCount = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let launchMsgId = await Primitive.Int.read(_data); - let winnersCount = await Primitive.Int.read(_data); - let unclaimedCount = await Primitive.Int.read(_data); - let winners = await TLObject.read(_data, Primitive.Long); - let months = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let stars = flags & (1 << 5) ? await Primitive.Long.read(_data) : undefined; - let prizeDescription = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let untilDate = await Primitive.Int.read(_data); - return new Raw.MessageMediaGiveawayResults({ - onlyNewSubscribers: onlyNewSubscribers, - refunded: refunded, - channelId: channelId, - additionalPeersCount: additionalPeersCount, - launchMsgId: launchMsgId, - winnersCount: winnersCount, - unclaimedCount: unclaimedCount, - winners: winners, - months: months, - stars: stars, - prizeDescription: prizeDescription, - untilDate: untilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.onlyNewSubscribers ? 1 << 0 : 0; - flags |= this.refunded ? 1 << 2 : 0; - flags |= this.additionalPeersCount !== undefined ? 1 << 3 : 0; - flags |= this.months !== undefined ? 1 << 4 : 0; - flags |= this.stars !== undefined ? 1 << 5 : 0; - flags |= this.prizeDescription !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.additionalPeersCount !== undefined) { - b.write(Primitive.Int.write(this.additionalPeersCount) as unknown as Buffer); - } - if (this.launchMsgId !== undefined) { - b.write(Primitive.Int.write(this.launchMsgId) as unknown as Buffer); - } - if (this.winnersCount !== undefined) { - b.write(Primitive.Int.write(this.winnersCount) as unknown as Buffer); - } - if (this.unclaimedCount !== undefined) { - b.write(Primitive.Int.write(this.unclaimedCount) as unknown as Buffer); - } - if (this.winners) { - b.write(Primitive.Vector.write(this.winners, Primitive.Long) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.prizeDescription !== undefined) { - b.write(Primitive.String.write(this.prizeDescription) as unknown as Buffer); - } - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaPaidMedia extends TLObject { - starsAmount!: long; - extendedMedia!: Vector; - - constructor(params: { - starsAmount: long; - extendedMedia: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaPaidMedia'; - this.constructorId = 0xa8852491; - this.subclassOfId = 0x476cbe32; - this._slots = ['starsAmount', 'extendedMedia']; - this.starsAmount = params.starsAmount; - this.extendedMedia = params.extendedMedia; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let starsAmount = await Primitive.Long.read(_data); - let extendedMedia = await TLObject.read(_data); - return new Raw.MessageMediaPaidMedia({ - starsAmount: starsAmount, - extendedMedia: extendedMedia, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.starsAmount !== undefined) { - b.write(Primitive.Long.write(this.starsAmount) as unknown as Buffer); - } - if (this.extendedMedia) { - b.write(Primitive.Vector.write(this.extendedMedia) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageMediaToDo extends TLObject { - todo!: Raw.TypeTodoList; - completions?: Vector; - - constructor(params: { todo: Raw.TypeTodoList; completions?: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageMediaToDo'; - this.constructorId = 0x8a53b014; - this.subclassOfId = 0x476cbe32; - this._slots = ['todo', 'completions']; - this.todo = params.todo; - this.completions = params.completions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let todo = await TLObject.read(_data); - let completions = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.MessageMediaToDo({ todo: todo, completions: completions }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.completions ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.todo !== undefined) { - b.write(this.todo.write() as unknown as Buffer); - } - if (this.completions) { - b.write(Primitive.Vector.write(this.completions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionEmpty'; - this.constructorId = 0xb6aef7b0; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatCreate extends TLObject { - title!: string; - users!: Vector; - - constructor(params: { title: string; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatCreate'; - this.constructorId = 0xbd47cbad; - this.subclassOfId = 0x8680d126; - this._slots = ['title', 'users']; - this.title = params.title; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let users = await TLObject.read(_data, Primitive.Long); - return new Raw.MessageActionChatCreate({ title: title, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatEditTitle extends TLObject { - title!: string; - - constructor(params: { title: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatEditTitle'; - this.constructorId = 0xb5a1ce5a; - this.subclassOfId = 0x8680d126; - this._slots = ['title']; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - return new Raw.MessageActionChatEditTitle({ title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatEditPhoto extends TLObject { - photo!: Raw.TypePhoto; - - constructor(params: { photo: Raw.TypePhoto }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatEditPhoto'; - this.constructorId = 0x7fcb13a8; - this.subclassOfId = 0x8680d126; - this._slots = ['photo']; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let photo = await TLObject.read(_data); - return new Raw.MessageActionChatEditPhoto({ photo: photo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatDeletePhoto extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatDeletePhoto'; - this.constructorId = 0x95e3fbef; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionChatDeletePhoto(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatAddUser extends TLObject { - users!: Vector; - - constructor(params: { users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatAddUser'; - this.constructorId = 0x15cefd00; - this.subclassOfId = 0x8680d126; - this._slots = ['users']; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let users = await TLObject.read(_data, Primitive.Long); - return new Raw.MessageActionChatAddUser({ users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatDeleteUser extends TLObject { - userId!: long; - - constructor(params: { userId: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatDeleteUser'; - this.constructorId = 0xa43f30cc; - this.subclassOfId = 0x8680d126; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - return new Raw.MessageActionChatDeleteUser({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatJoinedByLink extends TLObject { - inviterId!: long; - - constructor(params: { inviterId: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatJoinedByLink'; - this.constructorId = 0x31224c3; - this.subclassOfId = 0x8680d126; - this._slots = ['inviterId']; - this.inviterId = params.inviterId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let inviterId = await Primitive.Long.read(_data); - return new Raw.MessageActionChatJoinedByLink({ inviterId: inviterId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.inviterId !== undefined) { - b.write(Primitive.Long.write(this.inviterId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChannelCreate extends TLObject { - title!: string; - - constructor(params: { title: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChannelCreate'; - this.constructorId = 0x95d2ac92; - this.subclassOfId = 0x8680d126; - this._slots = ['title']; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - return new Raw.MessageActionChannelCreate({ title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatMigrateTo extends TLObject { - channelId!: long; - - constructor(params: { channelId: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatMigrateTo'; - this.constructorId = 0xe1037f92; - this.subclassOfId = 0x8680d126; - this._slots = ['channelId']; - this.channelId = params.channelId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - return new Raw.MessageActionChatMigrateTo({ channelId: channelId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChannelMigrateFrom extends TLObject { - title!: string; - chatId!: long; - - constructor(params: { title: string; chatId: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionChannelMigrateFrom'; - this.constructorId = 0xea3948e9; - this.subclassOfId = 0x8680d126; - this._slots = ['title', 'chatId']; - this.title = params.title; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let chatId = await Primitive.Long.read(_data); - return new Raw.MessageActionChannelMigrateFrom({ title: title, chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPinMessage extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionPinMessage'; - this.constructorId = 0x94bd38ed; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionPinMessage(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionHistoryClear extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionHistoryClear'; - this.constructorId = 0x9fbab604; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionHistoryClear(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGameScore extends TLObject { - gameId!: long; - score!: int; - - constructor(params: { gameId: long; score: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGameScore'; - this.constructorId = 0x92a72876; - this.subclassOfId = 0x8680d126; - this._slots = ['gameId', 'score']; - this.gameId = params.gameId; - this.score = params.score; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let gameId = await Primitive.Long.read(_data); - let score = await Primitive.Int.read(_data); - return new Raw.MessageActionGameScore({ gameId: gameId, score: score }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.gameId !== undefined) { - b.write(Primitive.Long.write(this.gameId) as unknown as Buffer); - } - if (this.score !== undefined) { - b.write(Primitive.Int.write(this.score) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPaymentSentMe extends TLObject { - recurringInit?: boolean; - recurringUsed?: boolean; - currency!: string; - totalAmount!: long; - payload!: bytes; - info?: Raw.TypePaymentRequestedInfo; - shippingOptionId?: string; - charge!: Raw.TypePaymentCharge; - subscriptionUntilDate?: int; - - constructor(params: { - recurringInit?: boolean; - recurringUsed?: boolean; - currency: string; - totalAmount: long; - payload: bytes; - info?: Raw.TypePaymentRequestedInfo; - shippingOptionId?: string; - charge: Raw.TypePaymentCharge; - subscriptionUntilDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPaymentSentMe'; - this.constructorId = 0xffa00ccc; - this.subclassOfId = 0x8680d126; - this._slots = [ - 'recurringInit', - 'recurringUsed', - 'currency', - 'totalAmount', - 'payload', - 'info', - 'shippingOptionId', - 'charge', - 'subscriptionUntilDate', - ]; - this.recurringInit = params.recurringInit; - this.recurringUsed = params.recurringUsed; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.payload = params.payload; - this.info = params.info; - this.shippingOptionId = params.shippingOptionId; - this.charge = params.charge; - this.subscriptionUntilDate = params.subscriptionUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let recurringInit = flags & (1 << 2) ? true : false; - let recurringUsed = flags & (1 << 3) ? true : false; - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let payload = await Primitive.Bytes.read(_data); - let info = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let shippingOptionId = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let charge = await TLObject.read(_data); - let subscriptionUntilDate = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageActionPaymentSentMe({ - recurringInit: recurringInit, - recurringUsed: recurringUsed, - currency: currency, - totalAmount: totalAmount, - payload: payload, - info: info, - shippingOptionId: shippingOptionId, - charge: charge, - subscriptionUntilDate: subscriptionUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.recurringInit ? 1 << 2 : 0; - flags |= this.recurringUsed ? 1 << 3 : 0; - flags |= this.info !== undefined ? 1 << 0 : 0; - flags |= this.shippingOptionId !== undefined ? 1 << 1 : 0; - flags |= this.subscriptionUntilDate !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.Bytes.write(this.payload) as unknown as Buffer); - } - if (this.info !== undefined) { - b.write(this.info.write() as unknown as Buffer); - } - if (this.shippingOptionId !== undefined) { - b.write(Primitive.String.write(this.shippingOptionId) as unknown as Buffer); - } - if (this.charge !== undefined) { - b.write(this.charge.write() as unknown as Buffer); - } - if (this.subscriptionUntilDate !== undefined) { - b.write(Primitive.Int.write(this.subscriptionUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPaymentSent extends TLObject { - recurringInit?: boolean; - recurringUsed?: boolean; - currency!: string; - totalAmount!: long; - invoiceSlug?: string; - subscriptionUntilDate?: int; - - constructor(params: { - recurringInit?: boolean; - recurringUsed?: boolean; - currency: string; - totalAmount: long; - invoiceSlug?: string; - subscriptionUntilDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPaymentSent'; - this.constructorId = 0xc624b16e; - this.subclassOfId = 0x8680d126; - this._slots = [ - 'recurringInit', - 'recurringUsed', - 'currency', - 'totalAmount', - 'invoiceSlug', - 'subscriptionUntilDate', - ]; - this.recurringInit = params.recurringInit; - this.recurringUsed = params.recurringUsed; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.invoiceSlug = params.invoiceSlug; - this.subscriptionUntilDate = params.subscriptionUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let recurringInit = flags & (1 << 2) ? true : false; - let recurringUsed = flags & (1 << 3) ? true : false; - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let invoiceSlug = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let subscriptionUntilDate = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageActionPaymentSent({ - recurringInit: recurringInit, - recurringUsed: recurringUsed, - currency: currency, - totalAmount: totalAmount, - invoiceSlug: invoiceSlug, - subscriptionUntilDate: subscriptionUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.recurringInit ? 1 << 2 : 0; - flags |= this.recurringUsed ? 1 << 3 : 0; - flags |= this.invoiceSlug !== undefined ? 1 << 0 : 0; - flags |= this.subscriptionUntilDate !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.invoiceSlug !== undefined) { - b.write(Primitive.String.write(this.invoiceSlug) as unknown as Buffer); - } - if (this.subscriptionUntilDate !== undefined) { - b.write(Primitive.Int.write(this.subscriptionUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPhoneCall extends TLObject { - video?: boolean; - callId!: long; - reason?: Raw.TypePhoneCallDiscardReason; - duration?: int; - - constructor(params: { - video?: boolean; - callId: long; - reason?: Raw.TypePhoneCallDiscardReason; - duration?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPhoneCall'; - this.constructorId = 0x80e11a7f; - this.subclassOfId = 0x8680d126; - this._slots = ['video', 'callId', 'reason', 'duration']; - this.video = params.video; - this.callId = params.callId; - this.reason = params.reason; - this.duration = params.duration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 2) ? true : false; - let callId = await Primitive.Long.read(_data); - let reason = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let duration = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageActionPhoneCall({ - video: video, - callId: callId, - reason: reason, - duration: duration, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 2 : 0; - flags |= this.reason !== undefined ? 1 << 0 : 0; - flags |= this.duration !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.callId !== undefined) { - b.write(Primitive.Long.write(this.callId) as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(this.reason.write() as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionScreenshotTaken extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionScreenshotTaken'; - this.constructorId = 0x4792929b; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionScreenshotTaken(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionCustomAction extends TLObject { - message!: string; - - constructor(params: { message: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionCustomAction'; - this.constructorId = 0xfae69f56; - this.subclassOfId = 0x8680d126; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await Primitive.String.read(_data); - return new Raw.MessageActionCustomAction({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionBotAllowed extends TLObject { - attachMenu?: boolean; - fromRequest?: boolean; - domain?: string; - app?: Raw.TypeBotApp; - - constructor(params: { - attachMenu?: boolean; - fromRequest?: boolean; - domain?: string; - app?: Raw.TypeBotApp; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionBotAllowed'; - this.constructorId = 0xc516d679; - this.subclassOfId = 0x8680d126; - this._slots = ['attachMenu', 'fromRequest', 'domain', 'app']; - this.attachMenu = params.attachMenu; - this.fromRequest = params.fromRequest; - this.domain = params.domain; - this.app = params.app; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let attachMenu = flags & (1 << 1) ? true : false; - let fromRequest = flags & (1 << 3) ? true : false; - let domain = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let app = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.MessageActionBotAllowed({ - attachMenu: attachMenu, - fromRequest: fromRequest, - domain: domain, - app: app, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.attachMenu ? 1 << 1 : 0; - flags |= this.fromRequest ? 1 << 3 : 0; - flags |= this.domain !== undefined ? 1 << 0 : 0; - flags |= this.app !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.domain !== undefined) { - b.write(Primitive.String.write(this.domain) as unknown as Buffer); - } - if (this.app !== undefined) { - b.write(this.app.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSecureValuesSentMe extends TLObject { - values!: Vector; - credentials!: Raw.TypeSecureCredentialsEncrypted; - - constructor(params: { - values: Vector; - credentials: Raw.TypeSecureCredentialsEncrypted; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSecureValuesSentMe'; - this.constructorId = 0x1b287353; - this.subclassOfId = 0x8680d126; - this._slots = ['values', 'credentials']; - this.values = params.values; - this.credentials = params.credentials; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let values = await TLObject.read(_data); - let credentials = await TLObject.read(_data); - return new Raw.MessageActionSecureValuesSentMe({ values: values, credentials: credentials }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.values) { - b.write(Primitive.Vector.write(this.values) as unknown as Buffer); - } - if (this.credentials !== undefined) { - b.write(this.credentials.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSecureValuesSent extends TLObject { - types!: Vector; - - constructor(params: { types: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSecureValuesSent'; - this.constructorId = 0xd95c6154; - this.subclassOfId = 0x8680d126; - this._slots = ['types']; - this.types = params.types; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let types = await TLObject.read(_data); - return new Raw.MessageActionSecureValuesSent({ types: types }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.types) { - b.write(Primitive.Vector.write(this.types) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionContactSignUp extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionContactSignUp'; - this.constructorId = 0xf3f25f76; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionContactSignUp(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGeoProximityReached extends TLObject { - fromId!: Raw.TypePeer; - toId!: Raw.TypePeer; - distance!: int; - - constructor(params: { fromId: Raw.TypePeer; toId: Raw.TypePeer; distance: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGeoProximityReached'; - this.constructorId = 0x98e0d697; - this.subclassOfId = 0x8680d126; - this._slots = ['fromId', 'toId', 'distance']; - this.fromId = params.fromId; - this.toId = params.toId; - this.distance = params.distance; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fromId = await TLObject.read(_data); - let toId = await TLObject.read(_data); - let distance = await Primitive.Int.read(_data); - return new Raw.MessageActionGeoProximityReached({ - fromId: fromId, - toId: toId, - distance: distance, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.toId !== undefined) { - b.write(this.toId.write() as unknown as Buffer); - } - if (this.distance !== undefined) { - b.write(Primitive.Int.write(this.distance) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGroupCall extends TLObject { - call!: Raw.TypeInputGroupCall; - duration?: int; - - constructor(params: { call: Raw.TypeInputGroupCall; duration?: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGroupCall'; - this.constructorId = 0x7a0d7f42; - this.subclassOfId = 0x8680d126; - this._slots = ['call', 'duration']; - this.call = params.call; - this.duration = params.duration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let call = await TLObject.read(_data); - let duration = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageActionGroupCall({ call: call, duration: duration }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.duration !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionInviteToGroupCall extends TLObject { - call!: Raw.TypeInputGroupCall; - users!: Vector; - - constructor(params: { call: Raw.TypeInputGroupCall; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionInviteToGroupCall'; - this.constructorId = 0x502f92f7; - this.subclassOfId = 0x8680d126; - this._slots = ['call', 'users']; - this.call = params.call; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let users = await TLObject.read(_data, Primitive.Long); - return new Raw.MessageActionInviteToGroupCall({ call: call, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSetMessagesTTL extends TLObject { - period!: int; - autoSettingFrom?: long; - - constructor(params: { period: int; autoSettingFrom?: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSetMessagesTTL'; - this.constructorId = 0x3c134d7b; - this.subclassOfId = 0x8680d126; - this._slots = ['period', 'autoSettingFrom']; - this.period = params.period; - this.autoSettingFrom = params.autoSettingFrom; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let period = await Primitive.Int.read(_data); - let autoSettingFrom = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.MessageActionSetMessagesTTL({ - period: period, - autoSettingFrom: autoSettingFrom, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.autoSettingFrom !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.autoSettingFrom !== undefined) { - b.write(Primitive.Long.write(this.autoSettingFrom) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGroupCallScheduled extends TLObject { - call!: Raw.TypeInputGroupCall; - scheduleDate!: int; - - constructor(params: { call: Raw.TypeInputGroupCall; scheduleDate: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGroupCallScheduled'; - this.constructorId = 0xb3a07661; - this.subclassOfId = 0x8680d126; - this._slots = ['call', 'scheduleDate']; - this.call = params.call; - this.scheduleDate = params.scheduleDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let scheduleDate = await Primitive.Int.read(_data); - return new Raw.MessageActionGroupCallScheduled({ call: call, scheduleDate: scheduleDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSetChatTheme extends TLObject { - emoticon!: string; - - constructor(params: { emoticon: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSetChatTheme'; - this.constructorId = 0xaa786345; - this.subclassOfId = 0x8680d126; - this._slots = ['emoticon']; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - return new Raw.MessageActionSetChatTheme({ emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionChatJoinedByRequest extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'MessageActionChatJoinedByRequest'; - this.constructorId = 0xebbca3cb; - this.subclassOfId = 0x8680d126; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.MessageActionChatJoinedByRequest(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionWebViewDataSentMe extends TLObject { - text!: string; - data!: string; - - constructor(params: { text: string; data: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionWebViewDataSentMe'; - this.constructorId = 0x47dd8079; - this.subclassOfId = 0x8680d126; - this._slots = ['text', 'data']; - this.text = params.text; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let data = await Primitive.String.read(_data); - return new Raw.MessageActionWebViewDataSentMe({ text: text, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.String.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionWebViewDataSent extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionWebViewDataSent'; - this.constructorId = 0xb4c38cb5; - this.subclassOfId = 0x8680d126; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.MessageActionWebViewDataSent({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGiftPremium extends TLObject { - currency!: string; - amount!: long; - months!: int; - cryptoCurrency?: string; - cryptoAmount?: long; - message?: Raw.TypeTextWithEntities; - - constructor(params: { - currency: string; - amount: long; - months: int; - cryptoCurrency?: string; - cryptoAmount?: long; - message?: Raw.TypeTextWithEntities; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGiftPremium'; - this.constructorId = 0x6c6274fa; - this.subclassOfId = 0x8680d126; - this._slots = ['currency', 'amount', 'months', 'cryptoCurrency', 'cryptoAmount', 'message']; - this.currency = params.currency; - this.amount = params.amount; - this.months = params.months; - this.cryptoCurrency = params.cryptoCurrency; - this.cryptoAmount = params.cryptoAmount; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let months = await Primitive.Int.read(_data); - let cryptoCurrency = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let cryptoAmount = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let message = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.MessageActionGiftPremium({ - currency: currency, - amount: amount, - months: months, - cryptoCurrency: cryptoCurrency, - cryptoAmount: cryptoAmount, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.cryptoCurrency !== undefined ? 1 << 0 : 0; - flags |= this.cryptoAmount !== undefined ? 1 << 0 : 0; - flags |= this.message !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.cryptoCurrency !== undefined) { - b.write(Primitive.String.write(this.cryptoCurrency) as unknown as Buffer); - } - if (this.cryptoAmount !== undefined) { - b.write(Primitive.Long.write(this.cryptoAmount) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionTopicCreate extends TLObject { - title!: string; - iconColor!: int; - iconEmojiId?: long; - - constructor(params: { title: string; iconColor: int; iconEmojiId?: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionTopicCreate'; - this.constructorId = 0xd999256; - this.subclassOfId = 0x8680d126; - this._slots = ['title', 'iconColor', 'iconEmojiId']; - this.title = params.title; - this.iconColor = params.iconColor; - this.iconEmojiId = params.iconEmojiId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let iconColor = await Primitive.Int.read(_data); - let iconEmojiId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.MessageActionTopicCreate({ - title: title, - iconColor: iconColor, - iconEmojiId: iconEmojiId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.iconEmojiId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconColor !== undefined) { - b.write(Primitive.Int.write(this.iconColor) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionTopicEdit extends TLObject { - title?: string; - iconEmojiId?: long; - closed?: Bool; - hidden?: Bool; - - constructor(params: { title?: string; iconEmojiId?: long; closed?: Bool; hidden?: Bool }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionTopicEdit'; - this.constructorId = 0xc0944820; - this.subclassOfId = 0x8680d126; - this._slots = ['title', 'iconEmojiId', 'closed', 'hidden']; - this.title = params.title; - this.iconEmojiId = params.iconEmojiId; - this.closed = params.closed; - this.hidden = params.hidden; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let iconEmojiId = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - let closed = flags & (1 << 2) ? await Primitive.Bool.read(_data) : undefined; - let hidden = flags & (1 << 3) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.MessageActionTopicEdit({ - title: title, - iconEmojiId: iconEmojiId, - closed: closed, - hidden: hidden, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.iconEmojiId !== undefined ? 1 << 1 : 0; - flags |= this.closed !== undefined ? 1 << 2 : 0; - flags |= this.hidden !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - if (this.closed !== undefined) { - b.write(Primitive.Bool.write(this.closed) as unknown as Buffer); - } - if (this.hidden !== undefined) { - b.write(Primitive.Bool.write(this.hidden) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSuggestProfilePhoto extends TLObject { - photo!: Raw.TypePhoto; - - constructor(params: { photo: Raw.TypePhoto }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSuggestProfilePhoto'; - this.constructorId = 0x57de635e; - this.subclassOfId = 0x8680d126; - this._slots = ['photo']; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let photo = await TLObject.read(_data); - return new Raw.MessageActionSuggestProfilePhoto({ photo: photo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionRequestedPeer extends TLObject { - buttonId!: int; - peers!: Vector; - - constructor(params: { buttonId: int; peers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionRequestedPeer'; - this.constructorId = 0x31518e9b; - this.subclassOfId = 0x8680d126; - this._slots = ['buttonId', 'peers']; - this.buttonId = params.buttonId; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let buttonId = await Primitive.Int.read(_data); - let peers = await TLObject.read(_data); - return new Raw.MessageActionRequestedPeer({ buttonId: buttonId, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSetChatWallPaper extends TLObject { - same?: boolean; - forBoth?: boolean; - wallpaper!: Raw.TypeWallPaper; - - constructor(params: { same?: boolean; forBoth?: boolean; wallpaper: Raw.TypeWallPaper }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSetChatWallPaper'; - this.constructorId = 0x5060a3f4; - this.subclassOfId = 0x8680d126; - this._slots = ['same', 'forBoth', 'wallpaper']; - this.same = params.same; - this.forBoth = params.forBoth; - this.wallpaper = params.wallpaper; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let same = flags & (1 << 0) ? true : false; - let forBoth = flags & (1 << 1) ? true : false; - let wallpaper = await TLObject.read(_data); - return new Raw.MessageActionSetChatWallPaper({ - same: same, - forBoth: forBoth, - wallpaper: wallpaper, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.same ? 1 << 0 : 0; - flags |= this.forBoth ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGiftCode extends TLObject { - viaGiveaway?: boolean; - unclaimed?: boolean; - boostPeer?: Raw.TypePeer; - months!: int; - slug!: string; - currency?: string; - amount?: long; - cryptoCurrency?: string; - cryptoAmount?: long; - message?: Raw.TypeTextWithEntities; - - constructor(params: { - viaGiveaway?: boolean; - unclaimed?: boolean; - boostPeer?: Raw.TypePeer; - months: int; - slug: string; - currency?: string; - amount?: long; - cryptoCurrency?: string; - cryptoAmount?: long; - message?: Raw.TypeTextWithEntities; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGiftCode'; - this.constructorId = 0x56d03994; - this.subclassOfId = 0x8680d126; - this._slots = [ - 'viaGiveaway', - 'unclaimed', - 'boostPeer', - 'months', - 'slug', - 'currency', - 'amount', - 'cryptoCurrency', - 'cryptoAmount', - 'message', - ]; - this.viaGiveaway = params.viaGiveaway; - this.unclaimed = params.unclaimed; - this.boostPeer = params.boostPeer; - this.months = params.months; - this.slug = params.slug; - this.currency = params.currency; - this.amount = params.amount; - this.cryptoCurrency = params.cryptoCurrency; - this.cryptoAmount = params.cryptoAmount; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viaGiveaway = flags & (1 << 0) ? true : false; - let unclaimed = flags & (1 << 5) ? true : false; - let boostPeer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let months = await Primitive.Int.read(_data); - let slug = await Primitive.String.read(_data); - let currency = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let amount = flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - let cryptoCurrency = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let cryptoAmount = flags & (1 << 3) ? await Primitive.Long.read(_data) : undefined; - let message = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - return new Raw.MessageActionGiftCode({ - viaGiveaway: viaGiveaway, - unclaimed: unclaimed, - boostPeer: boostPeer, - months: months, - slug: slug, - currency: currency, - amount: amount, - cryptoCurrency: cryptoCurrency, - cryptoAmount: cryptoAmount, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viaGiveaway ? 1 << 0 : 0; - flags |= this.unclaimed ? 1 << 5 : 0; - flags |= this.boostPeer !== undefined ? 1 << 1 : 0; - flags |= this.currency !== undefined ? 1 << 2 : 0; - flags |= this.amount !== undefined ? 1 << 2 : 0; - flags |= this.cryptoCurrency !== undefined ? 1 << 3 : 0; - flags |= this.cryptoAmount !== undefined ? 1 << 3 : 0; - flags |= this.message !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.boostPeer !== undefined) { - b.write(this.boostPeer.write() as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.cryptoCurrency !== undefined) { - b.write(Primitive.String.write(this.cryptoCurrency) as unknown as Buffer); - } - if (this.cryptoAmount !== undefined) { - b.write(Primitive.Long.write(this.cryptoAmount) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGiveawayLaunch extends TLObject { - stars?: long; - - constructor(params: { stars?: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGiveawayLaunch'; - this.constructorId = 0xa80f51e4; - this.subclassOfId = 0x8680d126; - this._slots = ['stars']; - this.stars = params.stars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let stars = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.MessageActionGiveawayLaunch({ stars: stars }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.stars !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGiveawayResults extends TLObject { - stars?: boolean; - winnersCount!: int; - unclaimedCount!: int; - - constructor(params: { stars?: boolean; winnersCount: int; unclaimedCount: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGiveawayResults'; - this.constructorId = 0x87e2f155; - this.subclassOfId = 0x8680d126; - this._slots = ['stars', 'winnersCount', 'unclaimedCount']; - this.stars = params.stars; - this.winnersCount = params.winnersCount; - this.unclaimedCount = params.unclaimedCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let stars = flags & (1 << 0) ? true : false; - let winnersCount = await Primitive.Int.read(_data); - let unclaimedCount = await Primitive.Int.read(_data); - return new Raw.MessageActionGiveawayResults({ - stars: stars, - winnersCount: winnersCount, - unclaimedCount: unclaimedCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.stars ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.winnersCount !== undefined) { - b.write(Primitive.Int.write(this.winnersCount) as unknown as Buffer); - } - if (this.unclaimedCount !== undefined) { - b.write(Primitive.Int.write(this.unclaimedCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionBoostApply extends TLObject { - boosts!: int; - - constructor(params: { boosts: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionBoostApply'; - this.constructorId = 0xcc02aa6d; - this.subclassOfId = 0x8680d126; - this._slots = ['boosts']; - this.boosts = params.boosts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let boosts = await Primitive.Int.read(_data); - return new Raw.MessageActionBoostApply({ boosts: boosts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.boosts !== undefined) { - b.write(Primitive.Int.write(this.boosts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionRequestedPeerSentMe extends TLObject { - buttonId!: int; - peers!: Vector; - - constructor(params: { buttonId: int; peers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionRequestedPeerSentMe'; - this.constructorId = 0x93b31848; - this.subclassOfId = 0x8680d126; - this._slots = ['buttonId', 'peers']; - this.buttonId = params.buttonId; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let buttonId = await Primitive.Int.read(_data); - let peers = await TLObject.read(_data); - return new Raw.MessageActionRequestedPeerSentMe({ buttonId: buttonId, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPaymentRefunded extends TLObject { - peer!: Raw.TypePeer; - currency!: string; - totalAmount!: long; - payload?: bytes; - charge!: Raw.TypePaymentCharge; - - constructor(params: { - peer: Raw.TypePeer; - currency: string; - totalAmount: long; - payload?: bytes; - charge: Raw.TypePaymentCharge; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPaymentRefunded'; - this.constructorId = 0x41b3e202; - this.subclassOfId = 0x8680d126; - this._slots = ['peer', 'currency', 'totalAmount', 'payload', 'charge']; - this.peer = params.peer; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.payload = params.payload; - this.charge = params.charge; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let payload = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let charge = await TLObject.read(_data); - return new Raw.MessageActionPaymentRefunded({ - peer: peer, - currency: currency, - totalAmount: totalAmount, - payload: payload, - charge: charge, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.payload !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.Bytes.write(this.payload) as unknown as Buffer); - } - if (this.charge !== undefined) { - b.write(this.charge.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGiftStars extends TLObject { - currency!: string; - amount!: long; - stars!: long; - cryptoCurrency?: string; - cryptoAmount?: long; - transactionId?: string; - - constructor(params: { - currency: string; - amount: long; - stars: long; - cryptoCurrency?: string; - cryptoAmount?: long; - transactionId?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGiftStars'; - this.constructorId = 0x45d5b021; - this.subclassOfId = 0x8680d126; - this._slots = [ - 'currency', - 'amount', - 'stars', - 'cryptoCurrency', - 'cryptoAmount', - 'transactionId', - ]; - this.currency = params.currency; - this.amount = params.amount; - this.stars = params.stars; - this.cryptoCurrency = params.cryptoCurrency; - this.cryptoAmount = params.cryptoAmount; - this.transactionId = params.transactionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let stars = await Primitive.Long.read(_data); - let cryptoCurrency = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let cryptoAmount = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let transactionId = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.MessageActionGiftStars({ - currency: currency, - amount: amount, - stars: stars, - cryptoCurrency: cryptoCurrency, - cryptoAmount: cryptoAmount, - transactionId: transactionId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.cryptoCurrency !== undefined ? 1 << 0 : 0; - flags |= this.cryptoAmount !== undefined ? 1 << 0 : 0; - flags |= this.transactionId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.cryptoCurrency !== undefined) { - b.write(Primitive.String.write(this.cryptoCurrency) as unknown as Buffer); - } - if (this.cryptoAmount !== undefined) { - b.write(Primitive.Long.write(this.cryptoAmount) as unknown as Buffer); - } - if (this.transactionId !== undefined) { - b.write(Primitive.String.write(this.transactionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPrizeStars extends TLObject { - unclaimed?: boolean; - stars!: long; - transactionId!: string; - boostPeer!: Raw.TypePeer; - giveawayMsgId!: int; - - constructor(params: { - unclaimed?: boolean; - stars: long; - transactionId: string; - boostPeer: Raw.TypePeer; - giveawayMsgId: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPrizeStars'; - this.constructorId = 0xb00c47a2; - this.subclassOfId = 0x8680d126; - this._slots = ['unclaimed', 'stars', 'transactionId', 'boostPeer', 'giveawayMsgId']; - this.unclaimed = params.unclaimed; - this.stars = params.stars; - this.transactionId = params.transactionId; - this.boostPeer = params.boostPeer; - this.giveawayMsgId = params.giveawayMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let unclaimed = flags & (1 << 0) ? true : false; - let stars = await Primitive.Long.read(_data); - let transactionId = await Primitive.String.read(_data); - let boostPeer = await TLObject.read(_data); - let giveawayMsgId = await Primitive.Int.read(_data); - return new Raw.MessageActionPrizeStars({ - unclaimed: unclaimed, - stars: stars, - transactionId: transactionId, - boostPeer: boostPeer, - giveawayMsgId: giveawayMsgId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.unclaimed ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.transactionId !== undefined) { - b.write(Primitive.String.write(this.transactionId) as unknown as Buffer); - } - if (this.boostPeer !== undefined) { - b.write(this.boostPeer.write() as unknown as Buffer); - } - if (this.giveawayMsgId !== undefined) { - b.write(Primitive.Int.write(this.giveawayMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionStarGift extends TLObject { - nameHidden?: boolean; - saved?: boolean; - converted?: boolean; - upgraded?: boolean; - refunded?: boolean; - canUpgrade?: boolean; - gift!: Raw.TypeStarGift; - message?: Raw.TypeTextWithEntities; - convertStars?: long; - upgradeMsgId?: int; - upgradeStars?: long; - fromId?: Raw.TypePeer; - peer?: Raw.TypePeer; - savedId?: long; - - constructor(params: { - nameHidden?: boolean; - saved?: boolean; - converted?: boolean; - upgraded?: boolean; - refunded?: boolean; - canUpgrade?: boolean; - gift: Raw.TypeStarGift; - message?: Raw.TypeTextWithEntities; - convertStars?: long; - upgradeMsgId?: int; - upgradeStars?: long; - fromId?: Raw.TypePeer; - peer?: Raw.TypePeer; - savedId?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionStarGift'; - this.constructorId = 0x4717e8a4; - this.subclassOfId = 0x8680d126; - this._slots = [ - 'nameHidden', - 'saved', - 'converted', - 'upgraded', - 'refunded', - 'canUpgrade', - 'gift', - 'message', - 'convertStars', - 'upgradeMsgId', - 'upgradeStars', - 'fromId', - 'peer', - 'savedId', - ]; - this.nameHidden = params.nameHidden; - this.saved = params.saved; - this.converted = params.converted; - this.upgraded = params.upgraded; - this.refunded = params.refunded; - this.canUpgrade = params.canUpgrade; - this.gift = params.gift; - this.message = params.message; - this.convertStars = params.convertStars; - this.upgradeMsgId = params.upgradeMsgId; - this.upgradeStars = params.upgradeStars; - this.fromId = params.fromId; - this.peer = params.peer; - this.savedId = params.savedId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nameHidden = flags & (1 << 0) ? true : false; - let saved = flags & (1 << 2) ? true : false; - let converted = flags & (1 << 3) ? true : false; - let upgraded = flags & (1 << 5) ? true : false; - let refunded = flags & (1 << 9) ? true : false; - let canUpgrade = flags & (1 << 10) ? true : false; - let gift = await TLObject.read(_data); - let message = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let convertStars = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let upgradeMsgId = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let upgradeStars = flags & (1 << 8) ? await Primitive.Long.read(_data) : undefined; - let fromId = flags & (1 << 11) ? await TLObject.read(_data) : undefined; - let peer = flags & (1 << 12) ? await TLObject.read(_data) : undefined; - let savedId = flags & (1 << 12) ? await Primitive.Long.read(_data) : undefined; - return new Raw.MessageActionStarGift({ - nameHidden: nameHidden, - saved: saved, - converted: converted, - upgraded: upgraded, - refunded: refunded, - canUpgrade: canUpgrade, - gift: gift, - message: message, - convertStars: convertStars, - upgradeMsgId: upgradeMsgId, - upgradeStars: upgradeStars, - fromId: fromId, - peer: peer, - savedId: savedId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nameHidden ? 1 << 0 : 0; - flags |= this.saved ? 1 << 2 : 0; - flags |= this.converted ? 1 << 3 : 0; - flags |= this.upgraded ? 1 << 5 : 0; - flags |= this.refunded ? 1 << 9 : 0; - flags |= this.canUpgrade ? 1 << 10 : 0; - flags |= this.message !== undefined ? 1 << 1 : 0; - flags |= this.convertStars !== undefined ? 1 << 4 : 0; - flags |= this.upgradeMsgId !== undefined ? 1 << 5 : 0; - flags |= this.upgradeStars !== undefined ? 1 << 8 : 0; - flags |= this.fromId !== undefined ? 1 << 11 : 0; - flags |= this.peer !== undefined ? 1 << 12 : 0; - flags |= this.savedId !== undefined ? 1 << 12 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.gift !== undefined) { - b.write(this.gift.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.convertStars !== undefined) { - b.write(Primitive.Long.write(this.convertStars) as unknown as Buffer); - } - if (this.upgradeMsgId !== undefined) { - b.write(Primitive.Int.write(this.upgradeMsgId) as unknown as Buffer); - } - if (this.upgradeStars !== undefined) { - b.write(Primitive.Long.write(this.upgradeStars) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedId !== undefined) { - b.write(Primitive.Long.write(this.savedId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionStarGiftUnique extends TLObject { - upgrade?: boolean; - transferred?: boolean; - saved?: boolean; - refunded?: boolean; - gift!: Raw.TypeStarGift; - canExportAt?: int; - transferStars?: long; - fromId?: Raw.TypePeer; - peer?: Raw.TypePeer; - savedId?: long; - resaleStars?: long; - canTransferAt?: int; - canResellAt?: int; - - constructor(params: { - upgrade?: boolean; - transferred?: boolean; - saved?: boolean; - refunded?: boolean; - gift: Raw.TypeStarGift; - canExportAt?: int; - transferStars?: long; - fromId?: Raw.TypePeer; - peer?: Raw.TypePeer; - savedId?: long; - resaleStars?: long; - canTransferAt?: int; - canResellAt?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionStarGiftUnique'; - this.constructorId = 0x2e3ae60e; - this.subclassOfId = 0x8680d126; - this._slots = [ - 'upgrade', - 'transferred', - 'saved', - 'refunded', - 'gift', - 'canExportAt', - 'transferStars', - 'fromId', - 'peer', - 'savedId', - 'resaleStars', - 'canTransferAt', - 'canResellAt', - ]; - this.upgrade = params.upgrade; - this.transferred = params.transferred; - this.saved = params.saved; - this.refunded = params.refunded; - this.gift = params.gift; - this.canExportAt = params.canExportAt; - this.transferStars = params.transferStars; - this.fromId = params.fromId; - this.peer = params.peer; - this.savedId = params.savedId; - this.resaleStars = params.resaleStars; - this.canTransferAt = params.canTransferAt; - this.canResellAt = params.canResellAt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let upgrade = flags & (1 << 0) ? true : false; - let transferred = flags & (1 << 1) ? true : false; - let saved = flags & (1 << 2) ? true : false; - let refunded = flags & (1 << 5) ? true : false; - let gift = await TLObject.read(_data); - let canExportAt = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let transferStars = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let fromId = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let peer = flags & (1 << 7) ? await TLObject.read(_data) : undefined; - let savedId = flags & (1 << 7) ? await Primitive.Long.read(_data) : undefined; - let resaleStars = flags & (1 << 8) ? await Primitive.Long.read(_data) : undefined; - let canTransferAt = flags & (1 << 9) ? await Primitive.Int.read(_data) : undefined; - let canResellAt = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageActionStarGiftUnique({ - upgrade: upgrade, - transferred: transferred, - saved: saved, - refunded: refunded, - gift: gift, - canExportAt: canExportAt, - transferStars: transferStars, - fromId: fromId, - peer: peer, - savedId: savedId, - resaleStars: resaleStars, - canTransferAt: canTransferAt, - canResellAt: canResellAt, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.upgrade ? 1 << 0 : 0; - flags |= this.transferred ? 1 << 1 : 0; - flags |= this.saved ? 1 << 2 : 0; - flags |= this.refunded ? 1 << 5 : 0; - flags |= this.canExportAt !== undefined ? 1 << 3 : 0; - flags |= this.transferStars !== undefined ? 1 << 4 : 0; - flags |= this.fromId !== undefined ? 1 << 6 : 0; - flags |= this.peer !== undefined ? 1 << 7 : 0; - flags |= this.savedId !== undefined ? 1 << 7 : 0; - flags |= this.resaleStars !== undefined ? 1 << 8 : 0; - flags |= this.canTransferAt !== undefined ? 1 << 9 : 0; - flags |= this.canResellAt !== undefined ? 1 << 10 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.gift !== undefined) { - b.write(this.gift.write() as unknown as Buffer); - } - if (this.canExportAt !== undefined) { - b.write(Primitive.Int.write(this.canExportAt) as unknown as Buffer); - } - if (this.transferStars !== undefined) { - b.write(Primitive.Long.write(this.transferStars) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedId !== undefined) { - b.write(Primitive.Long.write(this.savedId) as unknown as Buffer); - } - if (this.resaleStars !== undefined) { - b.write(Primitive.Long.write(this.resaleStars) as unknown as Buffer); - } - if (this.canTransferAt !== undefined) { - b.write(Primitive.Int.write(this.canTransferAt) as unknown as Buffer); - } - if (this.canResellAt !== undefined) { - b.write(Primitive.Int.write(this.canResellAt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPaidMessagesRefunded extends TLObject { - count!: int; - stars!: long; - - constructor(params: { count: int; stars: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPaidMessagesRefunded'; - this.constructorId = 0xac1f1fcd; - this.subclassOfId = 0x8680d126; - this._slots = ['count', 'stars']; - this.count = params.count; - this.stars = params.stars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let stars = await Primitive.Long.read(_data); - return new Raw.MessageActionPaidMessagesRefunded({ count: count, stars: stars }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionPaidMessagesPrice extends TLObject { - broadcastMessagesAllowed?: boolean; - stars!: long; - - constructor(params: { broadcastMessagesAllowed?: boolean; stars: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionPaidMessagesPrice'; - this.constructorId = 0x84b88578; - this.subclassOfId = 0x8680d126; - this._slots = ['broadcastMessagesAllowed', 'stars']; - this.broadcastMessagesAllowed = params.broadcastMessagesAllowed; - this.stars = params.stars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let broadcastMessagesAllowed = flags & (1 << 0) ? true : false; - let stars = await Primitive.Long.read(_data); - return new Raw.MessageActionPaidMessagesPrice({ - broadcastMessagesAllowed: broadcastMessagesAllowed, - stars: stars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.broadcastMessagesAllowed ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionConferenceCall extends TLObject { - missed?: boolean; - active?: boolean; - video?: boolean; - callId!: long; - duration?: int; - otherParticipants?: Vector; - - constructor(params: { - missed?: boolean; - active?: boolean; - video?: boolean; - callId: long; - duration?: int; - otherParticipants?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionConferenceCall'; - this.constructorId = 0x2ffe2f7a; - this.subclassOfId = 0x8680d126; - this._slots = ['missed', 'active', 'video', 'callId', 'duration', 'otherParticipants']; - this.missed = params.missed; - this.active = params.active; - this.video = params.video; - this.callId = params.callId; - this.duration = params.duration; - this.otherParticipants = params.otherParticipants; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let missed = flags & (1 << 0) ? true : false; - let active = flags & (1 << 1) ? true : false; - let video = flags & (1 << 4) ? true : false; - let callId = await Primitive.Long.read(_data); - let duration = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let otherParticipants = flags & (1 << 3) ? await TLObject.read(_data) : []; - return new Raw.MessageActionConferenceCall({ - missed: missed, - active: active, - video: video, - callId: callId, - duration: duration, - otherParticipants: otherParticipants, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.missed ? 1 << 0 : 0; - flags |= this.active ? 1 << 1 : 0; - flags |= this.video ? 1 << 4 : 0; - flags |= this.duration !== undefined ? 1 << 2 : 0; - flags |= this.otherParticipants ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.callId !== undefined) { - b.write(Primitive.Long.write(this.callId) as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.otherParticipants) { - b.write(Primitive.Vector.write(this.otherParticipants) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionTodoCompletions extends TLObject { - completed!: Vector; - incompleted!: Vector; - - constructor(params: { completed: Vector; incompleted: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionTodoCompletions'; - this.constructorId = 0xcc7c5c89; - this.subclassOfId = 0x8680d126; - this._slots = ['completed', 'incompleted']; - this.completed = params.completed; - this.incompleted = params.incompleted; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let completed = await TLObject.read(_data, Primitive.Int); - let incompleted = await TLObject.read(_data, Primitive.Int); - return new Raw.MessageActionTodoCompletions({ - completed: completed, - incompleted: incompleted, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.completed) { - b.write(Primitive.Vector.write(this.completed, Primitive.Int) as unknown as Buffer); - } - if (this.incompleted) { - b.write(Primitive.Vector.write(this.incompleted, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionTodoAppendTasks extends TLObject { - list!: Vector; - - constructor(params: { list: Vector }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionTodoAppendTasks'; - this.constructorId = 0xc7edbc83; - this.subclassOfId = 0x8680d126; - this._slots = ['list']; - this.list = params.list; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let list = await TLObject.read(_data); - return new Raw.MessageActionTodoAppendTasks({ list: list }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.list) { - b.write(Primitive.Vector.write(this.list) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSuggestedPostApproval extends TLObject { - rejected?: boolean; - balanceTooLow?: boolean; - rejectComment?: string; - scheduleDate?: int; - price?: Raw.TypeStarsAmount; - - constructor(params: { - rejected?: boolean; - balanceTooLow?: boolean; - rejectComment?: string; - scheduleDate?: int; - price?: Raw.TypeStarsAmount; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSuggestedPostApproval'; - this.constructorId = 0xee7a1596; - this.subclassOfId = 0x8680d126; - this._slots = ['rejected', 'balanceTooLow', 'rejectComment', 'scheduleDate', 'price']; - this.rejected = params.rejected; - this.balanceTooLow = params.balanceTooLow; - this.rejectComment = params.rejectComment; - this.scheduleDate = params.scheduleDate; - this.price = params.price; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let rejected = flags & (1 << 0) ? true : false; - let balanceTooLow = flags & (1 << 1) ? true : false; - let rejectComment = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let scheduleDate = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let price = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - return new Raw.MessageActionSuggestedPostApproval({ - rejected: rejected, - balanceTooLow: balanceTooLow, - rejectComment: rejectComment, - scheduleDate: scheduleDate, - price: price, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.rejected ? 1 << 0 : 0; - flags |= this.balanceTooLow ? 1 << 1 : 0; - flags |= this.rejectComment !== undefined ? 1 << 2 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 3 : 0; - flags |= this.price !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.rejectComment !== undefined) { - b.write(Primitive.String.write(this.rejectComment) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.price !== undefined) { - b.write(this.price.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSuggestedPostSuccess extends TLObject { - price!: Raw.TypeStarsAmount; - - constructor(params: { price: Raw.TypeStarsAmount }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSuggestedPostSuccess'; - this.constructorId = 0x95ddcf69; - this.subclassOfId = 0x8680d126; - this._slots = ['price']; - this.price = params.price; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let price = await TLObject.read(_data); - return new Raw.MessageActionSuggestedPostSuccess({ price: price }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.price !== undefined) { - b.write(this.price.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionSuggestedPostRefund extends TLObject { - payerInitiated?: boolean; - - constructor(params: { payerInitiated?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionSuggestedPostRefund'; - this.constructorId = 0x69f916f8; - this.subclassOfId = 0x8680d126; - this._slots = ['payerInitiated']; - this.payerInitiated = params.payerInitiated; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let payerInitiated = flags & (1 << 0) ? true : false; - return new Raw.MessageActionSuggestedPostRefund({ payerInitiated: payerInitiated }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.payerInitiated ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageActionGiftTon extends TLObject { - currency!: string; - amount!: long; - cryptoCurrency!: string; - cryptoAmount!: long; - transactionId?: string; - - constructor(params: { - currency: string; - amount: long; - cryptoCurrency: string; - cryptoAmount: long; - transactionId?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageActionGiftTon'; - this.constructorId = 0xa8a3c699; - this.subclassOfId = 0x8680d126; - this._slots = ['currency', 'amount', 'cryptoCurrency', 'cryptoAmount', 'transactionId']; - this.currency = params.currency; - this.amount = params.amount; - this.cryptoCurrency = params.cryptoCurrency; - this.cryptoAmount = params.cryptoAmount; - this.transactionId = params.transactionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let cryptoCurrency = await Primitive.String.read(_data); - let cryptoAmount = await Primitive.Long.read(_data); - let transactionId = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.MessageActionGiftTon({ - currency: currency, - amount: amount, - cryptoCurrency: cryptoCurrency, - cryptoAmount: cryptoAmount, - transactionId: transactionId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.transactionId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.cryptoCurrency !== undefined) { - b.write(Primitive.String.write(this.cryptoCurrency) as unknown as Buffer); - } - if (this.cryptoAmount !== undefined) { - b.write(Primitive.Long.write(this.cryptoAmount) as unknown as Buffer); - } - if (this.transactionId !== undefined) { - b.write(Primitive.String.write(this.transactionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Dialog extends TLObject { - pinned?: boolean; - unreadMark?: boolean; - viewForumAsMessages?: boolean; - peer!: Raw.TypePeer; - topMessage!: int; - readInboxMaxId!: int; - readOutboxMaxId!: int; - unreadCount!: int; - unreadMentionsCount!: int; - unreadReactionsCount!: int; - notifySettings!: Raw.TypePeerNotifySettings; - pts?: int; - draft?: Raw.TypeDraftMessage; - folderId?: int; - ttlPeriod?: int; - - constructor(params: { - pinned?: boolean; - unreadMark?: boolean; - viewForumAsMessages?: boolean; - peer: Raw.TypePeer; - topMessage: int; - readInboxMaxId: int; - readOutboxMaxId: int; - unreadCount: int; - unreadMentionsCount: int; - unreadReactionsCount: int; - notifySettings: Raw.TypePeerNotifySettings; - pts?: int; - draft?: Raw.TypeDraftMessage; - folderId?: int; - ttlPeriod?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Dialog'; - this.constructorId = 0xd58a08c6; - this.subclassOfId = 0x42cddd54; - this._slots = [ - 'pinned', - 'unreadMark', - 'viewForumAsMessages', - 'peer', - 'topMessage', - 'readInboxMaxId', - 'readOutboxMaxId', - 'unreadCount', - 'unreadMentionsCount', - 'unreadReactionsCount', - 'notifySettings', - 'pts', - 'draft', - 'folderId', - 'ttlPeriod', - ]; - this.pinned = params.pinned; - this.unreadMark = params.unreadMark; - this.viewForumAsMessages = params.viewForumAsMessages; - this.peer = params.peer; - this.topMessage = params.topMessage; - this.readInboxMaxId = params.readInboxMaxId; - this.readOutboxMaxId = params.readOutboxMaxId; - this.unreadCount = params.unreadCount; - this.unreadMentionsCount = params.unreadMentionsCount; - this.unreadReactionsCount = params.unreadReactionsCount; - this.notifySettings = params.notifySettings; - this.pts = params.pts; - this.draft = params.draft; - this.folderId = params.folderId; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 2) ? true : false; - let unreadMark = flags & (1 << 3) ? true : false; - let viewForumAsMessages = flags & (1 << 6) ? true : false; - let peer = await TLObject.read(_data); - let topMessage = await Primitive.Int.read(_data); - let readInboxMaxId = await Primitive.Int.read(_data); - let readOutboxMaxId = await Primitive.Int.read(_data); - let unreadCount = await Primitive.Int.read(_data); - let unreadMentionsCount = await Primitive.Int.read(_data); - let unreadReactionsCount = await Primitive.Int.read(_data); - let notifySettings = await TLObject.read(_data); - let pts = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let draft = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let folderId = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let ttlPeriod = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - return new Raw.Dialog({ - pinned: pinned, - unreadMark: unreadMark, - viewForumAsMessages: viewForumAsMessages, - peer: peer, - topMessage: topMessage, - readInboxMaxId: readInboxMaxId, - readOutboxMaxId: readOutboxMaxId, - unreadCount: unreadCount, - unreadMentionsCount: unreadMentionsCount, - unreadReactionsCount: unreadReactionsCount, - notifySettings: notifySettings, - pts: pts, - draft: draft, - folderId: folderId, - ttlPeriod: ttlPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 2 : 0; - flags |= this.unreadMark ? 1 << 3 : 0; - flags |= this.viewForumAsMessages ? 1 << 6 : 0; - flags |= this.pts !== undefined ? 1 << 0 : 0; - flags |= this.draft !== undefined ? 1 << 1 : 0; - flags |= this.folderId !== undefined ? 1 << 4 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMessage !== undefined) { - b.write(Primitive.Int.write(this.topMessage) as unknown as Buffer); - } - if (this.readInboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readInboxMaxId) as unknown as Buffer); - } - if (this.readOutboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readOutboxMaxId) as unknown as Buffer); - } - if (this.unreadCount !== undefined) { - b.write(Primitive.Int.write(this.unreadCount) as unknown as Buffer); - } - if (this.unreadMentionsCount !== undefined) { - b.write(Primitive.Int.write(this.unreadMentionsCount) as unknown as Buffer); - } - if (this.unreadReactionsCount !== undefined) { - b.write(Primitive.Int.write(this.unreadReactionsCount) as unknown as Buffer); - } - if (this.notifySettings !== undefined) { - b.write(this.notifySettings.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.draft !== undefined) { - b.write(this.draft.write() as unknown as Buffer); - } - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogFolder extends TLObject { - pinned?: boolean; - folder!: Raw.TypeFolder; - peer!: Raw.TypePeer; - topMessage!: int; - unreadMutedPeersCount!: int; - unreadUnmutedPeersCount!: int; - unreadMutedMessagesCount!: int; - unreadUnmutedMessagesCount!: int; - - constructor(params: { - pinned?: boolean; - folder: Raw.TypeFolder; - peer: Raw.TypePeer; - topMessage: int; - unreadMutedPeersCount: int; - unreadUnmutedPeersCount: int; - unreadMutedMessagesCount: int; - unreadUnmutedMessagesCount: int; - }) { - super(); - this.classType = 'types'; - this.className = 'DialogFolder'; - this.constructorId = 0x71bd134c; - this.subclassOfId = 0x42cddd54; - this._slots = [ - 'pinned', - 'folder', - 'peer', - 'topMessage', - 'unreadMutedPeersCount', - 'unreadUnmutedPeersCount', - 'unreadMutedMessagesCount', - 'unreadUnmutedMessagesCount', - ]; - this.pinned = params.pinned; - this.folder = params.folder; - this.peer = params.peer; - this.topMessage = params.topMessage; - this.unreadMutedPeersCount = params.unreadMutedPeersCount; - this.unreadUnmutedPeersCount = params.unreadUnmutedPeersCount; - this.unreadMutedMessagesCount = params.unreadMutedMessagesCount; - this.unreadUnmutedMessagesCount = params.unreadUnmutedMessagesCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 2) ? true : false; - let folder = await TLObject.read(_data); - let peer = await TLObject.read(_data); - let topMessage = await Primitive.Int.read(_data); - let unreadMutedPeersCount = await Primitive.Int.read(_data); - let unreadUnmutedPeersCount = await Primitive.Int.read(_data); - let unreadMutedMessagesCount = await Primitive.Int.read(_data); - let unreadUnmutedMessagesCount = await Primitive.Int.read(_data); - return new Raw.DialogFolder({ - pinned: pinned, - folder: folder, - peer: peer, - topMessage: topMessage, - unreadMutedPeersCount: unreadMutedPeersCount, - unreadUnmutedPeersCount: unreadUnmutedPeersCount, - unreadMutedMessagesCount: unreadMutedMessagesCount, - unreadUnmutedMessagesCount: unreadUnmutedMessagesCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folder !== undefined) { - b.write(this.folder.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMessage !== undefined) { - b.write(Primitive.Int.write(this.topMessage) as unknown as Buffer); - } - if (this.unreadMutedPeersCount !== undefined) { - b.write(Primitive.Int.write(this.unreadMutedPeersCount) as unknown as Buffer); - } - if (this.unreadUnmutedPeersCount !== undefined) { - b.write(Primitive.Int.write(this.unreadUnmutedPeersCount) as unknown as Buffer); - } - if (this.unreadMutedMessagesCount !== undefined) { - b.write(Primitive.Int.write(this.unreadMutedMessagesCount) as unknown as Buffer); - } - if (this.unreadUnmutedMessagesCount !== undefined) { - b.write(Primitive.Int.write(this.unreadUnmutedMessagesCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoEmpty extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'PhotoEmpty'; - this.constructorId = 0x2331b22d; - this.subclassOfId = 0xd576ab1c; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.PhotoEmpty({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Photo extends TLObject { - hasStickers?: boolean; - id!: long; - accessHash!: long; - fileReference!: bytes; - date!: int; - sizes!: Vector; - videoSizes?: Vector; - dcId!: int; - - constructor(params: { - hasStickers?: boolean; - id: long; - accessHash: long; - fileReference: bytes; - date: int; - sizes: Vector; - videoSizes?: Vector; - dcId: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Photo'; - this.constructorId = 0xfb197a65; - this.subclassOfId = 0xd576ab1c; - this._slots = [ - 'hasStickers', - 'id', - 'accessHash', - 'fileReference', - 'date', - 'sizes', - 'videoSizes', - 'dcId', - ]; - this.hasStickers = params.hasStickers; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - this.date = params.date; - this.sizes = params.sizes; - this.videoSizes = params.videoSizes; - this.dcId = params.dcId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasStickers = flags & (1 << 0) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - let date = await Primitive.Int.read(_data); - let sizes = await TLObject.read(_data); - let videoSizes = flags & (1 << 1) ? await TLObject.read(_data) : []; - let dcId = await Primitive.Int.read(_data); - return new Raw.Photo({ - hasStickers: hasStickers, - id: id, - accessHash: accessHash, - fileReference: fileReference, - date: date, - sizes: sizes, - videoSizes: videoSizes, - dcId: dcId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasStickers ? 1 << 0 : 0; - flags |= this.videoSizes ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.sizes) { - b.write(Primitive.Vector.write(this.sizes) as unknown as Buffer); - } - if (this.videoSizes) { - b.write(Primitive.Vector.write(this.videoSizes) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoSizeEmpty extends TLObject { - type!: string; - - constructor(params: { type: string }) { - super(); - this.classType = 'types'; - this.className = 'PhotoSizeEmpty'; - this.constructorId = 0xe17e23c; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type']; - this.type = params.type; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await Primitive.String.read(_data); - return new Raw.PhotoSizeEmpty({ type: type }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoSize extends TLObject { - type!: string; - w!: int; - h!: int; - size!: int; - - constructor(params: { type: string; w: int; h: int; size: int }) { - super(); - this.classType = 'types'; - this.className = 'PhotoSize'; - this.constructorId = 0x75c78e60; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'w', 'h', 'size']; - this.type = params.type; - this.w = params.w; - this.h = params.h; - this.size = params.size; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await Primitive.String.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - return new Raw.PhotoSize({ type: type, w: w, h: h, size: size }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoCachedSize extends TLObject { - type!: string; - w!: int; - h!: int; - bytes!: bytes; - - constructor(params: { type: string; w: int; h: int; bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'PhotoCachedSize'; - this.constructorId = 0x21e1ad6; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'w', 'h', 'bytes']; - this.type = params.type; - this.w = params.w; - this.h = params.h; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await Primitive.String.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.PhotoCachedSize({ type: type, w: w, h: h, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoStrippedSize extends TLObject { - type!: string; - bytes!: bytes; - - constructor(params: { type: string; bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'PhotoStrippedSize'; - this.constructorId = 0xe0b0bc2e; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'bytes']; - this.type = params.type; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await Primitive.String.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.PhotoStrippedSize({ type: type, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoSizeProgressive extends TLObject { - type!: string; - w!: int; - h!: int; - sizes!: Vector; - - constructor(params: { type: string; w: int; h: int; sizes: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PhotoSizeProgressive'; - this.constructorId = 0xfa3efb95; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'w', 'h', 'sizes']; - this.type = params.type; - this.w = params.w; - this.h = params.h; - this.sizes = params.sizes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await Primitive.String.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let sizes = await TLObject.read(_data, Primitive.Int); - return new Raw.PhotoSizeProgressive({ type: type, w: w, h: h, sizes: sizes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.sizes) { - b.write(Primitive.Vector.write(this.sizes, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoPathSize extends TLObject { - type!: string; - bytes!: bytes; - - constructor(params: { type: string; bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'PhotoPathSize'; - this.constructorId = 0xd8214d41; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'bytes']; - this.type = params.type; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await Primitive.String.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.PhotoPathSize({ type: type, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GeoPointEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'GeoPointEmpty'; - this.constructorId = 0x1117dd5f; - this.subclassOfId = 0xd610e16d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.GeoPointEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GeoPoint extends TLObject { - long!: double; - lat!: double; - accessHash!: long; - accuracyRadius?: int; - - constructor(params: { long: double; lat: double; accessHash: long; accuracyRadius?: int }) { - super(); - this.classType = 'types'; - this.className = 'GeoPoint'; - this.constructorId = 0xb2a2f663; - this.subclassOfId = 0xd610e16d; - this._slots = ['long', 'lat', 'accessHash', 'accuracyRadius']; - this.long = params.long; - this.lat = params.lat; - this.accessHash = params.accessHash; - this.accuracyRadius = params.accuracyRadius; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let long = await Primitive.Double.read(_data); - let lat = await Primitive.Double.read(_data); - let accessHash = await Primitive.Long.read(_data); - let accuracyRadius = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.GeoPoint({ - long: long, - lat: lat, - accessHash: accessHash, - accuracyRadius: accuracyRadius, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.accuracyRadius !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.long !== undefined) { - b.write(Primitive.Double.write(this.long) as unknown as Buffer); - } - if (this.lat !== undefined) { - b.write(Primitive.Double.write(this.lat) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.accuracyRadius !== undefined) { - b.write(Primitive.Int.write(this.accuracyRadius) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputNotifyPeer extends TLObject { - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'InputNotifyPeer'; - this.constructorId = 0xb8bc5b0c; - this.subclassOfId = 0x58981615; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.InputNotifyPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputNotifyUsers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputNotifyUsers'; - this.constructorId = 0x193b4417; - this.subclassOfId = 0x58981615; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputNotifyUsers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputNotifyChats extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputNotifyChats'; - this.constructorId = 0x4a95e84e; - this.subclassOfId = 0x58981615; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputNotifyChats(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputNotifyBroadcasts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputNotifyBroadcasts'; - this.constructorId = 0xb1db7c7e; - this.subclassOfId = 0x58981615; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputNotifyBroadcasts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputNotifyForumTopic extends TLObject { - peer!: Raw.TypeInputPeer; - topMsgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; topMsgId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputNotifyForumTopic'; - this.constructorId = 0x5c467992; - this.subclassOfId = 0x58981615; - this._slots = ['peer', 'topMsgId']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let topMsgId = await Primitive.Int.read(_data); - return new Raw.InputNotifyForumTopic({ peer: peer, topMsgId: topMsgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPeerNotifySettings extends TLObject { - showPreviews?: Bool; - silent?: Bool; - muteUntil?: int; - sound?: Raw.TypeNotificationSound; - storiesMuted?: Bool; - storiesHideSender?: Bool; - storiesSound?: Raw.TypeNotificationSound; - - constructor(params: { - showPreviews?: Bool; - silent?: Bool; - muteUntil?: int; - sound?: Raw.TypeNotificationSound; - storiesMuted?: Bool; - storiesHideSender?: Bool; - storiesSound?: Raw.TypeNotificationSound; - }) { - super(); - this.classType = 'types'; - this.className = 'InputPeerNotifySettings'; - this.constructorId = 0xcacb6ae2; - this.subclassOfId = 0x90db0b0d; - this._slots = [ - 'showPreviews', - 'silent', - 'muteUntil', - 'sound', - 'storiesMuted', - 'storiesHideSender', - 'storiesSound', - ]; - this.showPreviews = params.showPreviews; - this.silent = params.silent; - this.muteUntil = params.muteUntil; - this.sound = params.sound; - this.storiesMuted = params.storiesMuted; - this.storiesHideSender = params.storiesHideSender; - this.storiesSound = params.storiesSound; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let showPreviews = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - let silent = flags & (1 << 1) ? await Primitive.Bool.read(_data) : undefined; - let muteUntil = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let sound = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let storiesMuted = flags & (1 << 6) ? await Primitive.Bool.read(_data) : undefined; - let storiesHideSender = flags & (1 << 7) ? await Primitive.Bool.read(_data) : undefined; - let storiesSound = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - return new Raw.InputPeerNotifySettings({ - showPreviews: showPreviews, - silent: silent, - muteUntil: muteUntil, - sound: sound, - storiesMuted: storiesMuted, - storiesHideSender: storiesHideSender, - storiesSound: storiesSound, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.showPreviews !== undefined ? 1 << 0 : 0; - flags |= this.silent !== undefined ? 1 << 1 : 0; - flags |= this.muteUntil !== undefined ? 1 << 2 : 0; - flags |= this.sound !== undefined ? 1 << 3 : 0; - flags |= this.storiesMuted !== undefined ? 1 << 6 : 0; - flags |= this.storiesHideSender !== undefined ? 1 << 7 : 0; - flags |= this.storiesSound !== undefined ? 1 << 8 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.showPreviews !== undefined) { - b.write(Primitive.Bool.write(this.showPreviews) as unknown as Buffer); - } - if (this.silent !== undefined) { - b.write(Primitive.Bool.write(this.silent) as unknown as Buffer); - } - if (this.muteUntil !== undefined) { - b.write(Primitive.Int.write(this.muteUntil) as unknown as Buffer); - } - if (this.sound !== undefined) { - b.write(this.sound.write() as unknown as Buffer); - } - if (this.storiesMuted !== undefined) { - b.write(Primitive.Bool.write(this.storiesMuted) as unknown as Buffer); - } - if (this.storiesHideSender !== undefined) { - b.write(Primitive.Bool.write(this.storiesHideSender) as unknown as Buffer); - } - if (this.storiesSound !== undefined) { - b.write(this.storiesSound.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerNotifySettings extends TLObject { - showPreviews?: Bool; - silent?: Bool; - muteUntil?: int; - iosSound?: Raw.TypeNotificationSound; - androidSound?: Raw.TypeNotificationSound; - otherSound?: Raw.TypeNotificationSound; - storiesMuted?: Bool; - storiesHideSender?: Bool; - storiesIosSound?: Raw.TypeNotificationSound; - storiesAndroidSound?: Raw.TypeNotificationSound; - storiesOtherSound?: Raw.TypeNotificationSound; - - constructor(params: { - showPreviews?: Bool; - silent?: Bool; - muteUntil?: int; - iosSound?: Raw.TypeNotificationSound; - androidSound?: Raw.TypeNotificationSound; - otherSound?: Raw.TypeNotificationSound; - storiesMuted?: Bool; - storiesHideSender?: Bool; - storiesIosSound?: Raw.TypeNotificationSound; - storiesAndroidSound?: Raw.TypeNotificationSound; - storiesOtherSound?: Raw.TypeNotificationSound; - }) { - super(); - this.classType = 'types'; - this.className = 'PeerNotifySettings'; - this.constructorId = 0x99622c0c; - this.subclassOfId = 0xcf20c074; - this._slots = [ - 'showPreviews', - 'silent', - 'muteUntil', - 'iosSound', - 'androidSound', - 'otherSound', - 'storiesMuted', - 'storiesHideSender', - 'storiesIosSound', - 'storiesAndroidSound', - 'storiesOtherSound', - ]; - this.showPreviews = params.showPreviews; - this.silent = params.silent; - this.muteUntil = params.muteUntil; - this.iosSound = params.iosSound; - this.androidSound = params.androidSound; - this.otherSound = params.otherSound; - this.storiesMuted = params.storiesMuted; - this.storiesHideSender = params.storiesHideSender; - this.storiesIosSound = params.storiesIosSound; - this.storiesAndroidSound = params.storiesAndroidSound; - this.storiesOtherSound = params.storiesOtherSound; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let showPreviews = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - let silent = flags & (1 << 1) ? await Primitive.Bool.read(_data) : undefined; - let muteUntil = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let iosSound = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let androidSound = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let otherSound = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let storiesMuted = flags & (1 << 6) ? await Primitive.Bool.read(_data) : undefined; - let storiesHideSender = flags & (1 << 7) ? await Primitive.Bool.read(_data) : undefined; - let storiesIosSound = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let storiesAndroidSound = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let storiesOtherSound = flags & (1 << 10) ? await TLObject.read(_data) : undefined; - return new Raw.PeerNotifySettings({ - showPreviews: showPreviews, - silent: silent, - muteUntil: muteUntil, - iosSound: iosSound, - androidSound: androidSound, - otherSound: otherSound, - storiesMuted: storiesMuted, - storiesHideSender: storiesHideSender, - storiesIosSound: storiesIosSound, - storiesAndroidSound: storiesAndroidSound, - storiesOtherSound: storiesOtherSound, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.showPreviews !== undefined ? 1 << 0 : 0; - flags |= this.silent !== undefined ? 1 << 1 : 0; - flags |= this.muteUntil !== undefined ? 1 << 2 : 0; - flags |= this.iosSound !== undefined ? 1 << 3 : 0; - flags |= this.androidSound !== undefined ? 1 << 4 : 0; - flags |= this.otherSound !== undefined ? 1 << 5 : 0; - flags |= this.storiesMuted !== undefined ? 1 << 6 : 0; - flags |= this.storiesHideSender !== undefined ? 1 << 7 : 0; - flags |= this.storiesIosSound !== undefined ? 1 << 8 : 0; - flags |= this.storiesAndroidSound !== undefined ? 1 << 9 : 0; - flags |= this.storiesOtherSound !== undefined ? 1 << 10 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.showPreviews !== undefined) { - b.write(Primitive.Bool.write(this.showPreviews) as unknown as Buffer); - } - if (this.silent !== undefined) { - b.write(Primitive.Bool.write(this.silent) as unknown as Buffer); - } - if (this.muteUntil !== undefined) { - b.write(Primitive.Int.write(this.muteUntil) as unknown as Buffer); - } - if (this.iosSound !== undefined) { - b.write(this.iosSound.write() as unknown as Buffer); - } - if (this.androidSound !== undefined) { - b.write(this.androidSound.write() as unknown as Buffer); - } - if (this.otherSound !== undefined) { - b.write(this.otherSound.write() as unknown as Buffer); - } - if (this.storiesMuted !== undefined) { - b.write(Primitive.Bool.write(this.storiesMuted) as unknown as Buffer); - } - if (this.storiesHideSender !== undefined) { - b.write(Primitive.Bool.write(this.storiesHideSender) as unknown as Buffer); - } - if (this.storiesIosSound !== undefined) { - b.write(this.storiesIosSound.write() as unknown as Buffer); - } - if (this.storiesAndroidSound !== undefined) { - b.write(this.storiesAndroidSound.write() as unknown as Buffer); - } - if (this.storiesOtherSound !== undefined) { - b.write(this.storiesOtherSound.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerSettings extends TLObject { - reportSpam?: boolean; - addContact?: boolean; - blockContact?: boolean; - shareContact?: boolean; - needContactsException?: boolean; - reportGeo?: boolean; - autoarchived?: boolean; - inviteMembers?: boolean; - requestChatBroadcast?: boolean; - businessBotPaused?: boolean; - businessBotCanReply?: boolean; - geoDistance?: int; - requestChatTitle?: string; - requestChatDate?: int; - businessBotId?: long; - businessBotManageUrl?: string; - chargePaidMessageStars?: long; - registrationMonth?: string; - phoneCountry?: string; - nameChangeDate?: int; - photoChangeDate?: int; - - constructor(params: { - reportSpam?: boolean; - addContact?: boolean; - blockContact?: boolean; - shareContact?: boolean; - needContactsException?: boolean; - reportGeo?: boolean; - autoarchived?: boolean; - inviteMembers?: boolean; - requestChatBroadcast?: boolean; - businessBotPaused?: boolean; - businessBotCanReply?: boolean; - geoDistance?: int; - requestChatTitle?: string; - requestChatDate?: int; - businessBotId?: long; - businessBotManageUrl?: string; - chargePaidMessageStars?: long; - registrationMonth?: string; - phoneCountry?: string; - nameChangeDate?: int; - photoChangeDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PeerSettings'; - this.constructorId = 0xf47741f7; - this.subclassOfId = 0xf6a79f84; - this._slots = [ - 'reportSpam', - 'addContact', - 'blockContact', - 'shareContact', - 'needContactsException', - 'reportGeo', - 'autoarchived', - 'inviteMembers', - 'requestChatBroadcast', - 'businessBotPaused', - 'businessBotCanReply', - 'geoDistance', - 'requestChatTitle', - 'requestChatDate', - 'businessBotId', - 'businessBotManageUrl', - 'chargePaidMessageStars', - 'registrationMonth', - 'phoneCountry', - 'nameChangeDate', - 'photoChangeDate', - ]; - this.reportSpam = params.reportSpam; - this.addContact = params.addContact; - this.blockContact = params.blockContact; - this.shareContact = params.shareContact; - this.needContactsException = params.needContactsException; - this.reportGeo = params.reportGeo; - this.autoarchived = params.autoarchived; - this.inviteMembers = params.inviteMembers; - this.requestChatBroadcast = params.requestChatBroadcast; - this.businessBotPaused = params.businessBotPaused; - this.businessBotCanReply = params.businessBotCanReply; - this.geoDistance = params.geoDistance; - this.requestChatTitle = params.requestChatTitle; - this.requestChatDate = params.requestChatDate; - this.businessBotId = params.businessBotId; - this.businessBotManageUrl = params.businessBotManageUrl; - this.chargePaidMessageStars = params.chargePaidMessageStars; - this.registrationMonth = params.registrationMonth; - this.phoneCountry = params.phoneCountry; - this.nameChangeDate = params.nameChangeDate; - this.photoChangeDate = params.photoChangeDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let reportSpam = flags & (1 << 0) ? true : false; - let addContact = flags & (1 << 1) ? true : false; - let blockContact = flags & (1 << 2) ? true : false; - let shareContact = flags & (1 << 3) ? true : false; - let needContactsException = flags & (1 << 4) ? true : false; - let reportGeo = flags & (1 << 5) ? true : false; - let autoarchived = flags & (1 << 7) ? true : false; - let inviteMembers = flags & (1 << 8) ? true : false; - let requestChatBroadcast = flags & (1 << 10) ? true : false; - let businessBotPaused = flags & (1 << 11) ? true : false; - let businessBotCanReply = flags & (1 << 12) ? true : false; - let geoDistance = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let requestChatTitle = flags & (1 << 9) ? await Primitive.String.read(_data) : undefined; - let requestChatDate = flags & (1 << 9) ? await Primitive.Int.read(_data) : undefined; - let businessBotId = flags & (1 << 13) ? await Primitive.Long.read(_data) : undefined; - let businessBotManageUrl = flags & (1 << 13) ? await Primitive.String.read(_data) : undefined; - let chargePaidMessageStars = flags & (1 << 14) ? await Primitive.Long.read(_data) : undefined; - let registrationMonth = flags & (1 << 15) ? await Primitive.String.read(_data) : undefined; - let phoneCountry = flags & (1 << 16) ? await Primitive.String.read(_data) : undefined; - let nameChangeDate = flags & (1 << 17) ? await Primitive.Int.read(_data) : undefined; - let photoChangeDate = flags & (1 << 18) ? await Primitive.Int.read(_data) : undefined; - return new Raw.PeerSettings({ - reportSpam: reportSpam, - addContact: addContact, - blockContact: blockContact, - shareContact: shareContact, - needContactsException: needContactsException, - reportGeo: reportGeo, - autoarchived: autoarchived, - inviteMembers: inviteMembers, - requestChatBroadcast: requestChatBroadcast, - businessBotPaused: businessBotPaused, - businessBotCanReply: businessBotCanReply, - geoDistance: geoDistance, - requestChatTitle: requestChatTitle, - requestChatDate: requestChatDate, - businessBotId: businessBotId, - businessBotManageUrl: businessBotManageUrl, - chargePaidMessageStars: chargePaidMessageStars, - registrationMonth: registrationMonth, - phoneCountry: phoneCountry, - nameChangeDate: nameChangeDate, - photoChangeDate: photoChangeDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.reportSpam ? 1 << 0 : 0; - flags |= this.addContact ? 1 << 1 : 0; - flags |= this.blockContact ? 1 << 2 : 0; - flags |= this.shareContact ? 1 << 3 : 0; - flags |= this.needContactsException ? 1 << 4 : 0; - flags |= this.reportGeo ? 1 << 5 : 0; - flags |= this.autoarchived ? 1 << 7 : 0; - flags |= this.inviteMembers ? 1 << 8 : 0; - flags |= this.requestChatBroadcast ? 1 << 10 : 0; - flags |= this.businessBotPaused ? 1 << 11 : 0; - flags |= this.businessBotCanReply ? 1 << 12 : 0; - flags |= this.geoDistance !== undefined ? 1 << 6 : 0; - flags |= this.requestChatTitle !== undefined ? 1 << 9 : 0; - flags |= this.requestChatDate !== undefined ? 1 << 9 : 0; - flags |= this.businessBotId !== undefined ? 1 << 13 : 0; - flags |= this.businessBotManageUrl !== undefined ? 1 << 13 : 0; - flags |= this.chargePaidMessageStars !== undefined ? 1 << 14 : 0; - flags |= this.registrationMonth !== undefined ? 1 << 15 : 0; - flags |= this.phoneCountry !== undefined ? 1 << 16 : 0; - flags |= this.nameChangeDate !== undefined ? 1 << 17 : 0; - flags |= this.photoChangeDate !== undefined ? 1 << 18 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoDistance !== undefined) { - b.write(Primitive.Int.write(this.geoDistance) as unknown as Buffer); - } - if (this.requestChatTitle !== undefined) { - b.write(Primitive.String.write(this.requestChatTitle) as unknown as Buffer); - } - if (this.requestChatDate !== undefined) { - b.write(Primitive.Int.write(this.requestChatDate) as unknown as Buffer); - } - if (this.businessBotId !== undefined) { - b.write(Primitive.Long.write(this.businessBotId) as unknown as Buffer); - } - if (this.businessBotManageUrl !== undefined) { - b.write(Primitive.String.write(this.businessBotManageUrl) as unknown as Buffer); - } - if (this.chargePaidMessageStars !== undefined) { - b.write(Primitive.Long.write(this.chargePaidMessageStars) as unknown as Buffer); - } - if (this.registrationMonth !== undefined) { - b.write(Primitive.String.write(this.registrationMonth) as unknown as Buffer); - } - if (this.phoneCountry !== undefined) { - b.write(Primitive.String.write(this.phoneCountry) as unknown as Buffer); - } - if (this.nameChangeDate !== undefined) { - b.write(Primitive.Int.write(this.nameChangeDate) as unknown as Buffer); - } - if (this.photoChangeDate !== undefined) { - b.write(Primitive.Int.write(this.photoChangeDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WallPaper extends TLObject { - id!: long; - creator?: boolean; - default?: boolean; - pattern?: boolean; - dark?: boolean; - accessHash!: long; - slug!: string; - document!: Raw.TypeDocument; - settings?: Raw.TypeWallPaperSettings; - - constructor(params: { - id: long; - creator?: boolean; - default?: boolean; - pattern?: boolean; - dark?: boolean; - accessHash: long; - slug: string; - document: Raw.TypeDocument; - settings?: Raw.TypeWallPaperSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'WallPaper'; - this.constructorId = 0xa437c3ed; - this.subclassOfId = 0x96a2c98b; - this._slots = [ - 'id', - 'creator', - 'default', - 'pattern', - 'dark', - 'accessHash', - 'slug', - 'document', - 'settings', - ]; - this.id = params.id; - this.creator = params.creator; - this.default = params.default; - this.pattern = params.pattern; - this.dark = params.dark; - this.accessHash = params.accessHash; - this.slug = params.slug; - this.document = params.document; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - let id = await Primitive.Long.read(_data); - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let creator = flags & (1 << 0) ? true : false; - let _default = flags & (1 << 1) ? true : false; - let pattern = flags & (1 << 3) ? true : false; - let dark = flags & (1 << 4) ? true : false; - let accessHash = await Primitive.Long.read(_data); - let slug = await Primitive.String.read(_data); - let document = await TLObject.read(_data); - let settings = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.WallPaper({ - id: id, - creator: creator, - default: _default, - pattern: pattern, - dark: dark, - accessHash: accessHash, - slug: slug, - document: document, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - // @ts-ignore - let flags = 0; - flags |= this.creator ? 1 << 0 : 0; - flags |= this.default ? 1 << 1 : 0; - flags |= this.pattern ? 1 << 3 : 0; - flags |= this.dark ? 1 << 4 : 0; - flags |= this.settings !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WallPaperNoFile extends TLObject { - id!: long; - default?: boolean; - dark?: boolean; - settings?: Raw.TypeWallPaperSettings; - - constructor(params: { - id: long; - default?: boolean; - dark?: boolean; - settings?: Raw.TypeWallPaperSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'WallPaperNoFile'; - this.constructorId = 0xe0804116; - this.subclassOfId = 0x96a2c98b; - this._slots = ['id', 'default', 'dark', 'settings']; - this.id = params.id; - this.default = params.default; - this.dark = params.dark; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - let id = await Primitive.Long.read(_data); - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let _default = flags & (1 << 1) ? true : false; - let dark = flags & (1 << 4) ? true : false; - let settings = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.WallPaperNoFile({ id: id, default: _default, dark: dark, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - // @ts-ignore - let flags = 0; - flags |= this.default ? 1 << 1 : 0; - flags |= this.dark ? 1 << 4 : 0; - flags |= this.settings !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonSpam extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonSpam'; - this.constructorId = 0x58dbcab8; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonSpam(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonViolence extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonViolence'; - this.constructorId = 0x1e22c78d; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonViolence(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonPornography extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonPornography'; - this.constructorId = 0x2e59d922; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonPornography(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonChildAbuse extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonChildAbuse'; - this.constructorId = 0xadf44ee3; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonChildAbuse(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonOther extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonOther'; - this.constructorId = 0xc1e4a2b1; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonOther(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonCopyright extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonCopyright'; - this.constructorId = 0x9b89f93a; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonCopyright(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonGeoIrrelevant extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonGeoIrrelevant'; - this.constructorId = 0xdbd4feed; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonGeoIrrelevant(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonFake extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonFake'; - this.constructorId = 0xf5ddd6e7; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonFake(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonIllegalDrugs extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonIllegalDrugs'; - this.constructorId = 0xa8eb2be; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonIllegalDrugs(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReportReasonPersonalDetails extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputReportReasonPersonalDetails'; - this.constructorId = 0x9ec7863d; - this.subclassOfId = 0x8401bd27; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputReportReasonPersonalDetails(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserFull extends TLObject { - blocked?: boolean; - phoneCallsAvailable?: boolean; - phoneCallsPrivate?: boolean; - canPinMessage?: boolean; - hasScheduled?: boolean; - videoCallsAvailable?: boolean; - voiceMessagesForbidden?: boolean; - translationsDisabled?: boolean; - storiesPinnedAvailable?: boolean; - blockedMyStoriesFrom?: boolean; - wallpaperOverridden?: boolean; - contactRequirePremium?: boolean; - readDatesPrivate?: boolean; - sponsoredEnabled?: boolean; - canViewRevenue?: boolean; - botCanManageEmojiStatus?: boolean; - displayGiftsButton?: boolean; - id!: long; - about?: string; - settings!: Raw.TypePeerSettings; - personalPhoto?: Raw.TypePhoto; - profilePhoto?: Raw.TypePhoto; - fallbackPhoto?: Raw.TypePhoto; - notifySettings!: Raw.TypePeerNotifySettings; - botInfo?: Raw.TypeBotInfo; - pinnedMsgId?: int; - commonChatsCount!: int; - folderId?: int; - ttlPeriod?: int; - themeEmoticon?: string; - privateForwardName?: string; - botGroupAdminRights?: Raw.TypeChatAdminRights; - botBroadcastAdminRights?: Raw.TypeChatAdminRights; - wallpaper?: Raw.TypeWallPaper; - stories?: Raw.TypePeerStories; - businessWorkHours?: Raw.TypeBusinessWorkHours; - businessLocation?: Raw.TypeBusinessLocation; - businessGreetingMessage?: Raw.TypeBusinessGreetingMessage; - businessAwayMessage?: Raw.TypeBusinessAwayMessage; - businessIntro?: Raw.TypeBusinessIntro; - birthday?: Raw.TypeBirthday; - personalChannelId?: long; - personalChannelMessage?: int; - stargiftsCount?: int; - starrefProgram?: Raw.TypeStarRefProgram; - botVerification?: Raw.TypeBotVerification; - sendPaidMessagesStars?: long; - disallowedGifts?: Raw.TypeDisallowedGiftsSettings; - - constructor(params: { - blocked?: boolean; - phoneCallsAvailable?: boolean; - phoneCallsPrivate?: boolean; - canPinMessage?: boolean; - hasScheduled?: boolean; - videoCallsAvailable?: boolean; - voiceMessagesForbidden?: boolean; - translationsDisabled?: boolean; - storiesPinnedAvailable?: boolean; - blockedMyStoriesFrom?: boolean; - wallpaperOverridden?: boolean; - contactRequirePremium?: boolean; - readDatesPrivate?: boolean; - sponsoredEnabled?: boolean; - canViewRevenue?: boolean; - botCanManageEmojiStatus?: boolean; - displayGiftsButton?: boolean; - id: long; - about?: string; - settings: Raw.TypePeerSettings; - personalPhoto?: Raw.TypePhoto; - profilePhoto?: Raw.TypePhoto; - fallbackPhoto?: Raw.TypePhoto; - notifySettings: Raw.TypePeerNotifySettings; - botInfo?: Raw.TypeBotInfo; - pinnedMsgId?: int; - commonChatsCount: int; - folderId?: int; - ttlPeriod?: int; - themeEmoticon?: string; - privateForwardName?: string; - botGroupAdminRights?: Raw.TypeChatAdminRights; - botBroadcastAdminRights?: Raw.TypeChatAdminRights; - wallpaper?: Raw.TypeWallPaper; - stories?: Raw.TypePeerStories; - businessWorkHours?: Raw.TypeBusinessWorkHours; - businessLocation?: Raw.TypeBusinessLocation; - businessGreetingMessage?: Raw.TypeBusinessGreetingMessage; - businessAwayMessage?: Raw.TypeBusinessAwayMessage; - businessIntro?: Raw.TypeBusinessIntro; - birthday?: Raw.TypeBirthday; - personalChannelId?: long; - personalChannelMessage?: int; - stargiftsCount?: int; - starrefProgram?: Raw.TypeStarRefProgram; - botVerification?: Raw.TypeBotVerification; - sendPaidMessagesStars?: long; - disallowedGifts?: Raw.TypeDisallowedGiftsSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'UserFull'; - this.constructorId = 0x99e78045; - this.subclassOfId = 0x1f4661b9; - this._slots = [ - 'blocked', - 'phoneCallsAvailable', - 'phoneCallsPrivate', - 'canPinMessage', - 'hasScheduled', - 'videoCallsAvailable', - 'voiceMessagesForbidden', - 'translationsDisabled', - 'storiesPinnedAvailable', - 'blockedMyStoriesFrom', - 'wallpaperOverridden', - 'contactRequirePremium', - 'readDatesPrivate', - 'sponsoredEnabled', - 'canViewRevenue', - 'botCanManageEmojiStatus', - 'displayGiftsButton', - 'id', - 'about', - 'settings', - 'personalPhoto', - 'profilePhoto', - 'fallbackPhoto', - 'notifySettings', - 'botInfo', - 'pinnedMsgId', - 'commonChatsCount', - 'folderId', - 'ttlPeriod', - 'themeEmoticon', - 'privateForwardName', - 'botGroupAdminRights', - 'botBroadcastAdminRights', - 'wallpaper', - 'stories', - 'businessWorkHours', - 'businessLocation', - 'businessGreetingMessage', - 'businessAwayMessage', - 'businessIntro', - 'birthday', - 'personalChannelId', - 'personalChannelMessage', - 'stargiftsCount', - 'starrefProgram', - 'botVerification', - 'sendPaidMessagesStars', - 'disallowedGifts', - ]; - this.blocked = params.blocked; - this.phoneCallsAvailable = params.phoneCallsAvailable; - this.phoneCallsPrivate = params.phoneCallsPrivate; - this.canPinMessage = params.canPinMessage; - this.hasScheduled = params.hasScheduled; - this.videoCallsAvailable = params.videoCallsAvailable; - this.voiceMessagesForbidden = params.voiceMessagesForbidden; - this.translationsDisabled = params.translationsDisabled; - this.storiesPinnedAvailable = params.storiesPinnedAvailable; - this.blockedMyStoriesFrom = params.blockedMyStoriesFrom; - this.wallpaperOverridden = params.wallpaperOverridden; - this.contactRequirePremium = params.contactRequirePremium; - this.readDatesPrivate = params.readDatesPrivate; - this.sponsoredEnabled = params.sponsoredEnabled; - this.canViewRevenue = params.canViewRevenue; - this.botCanManageEmojiStatus = params.botCanManageEmojiStatus; - this.displayGiftsButton = params.displayGiftsButton; - this.id = params.id; - this.about = params.about; - this.settings = params.settings; - this.personalPhoto = params.personalPhoto; - this.profilePhoto = params.profilePhoto; - this.fallbackPhoto = params.fallbackPhoto; - this.notifySettings = params.notifySettings; - this.botInfo = params.botInfo; - this.pinnedMsgId = params.pinnedMsgId; - this.commonChatsCount = params.commonChatsCount; - this.folderId = params.folderId; - this.ttlPeriod = params.ttlPeriod; - this.themeEmoticon = params.themeEmoticon; - this.privateForwardName = params.privateForwardName; - this.botGroupAdminRights = params.botGroupAdminRights; - this.botBroadcastAdminRights = params.botBroadcastAdminRights; - this.wallpaper = params.wallpaper; - this.stories = params.stories; - this.businessWorkHours = params.businessWorkHours; - this.businessLocation = params.businessLocation; - this.businessGreetingMessage = params.businessGreetingMessage; - this.businessAwayMessage = params.businessAwayMessage; - this.businessIntro = params.businessIntro; - this.birthday = params.birthday; - this.personalChannelId = params.personalChannelId; - this.personalChannelMessage = params.personalChannelMessage; - this.stargiftsCount = params.stargiftsCount; - this.starrefProgram = params.starrefProgram; - this.botVerification = params.botVerification; - this.sendPaidMessagesStars = params.sendPaidMessagesStars; - this.disallowedGifts = params.disallowedGifts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let blocked = flags & (1 << 0) ? true : false; - let phoneCallsAvailable = flags & (1 << 4) ? true : false; - let phoneCallsPrivate = flags & (1 << 5) ? true : false; - let canPinMessage = flags & (1 << 7) ? true : false; - let hasScheduled = flags & (1 << 12) ? true : false; - let videoCallsAvailable = flags & (1 << 13) ? true : false; - let voiceMessagesForbidden = flags & (1 << 20) ? true : false; - let translationsDisabled = flags & (1 << 23) ? true : false; - let storiesPinnedAvailable = flags & (1 << 26) ? true : false; - let blockedMyStoriesFrom = flags & (1 << 27) ? true : false; - let wallpaperOverridden = flags & (1 << 28) ? true : false; - let contactRequirePremium = flags & (1 << 29) ? true : false; - let readDatesPrivate = flags & (1 << 30) ? true : false; - // @ts-ignore - let flags2 = await Primitive.Int.read(_data); - let sponsoredEnabled = flags2 & (1 << 7) ? true : false; - let canViewRevenue = flags2 & (1 << 9) ? true : false; - let botCanManageEmojiStatus = flags2 & (1 << 10) ? true : false; - let displayGiftsButton = flags2 & (1 << 16) ? true : false; - let id = await Primitive.Long.read(_data); - let about = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let settings = await TLObject.read(_data); - let personalPhoto = flags & (1 << 21) ? await TLObject.read(_data) : undefined; - let profilePhoto = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let fallbackPhoto = flags & (1 << 22) ? await TLObject.read(_data) : undefined; - let notifySettings = await TLObject.read(_data); - let botInfo = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let pinnedMsgId = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let commonChatsCount = await Primitive.Int.read(_data); - let folderId = flags & (1 << 11) ? await Primitive.Int.read(_data) : undefined; - let ttlPeriod = flags & (1 << 14) ? await Primitive.Int.read(_data) : undefined; - let themeEmoticon = flags & (1 << 15) ? await Primitive.String.read(_data) : undefined; - let privateForwardName = flags & (1 << 16) ? await Primitive.String.read(_data) : undefined; - let botGroupAdminRights = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let botBroadcastAdminRights = flags & (1 << 18) ? await TLObject.read(_data) : undefined; - let wallpaper = flags & (1 << 24) ? await TLObject.read(_data) : undefined; - let stories = flags & (1 << 25) ? await TLObject.read(_data) : undefined; - let businessWorkHours = flags2 & (1 << 0) ? await TLObject.read(_data) : undefined; - let businessLocation = flags2 & (1 << 1) ? await TLObject.read(_data) : undefined; - let businessGreetingMessage = flags2 & (1 << 2) ? await TLObject.read(_data) : undefined; - let businessAwayMessage = flags2 & (1 << 3) ? await TLObject.read(_data) : undefined; - let businessIntro = flags2 & (1 << 4) ? await TLObject.read(_data) : undefined; - let birthday = flags2 & (1 << 5) ? await TLObject.read(_data) : undefined; - let personalChannelId = flags2 & (1 << 6) ? await Primitive.Long.read(_data) : undefined; - let personalChannelMessage = flags2 & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let stargiftsCount = flags2 & (1 << 8) ? await Primitive.Int.read(_data) : undefined; - let starrefProgram = flags2 & (1 << 11) ? await TLObject.read(_data) : undefined; - let botVerification = flags2 & (1 << 12) ? await TLObject.read(_data) : undefined; - let sendPaidMessagesStars = flags2 & (1 << 14) ? await Primitive.Long.read(_data) : undefined; - let disallowedGifts = flags2 & (1 << 15) ? await TLObject.read(_data) : undefined; - return new Raw.UserFull({ - blocked: blocked, - phoneCallsAvailable: phoneCallsAvailable, - phoneCallsPrivate: phoneCallsPrivate, - canPinMessage: canPinMessage, - hasScheduled: hasScheduled, - videoCallsAvailable: videoCallsAvailable, - voiceMessagesForbidden: voiceMessagesForbidden, - translationsDisabled: translationsDisabled, - storiesPinnedAvailable: storiesPinnedAvailable, - blockedMyStoriesFrom: blockedMyStoriesFrom, - wallpaperOverridden: wallpaperOverridden, - contactRequirePremium: contactRequirePremium, - readDatesPrivate: readDatesPrivate, - sponsoredEnabled: sponsoredEnabled, - canViewRevenue: canViewRevenue, - botCanManageEmojiStatus: botCanManageEmojiStatus, - displayGiftsButton: displayGiftsButton, - id: id, - about: about, - settings: settings, - personalPhoto: personalPhoto, - profilePhoto: profilePhoto, - fallbackPhoto: fallbackPhoto, - notifySettings: notifySettings, - botInfo: botInfo, - pinnedMsgId: pinnedMsgId, - commonChatsCount: commonChatsCount, - folderId: folderId, - ttlPeriod: ttlPeriod, - themeEmoticon: themeEmoticon, - privateForwardName: privateForwardName, - botGroupAdminRights: botGroupAdminRights, - botBroadcastAdminRights: botBroadcastAdminRights, - wallpaper: wallpaper, - stories: stories, - businessWorkHours: businessWorkHours, - businessLocation: businessLocation, - businessGreetingMessage: businessGreetingMessage, - businessAwayMessage: businessAwayMessage, - businessIntro: businessIntro, - birthday: birthday, - personalChannelId: personalChannelId, - personalChannelMessage: personalChannelMessage, - stargiftsCount: stargiftsCount, - starrefProgram: starrefProgram, - botVerification: botVerification, - sendPaidMessagesStars: sendPaidMessagesStars, - disallowedGifts: disallowedGifts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.blocked ? 1 << 0 : 0; - flags |= this.phoneCallsAvailable ? 1 << 4 : 0; - flags |= this.phoneCallsPrivate ? 1 << 5 : 0; - flags |= this.canPinMessage ? 1 << 7 : 0; - flags |= this.hasScheduled ? 1 << 12 : 0; - flags |= this.videoCallsAvailable ? 1 << 13 : 0; - flags |= this.voiceMessagesForbidden ? 1 << 20 : 0; - flags |= this.translationsDisabled ? 1 << 23 : 0; - flags |= this.storiesPinnedAvailable ? 1 << 26 : 0; - flags |= this.blockedMyStoriesFrom ? 1 << 27 : 0; - flags |= this.wallpaperOverridden ? 1 << 28 : 0; - flags |= this.contactRequirePremium ? 1 << 29 : 0; - flags |= this.readDatesPrivate ? 1 << 30 : 0; - flags |= this.about !== undefined ? 1 << 1 : 0; - flags |= this.personalPhoto !== undefined ? 1 << 21 : 0; - flags |= this.profilePhoto !== undefined ? 1 << 2 : 0; - flags |= this.fallbackPhoto !== undefined ? 1 << 22 : 0; - flags |= this.botInfo !== undefined ? 1 << 3 : 0; - flags |= this.pinnedMsgId !== undefined ? 1 << 6 : 0; - flags |= this.folderId !== undefined ? 1 << 11 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 14 : 0; - flags |= this.themeEmoticon !== undefined ? 1 << 15 : 0; - flags |= this.privateForwardName !== undefined ? 1 << 16 : 0; - flags |= this.botGroupAdminRights !== undefined ? 1 << 17 : 0; - flags |= this.botBroadcastAdminRights !== undefined ? 1 << 18 : 0; - flags |= this.wallpaper !== undefined ? 1 << 24 : 0; - flags |= this.stories !== undefined ? 1 << 25 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - // @ts-ignore - let flags2 = 0; - flags2 |= this.sponsoredEnabled ? 1 << 7 : 0; - flags2 |= this.canViewRevenue ? 1 << 9 : 0; - flags2 |= this.botCanManageEmojiStatus ? 1 << 10 : 0; - flags2 |= this.displayGiftsButton ? 1 << 16 : 0; - flags2 |= this.businessWorkHours !== undefined ? 1 << 0 : 0; - flags2 |= this.businessLocation !== undefined ? 1 << 1 : 0; - flags2 |= this.businessGreetingMessage !== undefined ? 1 << 2 : 0; - flags2 |= this.businessAwayMessage !== undefined ? 1 << 3 : 0; - flags2 |= this.businessIntro !== undefined ? 1 << 4 : 0; - flags2 |= this.birthday !== undefined ? 1 << 5 : 0; - flags2 |= this.personalChannelId !== undefined ? 1 << 6 : 0; - flags2 |= this.personalChannelMessage !== undefined ? 1 << 6 : 0; - flags2 |= this.stargiftsCount !== undefined ? 1 << 8 : 0; - flags2 |= this.starrefProgram !== undefined ? 1 << 11 : 0; - flags2 |= this.botVerification !== undefined ? 1 << 12 : 0; - flags2 |= this.sendPaidMessagesStars !== undefined ? 1 << 14 : 0; - flags2 |= this.disallowedGifts !== undefined ? 1 << 15 : 0; - b.write(Primitive.Int.write(flags2) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - if (this.personalPhoto !== undefined) { - b.write(this.personalPhoto.write() as unknown as Buffer); - } - if (this.profilePhoto !== undefined) { - b.write(this.profilePhoto.write() as unknown as Buffer); - } - if (this.fallbackPhoto !== undefined) { - b.write(this.fallbackPhoto.write() as unknown as Buffer); - } - if (this.notifySettings !== undefined) { - b.write(this.notifySettings.write() as unknown as Buffer); - } - if (this.botInfo !== undefined) { - b.write(this.botInfo.write() as unknown as Buffer); - } - if (this.pinnedMsgId !== undefined) { - b.write(Primitive.Int.write(this.pinnedMsgId) as unknown as Buffer); - } - if (this.commonChatsCount !== undefined) { - b.write(Primitive.Int.write(this.commonChatsCount) as unknown as Buffer); - } - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - if (this.themeEmoticon !== undefined) { - b.write(Primitive.String.write(this.themeEmoticon) as unknown as Buffer); - } - if (this.privateForwardName !== undefined) { - b.write(Primitive.String.write(this.privateForwardName) as unknown as Buffer); - } - if (this.botGroupAdminRights !== undefined) { - b.write(this.botGroupAdminRights.write() as unknown as Buffer); - } - if (this.botBroadcastAdminRights !== undefined) { - b.write(this.botBroadcastAdminRights.write() as unknown as Buffer); - } - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - if (this.stories !== undefined) { - b.write(this.stories.write() as unknown as Buffer); - } - if (this.businessWorkHours !== undefined) { - b.write(this.businessWorkHours.write() as unknown as Buffer); - } - if (this.businessLocation !== undefined) { - b.write(this.businessLocation.write() as unknown as Buffer); - } - if (this.businessGreetingMessage !== undefined) { - b.write(this.businessGreetingMessage.write() as unknown as Buffer); - } - if (this.businessAwayMessage !== undefined) { - b.write(this.businessAwayMessage.write() as unknown as Buffer); - } - if (this.businessIntro !== undefined) { - b.write(this.businessIntro.write() as unknown as Buffer); - } - if (this.birthday !== undefined) { - b.write(this.birthday.write() as unknown as Buffer); - } - if (this.personalChannelId !== undefined) { - b.write(Primitive.Long.write(this.personalChannelId) as unknown as Buffer); - } - if (this.personalChannelMessage !== undefined) { - b.write(Primitive.Int.write(this.personalChannelMessage) as unknown as Buffer); - } - if (this.stargiftsCount !== undefined) { - b.write(Primitive.Int.write(this.stargiftsCount) as unknown as Buffer); - } - if (this.starrefProgram !== undefined) { - b.write(this.starrefProgram.write() as unknown as Buffer); - } - if (this.botVerification !== undefined) { - b.write(this.botVerification.write() as unknown as Buffer); - } - if (this.sendPaidMessagesStars !== undefined) { - b.write(Primitive.Long.write(this.sendPaidMessagesStars) as unknown as Buffer); - } - if (this.disallowedGifts !== undefined) { - b.write(this.disallowedGifts.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Contact extends TLObject { - userId!: long; - mutual!: Bool; - - constructor(params: { userId: long; mutual: Bool }) { - super(); - this.classType = 'types'; - this.className = 'Contact'; - this.constructorId = 0x145ade0b; - this.subclassOfId = 0x83dfdfa4; - this._slots = ['userId', 'mutual']; - this.userId = params.userId; - this.mutual = params.mutual; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let mutual = await Primitive.Bool.read(_data); - return new Raw.Contact({ userId: userId, mutual: mutual }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.mutual !== undefined) { - b.write(Primitive.Bool.write(this.mutual) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportedContact extends TLObject { - userId!: long; - clientId!: long; - - constructor(params: { userId: long; clientId: long }) { - super(); - this.classType = 'types'; - this.className = 'ImportedContact'; - this.constructorId = 0xc13e3c50; - this.subclassOfId = 0xb545bbda; - this._slots = ['userId', 'clientId']; - this.userId = params.userId; - this.clientId = params.clientId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let clientId = await Primitive.Long.read(_data); - return new Raw.ImportedContact({ userId: userId, clientId: clientId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.clientId !== undefined) { - b.write(Primitive.Long.write(this.clientId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ContactStatus extends TLObject { - userId!: long; - status!: Raw.TypeUserStatus; - - constructor(params: { userId: long; status: Raw.TypeUserStatus }) { - super(); - this.classType = 'types'; - this.className = 'ContactStatus'; - this.constructorId = 0x16d9703b; - this.subclassOfId = 0x68c0d74c; - this._slots = ['userId', 'status']; - this.userId = params.userId; - this.status = params.status; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let status = await TLObject.read(_data); - return new Raw.ContactStatus({ userId: userId, status: status }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(this.status.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterEmpty'; - this.constructorId = 0x57e2f66c; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterPhotos extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterPhotos'; - this.constructorId = 0x9609a51c; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterPhotos(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterVideo extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterVideo'; - this.constructorId = 0x9fc00e65; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterVideo(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterPhotoVideo extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterPhotoVideo'; - this.constructorId = 0x56e9f0e4; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterPhotoVideo(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterDocument extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterDocument'; - this.constructorId = 0x9eddf188; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterDocument(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterUrl extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterUrl'; - this.constructorId = 0x7ef0dd87; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterUrl(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterGif extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterGif'; - this.constructorId = 0xffc86587; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterGif(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterVoice extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterVoice'; - this.constructorId = 0x50f5c392; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterVoice(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterMusic extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterMusic'; - this.constructorId = 0x3751b49e; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterMusic(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterChatPhotos extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterChatPhotos'; - this.constructorId = 0x3a20ecb8; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterChatPhotos(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterPhoneCalls extends TLObject { - missed?: boolean; - - constructor(params: { missed?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterPhoneCalls'; - this.constructorId = 0x80c99768; - this.subclassOfId = 0x8a36ec14; - this._slots = ['missed']; - this.missed = params.missed; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let missed = flags & (1 << 0) ? true : false; - return new Raw.InputMessagesFilterPhoneCalls({ missed: missed }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.missed ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterRoundVoice extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterRoundVoice'; - this.constructorId = 0x7a7c17a4; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterRoundVoice(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterRoundVideo extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterRoundVideo'; - this.constructorId = 0xb549da53; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterRoundVideo(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterMyMentions extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterMyMentions'; - this.constructorId = 0xc1f8e69a; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterMyMentions(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterGeo extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterGeo'; - this.constructorId = 0xe7026d0d; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterGeo(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterContacts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterContacts'; - this.constructorId = 0xe062db83; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterContacts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagesFilterPinned extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagesFilterPinned'; - this.constructorId = 0x1bb00451; - this.subclassOfId = 0x8a36ec14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagesFilterPinned(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewMessage extends TLObject { - message!: Raw.TypeMessage; - pts!: int; - ptsCount!: int; - - constructor(params: { message: Raw.TypeMessage; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewMessage'; - this.constructorId = 0x1f2b0afd; - this.subclassOfId = 0x9f89304e; - this._slots = ['message', 'pts', 'ptsCount']; - this.message = params.message; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateNewMessage({ message: message, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMessageID extends TLObject { - id!: int; - randomId!: long; - - constructor(params: { id: int; randomId: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMessageID'; - this.constructorId = 0x4e90bfd6; - this.subclassOfId = 0x9f89304e; - this._slots = ['id', 'randomId']; - this.id = params.id; - this.randomId = params.randomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let randomId = await Primitive.Long.read(_data); - return new Raw.UpdateMessageID({ id: id, randomId: randomId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDeleteMessages extends TLObject { - messages!: Vector; - pts!: int; - ptsCount!: int; - - constructor(params: { messages: Vector; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDeleteMessages'; - this.constructorId = 0xa20db0e5; - this.subclassOfId = 0x9f89304e; - this._slots = ['messages', 'pts', 'ptsCount']; - this.messages = params.messages; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let messages = await TLObject.read(_data, Primitive.Int); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateDeleteMessages({ messages: messages, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUserTyping extends TLObject { - userId!: long; - action!: Raw.TypeSendMessageAction; - - constructor(params: { userId: long; action: Raw.TypeSendMessageAction }) { - super(); - this.classType = 'types'; - this.className = 'UpdateUserTyping'; - this.constructorId = 0xc01e857f; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'action']; - this.userId = params.userId; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let action = await TLObject.read(_data); - return new Raw.UpdateUserTyping({ userId: userId, action: action }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatUserTyping extends TLObject { - chatId!: long; - fromId!: Raw.TypePeer; - action!: Raw.TypeSendMessageAction; - - constructor(params: { chatId: long; fromId: Raw.TypePeer; action: Raw.TypeSendMessageAction }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatUserTyping'; - this.constructorId = 0x83487af0; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId', 'fromId', 'action']; - this.chatId = params.chatId; - this.fromId = params.fromId; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let fromId = await TLObject.read(_data); - let action = await TLObject.read(_data); - return new Raw.UpdateChatUserTyping({ chatId: chatId, fromId: fromId, action: action }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatParticipants extends TLObject { - participants!: Raw.TypeChatParticipants; - - constructor(params: { participants: Raw.TypeChatParticipants }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatParticipants'; - this.constructorId = 0x7761198; - this.subclassOfId = 0x9f89304e; - this._slots = ['participants']; - this.participants = params.participants; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let participants = await TLObject.read(_data); - return new Raw.UpdateChatParticipants({ participants: participants }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.participants !== undefined) { - b.write(this.participants.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUserStatus extends TLObject { - userId!: long; - status!: Raw.TypeUserStatus; - - constructor(params: { userId: long; status: Raw.TypeUserStatus }) { - super(); - this.classType = 'types'; - this.className = 'UpdateUserStatus'; - this.constructorId = 0xe5bdf8de; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'status']; - this.userId = params.userId; - this.status = params.status; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let status = await TLObject.read(_data); - return new Raw.UpdateUserStatus({ userId: userId, status: status }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(this.status.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUserName extends TLObject { - userId!: long; - firstName!: string; - lastName!: string; - usernames!: Vector; - - constructor(params: { - userId: long; - firstName: string; - lastName: string; - usernames: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateUserName'; - this.constructorId = 0xa7848924; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'firstName', 'lastName', 'usernames']; - this.userId = params.userId; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.usernames = params.usernames; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let usernames = await TLObject.read(_data); - return new Raw.UpdateUserName({ - userId: userId, - firstName: firstName, - lastName: lastName, - usernames: usernames, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.usernames) { - b.write(Primitive.Vector.write(this.usernames) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewAuthorization extends TLObject { - unconfirmed?: boolean; - hash!: long; - date?: int; - device?: string; - location?: string; - - constructor(params: { - unconfirmed?: boolean; - hash: long; - date?: int; - device?: string; - location?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewAuthorization'; - this.constructorId = 0x8951abef; - this.subclassOfId = 0x9f89304e; - this._slots = ['unconfirmed', 'hash', 'date', 'device', 'location']; - this.unconfirmed = params.unconfirmed; - this.hash = params.hash; - this.date = params.date; - this.device = params.device; - this.location = params.location; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let unconfirmed = flags & (1 << 0) ? true : false; - let hash = await Primitive.Long.read(_data); - let date = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let device = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let location = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.UpdateNewAuthorization({ - unconfirmed: unconfirmed, - hash: hash, - date: date, - device: device, - location: location, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.unconfirmed ? 1 << 0 : 0; - flags |= this.date !== undefined ? 1 << 0 : 0; - flags |= this.device !== undefined ? 1 << 0 : 0; - flags |= this.location !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.device !== undefined) { - b.write(Primitive.String.write(this.device) as unknown as Buffer); - } - if (this.location !== undefined) { - b.write(Primitive.String.write(this.location) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewEncryptedMessage extends TLObject { - message!: Raw.TypeEncryptedMessage; - qts!: int; - - constructor(params: { message: Raw.TypeEncryptedMessage; qts: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewEncryptedMessage'; - this.constructorId = 0x12bcbd9a; - this.subclassOfId = 0x9f89304e; - this._slots = ['message', 'qts']; - this.message = params.message; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateNewEncryptedMessage({ message: message, qts: qts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEncryptedChatTyping extends TLObject { - chatId!: int; - - constructor(params: { chatId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateEncryptedChatTyping'; - this.constructorId = 0x1710f156; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Int.read(_data); - return new Raw.UpdateEncryptedChatTyping({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Int.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEncryption extends TLObject { - chat!: Raw.TypeEncryptedChat; - date!: int; - - constructor(params: { chat: Raw.TypeEncryptedChat; date: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateEncryption'; - this.constructorId = 0xb4a2e88d; - this.subclassOfId = 0x9f89304e; - this._slots = ['chat', 'date']; - this.chat = params.chat; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chat = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.UpdateEncryption({ chat: chat, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chat !== undefined) { - b.write(this.chat.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEncryptedMessagesRead extends TLObject { - chatId!: int; - maxDate!: int; - date!: int; - - constructor(params: { chatId: int; maxDate: int; date: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateEncryptedMessagesRead'; - this.constructorId = 0x38fe25b7; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId', 'maxDate', 'date']; - this.chatId = params.chatId; - this.maxDate = params.maxDate; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Int.read(_data); - let maxDate = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.UpdateEncryptedMessagesRead({ chatId: chatId, maxDate: maxDate, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Int.write(this.chatId) as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatParticipantAdd extends TLObject { - chatId!: long; - userId!: long; - inviterId!: long; - date!: int; - version!: int; - - constructor(params: { chatId: long; userId: long; inviterId: long; date: int; version: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatParticipantAdd'; - this.constructorId = 0x3dda5451; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId', 'userId', 'inviterId', 'date', 'version']; - this.chatId = params.chatId; - this.userId = params.userId; - this.inviterId = params.inviterId; - this.date = params.date; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let inviterId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.UpdateChatParticipantAdd({ - chatId: chatId, - userId: userId, - inviterId: inviterId, - date: date, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.inviterId !== undefined) { - b.write(Primitive.Long.write(this.inviterId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatParticipantDelete extends TLObject { - chatId!: long; - userId!: long; - version!: int; - - constructor(params: { chatId: long; userId: long; version: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatParticipantDelete'; - this.constructorId = 0xe32f3d77; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId', 'userId', 'version']; - this.chatId = params.chatId; - this.userId = params.userId; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.UpdateChatParticipantDelete({ - chatId: chatId, - userId: userId, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDcOptions extends TLObject { - dcOptions!: Vector; - - constructor(params: { dcOptions: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDcOptions'; - this.constructorId = 0x8e5e9873; - this.subclassOfId = 0x9f89304e; - this._slots = ['dcOptions']; - this.dcOptions = params.dcOptions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let dcOptions = await TLObject.read(_data); - return new Raw.UpdateDcOptions({ dcOptions: dcOptions }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcOptions) { - b.write(Primitive.Vector.write(this.dcOptions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNotifySettings extends TLObject { - peer!: Raw.TypeNotifyPeer; - notifySettings!: Raw.TypePeerNotifySettings; - - constructor(params: { peer: Raw.TypeNotifyPeer; notifySettings: Raw.TypePeerNotifySettings }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNotifySettings'; - this.constructorId = 0xbec268ef; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'notifySettings']; - this.peer = params.peer; - this.notifySettings = params.notifySettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let notifySettings = await TLObject.read(_data); - return new Raw.UpdateNotifySettings({ peer: peer, notifySettings: notifySettings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.notifySettings !== undefined) { - b.write(this.notifySettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateServiceNotification extends TLObject { - popup?: boolean; - invertMedia?: boolean; - inboxDate?: int; - type!: string; - message!: string; - media!: Raw.TypeMessageMedia; - entities!: Vector; - - constructor(params: { - popup?: boolean; - invertMedia?: boolean; - inboxDate?: int; - type: string; - message: string; - media: Raw.TypeMessageMedia; - entities: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateServiceNotification'; - this.constructorId = 0xebe46819; - this.subclassOfId = 0x9f89304e; - this._slots = ['popup', 'invertMedia', 'inboxDate', 'type', 'message', 'media', 'entities']; - this.popup = params.popup; - this.invertMedia = params.invertMedia; - this.inboxDate = params.inboxDate; - this.type = params.type; - this.message = params.message; - this.media = params.media; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let popup = flags & (1 << 0) ? true : false; - let invertMedia = flags & (1 << 2) ? true : false; - let inboxDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let type = await Primitive.String.read(_data); - let message = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - let entities = await TLObject.read(_data); - return new Raw.UpdateServiceNotification({ - popup: popup, - invertMedia: invertMedia, - inboxDate: inboxDate, - type: type, - message: message, - media: media, - entities: entities, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.popup ? 1 << 0 : 0; - flags |= this.invertMedia ? 1 << 2 : 0; - flags |= this.inboxDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.inboxDate !== undefined) { - b.write(Primitive.Int.write(this.inboxDate) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePrivacy extends TLObject { - key!: Raw.TypePrivacyKey; - rules!: Vector; - - constructor(params: { key: Raw.TypePrivacyKey; rules: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePrivacy'; - this.constructorId = 0xee3b272a; - this.subclassOfId = 0x9f89304e; - this._slots = ['key', 'rules']; - this.key = params.key; - this.rules = params.rules; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let key = await TLObject.read(_data); - let rules = await TLObject.read(_data); - return new Raw.UpdatePrivacy({ key: key, rules: rules }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.key !== undefined) { - b.write(this.key.write() as unknown as Buffer); - } - if (this.rules) { - b.write(Primitive.Vector.write(this.rules) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUserPhone extends TLObject { - userId!: long; - phone!: string; - - constructor(params: { userId: long; phone: string }) { - super(); - this.classType = 'types'; - this.className = 'UpdateUserPhone'; - this.constructorId = 0x5492a13; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'phone']; - this.userId = params.userId; - this.phone = params.phone; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let phone = await Primitive.String.read(_data); - return new Raw.UpdateUserPhone({ userId: userId, phone: phone }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadHistoryInbox extends TLObject { - folderId?: int; - peer!: Raw.TypePeer; - maxId!: int; - stillUnreadCount!: int; - pts!: int; - ptsCount!: int; - - constructor(params: { - folderId?: int; - peer: Raw.TypePeer; - maxId: int; - stillUnreadCount: int; - pts: int; - ptsCount: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadHistoryInbox'; - this.constructorId = 0x9c974fdf; - this.subclassOfId = 0x9f89304e; - this._slots = ['folderId', 'peer', 'maxId', 'stillUnreadCount', 'pts', 'ptsCount']; - this.folderId = params.folderId; - this.peer = params.peer; - this.maxId = params.maxId; - this.stillUnreadCount = params.stillUnreadCount; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let folderId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - let stillUnreadCount = await Primitive.Int.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateReadHistoryInbox({ - folderId: folderId, - peer: peer, - maxId: maxId, - stillUnreadCount: stillUnreadCount, - pts: pts, - ptsCount: ptsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.folderId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.stillUnreadCount !== undefined) { - b.write(Primitive.Int.write(this.stillUnreadCount) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadHistoryOutbox extends TLObject { - peer!: Raw.TypePeer; - maxId!: int; - pts!: int; - ptsCount!: int; - - constructor(params: { peer: Raw.TypePeer; maxId: int; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadHistoryOutbox'; - this.constructorId = 0x2f2f21bf; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'maxId', 'pts', 'ptsCount']; - this.peer = params.peer; - this.maxId = params.maxId; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateReadHistoryOutbox({ - peer: peer, - maxId: maxId, - pts: pts, - ptsCount: ptsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateWebPage extends TLObject { - webpage!: Raw.TypeWebPage; - pts!: int; - ptsCount!: int; - - constructor(params: { webpage: Raw.TypeWebPage; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateWebPage'; - this.constructorId = 0x7f891213; - this.subclassOfId = 0x9f89304e; - this._slots = ['webpage', 'pts', 'ptsCount']; - this.webpage = params.webpage; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let webpage = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateWebPage({ webpage: webpage, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.webpage !== undefined) { - b.write(this.webpage.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadMessagesContents extends TLObject { - messages!: Vector; - pts!: int; - ptsCount!: int; - date?: int; - - constructor(params: { messages: Vector; pts: int; ptsCount: int; date?: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadMessagesContents'; - this.constructorId = 0xf8227181; - this.subclassOfId = 0x9f89304e; - this._slots = ['messages', 'pts', 'ptsCount', 'date']; - this.messages = params.messages; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - let date = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdateReadMessagesContents({ - messages: messages, - pts: pts, - ptsCount: ptsCount, - date: date, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.date !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelTooLong extends TLObject { - channelId!: long; - pts?: int; - - constructor(params: { channelId: long; pts?: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelTooLong'; - this.constructorId = 0x108d941f; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'pts']; - this.channelId = params.channelId; - this.pts = params.pts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - let pts = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdateChannelTooLong({ channelId: channelId, pts: pts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pts !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannel extends TLObject { - channelId!: long; - - constructor(params: { channelId: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannel'; - this.constructorId = 0x635b4c09; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId']; - this.channelId = params.channelId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - return new Raw.UpdateChannel({ channelId: channelId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewChannelMessage extends TLObject { - message!: Raw.TypeMessage; - pts!: int; - ptsCount!: int; - - constructor(params: { message: Raw.TypeMessage; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewChannelMessage'; - this.constructorId = 0x62ba04d9; - this.subclassOfId = 0x9f89304e; - this._slots = ['message', 'pts', 'ptsCount']; - this.message = params.message; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateNewChannelMessage({ message: message, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadChannelInbox extends TLObject { - folderId?: int; - channelId!: long; - maxId!: int; - stillUnreadCount!: int; - pts!: int; - - constructor(params: { - folderId?: int; - channelId: long; - maxId: int; - stillUnreadCount: int; - pts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadChannelInbox'; - this.constructorId = 0x922e6e10; - this.subclassOfId = 0x9f89304e; - this._slots = ['folderId', 'channelId', 'maxId', 'stillUnreadCount', 'pts']; - this.folderId = params.folderId; - this.channelId = params.channelId; - this.maxId = params.maxId; - this.stillUnreadCount = params.stillUnreadCount; - this.pts = params.pts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let folderId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let channelId = await Primitive.Long.read(_data); - let maxId = await Primitive.Int.read(_data); - let stillUnreadCount = await Primitive.Int.read(_data); - let pts = await Primitive.Int.read(_data); - return new Raw.UpdateReadChannelInbox({ - folderId: folderId, - channelId: channelId, - maxId: maxId, - stillUnreadCount: stillUnreadCount, - pts: pts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.folderId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.stillUnreadCount !== undefined) { - b.write(Primitive.Int.write(this.stillUnreadCount) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDeleteChannelMessages extends TLObject { - channelId!: long; - messages!: Vector; - pts!: int; - ptsCount!: int; - - constructor(params: { channelId: long; messages: Vector; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDeleteChannelMessages'; - this.constructorId = 0xc32d5b12; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'messages', 'pts', 'ptsCount']; - this.channelId = params.channelId; - this.messages = params.messages; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateDeleteChannelMessages({ - channelId: channelId, - messages: messages, - pts: pts, - ptsCount: ptsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelMessageViews extends TLObject { - channelId!: long; - id!: int; - views!: int; - - constructor(params: { channelId: long; id: int; views: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelMessageViews'; - this.constructorId = 0xf226ac08; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'id', 'views']; - this.channelId = params.channelId; - this.id = params.id; - this.views = params.views; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let id = await Primitive.Int.read(_data); - let views = await Primitive.Int.read(_data); - return new Raw.UpdateChannelMessageViews({ channelId: channelId, id: id, views: views }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatParticipantAdmin extends TLObject { - chatId!: long; - userId!: long; - isAdmin!: Bool; - version!: int; - - constructor(params: { chatId: long; userId: long; isAdmin: Bool; version: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatParticipantAdmin'; - this.constructorId = 0xd7ca61a2; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId', 'userId', 'isAdmin', 'version']; - this.chatId = params.chatId; - this.userId = params.userId; - this.isAdmin = params.isAdmin; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let isAdmin = await Primitive.Bool.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.UpdateChatParticipantAdmin({ - chatId: chatId, - userId: userId, - isAdmin: isAdmin, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.isAdmin !== undefined) { - b.write(Primitive.Bool.write(this.isAdmin) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewStickerSet extends TLObject { - stickerset!: Raw.messages.TypeStickerSet; - - constructor(params: { stickerset: Raw.messages.TypeStickerSet }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewStickerSet'; - this.constructorId = 0x688a30aa; - this.subclassOfId = 0x9f89304e; - this._slots = ['stickerset']; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - return new Raw.UpdateNewStickerSet({ stickerset: stickerset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStickerSetsOrder extends TLObject { - masks?: boolean; - emojis?: boolean; - order!: Vector; - - constructor(params: { masks?: boolean; emojis?: boolean; order: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStickerSetsOrder'; - this.constructorId = 0xbb2d201; - this.subclassOfId = 0x9f89304e; - this._slots = ['masks', 'emojis', 'order']; - this.masks = params.masks; - this.emojis = params.emojis; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let masks = flags & (1 << 0) ? true : false; - let emojis = flags & (1 << 1) ? true : false; - let order = await TLObject.read(_data, Primitive.Long); - return new Raw.UpdateStickerSetsOrder({ masks: masks, emojis: emojis, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.masks ? 1 << 0 : 0; - flags |= this.emojis ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStickerSets extends TLObject { - masks?: boolean; - emojis?: boolean; - - constructor(params: { masks?: boolean; emojis?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStickerSets'; - this.constructorId = 0x31c24808; - this.subclassOfId = 0x9f89304e; - this._slots = ['masks', 'emojis']; - this.masks = params.masks; - this.emojis = params.emojis; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let masks = flags & (1 << 0) ? true : false; - let emojis = flags & (1 << 1) ? true : false; - return new Raw.UpdateStickerSets({ masks: masks, emojis: emojis }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.masks ? 1 << 0 : 0; - flags |= this.emojis ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSavedGifs extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateSavedGifs'; - this.constructorId = 0x9375341e; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.UpdateSavedGifs(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotInlineQuery extends TLObject { - queryId!: long; - userId!: long; - query!: string; - geo?: Raw.TypeGeoPoint; - peerType?: Raw.TypeInlineQueryPeerType; - offset!: string; - - constructor(params: { - queryId: long; - userId: long; - query: string; - geo?: Raw.TypeGeoPoint; - peerType?: Raw.TypeInlineQueryPeerType; - offset: string; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotInlineQuery'; - this.constructorId = 0x496f379c; - this.subclassOfId = 0x9f89304e; - this._slots = ['queryId', 'userId', 'query', 'geo', 'peerType', 'offset']; - this.queryId = params.queryId; - this.userId = params.userId; - this.query = params.query; - this.geo = params.geo; - this.peerType = params.peerType; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let query = await Primitive.String.read(_data); - let geo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let peerType = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let offset = await Primitive.String.read(_data); - return new Raw.UpdateBotInlineQuery({ - queryId: queryId, - userId: userId, - query: query, - geo: geo, - peerType: peerType, - offset: offset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.geo !== undefined ? 1 << 0 : 0; - flags |= this.peerType !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(Primitive.String.write(this.query) as unknown as Buffer); - } - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.peerType !== undefined) { - b.write(this.peerType.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotInlineSend extends TLObject { - userId!: long; - query!: string; - geo?: Raw.TypeGeoPoint; - id!: string; - msgId?: Raw.TypeInputBotInlineMessageID; - - constructor(params: { - userId: long; - query: string; - geo?: Raw.TypeGeoPoint; - id: string; - msgId?: Raw.TypeInputBotInlineMessageID; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotInlineSend'; - this.constructorId = 0x12f12a07; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'query', 'geo', 'id', 'msgId']; - this.userId = params.userId; - this.query = params.query; - this.geo = params.geo; - this.id = params.id; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let query = await Primitive.String.read(_data); - let geo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let id = await Primitive.String.read(_data); - let msgId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.UpdateBotInlineSend({ - userId: userId, - query: query, - geo: geo, - id: id, - msgId: msgId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.geo !== undefined ? 1 << 0 : 0; - flags |= this.msgId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(Primitive.String.write(this.query) as unknown as Buffer); - } - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(this.msgId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEditChannelMessage extends TLObject { - message!: Raw.TypeMessage; - pts!: int; - ptsCount!: int; - - constructor(params: { message: Raw.TypeMessage; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateEditChannelMessage'; - this.constructorId = 0x1b3f4df7; - this.subclassOfId = 0x9f89304e; - this._slots = ['message', 'pts', 'ptsCount']; - this.message = params.message; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateEditChannelMessage({ message: message, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotCallbackQuery extends TLObject { - queryId!: long; - userId!: long; - peer!: Raw.TypePeer; - msgId!: int; - chatInstance!: long; - data?: bytes; - gameShortName?: string; - - constructor(params: { - queryId: long; - userId: long; - peer: Raw.TypePeer; - msgId: int; - chatInstance: long; - data?: bytes; - gameShortName?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotCallbackQuery'; - this.constructorId = 0xb9cfc48d; - this.subclassOfId = 0x9f89304e; - this._slots = ['queryId', 'userId', 'peer', 'msgId', 'chatInstance', 'data', 'gameShortName']; - this.queryId = params.queryId; - this.userId = params.userId; - this.peer = params.peer; - this.msgId = params.msgId; - this.chatInstance = params.chatInstance; - this.data = params.data; - this.gameShortName = params.gameShortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let chatInstance = await Primitive.Long.read(_data); - let data = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let gameShortName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.UpdateBotCallbackQuery({ - queryId: queryId, - userId: userId, - peer: peer, - msgId: msgId, - chatInstance: chatInstance, - data: data, - gameShortName: gameShortName, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.data !== undefined ? 1 << 0 : 0; - flags |= this.gameShortName !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.chatInstance !== undefined) { - b.write(Primitive.Long.write(this.chatInstance) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - if (this.gameShortName !== undefined) { - b.write(Primitive.String.write(this.gameShortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEditMessage extends TLObject { - message!: Raw.TypeMessage; - pts!: int; - ptsCount!: int; - - constructor(params: { message: Raw.TypeMessage; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateEditMessage'; - this.constructorId = 0xe40370a3; - this.subclassOfId = 0x9f89304e; - this._slots = ['message', 'pts', 'ptsCount']; - this.message = params.message; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateEditMessage({ message: message, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateInlineBotCallbackQuery extends TLObject { - queryId!: long; - userId!: long; - msgId!: Raw.TypeInputBotInlineMessageID; - chatInstance!: long; - data?: bytes; - gameShortName?: string; - - constructor(params: { - queryId: long; - userId: long; - msgId: Raw.TypeInputBotInlineMessageID; - chatInstance: long; - data?: bytes; - gameShortName?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateInlineBotCallbackQuery'; - this.constructorId = 0x691e9052; - this.subclassOfId = 0x9f89304e; - this._slots = ['queryId', 'userId', 'msgId', 'chatInstance', 'data', 'gameShortName']; - this.queryId = params.queryId; - this.userId = params.userId; - this.msgId = params.msgId; - this.chatInstance = params.chatInstance; - this.data = params.data; - this.gameShortName = params.gameShortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let msgId = await TLObject.read(_data); - let chatInstance = await Primitive.Long.read(_data); - let data = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let gameShortName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.UpdateInlineBotCallbackQuery({ - queryId: queryId, - userId: userId, - msgId: msgId, - chatInstance: chatInstance, - data: data, - gameShortName: gameShortName, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.data !== undefined ? 1 << 0 : 0; - flags |= this.gameShortName !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(this.msgId.write() as unknown as Buffer); - } - if (this.chatInstance !== undefined) { - b.write(Primitive.Long.write(this.chatInstance) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - if (this.gameShortName !== undefined) { - b.write(Primitive.String.write(this.gameShortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadChannelOutbox extends TLObject { - channelId!: long; - maxId!: int; - - constructor(params: { channelId: long; maxId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadChannelOutbox'; - this.constructorId = 0xb75f99a9; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'maxId']; - this.channelId = params.channelId; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.UpdateReadChannelOutbox({ channelId: channelId, maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDraftMessage extends TLObject { - peer!: Raw.TypePeer; - topMsgId?: int; - savedPeerId?: Raw.TypePeer; - draft!: Raw.TypeDraftMessage; - - constructor(params: { - peer: Raw.TypePeer; - topMsgId?: int; - savedPeerId?: Raw.TypePeer; - draft: Raw.TypeDraftMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDraftMessage'; - this.constructorId = 0xedfc111e; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'topMsgId', 'savedPeerId', 'draft']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - this.savedPeerId = params.savedPeerId; - this.draft = params.draft; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let draft = await TLObject.read(_data); - return new Raw.UpdateDraftMessage({ - peer: peer, - topMsgId: topMsgId, - savedPeerId: savedPeerId, - draft: draft, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.draft !== undefined) { - b.write(this.draft.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadFeaturedStickers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateReadFeaturedStickers'; - this.constructorId = 0x571d2742; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateReadFeaturedStickers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateRecentStickers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateRecentStickers'; - this.constructorId = 0x9a422c20; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateRecentStickers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateConfig extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateConfig'; - this.constructorId = 0xa229dd06; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.UpdateConfig(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePtsChanged extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdatePtsChanged'; - this.constructorId = 0x3354678f; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdatePtsChanged(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelWebPage extends TLObject { - channelId!: long; - webpage!: Raw.TypeWebPage; - pts!: int; - ptsCount!: int; - - constructor(params: { channelId: long; webpage: Raw.TypeWebPage; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelWebPage'; - this.constructorId = 0x2f2ba99f; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'webpage', 'pts', 'ptsCount']; - this.channelId = params.channelId; - this.webpage = params.webpage; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let webpage = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateChannelWebPage({ - channelId: channelId, - webpage: webpage, - pts: pts, - ptsCount: ptsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.webpage !== undefined) { - b.write(this.webpage.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogPinned extends TLObject { - pinned?: boolean; - folderId?: int; - peer!: Raw.TypeDialogPeer; - - constructor(params: { pinned?: boolean; folderId?: int; peer: Raw.TypeDialogPeer }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDialogPinned'; - this.constructorId = 0x6e6fe51c; - this.subclassOfId = 0x9f89304e; - this._slots = ['pinned', 'folderId', 'peer']; - this.pinned = params.pinned; - this.folderId = params.folderId; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let folderId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let peer = await TLObject.read(_data); - return new Raw.UpdateDialogPinned({ pinned: pinned, folderId: folderId, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - flags |= this.folderId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePinnedDialogs extends TLObject { - folderId?: int; - order?: Vector; - - constructor(params: { folderId?: int; order?: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePinnedDialogs'; - this.constructorId = 0xfa0f3ca2; - this.subclassOfId = 0x9f89304e; - this._slots = ['folderId', 'order']; - this.folderId = params.folderId; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let folderId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let order = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.UpdatePinnedDialogs({ folderId: folderId, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.folderId !== undefined ? 1 << 1 : 0; - flags |= this.order ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotWebhookJSON extends TLObject { - data!: Raw.TypeDataJSON; - - constructor(params: { data: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotWebhookJSON'; - this.constructorId = 0x8317c0c3; - this.subclassOfId = 0x9f89304e; - this._slots = ['data']; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let data = await TLObject.read(_data); - return new Raw.UpdateBotWebhookJSON({ data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotWebhookJSONQuery extends TLObject { - queryId!: long; - data!: Raw.TypeDataJSON; - timeout!: int; - - constructor(params: { queryId: long; data: Raw.TypeDataJSON; timeout: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotWebhookJSONQuery'; - this.constructorId = 0x9b9240a6; - this.subclassOfId = 0x9f89304e; - this._slots = ['queryId', 'data', 'timeout']; - this.queryId = params.queryId; - this.data = params.data; - this.timeout = params.timeout; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let queryId = await Primitive.Long.read(_data); - let data = await TLObject.read(_data); - let timeout = await Primitive.Int.read(_data); - return new Raw.UpdateBotWebhookJSONQuery({ queryId: queryId, data: data, timeout: timeout }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - if (this.timeout !== undefined) { - b.write(Primitive.Int.write(this.timeout) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotShippingQuery extends TLObject { - queryId!: long; - userId!: long; - payload!: bytes; - shippingAddress!: Raw.TypePostAddress; - - constructor(params: { - queryId: long; - userId: long; - payload: bytes; - shippingAddress: Raw.TypePostAddress; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotShippingQuery'; - this.constructorId = 0xb5aefd7d; - this.subclassOfId = 0x9f89304e; - this._slots = ['queryId', 'userId', 'payload', 'shippingAddress']; - this.queryId = params.queryId; - this.userId = params.userId; - this.payload = params.payload; - this.shippingAddress = params.shippingAddress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let queryId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let payload = await Primitive.Bytes.read(_data); - let shippingAddress = await TLObject.read(_data); - return new Raw.UpdateBotShippingQuery({ - queryId: queryId, - userId: userId, - payload: payload, - shippingAddress: shippingAddress, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.Bytes.write(this.payload) as unknown as Buffer); - } - if (this.shippingAddress !== undefined) { - b.write(this.shippingAddress.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotPrecheckoutQuery extends TLObject { - queryId!: long; - userId!: long; - payload!: bytes; - info?: Raw.TypePaymentRequestedInfo; - shippingOptionId?: string; - currency!: string; - totalAmount!: long; - - constructor(params: { - queryId: long; - userId: long; - payload: bytes; - info?: Raw.TypePaymentRequestedInfo; - shippingOptionId?: string; - currency: string; - totalAmount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotPrecheckoutQuery'; - this.constructorId = 0x8caa9a96; - this.subclassOfId = 0x9f89304e; - this._slots = [ - 'queryId', - 'userId', - 'payload', - 'info', - 'shippingOptionId', - 'currency', - 'totalAmount', - ]; - this.queryId = params.queryId; - this.userId = params.userId; - this.payload = params.payload; - this.info = params.info; - this.shippingOptionId = params.shippingOptionId; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let payload = await Primitive.Bytes.read(_data); - let info = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let shippingOptionId = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - return new Raw.UpdateBotPrecheckoutQuery({ - queryId: queryId, - userId: userId, - payload: payload, - info: info, - shippingOptionId: shippingOptionId, - currency: currency, - totalAmount: totalAmount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.info !== undefined ? 1 << 0 : 0; - flags |= this.shippingOptionId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.Bytes.write(this.payload) as unknown as Buffer); - } - if (this.info !== undefined) { - b.write(this.info.write() as unknown as Buffer); - } - if (this.shippingOptionId !== undefined) { - b.write(Primitive.String.write(this.shippingOptionId) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePhoneCall extends TLObject { - phoneCall!: Raw.TypePhoneCall; - - constructor(params: { phoneCall: Raw.TypePhoneCall }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePhoneCall'; - this.constructorId = 0xab0f6b1e; - this.subclassOfId = 0x9f89304e; - this._slots = ['phoneCall']; - this.phoneCall = params.phoneCall; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let phoneCall = await TLObject.read(_data); - return new Raw.UpdatePhoneCall({ phoneCall: phoneCall }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneCall !== undefined) { - b.write(this.phoneCall.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateLangPackTooLong extends TLObject { - langCode!: string; - - constructor(params: { langCode: string }) { - super(); - this.classType = 'types'; - this.className = 'UpdateLangPackTooLong'; - this.constructorId = 0x46560264; - this.subclassOfId = 0x9f89304e; - this._slots = ['langCode']; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - return new Raw.UpdateLangPackTooLong({ langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateLangPack extends TLObject { - difference!: Raw.TypeLangPackDifference; - - constructor(params: { difference: Raw.TypeLangPackDifference }) { - super(); - this.classType = 'types'; - this.className = 'UpdateLangPack'; - this.constructorId = 0x56022f4d; - this.subclassOfId = 0x9f89304e; - this._slots = ['difference']; - this.difference = params.difference; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let difference = await TLObject.read(_data); - return new Raw.UpdateLangPack({ difference: difference }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.difference !== undefined) { - b.write(this.difference.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateFavedStickers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateFavedStickers'; - this.constructorId = 0xe511996d; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateFavedStickers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelReadMessagesContents extends TLObject { - channelId!: long; - topMsgId?: int; - savedPeerId?: Raw.TypePeer; - messages!: Vector; - - constructor(params: { - channelId: long; - topMsgId?: int; - savedPeerId?: Raw.TypePeer; - messages: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelReadMessagesContents'; - this.constructorId = 0x25f324f7; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'topMsgId', 'savedPeerId', 'messages']; - this.channelId = params.channelId; - this.topMsgId = params.topMsgId; - this.savedPeerId = params.savedPeerId; - this.messages = params.messages; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let messages = await TLObject.read(_data, Primitive.Int); - return new Raw.UpdateChannelReadMessagesContents({ - channelId: channelId, - topMsgId: topMsgId, - savedPeerId: savedPeerId, - messages: messages, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateContactsReset extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateContactsReset'; - this.constructorId = 0x7084a7be; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateContactsReset(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelAvailableMessages extends TLObject { - channelId!: long; - availableMinId!: int; - - constructor(params: { channelId: long; availableMinId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelAvailableMessages'; - this.constructorId = 0xb23fc698; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'availableMinId']; - this.channelId = params.channelId; - this.availableMinId = params.availableMinId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let availableMinId = await Primitive.Int.read(_data); - return new Raw.UpdateChannelAvailableMessages({ - channelId: channelId, - availableMinId: availableMinId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.availableMinId !== undefined) { - b.write(Primitive.Int.write(this.availableMinId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogUnreadMark extends TLObject { - unread?: boolean; - peer!: Raw.TypeDialogPeer; - savedPeerId?: Raw.TypePeer; - - constructor(params: { - unread?: boolean; - peer: Raw.TypeDialogPeer; - savedPeerId?: Raw.TypePeer; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDialogUnreadMark'; - this.constructorId = 0xb658f23e; - this.subclassOfId = 0x9f89304e; - this._slots = ['unread', 'peer', 'savedPeerId']; - this.unread = params.unread; - this.peer = params.peer; - this.savedPeerId = params.savedPeerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let unread = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.UpdateDialogUnreadMark({ - unread: unread, - peer: peer, - savedPeerId: savedPeerId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.unread ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMessagePoll extends TLObject { - pollId!: long; - poll?: Raw.TypePoll; - results!: Raw.TypePollResults; - - constructor(params: { pollId: long; poll?: Raw.TypePoll; results: Raw.TypePollResults }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMessagePoll'; - this.constructorId = 0xaca1657b; - this.subclassOfId = 0x9f89304e; - this._slots = ['pollId', 'poll', 'results']; - this.pollId = params.pollId; - this.poll = params.poll; - this.results = params.results; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pollId = await Primitive.Long.read(_data); - let poll = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let results = await TLObject.read(_data); - return new Raw.UpdateMessagePoll({ pollId: pollId, poll: poll, results: results }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.poll !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.pollId !== undefined) { - b.write(Primitive.Long.write(this.pollId) as unknown as Buffer); - } - if (this.poll !== undefined) { - b.write(this.poll.write() as unknown as Buffer); - } - if (this.results !== undefined) { - b.write(this.results.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatDefaultBannedRights extends TLObject { - peer!: Raw.TypePeer; - defaultBannedRights!: Raw.TypeChatBannedRights; - version!: int; - - constructor(params: { - peer: Raw.TypePeer; - defaultBannedRights: Raw.TypeChatBannedRights; - version: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatDefaultBannedRights'; - this.constructorId = 0x54c01850; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'defaultBannedRights', 'version']; - this.peer = params.peer; - this.defaultBannedRights = params.defaultBannedRights; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let defaultBannedRights = await TLObject.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.UpdateChatDefaultBannedRights({ - peer: peer, - defaultBannedRights: defaultBannedRights, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.defaultBannedRights !== undefined) { - b.write(this.defaultBannedRights.write() as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateFolderPeers extends TLObject { - folderPeers!: Vector; - pts!: int; - ptsCount!: int; - - constructor(params: { folderPeers: Vector; pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateFolderPeers'; - this.constructorId = 0x19360dc0; - this.subclassOfId = 0x9f89304e; - this._slots = ['folderPeers', 'pts', 'ptsCount']; - this.folderPeers = params.folderPeers; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let folderPeers = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdateFolderPeers({ folderPeers: folderPeers, pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.folderPeers) { - b.write(Primitive.Vector.write(this.folderPeers) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePeerSettings extends TLObject { - peer!: Raw.TypePeer; - settings!: Raw.TypePeerSettings; - - constructor(params: { peer: Raw.TypePeer; settings: Raw.TypePeerSettings }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePeerSettings'; - this.constructorId = 0x6a7e7366; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'settings']; - this.peer = params.peer; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let settings = await TLObject.read(_data); - return new Raw.UpdatePeerSettings({ peer: peer, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePeerLocated extends TLObject { - peers!: Vector; - - constructor(params: { peers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePeerLocated'; - this.constructorId = 0xb4afcfb0; - this.subclassOfId = 0x9f89304e; - this._slots = ['peers']; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peers = await TLObject.read(_data); - return new Raw.UpdatePeerLocated({ peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewScheduledMessage extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewScheduledMessage'; - this.constructorId = 0x39a51dfb; - this.subclassOfId = 0x9f89304e; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.UpdateNewScheduledMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDeleteScheduledMessages extends TLObject { - peer!: Raw.TypePeer; - messages!: Vector; - sentMessages?: Vector; - - constructor(params: { peer: Raw.TypePeer; messages: Vector; sentMessages?: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDeleteScheduledMessages'; - this.constructorId = 0xf2a71983; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'messages', 'sentMessages']; - this.peer = params.peer; - this.messages = params.messages; - this.sentMessages = params.sentMessages; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - let sentMessages = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - return new Raw.UpdateDeleteScheduledMessages({ - peer: peer, - messages: messages, - sentMessages: sentMessages, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sentMessages ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.sentMessages) { - b.write(Primitive.Vector.write(this.sentMessages, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateTheme extends TLObject { - theme!: Raw.TypeTheme; - - constructor(params: { theme: Raw.TypeTheme }) { - super(); - this.classType = 'types'; - this.className = 'UpdateTheme'; - this.constructorId = 0x8216fba3; - this.subclassOfId = 0x9f89304e; - this._slots = ['theme']; - this.theme = params.theme; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let theme = await TLObject.read(_data); - return new Raw.UpdateTheme({ theme: theme }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.theme !== undefined) { - b.write(this.theme.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateGeoLiveViewed extends TLObject { - peer!: Raw.TypePeer; - msgId!: int; - - constructor(params: { peer: Raw.TypePeer; msgId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateGeoLiveViewed'; - this.constructorId = 0x871fb939; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.UpdateGeoLiveViewed({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateLoginToken extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateLoginToken'; - this.constructorId = 0x564fe691; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateLoginToken(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMessagePollVote extends TLObject { - pollId!: long; - peer!: Raw.TypePeer; - options!: Vector; - qts!: int; - - constructor(params: { pollId: long; peer: Raw.TypePeer; options: Vector; qts: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMessagePollVote'; - this.constructorId = 0x24f40e77; - this.subclassOfId = 0x9f89304e; - this._slots = ['pollId', 'peer', 'options', 'qts']; - this.pollId = params.pollId; - this.peer = params.peer; - this.options = params.options; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pollId = await Primitive.Long.read(_data); - let peer = await TLObject.read(_data); - let options = await TLObject.read(_data, Primitive.Bytes); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateMessagePollVote({ - pollId: pollId, - peer: peer, - options: options, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pollId !== undefined) { - b.write(Primitive.Long.write(this.pollId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.options) { - b.write(Primitive.Vector.write(this.options, Primitive.Bytes) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogFilter extends TLObject { - id!: int; - filter?: Raw.TypeDialogFilter; - - constructor(params: { id: int; filter?: Raw.TypeDialogFilter }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDialogFilter'; - this.constructorId = 0x26ffde7d; - this.subclassOfId = 0x9f89304e; - this._slots = ['id', 'filter']; - this.id = params.id; - this.filter = params.filter; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Int.read(_data); - let filter = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.UpdateDialogFilter({ id: id, filter: filter }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.filter !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogFilterOrder extends TLObject { - order!: Vector; - - constructor(params: { order: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDialogFilterOrder'; - this.constructorId = 0xa5d72105; - this.subclassOfId = 0x9f89304e; - this._slots = ['order']; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let order = await TLObject.read(_data, Primitive.Int); - return new Raw.UpdateDialogFilterOrder({ order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogFilters extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateDialogFilters'; - this.constructorId = 0x3504914f; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateDialogFilters(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePhoneCallSignalingData extends TLObject { - phoneCallId!: long; - data!: bytes; - - constructor(params: { phoneCallId: long; data: bytes }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePhoneCallSignalingData'; - this.constructorId = 0x2661bf09; - this.subclassOfId = 0x9f89304e; - this._slots = ['phoneCallId', 'data']; - this.phoneCallId = params.phoneCallId; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneCallId = await Primitive.Long.read(_data); - let data = await Primitive.Bytes.read(_data); - return new Raw.UpdatePhoneCallSignalingData({ phoneCallId: phoneCallId, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneCallId !== undefined) { - b.write(Primitive.Long.write(this.phoneCallId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelMessageForwards extends TLObject { - channelId!: long; - id!: int; - forwards!: int; - - constructor(params: { channelId: long; id: int; forwards: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelMessageForwards'; - this.constructorId = 0xd29a27f4; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'id', 'forwards']; - this.channelId = params.channelId; - this.id = params.id; - this.forwards = params.forwards; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let id = await Primitive.Int.read(_data); - let forwards = await Primitive.Int.read(_data); - return new Raw.UpdateChannelMessageForwards({ - channelId: channelId, - id: id, - forwards: forwards, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.forwards !== undefined) { - b.write(Primitive.Int.write(this.forwards) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadChannelDiscussionInbox extends TLObject { - channelId!: long; - topMsgId!: int; - readMaxId!: int; - broadcastId?: long; - broadcastPost?: int; - - constructor(params: { - channelId: long; - topMsgId: int; - readMaxId: int; - broadcastId?: long; - broadcastPost?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadChannelDiscussionInbox'; - this.constructorId = 0xd6b19546; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'topMsgId', 'readMaxId', 'broadcastId', 'broadcastPost']; - this.channelId = params.channelId; - this.topMsgId = params.topMsgId; - this.readMaxId = params.readMaxId; - this.broadcastId = params.broadcastId; - this.broadcastPost = params.broadcastPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - let topMsgId = await Primitive.Int.read(_data); - let readMaxId = await Primitive.Int.read(_data); - let broadcastId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let broadcastPost = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdateReadChannelDiscussionInbox({ - channelId: channelId, - topMsgId: topMsgId, - readMaxId: readMaxId, - broadcastId: broadcastId, - broadcastPost: broadcastPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.broadcastId !== undefined ? 1 << 0 : 0; - flags |= this.broadcastPost !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.readMaxId !== undefined) { - b.write(Primitive.Int.write(this.readMaxId) as unknown as Buffer); - } - if (this.broadcastId !== undefined) { - b.write(Primitive.Long.write(this.broadcastId) as unknown as Buffer); - } - if (this.broadcastPost !== undefined) { - b.write(Primitive.Int.write(this.broadcastPost) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadChannelDiscussionOutbox extends TLObject { - channelId!: long; - topMsgId!: int; - readMaxId!: int; - - constructor(params: { channelId: long; topMsgId: int; readMaxId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadChannelDiscussionOutbox'; - this.constructorId = 0x695c9e7c; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'topMsgId', 'readMaxId']; - this.channelId = params.channelId; - this.topMsgId = params.topMsgId; - this.readMaxId = params.readMaxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let topMsgId = await Primitive.Int.read(_data); - let readMaxId = await Primitive.Int.read(_data); - return new Raw.UpdateReadChannelDiscussionOutbox({ - channelId: channelId, - topMsgId: topMsgId, - readMaxId: readMaxId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.readMaxId !== undefined) { - b.write(Primitive.Int.write(this.readMaxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePeerBlocked extends TLObject { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - peerId!: Raw.TypePeer; - - constructor(params: { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - peerId: Raw.TypePeer; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePeerBlocked'; - this.constructorId = 0xebe07752; - this.subclassOfId = 0x9f89304e; - this._slots = ['blocked', 'blockedMyStoriesFrom', 'peerId']; - this.blocked = params.blocked; - this.blockedMyStoriesFrom = params.blockedMyStoriesFrom; - this.peerId = params.peerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let blocked = flags & (1 << 0) ? true : false; - let blockedMyStoriesFrom = flags & (1 << 1) ? true : false; - let peerId = await TLObject.read(_data); - return new Raw.UpdatePeerBlocked({ - blocked: blocked, - blockedMyStoriesFrom: blockedMyStoriesFrom, - peerId: peerId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.blocked ? 1 << 0 : 0; - flags |= this.blockedMyStoriesFrom ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelUserTyping extends TLObject { - channelId!: long; - topMsgId?: int; - fromId!: Raw.TypePeer; - action!: Raw.TypeSendMessageAction; - - constructor(params: { - channelId: long; - topMsgId?: int; - fromId: Raw.TypePeer; - action: Raw.TypeSendMessageAction; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelUserTyping'; - this.constructorId = 0x8c88c923; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'topMsgId', 'fromId', 'action']; - this.channelId = params.channelId; - this.topMsgId = params.topMsgId; - this.fromId = params.fromId; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let fromId = await TLObject.read(_data); - let action = await TLObject.read(_data); - return new Raw.UpdateChannelUserTyping({ - channelId: channelId, - topMsgId: topMsgId, - fromId: fromId, - action: action, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePinnedMessages extends TLObject { - pinned?: boolean; - peer!: Raw.TypePeer; - messages!: Vector; - pts!: int; - ptsCount!: int; - - constructor(params: { - pinned?: boolean; - peer: Raw.TypePeer; - messages: Vector; - pts: int; - ptsCount: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePinnedMessages'; - this.constructorId = 0xed85eab5; - this.subclassOfId = 0x9f89304e; - this._slots = ['pinned', 'peer', 'messages', 'pts', 'ptsCount']; - this.pinned = params.pinned; - this.peer = params.peer; - this.messages = params.messages; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdatePinnedMessages({ - pinned: pinned, - peer: peer, - messages: messages, - pts: pts, - ptsCount: ptsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePinnedChannelMessages extends TLObject { - pinned?: boolean; - channelId!: long; - messages!: Vector; - pts!: int; - ptsCount!: int; - - constructor(params: { - pinned?: boolean; - channelId: long; - messages: Vector; - pts: int; - ptsCount: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePinnedChannelMessages'; - this.constructorId = 0x5bb98608; - this.subclassOfId = 0x9f89304e; - this._slots = ['pinned', 'channelId', 'messages', 'pts', 'ptsCount']; - this.pinned = params.pinned; - this.channelId = params.channelId; - this.messages = params.messages; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let channelId = await Primitive.Long.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.UpdatePinnedChannelMessages({ - pinned: pinned, - channelId: channelId, - messages: messages, - pts: pts, - ptsCount: ptsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChat extends TLObject { - chatId!: long; - - constructor(params: { chatId: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChat'; - this.constructorId = 0xf89a6a4e; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - return new Raw.UpdateChat({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateGroupCallParticipants extends TLObject { - call!: Raw.TypeInputGroupCall; - participants!: Vector; - version!: int; - - constructor(params: { - call: Raw.TypeInputGroupCall; - participants: Vector; - version: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateGroupCallParticipants'; - this.constructorId = 0xf2ebdb4e; - this.subclassOfId = 0x9f89304e; - this._slots = ['call', 'participants', 'version']; - this.call = params.call; - this.participants = params.participants; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let participants = await TLObject.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.UpdateGroupCallParticipants({ - call: call, - participants: participants, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.participants) { - b.write(Primitive.Vector.write(this.participants) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateGroupCall extends TLObject { - chatId?: long; - call!: Raw.TypeGroupCall; - - constructor(params: { chatId?: long; call: Raw.TypeGroupCall }) { - super(); - this.classType = 'types'; - this.className = 'UpdateGroupCall'; - this.constructorId = 0x97d64341; - this.subclassOfId = 0x9f89304e; - this._slots = ['chatId', 'call']; - this.chatId = params.chatId; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chatId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let call = await TLObject.read(_data); - return new Raw.UpdateGroupCall({ chatId: chatId, call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.chatId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePeerHistoryTTL extends TLObject { - peer!: Raw.TypePeer; - ttlPeriod?: int; - - constructor(params: { peer: Raw.TypePeer; ttlPeriod?: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePeerHistoryTTL'; - this.constructorId = 0xbb9bb9a5; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'ttlPeriod']; - this.peer = params.peer; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let ttlPeriod = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdatePeerHistoryTTL({ peer: peer, ttlPeriod: ttlPeriod }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ttlPeriod !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChatParticipant extends TLObject { - chatId!: long; - date!: int; - actorId!: long; - userId!: long; - prevParticipant?: Raw.TypeChatParticipant; - newParticipant?: Raw.TypeChatParticipant; - invite?: Raw.TypeExportedChatInvite; - qts!: int; - - constructor(params: { - chatId: long; - date: int; - actorId: long; - userId: long; - prevParticipant?: Raw.TypeChatParticipant; - newParticipant?: Raw.TypeChatParticipant; - invite?: Raw.TypeExportedChatInvite; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChatParticipant'; - this.constructorId = 0xd087663a; - this.subclassOfId = 0x9f89304e; - this._slots = [ - 'chatId', - 'date', - 'actorId', - 'userId', - 'prevParticipant', - 'newParticipant', - 'invite', - 'qts', - ]; - this.chatId = params.chatId; - this.date = params.date; - this.actorId = params.actorId; - this.userId = params.userId; - this.prevParticipant = params.prevParticipant; - this.newParticipant = params.newParticipant; - this.invite = params.invite; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chatId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let actorId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let prevParticipant = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let newParticipant = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let invite = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateChatParticipant({ - chatId: chatId, - date: date, - actorId: actorId, - userId: userId, - prevParticipant: prevParticipant, - newParticipant: newParticipant, - invite: invite, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.prevParticipant !== undefined ? 1 << 0 : 0; - flags |= this.newParticipant !== undefined ? 1 << 1 : 0; - flags |= this.invite !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.actorId !== undefined) { - b.write(Primitive.Long.write(this.actorId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.prevParticipant !== undefined) { - b.write(this.prevParticipant.write() as unknown as Buffer); - } - if (this.newParticipant !== undefined) { - b.write(this.newParticipant.write() as unknown as Buffer); - } - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelParticipant extends TLObject { - viaChatlist?: boolean; - channelId!: long; - date!: int; - actorId!: long; - userId!: long; - prevParticipant?: Raw.TypeChannelParticipant; - newParticipant?: Raw.TypeChannelParticipant; - invite?: Raw.TypeExportedChatInvite; - qts!: int; - - constructor(params: { - viaChatlist?: boolean; - channelId: long; - date: int; - actorId: long; - userId: long; - prevParticipant?: Raw.TypeChannelParticipant; - newParticipant?: Raw.TypeChannelParticipant; - invite?: Raw.TypeExportedChatInvite; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelParticipant'; - this.constructorId = 0x985d3abb; - this.subclassOfId = 0x9f89304e; - this._slots = [ - 'viaChatlist', - 'channelId', - 'date', - 'actorId', - 'userId', - 'prevParticipant', - 'newParticipant', - 'invite', - 'qts', - ]; - this.viaChatlist = params.viaChatlist; - this.channelId = params.channelId; - this.date = params.date; - this.actorId = params.actorId; - this.userId = params.userId; - this.prevParticipant = params.prevParticipant; - this.newParticipant = params.newParticipant; - this.invite = params.invite; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viaChatlist = flags & (1 << 3) ? true : false; - let channelId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let actorId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let prevParticipant = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let newParticipant = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let invite = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateChannelParticipant({ - viaChatlist: viaChatlist, - channelId: channelId, - date: date, - actorId: actorId, - userId: userId, - prevParticipant: prevParticipant, - newParticipant: newParticipant, - invite: invite, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viaChatlist ? 1 << 3 : 0; - flags |= this.prevParticipant !== undefined ? 1 << 0 : 0; - flags |= this.newParticipant !== undefined ? 1 << 1 : 0; - flags |= this.invite !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.actorId !== undefined) { - b.write(Primitive.Long.write(this.actorId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.prevParticipant !== undefined) { - b.write(this.prevParticipant.write() as unknown as Buffer); - } - if (this.newParticipant !== undefined) { - b.write(this.newParticipant.write() as unknown as Buffer); - } - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotStopped extends TLObject { - userId!: long; - date!: int; - stopped!: Bool; - qts!: int; - - constructor(params: { userId: long; date: int; stopped: Bool; qts: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotStopped'; - this.constructorId = 0xc4870a49; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'date', 'stopped', 'qts']; - this.userId = params.userId; - this.date = params.date; - this.stopped = params.stopped; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let stopped = await Primitive.Bool.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotStopped({ userId: userId, date: date, stopped: stopped, qts: qts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.stopped !== undefined) { - b.write(Primitive.Bool.write(this.stopped) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateGroupCallConnection extends TLObject { - presentation?: boolean; - params!: Raw.TypeDataJSON; - - constructor(params: { presentation?: boolean; params: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'UpdateGroupCallConnection'; - this.constructorId = 0xb783982; - this.subclassOfId = 0x9f89304e; - this._slots = ['presentation', 'params']; - this.presentation = params.presentation; - this.params = params.params; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let presentation = flags & (1 << 0) ? true : false; - let params = await TLObject.read(_data); - return new Raw.UpdateGroupCallConnection({ presentation: presentation, params: params }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.presentation ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotCommands extends TLObject { - peer!: Raw.TypePeer; - botId!: long; - commands!: Vector; - - constructor(params: { peer: Raw.TypePeer; botId: long; commands: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotCommands'; - this.constructorId = 0x4d712f2e; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'botId', 'commands']; - this.peer = params.peer; - this.botId = params.botId; - this.commands = params.commands; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let botId = await Primitive.Long.read(_data); - let commands = await TLObject.read(_data); - return new Raw.UpdateBotCommands({ peer: peer, botId: botId, commands: commands }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.commands) { - b.write(Primitive.Vector.write(this.commands) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePendingJoinRequests extends TLObject { - peer!: Raw.TypePeer; - requestsPending!: int; - recentRequesters!: Vector; - - constructor(params: { - peer: Raw.TypePeer; - requestsPending: int; - recentRequesters: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePendingJoinRequests'; - this.constructorId = 0x7063c3db; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'requestsPending', 'recentRequesters']; - this.peer = params.peer; - this.requestsPending = params.requestsPending; - this.recentRequesters = params.recentRequesters; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let requestsPending = await Primitive.Int.read(_data); - let recentRequesters = await TLObject.read(_data, Primitive.Long); - return new Raw.UpdatePendingJoinRequests({ - peer: peer, - requestsPending: requestsPending, - recentRequesters: recentRequesters, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.requestsPending !== undefined) { - b.write(Primitive.Int.write(this.requestsPending) as unknown as Buffer); - } - if (this.recentRequesters) { - b.write(Primitive.Vector.write(this.recentRequesters, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotChatInviteRequester extends TLObject { - peer!: Raw.TypePeer; - date!: int; - userId!: long; - about!: string; - invite!: Raw.TypeExportedChatInvite; - qts!: int; - - constructor(params: { - peer: Raw.TypePeer; - date: int; - userId: long; - about: string; - invite: Raw.TypeExportedChatInvite; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotChatInviteRequester'; - this.constructorId = 0x11dfa986; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'date', 'userId', 'about', 'invite', 'qts']; - this.peer = params.peer; - this.date = params.date; - this.userId = params.userId; - this.about = params.about; - this.invite = params.invite; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let about = await Primitive.String.read(_data); - let invite = await TLObject.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotChatInviteRequester({ - peer: peer, - date: date, - userId: userId, - about: about, - invite: invite, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMessageReactions extends TLObject { - peer!: Raw.TypePeer; - msgId!: int; - topMsgId?: int; - savedPeerId?: Raw.TypePeer; - reactions!: Raw.TypeMessageReactions; - - constructor(params: { - peer: Raw.TypePeer; - msgId: int; - topMsgId?: int; - savedPeerId?: Raw.TypePeer; - reactions: Raw.TypeMessageReactions; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMessageReactions'; - this.constructorId = 0x1e297bfa; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'msgId', 'topMsgId', 'savedPeerId', 'reactions']; - this.peer = params.peer; - this.msgId = params.msgId; - this.topMsgId = params.topMsgId; - this.savedPeerId = params.savedPeerId; - this.reactions = params.reactions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let reactions = await TLObject.read(_data); - return new Raw.UpdateMessageReactions({ - peer: peer, - msgId: msgId, - topMsgId: topMsgId, - savedPeerId: savedPeerId, - reactions: reactions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.reactions !== undefined) { - b.write(this.reactions.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateAttachMenuBots extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateAttachMenuBots'; - this.constructorId = 0x17b7a20b; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateAttachMenuBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateWebViewResultSent extends TLObject { - queryId!: long; - - constructor(params: { queryId: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateWebViewResultSent'; - this.constructorId = 0x1592b79d; - this.subclassOfId = 0x9f89304e; - this._slots = ['queryId']; - this.queryId = params.queryId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let queryId = await Primitive.Long.read(_data); - return new Raw.UpdateWebViewResultSent({ queryId: queryId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotMenuButton extends TLObject { - botId!: long; - button!: Raw.TypeBotMenuButton; - - constructor(params: { botId: long; button: Raw.TypeBotMenuButton }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotMenuButton'; - this.constructorId = 0x14b85813; - this.subclassOfId = 0x9f89304e; - this._slots = ['botId', 'button']; - this.botId = params.botId; - this.button = params.button; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let botId = await Primitive.Long.read(_data); - let button = await TLObject.read(_data); - return new Raw.UpdateBotMenuButton({ botId: botId, button: button }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.button !== undefined) { - b.write(this.button.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSavedRingtones extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateSavedRingtones'; - this.constructorId = 0x74d8be99; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateSavedRingtones(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateTranscribedAudio extends TLObject { - pending?: boolean; - peer!: Raw.TypePeer; - msgId!: int; - transcriptionId!: long; - text!: string; - - constructor(params: { - pending?: boolean; - peer: Raw.TypePeer; - msgId: int; - transcriptionId: long; - text: string; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateTranscribedAudio'; - this.constructorId = 0x84cd5a; - this.subclassOfId = 0x9f89304e; - this._slots = ['pending', 'peer', 'msgId', 'transcriptionId', 'text']; - this.pending = params.pending; - this.peer = params.peer; - this.msgId = params.msgId; - this.transcriptionId = params.transcriptionId; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pending = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let transcriptionId = await Primitive.Long.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.UpdateTranscribedAudio({ - pending: pending, - peer: peer, - msgId: msgId, - transcriptionId: transcriptionId, - text: text, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pending ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.transcriptionId !== undefined) { - b.write(Primitive.Long.write(this.transcriptionId) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadFeaturedEmojiStickers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateReadFeaturedEmojiStickers'; - this.constructorId = 0xfb4c496c; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateReadFeaturedEmojiStickers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUserEmojiStatus extends TLObject { - userId!: long; - emojiStatus!: Raw.TypeEmojiStatus; - - constructor(params: { userId: long; emojiStatus: Raw.TypeEmojiStatus }) { - super(); - this.classType = 'types'; - this.className = 'UpdateUserEmojiStatus'; - this.constructorId = 0x28373599; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'emojiStatus']; - this.userId = params.userId; - this.emojiStatus = params.emojiStatus; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let emojiStatus = await TLObject.read(_data); - return new Raw.UpdateUserEmojiStatus({ userId: userId, emojiStatus: emojiStatus }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.emojiStatus !== undefined) { - b.write(this.emojiStatus.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateRecentEmojiStatuses extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateRecentEmojiStatuses'; - this.constructorId = 0x30f443db; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateRecentEmojiStatuses(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateRecentReactions extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateRecentReactions'; - this.constructorId = 0x6f7863f4; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateRecentReactions(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMoveStickerSetToTop extends TLObject { - masks?: boolean; - emojis?: boolean; - stickerset!: long; - - constructor(params: { masks?: boolean; emojis?: boolean; stickerset: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMoveStickerSetToTop'; - this.constructorId = 0x86fccf85; - this.subclassOfId = 0x9f89304e; - this._slots = ['masks', 'emojis', 'stickerset']; - this.masks = params.masks; - this.emojis = params.emojis; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let masks = flags & (1 << 0) ? true : false; - let emojis = flags & (1 << 1) ? true : false; - let stickerset = await Primitive.Long.read(_data); - return new Raw.UpdateMoveStickerSetToTop({ - masks: masks, - emojis: emojis, - stickerset: stickerset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.masks ? 1 << 0 : 0; - flags |= this.emojis ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stickerset !== undefined) { - b.write(Primitive.Long.write(this.stickerset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMessageExtendedMedia extends TLObject { - peer!: Raw.TypePeer; - msgId!: int; - extendedMedia!: Vector; - - constructor(params: { - peer: Raw.TypePeer; - msgId: int; - extendedMedia: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMessageExtendedMedia'; - this.constructorId = 0xd5a41724; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'msgId', 'extendedMedia']; - this.peer = params.peer; - this.msgId = params.msgId; - this.extendedMedia = params.extendedMedia; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let extendedMedia = await TLObject.read(_data); - return new Raw.UpdateMessageExtendedMedia({ - peer: peer, - msgId: msgId, - extendedMedia: extendedMedia, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.extendedMedia) { - b.write(Primitive.Vector.write(this.extendedMedia) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelPinnedTopic extends TLObject { - pinned?: boolean; - channelId!: long; - topicId!: int; - - constructor(params: { pinned?: boolean; channelId: long; topicId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelPinnedTopic'; - this.constructorId = 0x192efbe3; - this.subclassOfId = 0x9f89304e; - this._slots = ['pinned', 'channelId', 'topicId']; - this.pinned = params.pinned; - this.channelId = params.channelId; - this.topicId = params.topicId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let channelId = await Primitive.Long.read(_data); - let topicId = await Primitive.Int.read(_data); - return new Raw.UpdateChannelPinnedTopic({ - pinned: pinned, - channelId: channelId, - topicId: topicId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.topicId !== undefined) { - b.write(Primitive.Int.write(this.topicId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelPinnedTopics extends TLObject { - channelId!: long; - order?: Vector; - - constructor(params: { channelId: long; order?: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelPinnedTopics'; - this.constructorId = 0xfe198602; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'order']; - this.channelId = params.channelId; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - let order = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - return new Raw.UpdateChannelPinnedTopics({ channelId: channelId, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.order ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUser extends TLObject { - userId!: long; - - constructor(params: { userId: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateUser'; - this.constructorId = 0x20529438; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - return new Raw.UpdateUser({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateAutoSaveSettings extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateAutoSaveSettings'; - this.constructorId = 0xec05b097; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateAutoSaveSettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStory extends TLObject { - peer!: Raw.TypePeer; - story!: Raw.TypeStoryItem; - - constructor(params: { peer: Raw.TypePeer; story: Raw.TypeStoryItem }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStory'; - this.constructorId = 0x75b3b798; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'story']; - this.peer = params.peer; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let story = await TLObject.read(_data); - return new Raw.UpdateStory({ peer: peer, story: story }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadStories extends TLObject { - peer!: Raw.TypePeer; - maxId!: int; - - constructor(params: { peer: Raw.TypePeer; maxId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadStories'; - this.constructorId = 0xf74e932b; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'maxId']; - this.peer = params.peer; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.UpdateReadStories({ peer: peer, maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStoryID extends TLObject { - id!: int; - randomId!: long; - - constructor(params: { id: int; randomId: long }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStoryID'; - this.constructorId = 0x1bf335b9; - this.subclassOfId = 0x9f89304e; - this._slots = ['id', 'randomId']; - this.id = params.id; - this.randomId = params.randomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let randomId = await Primitive.Long.read(_data); - return new Raw.UpdateStoryID({ id: id, randomId: randomId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStoriesStealthMode extends TLObject { - stealthMode!: Raw.TypeStoriesStealthMode; - - constructor(params: { stealthMode: Raw.TypeStoriesStealthMode }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStoriesStealthMode'; - this.constructorId = 0x2c084dc1; - this.subclassOfId = 0x9f89304e; - this._slots = ['stealthMode']; - this.stealthMode = params.stealthMode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stealthMode = await TLObject.read(_data); - return new Raw.UpdateStoriesStealthMode({ stealthMode: stealthMode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stealthMode !== undefined) { - b.write(this.stealthMode.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSentStoryReaction extends TLObject { - peer!: Raw.TypePeer; - storyId!: int; - reaction!: Raw.TypeReaction; - - constructor(params: { peer: Raw.TypePeer; storyId: int; reaction: Raw.TypeReaction }) { - super(); - this.classType = 'types'; - this.className = 'UpdateSentStoryReaction'; - this.constructorId = 0x7d627683; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'storyId', 'reaction']; - this.peer = params.peer; - this.storyId = params.storyId; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let storyId = await Primitive.Int.read(_data); - let reaction = await TLObject.read(_data); - return new Raw.UpdateSentStoryReaction({ peer: peer, storyId: storyId, reaction: reaction }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotChatBoost extends TLObject { - peer!: Raw.TypePeer; - boost!: Raw.TypeBoost; - qts!: int; - - constructor(params: { peer: Raw.TypePeer; boost: Raw.TypeBoost; qts: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotChatBoost'; - this.constructorId = 0x904dd49c; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'boost', 'qts']; - this.peer = params.peer; - this.boost = params.boost; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let boost = await TLObject.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotChatBoost({ peer: peer, boost: boost, qts: qts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.boost !== undefined) { - b.write(this.boost.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateChannelViewForumAsMessages extends TLObject { - channelId!: long; - enabled!: Bool; - - constructor(params: { channelId: long; enabled: Bool }) { - super(); - this.classType = 'types'; - this.className = 'UpdateChannelViewForumAsMessages'; - this.constructorId = 0x7b68920; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'enabled']; - this.channelId = params.channelId; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.UpdateChannelViewForumAsMessages({ channelId: channelId, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePeerWallpaper extends TLObject { - wallpaperOverridden?: boolean; - peer!: Raw.TypePeer; - wallpaper?: Raw.TypeWallPaper; - - constructor(params: { - wallpaperOverridden?: boolean; - peer: Raw.TypePeer; - wallpaper?: Raw.TypeWallPaper; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePeerWallpaper'; - this.constructorId = 0xae3f101d; - this.subclassOfId = 0x9f89304e; - this._slots = ['wallpaperOverridden', 'peer', 'wallpaper']; - this.wallpaperOverridden = params.wallpaperOverridden; - this.peer = params.peer; - this.wallpaper = params.wallpaper; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let wallpaperOverridden = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let wallpaper = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.UpdatePeerWallpaper({ - wallpaperOverridden: wallpaperOverridden, - peer: peer, - wallpaper: wallpaper, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.wallpaperOverridden ? 1 << 1 : 0; - flags |= this.wallpaper !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotMessageReaction extends TLObject { - peer!: Raw.TypePeer; - msgId!: int; - date!: int; - actor!: Raw.TypePeer; - oldReactions!: Vector; - newReactions!: Vector; - qts!: int; - - constructor(params: { - peer: Raw.TypePeer; - msgId: int; - date: int; - actor: Raw.TypePeer; - oldReactions: Vector; - newReactions: Vector; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotMessageReaction'; - this.constructorId = 0xac21d3ce; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'msgId', 'date', 'actor', 'oldReactions', 'newReactions', 'qts']; - this.peer = params.peer; - this.msgId = params.msgId; - this.date = params.date; - this.actor = params.actor; - this.oldReactions = params.oldReactions; - this.newReactions = params.newReactions; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let actor = await TLObject.read(_data); - let oldReactions = await TLObject.read(_data); - let newReactions = await TLObject.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotMessageReaction({ - peer: peer, - msgId: msgId, - date: date, - actor: actor, - oldReactions: oldReactions, - newReactions: newReactions, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.actor !== undefined) { - b.write(this.actor.write() as unknown as Buffer); - } - if (this.oldReactions) { - b.write(Primitive.Vector.write(this.oldReactions) as unknown as Buffer); - } - if (this.newReactions) { - b.write(Primitive.Vector.write(this.newReactions) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotMessageReactions extends TLObject { - peer!: Raw.TypePeer; - msgId!: int; - date!: int; - reactions!: Vector; - qts!: int; - - constructor(params: { - peer: Raw.TypePeer; - msgId: int; - date: int; - reactions: Vector; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotMessageReactions'; - this.constructorId = 0x9cb7759; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'msgId', 'date', 'reactions', 'qts']; - this.peer = params.peer; - this.msgId = params.msgId; - this.date = params.date; - this.reactions = params.reactions; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let reactions = await TLObject.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotMessageReactions({ - peer: peer, - msgId: msgId, - date: date, - reactions: reactions, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSavedDialogPinned extends TLObject { - pinned?: boolean; - peer!: Raw.TypeDialogPeer; - - constructor(params: { pinned?: boolean; peer: Raw.TypeDialogPeer }) { - super(); - this.classType = 'types'; - this.className = 'UpdateSavedDialogPinned'; - this.constructorId = 0xaeaf9e74; - this.subclassOfId = 0x9f89304e; - this._slots = ['pinned', 'peer']; - this.pinned = params.pinned; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.UpdateSavedDialogPinned({ pinned: pinned, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePinnedSavedDialogs extends TLObject { - order?: Vector; - - constructor(params: { order?: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePinnedSavedDialogs'; - this.constructorId = 0x686c85a6; - this.subclassOfId = 0x9f89304e; - this._slots = ['order']; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let order = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.UpdatePinnedSavedDialogs({ order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.order ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.order) { - b.write(Primitive.Vector.write(this.order) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSavedReactionTags extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdateSavedReactionTags'; - this.constructorId = 0x39c67432; - this.subclassOfId = 0x9f89304e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UpdateSavedReactionTags(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSmsJob extends TLObject { - jobId!: string; - - constructor(params: { jobId: string }) { - super(); - this.classType = 'types'; - this.className = 'UpdateSmsJob'; - this.constructorId = 0xf16269d4; - this.subclassOfId = 0x9f89304e; - this._slots = ['jobId']; - this.jobId = params.jobId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let jobId = await Primitive.String.read(_data); - return new Raw.UpdateSmsJob({ jobId: jobId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.jobId !== undefined) { - b.write(Primitive.String.write(this.jobId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateQuickReplies extends TLObject { - quickReplies!: Vector; - - constructor(params: { quickReplies: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateQuickReplies'; - this.constructorId = 0xf9470ab2; - this.subclassOfId = 0x9f89304e; - this._slots = ['quickReplies']; - this.quickReplies = params.quickReplies; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let quickReplies = await TLObject.read(_data); - return new Raw.UpdateQuickReplies({ quickReplies: quickReplies }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.quickReplies) { - b.write(Primitive.Vector.write(this.quickReplies) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewQuickReply extends TLObject { - quickReply!: Raw.TypeQuickReply; - - constructor(params: { quickReply: Raw.TypeQuickReply }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewQuickReply'; - this.constructorId = 0xf53da717; - this.subclassOfId = 0x9f89304e; - this._slots = ['quickReply']; - this.quickReply = params.quickReply; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let quickReply = await TLObject.read(_data); - return new Raw.UpdateNewQuickReply({ quickReply: quickReply }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.quickReply !== undefined) { - b.write(this.quickReply.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDeleteQuickReply extends TLObject { - shortcutId!: int; - - constructor(params: { shortcutId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDeleteQuickReply'; - this.constructorId = 0x53e6f1ec; - this.subclassOfId = 0x9f89304e; - this._slots = ['shortcutId']; - this.shortcutId = params.shortcutId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - return new Raw.UpdateDeleteQuickReply({ shortcutId: shortcutId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateQuickReplyMessage extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'UpdateQuickReplyMessage'; - this.constructorId = 0x3e050d0f; - this.subclassOfId = 0x9f89304e; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.UpdateQuickReplyMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDeleteQuickReplyMessages extends TLObject { - shortcutId!: int; - messages!: Vector; - - constructor(params: { shortcutId: int; messages: Vector }) { - super(); - this.classType = 'types'; - this.className = 'UpdateDeleteQuickReplyMessages'; - this.constructorId = 0x566fe7cd; - this.subclassOfId = 0x9f89304e; - this._slots = ['shortcutId', 'messages']; - this.shortcutId = params.shortcutId; - this.messages = params.messages; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - return new Raw.UpdateDeleteQuickReplyMessages({ shortcutId: shortcutId, messages: messages }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotBusinessConnect extends TLObject { - connection!: Raw.TypeBotBusinessConnection; - qts!: int; - - constructor(params: { connection: Raw.TypeBotBusinessConnection; qts: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotBusinessConnect'; - this.constructorId = 0x8ae5c97a; - this.subclassOfId = 0x9f89304e; - this._slots = ['connection', 'qts']; - this.connection = params.connection; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let connection = await TLObject.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotBusinessConnect({ connection: connection, qts: qts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.connection !== undefined) { - b.write(this.connection.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotNewBusinessMessage extends TLObject { - connectionId!: string; - message!: Raw.TypeMessage; - replyToMessage?: Raw.TypeMessage; - qts!: int; - - constructor(params: { - connectionId: string; - message: Raw.TypeMessage; - replyToMessage?: Raw.TypeMessage; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotNewBusinessMessage'; - this.constructorId = 0x9ddb347c; - this.subclassOfId = 0x9f89304e; - this._slots = ['connectionId', 'message', 'replyToMessage', 'qts']; - this.connectionId = params.connectionId; - this.message = params.message; - this.replyToMessage = params.replyToMessage; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let connectionId = await Primitive.String.read(_data); - let message = await TLObject.read(_data); - let replyToMessage = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotNewBusinessMessage({ - connectionId: connectionId, - message: message, - replyToMessage: replyToMessage, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyToMessage !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.replyToMessage !== undefined) { - b.write(this.replyToMessage.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotEditBusinessMessage extends TLObject { - connectionId!: string; - message!: Raw.TypeMessage; - replyToMessage?: Raw.TypeMessage; - qts!: int; - - constructor(params: { - connectionId: string; - message: Raw.TypeMessage; - replyToMessage?: Raw.TypeMessage; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotEditBusinessMessage'; - this.constructorId = 0x7df587c; - this.subclassOfId = 0x9f89304e; - this._slots = ['connectionId', 'message', 'replyToMessage', 'qts']; - this.connectionId = params.connectionId; - this.message = params.message; - this.replyToMessage = params.replyToMessage; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let connectionId = await Primitive.String.read(_data); - let message = await TLObject.read(_data); - let replyToMessage = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotEditBusinessMessage({ - connectionId: connectionId, - message: message, - replyToMessage: replyToMessage, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyToMessage !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.replyToMessage !== undefined) { - b.write(this.replyToMessage.write() as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotDeleteBusinessMessage extends TLObject { - connectionId!: string; - peer!: Raw.TypePeer; - messages!: Vector; - qts!: int; - - constructor(params: { - connectionId: string; - peer: Raw.TypePeer; - messages: Vector; - qts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotDeleteBusinessMessage'; - this.constructorId = 0xa02a982e; - this.subclassOfId = 0x9f89304e; - this._slots = ['connectionId', 'peer', 'messages', 'qts']; - this.connectionId = params.connectionId; - this.peer = params.peer; - this.messages = params.messages; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let connectionId = await Primitive.String.read(_data); - let peer = await TLObject.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotDeleteBusinessMessage({ - connectionId: connectionId, - peer: peer, - messages: messages, - qts: qts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNewStoryReaction extends TLObject { - storyId!: int; - peer!: Raw.TypePeer; - reaction!: Raw.TypeReaction; - - constructor(params: { storyId: int; peer: Raw.TypePeer; reaction: Raw.TypeReaction }) { - super(); - this.classType = 'types'; - this.className = 'UpdateNewStoryReaction'; - this.constructorId = 0x1824e40b; - this.subclassOfId = 0x9f89304e; - this._slots = ['storyId', 'peer', 'reaction']; - this.storyId = params.storyId; - this.peer = params.peer; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let storyId = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let reaction = await TLObject.read(_data); - return new Raw.UpdateNewStoryReaction({ storyId: storyId, peer: peer, reaction: reaction }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStarsBalance extends TLObject { - balance!: Raw.TypeStarsAmount; - - constructor(params: { balance: Raw.TypeStarsAmount }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStarsBalance'; - this.constructorId = 0x4e80a379; - this.subclassOfId = 0x9f89304e; - this._slots = ['balance']; - this.balance = params.balance; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let balance = await TLObject.read(_data); - return new Raw.UpdateStarsBalance({ balance: balance }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.balance !== undefined) { - b.write(this.balance.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBusinessBotCallbackQuery extends TLObject { - queryId!: long; - userId!: long; - connectionId!: string; - message!: Raw.TypeMessage; - replyToMessage?: Raw.TypeMessage; - chatInstance!: long; - data?: bytes; - - constructor(params: { - queryId: long; - userId: long; - connectionId: string; - message: Raw.TypeMessage; - replyToMessage?: Raw.TypeMessage; - chatInstance: long; - data?: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBusinessBotCallbackQuery'; - this.constructorId = 0x1ea2fda7; - this.subclassOfId = 0x9f89304e; - this._slots = [ - 'queryId', - 'userId', - 'connectionId', - 'message', - 'replyToMessage', - 'chatInstance', - 'data', - ]; - this.queryId = params.queryId; - this.userId = params.userId; - this.connectionId = params.connectionId; - this.message = params.message; - this.replyToMessage = params.replyToMessage; - this.chatInstance = params.chatInstance; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - let userId = await Primitive.Long.read(_data); - let connectionId = await Primitive.String.read(_data); - let message = await TLObject.read(_data); - let replyToMessage = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let chatInstance = await Primitive.Long.read(_data); - let data = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - return new Raw.UpdateBusinessBotCallbackQuery({ - queryId: queryId, - userId: userId, - connectionId: connectionId, - message: message, - replyToMessage: replyToMessage, - chatInstance: chatInstance, - data: data, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyToMessage !== undefined ? 1 << 2 : 0; - flags |= this.data !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.replyToMessage !== undefined) { - b.write(this.replyToMessage.write() as unknown as Buffer); - } - if (this.chatInstance !== undefined) { - b.write(Primitive.Long.write(this.chatInstance) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStarsRevenueStatus extends TLObject { - peer!: Raw.TypePeer; - status!: Raw.TypeStarsRevenueStatus; - - constructor(params: { peer: Raw.TypePeer; status: Raw.TypeStarsRevenueStatus }) { - super(); - this.classType = 'types'; - this.className = 'UpdateStarsRevenueStatus'; - this.constructorId = 0xa584b019; - this.subclassOfId = 0x9f89304e; - this._slots = ['peer', 'status']; - this.peer = params.peer; - this.status = params.status; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let status = await TLObject.read(_data); - return new Raw.UpdateStarsRevenueStatus({ peer: peer, status: status }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(this.status.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBotPurchasedPaidMedia extends TLObject { - userId!: long; - payload!: string; - qts!: int; - - constructor(params: { userId: long; payload: string; qts: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateBotPurchasedPaidMedia'; - this.constructorId = 0x283bd312; - this.subclassOfId = 0x9f89304e; - this._slots = ['userId', 'payload', 'qts']; - this.userId = params.userId; - this.payload = params.payload; - this.qts = params.qts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let payload = await Primitive.String.read(_data); - let qts = await Primitive.Int.read(_data); - return new Raw.UpdateBotPurchasedPaidMedia({ userId: userId, payload: payload, qts: qts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.String.write(this.payload) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePaidReactionPrivacy extends TLObject { - private!: Raw.TypePaidReactionPrivacy; - - constructor(params: { private: Raw.TypePaidReactionPrivacy }) { - super(); - this.classType = 'types'; - this.className = 'UpdatePaidReactionPrivacy'; - this.constructorId = 0x8b725fce; - this.subclassOfId = 0x9f89304e; - this._slots = ['private']; - this.private = params.private; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let _private = await TLObject.read(_data); - return new Raw.UpdatePaidReactionPrivacy({ private: _private }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.private !== undefined) { - b.write(this.private.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSentPhoneCode extends TLObject { - sentCode!: Raw.auth.TypeSentCode; - - constructor(params: { sentCode: Raw.auth.TypeSentCode }) { - super(); - this.classType = 'types'; - this.className = 'UpdateSentPhoneCode'; - this.constructorId = 0x504aa18f; - this.subclassOfId = 0x9f89304e; - this._slots = ['sentCode']; - this.sentCode = params.sentCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sentCode = await TLObject.read(_data); - return new Raw.UpdateSentPhoneCode({ sentCode: sentCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sentCode !== undefined) { - b.write(this.sentCode.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateGroupCallChainBlocks extends TLObject { - call!: Raw.TypeInputGroupCall; - subChainId!: int; - blocks!: Vector; - nextOffset!: int; - - constructor(params: { - call: Raw.TypeInputGroupCall; - subChainId: int; - blocks: Vector; - nextOffset: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateGroupCallChainBlocks'; - this.constructorId = 0xa477288f; - this.subclassOfId = 0x9f89304e; - this._slots = ['call', 'subChainId', 'blocks', 'nextOffset']; - this.call = params.call; - this.subChainId = params.subChainId; - this.blocks = params.blocks; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let subChainId = await Primitive.Int.read(_data); - let blocks = await TLObject.read(_data, Primitive.Bytes); - let nextOffset = await Primitive.Int.read(_data); - return new Raw.UpdateGroupCallChainBlocks({ - call: call, - subChainId: subChainId, - blocks: blocks, - nextOffset: nextOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.subChainId !== undefined) { - b.write(Primitive.Int.write(this.subChainId) as unknown as Buffer); - } - if (this.blocks) { - b.write(Primitive.Vector.write(this.blocks, Primitive.Bytes) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.Int.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadMonoForumInbox extends TLObject { - channelId!: long; - savedPeerId!: Raw.TypePeer; - readMaxId!: int; - - constructor(params: { channelId: long; savedPeerId: Raw.TypePeer; readMaxId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadMonoForumInbox'; - this.constructorId = 0x77b0e372; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'savedPeerId', 'readMaxId']; - this.channelId = params.channelId; - this.savedPeerId = params.savedPeerId; - this.readMaxId = params.readMaxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let savedPeerId = await TLObject.read(_data); - let readMaxId = await Primitive.Int.read(_data); - return new Raw.UpdateReadMonoForumInbox({ - channelId: channelId, - savedPeerId: savedPeerId, - readMaxId: readMaxId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.readMaxId !== undefined) { - b.write(Primitive.Int.write(this.readMaxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateReadMonoForumOutbox extends TLObject { - channelId!: long; - savedPeerId!: Raw.TypePeer; - readMaxId!: int; - - constructor(params: { channelId: long; savedPeerId: Raw.TypePeer; readMaxId: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateReadMonoForumOutbox'; - this.constructorId = 0xa4a79376; - this.subclassOfId = 0x9f89304e; - this._slots = ['channelId', 'savedPeerId', 'readMaxId']; - this.channelId = params.channelId; - this.savedPeerId = params.savedPeerId; - this.readMaxId = params.readMaxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let savedPeerId = await TLObject.read(_data); - let readMaxId = await Primitive.Int.read(_data); - return new Raw.UpdateReadMonoForumOutbox({ - channelId: channelId, - savedPeerId: savedPeerId, - readMaxId: readMaxId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.readMaxId !== undefined) { - b.write(Primitive.Int.write(this.readMaxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateMonoForumNoPaidException extends TLObject { - exception?: boolean; - channelId!: long; - savedPeerId!: Raw.TypePeer; - - constructor(params: { exception?: boolean; channelId: long; savedPeerId: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'UpdateMonoForumNoPaidException'; - this.constructorId = 0x9f812b08; - this.subclassOfId = 0x9f89304e; - this._slots = ['exception', 'channelId', 'savedPeerId']; - this.exception = params.exception; - this.channelId = params.channelId; - this.savedPeerId = params.savedPeerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let exception = flags & (1 << 0) ? true : false; - let channelId = await Primitive.Long.read(_data); - let savedPeerId = await TLObject.read(_data); - return new Raw.UpdateMonoForumNoPaidException({ - exception: exception, - channelId: channelId, - savedPeerId: savedPeerId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.exception ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatesTooLong extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UpdatesTooLong'; - this.constructorId = 0xe317af7e; - this.subclassOfId = 0x8af52aac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.UpdatesTooLong(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateShortMessage extends TLObject { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - silent?: boolean; - id!: int; - userId!: long; - message!: string; - pts!: int; - ptsCount!: int; - date!: int; - fwdFrom?: Raw.TypeMessageFwdHeader; - viaBotId?: long; - replyTo?: Raw.TypeMessageReplyHeader; - entities?: Vector; - ttlPeriod?: int; - - constructor(params: { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - silent?: boolean; - id: int; - userId: long; - message: string; - pts: int; - ptsCount: int; - date: int; - fwdFrom?: Raw.TypeMessageFwdHeader; - viaBotId?: long; - replyTo?: Raw.TypeMessageReplyHeader; - entities?: Vector; - ttlPeriod?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateShortMessage'; - this.constructorId = 0x313bc7f8; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'out', - 'mentioned', - 'mediaUnread', - 'silent', - 'id', - 'userId', - 'message', - 'pts', - 'ptsCount', - 'date', - 'fwdFrom', - 'viaBotId', - 'replyTo', - 'entities', - 'ttlPeriod', - ]; - this.out = params.out; - this.mentioned = params.mentioned; - this.mediaUnread = params.mediaUnread; - this.silent = params.silent; - this.id = params.id; - this.userId = params.userId; - this.message = params.message; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - this.date = params.date; - this.fwdFrom = params.fwdFrom; - this.viaBotId = params.viaBotId; - this.replyTo = params.replyTo; - this.entities = params.entities; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let out = flags & (1 << 1) ? true : false; - let mentioned = flags & (1 << 4) ? true : false; - let mediaUnread = flags & (1 << 5) ? true : false; - let silent = flags & (1 << 13) ? true : false; - let id = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let message = await Primitive.String.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let fwdFrom = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let viaBotId = flags & (1 << 11) ? await Primitive.Long.read(_data) : undefined; - let replyTo = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let ttlPeriod = flags & (1 << 25) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdateShortMessage({ - out: out, - mentioned: mentioned, - mediaUnread: mediaUnread, - silent: silent, - id: id, - userId: userId, - message: message, - pts: pts, - ptsCount: ptsCount, - date: date, - fwdFrom: fwdFrom, - viaBotId: viaBotId, - replyTo: replyTo, - entities: entities, - ttlPeriod: ttlPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.out ? 1 << 1 : 0; - flags |= this.mentioned ? 1 << 4 : 0; - flags |= this.mediaUnread ? 1 << 5 : 0; - flags |= this.silent ? 1 << 13 : 0; - flags |= this.fwdFrom !== undefined ? 1 << 2 : 0; - flags |= this.viaBotId !== undefined ? 1 << 11 : 0; - flags |= this.replyTo !== undefined ? 1 << 3 : 0; - flags |= this.entities ? 1 << 7 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 25 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.fwdFrom !== undefined) { - b.write(this.fwdFrom.write() as unknown as Buffer); - } - if (this.viaBotId !== undefined) { - b.write(Primitive.Long.write(this.viaBotId) as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateShortChatMessage extends TLObject { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - silent?: boolean; - id!: int; - fromId!: long; - chatId!: long; - message!: string; - pts!: int; - ptsCount!: int; - date!: int; - fwdFrom?: Raw.TypeMessageFwdHeader; - viaBotId?: long; - replyTo?: Raw.TypeMessageReplyHeader; - entities?: Vector; - ttlPeriod?: int; - - constructor(params: { - out?: boolean; - mentioned?: boolean; - mediaUnread?: boolean; - silent?: boolean; - id: int; - fromId: long; - chatId: long; - message: string; - pts: int; - ptsCount: int; - date: int; - fwdFrom?: Raw.TypeMessageFwdHeader; - viaBotId?: long; - replyTo?: Raw.TypeMessageReplyHeader; - entities?: Vector; - ttlPeriod?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateShortChatMessage'; - this.constructorId = 0x4d6deea5; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'out', - 'mentioned', - 'mediaUnread', - 'silent', - 'id', - 'fromId', - 'chatId', - 'message', - 'pts', - 'ptsCount', - 'date', - 'fwdFrom', - 'viaBotId', - 'replyTo', - 'entities', - 'ttlPeriod', - ]; - this.out = params.out; - this.mentioned = params.mentioned; - this.mediaUnread = params.mediaUnread; - this.silent = params.silent; - this.id = params.id; - this.fromId = params.fromId; - this.chatId = params.chatId; - this.message = params.message; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - this.date = params.date; - this.fwdFrom = params.fwdFrom; - this.viaBotId = params.viaBotId; - this.replyTo = params.replyTo; - this.entities = params.entities; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let out = flags & (1 << 1) ? true : false; - let mentioned = flags & (1 << 4) ? true : false; - let mediaUnread = flags & (1 << 5) ? true : false; - let silent = flags & (1 << 13) ? true : false; - let id = await Primitive.Int.read(_data); - let fromId = await Primitive.Long.read(_data); - let chatId = await Primitive.Long.read(_data); - let message = await Primitive.String.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let fwdFrom = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let viaBotId = flags & (1 << 11) ? await Primitive.Long.read(_data) : undefined; - let replyTo = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let ttlPeriod = flags & (1 << 25) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdateShortChatMessage({ - out: out, - mentioned: mentioned, - mediaUnread: mediaUnread, - silent: silent, - id: id, - fromId: fromId, - chatId: chatId, - message: message, - pts: pts, - ptsCount: ptsCount, - date: date, - fwdFrom: fwdFrom, - viaBotId: viaBotId, - replyTo: replyTo, - entities: entities, - ttlPeriod: ttlPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.out ? 1 << 1 : 0; - flags |= this.mentioned ? 1 << 4 : 0; - flags |= this.mediaUnread ? 1 << 5 : 0; - flags |= this.silent ? 1 << 13 : 0; - flags |= this.fwdFrom !== undefined ? 1 << 2 : 0; - flags |= this.viaBotId !== undefined ? 1 << 11 : 0; - flags |= this.replyTo !== undefined ? 1 << 3 : 0; - flags |= this.entities ? 1 << 7 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 25 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(Primitive.Long.write(this.fromId) as unknown as Buffer); - } - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.fwdFrom !== undefined) { - b.write(this.fwdFrom.write() as unknown as Buffer); - } - if (this.viaBotId !== undefined) { - b.write(Primitive.Long.write(this.viaBotId) as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateShort extends TLObject { - update!: Raw.TypeUpdate; - date!: int; - - constructor(params: { update: Raw.TypeUpdate; date: int }) { - super(); - this.classType = 'types'; - this.className = 'UpdateShort'; - this.constructorId = 0x78d4dec1; - this.subclassOfId = 0x8af52aac; - this._slots = ['update', 'date']; - this.update = params.update; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let update = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.UpdateShort({ update: update, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.update !== undefined) { - b.write(this.update.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatesCombined extends TLObject { - updates!: Vector; - users!: Vector; - chats!: Vector; - date!: int; - seqStart!: int; - seq!: int; - - constructor(params: { - updates: Vector; - users: Vector; - chats: Vector; - date: int; - seqStart: int; - seq: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdatesCombined'; - this.constructorId = 0x725b04c3; - this.subclassOfId = 0x8af52aac; - this._slots = ['updates', 'users', 'chats', 'date', 'seqStart', 'seq']; - this.updates = params.updates; - this.users = params.users; - this.chats = params.chats; - this.date = params.date; - this.seqStart = params.seqStart; - this.seq = params.seq; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let updates = await TLObject.read(_data); - let users = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let seqStart = await Primitive.Int.read(_data); - let seq = await Primitive.Int.read(_data); - return new Raw.UpdatesCombined({ - updates: updates, - users: users, - chats: chats, - date: date, - seqStart: seqStart, - seq: seq, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.updates) { - b.write(Primitive.Vector.write(this.updates) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.seqStart !== undefined) { - b.write(Primitive.Int.write(this.seqStart) as unknown as Buffer); - } - if (this.seq !== undefined) { - b.write(Primitive.Int.write(this.seq) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Updates extends TLObject { - updates!: Vector; - users!: Vector; - chats!: Vector; - date!: int; - seq!: int; - - constructor(params: { - updates: Vector; - users: Vector; - chats: Vector; - date: int; - seq: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Updates'; - this.constructorId = 0x74ae4240; - this.subclassOfId = 0x8af52aac; - this._slots = ['updates', 'users', 'chats', 'date', 'seq']; - this.updates = params.updates; - this.users = params.users; - this.chats = params.chats; - this.date = params.date; - this.seq = params.seq; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let updates = await TLObject.read(_data); - let users = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let seq = await Primitive.Int.read(_data); - return new Raw.Updates({ - updates: updates, - users: users, - chats: chats, - date: date, - seq: seq, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.updates) { - b.write(Primitive.Vector.write(this.updates) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.seq !== undefined) { - b.write(Primitive.Int.write(this.seq) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateShortSentMessage extends TLObject { - out?: boolean; - id!: int; - pts!: int; - ptsCount!: int; - date!: int; - media?: Raw.TypeMessageMedia; - entities?: Vector; - ttlPeriod?: int; - - constructor(params: { - out?: boolean; - id: int; - pts: int; - ptsCount: int; - date: int; - media?: Raw.TypeMessageMedia; - entities?: Vector; - ttlPeriod?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'UpdateShortSentMessage'; - this.constructorId = 0x9015e101; - this.subclassOfId = 0x8af52aac; - this._slots = ['out', 'id', 'pts', 'ptsCount', 'date', 'media', 'entities', 'ttlPeriod']; - this.out = params.out; - this.id = params.id; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - this.date = params.date; - this.media = params.media; - this.entities = params.entities; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let out = flags & (1 << 1) ? true : false; - let id = await Primitive.Int.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let media = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let ttlPeriod = flags & (1 << 25) ? await Primitive.Int.read(_data) : undefined; - return new Raw.UpdateShortSentMessage({ - out: out, - id: id, - pts: pts, - ptsCount: ptsCount, - date: date, - media: media, - entities: entities, - ttlPeriod: ttlPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.out ? 1 << 1 : 0; - flags |= this.media !== undefined ? 1 << 9 : 0; - flags |= this.entities ? 1 << 7 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 25 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DcOption extends TLObject { - ipv6?: boolean; - mediaOnly?: boolean; - tcpoOnly?: boolean; - cdn?: boolean; - static?: boolean; - thisPortOnly?: boolean; - id!: int; - ipAddress!: string; - port!: int; - secret?: bytes; - - constructor(params: { - ipv6?: boolean; - mediaOnly?: boolean; - tcpoOnly?: boolean; - cdn?: boolean; - static?: boolean; - thisPortOnly?: boolean; - id: int; - ipAddress: string; - port: int; - secret?: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'DcOption'; - this.constructorId = 0x18b7a10d; - this.subclassOfId = 0x9e43e123; - this._slots = [ - 'ipv6', - 'mediaOnly', - 'tcpoOnly', - 'cdn', - 'static', - 'thisPortOnly', - 'id', - 'ipAddress', - 'port', - 'secret', - ]; - this.ipv6 = params.ipv6; - this.mediaOnly = params.mediaOnly; - this.tcpoOnly = params.tcpoOnly; - this.cdn = params.cdn; - this.static = params.static; - this.thisPortOnly = params.thisPortOnly; - this.id = params.id; - this.ipAddress = params.ipAddress; - this.port = params.port; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let ipv6 = flags & (1 << 0) ? true : false; - let mediaOnly = flags & (1 << 1) ? true : false; - let tcpoOnly = flags & (1 << 2) ? true : false; - let cdn = flags & (1 << 3) ? true : false; - let _static = flags & (1 << 4) ? true : false; - let thisPortOnly = flags & (1 << 5) ? true : false; - let id = await Primitive.Int.read(_data); - let ipAddress = await Primitive.String.read(_data); - let port = await Primitive.Int.read(_data); - let secret = flags & (1 << 10) ? await Primitive.Bytes.read(_data) : undefined; - return new Raw.DcOption({ - ipv6: ipv6, - mediaOnly: mediaOnly, - tcpoOnly: tcpoOnly, - cdn: cdn, - static: _static, - thisPortOnly: thisPortOnly, - id: id, - ipAddress: ipAddress, - port: port, - secret: secret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ipv6 ? 1 << 0 : 0; - flags |= this.mediaOnly ? 1 << 1 : 0; - flags |= this.tcpoOnly ? 1 << 2 : 0; - flags |= this.cdn ? 1 << 3 : 0; - flags |= this.static ? 1 << 4 : 0; - flags |= this.thisPortOnly ? 1 << 5 : 0; - flags |= this.secret !== undefined ? 1 << 10 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.ipAddress !== undefined) { - b.write(Primitive.String.write(this.ipAddress) as unknown as Buffer); - } - if (this.port !== undefined) { - b.write(Primitive.Int.write(this.port) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Config extends TLObject { - defaultP2pContacts?: boolean; - preloadFeaturedStickers?: boolean; - revokePmInbox?: boolean; - blockedMode?: boolean; - forceTryIpv6?: boolean; - date!: int; - expires!: int; - testMode!: Bool; - thisDc!: int; - dcOptions!: Vector; - dcTxtDomainName!: string; - chatSizeMax!: int; - megagroupSizeMax!: int; - forwardedCountMax!: int; - onlineUpdatePeriodMs!: int; - offlineBlurTimeoutMs!: int; - offlineIdleTimeoutMs!: int; - onlineCloudTimeoutMs!: int; - notifyCloudDelayMs!: int; - notifyDefaultDelayMs!: int; - pushChatPeriodMs!: int; - pushChatLimit!: int; - editTimeLimit!: int; - revokeTimeLimit!: int; - revokePmTimeLimit!: int; - ratingEDecay!: int; - stickersRecentLimit!: int; - channelsReadMediaPeriod!: int; - tmpSessions?: int; - callReceiveTimeoutMs!: int; - callRingTimeoutMs!: int; - callConnectTimeoutMs!: int; - callPacketTimeoutMs!: int; - meUrlPrefix!: string; - autoupdateUrlPrefix?: string; - gifSearchUsername?: string; - venueSearchUsername?: string; - imgSearchUsername?: string; - staticMapsProvider?: string; - captionLengthMax!: int; - messageLengthMax!: int; - webfileDcId!: int; - suggestedLangCode?: string; - langPackVersion?: int; - baseLangPackVersion?: int; - reactionsDefault?: Raw.TypeReaction; - autologinToken?: string; - - constructor(params: { - defaultP2pContacts?: boolean; - preloadFeaturedStickers?: boolean; - revokePmInbox?: boolean; - blockedMode?: boolean; - forceTryIpv6?: boolean; - date: int; - expires: int; - testMode: Bool; - thisDc: int; - dcOptions: Vector; - dcTxtDomainName: string; - chatSizeMax: int; - megagroupSizeMax: int; - forwardedCountMax: int; - onlineUpdatePeriodMs: int; - offlineBlurTimeoutMs: int; - offlineIdleTimeoutMs: int; - onlineCloudTimeoutMs: int; - notifyCloudDelayMs: int; - notifyDefaultDelayMs: int; - pushChatPeriodMs: int; - pushChatLimit: int; - editTimeLimit: int; - revokeTimeLimit: int; - revokePmTimeLimit: int; - ratingEDecay: int; - stickersRecentLimit: int; - channelsReadMediaPeriod: int; - tmpSessions?: int; - callReceiveTimeoutMs: int; - callRingTimeoutMs: int; - callConnectTimeoutMs: int; - callPacketTimeoutMs: int; - meUrlPrefix: string; - autoupdateUrlPrefix?: string; - gifSearchUsername?: string; - venueSearchUsername?: string; - imgSearchUsername?: string; - staticMapsProvider?: string; - captionLengthMax: int; - messageLengthMax: int; - webfileDcId: int; - suggestedLangCode?: string; - langPackVersion?: int; - baseLangPackVersion?: int; - reactionsDefault?: Raw.TypeReaction; - autologinToken?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'Config'; - this.constructorId = 0xcc1a241e; - this.subclassOfId = 0xd3262a4a; - this._slots = [ - 'defaultP2pContacts', - 'preloadFeaturedStickers', - 'revokePmInbox', - 'blockedMode', - 'forceTryIpv6', - 'date', - 'expires', - 'testMode', - 'thisDc', - 'dcOptions', - 'dcTxtDomainName', - 'chatSizeMax', - 'megagroupSizeMax', - 'forwardedCountMax', - 'onlineUpdatePeriodMs', - 'offlineBlurTimeoutMs', - 'offlineIdleTimeoutMs', - 'onlineCloudTimeoutMs', - 'notifyCloudDelayMs', - 'notifyDefaultDelayMs', - 'pushChatPeriodMs', - 'pushChatLimit', - 'editTimeLimit', - 'revokeTimeLimit', - 'revokePmTimeLimit', - 'ratingEDecay', - 'stickersRecentLimit', - 'channelsReadMediaPeriod', - 'tmpSessions', - 'callReceiveTimeoutMs', - 'callRingTimeoutMs', - 'callConnectTimeoutMs', - 'callPacketTimeoutMs', - 'meUrlPrefix', - 'autoupdateUrlPrefix', - 'gifSearchUsername', - 'venueSearchUsername', - 'imgSearchUsername', - 'staticMapsProvider', - 'captionLengthMax', - 'messageLengthMax', - 'webfileDcId', - 'suggestedLangCode', - 'langPackVersion', - 'baseLangPackVersion', - 'reactionsDefault', - 'autologinToken', - ]; - this.defaultP2pContacts = params.defaultP2pContacts; - this.preloadFeaturedStickers = params.preloadFeaturedStickers; - this.revokePmInbox = params.revokePmInbox; - this.blockedMode = params.blockedMode; - this.forceTryIpv6 = params.forceTryIpv6; - this.date = params.date; - this.expires = params.expires; - this.testMode = params.testMode; - this.thisDc = params.thisDc; - this.dcOptions = params.dcOptions; - this.dcTxtDomainName = params.dcTxtDomainName; - this.chatSizeMax = params.chatSizeMax; - this.megagroupSizeMax = params.megagroupSizeMax; - this.forwardedCountMax = params.forwardedCountMax; - this.onlineUpdatePeriodMs = params.onlineUpdatePeriodMs; - this.offlineBlurTimeoutMs = params.offlineBlurTimeoutMs; - this.offlineIdleTimeoutMs = params.offlineIdleTimeoutMs; - this.onlineCloudTimeoutMs = params.onlineCloudTimeoutMs; - this.notifyCloudDelayMs = params.notifyCloudDelayMs; - this.notifyDefaultDelayMs = params.notifyDefaultDelayMs; - this.pushChatPeriodMs = params.pushChatPeriodMs; - this.pushChatLimit = params.pushChatLimit; - this.editTimeLimit = params.editTimeLimit; - this.revokeTimeLimit = params.revokeTimeLimit; - this.revokePmTimeLimit = params.revokePmTimeLimit; - this.ratingEDecay = params.ratingEDecay; - this.stickersRecentLimit = params.stickersRecentLimit; - this.channelsReadMediaPeriod = params.channelsReadMediaPeriod; - this.tmpSessions = params.tmpSessions; - this.callReceiveTimeoutMs = params.callReceiveTimeoutMs; - this.callRingTimeoutMs = params.callRingTimeoutMs; - this.callConnectTimeoutMs = params.callConnectTimeoutMs; - this.callPacketTimeoutMs = params.callPacketTimeoutMs; - this.meUrlPrefix = params.meUrlPrefix; - this.autoupdateUrlPrefix = params.autoupdateUrlPrefix; - this.gifSearchUsername = params.gifSearchUsername; - this.venueSearchUsername = params.venueSearchUsername; - this.imgSearchUsername = params.imgSearchUsername; - this.staticMapsProvider = params.staticMapsProvider; - this.captionLengthMax = params.captionLengthMax; - this.messageLengthMax = params.messageLengthMax; - this.webfileDcId = params.webfileDcId; - this.suggestedLangCode = params.suggestedLangCode; - this.langPackVersion = params.langPackVersion; - this.baseLangPackVersion = params.baseLangPackVersion; - this.reactionsDefault = params.reactionsDefault; - this.autologinToken = params.autologinToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let defaultP2pContacts = flags & (1 << 3) ? true : false; - let preloadFeaturedStickers = flags & (1 << 4) ? true : false; - let revokePmInbox = flags & (1 << 6) ? true : false; - let blockedMode = flags & (1 << 8) ? true : false; - let forceTryIpv6 = flags & (1 << 14) ? true : false; - let date = await Primitive.Int.read(_data); - let expires = await Primitive.Int.read(_data); - let testMode = await Primitive.Bool.read(_data); - let thisDc = await Primitive.Int.read(_data); - let dcOptions = await TLObject.read(_data); - let dcTxtDomainName = await Primitive.String.read(_data); - let chatSizeMax = await Primitive.Int.read(_data); - let megagroupSizeMax = await Primitive.Int.read(_data); - let forwardedCountMax = await Primitive.Int.read(_data); - let onlineUpdatePeriodMs = await Primitive.Int.read(_data); - let offlineBlurTimeoutMs = await Primitive.Int.read(_data); - let offlineIdleTimeoutMs = await Primitive.Int.read(_data); - let onlineCloudTimeoutMs = await Primitive.Int.read(_data); - let notifyCloudDelayMs = await Primitive.Int.read(_data); - let notifyDefaultDelayMs = await Primitive.Int.read(_data); - let pushChatPeriodMs = await Primitive.Int.read(_data); - let pushChatLimit = await Primitive.Int.read(_data); - let editTimeLimit = await Primitive.Int.read(_data); - let revokeTimeLimit = await Primitive.Int.read(_data); - let revokePmTimeLimit = await Primitive.Int.read(_data); - let ratingEDecay = await Primitive.Int.read(_data); - let stickersRecentLimit = await Primitive.Int.read(_data); - let channelsReadMediaPeriod = await Primitive.Int.read(_data); - let tmpSessions = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let callReceiveTimeoutMs = await Primitive.Int.read(_data); - let callRingTimeoutMs = await Primitive.Int.read(_data); - let callConnectTimeoutMs = await Primitive.Int.read(_data); - let callPacketTimeoutMs = await Primitive.Int.read(_data); - let meUrlPrefix = await Primitive.String.read(_data); - let autoupdateUrlPrefix = flags & (1 << 7) ? await Primitive.String.read(_data) : undefined; - let gifSearchUsername = flags & (1 << 9) ? await Primitive.String.read(_data) : undefined; - let venueSearchUsername = flags & (1 << 10) ? await Primitive.String.read(_data) : undefined; - let imgSearchUsername = flags & (1 << 11) ? await Primitive.String.read(_data) : undefined; - let staticMapsProvider = flags & (1 << 12) ? await Primitive.String.read(_data) : undefined; - let captionLengthMax = await Primitive.Int.read(_data); - let messageLengthMax = await Primitive.Int.read(_data); - let webfileDcId = await Primitive.Int.read(_data); - let suggestedLangCode = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let langPackVersion = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let baseLangPackVersion = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let reactionsDefault = flags & (1 << 15) ? await TLObject.read(_data) : undefined; - let autologinToken = flags & (1 << 16) ? await Primitive.String.read(_data) : undefined; - return new Raw.Config({ - defaultP2pContacts: defaultP2pContacts, - preloadFeaturedStickers: preloadFeaturedStickers, - revokePmInbox: revokePmInbox, - blockedMode: blockedMode, - forceTryIpv6: forceTryIpv6, - date: date, - expires: expires, - testMode: testMode, - thisDc: thisDc, - dcOptions: dcOptions, - dcTxtDomainName: dcTxtDomainName, - chatSizeMax: chatSizeMax, - megagroupSizeMax: megagroupSizeMax, - forwardedCountMax: forwardedCountMax, - onlineUpdatePeriodMs: onlineUpdatePeriodMs, - offlineBlurTimeoutMs: offlineBlurTimeoutMs, - offlineIdleTimeoutMs: offlineIdleTimeoutMs, - onlineCloudTimeoutMs: onlineCloudTimeoutMs, - notifyCloudDelayMs: notifyCloudDelayMs, - notifyDefaultDelayMs: notifyDefaultDelayMs, - pushChatPeriodMs: pushChatPeriodMs, - pushChatLimit: pushChatLimit, - editTimeLimit: editTimeLimit, - revokeTimeLimit: revokeTimeLimit, - revokePmTimeLimit: revokePmTimeLimit, - ratingEDecay: ratingEDecay, - stickersRecentLimit: stickersRecentLimit, - channelsReadMediaPeriod: channelsReadMediaPeriod, - tmpSessions: tmpSessions, - callReceiveTimeoutMs: callReceiveTimeoutMs, - callRingTimeoutMs: callRingTimeoutMs, - callConnectTimeoutMs: callConnectTimeoutMs, - callPacketTimeoutMs: callPacketTimeoutMs, - meUrlPrefix: meUrlPrefix, - autoupdateUrlPrefix: autoupdateUrlPrefix, - gifSearchUsername: gifSearchUsername, - venueSearchUsername: venueSearchUsername, - imgSearchUsername: imgSearchUsername, - staticMapsProvider: staticMapsProvider, - captionLengthMax: captionLengthMax, - messageLengthMax: messageLengthMax, - webfileDcId: webfileDcId, - suggestedLangCode: suggestedLangCode, - langPackVersion: langPackVersion, - baseLangPackVersion: baseLangPackVersion, - reactionsDefault: reactionsDefault, - autologinToken: autologinToken, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.defaultP2pContacts ? 1 << 3 : 0; - flags |= this.preloadFeaturedStickers ? 1 << 4 : 0; - flags |= this.revokePmInbox ? 1 << 6 : 0; - flags |= this.blockedMode ? 1 << 8 : 0; - flags |= this.forceTryIpv6 ? 1 << 14 : 0; - flags |= this.tmpSessions !== undefined ? 1 << 0 : 0; - flags |= this.autoupdateUrlPrefix !== undefined ? 1 << 7 : 0; - flags |= this.gifSearchUsername !== undefined ? 1 << 9 : 0; - flags |= this.venueSearchUsername !== undefined ? 1 << 10 : 0; - flags |= this.imgSearchUsername !== undefined ? 1 << 11 : 0; - flags |= this.staticMapsProvider !== undefined ? 1 << 12 : 0; - flags |= this.suggestedLangCode !== undefined ? 1 << 2 : 0; - flags |= this.langPackVersion !== undefined ? 1 << 2 : 0; - flags |= this.baseLangPackVersion !== undefined ? 1 << 2 : 0; - flags |= this.reactionsDefault !== undefined ? 1 << 15 : 0; - flags |= this.autologinToken !== undefined ? 1 << 16 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.testMode !== undefined) { - b.write(Primitive.Bool.write(this.testMode) as unknown as Buffer); - } - if (this.thisDc !== undefined) { - b.write(Primitive.Int.write(this.thisDc) as unknown as Buffer); - } - if (this.dcOptions) { - b.write(Primitive.Vector.write(this.dcOptions) as unknown as Buffer); - } - if (this.dcTxtDomainName !== undefined) { - b.write(Primitive.String.write(this.dcTxtDomainName) as unknown as Buffer); - } - if (this.chatSizeMax !== undefined) { - b.write(Primitive.Int.write(this.chatSizeMax) as unknown as Buffer); - } - if (this.megagroupSizeMax !== undefined) { - b.write(Primitive.Int.write(this.megagroupSizeMax) as unknown as Buffer); - } - if (this.forwardedCountMax !== undefined) { - b.write(Primitive.Int.write(this.forwardedCountMax) as unknown as Buffer); - } - if (this.onlineUpdatePeriodMs !== undefined) { - b.write(Primitive.Int.write(this.onlineUpdatePeriodMs) as unknown as Buffer); - } - if (this.offlineBlurTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.offlineBlurTimeoutMs) as unknown as Buffer); - } - if (this.offlineIdleTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.offlineIdleTimeoutMs) as unknown as Buffer); - } - if (this.onlineCloudTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.onlineCloudTimeoutMs) as unknown as Buffer); - } - if (this.notifyCloudDelayMs !== undefined) { - b.write(Primitive.Int.write(this.notifyCloudDelayMs) as unknown as Buffer); - } - if (this.notifyDefaultDelayMs !== undefined) { - b.write(Primitive.Int.write(this.notifyDefaultDelayMs) as unknown as Buffer); - } - if (this.pushChatPeriodMs !== undefined) { - b.write(Primitive.Int.write(this.pushChatPeriodMs) as unknown as Buffer); - } - if (this.pushChatLimit !== undefined) { - b.write(Primitive.Int.write(this.pushChatLimit) as unknown as Buffer); - } - if (this.editTimeLimit !== undefined) { - b.write(Primitive.Int.write(this.editTimeLimit) as unknown as Buffer); - } - if (this.revokeTimeLimit !== undefined) { - b.write(Primitive.Int.write(this.revokeTimeLimit) as unknown as Buffer); - } - if (this.revokePmTimeLimit !== undefined) { - b.write(Primitive.Int.write(this.revokePmTimeLimit) as unknown as Buffer); - } - if (this.ratingEDecay !== undefined) { - b.write(Primitive.Int.write(this.ratingEDecay) as unknown as Buffer); - } - if (this.stickersRecentLimit !== undefined) { - b.write(Primitive.Int.write(this.stickersRecentLimit) as unknown as Buffer); - } - if (this.channelsReadMediaPeriod !== undefined) { - b.write(Primitive.Int.write(this.channelsReadMediaPeriod) as unknown as Buffer); - } - if (this.tmpSessions !== undefined) { - b.write(Primitive.Int.write(this.tmpSessions) as unknown as Buffer); - } - if (this.callReceiveTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.callReceiveTimeoutMs) as unknown as Buffer); - } - if (this.callRingTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.callRingTimeoutMs) as unknown as Buffer); - } - if (this.callConnectTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.callConnectTimeoutMs) as unknown as Buffer); - } - if (this.callPacketTimeoutMs !== undefined) { - b.write(Primitive.Int.write(this.callPacketTimeoutMs) as unknown as Buffer); - } - if (this.meUrlPrefix !== undefined) { - b.write(Primitive.String.write(this.meUrlPrefix) as unknown as Buffer); - } - if (this.autoupdateUrlPrefix !== undefined) { - b.write(Primitive.String.write(this.autoupdateUrlPrefix) as unknown as Buffer); - } - if (this.gifSearchUsername !== undefined) { - b.write(Primitive.String.write(this.gifSearchUsername) as unknown as Buffer); - } - if (this.venueSearchUsername !== undefined) { - b.write(Primitive.String.write(this.venueSearchUsername) as unknown as Buffer); - } - if (this.imgSearchUsername !== undefined) { - b.write(Primitive.String.write(this.imgSearchUsername) as unknown as Buffer); - } - if (this.staticMapsProvider !== undefined) { - b.write(Primitive.String.write(this.staticMapsProvider) as unknown as Buffer); - } - if (this.captionLengthMax !== undefined) { - b.write(Primitive.Int.write(this.captionLengthMax) as unknown as Buffer); - } - if (this.messageLengthMax !== undefined) { - b.write(Primitive.Int.write(this.messageLengthMax) as unknown as Buffer); - } - if (this.webfileDcId !== undefined) { - b.write(Primitive.Int.write(this.webfileDcId) as unknown as Buffer); - } - if (this.suggestedLangCode !== undefined) { - b.write(Primitive.String.write(this.suggestedLangCode) as unknown as Buffer); - } - if (this.langPackVersion !== undefined) { - b.write(Primitive.Int.write(this.langPackVersion) as unknown as Buffer); - } - if (this.baseLangPackVersion !== undefined) { - b.write(Primitive.Int.write(this.baseLangPackVersion) as unknown as Buffer); - } - if (this.reactionsDefault !== undefined) { - b.write(this.reactionsDefault.write() as unknown as Buffer); - } - if (this.autologinToken !== undefined) { - b.write(Primitive.String.write(this.autologinToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NearestDc extends TLObject { - country!: string; - thisDc!: int; - nearestDc!: int; - - constructor(params: { country: string; thisDc: int; nearestDc: int }) { - super(); - this.classType = 'types'; - this.className = 'NearestDc'; - this.constructorId = 0x8e1a1775; - this.subclassOfId = 0x3877045f; - this._slots = ['country', 'thisDc', 'nearestDc']; - this.country = params.country; - this.thisDc = params.thisDc; - this.nearestDc = params.nearestDc; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let country = await Primitive.String.read(_data); - let thisDc = await Primitive.Int.read(_data); - let nearestDc = await Primitive.Int.read(_data); - return new Raw.NearestDc({ country: country, thisDc: thisDc, nearestDc: nearestDc }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.country !== undefined) { - b.write(Primitive.String.write(this.country) as unknown as Buffer); - } - if (this.thisDc !== undefined) { - b.write(Primitive.Int.write(this.thisDc) as unknown as Buffer); - } - if (this.nearestDc !== undefined) { - b.write(Primitive.Int.write(this.nearestDc) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedChatEmpty extends TLObject { - id!: int; - - constructor(params: { id: int }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedChatEmpty'; - this.constructorId = 0xab7ec0a0; - this.subclassOfId = 0x6d28a37a; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - return new Raw.EncryptedChatEmpty({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedChatWaiting extends TLObject { - id!: int; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - - constructor(params: { - id: int; - accessHash: long; - date: int; - adminId: long; - participantId: long; - }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedChatWaiting'; - this.constructorId = 0x66b25953; - this.subclassOfId = 0x6d28a37a; - this._slots = ['id', 'accessHash', 'date', 'adminId', 'participantId']; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - return new Raw.EncryptedChatWaiting({ - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedChatRequested extends TLObject { - folderId?: int; - id!: int; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - gA!: bytes; - - constructor(params: { - folderId?: int; - id: int; - accessHash: long; - date: int; - adminId: long; - participantId: long; - gA: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedChatRequested'; - this.constructorId = 0x48f1d94c; - this.subclassOfId = 0x6d28a37a; - this._slots = ['folderId', 'id', 'accessHash', 'date', 'adminId', 'participantId', 'gA']; - this.folderId = params.folderId; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - this.gA = params.gA; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let folderId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let id = await Primitive.Int.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - let gA = await Primitive.Bytes.read(_data); - return new Raw.EncryptedChatRequested({ - folderId: folderId, - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - gA: gA, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.folderId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - if (this.gA !== undefined) { - b.write(Primitive.Bytes.write(this.gA) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedChat extends TLObject { - id!: int; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - gAOrB!: bytes; - keyFingerprint!: long; - - constructor(params: { - id: int; - accessHash: long; - date: int; - adminId: long; - participantId: long; - gAOrB: bytes; - keyFingerprint: long; - }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedChat'; - this.constructorId = 0x61f0d4c7; - this.subclassOfId = 0x6d28a37a; - this._slots = [ - 'id', - 'accessHash', - 'date', - 'adminId', - 'participantId', - 'gAOrB', - 'keyFingerprint', - ]; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - this.gAOrB = params.gAOrB; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - let gAOrB = await Primitive.Bytes.read(_data); - let keyFingerprint = await Primitive.Long.read(_data); - return new Raw.EncryptedChat({ - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - gAOrB: gAOrB, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - if (this.gAOrB !== undefined) { - b.write(Primitive.Bytes.write(this.gAOrB) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedChatDiscarded extends TLObject { - historyDeleted?: boolean; - id!: int; - - constructor(params: { historyDeleted?: boolean; id: int }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedChatDiscarded'; - this.constructorId = 0x1e1c7c45; - this.subclassOfId = 0x6d28a37a; - this._slots = ['historyDeleted', 'id']; - this.historyDeleted = params.historyDeleted; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let historyDeleted = flags & (1 << 0) ? true : false; - let id = await Primitive.Int.read(_data); - return new Raw.EncryptedChatDiscarded({ historyDeleted: historyDeleted, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.historyDeleted ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEncryptedChat extends TLObject { - chatId!: int; - accessHash!: long; - - constructor(params: { chatId: int; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputEncryptedChat'; - this.constructorId = 0xf141b5e1; - this.subclassOfId = 0x6c7606c0; - this._slots = ['chatId', 'accessHash']; - this.chatId = params.chatId; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Int.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputEncryptedChat({ chatId: chatId, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Int.write(this.chatId) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedFileEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'EncryptedFileEmpty'; - this.constructorId = 0xc21f497e; - this.subclassOfId = 0x842a67c0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.EncryptedFileEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedFile extends TLObject { - id!: long; - accessHash!: long; - size!: long; - dcId!: int; - keyFingerprint!: int; - - constructor(params: { - id: long; - accessHash: long; - size: long; - dcId: int; - keyFingerprint: int; - }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedFile'; - this.constructorId = 0xa8008cd8; - this.subclassOfId = 0x842a67c0; - this._slots = ['id', 'accessHash', 'size', 'dcId', 'keyFingerprint']; - this.id = params.id; - this.accessHash = params.accessHash; - this.size = params.size; - this.dcId = params.dcId; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let size = await Primitive.Long.read(_data); - let dcId = await Primitive.Int.read(_data); - let keyFingerprint = await Primitive.Int.read(_data); - return new Raw.EncryptedFile({ - id: id, - accessHash: accessHash, - size: size, - dcId: dcId, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Long.write(this.size) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Int.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEncryptedFileEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputEncryptedFileEmpty'; - this.constructorId = 0x1837c364; - this.subclassOfId = 0x8574c27a; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputEncryptedFileEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEncryptedFileUploaded extends TLObject { - id!: long; - parts!: int; - md5Checksum!: string; - keyFingerprint!: int; - - constructor(params: { id: long; parts: int; md5Checksum: string; keyFingerprint: int }) { - super(); - this.classType = 'types'; - this.className = 'InputEncryptedFileUploaded'; - this.constructorId = 0x64bd0306; - this.subclassOfId = 0x8574c27a; - this._slots = ['id', 'parts', 'md5Checksum', 'keyFingerprint']; - this.id = params.id; - this.parts = params.parts; - this.md5Checksum = params.md5Checksum; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let parts = await Primitive.Int.read(_data); - let md5Checksum = await Primitive.String.read(_data); - let keyFingerprint = await Primitive.Int.read(_data); - return new Raw.InputEncryptedFileUploaded({ - id: id, - parts: parts, - md5Checksum: md5Checksum, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.parts !== undefined) { - b.write(Primitive.Int.write(this.parts) as unknown as Buffer); - } - if (this.md5Checksum !== undefined) { - b.write(Primitive.String.write(this.md5Checksum) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Int.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEncryptedFile extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputEncryptedFile'; - this.constructorId = 0x5a17b5e5; - this.subclassOfId = 0x8574c27a; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputEncryptedFile({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEncryptedFileBigUploaded extends TLObject { - id!: long; - parts!: int; - keyFingerprint!: int; - - constructor(params: { id: long; parts: int; keyFingerprint: int }) { - super(); - this.classType = 'types'; - this.className = 'InputEncryptedFileBigUploaded'; - this.constructorId = 0x2dc173c8; - this.subclassOfId = 0x8574c27a; - this._slots = ['id', 'parts', 'keyFingerprint']; - this.id = params.id; - this.parts = params.parts; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let parts = await Primitive.Int.read(_data); - let keyFingerprint = await Primitive.Int.read(_data); - return new Raw.InputEncryptedFileBigUploaded({ - id: id, - parts: parts, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.parts !== undefined) { - b.write(Primitive.Int.write(this.parts) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Int.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedMessage extends TLObject { - randomId!: long; - chatId!: int; - date!: int; - bytes!: bytes; - file!: Raw.TypeEncryptedFile; - - constructor(params: { - randomId: long; - chatId: int; - date: int; - bytes: bytes; - file: Raw.TypeEncryptedFile; - }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedMessage'; - this.constructorId = 0xed18c118; - this.subclassOfId = 0x239f2e51; - this._slots = ['randomId', 'chatId', 'date', 'bytes', 'file']; - this.randomId = params.randomId; - this.chatId = params.chatId; - this.date = params.date; - this.bytes = params.bytes; - this.file = params.file; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Long.read(_data); - let chatId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - let file = await TLObject.read(_data); - return new Raw.EncryptedMessage({ - randomId: randomId, - chatId: chatId, - date: date, - bytes: bytes, - file: file, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.chatId !== undefined) { - b.write(Primitive.Int.write(this.chatId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EncryptedMessageService extends TLObject { - randomId!: long; - chatId!: int; - date!: int; - bytes!: bytes; - - constructor(params: { randomId: long; chatId: int; date: int; bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'EncryptedMessageService'; - this.constructorId = 0x23734b06; - this.subclassOfId = 0x239f2e51; - this._slots = ['randomId', 'chatId', 'date', 'bytes']; - this.randomId = params.randomId; - this.chatId = params.chatId; - this.date = params.date; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Long.read(_data); - let chatId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.EncryptedMessageService({ - randomId: randomId, - chatId: chatId, - date: date, - bytes: bytes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.chatId !== undefined) { - b.write(Primitive.Int.write(this.chatId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputDocumentEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputDocumentEmpty'; - this.constructorId = 0x72f0eaae; - this.subclassOfId = 0xf33fdb68; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputDocumentEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputDocument extends TLObject { - id!: long; - accessHash!: long; - fileReference!: bytes; - - constructor(params: { id: long; accessHash: long; fileReference: bytes }) { - super(); - this.classType = 'types'; - this.className = 'InputDocument'; - this.constructorId = 0x1abfb575; - this.subclassOfId = 0xf33fdb68; - this._slots = ['id', 'accessHash', 'fileReference']; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - return new Raw.InputDocument({ - id: id, - accessHash: accessHash, - fileReference: fileReference, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentEmpty extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'DocumentEmpty'; - this.constructorId = 0x36f8c871; - this.subclassOfId = 0x211fe820; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.DocumentEmpty({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Document extends TLObject { - id!: long; - accessHash!: long; - fileReference!: bytes; - date!: int; - mimeType!: string; - size!: long; - thumbs?: Vector; - videoThumbs?: Vector; - dcId!: int; - attributes!: Vector; - - constructor(params: { - id: long; - accessHash: long; - fileReference: bytes; - date: int; - mimeType: string; - size: long; - thumbs?: Vector; - videoThumbs?: Vector; - dcId: int; - attributes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'Document'; - this.constructorId = 0x8fd4c4d8; - this.subclassOfId = 0x211fe820; - this._slots = [ - 'id', - 'accessHash', - 'fileReference', - 'date', - 'mimeType', - 'size', - 'thumbs', - 'videoThumbs', - 'dcId', - 'attributes', - ]; - this.id = params.id; - this.accessHash = params.accessHash; - this.fileReference = params.fileReference; - this.date = params.date; - this.mimeType = params.mimeType; - this.size = params.size; - this.thumbs = params.thumbs; - this.videoThumbs = params.videoThumbs; - this.dcId = params.dcId; - this.attributes = params.attributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let fileReference = await Primitive.Bytes.read(_data); - let date = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let size = await Primitive.Long.read(_data); - let thumbs = flags & (1 << 0) ? await TLObject.read(_data) : []; - let videoThumbs = flags & (1 << 1) ? await TLObject.read(_data) : []; - let dcId = await Primitive.Int.read(_data); - let attributes = await TLObject.read(_data); - return new Raw.Document({ - id: id, - accessHash: accessHash, - fileReference: fileReference, - date: date, - mimeType: mimeType, - size: size, - thumbs: thumbs, - videoThumbs: videoThumbs, - dcId: dcId, - attributes: attributes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.thumbs ? 1 << 0 : 0; - flags |= this.videoThumbs ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.fileReference !== undefined) { - b.write(Primitive.Bytes.write(this.fileReference) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Long.write(this.size) as unknown as Buffer); - } - if (this.thumbs) { - b.write(Primitive.Vector.write(this.thumbs) as unknown as Buffer); - } - if (this.videoThumbs) { - b.write(Primitive.Vector.write(this.videoThumbs) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotifyPeer extends TLObject { - peer!: Raw.TypePeer; - - constructor(params: { peer: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'NotifyPeer'; - this.constructorId = 0x9fd40bd8; - this.subclassOfId = 0xdfe8602e; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.NotifyPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotifyUsers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'NotifyUsers'; - this.constructorId = 0xb4c83b4c; - this.subclassOfId = 0xdfe8602e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.NotifyUsers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotifyChats extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'NotifyChats'; - this.constructorId = 0xc007cec3; - this.subclassOfId = 0xdfe8602e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.NotifyChats(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotifyBroadcasts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'NotifyBroadcasts'; - this.constructorId = 0xd612e8ef; - this.subclassOfId = 0xdfe8602e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.NotifyBroadcasts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotifyForumTopic extends TLObject { - peer!: Raw.TypePeer; - topMsgId!: int; - - constructor(params: { peer: Raw.TypePeer; topMsgId: int }) { - super(); - this.classType = 'types'; - this.className = 'NotifyForumTopic'; - this.constructorId = 0x226e6308; - this.subclassOfId = 0xdfe8602e; - this._slots = ['peer', 'topMsgId']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let topMsgId = await Primitive.Int.read(_data); - return new Raw.NotifyForumTopic({ peer: peer, topMsgId: topMsgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageTypingAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageTypingAction'; - this.constructorId = 0x16bf744e; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageTypingAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageCancelAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageCancelAction'; - this.constructorId = 0xfd5ec8f5; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageCancelAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageRecordVideoAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageRecordVideoAction'; - this.constructorId = 0xa187d66f; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageRecordVideoAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadVideoAction extends TLObject { - progress!: int; - - constructor(params: { progress: int }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadVideoAction'; - this.constructorId = 0xe9763aec; - this.subclassOfId = 0x20b2cc21; - this._slots = ['progress']; - this.progress = params.progress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let progress = await Primitive.Int.read(_data); - return new Raw.SendMessageUploadVideoAction({ progress: progress }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.progress !== undefined) { - b.write(Primitive.Int.write(this.progress) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageRecordAudioAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageRecordAudioAction'; - this.constructorId = 0xd52f73f7; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageRecordAudioAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadAudioAction extends TLObject { - progress!: int; - - constructor(params: { progress: int }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadAudioAction'; - this.constructorId = 0xf351d7ab; - this.subclassOfId = 0x20b2cc21; - this._slots = ['progress']; - this.progress = params.progress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let progress = await Primitive.Int.read(_data); - return new Raw.SendMessageUploadAudioAction({ progress: progress }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.progress !== undefined) { - b.write(Primitive.Int.write(this.progress) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadPhotoAction extends TLObject { - progress!: int; - - constructor(params: { progress: int }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadPhotoAction'; - this.constructorId = 0xd1d34a26; - this.subclassOfId = 0x20b2cc21; - this._slots = ['progress']; - this.progress = params.progress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let progress = await Primitive.Int.read(_data); - return new Raw.SendMessageUploadPhotoAction({ progress: progress }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.progress !== undefined) { - b.write(Primitive.Int.write(this.progress) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadDocumentAction extends TLObject { - progress!: int; - - constructor(params: { progress: int }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadDocumentAction'; - this.constructorId = 0xaa0cd9e4; - this.subclassOfId = 0x20b2cc21; - this._slots = ['progress']; - this.progress = params.progress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let progress = await Primitive.Int.read(_data); - return new Raw.SendMessageUploadDocumentAction({ progress: progress }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.progress !== undefined) { - b.write(Primitive.Int.write(this.progress) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageGeoLocationAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageGeoLocationAction'; - this.constructorId = 0x176f8ba1; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageGeoLocationAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageChooseContactAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageChooseContactAction'; - this.constructorId = 0x628cbc6f; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageChooseContactAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageGamePlayAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageGamePlayAction'; - this.constructorId = 0xdd6a8f48; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageGamePlayAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageRecordRoundAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageRecordRoundAction'; - this.constructorId = 0x88f27fbc; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageRecordRoundAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadRoundAction extends TLObject { - progress!: int; - - constructor(params: { progress: int }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadRoundAction'; - this.constructorId = 0x243e1c66; - this.subclassOfId = 0x20b2cc21; - this._slots = ['progress']; - this.progress = params.progress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let progress = await Primitive.Int.read(_data); - return new Raw.SendMessageUploadRoundAction({ progress: progress }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.progress !== undefined) { - b.write(Primitive.Int.write(this.progress) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SpeakingInGroupCallAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SpeakingInGroupCallAction'; - this.constructorId = 0xd92c2285; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SpeakingInGroupCallAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageHistoryImportAction extends TLObject { - progress!: int; - - constructor(params: { progress: int }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageHistoryImportAction'; - this.constructorId = 0xdbda9246; - this.subclassOfId = 0x20b2cc21; - this._slots = ['progress']; - this.progress = params.progress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let progress = await Primitive.Int.read(_data); - return new Raw.SendMessageHistoryImportAction({ progress: progress }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.progress !== undefined) { - b.write(Primitive.Int.write(this.progress) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageChooseStickerAction extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageChooseStickerAction'; - this.constructorId = 0xb05ac6b1; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageChooseStickerAction(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageEmojiInteraction extends TLObject { - emoticon!: string; - msgId!: int; - interaction!: Raw.TypeDataJSON; - - constructor(params: { emoticon: string; msgId: int; interaction: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageEmojiInteraction'; - this.constructorId = 0x25972bcb; - this.subclassOfId = 0x20b2cc21; - this._slots = ['emoticon', 'msgId', 'interaction']; - this.emoticon = params.emoticon; - this.msgId = params.msgId; - this.interaction = params.interaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - let msgId = await Primitive.Int.read(_data); - let interaction = await TLObject.read(_data); - return new Raw.SendMessageEmojiInteraction({ - emoticon: emoticon, - msgId: msgId, - interaction: interaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.interaction !== undefined) { - b.write(this.interaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageEmojiInteractionSeen extends TLObject { - emoticon!: string; - - constructor(params: { emoticon: string }) { - super(); - this.classType = 'types'; - this.className = 'SendMessageEmojiInteractionSeen'; - this.constructorId = 0xb665902e; - this.subclassOfId = 0x20b2cc21; - this._slots = ['emoticon']; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - return new Raw.SendMessageEmojiInteractionSeen({ emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyStatusTimestamp extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyStatusTimestamp'; - this.constructorId = 0x4f96cb18; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyStatusTimestamp(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyChatInvite extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyChatInvite'; - this.constructorId = 0xbdfb0426; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyChatInvite(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyPhoneCall extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyPhoneCall'; - this.constructorId = 0xfabadc5f; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyPhoneCall(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyPhoneP2P extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyPhoneP2P'; - this.constructorId = 0xdb9e70d2; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyPhoneP2P(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyForwards extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyForwards'; - this.constructorId = 0xa4dd4c08; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyForwards(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyProfilePhoto extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyProfilePhoto'; - this.constructorId = 0x5719bacc; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyProfilePhoto(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyPhoneNumber extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyPhoneNumber'; - this.constructorId = 0x352dafa; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyPhoneNumber(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyAddedByPhone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyAddedByPhone'; - this.constructorId = 0xd1219bdd; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyAddedByPhone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyVoiceMessages extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyVoiceMessages'; - this.constructorId = 0xaee69d68; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyVoiceMessages(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyAbout extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyAbout'; - this.constructorId = 0x3823cc40; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyAbout(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyBirthday extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyBirthday'; - this.constructorId = 0xd65a11cc; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyBirthday(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyStarGiftsAutoSave extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyStarGiftsAutoSave'; - this.constructorId = 0xe1732341; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyStarGiftsAutoSave(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyKeyNoPaidMessages extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyKeyNoPaidMessages'; - this.constructorId = 0xbdc597b4; - this.subclassOfId = 0x53627f8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyKeyNoPaidMessages(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyStatusTimestamp extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyStatusTimestamp'; - this.constructorId = 0xbc2eab30; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyStatusTimestamp(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyChatInvite extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyChatInvite'; - this.constructorId = 0x500e6dfa; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyChatInvite(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyPhoneCall extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyPhoneCall'; - this.constructorId = 0x3d662b7b; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyPhoneCall(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyPhoneP2P extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyPhoneP2P'; - this.constructorId = 0x39491cc8; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyPhoneP2P(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyForwards extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyForwards'; - this.constructorId = 0x69ec56a3; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyForwards(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyProfilePhoto extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyProfilePhoto'; - this.constructorId = 0x96151fed; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyProfilePhoto(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyPhoneNumber extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyPhoneNumber'; - this.constructorId = 0xd19ae46d; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyPhoneNumber(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyAddedByPhone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyAddedByPhone'; - this.constructorId = 0x42ffd42b; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyAddedByPhone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyVoiceMessages extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyVoiceMessages'; - this.constructorId = 0x697f414; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyVoiceMessages(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyAbout extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyAbout'; - this.constructorId = 0xa486b761; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.PrivacyKeyAbout(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyBirthday extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyBirthday'; - this.constructorId = 0x2000a518; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyBirthday(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyStarGiftsAutoSave extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyStarGiftsAutoSave'; - this.constructorId = 0x2ca4fdf8; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyStarGiftsAutoSave(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyKeyNoPaidMessages extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyKeyNoPaidMessages'; - this.constructorId = 0x17d348d2; - this.subclassOfId = 0x824651c3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyKeyNoPaidMessages(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowContacts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowContacts'; - this.constructorId = 0xd09e07b; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueAllowContacts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowAll extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowAll'; - this.constructorId = 0x184b35ce; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueAllowAll(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowUsers extends TLObject { - users!: Vector; - - constructor(params: { users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowUsers'; - this.constructorId = 0x131cc67f; - this.subclassOfId = 0x5a3b6b22; - this._slots = ['users']; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let users = await TLObject.read(_data); - return new Raw.InputPrivacyValueAllowUsers({ users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueDisallowContacts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueDisallowContacts'; - this.constructorId = 0xba52007; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueDisallowContacts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueDisallowAll extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueDisallowAll'; - this.constructorId = 0xd66b66c9; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueDisallowAll(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueDisallowUsers extends TLObject { - users!: Vector; - - constructor(params: { users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueDisallowUsers'; - this.constructorId = 0x90110467; - this.subclassOfId = 0x5a3b6b22; - this._slots = ['users']; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let users = await TLObject.read(_data); - return new Raw.InputPrivacyValueDisallowUsers({ users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowChatParticipants extends TLObject { - chats!: Vector; - - constructor(params: { chats: Vector }) { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowChatParticipants'; - this.constructorId = 0x840649cf; - this.subclassOfId = 0x5a3b6b22; - this._slots = ['chats']; - this.chats = params.chats; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chats = await TLObject.read(_data, Primitive.Long); - return new Raw.InputPrivacyValueAllowChatParticipants({ chats: chats }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chats) { - b.write(Primitive.Vector.write(this.chats, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueDisallowChatParticipants extends TLObject { - chats!: Vector; - - constructor(params: { chats: Vector }) { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueDisallowChatParticipants'; - this.constructorId = 0xe94f0f86; - this.subclassOfId = 0x5a3b6b22; - this._slots = ['chats']; - this.chats = params.chats; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chats = await TLObject.read(_data, Primitive.Long); - return new Raw.InputPrivacyValueDisallowChatParticipants({ chats: chats }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chats) { - b.write(Primitive.Vector.write(this.chats, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowCloseFriends extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowCloseFriends'; - this.constructorId = 0x2f453e49; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueAllowCloseFriends(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowPremium extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowPremium'; - this.constructorId = 0x77cdc9f1; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueAllowPremium(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueAllowBots extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueAllowBots'; - this.constructorId = 0x5a4fcce5; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueAllowBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPrivacyValueDisallowBots extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputPrivacyValueDisallowBots'; - this.constructorId = 0xc4e57915; - this.subclassOfId = 0x5a3b6b22; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputPrivacyValueDisallowBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowContacts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowContacts'; - this.constructorId = 0xfffe1bac; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueAllowContacts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowAll extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowAll'; - this.constructorId = 0x65427b82; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueAllowAll(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowUsers extends TLObject { - users!: Vector; - - constructor(params: { users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowUsers'; - this.constructorId = 0xb8905fb2; - this.subclassOfId = 0xebb7f270; - this._slots = ['users']; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let users = await TLObject.read(_data, Primitive.Long); - return new Raw.PrivacyValueAllowUsers({ users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueDisallowContacts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueDisallowContacts'; - this.constructorId = 0xf888fa1a; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueDisallowContacts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueDisallowAll extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueDisallowAll'; - this.constructorId = 0x8b73e763; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueDisallowAll(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueDisallowUsers extends TLObject { - users!: Vector; - - constructor(params: { users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueDisallowUsers'; - this.constructorId = 0xe4621141; - this.subclassOfId = 0xebb7f270; - this._slots = ['users']; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let users = await TLObject.read(_data, Primitive.Long); - return new Raw.PrivacyValueDisallowUsers({ users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowChatParticipants extends TLObject { - chats!: Vector; - - constructor(params: { chats: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowChatParticipants'; - this.constructorId = 0x6b134e8e; - this.subclassOfId = 0xebb7f270; - this._slots = ['chats']; - this.chats = params.chats; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chats = await TLObject.read(_data, Primitive.Long); - return new Raw.PrivacyValueAllowChatParticipants({ chats: chats }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chats) { - b.write(Primitive.Vector.write(this.chats, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueDisallowChatParticipants extends TLObject { - chats!: Vector; - - constructor(params: { chats: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueDisallowChatParticipants'; - this.constructorId = 0x41c87565; - this.subclassOfId = 0xebb7f270; - this._slots = ['chats']; - this.chats = params.chats; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chats = await TLObject.read(_data, Primitive.Long); - return new Raw.PrivacyValueDisallowChatParticipants({ chats: chats }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chats) { - b.write(Primitive.Vector.write(this.chats, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowCloseFriends extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowCloseFriends'; - this.constructorId = 0xf7e8d89b; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueAllowCloseFriends(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowPremium extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowPremium'; - this.constructorId = 0xece9814b; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueAllowPremium(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueAllowBots extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueAllowBots'; - this.constructorId = 0x21461b5d; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueAllowBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrivacyValueDisallowBots extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PrivacyValueDisallowBots'; - this.constructorId = 0xf6a5f82f; - this.subclassOfId = 0xebb7f270; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PrivacyValueDisallowBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AccountDaysTTL extends TLObject { - days!: int; - - constructor(params: { days: int }) { - super(); - this.classType = 'types'; - this.className = 'AccountDaysTTL'; - this.constructorId = 0xb8d0afdf; - this.subclassOfId = 0xbaa39d88; - this._slots = ['days']; - this.days = params.days; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let days = await Primitive.Int.read(_data); - return new Raw.AccountDaysTTL({ days: days }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.days !== undefined) { - b.write(Primitive.Int.write(this.days) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeImageSize extends TLObject { - w!: int; - h!: int; - - constructor(params: { w: int; h: int }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeImageSize'; - this.constructorId = 0x6c37c15c; - this.subclassOfId = 0xf729eb9b; - this._slots = ['w', 'h']; - this.w = params.w; - this.h = params.h; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - return new Raw.DocumentAttributeImageSize({ w: w, h: h }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeAnimated extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeAnimated'; - this.constructorId = 0x11b58939; - this.subclassOfId = 0xf729eb9b; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DocumentAttributeAnimated(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeSticker extends TLObject { - mask?: boolean; - alt!: string; - stickerset!: Raw.TypeInputStickerSet; - maskCoords?: Raw.TypeMaskCoords; - - constructor(params: { - mask?: boolean; - alt: string; - stickerset: Raw.TypeInputStickerSet; - maskCoords?: Raw.TypeMaskCoords; - }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeSticker'; - this.constructorId = 0x6319d612; - this.subclassOfId = 0xf729eb9b; - this._slots = ['mask', 'alt', 'stickerset', 'maskCoords']; - this.mask = params.mask; - this.alt = params.alt; - this.stickerset = params.stickerset; - this.maskCoords = params.maskCoords; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let mask = flags & (1 << 1) ? true : false; - let alt = await Primitive.String.read(_data); - let stickerset = await TLObject.read(_data); - let maskCoords = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.DocumentAttributeSticker({ - mask: mask, - alt: alt, - stickerset: stickerset, - maskCoords: maskCoords, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.mask ? 1 << 1 : 0; - flags |= this.maskCoords !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.alt !== undefined) { - b.write(Primitive.String.write(this.alt) as unknown as Buffer); - } - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.maskCoords !== undefined) { - b.write(this.maskCoords.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeVideo extends TLObject { - roundMessage?: boolean; - supportsStreaming?: boolean; - nosound?: boolean; - duration!: double; - w!: int; - h!: int; - preloadPrefixSize?: int; - videoStartTs?: double; - videoCodec?: string; - - constructor(params: { - roundMessage?: boolean; - supportsStreaming?: boolean; - nosound?: boolean; - duration: double; - w: int; - h: int; - preloadPrefixSize?: int; - videoStartTs?: double; - videoCodec?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeVideo'; - this.constructorId = 0x43c57c48; - this.subclassOfId = 0xf729eb9b; - this._slots = [ - 'roundMessage', - 'supportsStreaming', - 'nosound', - 'duration', - 'w', - 'h', - 'preloadPrefixSize', - 'videoStartTs', - 'videoCodec', - ]; - this.roundMessage = params.roundMessage; - this.supportsStreaming = params.supportsStreaming; - this.nosound = params.nosound; - this.duration = params.duration; - this.w = params.w; - this.h = params.h; - this.preloadPrefixSize = params.preloadPrefixSize; - this.videoStartTs = params.videoStartTs; - this.videoCodec = params.videoCodec; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let roundMessage = flags & (1 << 0) ? true : false; - let supportsStreaming = flags & (1 << 1) ? true : false; - let nosound = flags & (1 << 3) ? true : false; - let duration = await Primitive.Double.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let preloadPrefixSize = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let videoStartTs = flags & (1 << 4) ? await Primitive.Double.read(_data) : undefined; - let videoCodec = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - return new Raw.DocumentAttributeVideo({ - roundMessage: roundMessage, - supportsStreaming: supportsStreaming, - nosound: nosound, - duration: duration, - w: w, - h: h, - preloadPrefixSize: preloadPrefixSize, - videoStartTs: videoStartTs, - videoCodec: videoCodec, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.roundMessage ? 1 << 0 : 0; - flags |= this.supportsStreaming ? 1 << 1 : 0; - flags |= this.nosound ? 1 << 3 : 0; - flags |= this.preloadPrefixSize !== undefined ? 1 << 2 : 0; - flags |= this.videoStartTs !== undefined ? 1 << 4 : 0; - flags |= this.videoCodec !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.duration !== undefined) { - b.write(Primitive.Double.write(this.duration) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.preloadPrefixSize !== undefined) { - b.write(Primitive.Int.write(this.preloadPrefixSize) as unknown as Buffer); - } - if (this.videoStartTs !== undefined) { - b.write(Primitive.Double.write(this.videoStartTs) as unknown as Buffer); - } - if (this.videoCodec !== undefined) { - b.write(Primitive.String.write(this.videoCodec) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeAudio extends TLObject { - voice?: boolean; - duration!: int; - title?: string; - performer?: string; - waveform?: bytes; - - constructor(params: { - voice?: boolean; - duration: int; - title?: string; - performer?: string; - waveform?: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeAudio'; - this.constructorId = 0x9852f9c6; - this.subclassOfId = 0xf729eb9b; - this._slots = ['voice', 'duration', 'title', 'performer', 'waveform']; - this.voice = params.voice; - this.duration = params.duration; - this.title = params.title; - this.performer = params.performer; - this.waveform = params.waveform; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let voice = flags & (1 << 10) ? true : false; - let duration = await Primitive.Int.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let performer = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let waveform = flags & (1 << 2) ? await Primitive.Bytes.read(_data) : undefined; - return new Raw.DocumentAttributeAudio({ - voice: voice, - duration: duration, - title: title, - performer: performer, - waveform: waveform, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.voice ? 1 << 10 : 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.performer !== undefined ? 1 << 1 : 0; - flags |= this.waveform !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.performer !== undefined) { - b.write(Primitive.String.write(this.performer) as unknown as Buffer); - } - if (this.waveform !== undefined) { - b.write(Primitive.Bytes.write(this.waveform) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeFilename extends TLObject { - fileName!: string; - - constructor(params: { fileName: string }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeFilename'; - this.constructorId = 0x15590068; - this.subclassOfId = 0xf729eb9b; - this._slots = ['fileName']; - this.fileName = params.fileName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fileName = await Primitive.String.read(_data); - return new Raw.DocumentAttributeFilename({ fileName: fileName }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fileName !== undefined) { - b.write(Primitive.String.write(this.fileName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeHasStickers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeHasStickers'; - this.constructorId = 0x9801d2f7; - this.subclassOfId = 0xf729eb9b; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DocumentAttributeHasStickers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeCustomEmoji extends TLObject { - free?: boolean; - textColor?: boolean; - alt!: string; - stickerset!: Raw.TypeInputStickerSet; - - constructor(params: { - free?: boolean; - textColor?: boolean; - alt: string; - stickerset: Raw.TypeInputStickerSet; - }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeCustomEmoji'; - this.constructorId = 0xfd149899; - this.subclassOfId = 0xf729eb9b; - this._slots = ['free', 'textColor', 'alt', 'stickerset']; - this.free = params.free; - this.textColor = params.textColor; - this.alt = params.alt; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let free = flags & (1 << 0) ? true : false; - let textColor = flags & (1 << 1) ? true : false; - let alt = await Primitive.String.read(_data); - let stickerset = await TLObject.read(_data); - return new Raw.DocumentAttributeCustomEmoji({ - free: free, - textColor: textColor, - alt: alt, - stickerset: stickerset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.free ? 1 << 0 : 0; - flags |= this.textColor ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.alt !== undefined) { - b.write(Primitive.String.write(this.alt) as unknown as Buffer); - } - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerPack extends TLObject { - emoticon!: string; - documents!: Vector; - - constructor(params: { emoticon: string; documents: Vector }) { - super(); - this.classType = 'types'; - this.className = 'StickerPack'; - this.constructorId = 0x12b299d4; - this.subclassOfId = 0x9fefa4d4; - this._slots = ['emoticon', 'documents']; - this.emoticon = params.emoticon; - this.documents = params.documents; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - let documents = await TLObject.read(_data, Primitive.Long); - return new Raw.StickerPack({ emoticon: emoticon, documents: documents }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.documents) { - b.write(Primitive.Vector.write(this.documents, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPageEmpty extends TLObject { - id!: long; - url?: string; - - constructor(params: { id: long; url?: string }) { - super(); - this.classType = 'types'; - this.className = 'WebPageEmpty'; - this.constructorId = 0x211a1788; - this.subclassOfId = 0x55a97481; - this._slots = ['id', 'url']; - this.id = params.id; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let url = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.WebPageEmpty({ id: id, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.url !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPagePending extends TLObject { - id!: long; - url?: string; - date!: int; - - constructor(params: { id: long; url?: string; date: int }) { - super(); - this.classType = 'types'; - this.className = 'WebPagePending'; - this.constructorId = 0xb0d13e47; - this.subclassOfId = 0x55a97481; - this._slots = ['id', 'url', 'date']; - this.id = params.id; - this.url = params.url; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let url = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - return new Raw.WebPagePending({ id: id, url: url, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.url !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPage extends TLObject { - hasLargeMedia?: boolean; - videoCoverPhoto?: boolean; - id!: long; - url!: string; - displayUrl!: string; - hash!: int; - type?: string; - siteName?: string; - title?: string; - description?: string; - photo?: Raw.TypePhoto; - embedUrl?: string; - embedType?: string; - embedWidth?: int; - embedHeight?: int; - duration?: int; - author?: string; - document?: Raw.TypeDocument; - cachedPage?: Raw.TypePage; - attributes?: Vector; - - constructor(params: { - hasLargeMedia?: boolean; - videoCoverPhoto?: boolean; - id: long; - url: string; - displayUrl: string; - hash: int; - type?: string; - siteName?: string; - title?: string; - description?: string; - photo?: Raw.TypePhoto; - embedUrl?: string; - embedType?: string; - embedWidth?: int; - embedHeight?: int; - duration?: int; - author?: string; - document?: Raw.TypeDocument; - cachedPage?: Raw.TypePage; - attributes?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'WebPage'; - this.constructorId = 0xe89c45b2; - this.subclassOfId = 0x55a97481; - this._slots = [ - 'hasLargeMedia', - 'videoCoverPhoto', - 'id', - 'url', - 'displayUrl', - 'hash', - 'type', - 'siteName', - 'title', - 'description', - 'photo', - 'embedUrl', - 'embedType', - 'embedWidth', - 'embedHeight', - 'duration', - 'author', - 'document', - 'cachedPage', - 'attributes', - ]; - this.hasLargeMedia = params.hasLargeMedia; - this.videoCoverPhoto = params.videoCoverPhoto; - this.id = params.id; - this.url = params.url; - this.displayUrl = params.displayUrl; - this.hash = params.hash; - this.type = params.type; - this.siteName = params.siteName; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.embedUrl = params.embedUrl; - this.embedType = params.embedType; - this.embedWidth = params.embedWidth; - this.embedHeight = params.embedHeight; - this.duration = params.duration; - this.author = params.author; - this.document = params.document; - this.cachedPage = params.cachedPage; - this.attributes = params.attributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasLargeMedia = flags & (1 << 13) ? true : false; - let videoCoverPhoto = flags & (1 << 14) ? true : false; - let id = await Primitive.Long.read(_data); - let url = await Primitive.String.read(_data); - let displayUrl = await Primitive.String.read(_data); - let hash = await Primitive.Int.read(_data); - let type = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let siteName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let title = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let embedUrl = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - let embedType = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - let embedWidth = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let embedHeight = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let duration = flags & (1 << 7) ? await Primitive.Int.read(_data) : undefined; - let author = flags & (1 << 8) ? await Primitive.String.read(_data) : undefined; - let document = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let cachedPage = flags & (1 << 10) ? await TLObject.read(_data) : undefined; - let attributes = flags & (1 << 12) ? await TLObject.read(_data) : []; - return new Raw.WebPage({ - hasLargeMedia: hasLargeMedia, - videoCoverPhoto: videoCoverPhoto, - id: id, - url: url, - displayUrl: displayUrl, - hash: hash, - type: type, - siteName: siteName, - title: title, - description: description, - photo: photo, - embedUrl: embedUrl, - embedType: embedType, - embedWidth: embedWidth, - embedHeight: embedHeight, - duration: duration, - author: author, - document: document, - cachedPage: cachedPage, - attributes: attributes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasLargeMedia ? 1 << 13 : 0; - flags |= this.videoCoverPhoto ? 1 << 14 : 0; - flags |= this.type !== undefined ? 1 << 0 : 0; - flags |= this.siteName !== undefined ? 1 << 1 : 0; - flags |= this.title !== undefined ? 1 << 2 : 0; - flags |= this.description !== undefined ? 1 << 3 : 0; - flags |= this.photo !== undefined ? 1 << 4 : 0; - flags |= this.embedUrl !== undefined ? 1 << 5 : 0; - flags |= this.embedType !== undefined ? 1 << 5 : 0; - flags |= this.embedWidth !== undefined ? 1 << 6 : 0; - flags |= this.embedHeight !== undefined ? 1 << 6 : 0; - flags |= this.duration !== undefined ? 1 << 7 : 0; - flags |= this.author !== undefined ? 1 << 8 : 0; - flags |= this.document !== undefined ? 1 << 9 : 0; - flags |= this.cachedPage !== undefined ? 1 << 10 : 0; - flags |= this.attributes ? 1 << 12 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.displayUrl !== undefined) { - b.write(Primitive.String.write(this.displayUrl) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.siteName !== undefined) { - b.write(Primitive.String.write(this.siteName) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.embedUrl !== undefined) { - b.write(Primitive.String.write(this.embedUrl) as unknown as Buffer); - } - if (this.embedType !== undefined) { - b.write(Primitive.String.write(this.embedType) as unknown as Buffer); - } - if (this.embedWidth !== undefined) { - b.write(Primitive.Int.write(this.embedWidth) as unknown as Buffer); - } - if (this.embedHeight !== undefined) { - b.write(Primitive.Int.write(this.embedHeight) as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.author !== undefined) { - b.write(Primitive.String.write(this.author) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.cachedPage !== undefined) { - b.write(this.cachedPage.write() as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPageNotModified extends TLObject { - cachedPageViews?: int; - - constructor(params: { cachedPageViews?: int }) { - super(); - this.classType = 'types'; - this.className = 'WebPageNotModified'; - this.constructorId = 0x7311ca11; - this.subclassOfId = 0x55a97481; - this._slots = ['cachedPageViews']; - this.cachedPageViews = params.cachedPageViews; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let cachedPageViews = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.WebPageNotModified({ cachedPageViews: cachedPageViews }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.cachedPageViews !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.cachedPageViews !== undefined) { - b.write(Primitive.Int.write(this.cachedPageViews) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Authorization extends TLObject { - current?: boolean; - officialApp?: boolean; - passwordPending?: boolean; - encryptedRequestsDisabled?: boolean; - callRequestsDisabled?: boolean; - unconfirmed?: boolean; - hash!: long; - deviceModel!: string; - platform!: string; - systemVersion!: string; - apiId!: int; - appName!: string; - appVersion!: string; - dateCreated!: int; - dateActive!: int; - ip!: string; - country!: string; - region!: string; - - constructor(params: { - current?: boolean; - officialApp?: boolean; - passwordPending?: boolean; - encryptedRequestsDisabled?: boolean; - callRequestsDisabled?: boolean; - unconfirmed?: boolean; - hash: long; - deviceModel: string; - platform: string; - systemVersion: string; - apiId: int; - appName: string; - appVersion: string; - dateCreated: int; - dateActive: int; - ip: string; - country: string; - region: string; - }) { - super(); - this.classType = 'types'; - this.className = 'Authorization'; - this.constructorId = 0xad01d61d; - this.subclassOfId = 0xc913c01a; - this._slots = [ - 'current', - 'officialApp', - 'passwordPending', - 'encryptedRequestsDisabled', - 'callRequestsDisabled', - 'unconfirmed', - 'hash', - 'deviceModel', - 'platform', - 'systemVersion', - 'apiId', - 'appName', - 'appVersion', - 'dateCreated', - 'dateActive', - 'ip', - 'country', - 'region', - ]; - this.current = params.current; - this.officialApp = params.officialApp; - this.passwordPending = params.passwordPending; - this.encryptedRequestsDisabled = params.encryptedRequestsDisabled; - this.callRequestsDisabled = params.callRequestsDisabled; - this.unconfirmed = params.unconfirmed; - this.hash = params.hash; - this.deviceModel = params.deviceModel; - this.platform = params.platform; - this.systemVersion = params.systemVersion; - this.apiId = params.apiId; - this.appName = params.appName; - this.appVersion = params.appVersion; - this.dateCreated = params.dateCreated; - this.dateActive = params.dateActive; - this.ip = params.ip; - this.country = params.country; - this.region = params.region; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let current = flags & (1 << 0) ? true : false; - let officialApp = flags & (1 << 1) ? true : false; - let passwordPending = flags & (1 << 2) ? true : false; - let encryptedRequestsDisabled = flags & (1 << 3) ? true : false; - let callRequestsDisabled = flags & (1 << 4) ? true : false; - let unconfirmed = flags & (1 << 5) ? true : false; - let hash = await Primitive.Long.read(_data); - let deviceModel = await Primitive.String.read(_data); - let platform = await Primitive.String.read(_data); - let systemVersion = await Primitive.String.read(_data); - let apiId = await Primitive.Int.read(_data); - let appName = await Primitive.String.read(_data); - let appVersion = await Primitive.String.read(_data); - let dateCreated = await Primitive.Int.read(_data); - let dateActive = await Primitive.Int.read(_data); - let ip = await Primitive.String.read(_data); - let country = await Primitive.String.read(_data); - let region = await Primitive.String.read(_data); - return new Raw.Authorization({ - current: current, - officialApp: officialApp, - passwordPending: passwordPending, - encryptedRequestsDisabled: encryptedRequestsDisabled, - callRequestsDisabled: callRequestsDisabled, - unconfirmed: unconfirmed, - hash: hash, - deviceModel: deviceModel, - platform: platform, - systemVersion: systemVersion, - apiId: apiId, - appName: appName, - appVersion: appVersion, - dateCreated: dateCreated, - dateActive: dateActive, - ip: ip, - country: country, - region: region, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.current ? 1 << 0 : 0; - flags |= this.officialApp ? 1 << 1 : 0; - flags |= this.passwordPending ? 1 << 2 : 0; - flags |= this.encryptedRequestsDisabled ? 1 << 3 : 0; - flags |= this.callRequestsDisabled ? 1 << 4 : 0; - flags |= this.unconfirmed ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.deviceModel !== undefined) { - b.write(Primitive.String.write(this.deviceModel) as unknown as Buffer); - } - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - if (this.systemVersion !== undefined) { - b.write(Primitive.String.write(this.systemVersion) as unknown as Buffer); - } - if (this.apiId !== undefined) { - b.write(Primitive.Int.write(this.apiId) as unknown as Buffer); - } - if (this.appName !== undefined) { - b.write(Primitive.String.write(this.appName) as unknown as Buffer); - } - if (this.appVersion !== undefined) { - b.write(Primitive.String.write(this.appVersion) as unknown as Buffer); - } - if (this.dateCreated !== undefined) { - b.write(Primitive.Int.write(this.dateCreated) as unknown as Buffer); - } - if (this.dateActive !== undefined) { - b.write(Primitive.Int.write(this.dateActive) as unknown as Buffer); - } - if (this.ip !== undefined) { - b.write(Primitive.String.write(this.ip) as unknown as Buffer); - } - if (this.country !== undefined) { - b.write(Primitive.String.write(this.country) as unknown as Buffer); - } - if (this.region !== undefined) { - b.write(Primitive.String.write(this.region) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReceivedNotifyMessage extends TLObject { - id!: int; - flags!: int; - - constructor(params: { id: int; flags: int }) { - super(); - this.classType = 'types'; - this.className = 'ReceivedNotifyMessage'; - this.constructorId = 0xa384b779; - this.subclassOfId = 0xa962381e; - this._slots = ['id', 'flags']; - this.id = params.id; - this.flags = params.flags; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let flags = await Primitive.Int.read(_data); - return new Raw.ReceivedNotifyMessage({ id: id, flags: flags }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.flags !== undefined) { - b.write(Primitive.Int.write(this.flags) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInviteExported extends TLObject { - revoked?: boolean; - permanent?: boolean; - requestNeeded?: boolean; - link!: string; - adminId!: long; - date!: int; - startDate?: int; - expireDate?: int; - usageLimit?: int; - usage?: int; - requested?: int; - subscriptionExpired?: int; - title?: string; - subscriptionPricing?: Raw.TypeStarsSubscriptionPricing; - - constructor(params: { - revoked?: boolean; - permanent?: boolean; - requestNeeded?: boolean; - link: string; - adminId: long; - date: int; - startDate?: int; - expireDate?: int; - usageLimit?: int; - usage?: int; - requested?: int; - subscriptionExpired?: int; - title?: string; - subscriptionPricing?: Raw.TypeStarsSubscriptionPricing; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatInviteExported'; - this.constructorId = 0xa22cbd96; - this.subclassOfId = 0xb4748a58; - this._slots = [ - 'revoked', - 'permanent', - 'requestNeeded', - 'link', - 'adminId', - 'date', - 'startDate', - 'expireDate', - 'usageLimit', - 'usage', - 'requested', - 'subscriptionExpired', - 'title', - 'subscriptionPricing', - ]; - this.revoked = params.revoked; - this.permanent = params.permanent; - this.requestNeeded = params.requestNeeded; - this.link = params.link; - this.adminId = params.adminId; - this.date = params.date; - this.startDate = params.startDate; - this.expireDate = params.expireDate; - this.usageLimit = params.usageLimit; - this.usage = params.usage; - this.requested = params.requested; - this.subscriptionExpired = params.subscriptionExpired; - this.title = params.title; - this.subscriptionPricing = params.subscriptionPricing; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoked = flags & (1 << 0) ? true : false; - let permanent = flags & (1 << 5) ? true : false; - let requestNeeded = flags & (1 << 6) ? true : false; - let link = await Primitive.String.read(_data); - let adminId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let startDate = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let expireDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let usageLimit = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let usage = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let requested = flags & (1 << 7) ? await Primitive.Int.read(_data) : undefined; - let subscriptionExpired = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let title = flags & (1 << 8) ? await Primitive.String.read(_data) : undefined; - let subscriptionPricing = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - return new Raw.ChatInviteExported({ - revoked: revoked, - permanent: permanent, - requestNeeded: requestNeeded, - link: link, - adminId: adminId, - date: date, - startDate: startDate, - expireDate: expireDate, - usageLimit: usageLimit, - usage: usage, - requested: requested, - subscriptionExpired: subscriptionExpired, - title: title, - subscriptionPricing: subscriptionPricing, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoked ? 1 << 0 : 0; - flags |= this.permanent ? 1 << 5 : 0; - flags |= this.requestNeeded ? 1 << 6 : 0; - flags |= this.startDate !== undefined ? 1 << 4 : 0; - flags |= this.expireDate !== undefined ? 1 << 1 : 0; - flags |= this.usageLimit !== undefined ? 1 << 2 : 0; - flags |= this.usage !== undefined ? 1 << 3 : 0; - flags |= this.requested !== undefined ? 1 << 7 : 0; - flags |= this.subscriptionExpired !== undefined ? 1 << 10 : 0; - flags |= this.title !== undefined ? 1 << 8 : 0; - flags |= this.subscriptionPricing !== undefined ? 1 << 9 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.startDate !== undefined) { - b.write(Primitive.Int.write(this.startDate) as unknown as Buffer); - } - if (this.expireDate !== undefined) { - b.write(Primitive.Int.write(this.expireDate) as unknown as Buffer); - } - if (this.usageLimit !== undefined) { - b.write(Primitive.Int.write(this.usageLimit) as unknown as Buffer); - } - if (this.usage !== undefined) { - b.write(Primitive.Int.write(this.usage) as unknown as Buffer); - } - if (this.requested !== undefined) { - b.write(Primitive.Int.write(this.requested) as unknown as Buffer); - } - if (this.subscriptionExpired !== undefined) { - b.write(Primitive.Int.write(this.subscriptionExpired) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.subscriptionPricing !== undefined) { - b.write(this.subscriptionPricing.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInvitePublicJoinRequests extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChatInvitePublicJoinRequests'; - this.constructorId = 0xed107ab7; - this.subclassOfId = 0xb4748a58; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChatInvitePublicJoinRequests(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInviteAlready extends TLObject { - chat!: Raw.TypeChat; - - constructor(params: { chat: Raw.TypeChat }) { - super(); - this.classType = 'types'; - this.className = 'ChatInviteAlready'; - this.constructorId = 0x5a686d7c; - this.subclassOfId = 0x4561736; - this._slots = ['chat']; - this.chat = params.chat; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chat = await TLObject.read(_data); - return new Raw.ChatInviteAlready({ chat: chat }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chat !== undefined) { - b.write(this.chat.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInvite extends TLObject { - channel?: boolean; - broadcast?: boolean; - public?: boolean; - megagroup?: boolean; - requestNeeded?: boolean; - verified?: boolean; - scam?: boolean; - fake?: boolean; - canRefulfillSubscription?: boolean; - title!: string; - about?: string; - photo!: Raw.TypePhoto; - participantsCount!: int; - participants?: Vector; - color!: int; - subscriptionPricing?: Raw.TypeStarsSubscriptionPricing; - subscriptionFormId?: long; - botVerification?: Raw.TypeBotVerification; - - constructor(params: { - channel?: boolean; - broadcast?: boolean; - public?: boolean; - megagroup?: boolean; - requestNeeded?: boolean; - verified?: boolean; - scam?: boolean; - fake?: boolean; - canRefulfillSubscription?: boolean; - title: string; - about?: string; - photo: Raw.TypePhoto; - participantsCount: int; - participants?: Vector; - color: int; - subscriptionPricing?: Raw.TypeStarsSubscriptionPricing; - subscriptionFormId?: long; - botVerification?: Raw.TypeBotVerification; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatInvite'; - this.constructorId = 0x5c9d3702; - this.subclassOfId = 0x4561736; - this._slots = [ - 'channel', - 'broadcast', - 'public', - 'megagroup', - 'requestNeeded', - 'verified', - 'scam', - 'fake', - 'canRefulfillSubscription', - 'title', - 'about', - 'photo', - 'participantsCount', - 'participants', - 'color', - 'subscriptionPricing', - 'subscriptionFormId', - 'botVerification', - ]; - this.channel = params.channel; - this.broadcast = params.broadcast; - this.public = params.public; - this.megagroup = params.megagroup; - this.requestNeeded = params.requestNeeded; - this.verified = params.verified; - this.scam = params.scam; - this.fake = params.fake; - this.canRefulfillSubscription = params.canRefulfillSubscription; - this.title = params.title; - this.about = params.about; - this.photo = params.photo; - this.participantsCount = params.participantsCount; - this.participants = params.participants; - this.color = params.color; - this.subscriptionPricing = params.subscriptionPricing; - this.subscriptionFormId = params.subscriptionFormId; - this.botVerification = params.botVerification; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channel = flags & (1 << 0) ? true : false; - let broadcast = flags & (1 << 1) ? true : false; - let _public = flags & (1 << 2) ? true : false; - let megagroup = flags & (1 << 3) ? true : false; - let requestNeeded = flags & (1 << 6) ? true : false; - let verified = flags & (1 << 7) ? true : false; - let scam = flags & (1 << 8) ? true : false; - let fake = flags & (1 << 9) ? true : false; - let canRefulfillSubscription = flags & (1 << 11) ? true : false; - let title = await Primitive.String.read(_data); - let about = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - let photo = await TLObject.read(_data); - let participantsCount = await Primitive.Int.read(_data); - let participants = flags & (1 << 4) ? await TLObject.read(_data) : []; - let color = await Primitive.Int.read(_data); - let subscriptionPricing = flags & (1 << 10) ? await TLObject.read(_data) : undefined; - let subscriptionFormId = flags & (1 << 12) ? await Primitive.Long.read(_data) : undefined; - let botVerification = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - return new Raw.ChatInvite({ - channel: channel, - broadcast: broadcast, - public: _public, - megagroup: megagroup, - requestNeeded: requestNeeded, - verified: verified, - scam: scam, - fake: fake, - canRefulfillSubscription: canRefulfillSubscription, - title: title, - about: about, - photo: photo, - participantsCount: participantsCount, - participants: participants, - color: color, - subscriptionPricing: subscriptionPricing, - subscriptionFormId: subscriptionFormId, - botVerification: botVerification, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.channel ? 1 << 0 : 0; - flags |= this.broadcast ? 1 << 1 : 0; - flags |= this.public ? 1 << 2 : 0; - flags |= this.megagroup ? 1 << 3 : 0; - flags |= this.requestNeeded ? 1 << 6 : 0; - flags |= this.verified ? 1 << 7 : 0; - flags |= this.scam ? 1 << 8 : 0; - flags |= this.fake ? 1 << 9 : 0; - flags |= this.canRefulfillSubscription ? 1 << 11 : 0; - flags |= this.about !== undefined ? 1 << 5 : 0; - flags |= this.participants ? 1 << 4 : 0; - flags |= this.subscriptionPricing !== undefined ? 1 << 10 : 0; - flags |= this.subscriptionFormId !== undefined ? 1 << 12 : 0; - flags |= this.botVerification !== undefined ? 1 << 13 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.participantsCount !== undefined) { - b.write(Primitive.Int.write(this.participantsCount) as unknown as Buffer); - } - if (this.participants) { - b.write(Primitive.Vector.write(this.participants) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - if (this.subscriptionPricing !== undefined) { - b.write(this.subscriptionPricing.write() as unknown as Buffer); - } - if (this.subscriptionFormId !== undefined) { - b.write(Primitive.Long.write(this.subscriptionFormId) as unknown as Buffer); - } - if (this.botVerification !== undefined) { - b.write(this.botVerification.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInvitePeek extends TLObject { - chat!: Raw.TypeChat; - expires!: int; - - constructor(params: { chat: Raw.TypeChat; expires: int }) { - super(); - this.classType = 'types'; - this.className = 'ChatInvitePeek'; - this.constructorId = 0x61695cb0; - this.subclassOfId = 0x4561736; - this._slots = ['chat', 'expires']; - this.chat = params.chat; - this.expires = params.expires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let chat = await TLObject.read(_data); - let expires = await Primitive.Int.read(_data); - return new Raw.ChatInvitePeek({ chat: chat, expires: expires }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chat !== undefined) { - b.write(this.chat.write() as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetEmpty'; - this.constructorId = 0xffb62b95; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetID extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetID'; - this.constructorId = 0x9de7a269; - this.subclassOfId = 0x3da389aa; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputStickerSetID({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetShortName extends TLObject { - shortName!: string; - - constructor(params: { shortName: string }) { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetShortName'; - this.constructorId = 0x861cc8a0; - this.subclassOfId = 0x3da389aa; - this._slots = ['shortName']; - this.shortName = params.shortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortName = await Primitive.String.read(_data); - return new Raw.InputStickerSetShortName({ shortName: shortName }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetAnimatedEmoji extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetAnimatedEmoji'; - this.constructorId = 0x28703c8; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetAnimatedEmoji(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetDice extends TLObject { - emoticon!: string; - - constructor(params: { emoticon: string }) { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetDice'; - this.constructorId = 0xe67f520e; - this.subclassOfId = 0x3da389aa; - this._slots = ['emoticon']; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - return new Raw.InputStickerSetDice({ emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetAnimatedEmojiAnimations extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetAnimatedEmojiAnimations'; - this.constructorId = 0xcde3739; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetAnimatedEmojiAnimations(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetPremiumGifts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetPremiumGifts'; - this.constructorId = 0xc88b3b02; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetPremiumGifts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetEmojiGenericAnimations extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetEmojiGenericAnimations'; - this.constructorId = 0x4c4d4ce; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetEmojiGenericAnimations(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetEmojiDefaultStatuses extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetEmojiDefaultStatuses'; - this.constructorId = 0x29d0f5ee; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetEmojiDefaultStatuses(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetEmojiDefaultTopicIcons extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetEmojiDefaultTopicIcons'; - this.constructorId = 0x44c1f8e9; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetEmojiDefaultTopicIcons(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetEmojiChannelDefaultStatuses extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetEmojiChannelDefaultStatuses'; - this.constructorId = 0x49748553; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetEmojiChannelDefaultStatuses(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetTonGifts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetTonGifts'; - this.constructorId = 0x1cf671a0; - this.subclassOfId = 0x3da389aa; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputStickerSetTonGifts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSet extends TLObject { - archived?: boolean; - official?: boolean; - masks?: boolean; - emojis?: boolean; - textColor?: boolean; - channelEmojiStatus?: boolean; - creator?: boolean; - installedDate?: int; - id!: long; - accessHash!: long; - title!: string; - shortName!: string; - thumbs?: Vector; - thumbDcId?: int; - thumbVersion?: int; - thumbDocumentId?: long; - count!: int; - hash!: int; - - constructor(params: { - archived?: boolean; - official?: boolean; - masks?: boolean; - emojis?: boolean; - textColor?: boolean; - channelEmojiStatus?: boolean; - creator?: boolean; - installedDate?: int; - id: long; - accessHash: long; - title: string; - shortName: string; - thumbs?: Vector; - thumbDcId?: int; - thumbVersion?: int; - thumbDocumentId?: long; - count: int; - hash: int; - }) { - super(); - this.classType = 'types'; - this.className = 'StickerSet'; - this.constructorId = 0x2dd14edc; - this.subclassOfId = 0xbad3ff91; - this._slots = [ - 'archived', - 'official', - 'masks', - 'emojis', - 'textColor', - 'channelEmojiStatus', - 'creator', - 'installedDate', - 'id', - 'accessHash', - 'title', - 'shortName', - 'thumbs', - 'thumbDcId', - 'thumbVersion', - 'thumbDocumentId', - 'count', - 'hash', - ]; - this.archived = params.archived; - this.official = params.official; - this.masks = params.masks; - this.emojis = params.emojis; - this.textColor = params.textColor; - this.channelEmojiStatus = params.channelEmojiStatus; - this.creator = params.creator; - this.installedDate = params.installedDate; - this.id = params.id; - this.accessHash = params.accessHash; - this.title = params.title; - this.shortName = params.shortName; - this.thumbs = params.thumbs; - this.thumbDcId = params.thumbDcId; - this.thumbVersion = params.thumbVersion; - this.thumbDocumentId = params.thumbDocumentId; - this.count = params.count; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let archived = flags & (1 << 1) ? true : false; - let official = flags & (1 << 2) ? true : false; - let masks = flags & (1 << 3) ? true : false; - let emojis = flags & (1 << 7) ? true : false; - let textColor = flags & (1 << 9) ? true : false; - let channelEmojiStatus = flags & (1 << 10) ? true : false; - let creator = flags & (1 << 11) ? true : false; - let installedDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let shortName = await Primitive.String.read(_data); - let thumbs = flags & (1 << 4) ? await TLObject.read(_data) : []; - let thumbDcId = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let thumbVersion = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let thumbDocumentId = flags & (1 << 8) ? await Primitive.Long.read(_data) : undefined; - let count = await Primitive.Int.read(_data); - let hash = await Primitive.Int.read(_data); - return new Raw.StickerSet({ - archived: archived, - official: official, - masks: masks, - emojis: emojis, - textColor: textColor, - channelEmojiStatus: channelEmojiStatus, - creator: creator, - installedDate: installedDate, - id: id, - accessHash: accessHash, - title: title, - shortName: shortName, - thumbs: thumbs, - thumbDcId: thumbDcId, - thumbVersion: thumbVersion, - thumbDocumentId: thumbDocumentId, - count: count, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.archived ? 1 << 1 : 0; - flags |= this.official ? 1 << 2 : 0; - flags |= this.masks ? 1 << 3 : 0; - flags |= this.emojis ? 1 << 7 : 0; - flags |= this.textColor ? 1 << 9 : 0; - flags |= this.channelEmojiStatus ? 1 << 10 : 0; - flags |= this.creator ? 1 << 11 : 0; - flags |= this.installedDate !== undefined ? 1 << 0 : 0; - flags |= this.thumbs ? 1 << 4 : 0; - flags |= this.thumbDcId !== undefined ? 1 << 4 : 0; - flags |= this.thumbVersion !== undefined ? 1 << 4 : 0; - flags |= this.thumbDocumentId !== undefined ? 1 << 8 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.installedDate !== undefined) { - b.write(Primitive.Int.write(this.installedDate) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - if (this.thumbs) { - b.write(Primitive.Vector.write(this.thumbs) as unknown as Buffer); - } - if (this.thumbDcId !== undefined) { - b.write(Primitive.Int.write(this.thumbDcId) as unknown as Buffer); - } - if (this.thumbVersion !== undefined) { - b.write(Primitive.Int.write(this.thumbVersion) as unknown as Buffer); - } - if (this.thumbDocumentId !== undefined) { - b.write(Primitive.Long.write(this.thumbDocumentId) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommand extends TLObject { - command!: string; - description!: string; - - constructor(params: { command: string; description: string }) { - super(); - this.classType = 'types'; - this.className = 'BotCommand'; - this.constructorId = 0xc27ac8c7; - this.subclassOfId = 0xe1e62c2; - this._slots = ['command', 'description']; - this.command = params.command; - this.description = params.description; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let command = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - return new Raw.BotCommand({ command: command, description: description }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.command !== undefined) { - b.write(Primitive.String.write(this.command) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInfo extends TLObject { - hasPreviewMedias?: boolean; - userId?: long; - description?: string; - descriptionPhoto?: Raw.TypePhoto; - descriptionDocument?: Raw.TypeDocument; - commands?: Vector; - menuButton?: Raw.TypeBotMenuButton; - privacyPolicyUrl?: string; - appSettings?: Raw.TypeBotAppSettings; - verifierSettings?: Raw.TypeBotVerifierSettings; - - constructor(params: { - hasPreviewMedias?: boolean; - userId?: long; - description?: string; - descriptionPhoto?: Raw.TypePhoto; - descriptionDocument?: Raw.TypeDocument; - commands?: Vector; - menuButton?: Raw.TypeBotMenuButton; - privacyPolicyUrl?: string; - appSettings?: Raw.TypeBotAppSettings; - verifierSettings?: Raw.TypeBotVerifierSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInfo'; - this.constructorId = 0x4d8a0299; - this.subclassOfId = 0xf1f701db; - this._slots = [ - 'hasPreviewMedias', - 'userId', - 'description', - 'descriptionPhoto', - 'descriptionDocument', - 'commands', - 'menuButton', - 'privacyPolicyUrl', - 'appSettings', - 'verifierSettings', - ]; - this.hasPreviewMedias = params.hasPreviewMedias; - this.userId = params.userId; - this.description = params.description; - this.descriptionPhoto = params.descriptionPhoto; - this.descriptionDocument = params.descriptionDocument; - this.commands = params.commands; - this.menuButton = params.menuButton; - this.privacyPolicyUrl = params.privacyPolicyUrl; - this.appSettings = params.appSettings; - this.verifierSettings = params.verifierSettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasPreviewMedias = flags & (1 << 6) ? true : false; - let userId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let description = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let descriptionPhoto = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let descriptionDocument = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let commands = flags & (1 << 2) ? await TLObject.read(_data) : []; - let menuButton = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let privacyPolicyUrl = flags & (1 << 7) ? await Primitive.String.read(_data) : undefined; - let appSettings = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let verifierSettings = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - return new Raw.BotInfo({ - hasPreviewMedias: hasPreviewMedias, - userId: userId, - description: description, - descriptionPhoto: descriptionPhoto, - descriptionDocument: descriptionDocument, - commands: commands, - menuButton: menuButton, - privacyPolicyUrl: privacyPolicyUrl, - appSettings: appSettings, - verifierSettings: verifierSettings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasPreviewMedias ? 1 << 6 : 0; - flags |= this.userId !== undefined ? 1 << 0 : 0; - flags |= this.description !== undefined ? 1 << 1 : 0; - flags |= this.descriptionPhoto !== undefined ? 1 << 4 : 0; - flags |= this.descriptionDocument !== undefined ? 1 << 5 : 0; - flags |= this.commands ? 1 << 2 : 0; - flags |= this.menuButton !== undefined ? 1 << 3 : 0; - flags |= this.privacyPolicyUrl !== undefined ? 1 << 7 : 0; - flags |= this.appSettings !== undefined ? 1 << 8 : 0; - flags |= this.verifierSettings !== undefined ? 1 << 9 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.descriptionPhoto !== undefined) { - b.write(this.descriptionPhoto.write() as unknown as Buffer); - } - if (this.descriptionDocument !== undefined) { - b.write(this.descriptionDocument.write() as unknown as Buffer); - } - if (this.commands) { - b.write(Primitive.Vector.write(this.commands) as unknown as Buffer); - } - if (this.menuButton !== undefined) { - b.write(this.menuButton.write() as unknown as Buffer); - } - if (this.privacyPolicyUrl !== undefined) { - b.write(Primitive.String.write(this.privacyPolicyUrl) as unknown as Buffer); - } - if (this.appSettings !== undefined) { - b.write(this.appSettings.write() as unknown as Buffer); - } - if (this.verifierSettings !== undefined) { - b.write(this.verifierSettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButton extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButton'; - this.constructorId = 0xa2fa4880; - this.subclassOfId = 0xbad74a3; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.KeyboardButton({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonUrl extends TLObject { - text!: string; - url!: string; - - constructor(params: { text: string; url: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonUrl'; - this.constructorId = 0x258aff05; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'url']; - this.text = params.text; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.KeyboardButtonUrl({ text: text, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonCallback extends TLObject { - requiresPassword?: boolean; - text!: string; - data!: bytes; - - constructor(params: { requiresPassword?: boolean; text: string; data: bytes }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonCallback'; - this.constructorId = 0x35bbdb6b; - this.subclassOfId = 0xbad74a3; - this._slots = ['requiresPassword', 'text', 'data']; - this.requiresPassword = params.requiresPassword; - this.text = params.text; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let requiresPassword = flags & (1 << 0) ? true : false; - let text = await Primitive.String.read(_data); - let data = await Primitive.Bytes.read(_data); - return new Raw.KeyboardButtonCallback({ - requiresPassword: requiresPassword, - text: text, - data: data, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.requiresPassword ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonRequestPhone extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonRequestPhone'; - this.constructorId = 0xb16a6c29; - this.subclassOfId = 0xbad74a3; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.KeyboardButtonRequestPhone({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonRequestGeoLocation extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonRequestGeoLocation'; - this.constructorId = 0xfc796b3f; - this.subclassOfId = 0xbad74a3; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.KeyboardButtonRequestGeoLocation({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonSwitchInline extends TLObject { - samePeer?: boolean; - text!: string; - query!: string; - peerTypes?: Vector; - - constructor(params: { - samePeer?: boolean; - text: string; - query: string; - peerTypes?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonSwitchInline'; - this.constructorId = 0x93b9fbb5; - this.subclassOfId = 0xbad74a3; - this._slots = ['samePeer', 'text', 'query', 'peerTypes']; - this.samePeer = params.samePeer; - this.text = params.text; - this.query = params.query; - this.peerTypes = params.peerTypes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let samePeer = flags & (1 << 0) ? true : false; - let text = await Primitive.String.read(_data); - let query = await Primitive.String.read(_data); - let peerTypes = flags & (1 << 1) ? await TLObject.read(_data) : []; - return new Raw.KeyboardButtonSwitchInline({ - samePeer: samePeer, - text: text, - query: query, - peerTypes: peerTypes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.samePeer ? 1 << 0 : 0; - flags |= this.peerTypes ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(Primitive.String.write(this.query) as unknown as Buffer); - } - if (this.peerTypes) { - b.write(Primitive.Vector.write(this.peerTypes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonGame extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonGame'; - this.constructorId = 0x50f41ccf; - this.subclassOfId = 0xbad74a3; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.KeyboardButtonGame({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonBuy extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonBuy'; - this.constructorId = 0xafd93fbb; - this.subclassOfId = 0xbad74a3; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.KeyboardButtonBuy({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonUrlAuth extends TLObject { - text!: string; - fwdText?: string; - url!: string; - buttonId!: int; - - constructor(params: { text: string; fwdText?: string; url: string; buttonId: int }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonUrlAuth'; - this.constructorId = 0x10b78d29; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'fwdText', 'url', 'buttonId']; - this.text = params.text; - this.fwdText = params.fwdText; - this.url = params.url; - this.buttonId = params.buttonId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let text = await Primitive.String.read(_data); - let fwdText = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let url = await Primitive.String.read(_data); - let buttonId = await Primitive.Int.read(_data); - return new Raw.KeyboardButtonUrlAuth({ - text: text, - fwdText: fwdText, - url: url, - buttonId: buttonId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fwdText !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.fwdText !== undefined) { - b.write(Primitive.String.write(this.fwdText) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputKeyboardButtonUrlAuth extends TLObject { - requestWriteAccess?: boolean; - text!: string; - fwdText?: string; - url!: string; - bot!: Raw.TypeInputUser; - - constructor(params: { - requestWriteAccess?: boolean; - text: string; - fwdText?: string; - url: string; - bot: Raw.TypeInputUser; - }) { - super(); - this.classType = 'types'; - this.className = 'InputKeyboardButtonUrlAuth'; - this.constructorId = 0xd02e7fd4; - this.subclassOfId = 0xbad74a3; - this._slots = ['requestWriteAccess', 'text', 'fwdText', 'url', 'bot']; - this.requestWriteAccess = params.requestWriteAccess; - this.text = params.text; - this.fwdText = params.fwdText; - this.url = params.url; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let requestWriteAccess = flags & (1 << 0) ? true : false; - let text = await Primitive.String.read(_data); - let fwdText = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let url = await Primitive.String.read(_data); - let bot = await TLObject.read(_data); - return new Raw.InputKeyboardButtonUrlAuth({ - requestWriteAccess: requestWriteAccess, - text: text, - fwdText: fwdText, - url: url, - bot: bot, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.requestWriteAccess ? 1 << 0 : 0; - flags |= this.fwdText !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.fwdText !== undefined) { - b.write(Primitive.String.write(this.fwdText) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonRequestPoll extends TLObject { - quiz?: Bool; - text!: string; - - constructor(params: { quiz?: Bool; text: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonRequestPoll'; - this.constructorId = 0xbbc7515d; - this.subclassOfId = 0xbad74a3; - this._slots = ['quiz', 'text']; - this.quiz = params.quiz; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let quiz = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - let text = await Primitive.String.read(_data); - return new Raw.KeyboardButtonRequestPoll({ quiz: quiz, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.quiz !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.quiz !== undefined) { - b.write(Primitive.Bool.write(this.quiz) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputKeyboardButtonUserProfile extends TLObject { - text!: string; - userId!: Raw.TypeInputUser; - - constructor(params: { text: string; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'types'; - this.className = 'InputKeyboardButtonUserProfile'; - this.constructorId = 0xe988037b; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'userId']; - this.text = params.text; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let userId = await TLObject.read(_data); - return new Raw.InputKeyboardButtonUserProfile({ text: text, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonUserProfile extends TLObject { - text!: string; - userId!: long; - - constructor(params: { text: string; userId: long }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonUserProfile'; - this.constructorId = 0x308660c1; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'userId']; - this.text = params.text; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let userId = await Primitive.Long.read(_data); - return new Raw.KeyboardButtonUserProfile({ text: text, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonWebView extends TLObject { - text!: string; - url!: string; - - constructor(params: { text: string; url: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonWebView'; - this.constructorId = 0x13767230; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'url']; - this.text = params.text; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.KeyboardButtonWebView({ text: text, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonSimpleWebView extends TLObject { - text!: string; - url!: string; - - constructor(params: { text: string; url: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonSimpleWebView'; - this.constructorId = 0xa0c0505c; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'url']; - this.text = params.text; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.KeyboardButtonSimpleWebView({ text: text, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonRequestPeer extends TLObject { - text!: string; - buttonId!: int; - peerType!: Raw.TypeRequestPeerType; - maxQuantity!: int; - - constructor(params: { - text: string; - buttonId: int; - peerType: Raw.TypeRequestPeerType; - maxQuantity: int; - }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonRequestPeer'; - this.constructorId = 0x53d7bfd8; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'buttonId', 'peerType', 'maxQuantity']; - this.text = params.text; - this.buttonId = params.buttonId; - this.peerType = params.peerType; - this.maxQuantity = params.maxQuantity; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let buttonId = await Primitive.Int.read(_data); - let peerType = await TLObject.read(_data); - let maxQuantity = await Primitive.Int.read(_data); - return new Raw.KeyboardButtonRequestPeer({ - text: text, - buttonId: buttonId, - peerType: peerType, - maxQuantity: maxQuantity, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.peerType !== undefined) { - b.write(this.peerType.write() as unknown as Buffer); - } - if (this.maxQuantity !== undefined) { - b.write(Primitive.Int.write(this.maxQuantity) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputKeyboardButtonRequestPeer extends TLObject { - nameRequested?: boolean; - usernameRequested?: boolean; - photoRequested?: boolean; - text!: string; - buttonId!: int; - peerType!: Raw.TypeRequestPeerType; - maxQuantity!: int; - - constructor(params: { - nameRequested?: boolean; - usernameRequested?: boolean; - photoRequested?: boolean; - text: string; - buttonId: int; - peerType: Raw.TypeRequestPeerType; - maxQuantity: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputKeyboardButtonRequestPeer'; - this.constructorId = 0xc9662d05; - this.subclassOfId = 0xbad74a3; - this._slots = [ - 'nameRequested', - 'usernameRequested', - 'photoRequested', - 'text', - 'buttonId', - 'peerType', - 'maxQuantity', - ]; - this.nameRequested = params.nameRequested; - this.usernameRequested = params.usernameRequested; - this.photoRequested = params.photoRequested; - this.text = params.text; - this.buttonId = params.buttonId; - this.peerType = params.peerType; - this.maxQuantity = params.maxQuantity; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nameRequested = flags & (1 << 0) ? true : false; - let usernameRequested = flags & (1 << 1) ? true : false; - let photoRequested = flags & (1 << 2) ? true : false; - let text = await Primitive.String.read(_data); - let buttonId = await Primitive.Int.read(_data); - let peerType = await TLObject.read(_data); - let maxQuantity = await Primitive.Int.read(_data); - return new Raw.InputKeyboardButtonRequestPeer({ - nameRequested: nameRequested, - usernameRequested: usernameRequested, - photoRequested: photoRequested, - text: text, - buttonId: buttonId, - peerType: peerType, - maxQuantity: maxQuantity, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nameRequested ? 1 << 0 : 0; - flags |= this.usernameRequested ? 1 << 1 : 0; - flags |= this.photoRequested ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.peerType !== undefined) { - b.write(this.peerType.write() as unknown as Buffer); - } - if (this.maxQuantity !== undefined) { - b.write(Primitive.Int.write(this.maxQuantity) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonCopy extends TLObject { - text!: string; - copyText!: string; - - constructor(params: { text: string; copyText: string }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonCopy'; - this.constructorId = 0x75d2698e; - this.subclassOfId = 0xbad74a3; - this._slots = ['text', 'copyText']; - this.text = params.text; - this.copyText = params.copyText; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let copyText = await Primitive.String.read(_data); - return new Raw.KeyboardButtonCopy({ text: text, copyText: copyText }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.copyText !== undefined) { - b.write(Primitive.String.write(this.copyText) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class KeyboardButtonRow extends TLObject { - buttons!: Vector; - - constructor(params: { buttons: Vector }) { - super(); - this.classType = 'types'; - this.className = 'KeyboardButtonRow'; - this.constructorId = 0x77608b83; - this.subclassOfId = 0x847730ae; - this._slots = ['buttons']; - this.buttons = params.buttons; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let buttons = await TLObject.read(_data); - return new Raw.KeyboardButtonRow({ buttons: buttons }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.buttons) { - b.write(Primitive.Vector.write(this.buttons) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReplyKeyboardHide extends TLObject { - selective?: boolean; - - constructor(params: { selective?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'ReplyKeyboardHide'; - this.constructorId = 0xa03e5b85; - this.subclassOfId = 0xe2e10ef2; - this._slots = ['selective']; - this.selective = params.selective; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let selective = flags & (1 << 2) ? true : false; - return new Raw.ReplyKeyboardHide({ selective: selective }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.selective ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReplyKeyboardForceReply extends TLObject { - singleUse?: boolean; - selective?: boolean; - placeholder?: string; - - constructor(params: { singleUse?: boolean; selective?: boolean; placeholder?: string }) { - super(); - this.classType = 'types'; - this.className = 'ReplyKeyboardForceReply'; - this.constructorId = 0x86b40b08; - this.subclassOfId = 0xe2e10ef2; - this._slots = ['singleUse', 'selective', 'placeholder']; - this.singleUse = params.singleUse; - this.selective = params.selective; - this.placeholder = params.placeholder; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let singleUse = flags & (1 << 1) ? true : false; - let selective = flags & (1 << 2) ? true : false; - let placeholder = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - return new Raw.ReplyKeyboardForceReply({ - singleUse: singleUse, - selective: selective, - placeholder: placeholder, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.singleUse ? 1 << 1 : 0; - flags |= this.selective ? 1 << 2 : 0; - flags |= this.placeholder !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.placeholder !== undefined) { - b.write(Primitive.String.write(this.placeholder) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReplyKeyboardMarkup extends TLObject { - resize?: boolean; - singleUse?: boolean; - selective?: boolean; - persistent?: boolean; - rows!: Vector; - placeholder?: string; - - constructor(params: { - resize?: boolean; - singleUse?: boolean; - selective?: boolean; - persistent?: boolean; - rows: Vector; - placeholder?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'ReplyKeyboardMarkup'; - this.constructorId = 0x85dd99d1; - this.subclassOfId = 0xe2e10ef2; - this._slots = ['resize', 'singleUse', 'selective', 'persistent', 'rows', 'placeholder']; - this.resize = params.resize; - this.singleUse = params.singleUse; - this.selective = params.selective; - this.persistent = params.persistent; - this.rows = params.rows; - this.placeholder = params.placeholder; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let resize = flags & (1 << 0) ? true : false; - let singleUse = flags & (1 << 1) ? true : false; - let selective = flags & (1 << 2) ? true : false; - let persistent = flags & (1 << 4) ? true : false; - let rows = await TLObject.read(_data); - let placeholder = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - return new Raw.ReplyKeyboardMarkup({ - resize: resize, - singleUse: singleUse, - selective: selective, - persistent: persistent, - rows: rows, - placeholder: placeholder, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.resize ? 1 << 0 : 0; - flags |= this.singleUse ? 1 << 1 : 0; - flags |= this.selective ? 1 << 2 : 0; - flags |= this.persistent ? 1 << 4 : 0; - flags |= this.placeholder !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.rows) { - b.write(Primitive.Vector.write(this.rows) as unknown as Buffer); - } - if (this.placeholder !== undefined) { - b.write(Primitive.String.write(this.placeholder) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReplyInlineMarkup extends TLObject { - rows!: Vector; - - constructor(params: { rows: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ReplyInlineMarkup'; - this.constructorId = 0x48a30254; - this.subclassOfId = 0xe2e10ef2; - this._slots = ['rows']; - this.rows = params.rows; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let rows = await TLObject.read(_data); - return new Raw.ReplyInlineMarkup({ rows: rows }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.rows) { - b.write(Primitive.Vector.write(this.rows) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityUnknown extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityUnknown'; - this.constructorId = 0xbb92ba95; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityUnknown({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityMention extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityMention'; - this.constructorId = 0xfa04579d; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityMention({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityHashtag extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityHashtag'; - this.constructorId = 0x6f635b0d; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityHashtag({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityBotCommand extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityBotCommand'; - this.constructorId = 0x6cef8ac7; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityBotCommand({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityUrl extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityUrl'; - this.constructorId = 0x6ed02538; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityUrl({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityEmail extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityEmail'; - this.constructorId = 0x64e475c2; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityEmail({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityBold extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityBold'; - this.constructorId = 0xbd610bc9; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityBold({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityItalic extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityItalic'; - this.constructorId = 0x826f8b60; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityItalic({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityCode extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityCode'; - this.constructorId = 0x28a20571; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityCode({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityPre extends TLObject { - offset!: int; - length!: int; - language!: string; - - constructor(params: { offset: int; length: int; language: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityPre'; - this.constructorId = 0x73924be0; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length', 'language']; - this.offset = params.offset; - this.length = params.length; - this.language = params.language; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - let language = await Primitive.String.read(_data); - return new Raw.MessageEntityPre({ offset: offset, length: length, language: language }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - if (this.language !== undefined) { - b.write(Primitive.String.write(this.language) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityTextUrl extends TLObject { - offset!: int; - length!: int; - url!: string; - - constructor(params: { offset: int; length: int; url: string }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityTextUrl'; - this.constructorId = 0x76a6d327; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length', 'url']; - this.offset = params.offset; - this.length = params.length; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.MessageEntityTextUrl({ offset: offset, length: length, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityMentionName extends TLObject { - offset!: int; - length!: int; - userId!: long; - - constructor(params: { offset: int; length: int; userId: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityMentionName'; - this.constructorId = 0xdc7b1140; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length', 'userId']; - this.offset = params.offset; - this.length = params.length; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - return new Raw.MessageEntityMentionName({ offset: offset, length: length, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessageEntityMentionName extends TLObject { - offset!: int; - length!: int; - userId!: Raw.TypeInputUser; - - constructor(params: { offset: int; length: int; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'types'; - this.className = 'InputMessageEntityMentionName'; - this.constructorId = 0x208e68c9; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length', 'userId']; - this.offset = params.offset; - this.length = params.length; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - let userId = await TLObject.read(_data); - return new Raw.InputMessageEntityMentionName({ - offset: offset, - length: length, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityPhone extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityPhone'; - this.constructorId = 0x9b69e34b; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityPhone({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityCashtag extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityCashtag'; - this.constructorId = 0x4c4e743f; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityCashtag({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityUnderline extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityUnderline'; - this.constructorId = 0x9c4e7e8b; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityUnderline({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityStrike extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityStrike'; - this.constructorId = 0xbf0693d4; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityStrike({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityBankCard extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityBankCard'; - this.constructorId = 0x761e6af4; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityBankCard({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntitySpoiler extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntitySpoiler'; - this.constructorId = 0x32ca960f; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntitySpoiler({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityCustomEmoji extends TLObject { - offset!: int; - length!: int; - documentId!: long; - - constructor(params: { offset: int; length: int; documentId: long }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityCustomEmoji'; - this.constructorId = 0xc8cf05f8; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length', 'documentId']; - this.offset = params.offset; - this.length = params.length; - this.documentId = params.documentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - let documentId = await Primitive.Long.read(_data); - return new Raw.MessageEntityCustomEmoji({ - offset: offset, - length: length, - documentId: documentId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityBlockquote extends TLObject { - collapsed?: boolean; - offset!: int; - length!: int; - - constructor(params: { collapsed?: boolean; offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityBlockquote'; - this.constructorId = 0xf1ccaaac; - this.subclassOfId = 0xcf6419dc; - this._slots = ['collapsed', 'offset', 'length']; - this.collapsed = params.collapsed; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let collapsed = flags & (1 << 0) ? true : false; - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityBlockquote({ - collapsed: collapsed, - offset: offset, - length: length, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.collapsed ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChannelEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputChannelEmpty'; - this.constructorId = 0xee8c1e86; - this.subclassOfId = 0x40f202fd; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputChannelEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChannel extends TLObject { - channelId!: long; - accessHash!: long; - - constructor(params: { channelId: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputChannel'; - this.constructorId = 0xf35aec28; - this.subclassOfId = 0x40f202fd; - this._slots = ['channelId', 'accessHash']; - this.channelId = params.channelId; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let channelId = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputChannel({ channelId: channelId, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChannelFromMessage extends TLObject { - peer!: Raw.TypeInputPeer; - msgId!: int; - channelId!: long; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; channelId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputChannelFromMessage'; - this.constructorId = 0x5b934f9d; - this.subclassOfId = 0x40f202fd; - this._slots = ['peer', 'msgId', 'channelId']; - this.peer = params.peer; - this.msgId = params.msgId; - this.channelId = params.channelId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - return new Raw.InputChannelFromMessage({ peer: peer, msgId: msgId, channelId: channelId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageRange extends TLObject { - minId!: int; - maxId!: int; - - constructor(params: { minId: int; maxId: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageRange'; - this.constructorId = 0xae30253; - this.subclassOfId = 0xbec74577; - this._slots = ['minId', 'maxId']; - this.minId = params.minId; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let minId = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.MessageRange({ minId: minId, maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelMessagesFilterEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelMessagesFilterEmpty'; - this.constructorId = 0x94d42ee7; - this.subclassOfId = 0x13336a56; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelMessagesFilterEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelMessagesFilter extends TLObject { - excludeNewMessages?: boolean; - ranges!: Vector; - - constructor(params: { excludeNewMessages?: boolean; ranges: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ChannelMessagesFilter'; - this.constructorId = 0xcd77d957; - this.subclassOfId = 0x13336a56; - this._slots = ['excludeNewMessages', 'ranges']; - this.excludeNewMessages = params.excludeNewMessages; - this.ranges = params.ranges; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let excludeNewMessages = flags & (1 << 1) ? true : false; - let ranges = await TLObject.read(_data); - return new Raw.ChannelMessagesFilter({ - excludeNewMessages: excludeNewMessages, - ranges: ranges, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.excludeNewMessages ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.ranges) { - b.write(Primitive.Vector.write(this.ranges) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipant extends TLObject { - userId!: long; - date!: int; - subscriptionUntilDate?: int; - - constructor(params: { userId: long; date: int; subscriptionUntilDate?: int }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipant'; - this.constructorId = 0xcb397619; - this.subclassOfId = 0xd9c7fc18; - this._slots = ['userId', 'date', 'subscriptionUntilDate']; - this.userId = params.userId; - this.date = params.date; - this.subscriptionUntilDate = params.subscriptionUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let subscriptionUntilDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.ChannelParticipant({ - userId: userId, - date: date, - subscriptionUntilDate: subscriptionUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.subscriptionUntilDate !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.subscriptionUntilDate !== undefined) { - b.write(Primitive.Int.write(this.subscriptionUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantSelf extends TLObject { - viaRequest?: boolean; - userId!: long; - inviterId!: long; - date!: int; - subscriptionUntilDate?: int; - - constructor(params: { - viaRequest?: boolean; - userId: long; - inviterId: long; - date: int; - subscriptionUntilDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantSelf'; - this.constructorId = 0x4f607bef; - this.subclassOfId = 0xd9c7fc18; - this._slots = ['viaRequest', 'userId', 'inviterId', 'date', 'subscriptionUntilDate']; - this.viaRequest = params.viaRequest; - this.userId = params.userId; - this.inviterId = params.inviterId; - this.date = params.date; - this.subscriptionUntilDate = params.subscriptionUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viaRequest = flags & (1 << 0) ? true : false; - let userId = await Primitive.Long.read(_data); - let inviterId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let subscriptionUntilDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.ChannelParticipantSelf({ - viaRequest: viaRequest, - userId: userId, - inviterId: inviterId, - date: date, - subscriptionUntilDate: subscriptionUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viaRequest ? 1 << 0 : 0; - flags |= this.subscriptionUntilDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.inviterId !== undefined) { - b.write(Primitive.Long.write(this.inviterId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.subscriptionUntilDate !== undefined) { - b.write(Primitive.Int.write(this.subscriptionUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantCreator extends TLObject { - userId!: long; - adminRights!: Raw.TypeChatAdminRights; - rank?: string; - - constructor(params: { userId: long; adminRights: Raw.TypeChatAdminRights; rank?: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantCreator'; - this.constructorId = 0x2fe601d3; - this.subclassOfId = 0xd9c7fc18; - this._slots = ['userId', 'adminRights', 'rank']; - this.userId = params.userId; - this.adminRights = params.adminRights; - this.rank = params.rank; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let adminRights = await TLObject.read(_data); - let rank = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.ChannelParticipantCreator({ - userId: userId, - adminRights: adminRights, - rank: rank, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.rank !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - if (this.rank !== undefined) { - b.write(Primitive.String.write(this.rank) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantAdmin extends TLObject { - canEdit?: boolean; - self?: boolean; - userId!: long; - inviterId?: long; - promotedBy!: long; - date!: int; - adminRights!: Raw.TypeChatAdminRights; - rank?: string; - - constructor(params: { - canEdit?: boolean; - self?: boolean; - userId: long; - inviterId?: long; - promotedBy: long; - date: int; - adminRights: Raw.TypeChatAdminRights; - rank?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantAdmin'; - this.constructorId = 0x34c3bb53; - this.subclassOfId = 0xd9c7fc18; - this._slots = [ - 'canEdit', - 'self', - 'userId', - 'inviterId', - 'promotedBy', - 'date', - 'adminRights', - 'rank', - ]; - this.canEdit = params.canEdit; - this.self = params.self; - this.userId = params.userId; - this.inviterId = params.inviterId; - this.promotedBy = params.promotedBy; - this.date = params.date; - this.adminRights = params.adminRights; - this.rank = params.rank; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canEdit = flags & (1 << 0) ? true : false; - let self = flags & (1 << 1) ? true : false; - let userId = await Primitive.Long.read(_data); - let inviterId = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - let promotedBy = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminRights = await TLObject.read(_data); - let rank = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.ChannelParticipantAdmin({ - canEdit: canEdit, - self: self, - userId: userId, - inviterId: inviterId, - promotedBy: promotedBy, - date: date, - adminRights: adminRights, - rank: rank, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canEdit ? 1 << 0 : 0; - flags |= this.self ? 1 << 1 : 0; - flags |= this.inviterId !== undefined ? 1 << 1 : 0; - flags |= this.rank !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.inviterId !== undefined) { - b.write(Primitive.Long.write(this.inviterId) as unknown as Buffer); - } - if (this.promotedBy !== undefined) { - b.write(Primitive.Long.write(this.promotedBy) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - if (this.rank !== undefined) { - b.write(Primitive.String.write(this.rank) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantBanned extends TLObject { - left?: boolean; - peer!: Raw.TypePeer; - kickedBy!: long; - date!: int; - bannedRights!: Raw.TypeChatBannedRights; - - constructor(params: { - left?: boolean; - peer: Raw.TypePeer; - kickedBy: long; - date: int; - bannedRights: Raw.TypeChatBannedRights; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantBanned'; - this.constructorId = 0x6df8014e; - this.subclassOfId = 0xd9c7fc18; - this._slots = ['left', 'peer', 'kickedBy', 'date', 'bannedRights']; - this.left = params.left; - this.peer = params.peer; - this.kickedBy = params.kickedBy; - this.date = params.date; - this.bannedRights = params.bannedRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let left = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let kickedBy = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let bannedRights = await TLObject.read(_data); - return new Raw.ChannelParticipantBanned({ - left: left, - peer: peer, - kickedBy: kickedBy, - date: date, - bannedRights: bannedRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.left ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.kickedBy !== undefined) { - b.write(Primitive.Long.write(this.kickedBy) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.bannedRights !== undefined) { - b.write(this.bannedRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantLeft extends TLObject { - peer!: Raw.TypePeer; - - constructor(params: { peer: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantLeft'; - this.constructorId = 0x1b03f006; - this.subclassOfId = 0xd9c7fc18; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.ChannelParticipantLeft({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsRecent extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsRecent'; - this.constructorId = 0xde3f3c79; - this.subclassOfId = 0xbf4e2753; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelParticipantsRecent(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsAdmins extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsAdmins'; - this.constructorId = 0xb4608969; - this.subclassOfId = 0xbf4e2753; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelParticipantsAdmins(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsKicked extends TLObject { - q!: string; - - constructor(params: { q: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsKicked'; - this.constructorId = 0xa3b54985; - this.subclassOfId = 0xbf4e2753; - this._slots = ['q']; - this.q = params.q; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - return new Raw.ChannelParticipantsKicked({ q: q }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsBots extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsBots'; - this.constructorId = 0xb0d1865b; - this.subclassOfId = 0xbf4e2753; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelParticipantsBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsBanned extends TLObject { - q!: string; - - constructor(params: { q: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsBanned'; - this.constructorId = 0x1427a5e1; - this.subclassOfId = 0xbf4e2753; - this._slots = ['q']; - this.q = params.q; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - return new Raw.ChannelParticipantsBanned({ q: q }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsSearch extends TLObject { - q!: string; - - constructor(params: { q: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsSearch'; - this.constructorId = 0x656ac4b; - this.subclassOfId = 0xbf4e2753; - this._slots = ['q']; - this.q = params.q; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - return new Raw.ChannelParticipantsSearch({ q: q }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsContacts extends TLObject { - q!: string; - - constructor(params: { q: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsContacts'; - this.constructorId = 0xbb6ae88d; - this.subclassOfId = 0xbf4e2753; - this._slots = ['q']; - this.q = params.q; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - return new Raw.ChannelParticipantsContacts({ q: q }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsMentions extends TLObject { - q?: string; - topMsgId?: int; - - constructor(params: { q?: string; topMsgId?: int }) { - super(); - this.classType = 'types'; - this.className = 'ChannelParticipantsMentions'; - this.constructorId = 0xe04b5ceb; - this.subclassOfId = 0xbf4e2753; - this._slots = ['q', 'topMsgId']; - this.q = params.q; - this.topMsgId = params.topMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let q = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let topMsgId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.ChannelParticipantsMentions({ q: q, topMsgId: topMsgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.q !== undefined ? 1 << 0 : 0; - flags |= this.topMsgId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageMediaAuto extends TLObject { - invertMedia?: boolean; - message!: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - invertMedia?: boolean; - message: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageMediaAuto'; - this.constructorId = 0x3380c786; - this.subclassOfId = 0x53fb4010; - this._slots = ['invertMedia', 'message', 'entities', 'replyMarkup']; - this.invertMedia = params.invertMedia; - this.message = params.message; - this.entities = params.entities; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let invertMedia = flags & (1 << 3) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageMediaAuto({ - invertMedia: invertMedia, - message: message, - entities: entities, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.invertMedia ? 1 << 3 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageText extends TLObject { - noWebpage?: boolean; - invertMedia?: boolean; - message!: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - noWebpage?: boolean; - invertMedia?: boolean; - message: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageText'; - this.constructorId = 0x3dcd7a87; - this.subclassOfId = 0x53fb4010; - this._slots = ['noWebpage', 'invertMedia', 'message', 'entities', 'replyMarkup']; - this.noWebpage = params.noWebpage; - this.invertMedia = params.invertMedia; - this.message = params.message; - this.entities = params.entities; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 0) ? true : false; - let invertMedia = flags & (1 << 3) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageText({ - noWebpage: noWebpage, - invertMedia: invertMedia, - message: message, - entities: entities, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 0 : 0; - flags |= this.invertMedia ? 1 << 3 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageMediaGeo extends TLObject { - geoPoint!: Raw.TypeInputGeoPoint; - heading?: int; - period?: int; - proximityNotificationRadius?: int; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - geoPoint: Raw.TypeInputGeoPoint; - heading?: int; - period?: int; - proximityNotificationRadius?: int; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageMediaGeo'; - this.constructorId = 0x96929a85; - this.subclassOfId = 0x53fb4010; - this._slots = ['geoPoint', 'heading', 'period', 'proximityNotificationRadius', 'replyMarkup']; - this.geoPoint = params.geoPoint; - this.heading = params.heading; - this.period = params.period; - this.proximityNotificationRadius = params.proximityNotificationRadius; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geoPoint = await TLObject.read(_data); - let heading = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let period = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let proximityNotificationRadius = - flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageMediaGeo({ - geoPoint: geoPoint, - heading: heading, - period: period, - proximityNotificationRadius: proximityNotificationRadius, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.heading !== undefined ? 1 << 0 : 0; - flags |= this.period !== undefined ? 1 << 1 : 0; - flags |= this.proximityNotificationRadius !== undefined ? 1 << 3 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.heading !== undefined) { - b.write(Primitive.Int.write(this.heading) as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.proximityNotificationRadius !== undefined) { - b.write(Primitive.Int.write(this.proximityNotificationRadius) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageMediaVenue extends TLObject { - geoPoint!: Raw.TypeInputGeoPoint; - title!: string; - address!: string; - provider!: string; - venueId!: string; - venueType!: string; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - geoPoint: Raw.TypeInputGeoPoint; - title: string; - address: string; - provider: string; - venueId: string; - venueType: string; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageMediaVenue'; - this.constructorId = 0x417bbf11; - this.subclassOfId = 0x53fb4010; - this._slots = [ - 'geoPoint', - 'title', - 'address', - 'provider', - 'venueId', - 'venueType', - 'replyMarkup', - ]; - this.geoPoint = params.geoPoint; - this.title = params.title; - this.address = params.address; - this.provider = params.provider; - this.venueId = params.venueId; - this.venueType = params.venueType; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geoPoint = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let address = await Primitive.String.read(_data); - let provider = await Primitive.String.read(_data); - let venueId = await Primitive.String.read(_data); - let venueType = await Primitive.String.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageMediaVenue({ - geoPoint: geoPoint, - title: title, - address: address, - provider: provider, - venueId: venueId, - venueType: venueType, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.venueId !== undefined) { - b.write(Primitive.String.write(this.venueId) as unknown as Buffer); - } - if (this.venueType !== undefined) { - b.write(Primitive.String.write(this.venueType) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageMediaContact extends TLObject { - phoneNumber!: string; - firstName!: string; - lastName!: string; - vcard!: string; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - phoneNumber: string; - firstName: string; - lastName: string; - vcard: string; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageMediaContact'; - this.constructorId = 0xa6edbffd; - this.subclassOfId = 0x53fb4010; - this._slots = ['phoneNumber', 'firstName', 'lastName', 'vcard', 'replyMarkup']; - this.phoneNumber = params.phoneNumber; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.vcard = params.vcard; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let phoneNumber = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let vcard = await Primitive.String.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageMediaContact({ - phoneNumber: phoneNumber, - firstName: firstName, - lastName: lastName, - vcard: vcard, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.vcard !== undefined) { - b.write(Primitive.String.write(this.vcard) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageGame extends TLObject { - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { replyMarkup?: Raw.TypeReplyMarkup }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageGame'; - this.constructorId = 0x4b425864; - this.subclassOfId = 0x53fb4010; - this._slots = ['replyMarkup']; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageGame({ replyMarkup: replyMarkup }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageMediaInvoice extends TLObject { - title!: string; - description!: string; - photo?: Raw.TypeInputWebDocument; - invoice!: Raw.TypeInvoice; - payload!: bytes; - provider!: string; - providerData!: Raw.TypeDataJSON; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - title: string; - description: string; - photo?: Raw.TypeInputWebDocument; - invoice: Raw.TypeInvoice; - payload: bytes; - provider: string; - providerData: Raw.TypeDataJSON; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageMediaInvoice'; - this.constructorId = 0xd7e78225; - this.subclassOfId = 0x53fb4010; - this._slots = [ - 'title', - 'description', - 'photo', - 'invoice', - 'payload', - 'provider', - 'providerData', - 'replyMarkup', - ]; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.invoice = params.invoice; - this.payload = params.payload; - this.provider = params.provider; - this.providerData = params.providerData; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let invoice = await TLObject.read(_data); - let payload = await Primitive.Bytes.read(_data); - let provider = await Primitive.String.read(_data); - let providerData = await TLObject.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageMediaInvoice({ - title: title, - description: description, - photo: photo, - invoice: invoice, - payload: payload, - provider: provider, - providerData: providerData, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photo !== undefined ? 1 << 0 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.payload !== undefined) { - b.write(Primitive.Bytes.write(this.payload) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.providerData !== undefined) { - b.write(this.providerData.write() as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageMediaWebPage extends TLObject { - invertMedia?: boolean; - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - optional?: boolean; - message!: string; - entities?: Vector; - url!: string; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - invertMedia?: boolean; - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - optional?: boolean; - message: string; - entities?: Vector; - url: string; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageMediaWebPage'; - this.constructorId = 0xbddcc510; - this.subclassOfId = 0x53fb4010; - this._slots = [ - 'invertMedia', - 'forceLargeMedia', - 'forceSmallMedia', - 'optional', - 'message', - 'entities', - 'url', - 'replyMarkup', - ]; - this.invertMedia = params.invertMedia; - this.forceLargeMedia = params.forceLargeMedia; - this.forceSmallMedia = params.forceSmallMedia; - this.optional = params.optional; - this.message = params.message; - this.entities = params.entities; - this.url = params.url; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let invertMedia = flags & (1 << 3) ? true : false; - let forceLargeMedia = flags & (1 << 4) ? true : false; - let forceSmallMedia = flags & (1 << 5) ? true : false; - let optional = flags & (1 << 6) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let url = await Primitive.String.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.InputBotInlineMessageMediaWebPage({ - invertMedia: invertMedia, - forceLargeMedia: forceLargeMedia, - forceSmallMedia: forceSmallMedia, - optional: optional, - message: message, - entities: entities, - url: url, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.invertMedia ? 1 << 3 : 0; - flags |= this.forceLargeMedia ? 1 << 4 : 0; - flags |= this.forceSmallMedia ? 1 << 5 : 0; - flags |= this.optional ? 1 << 6 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineResult extends TLObject { - id!: string; - type!: string; - title?: string; - description?: string; - url?: string; - thumb?: Raw.TypeInputWebDocument; - content?: Raw.TypeInputWebDocument; - sendMessage!: Raw.TypeInputBotInlineMessage; - - constructor(params: { - id: string; - type: string; - title?: string; - description?: string; - url?: string; - thumb?: Raw.TypeInputWebDocument; - content?: Raw.TypeInputWebDocument; - sendMessage: Raw.TypeInputBotInlineMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineResult'; - this.constructorId = 0x88bf9319; - this.subclassOfId = 0x80a4a3de; - this._slots = [ - 'id', - 'type', - 'title', - 'description', - 'url', - 'thumb', - 'content', - 'sendMessage', - ]; - this.id = params.id; - this.type = params.type; - this.title = params.title; - this.description = params.description; - this.url = params.url; - this.thumb = params.thumb; - this.content = params.content; - this.sendMessage = params.sendMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.String.read(_data); - let type = await Primitive.String.read(_data); - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let url = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let thumb = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let content = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let sendMessage = await TLObject.read(_data); - return new Raw.InputBotInlineResult({ - id: id, - type: type, - title: title, - description: description, - url: url, - thumb: thumb, - content: content, - sendMessage: sendMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.description !== undefined ? 1 << 2 : 0; - flags |= this.url !== undefined ? 1 << 3 : 0; - flags |= this.thumb !== undefined ? 1 << 4 : 0; - flags |= this.content !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.content !== undefined) { - b.write(this.content.write() as unknown as Buffer); - } - if (this.sendMessage !== undefined) { - b.write(this.sendMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineResultPhoto extends TLObject { - id!: string; - type!: string; - photo!: Raw.TypeInputPhoto; - sendMessage!: Raw.TypeInputBotInlineMessage; - - constructor(params: { - id: string; - type: string; - photo: Raw.TypeInputPhoto; - sendMessage: Raw.TypeInputBotInlineMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineResultPhoto'; - this.constructorId = 0xa8d864a7; - this.subclassOfId = 0x80a4a3de; - this._slots = ['id', 'type', 'photo', 'sendMessage']; - this.id = params.id; - this.type = params.type; - this.photo = params.photo; - this.sendMessage = params.sendMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.String.read(_data); - let type = await Primitive.String.read(_data); - let photo = await TLObject.read(_data); - let sendMessage = await TLObject.read(_data); - return new Raw.InputBotInlineResultPhoto({ - id: id, - type: type, - photo: photo, - sendMessage: sendMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.sendMessage !== undefined) { - b.write(this.sendMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineResultDocument extends TLObject { - id!: string; - type!: string; - title?: string; - description?: string; - document!: Raw.TypeInputDocument; - sendMessage!: Raw.TypeInputBotInlineMessage; - - constructor(params: { - id: string; - type: string; - title?: string; - description?: string; - document: Raw.TypeInputDocument; - sendMessage: Raw.TypeInputBotInlineMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineResultDocument'; - this.constructorId = 0xfff8fdc4; - this.subclassOfId = 0x80a4a3de; - this._slots = ['id', 'type', 'title', 'description', 'document', 'sendMessage']; - this.id = params.id; - this.type = params.type; - this.title = params.title; - this.description = params.description; - this.document = params.document; - this.sendMessage = params.sendMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.String.read(_data); - let type = await Primitive.String.read(_data); - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let document = await TLObject.read(_data); - let sendMessage = await TLObject.read(_data); - return new Raw.InputBotInlineResultDocument({ - id: id, - type: type, - title: title, - description: description, - document: document, - sendMessage: sendMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.description !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.sendMessage !== undefined) { - b.write(this.sendMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineResultGame extends TLObject { - id!: string; - shortName!: string; - sendMessage!: Raw.TypeInputBotInlineMessage; - - constructor(params: { - id: string; - shortName: string; - sendMessage: Raw.TypeInputBotInlineMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineResultGame'; - this.constructorId = 0x4fa417f2; - this.subclassOfId = 0x80a4a3de; - this._slots = ['id', 'shortName', 'sendMessage']; - this.id = params.id; - this.shortName = params.shortName; - this.sendMessage = params.sendMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.String.read(_data); - let shortName = await Primitive.String.read(_data); - let sendMessage = await TLObject.read(_data); - return new Raw.InputBotInlineResultGame({ - id: id, - shortName: shortName, - sendMessage: sendMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - if (this.sendMessage !== undefined) { - b.write(this.sendMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageMediaAuto extends TLObject { - invertMedia?: boolean; - message!: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - invertMedia?: boolean; - message: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageMediaAuto'; - this.constructorId = 0x764cf810; - this.subclassOfId = 0xc4910f88; - this._slots = ['invertMedia', 'message', 'entities', 'replyMarkup']; - this.invertMedia = params.invertMedia; - this.message = params.message; - this.entities = params.entities; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let invertMedia = flags & (1 << 3) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageMediaAuto({ - invertMedia: invertMedia, - message: message, - entities: entities, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.invertMedia ? 1 << 3 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageText extends TLObject { - noWebpage?: boolean; - invertMedia?: boolean; - message!: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - noWebpage?: boolean; - invertMedia?: boolean; - message: string; - entities?: Vector; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageText'; - this.constructorId = 0x8c7f65e2; - this.subclassOfId = 0xc4910f88; - this._slots = ['noWebpage', 'invertMedia', 'message', 'entities', 'replyMarkup']; - this.noWebpage = params.noWebpage; - this.invertMedia = params.invertMedia; - this.message = params.message; - this.entities = params.entities; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 0) ? true : false; - let invertMedia = flags & (1 << 3) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageText({ - noWebpage: noWebpage, - invertMedia: invertMedia, - message: message, - entities: entities, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 0 : 0; - flags |= this.invertMedia ? 1 << 3 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageMediaGeo extends TLObject { - geo!: Raw.TypeGeoPoint; - heading?: int; - period?: int; - proximityNotificationRadius?: int; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - geo: Raw.TypeGeoPoint; - heading?: int; - period?: int; - proximityNotificationRadius?: int; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageMediaGeo'; - this.constructorId = 0x51846fd; - this.subclassOfId = 0xc4910f88; - this._slots = ['geo', 'heading', 'period', 'proximityNotificationRadius', 'replyMarkup']; - this.geo = params.geo; - this.heading = params.heading; - this.period = params.period; - this.proximityNotificationRadius = params.proximityNotificationRadius; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geo = await TLObject.read(_data); - let heading = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let period = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let proximityNotificationRadius = - flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageMediaGeo({ - geo: geo, - heading: heading, - period: period, - proximityNotificationRadius: proximityNotificationRadius, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.heading !== undefined ? 1 << 0 : 0; - flags |= this.period !== undefined ? 1 << 1 : 0; - flags |= this.proximityNotificationRadius !== undefined ? 1 << 3 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.heading !== undefined) { - b.write(Primitive.Int.write(this.heading) as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.proximityNotificationRadius !== undefined) { - b.write(Primitive.Int.write(this.proximityNotificationRadius) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageMediaVenue extends TLObject { - geo!: Raw.TypeGeoPoint; - title!: string; - address!: string; - provider!: string; - venueId!: string; - venueType!: string; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - geo: Raw.TypeGeoPoint; - title: string; - address: string; - provider: string; - venueId: string; - venueType: string; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageMediaVenue'; - this.constructorId = 0x8a86659c; - this.subclassOfId = 0xc4910f88; - this._slots = ['geo', 'title', 'address', 'provider', 'venueId', 'venueType', 'replyMarkup']; - this.geo = params.geo; - this.title = params.title; - this.address = params.address; - this.provider = params.provider; - this.venueId = params.venueId; - this.venueType = params.venueType; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geo = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let address = await Primitive.String.read(_data); - let provider = await Primitive.String.read(_data); - let venueId = await Primitive.String.read(_data); - let venueType = await Primitive.String.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageMediaVenue({ - geo: geo, - title: title, - address: address, - provider: provider, - venueId: venueId, - venueType: venueType, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.venueId !== undefined) { - b.write(Primitive.String.write(this.venueId) as unknown as Buffer); - } - if (this.venueType !== undefined) { - b.write(Primitive.String.write(this.venueType) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageMediaContact extends TLObject { - phoneNumber!: string; - firstName!: string; - lastName!: string; - vcard!: string; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - phoneNumber: string; - firstName: string; - lastName: string; - vcard: string; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageMediaContact'; - this.constructorId = 0x18d1cdc2; - this.subclassOfId = 0xc4910f88; - this._slots = ['phoneNumber', 'firstName', 'lastName', 'vcard', 'replyMarkup']; - this.phoneNumber = params.phoneNumber; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.vcard = params.vcard; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let phoneNumber = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let vcard = await Primitive.String.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageMediaContact({ - phoneNumber: phoneNumber, - firstName: firstName, - lastName: lastName, - vcard: vcard, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.vcard !== undefined) { - b.write(Primitive.String.write(this.vcard) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageMediaInvoice extends TLObject { - shippingAddressRequested?: boolean; - test?: boolean; - title!: string; - description!: string; - photo?: Raw.TypeWebDocument; - currency!: string; - totalAmount!: long; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - shippingAddressRequested?: boolean; - test?: boolean; - title: string; - description: string; - photo?: Raw.TypeWebDocument; - currency: string; - totalAmount: long; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageMediaInvoice'; - this.constructorId = 0x354a9b09; - this.subclassOfId = 0xc4910f88; - this._slots = [ - 'shippingAddressRequested', - 'test', - 'title', - 'description', - 'photo', - 'currency', - 'totalAmount', - 'replyMarkup', - ]; - this.shippingAddressRequested = params.shippingAddressRequested; - this.test = params.test; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let shippingAddressRequested = flags & (1 << 1) ? true : false; - let test = flags & (1 << 3) ? true : false; - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageMediaInvoice({ - shippingAddressRequested: shippingAddressRequested, - test: test, - title: title, - description: description, - photo: photo, - currency: currency, - totalAmount: totalAmount, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.shippingAddressRequested ? 1 << 1 : 0; - flags |= this.test ? 1 << 3 : 0; - flags |= this.photo !== undefined ? 1 << 0 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMessageMediaWebPage extends TLObject { - invertMedia?: boolean; - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - manual?: boolean; - safe?: boolean; - message!: string; - entities?: Vector; - url!: string; - replyMarkup?: Raw.TypeReplyMarkup; - - constructor(params: { - invertMedia?: boolean; - forceLargeMedia?: boolean; - forceSmallMedia?: boolean; - manual?: boolean; - safe?: boolean; - message: string; - entities?: Vector; - url: string; - replyMarkup?: Raw.TypeReplyMarkup; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMessageMediaWebPage'; - this.constructorId = 0x809ad9a6; - this.subclassOfId = 0xc4910f88; - this._slots = [ - 'invertMedia', - 'forceLargeMedia', - 'forceSmallMedia', - 'manual', - 'safe', - 'message', - 'entities', - 'url', - 'replyMarkup', - ]; - this.invertMedia = params.invertMedia; - this.forceLargeMedia = params.forceLargeMedia; - this.forceSmallMedia = params.forceSmallMedia; - this.manual = params.manual; - this.safe = params.safe; - this.message = params.message; - this.entities = params.entities; - this.url = params.url; - this.replyMarkup = params.replyMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let invertMedia = flags & (1 << 3) ? true : false; - let forceLargeMedia = flags & (1 << 4) ? true : false; - let forceSmallMedia = flags & (1 << 5) ? true : false; - let manual = flags & (1 << 7) ? true : false; - let safe = flags & (1 << 8) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let url = await Primitive.String.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotInlineMessageMediaWebPage({ - invertMedia: invertMedia, - forceLargeMedia: forceLargeMedia, - forceSmallMedia: forceSmallMedia, - manual: manual, - safe: safe, - message: message, - entities: entities, - url: url, - replyMarkup: replyMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.invertMedia ? 1 << 3 : 0; - flags |= this.forceLargeMedia ? 1 << 4 : 0; - flags |= this.forceSmallMedia ? 1 << 5 : 0; - flags |= this.manual ? 1 << 7 : 0; - flags |= this.safe ? 1 << 8 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineResult extends TLObject { - id!: string; - type!: string; - title?: string; - description?: string; - url?: string; - thumb?: Raw.TypeWebDocument; - content?: Raw.TypeWebDocument; - sendMessage!: Raw.TypeBotInlineMessage; - - constructor(params: { - id: string; - type: string; - title?: string; - description?: string; - url?: string; - thumb?: Raw.TypeWebDocument; - content?: Raw.TypeWebDocument; - sendMessage: Raw.TypeBotInlineMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineResult'; - this.constructorId = 0x11965f3a; - this.subclassOfId = 0x3832b3d5; - this._slots = [ - 'id', - 'type', - 'title', - 'description', - 'url', - 'thumb', - 'content', - 'sendMessage', - ]; - this.id = params.id; - this.type = params.type; - this.title = params.title; - this.description = params.description; - this.url = params.url; - this.thumb = params.thumb; - this.content = params.content; - this.sendMessage = params.sendMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.String.read(_data); - let type = await Primitive.String.read(_data); - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let url = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let thumb = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let content = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let sendMessage = await TLObject.read(_data); - return new Raw.BotInlineResult({ - id: id, - type: type, - title: title, - description: description, - url: url, - thumb: thumb, - content: content, - sendMessage: sendMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.description !== undefined ? 1 << 2 : 0; - flags |= this.url !== undefined ? 1 << 3 : 0; - flags |= this.thumb !== undefined ? 1 << 4 : 0; - flags |= this.content !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.content !== undefined) { - b.write(this.content.write() as unknown as Buffer); - } - if (this.sendMessage !== undefined) { - b.write(this.sendMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotInlineMediaResult extends TLObject { - id!: string; - type!: string; - photo?: Raw.TypePhoto; - document?: Raw.TypeDocument; - title?: string; - description?: string; - sendMessage!: Raw.TypeBotInlineMessage; - - constructor(params: { - id: string; - type: string; - photo?: Raw.TypePhoto; - document?: Raw.TypeDocument; - title?: string; - description?: string; - sendMessage: Raw.TypeBotInlineMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'BotInlineMediaResult'; - this.constructorId = 0x17db940b; - this.subclassOfId = 0x3832b3d5; - this._slots = ['id', 'type', 'photo', 'document', 'title', 'description', 'sendMessage']; - this.id = params.id; - this.type = params.type; - this.photo = params.photo; - this.document = params.document; - this.title = params.title; - this.description = params.description; - this.sendMessage = params.sendMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.String.read(_data); - let type = await Primitive.String.read(_data); - let photo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let document = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let title = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let sendMessage = await TLObject.read(_data); - return new Raw.BotInlineMediaResult({ - id: id, - type: type, - photo: photo, - document: document, - title: title, - description: description, - sendMessage: sendMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photo !== undefined ? 1 << 0 : 0; - flags |= this.document !== undefined ? 1 << 1 : 0; - flags |= this.title !== undefined ? 1 << 2 : 0; - flags |= this.description !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.sendMessage !== undefined) { - b.write(this.sendMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedMessageLink extends TLObject { - link!: string; - html!: string; - - constructor(params: { link: string; html: string }) { - super(); - this.classType = 'types'; - this.className = 'ExportedMessageLink'; - this.constructorId = 0x5dab1af4; - this.subclassOfId = 0xdee644cc; - this._slots = ['link', 'html']; - this.link = params.link; - this.html = params.html; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let link = await Primitive.String.read(_data); - let html = await Primitive.String.read(_data); - return new Raw.ExportedMessageLink({ link: link, html: html }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - if (this.html !== undefined) { - b.write(Primitive.String.write(this.html) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageFwdHeader extends TLObject { - imported?: boolean; - savedOut?: boolean; - fromId?: Raw.TypePeer; - fromName?: string; - date!: int; - channelPost?: int; - postAuthor?: string; - savedFromPeer?: Raw.TypePeer; - savedFromMsgId?: int; - savedFromId?: Raw.TypePeer; - savedFromName?: string; - savedDate?: int; - psaType?: string; - - constructor(params: { - imported?: boolean; - savedOut?: boolean; - fromId?: Raw.TypePeer; - fromName?: string; - date: int; - channelPost?: int; - postAuthor?: string; - savedFromPeer?: Raw.TypePeer; - savedFromMsgId?: int; - savedFromId?: Raw.TypePeer; - savedFromName?: string; - savedDate?: int; - psaType?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageFwdHeader'; - this.constructorId = 0x4e4df4bb; - this.subclassOfId = 0x7a286804; - this._slots = [ - 'imported', - 'savedOut', - 'fromId', - 'fromName', - 'date', - 'channelPost', - 'postAuthor', - 'savedFromPeer', - 'savedFromMsgId', - 'savedFromId', - 'savedFromName', - 'savedDate', - 'psaType', - ]; - this.imported = params.imported; - this.savedOut = params.savedOut; - this.fromId = params.fromId; - this.fromName = params.fromName; - this.date = params.date; - this.channelPost = params.channelPost; - this.postAuthor = params.postAuthor; - this.savedFromPeer = params.savedFromPeer; - this.savedFromMsgId = params.savedFromMsgId; - this.savedFromId = params.savedFromId; - this.savedFromName = params.savedFromName; - this.savedDate = params.savedDate; - this.psaType = params.psaType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let imported = flags & (1 << 7) ? true : false; - let savedOut = flags & (1 << 11) ? true : false; - let fromId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let fromName = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let channelPost = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let postAuthor = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let savedFromPeer = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let savedFromMsgId = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let savedFromId = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let savedFromName = flags & (1 << 9) ? await Primitive.String.read(_data) : undefined; - let savedDate = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let psaType = flags & (1 << 6) ? await Primitive.String.read(_data) : undefined; - return new Raw.MessageFwdHeader({ - imported: imported, - savedOut: savedOut, - fromId: fromId, - fromName: fromName, - date: date, - channelPost: channelPost, - postAuthor: postAuthor, - savedFromPeer: savedFromPeer, - savedFromMsgId: savedFromMsgId, - savedFromId: savedFromId, - savedFromName: savedFromName, - savedDate: savedDate, - psaType: psaType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.imported ? 1 << 7 : 0; - flags |= this.savedOut ? 1 << 11 : 0; - flags |= this.fromId !== undefined ? 1 << 0 : 0; - flags |= this.fromName !== undefined ? 1 << 5 : 0; - flags |= this.channelPost !== undefined ? 1 << 2 : 0; - flags |= this.postAuthor !== undefined ? 1 << 3 : 0; - flags |= this.savedFromPeer !== undefined ? 1 << 4 : 0; - flags |= this.savedFromMsgId !== undefined ? 1 << 4 : 0; - flags |= this.savedFromId !== undefined ? 1 << 8 : 0; - flags |= this.savedFromName !== undefined ? 1 << 9 : 0; - flags |= this.savedDate !== undefined ? 1 << 10 : 0; - flags |= this.psaType !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.fromName !== undefined) { - b.write(Primitive.String.write(this.fromName) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.channelPost !== undefined) { - b.write(Primitive.Int.write(this.channelPost) as unknown as Buffer); - } - if (this.postAuthor !== undefined) { - b.write(Primitive.String.write(this.postAuthor) as unknown as Buffer); - } - if (this.savedFromPeer !== undefined) { - b.write(this.savedFromPeer.write() as unknown as Buffer); - } - if (this.savedFromMsgId !== undefined) { - b.write(Primitive.Int.write(this.savedFromMsgId) as unknown as Buffer); - } - if (this.savedFromId !== undefined) { - b.write(this.savedFromId.write() as unknown as Buffer); - } - if (this.savedFromName !== undefined) { - b.write(Primitive.String.write(this.savedFromName) as unknown as Buffer); - } - if (this.savedDate !== undefined) { - b.write(Primitive.Int.write(this.savedDate) as unknown as Buffer); - } - if (this.psaType !== undefined) { - b.write(Primitive.String.write(this.psaType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageID extends TLObject { - dcId!: int; - id!: long; - accessHash!: long; - - constructor(params: { dcId: int; id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageID'; - this.constructorId = 0x890c3d89; - this.subclassOfId = 0x2dcd6300; - this._slots = ['dcId', 'id', 'accessHash']; - this.dcId = params.dcId; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputBotInlineMessageID({ dcId: dcId, id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotInlineMessageID64 extends TLObject { - dcId!: int; - ownerId!: long; - id!: int; - accessHash!: long; - - constructor(params: { dcId: int; ownerId: long; id: int; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputBotInlineMessageID64'; - this.constructorId = 0xb6d915d7; - this.subclassOfId = 0x2dcd6300; - this._slots = ['dcId', 'ownerId', 'id', 'accessHash']; - this.dcId = params.dcId; - this.ownerId = params.ownerId; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - let ownerId = await Primitive.Long.read(_data); - let id = await Primitive.Int.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputBotInlineMessageID64({ - dcId: dcId, - ownerId: ownerId, - id: id, - accessHash: accessHash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.ownerId !== undefined) { - b.write(Primitive.Long.write(this.ownerId) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineBotSwitchPM extends TLObject { - text!: string; - startParam!: string; - - constructor(params: { text: string; startParam: string }) { - super(); - this.classType = 'types'; - this.className = 'InlineBotSwitchPM'; - this.constructorId = 0x3c20629f; - this.subclassOfId = 0x82b1f73b; - this._slots = ['text', 'startParam']; - this.text = params.text; - this.startParam = params.startParam; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let startParam = await Primitive.String.read(_data); - return new Raw.InlineBotSwitchPM({ text: text, startParam: startParam }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeer extends TLObject { - peer!: Raw.TypePeer; - rating!: double; - - constructor(params: { peer: Raw.TypePeer; rating: double }) { - super(); - this.classType = 'types'; - this.className = 'TopPeer'; - this.constructorId = 0xedcdc05b; - this.subclassOfId = 0x6916c601; - this._slots = ['peer', 'rating']; - this.peer = params.peer; - this.rating = params.rating; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let rating = await Primitive.Double.read(_data); - return new Raw.TopPeer({ peer: peer, rating: rating }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.rating !== undefined) { - b.write(Primitive.Double.write(this.rating) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryBotsPM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryBotsPM'; - this.constructorId = 0xab661b5b; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryBotsPM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryBotsInline extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryBotsInline'; - this.constructorId = 0x148677e2; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryBotsInline(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryCorrespondents extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryCorrespondents'; - this.constructorId = 0x637b7ed; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryCorrespondents(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryGroups extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryGroups'; - this.constructorId = 0xbd17a14a; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryGroups(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryChannels extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryChannels'; - this.constructorId = 0x161d9628; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryChannels(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryPhoneCalls extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryPhoneCalls'; - this.constructorId = 0x1e76a78c; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryPhoneCalls(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryForwardUsers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryForwardUsers'; - this.constructorId = 0xa8406ca9; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryForwardUsers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryForwardChats extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryForwardChats'; - this.constructorId = 0xfbeec0f0; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryForwardChats(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryBotsApp extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryBotsApp'; - this.constructorId = 0xfd9e7bec; - this.subclassOfId = 0xddf02502; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.TopPeerCategoryBotsApp(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeerCategoryPeers extends TLObject { - category!: Raw.TypeTopPeerCategory; - count!: int; - peers!: Vector; - - constructor(params: { - category: Raw.TypeTopPeerCategory; - count: int; - peers: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'TopPeerCategoryPeers'; - this.constructorId = 0xfb834291; - this.subclassOfId = 0x4aec930; - this._slots = ['category', 'count', 'peers']; - this.category = params.category; - this.count = params.count; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let category = await TLObject.read(_data); - let count = await Primitive.Int.read(_data); - let peers = await TLObject.read(_data); - return new Raw.TopPeerCategoryPeers({ category: category, count: count, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.category !== undefined) { - b.write(this.category.write() as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DraftMessageEmpty extends TLObject { - date?: int; - - constructor(params: { date?: int }) { - super(); - this.classType = 'types'; - this.className = 'DraftMessageEmpty'; - this.constructorId = 0x1b0c841a; - this.subclassOfId = 0x33d47f45; - this._slots = ['date']; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let date = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.DraftMessageEmpty({ date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.date !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DraftMessage extends TLObject { - noWebpage?: boolean; - invertMedia?: boolean; - replyTo?: Raw.TypeInputReplyTo; - message!: string; - entities?: Vector; - media?: Raw.TypeInputMedia; - date!: int; - effect?: long; - suggestedPost?: Raw.TypeSuggestedPost; - - constructor(params: { - noWebpage?: boolean; - invertMedia?: boolean; - replyTo?: Raw.TypeInputReplyTo; - message: string; - entities?: Vector; - media?: Raw.TypeInputMedia; - date: int; - effect?: long; - suggestedPost?: Raw.TypeSuggestedPost; - }) { - super(); - this.classType = 'types'; - this.className = 'DraftMessage'; - this.constructorId = 0x96eaa5eb; - this.subclassOfId = 0x33d47f45; - this._slots = [ - 'noWebpage', - 'invertMedia', - 'replyTo', - 'message', - 'entities', - 'media', - 'date', - 'effect', - 'suggestedPost', - ]; - this.noWebpage = params.noWebpage; - this.invertMedia = params.invertMedia; - this.replyTo = params.replyTo; - this.message = params.message; - this.entities = params.entities; - this.media = params.media; - this.date = params.date; - this.effect = params.effect; - this.suggestedPost = params.suggestedPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 1) ? true : false; - let invertMedia = flags & (1 << 6) ? true : false; - let replyTo = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - let media = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let effect = flags & (1 << 7) ? await Primitive.Long.read(_data) : undefined; - let suggestedPost = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - return new Raw.DraftMessage({ - noWebpage: noWebpage, - invertMedia: invertMedia, - replyTo: replyTo, - message: message, - entities: entities, - media: media, - date: date, - effect: effect, - suggestedPost: suggestedPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 1 : 0; - flags |= this.invertMedia ? 1 << 6 : 0; - flags |= this.replyTo !== undefined ? 1 << 4 : 0; - flags |= this.entities ? 1 << 3 : 0; - flags |= this.media !== undefined ? 1 << 5 : 0; - flags |= this.effect !== undefined ? 1 << 7 : 0; - flags |= this.suggestedPost !== undefined ? 1 << 8 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.effect !== undefined) { - b.write(Primitive.Long.write(this.effect) as unknown as Buffer); - } - if (this.suggestedPost !== undefined) { - b.write(this.suggestedPost.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetCovered extends TLObject { - set!: Raw.TypeStickerSet; - cover!: Raw.TypeDocument; - - constructor(params: { set: Raw.TypeStickerSet; cover: Raw.TypeDocument }) { - super(); - this.classType = 'types'; - this.className = 'StickerSetCovered'; - this.constructorId = 0x6410a5d2; - this.subclassOfId = 0x7f86e4e5; - this._slots = ['set', 'cover']; - this.set = params.set; - this.cover = params.cover; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let set = await TLObject.read(_data); - let cover = await TLObject.read(_data); - return new Raw.StickerSetCovered({ set: set, cover: cover }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.set !== undefined) { - b.write(this.set.write() as unknown as Buffer); - } - if (this.cover !== undefined) { - b.write(this.cover.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetMultiCovered extends TLObject { - set!: Raw.TypeStickerSet; - covers!: Vector; - - constructor(params: { set: Raw.TypeStickerSet; covers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'StickerSetMultiCovered'; - this.constructorId = 0x3407e51b; - this.subclassOfId = 0x7f86e4e5; - this._slots = ['set', 'covers']; - this.set = params.set; - this.covers = params.covers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let set = await TLObject.read(_data); - let covers = await TLObject.read(_data); - return new Raw.StickerSetMultiCovered({ set: set, covers: covers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.set !== undefined) { - b.write(this.set.write() as unknown as Buffer); - } - if (this.covers) { - b.write(Primitive.Vector.write(this.covers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetFullCovered extends TLObject { - set!: Raw.TypeStickerSet; - packs!: Vector; - keywords!: Vector; - documents!: Vector; - - constructor(params: { - set: Raw.TypeStickerSet; - packs: Vector; - keywords: Vector; - documents: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'StickerSetFullCovered'; - this.constructorId = 0x40d13c0e; - this.subclassOfId = 0x7f86e4e5; - this._slots = ['set', 'packs', 'keywords', 'documents']; - this.set = params.set; - this.packs = params.packs; - this.keywords = params.keywords; - this.documents = params.documents; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let set = await TLObject.read(_data); - let packs = await TLObject.read(_data); - let keywords = await TLObject.read(_data); - let documents = await TLObject.read(_data); - return new Raw.StickerSetFullCovered({ - set: set, - packs: packs, - keywords: keywords, - documents: documents, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.set !== undefined) { - b.write(this.set.write() as unknown as Buffer); - } - if (this.packs) { - b.write(Primitive.Vector.write(this.packs) as unknown as Buffer); - } - if (this.keywords) { - b.write(Primitive.Vector.write(this.keywords) as unknown as Buffer); - } - if (this.documents) { - b.write(Primitive.Vector.write(this.documents) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetNoCovered extends TLObject { - set!: Raw.TypeStickerSet; - - constructor(params: { set: Raw.TypeStickerSet }) { - super(); - this.classType = 'types'; - this.className = 'StickerSetNoCovered'; - this.constructorId = 0x77b15d1c; - this.subclassOfId = 0x7f86e4e5; - this._slots = ['set']; - this.set = params.set; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let set = await TLObject.read(_data); - return new Raw.StickerSetNoCovered({ set: set }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.set !== undefined) { - b.write(this.set.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MaskCoords extends TLObject { - n!: int; - x!: double; - y!: double; - zoom!: double; - - constructor(params: { n: int; x: double; y: double; zoom: double }) { - super(); - this.classType = 'types'; - this.className = 'MaskCoords'; - this.constructorId = 0xaed6dbb2; - this.subclassOfId = 0x6bbb2fd; - this._slots = ['n', 'x', 'y', 'zoom']; - this.n = params.n; - this.x = params.x; - this.y = params.y; - this.zoom = params.zoom; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let n = await Primitive.Int.read(_data); - let x = await Primitive.Double.read(_data); - let y = await Primitive.Double.read(_data); - let zoom = await Primitive.Double.read(_data); - return new Raw.MaskCoords({ n: n, x: x, y: y, zoom: zoom }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.n !== undefined) { - b.write(Primitive.Int.write(this.n) as unknown as Buffer); - } - if (this.x !== undefined) { - b.write(Primitive.Double.write(this.x) as unknown as Buffer); - } - if (this.y !== undefined) { - b.write(Primitive.Double.write(this.y) as unknown as Buffer); - } - if (this.zoom !== undefined) { - b.write(Primitive.Double.write(this.zoom) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickeredMediaPhoto extends TLObject { - id!: Raw.TypeInputPhoto; - - constructor(params: { id: Raw.TypeInputPhoto }) { - super(); - this.classType = 'types'; - this.className = 'InputStickeredMediaPhoto'; - this.constructorId = 0x4a992157; - this.subclassOfId = 0x5146d99e; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.InputStickeredMediaPhoto({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickeredMediaDocument extends TLObject { - id!: Raw.TypeInputDocument; - - constructor(params: { id: Raw.TypeInputDocument }) { - super(); - this.classType = 'types'; - this.className = 'InputStickeredMediaDocument'; - this.constructorId = 0x438865b; - this.subclassOfId = 0x5146d99e; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.InputStickeredMediaDocument({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Game extends TLObject { - id!: long; - accessHash!: long; - shortName!: string; - title!: string; - description!: string; - photo!: Raw.TypePhoto; - document?: Raw.TypeDocument; - - constructor(params: { - id: long; - accessHash: long; - shortName: string; - title: string; - description: string; - photo: Raw.TypePhoto; - document?: Raw.TypeDocument; - }) { - super(); - this.classType = 'types'; - this.className = 'Game'; - this.constructorId = 0xbdf9653b; - this.subclassOfId = 0x83199eb2; - this._slots = ['id', 'accessHash', 'shortName', 'title', 'description', 'photo', 'document']; - this.id = params.id; - this.accessHash = params.accessHash; - this.shortName = params.shortName; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.document = params.document; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let shortName = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = await TLObject.read(_data); - let document = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.Game({ - id: id, - accessHash: accessHash, - shortName: shortName, - title: title, - description: description, - photo: photo, - document: document, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.document !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGameID extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputGameID'; - this.constructorId = 0x32c3e77; - this.subclassOfId = 0x48d15883; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputGameID({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGameShortName extends TLObject { - botId!: Raw.TypeInputUser; - shortName!: string; - - constructor(params: { botId: Raw.TypeInputUser; shortName: string }) { - super(); - this.classType = 'types'; - this.className = 'InputGameShortName'; - this.constructorId = 0xc331e80a; - this.subclassOfId = 0x48d15883; - this._slots = ['botId', 'shortName']; - this.botId = params.botId; - this.shortName = params.shortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let botId = await TLObject.read(_data); - let shortName = await Primitive.String.read(_data); - return new Raw.InputGameShortName({ botId: botId, shortName: shortName }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botId !== undefined) { - b.write(this.botId.write() as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HighScore extends TLObject { - pos!: int; - userId!: long; - score!: int; - - constructor(params: { pos: int; userId: long; score: int }) { - super(); - this.classType = 'types'; - this.className = 'HighScore'; - this.constructorId = 0x73a379eb; - this.subclassOfId = 0xd32b1e35; - this._slots = ['pos', 'userId', 'score']; - this.pos = params.pos; - this.userId = params.userId; - this.score = params.score; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let pos = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let score = await Primitive.Int.read(_data); - return new Raw.HighScore({ pos: pos, userId: userId, score: score }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pos !== undefined) { - b.write(Primitive.Int.write(this.pos) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.score !== undefined) { - b.write(Primitive.Int.write(this.score) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'TextEmpty'; - this.constructorId = 0xdc3d824f; - this.subclassOfId = 0xf1d0b479; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.TextEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextPlain extends TLObject { - text!: string; - - constructor(params: { text: string }) { - super(); - this.classType = 'types'; - this.className = 'TextPlain'; - this.constructorId = 0x744694e0; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await Primitive.String.read(_data); - return new Raw.TextPlain({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextBold extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextBold'; - this.constructorId = 0x6724abc4; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextBold({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextItalic extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextItalic'; - this.constructorId = 0xd912a59c; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextItalic({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextUnderline extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextUnderline'; - this.constructorId = 0xc12622c4; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextUnderline({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextStrike extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextStrike'; - this.constructorId = 0x9bf8bb95; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextStrike({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextFixed extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextFixed'; - this.constructorId = 0x6c3f19b9; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextFixed({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextUrl extends TLObject { - text!: Raw.TypeRichText; - url!: string; - webpageId!: long; - - constructor(params: { text: Raw.TypeRichText; url: string; webpageId: long }) { - super(); - this.classType = 'types'; - this.className = 'TextUrl'; - this.constructorId = 0x3c2884c1; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text', 'url', 'webpageId']; - this.text = params.text; - this.url = params.url; - this.webpageId = params.webpageId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - let url = await Primitive.String.read(_data); - let webpageId = await Primitive.Long.read(_data); - return new Raw.TextUrl({ text: text, url: url, webpageId: webpageId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.webpageId !== undefined) { - b.write(Primitive.Long.write(this.webpageId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextEmail extends TLObject { - text!: Raw.TypeRichText; - email!: string; - - constructor(params: { text: Raw.TypeRichText; email: string }) { - super(); - this.classType = 'types'; - this.className = 'TextEmail'; - this.constructorId = 0xde5a0dd6; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text', 'email']; - this.text = params.text; - this.email = params.email; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - let email = await Primitive.String.read(_data); - return new Raw.TextEmail({ text: text, email: email }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextConcat extends TLObject { - texts!: Vector; - - constructor(params: { texts: Vector }) { - super(); - this.classType = 'types'; - this.className = 'TextConcat'; - this.constructorId = 0x7e6260d7; - this.subclassOfId = 0xf1d0b479; - this._slots = ['texts']; - this.texts = params.texts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let texts = await TLObject.read(_data); - return new Raw.TextConcat({ texts: texts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.texts) { - b.write(Primitive.Vector.write(this.texts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextSubscript extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextSubscript'; - this.constructorId = 0xed6a8504; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextSubscript({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextSuperscript extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextSuperscript'; - this.constructorId = 0xc7fb5e01; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextSuperscript({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextMarked extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'TextMarked'; - this.constructorId = 0x34b8621; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.TextMarked({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextPhone extends TLObject { - text!: Raw.TypeRichText; - phone!: string; - - constructor(params: { text: Raw.TypeRichText; phone: string }) { - super(); - this.classType = 'types'; - this.className = 'TextPhone'; - this.constructorId = 0x1ccb966a; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text', 'phone']; - this.text = params.text; - this.phone = params.phone; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - let phone = await Primitive.String.read(_data); - return new Raw.TextPhone({ text: text, phone: phone }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextImage extends TLObject { - documentId!: long; - w!: int; - h!: int; - - constructor(params: { documentId: long; w: int; h: int }) { - super(); - this.classType = 'types'; - this.className = 'TextImage'; - this.constructorId = 0x81ccf4f; - this.subclassOfId = 0xf1d0b479; - this._slots = ['documentId', 'w', 'h']; - this.documentId = params.documentId; - this.w = params.w; - this.h = params.h; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let documentId = await Primitive.Long.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - return new Raw.TextImage({ documentId: documentId, w: w, h: h }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextAnchor extends TLObject { - text!: Raw.TypeRichText; - name!: string; - - constructor(params: { text: Raw.TypeRichText; name: string }) { - super(); - this.classType = 'types'; - this.className = 'TextAnchor'; - this.constructorId = 0x35553762; - this.subclassOfId = 0xf1d0b479; - this._slots = ['text', 'name']; - this.text = params.text; - this.name = params.name; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - let name = await Primitive.String.read(_data); - return new Raw.TextAnchor({ text: text, name: name }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockUnsupported extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PageBlockUnsupported'; - this.constructorId = 0x13567e8a; - this.subclassOfId = 0x1aca5644; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PageBlockUnsupported(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockTitle extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockTitle'; - this.constructorId = 0x70abc3fd; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockTitle({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockSubtitle extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockSubtitle'; - this.constructorId = 0x8ffa9a1f; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockSubtitle({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockAuthorDate extends TLObject { - author!: Raw.TypeRichText; - publishedDate!: int; - - constructor(params: { author: Raw.TypeRichText; publishedDate: int }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockAuthorDate'; - this.constructorId = 0xbaafe5e0; - this.subclassOfId = 0x1aca5644; - this._slots = ['author', 'publishedDate']; - this.author = params.author; - this.publishedDate = params.publishedDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let author = await TLObject.read(_data); - let publishedDate = await Primitive.Int.read(_data); - return new Raw.PageBlockAuthorDate({ author: author, publishedDate: publishedDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.author !== undefined) { - b.write(this.author.write() as unknown as Buffer); - } - if (this.publishedDate !== undefined) { - b.write(Primitive.Int.write(this.publishedDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockHeader extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockHeader'; - this.constructorId = 0xbfd064ec; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockHeader({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockSubheader extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockSubheader'; - this.constructorId = 0xf12bb6e1; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockSubheader({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockParagraph extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockParagraph'; - this.constructorId = 0x467a0766; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockParagraph({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockPreformatted extends TLObject { - text!: Raw.TypeRichText; - language!: string; - - constructor(params: { text: Raw.TypeRichText; language: string }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockPreformatted'; - this.constructorId = 0xc070d93e; - this.subclassOfId = 0x1aca5644; - this._slots = ['text', 'language']; - this.text = params.text; - this.language = params.language; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - let language = await Primitive.String.read(_data); - return new Raw.PageBlockPreformatted({ text: text, language: language }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.language !== undefined) { - b.write(Primitive.String.write(this.language) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockFooter extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockFooter'; - this.constructorId = 0x48870999; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockFooter({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockDivider extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PageBlockDivider'; - this.constructorId = 0xdb20b188; - this.subclassOfId = 0x1aca5644; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PageBlockDivider(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockAnchor extends TLObject { - name!: string; - - constructor(params: { name: string }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockAnchor'; - this.constructorId = 0xce0d37b0; - this.subclassOfId = 0x1aca5644; - this._slots = ['name']; - this.name = params.name; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let name = await Primitive.String.read(_data); - return new Raw.PageBlockAnchor({ name: name }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockList extends TLObject { - items!: Vector; - - constructor(params: { items: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockList'; - this.constructorId = 0xe4e88011; - this.subclassOfId = 0x1aca5644; - this._slots = ['items']; - this.items = params.items; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let items = await TLObject.read(_data); - return new Raw.PageBlockList({ items: items }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.items) { - b.write(Primitive.Vector.write(this.items) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockBlockquote extends TLObject { - text!: Raw.TypeRichText; - caption!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText; caption: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockBlockquote'; - this.constructorId = 0x263d7c26; - this.subclassOfId = 0x1aca5644; - this._slots = ['text', 'caption']; - this.text = params.text; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockBlockquote({ text: text, caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockPullquote extends TLObject { - text!: Raw.TypeRichText; - caption!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText; caption: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockPullquote'; - this.constructorId = 0x4f4456d3; - this.subclassOfId = 0x1aca5644; - this._slots = ['text', 'caption']; - this.text = params.text; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockPullquote({ text: text, caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockPhoto extends TLObject { - photoId!: long; - caption!: Raw.TypePageCaption; - url?: string; - webpageId?: long; - - constructor(params: { - photoId: long; - caption: Raw.TypePageCaption; - url?: string; - webpageId?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockPhoto'; - this.constructorId = 0x1759c560; - this.subclassOfId = 0x1aca5644; - this._slots = ['photoId', 'caption', 'url', 'webpageId']; - this.photoId = params.photoId; - this.caption = params.caption; - this.url = params.url; - this.webpageId = params.webpageId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let photoId = await Primitive.Long.read(_data); - let caption = await TLObject.read(_data); - let url = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let webpageId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.PageBlockPhoto({ - photoId: photoId, - caption: caption, - url: url, - webpageId: webpageId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.url !== undefined ? 1 << 0 : 0; - flags |= this.webpageId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.photoId !== undefined) { - b.write(Primitive.Long.write(this.photoId) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.webpageId !== undefined) { - b.write(Primitive.Long.write(this.webpageId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockVideo extends TLObject { - autoplay?: boolean; - loop?: boolean; - videoId!: long; - caption!: Raw.TypePageCaption; - - constructor(params: { - autoplay?: boolean; - loop?: boolean; - videoId: long; - caption: Raw.TypePageCaption; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockVideo'; - this.constructorId = 0x7c8fe7b6; - this.subclassOfId = 0x1aca5644; - this._slots = ['autoplay', 'loop', 'videoId', 'caption']; - this.autoplay = params.autoplay; - this.loop = params.loop; - this.videoId = params.videoId; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let autoplay = flags & (1 << 0) ? true : false; - let loop = flags & (1 << 1) ? true : false; - let videoId = await Primitive.Long.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockVideo({ - autoplay: autoplay, - loop: loop, - videoId: videoId, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.autoplay ? 1 << 0 : 0; - flags |= this.loop ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.videoId !== undefined) { - b.write(Primitive.Long.write(this.videoId) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockCover extends TLObject { - cover!: Raw.TypePageBlock; - - constructor(params: { cover: Raw.TypePageBlock }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockCover'; - this.constructorId = 0x39f23300; - this.subclassOfId = 0x1aca5644; - this._slots = ['cover']; - this.cover = params.cover; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let cover = await TLObject.read(_data); - return new Raw.PageBlockCover({ cover: cover }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.cover !== undefined) { - b.write(this.cover.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockEmbed extends TLObject { - fullWidth?: boolean; - allowScrolling?: boolean; - url?: string; - html?: string; - posterPhotoId?: long; - w?: int; - h?: int; - caption!: Raw.TypePageCaption; - - constructor(params: { - fullWidth?: boolean; - allowScrolling?: boolean; - url?: string; - html?: string; - posterPhotoId?: long; - w?: int; - h?: int; - caption: Raw.TypePageCaption; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockEmbed'; - this.constructorId = 0xa8718dc5; - this.subclassOfId = 0x1aca5644; - this._slots = [ - 'fullWidth', - 'allowScrolling', - 'url', - 'html', - 'posterPhotoId', - 'w', - 'h', - 'caption', - ]; - this.fullWidth = params.fullWidth; - this.allowScrolling = params.allowScrolling; - this.url = params.url; - this.html = params.html; - this.posterPhotoId = params.posterPhotoId; - this.w = params.w; - this.h = params.h; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let fullWidth = flags & (1 << 0) ? true : false; - let allowScrolling = flags & (1 << 3) ? true : false; - let url = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let html = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let posterPhotoId = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let w = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let h = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let caption = await TLObject.read(_data); - return new Raw.PageBlockEmbed({ - fullWidth: fullWidth, - allowScrolling: allowScrolling, - url: url, - html: html, - posterPhotoId: posterPhotoId, - w: w, - h: h, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fullWidth ? 1 << 0 : 0; - flags |= this.allowScrolling ? 1 << 3 : 0; - flags |= this.url !== undefined ? 1 << 1 : 0; - flags |= this.html !== undefined ? 1 << 2 : 0; - flags |= this.posterPhotoId !== undefined ? 1 << 4 : 0; - flags |= this.w !== undefined ? 1 << 5 : 0; - flags |= this.h !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.html !== undefined) { - b.write(Primitive.String.write(this.html) as unknown as Buffer); - } - if (this.posterPhotoId !== undefined) { - b.write(Primitive.Long.write(this.posterPhotoId) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockEmbedPost extends TLObject { - url!: string; - webpageId!: long; - authorPhotoId!: long; - author!: string; - date!: int; - blocks!: Vector; - caption!: Raw.TypePageCaption; - - constructor(params: { - url: string; - webpageId: long; - authorPhotoId: long; - author: string; - date: int; - blocks: Vector; - caption: Raw.TypePageCaption; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockEmbedPost'; - this.constructorId = 0xf259a80b; - this.subclassOfId = 0x1aca5644; - this._slots = ['url', 'webpageId', 'authorPhotoId', 'author', 'date', 'blocks', 'caption']; - this.url = params.url; - this.webpageId = params.webpageId; - this.authorPhotoId = params.authorPhotoId; - this.author = params.author; - this.date = params.date; - this.blocks = params.blocks; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let webpageId = await Primitive.Long.read(_data); - let authorPhotoId = await Primitive.Long.read(_data); - let author = await Primitive.String.read(_data); - let date = await Primitive.Int.read(_data); - let blocks = await TLObject.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockEmbedPost({ - url: url, - webpageId: webpageId, - authorPhotoId: authorPhotoId, - author: author, - date: date, - blocks: blocks, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.webpageId !== undefined) { - b.write(Primitive.Long.write(this.webpageId) as unknown as Buffer); - } - if (this.authorPhotoId !== undefined) { - b.write(Primitive.Long.write(this.authorPhotoId) as unknown as Buffer); - } - if (this.author !== undefined) { - b.write(Primitive.String.write(this.author) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.blocks) { - b.write(Primitive.Vector.write(this.blocks) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockCollage extends TLObject { - items!: Vector; - caption!: Raw.TypePageCaption; - - constructor(params: { items: Vector; caption: Raw.TypePageCaption }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockCollage'; - this.constructorId = 0x65a0fa4d; - this.subclassOfId = 0x1aca5644; - this._slots = ['items', 'caption']; - this.items = params.items; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let items = await TLObject.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockCollage({ items: items, caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.items) { - b.write(Primitive.Vector.write(this.items) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockSlideshow extends TLObject { - items!: Vector; - caption!: Raw.TypePageCaption; - - constructor(params: { items: Vector; caption: Raw.TypePageCaption }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockSlideshow'; - this.constructorId = 0x31f9590; - this.subclassOfId = 0x1aca5644; - this._slots = ['items', 'caption']; - this.items = params.items; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let items = await TLObject.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockSlideshow({ items: items, caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.items) { - b.write(Primitive.Vector.write(this.items) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockChannel extends TLObject { - channel!: Raw.TypeChat; - - constructor(params: { channel: Raw.TypeChat }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockChannel'; - this.constructorId = 0xef1751b5; - this.subclassOfId = 0x1aca5644; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.PageBlockChannel({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockAudio extends TLObject { - audioId!: long; - caption!: Raw.TypePageCaption; - - constructor(params: { audioId: long; caption: Raw.TypePageCaption }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockAudio'; - this.constructorId = 0x804361ea; - this.subclassOfId = 0x1aca5644; - this._slots = ['audioId', 'caption']; - this.audioId = params.audioId; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let audioId = await Primitive.Long.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockAudio({ audioId: audioId, caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.audioId !== undefined) { - b.write(Primitive.Long.write(this.audioId) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockKicker extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockKicker'; - this.constructorId = 0x1e148390; - this.subclassOfId = 0x1aca5644; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageBlockKicker({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockTable extends TLObject { - bordered?: boolean; - striped?: boolean; - title!: Raw.TypeRichText; - rows!: Vector; - - constructor(params: { - bordered?: boolean; - striped?: boolean; - title: Raw.TypeRichText; - rows: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockTable'; - this.constructorId = 0xbf4dea82; - this.subclassOfId = 0x1aca5644; - this._slots = ['bordered', 'striped', 'title', 'rows']; - this.bordered = params.bordered; - this.striped = params.striped; - this.title = params.title; - this.rows = params.rows; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let bordered = flags & (1 << 0) ? true : false; - let striped = flags & (1 << 1) ? true : false; - let title = await TLObject.read(_data); - let rows = await TLObject.read(_data); - return new Raw.PageBlockTable({ - bordered: bordered, - striped: striped, - title: title, - rows: rows, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.bordered ? 1 << 0 : 0; - flags |= this.striped ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.rows) { - b.write(Primitive.Vector.write(this.rows) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockOrderedList extends TLObject { - items!: Vector; - - constructor(params: { items: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockOrderedList'; - this.constructorId = 0x9a8ae1e1; - this.subclassOfId = 0x1aca5644; - this._slots = ['items']; - this.items = params.items; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let items = await TLObject.read(_data); - return new Raw.PageBlockOrderedList({ items: items }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.items) { - b.write(Primitive.Vector.write(this.items) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockDetails extends TLObject { - open?: boolean; - blocks!: Vector; - title!: Raw.TypeRichText; - - constructor(params: { - open?: boolean; - blocks: Vector; - title: Raw.TypeRichText; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockDetails'; - this.constructorId = 0x76768bed; - this.subclassOfId = 0x1aca5644; - this._slots = ['open', 'blocks', 'title']; - this.open = params.open; - this.blocks = params.blocks; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let open = flags & (1 << 0) ? true : false; - let blocks = await TLObject.read(_data); - let title = await TLObject.read(_data); - return new Raw.PageBlockDetails({ open: open, blocks: blocks, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.open ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.blocks) { - b.write(Primitive.Vector.write(this.blocks) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockRelatedArticles extends TLObject { - title!: Raw.TypeRichText; - articles!: Vector; - - constructor(params: { title: Raw.TypeRichText; articles: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockRelatedArticles'; - this.constructorId = 0x16115a96; - this.subclassOfId = 0x1aca5644; - this._slots = ['title', 'articles']; - this.title = params.title; - this.articles = params.articles; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await TLObject.read(_data); - let articles = await TLObject.read(_data); - return new Raw.PageBlockRelatedArticles({ title: title, articles: articles }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.articles) { - b.write(Primitive.Vector.write(this.articles) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageBlockMap extends TLObject { - geo!: Raw.TypeGeoPoint; - zoom!: int; - w!: int; - h!: int; - caption!: Raw.TypePageCaption; - - constructor(params: { - geo: Raw.TypeGeoPoint; - zoom: int; - w: int; - h: int; - caption: Raw.TypePageCaption; - }) { - super(); - this.classType = 'types'; - this.className = 'PageBlockMap'; - this.constructorId = 0xa44f3ef6; - this.subclassOfId = 0x1aca5644; - this._slots = ['geo', 'zoom', 'w', 'h', 'caption']; - this.geo = params.geo; - this.zoom = params.zoom; - this.w = params.w; - this.h = params.h; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let geo = await TLObject.read(_data); - let zoom = await Primitive.Int.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let caption = await TLObject.read(_data); - return new Raw.PageBlockMap({ geo: geo, zoom: zoom, w: w, h: h, caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.zoom !== undefined) { - b.write(Primitive.Int.write(this.zoom) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(this.caption.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallDiscardReasonMissed extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PhoneCallDiscardReasonMissed'; - this.constructorId = 0x85e42301; - this.subclassOfId = 0xd89bad3d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PhoneCallDiscardReasonMissed(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallDiscardReasonDisconnect extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PhoneCallDiscardReasonDisconnect'; - this.constructorId = 0xe095c1a0; - this.subclassOfId = 0xd89bad3d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PhoneCallDiscardReasonDisconnect(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallDiscardReasonHangup extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PhoneCallDiscardReasonHangup'; - this.constructorId = 0x57adc690; - this.subclassOfId = 0xd89bad3d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PhoneCallDiscardReasonHangup(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallDiscardReasonBusy extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PhoneCallDiscardReasonBusy'; - this.constructorId = 0xfaf7e8c9; - this.subclassOfId = 0xd89bad3d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PhoneCallDiscardReasonBusy(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallDiscardReasonMigrateConferenceCall extends TLObject { - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallDiscardReasonMigrateConferenceCall'; - this.constructorId = 0x9fbbf1f7; - this.subclassOfId = 0xd89bad3d; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.PhoneCallDiscardReasonMigrateConferenceCall({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DataJSON extends TLObject { - data!: string; - - constructor(params: { data: string }) { - super(); - this.classType = 'types'; - this.className = 'DataJSON'; - this.constructorId = 0x7d748d04; - this.subclassOfId = 0xad0352e8; - this._slots = ['data']; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let data = await Primitive.String.read(_data); - return new Raw.DataJSON({ data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.data !== undefined) { - b.write(Primitive.String.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LabeledPrice extends TLObject { - label!: string; - amount!: long; - - constructor(params: { label: string; amount: long }) { - super(); - this.classType = 'types'; - this.className = 'LabeledPrice'; - this.constructorId = 0xcb296bf8; - this.subclassOfId = 0x1c84047a; - this._slots = ['label', 'amount']; - this.label = params.label; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let label = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.LabeledPrice({ label: label, amount: amount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.label !== undefined) { - b.write(Primitive.String.write(this.label) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Invoice extends TLObject { - test?: boolean; - nameRequested?: boolean; - phoneRequested?: boolean; - emailRequested?: boolean; - shippingAddressRequested?: boolean; - flexible?: boolean; - phoneToProvider?: boolean; - emailToProvider?: boolean; - recurring?: boolean; - currency!: string; - prices!: Vector; - maxTipAmount?: long; - suggestedTipAmounts?: Vector; - termsUrl?: string; - subscriptionPeriod?: int; - - constructor(params: { - test?: boolean; - nameRequested?: boolean; - phoneRequested?: boolean; - emailRequested?: boolean; - shippingAddressRequested?: boolean; - flexible?: boolean; - phoneToProvider?: boolean; - emailToProvider?: boolean; - recurring?: boolean; - currency: string; - prices: Vector; - maxTipAmount?: long; - suggestedTipAmounts?: Vector; - termsUrl?: string; - subscriptionPeriod?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Invoice'; - this.constructorId = 0x49ee584; - this.subclassOfId = 0x5fd82ed8; - this._slots = [ - 'test', - 'nameRequested', - 'phoneRequested', - 'emailRequested', - 'shippingAddressRequested', - 'flexible', - 'phoneToProvider', - 'emailToProvider', - 'recurring', - 'currency', - 'prices', - 'maxTipAmount', - 'suggestedTipAmounts', - 'termsUrl', - 'subscriptionPeriod', - ]; - this.test = params.test; - this.nameRequested = params.nameRequested; - this.phoneRequested = params.phoneRequested; - this.emailRequested = params.emailRequested; - this.shippingAddressRequested = params.shippingAddressRequested; - this.flexible = params.flexible; - this.phoneToProvider = params.phoneToProvider; - this.emailToProvider = params.emailToProvider; - this.recurring = params.recurring; - this.currency = params.currency; - this.prices = params.prices; - this.maxTipAmount = params.maxTipAmount; - this.suggestedTipAmounts = params.suggestedTipAmounts; - this.termsUrl = params.termsUrl; - this.subscriptionPeriod = params.subscriptionPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let test = flags & (1 << 0) ? true : false; - let nameRequested = flags & (1 << 1) ? true : false; - let phoneRequested = flags & (1 << 2) ? true : false; - let emailRequested = flags & (1 << 3) ? true : false; - let shippingAddressRequested = flags & (1 << 4) ? true : false; - let flexible = flags & (1 << 5) ? true : false; - let phoneToProvider = flags & (1 << 6) ? true : false; - let emailToProvider = flags & (1 << 7) ? true : false; - let recurring = flags & (1 << 9) ? true : false; - let currency = await Primitive.String.read(_data); - let prices = await TLObject.read(_data); - let maxTipAmount = flags & (1 << 8) ? await Primitive.Long.read(_data) : undefined; - let suggestedTipAmounts = flags & (1 << 8) ? await TLObject.read(_data, Primitive.Long) : []; - let termsUrl = flags & (1 << 10) ? await Primitive.String.read(_data) : undefined; - let subscriptionPeriod = flags & (1 << 11) ? await Primitive.Int.read(_data) : undefined; - return new Raw.Invoice({ - test: test, - nameRequested: nameRequested, - phoneRequested: phoneRequested, - emailRequested: emailRequested, - shippingAddressRequested: shippingAddressRequested, - flexible: flexible, - phoneToProvider: phoneToProvider, - emailToProvider: emailToProvider, - recurring: recurring, - currency: currency, - prices: prices, - maxTipAmount: maxTipAmount, - suggestedTipAmounts: suggestedTipAmounts, - termsUrl: termsUrl, - subscriptionPeriod: subscriptionPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.test ? 1 << 0 : 0; - flags |= this.nameRequested ? 1 << 1 : 0; - flags |= this.phoneRequested ? 1 << 2 : 0; - flags |= this.emailRequested ? 1 << 3 : 0; - flags |= this.shippingAddressRequested ? 1 << 4 : 0; - flags |= this.flexible ? 1 << 5 : 0; - flags |= this.phoneToProvider ? 1 << 6 : 0; - flags |= this.emailToProvider ? 1 << 7 : 0; - flags |= this.recurring ? 1 << 9 : 0; - flags |= this.maxTipAmount !== undefined ? 1 << 8 : 0; - flags |= this.suggestedTipAmounts ? 1 << 8 : 0; - flags |= this.termsUrl !== undefined ? 1 << 10 : 0; - flags |= this.subscriptionPeriod !== undefined ? 1 << 11 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.prices) { - b.write(Primitive.Vector.write(this.prices) as unknown as Buffer); - } - if (this.maxTipAmount !== undefined) { - b.write(Primitive.Long.write(this.maxTipAmount) as unknown as Buffer); - } - if (this.suggestedTipAmounts) { - b.write( - Primitive.Vector.write(this.suggestedTipAmounts, Primitive.Long) as unknown as Buffer, - ); - } - if (this.termsUrl !== undefined) { - b.write(Primitive.String.write(this.termsUrl) as unknown as Buffer); - } - if (this.subscriptionPeriod !== undefined) { - b.write(Primitive.Int.write(this.subscriptionPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentCharge extends TLObject { - id!: string; - providerChargeId!: string; - - constructor(params: { id: string; providerChargeId: string }) { - super(); - this.classType = 'types'; - this.className = 'PaymentCharge'; - this.constructorId = 0xea02c27e; - this.subclassOfId = 0x3cc830d9; - this._slots = ['id', 'providerChargeId']; - this.id = params.id; - this.providerChargeId = params.providerChargeId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.String.read(_data); - let providerChargeId = await Primitive.String.read(_data); - return new Raw.PaymentCharge({ id: id, providerChargeId: providerChargeId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.providerChargeId !== undefined) { - b.write(Primitive.String.write(this.providerChargeId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PostAddress extends TLObject { - streetLine1!: string; - streetLine2!: string; - city!: string; - state!: string; - countryIso2!: string; - postCode!: string; - - constructor(params: { - streetLine1: string; - streetLine2: string; - city: string; - state: string; - countryIso2: string; - postCode: string; - }) { - super(); - this.classType = 'types'; - this.className = 'PostAddress'; - this.constructorId = 0x1e8caaeb; - this.subclassOfId = 0x8d7eda2c; - this._slots = ['streetLine1', 'streetLine2', 'city', 'state', 'countryIso2', 'postCode']; - this.streetLine1 = params.streetLine1; - this.streetLine2 = params.streetLine2; - this.city = params.city; - this.state = params.state; - this.countryIso2 = params.countryIso2; - this.postCode = params.postCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let streetLine1 = await Primitive.String.read(_data); - let streetLine2 = await Primitive.String.read(_data); - let city = await Primitive.String.read(_data); - let state = await Primitive.String.read(_data); - let countryIso2 = await Primitive.String.read(_data); - let postCode = await Primitive.String.read(_data); - return new Raw.PostAddress({ - streetLine1: streetLine1, - streetLine2: streetLine2, - city: city, - state: state, - countryIso2: countryIso2, - postCode: postCode, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.streetLine1 !== undefined) { - b.write(Primitive.String.write(this.streetLine1) as unknown as Buffer); - } - if (this.streetLine2 !== undefined) { - b.write(Primitive.String.write(this.streetLine2) as unknown as Buffer); - } - if (this.city !== undefined) { - b.write(Primitive.String.write(this.city) as unknown as Buffer); - } - if (this.state !== undefined) { - b.write(Primitive.String.write(this.state) as unknown as Buffer); - } - if (this.countryIso2 !== undefined) { - b.write(Primitive.String.write(this.countryIso2) as unknown as Buffer); - } - if (this.postCode !== undefined) { - b.write(Primitive.String.write(this.postCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentRequestedInfo extends TLObject { - name?: string; - phone?: string; - email?: string; - shippingAddress?: Raw.TypePostAddress; - - constructor(params: { - name?: string; - phone?: string; - email?: string; - shippingAddress?: Raw.TypePostAddress; - }) { - super(); - this.classType = 'types'; - this.className = 'PaymentRequestedInfo'; - this.constructorId = 0x909c3f94; - this.subclassOfId = 0x8db03146; - this._slots = ['name', 'phone', 'email', 'shippingAddress']; - this.name = params.name; - this.phone = params.phone; - this.email = params.email; - this.shippingAddress = params.shippingAddress; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let name = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let phone = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let email = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let shippingAddress = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - return new Raw.PaymentRequestedInfo({ - name: name, - phone: phone, - email: email, - shippingAddress: shippingAddress, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.name !== undefined ? 1 << 0 : 0; - flags |= this.phone !== undefined ? 1 << 1 : 0; - flags |= this.email !== undefined ? 1 << 2 : 0; - flags |= this.shippingAddress !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - if (this.shippingAddress !== undefined) { - b.write(this.shippingAddress.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentSavedCredentialsCard extends TLObject { - id!: string; - title!: string; - - constructor(params: { id: string; title: string }) { - super(); - this.classType = 'types'; - this.className = 'PaymentSavedCredentialsCard'; - this.constructorId = 0xcdc27a1f; - this.subclassOfId = 0xb3627ee3; - this._slots = ['id', 'title']; - this.id = params.id; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.PaymentSavedCredentialsCard({ id: id, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebDocument extends TLObject { - url!: string; - accessHash!: long; - size!: int; - mimeType!: string; - attributes!: Vector; - - constructor(params: { - url: string; - accessHash: long; - size: int; - mimeType: string; - attributes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'WebDocument'; - this.constructorId = 0x1c570ed1; - this.subclassOfId = 0x3b642814; - this._slots = ['url', 'accessHash', 'size', 'mimeType', 'attributes']; - this.url = params.url; - this.accessHash = params.accessHash; - this.size = params.size; - this.mimeType = params.mimeType; - this.attributes = params.attributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let url = await Primitive.String.read(_data); - let accessHash = await Primitive.Long.read(_data); - let size = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let attributes = await TLObject.read(_data); - return new Raw.WebDocument({ - url: url, - accessHash: accessHash, - size: size, - mimeType: mimeType, - attributes: attributes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebDocumentNoProxy extends TLObject { - url!: string; - size!: int; - mimeType!: string; - attributes!: Vector; - - constructor(params: { - url: string; - size: int; - mimeType: string; - attributes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'WebDocumentNoProxy'; - this.constructorId = 0xf9c8bcc6; - this.subclassOfId = 0x3b642814; - this._slots = ['url', 'size', 'mimeType', 'attributes']; - this.url = params.url; - this.size = params.size; - this.mimeType = params.mimeType; - this.attributes = params.attributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let size = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let attributes = await TLObject.read(_data); - return new Raw.WebDocumentNoProxy({ - url: url, - size: size, - mimeType: mimeType, - attributes: attributes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWebDocument extends TLObject { - url!: string; - size!: int; - mimeType!: string; - attributes!: Vector; - - constructor(params: { - url: string; - size: int; - mimeType: string; - attributes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'InputWebDocument'; - this.constructorId = 0x9bed434d; - this.subclassOfId = 0x8ae8b146; - this._slots = ['url', 'size', 'mimeType', 'attributes']; - this.url = params.url; - this.size = params.size; - this.mimeType = params.mimeType; - this.attributes = params.attributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let size = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let attributes = await TLObject.read(_data); - return new Raw.InputWebDocument({ - url: url, - size: size, - mimeType: mimeType, - attributes: attributes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWebFileLocation extends TLObject { - url!: string; - accessHash!: long; - - constructor(params: { url: string; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputWebFileLocation'; - this.constructorId = 0xc239d686; - this.subclassOfId = 0xf72ed8d9; - this._slots = ['url', 'accessHash']; - this.url = params.url; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputWebFileLocation({ url: url, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWebFileGeoPointLocation extends TLObject { - geoPoint!: Raw.TypeInputGeoPoint; - accessHash!: long; - w!: int; - h!: int; - zoom!: int; - scale!: int; - - constructor(params: { - geoPoint: Raw.TypeInputGeoPoint; - accessHash: long; - w: int; - h: int; - zoom: int; - scale: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputWebFileGeoPointLocation'; - this.constructorId = 0x9f2221c9; - this.subclassOfId = 0xf72ed8d9; - this._slots = ['geoPoint', 'accessHash', 'w', 'h', 'zoom', 'scale']; - this.geoPoint = params.geoPoint; - this.accessHash = params.accessHash; - this.w = params.w; - this.h = params.h; - this.zoom = params.zoom; - this.scale = params.scale; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let geoPoint = await TLObject.read(_data); - let accessHash = await Primitive.Long.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let zoom = await Primitive.Int.read(_data); - let scale = await Primitive.Int.read(_data); - return new Raw.InputWebFileGeoPointLocation({ - geoPoint: geoPoint, - accessHash: accessHash, - w: w, - h: h, - zoom: zoom, - scale: scale, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.zoom !== undefined) { - b.write(Primitive.Int.write(this.zoom) as unknown as Buffer); - } - if (this.scale !== undefined) { - b.write(Primitive.Int.write(this.scale) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWebFileAudioAlbumThumbLocation extends TLObject { - small?: boolean; - document?: Raw.TypeInputDocument; - title?: string; - performer?: string; - - constructor(params: { - small?: boolean; - document?: Raw.TypeInputDocument; - title?: string; - performer?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputWebFileAudioAlbumThumbLocation'; - this.constructorId = 0xf46fe924; - this.subclassOfId = 0xf72ed8d9; - this._slots = ['small', 'document', 'title', 'performer']; - this.small = params.small; - this.document = params.document; - this.title = params.title; - this.performer = params.performer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let small = flags & (1 << 2) ? true : false; - let document = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let performer = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.InputWebFileAudioAlbumThumbLocation({ - small: small, - document: document, - title: title, - performer: performer, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.small ? 1 << 2 : 0; - flags |= this.document !== undefined ? 1 << 0 : 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.performer !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.performer !== undefined) { - b.write(Primitive.String.write(this.performer) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPaymentCredentialsSaved extends TLObject { - id!: string; - tmpPassword!: bytes; - - constructor(params: { id: string; tmpPassword: bytes }) { - super(); - this.classType = 'types'; - this.className = 'InputPaymentCredentialsSaved'; - this.constructorId = 0xc10eb2cf; - this.subclassOfId = 0x2899a53d; - this._slots = ['id', 'tmpPassword']; - this.id = params.id; - this.tmpPassword = params.tmpPassword; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.String.read(_data); - let tmpPassword = await Primitive.Bytes.read(_data); - return new Raw.InputPaymentCredentialsSaved({ id: id, tmpPassword: tmpPassword }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.tmpPassword !== undefined) { - b.write(Primitive.Bytes.write(this.tmpPassword) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPaymentCredentials extends TLObject { - save?: boolean; - data!: Raw.TypeDataJSON; - - constructor(params: { save?: boolean; data: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'InputPaymentCredentials'; - this.constructorId = 0x3417d728; - this.subclassOfId = 0x2899a53d; - this._slots = ['save', 'data']; - this.save = params.save; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let save = flags & (1 << 0) ? true : false; - let data = await TLObject.read(_data); - return new Raw.InputPaymentCredentials({ save: save, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.save ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPaymentCredentialsApplePay extends TLObject { - paymentData!: Raw.TypeDataJSON; - - constructor(params: { paymentData: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'InputPaymentCredentialsApplePay'; - this.constructorId = 0xaa1c39f; - this.subclassOfId = 0x2899a53d; - this._slots = ['paymentData']; - this.paymentData = params.paymentData; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let paymentData = await TLObject.read(_data); - return new Raw.InputPaymentCredentialsApplePay({ paymentData: paymentData }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.paymentData !== undefined) { - b.write(this.paymentData.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPaymentCredentialsGooglePay extends TLObject { - paymentToken!: Raw.TypeDataJSON; - - constructor(params: { paymentToken: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'InputPaymentCredentialsGooglePay'; - this.constructorId = 0x8ac32801; - this.subclassOfId = 0x2899a53d; - this._slots = ['paymentToken']; - this.paymentToken = params.paymentToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let paymentToken = await TLObject.read(_data); - return new Raw.InputPaymentCredentialsGooglePay({ paymentToken: paymentToken }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.paymentToken !== undefined) { - b.write(this.paymentToken.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ShippingOption extends TLObject { - id!: string; - title!: string; - prices!: Vector; - - constructor(params: { id: string; title: string; prices: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ShippingOption'; - this.constructorId = 0xb6213cdf; - this.subclassOfId = 0xf4e94c78; - this._slots = ['id', 'title', 'prices']; - this.id = params.id; - this.title = params.title; - this.prices = params.prices; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let prices = await TLObject.read(_data); - return new Raw.ShippingOption({ id: id, title: title, prices: prices }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.prices) { - b.write(Primitive.Vector.write(this.prices) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStickerSetItem extends TLObject { - document!: Raw.TypeInputDocument; - emoji!: string; - maskCoords?: Raw.TypeMaskCoords; - keywords?: string; - - constructor(params: { - document: Raw.TypeInputDocument; - emoji: string; - maskCoords?: Raw.TypeMaskCoords; - keywords?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputStickerSetItem'; - this.constructorId = 0x32da9e9c; - this.subclassOfId = 0xae59f075; - this._slots = ['document', 'emoji', 'maskCoords', 'keywords']; - this.document = params.document; - this.emoji = params.emoji; - this.maskCoords = params.maskCoords; - this.keywords = params.keywords; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let document = await TLObject.read(_data); - let emoji = await Primitive.String.read(_data); - let maskCoords = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let keywords = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.InputStickerSetItem({ - document: document, - emoji: emoji, - maskCoords: maskCoords, - keywords: keywords, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.maskCoords !== undefined ? 1 << 0 : 0; - flags |= this.keywords !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.emoji !== undefined) { - b.write(Primitive.String.write(this.emoji) as unknown as Buffer); - } - if (this.maskCoords !== undefined) { - b.write(this.maskCoords.write() as unknown as Buffer); - } - if (this.keywords !== undefined) { - b.write(Primitive.String.write(this.keywords) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputPhoneCall extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputPhoneCall'; - this.constructorId = 0x1e36fded; - this.subclassOfId = 0xbcaaf240; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputPhoneCall({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallEmpty extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallEmpty'; - this.constructorId = 0x5366c915; - this.subclassOfId = 0xc47f1bd1; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.PhoneCallEmpty({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallWaiting extends TLObject { - video?: boolean; - id!: long; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - protocol!: Raw.TypePhoneCallProtocol; - receiveDate?: int; - - constructor(params: { - video?: boolean; - id: long; - accessHash: long; - date: int; - adminId: long; - participantId: long; - protocol: Raw.TypePhoneCallProtocol; - receiveDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallWaiting'; - this.constructorId = 0xc5226f17; - this.subclassOfId = 0xc47f1bd1; - this._slots = [ - 'video', - 'id', - 'accessHash', - 'date', - 'adminId', - 'participantId', - 'protocol', - 'receiveDate', - ]; - this.video = params.video; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - this.protocol = params.protocol; - this.receiveDate = params.receiveDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 6) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - let protocol = await TLObject.read(_data); - let receiveDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.PhoneCallWaiting({ - video: video, - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - protocol: protocol, - receiveDate: receiveDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 6 : 0; - flags |= this.receiveDate !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - if (this.receiveDate !== undefined) { - b.write(Primitive.Int.write(this.receiveDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallRequested extends TLObject { - video?: boolean; - id!: long; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - gAHash!: bytes; - protocol!: Raw.TypePhoneCallProtocol; - - constructor(params: { - video?: boolean; - id: long; - accessHash: long; - date: int; - adminId: long; - participantId: long; - gAHash: bytes; - protocol: Raw.TypePhoneCallProtocol; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallRequested'; - this.constructorId = 0x14b0ed0c; - this.subclassOfId = 0xc47f1bd1; - this._slots = [ - 'video', - 'id', - 'accessHash', - 'date', - 'adminId', - 'participantId', - 'gAHash', - 'protocol', - ]; - this.video = params.video; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - this.gAHash = params.gAHash; - this.protocol = params.protocol; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 6) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - let gAHash = await Primitive.Bytes.read(_data); - let protocol = await TLObject.read(_data); - return new Raw.PhoneCallRequested({ - video: video, - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - gAHash: gAHash, - protocol: protocol, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - if (this.gAHash !== undefined) { - b.write(Primitive.Bytes.write(this.gAHash) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallAccepted extends TLObject { - video?: boolean; - id!: long; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - gB!: bytes; - protocol!: Raw.TypePhoneCallProtocol; - - constructor(params: { - video?: boolean; - id: long; - accessHash: long; - date: int; - adminId: long; - participantId: long; - gB: bytes; - protocol: Raw.TypePhoneCallProtocol; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallAccepted'; - this.constructorId = 0x3660c311; - this.subclassOfId = 0xc47f1bd1; - this._slots = [ - 'video', - 'id', - 'accessHash', - 'date', - 'adminId', - 'participantId', - 'gB', - 'protocol', - ]; - this.video = params.video; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - this.gB = params.gB; - this.protocol = params.protocol; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 6) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - let gB = await Primitive.Bytes.read(_data); - let protocol = await TLObject.read(_data); - return new Raw.PhoneCallAccepted({ - video: video, - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - gB: gB, - protocol: protocol, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - if (this.gB !== undefined) { - b.write(Primitive.Bytes.write(this.gB) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCall extends TLObject { - p2pAllowed?: boolean; - video?: boolean; - conferenceSupported?: boolean; - id!: long; - accessHash!: long; - date!: int; - adminId!: long; - participantId!: long; - gAOrB!: bytes; - keyFingerprint!: long; - protocol!: Raw.TypePhoneCallProtocol; - connections!: Vector; - startDate!: int; - customParameters?: Raw.TypeDataJSON; - - constructor(params: { - p2pAllowed?: boolean; - video?: boolean; - conferenceSupported?: boolean; - id: long; - accessHash: long; - date: int; - adminId: long; - participantId: long; - gAOrB: bytes; - keyFingerprint: long; - protocol: Raw.TypePhoneCallProtocol; - connections: Vector; - startDate: int; - customParameters?: Raw.TypeDataJSON; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCall'; - this.constructorId = 0x30535af5; - this.subclassOfId = 0xc47f1bd1; - this._slots = [ - 'p2pAllowed', - 'video', - 'conferenceSupported', - 'id', - 'accessHash', - 'date', - 'adminId', - 'participantId', - 'gAOrB', - 'keyFingerprint', - 'protocol', - 'connections', - 'startDate', - 'customParameters', - ]; - this.p2pAllowed = params.p2pAllowed; - this.video = params.video; - this.conferenceSupported = params.conferenceSupported; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.adminId = params.adminId; - this.participantId = params.participantId; - this.gAOrB = params.gAOrB; - this.keyFingerprint = params.keyFingerprint; - this.protocol = params.protocol; - this.connections = params.connections; - this.startDate = params.startDate; - this.customParameters = params.customParameters; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let p2pAllowed = flags & (1 << 5) ? true : false; - let video = flags & (1 << 6) ? true : false; - let conferenceSupported = flags & (1 << 8) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let adminId = await Primitive.Long.read(_data); - let participantId = await Primitive.Long.read(_data); - let gAOrB = await Primitive.Bytes.read(_data); - let keyFingerprint = await Primitive.Long.read(_data); - let protocol = await TLObject.read(_data); - let connections = await TLObject.read(_data); - let startDate = await Primitive.Int.read(_data); - let customParameters = flags & (1 << 7) ? await TLObject.read(_data) : undefined; - return new Raw.PhoneCall({ - p2pAllowed: p2pAllowed, - video: video, - conferenceSupported: conferenceSupported, - id: id, - accessHash: accessHash, - date: date, - adminId: adminId, - participantId: participantId, - gAOrB: gAOrB, - keyFingerprint: keyFingerprint, - protocol: protocol, - connections: connections, - startDate: startDate, - customParameters: customParameters, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.p2pAllowed ? 1 << 5 : 0; - flags |= this.video ? 1 << 6 : 0; - flags |= this.conferenceSupported ? 1 << 8 : 0; - flags |= this.customParameters !== undefined ? 1 << 7 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.participantId !== undefined) { - b.write(Primitive.Long.write(this.participantId) as unknown as Buffer); - } - if (this.gAOrB !== undefined) { - b.write(Primitive.Bytes.write(this.gAOrB) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.keyFingerprint) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - if (this.connections) { - b.write(Primitive.Vector.write(this.connections) as unknown as Buffer); - } - if (this.startDate !== undefined) { - b.write(Primitive.Int.write(this.startDate) as unknown as Buffer); - } - if (this.customParameters !== undefined) { - b.write(this.customParameters.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallDiscarded extends TLObject { - needRating?: boolean; - needDebug?: boolean; - video?: boolean; - id!: long; - reason?: Raw.TypePhoneCallDiscardReason; - duration?: int; - - constructor(params: { - needRating?: boolean; - needDebug?: boolean; - video?: boolean; - id: long; - reason?: Raw.TypePhoneCallDiscardReason; - duration?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallDiscarded'; - this.constructorId = 0x50ca4de1; - this.subclassOfId = 0xc47f1bd1; - this._slots = ['needRating', 'needDebug', 'video', 'id', 'reason', 'duration']; - this.needRating = params.needRating; - this.needDebug = params.needDebug; - this.video = params.video; - this.id = params.id; - this.reason = params.reason; - this.duration = params.duration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let needRating = flags & (1 << 2) ? true : false; - let needDebug = flags & (1 << 3) ? true : false; - let video = flags & (1 << 6) ? true : false; - let id = await Primitive.Long.read(_data); - let reason = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let duration = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.PhoneCallDiscarded({ - needRating: needRating, - needDebug: needDebug, - video: video, - id: id, - reason: reason, - duration: duration, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.needRating ? 1 << 2 : 0; - flags |= this.needDebug ? 1 << 3 : 0; - flags |= this.video ? 1 << 6 : 0; - flags |= this.reason !== undefined ? 1 << 0 : 0; - flags |= this.duration !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(this.reason.write() as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneConnection extends TLObject { - tcp?: boolean; - id!: long; - ip!: string; - ipv6!: string; - port!: int; - peerTag!: bytes; - - constructor(params: { - tcp?: boolean; - id: long; - ip: string; - ipv6: string; - port: int; - peerTag: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneConnection'; - this.constructorId = 0x9cc123c7; - this.subclassOfId = 0xaa8de40d; - this._slots = ['tcp', 'id', 'ip', 'ipv6', 'port', 'peerTag']; - this.tcp = params.tcp; - this.id = params.id; - this.ip = params.ip; - this.ipv6 = params.ipv6; - this.port = params.port; - this.peerTag = params.peerTag; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let tcp = flags & (1 << 0) ? true : false; - let id = await Primitive.Long.read(_data); - let ip = await Primitive.String.read(_data); - let ipv6 = await Primitive.String.read(_data); - let port = await Primitive.Int.read(_data); - let peerTag = await Primitive.Bytes.read(_data); - return new Raw.PhoneConnection({ - tcp: tcp, - id: id, - ip: ip, - ipv6: ipv6, - port: port, - peerTag: peerTag, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.tcp ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.ip !== undefined) { - b.write(Primitive.String.write(this.ip) as unknown as Buffer); - } - if (this.ipv6 !== undefined) { - b.write(Primitive.String.write(this.ipv6) as unknown as Buffer); - } - if (this.port !== undefined) { - b.write(Primitive.Int.write(this.port) as unknown as Buffer); - } - if (this.peerTag !== undefined) { - b.write(Primitive.Bytes.write(this.peerTag) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneConnectionWebrtc extends TLObject { - turn?: boolean; - stun?: boolean; - id!: long; - ip!: string; - ipv6!: string; - port!: int; - username!: string; - password!: string; - - constructor(params: { - turn?: boolean; - stun?: boolean; - id: long; - ip: string; - ipv6: string; - port: int; - username: string; - password: string; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneConnectionWebrtc'; - this.constructorId = 0x635fe375; - this.subclassOfId = 0xaa8de40d; - this._slots = ['turn', 'stun', 'id', 'ip', 'ipv6', 'port', 'username', 'password']; - this.turn = params.turn; - this.stun = params.stun; - this.id = params.id; - this.ip = params.ip; - this.ipv6 = params.ipv6; - this.port = params.port; - this.username = params.username; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let turn = flags & (1 << 0) ? true : false; - let stun = flags & (1 << 1) ? true : false; - let id = await Primitive.Long.read(_data); - let ip = await Primitive.String.read(_data); - let ipv6 = await Primitive.String.read(_data); - let port = await Primitive.Int.read(_data); - let username = await Primitive.String.read(_data); - let password = await Primitive.String.read(_data); - return new Raw.PhoneConnectionWebrtc({ - turn: turn, - stun: stun, - id: id, - ip: ip, - ipv6: ipv6, - port: port, - username: username, - password: password, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.turn ? 1 << 0 : 0; - flags |= this.stun ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.ip !== undefined) { - b.write(Primitive.String.write(this.ip) as unknown as Buffer); - } - if (this.ipv6 !== undefined) { - b.write(Primitive.String.write(this.ipv6) as unknown as Buffer); - } - if (this.port !== undefined) { - b.write(Primitive.Int.write(this.port) as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.password !== undefined) { - b.write(Primitive.String.write(this.password) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhoneCallProtocol extends TLObject { - udpP2p?: boolean; - udpReflector?: boolean; - minLayer!: int; - maxLayer!: int; - libraryVersions!: Vector; - - constructor(params: { - udpP2p?: boolean; - udpReflector?: boolean; - minLayer: int; - maxLayer: int; - libraryVersions: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'PhoneCallProtocol'; - this.constructorId = 0xfc878fc8; - this.subclassOfId = 0x783991a3; - this._slots = ['udpP2p', 'udpReflector', 'minLayer', 'maxLayer', 'libraryVersions']; - this.udpP2p = params.udpP2p; - this.udpReflector = params.udpReflector; - this.minLayer = params.minLayer; - this.maxLayer = params.maxLayer; - this.libraryVersions = params.libraryVersions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let udpP2p = flags & (1 << 0) ? true : false; - let udpReflector = flags & (1 << 1) ? true : false; - let minLayer = await Primitive.Int.read(_data); - let maxLayer = await Primitive.Int.read(_data); - let libraryVersions = await TLObject.read(_data, Primitive.String); - return new Raw.PhoneCallProtocol({ - udpP2p: udpP2p, - udpReflector: udpReflector, - minLayer: minLayer, - maxLayer: maxLayer, - libraryVersions: libraryVersions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.udpP2p ? 1 << 0 : 0; - flags |= this.udpReflector ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.minLayer !== undefined) { - b.write(Primitive.Int.write(this.minLayer) as unknown as Buffer); - } - if (this.maxLayer !== undefined) { - b.write(Primitive.Int.write(this.maxLayer) as unknown as Buffer); - } - if (this.libraryVersions) { - b.write( - Primitive.Vector.write(this.libraryVersions, Primitive.String) as unknown as Buffer, - ); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CdnPublicKey extends TLObject { - dcId!: int; - publicKey!: string; - - constructor(params: { dcId: int; publicKey: string }) { - super(); - this.classType = 'types'; - this.className = 'CdnPublicKey'; - this.constructorId = 0xc982eaba; - this.subclassOfId = 0x16db47f3; - this._slots = ['dcId', 'publicKey']; - this.dcId = params.dcId; - this.publicKey = params.publicKey; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - let publicKey = await Primitive.String.read(_data); - return new Raw.CdnPublicKey({ dcId: dcId, publicKey: publicKey }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.publicKey !== undefined) { - b.write(Primitive.String.write(this.publicKey) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CdnConfig extends TLObject { - publicKeys!: Vector; - - constructor(params: { publicKeys: Vector }) { - super(); - this.classType = 'types'; - this.className = 'CdnConfig'; - this.constructorId = 0x5725e40a; - this.subclassOfId = 0xecda397c; - this._slots = ['publicKeys']; - this.publicKeys = params.publicKeys; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let publicKeys = await TLObject.read(_data); - return new Raw.CdnConfig({ publicKeys: publicKeys }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.publicKeys) { - b.write(Primitive.Vector.write(this.publicKeys) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LangPackString extends TLObject { - key!: string; - value!: string; - - constructor(params: { key: string; value: string }) { - super(); - this.classType = 'types'; - this.className = 'LangPackString'; - this.constructorId = 0xcad181f6; - this.subclassOfId = 0xdc179ab9; - this._slots = ['key', 'value']; - this.key = params.key; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let key = await Primitive.String.read(_data); - let value = await Primitive.String.read(_data); - return new Raw.LangPackString({ key: key, value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.key !== undefined) { - b.write(Primitive.String.write(this.key) as unknown as Buffer); - } - if (this.value !== undefined) { - b.write(Primitive.String.write(this.value) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LangPackStringPluralized extends TLObject { - key!: string; - zeroValue?: string; - oneValue?: string; - twoValue?: string; - fewValue?: string; - manyValue?: string; - otherValue!: string; - - constructor(params: { - key: string; - zeroValue?: string; - oneValue?: string; - twoValue?: string; - fewValue?: string; - manyValue?: string; - otherValue: string; - }) { - super(); - this.classType = 'types'; - this.className = 'LangPackStringPluralized'; - this.constructorId = 0x6c47ac9f; - this.subclassOfId = 0xdc179ab9; - this._slots = [ - 'key', - 'zeroValue', - 'oneValue', - 'twoValue', - 'fewValue', - 'manyValue', - 'otherValue', - ]; - this.key = params.key; - this.zeroValue = params.zeroValue; - this.oneValue = params.oneValue; - this.twoValue = params.twoValue; - this.fewValue = params.fewValue; - this.manyValue = params.manyValue; - this.otherValue = params.otherValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let key = await Primitive.String.read(_data); - let zeroValue = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let oneValue = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let twoValue = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let fewValue = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let manyValue = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let otherValue = await Primitive.String.read(_data); - return new Raw.LangPackStringPluralized({ - key: key, - zeroValue: zeroValue, - oneValue: oneValue, - twoValue: twoValue, - fewValue: fewValue, - manyValue: manyValue, - otherValue: otherValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.zeroValue !== undefined ? 1 << 0 : 0; - flags |= this.oneValue !== undefined ? 1 << 1 : 0; - flags |= this.twoValue !== undefined ? 1 << 2 : 0; - flags |= this.fewValue !== undefined ? 1 << 3 : 0; - flags |= this.manyValue !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.key !== undefined) { - b.write(Primitive.String.write(this.key) as unknown as Buffer); - } - if (this.zeroValue !== undefined) { - b.write(Primitive.String.write(this.zeroValue) as unknown as Buffer); - } - if (this.oneValue !== undefined) { - b.write(Primitive.String.write(this.oneValue) as unknown as Buffer); - } - if (this.twoValue !== undefined) { - b.write(Primitive.String.write(this.twoValue) as unknown as Buffer); - } - if (this.fewValue !== undefined) { - b.write(Primitive.String.write(this.fewValue) as unknown as Buffer); - } - if (this.manyValue !== undefined) { - b.write(Primitive.String.write(this.manyValue) as unknown as Buffer); - } - if (this.otherValue !== undefined) { - b.write(Primitive.String.write(this.otherValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LangPackStringDeleted extends TLObject { - key!: string; - - constructor(params: { key: string }) { - super(); - this.classType = 'types'; - this.className = 'LangPackStringDeleted'; - this.constructorId = 0x2979eeb2; - this.subclassOfId = 0xdc179ab9; - this._slots = ['key']; - this.key = params.key; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let key = await Primitive.String.read(_data); - return new Raw.LangPackStringDeleted({ key: key }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.key !== undefined) { - b.write(Primitive.String.write(this.key) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LangPackDifference extends TLObject { - langCode!: string; - fromVersion!: int; - version!: int; - strings!: Vector; - - constructor(params: { - langCode: string; - fromVersion: int; - version: int; - strings: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'LangPackDifference'; - this.constructorId = 0xf385c1f6; - this.subclassOfId = 0x52662d55; - this._slots = ['langCode', 'fromVersion', 'version', 'strings']; - this.langCode = params.langCode; - this.fromVersion = params.fromVersion; - this.version = params.version; - this.strings = params.strings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - let fromVersion = await Primitive.Int.read(_data); - let version = await Primitive.Int.read(_data); - let strings = await TLObject.read(_data); - return new Raw.LangPackDifference({ - langCode: langCode, - fromVersion: fromVersion, - version: version, - strings: strings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.fromVersion !== undefined) { - b.write(Primitive.Int.write(this.fromVersion) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - if (this.strings) { - b.write(Primitive.Vector.write(this.strings) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LangPackLanguage extends TLObject { - official?: boolean; - rtl?: boolean; - beta?: boolean; - name!: string; - nativeName!: string; - langCode!: string; - baseLangCode?: string; - pluralCode!: string; - stringsCount!: int; - translatedCount!: int; - translationsUrl!: string; - - constructor(params: { - official?: boolean; - rtl?: boolean; - beta?: boolean; - name: string; - nativeName: string; - langCode: string; - baseLangCode?: string; - pluralCode: string; - stringsCount: int; - translatedCount: int; - translationsUrl: string; - }) { - super(); - this.classType = 'types'; - this.className = 'LangPackLanguage'; - this.constructorId = 0xeeca5ce3; - this.subclassOfId = 0xabac89b7; - this._slots = [ - 'official', - 'rtl', - 'beta', - 'name', - 'nativeName', - 'langCode', - 'baseLangCode', - 'pluralCode', - 'stringsCount', - 'translatedCount', - 'translationsUrl', - ]; - this.official = params.official; - this.rtl = params.rtl; - this.beta = params.beta; - this.name = params.name; - this.nativeName = params.nativeName; - this.langCode = params.langCode; - this.baseLangCode = params.baseLangCode; - this.pluralCode = params.pluralCode; - this.stringsCount = params.stringsCount; - this.translatedCount = params.translatedCount; - this.translationsUrl = params.translationsUrl; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let official = flags & (1 << 0) ? true : false; - let rtl = flags & (1 << 2) ? true : false; - let beta = flags & (1 << 3) ? true : false; - let name = await Primitive.String.read(_data); - let nativeName = await Primitive.String.read(_data); - let langCode = await Primitive.String.read(_data); - let baseLangCode = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let pluralCode = await Primitive.String.read(_data); - let stringsCount = await Primitive.Int.read(_data); - let translatedCount = await Primitive.Int.read(_data); - let translationsUrl = await Primitive.String.read(_data); - return new Raw.LangPackLanguage({ - official: official, - rtl: rtl, - beta: beta, - name: name, - nativeName: nativeName, - langCode: langCode, - baseLangCode: baseLangCode, - pluralCode: pluralCode, - stringsCount: stringsCount, - translatedCount: translatedCount, - translationsUrl: translationsUrl, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.official ? 1 << 0 : 0; - flags |= this.rtl ? 1 << 2 : 0; - flags |= this.beta ? 1 << 3 : 0; - flags |= this.baseLangCode !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.nativeName !== undefined) { - b.write(Primitive.String.write(this.nativeName) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.baseLangCode !== undefined) { - b.write(Primitive.String.write(this.baseLangCode) as unknown as Buffer); - } - if (this.pluralCode !== undefined) { - b.write(Primitive.String.write(this.pluralCode) as unknown as Buffer); - } - if (this.stringsCount !== undefined) { - b.write(Primitive.Int.write(this.stringsCount) as unknown as Buffer); - } - if (this.translatedCount !== undefined) { - b.write(Primitive.Int.write(this.translatedCount) as unknown as Buffer); - } - if (this.translationsUrl !== undefined) { - b.write(Primitive.String.write(this.translationsUrl) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeTitle extends TLObject { - prevValue!: string; - newValue!: string; - - constructor(params: { prevValue: string; newValue: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeTitle'; - this.constructorId = 0xe6dfb825; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await Primitive.String.read(_data); - let newValue = await Primitive.String.read(_data); - return new Raw.ChannelAdminLogEventActionChangeTitle({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(Primitive.String.write(this.prevValue) as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(Primitive.String.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeAbout extends TLObject { - prevValue!: string; - newValue!: string; - - constructor(params: { prevValue: string; newValue: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeAbout'; - this.constructorId = 0x55188a2e; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await Primitive.String.read(_data); - let newValue = await Primitive.String.read(_data); - return new Raw.ChannelAdminLogEventActionChangeAbout({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(Primitive.String.write(this.prevValue) as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(Primitive.String.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeUsername extends TLObject { - prevValue!: string; - newValue!: string; - - constructor(params: { prevValue: string; newValue: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeUsername'; - this.constructorId = 0x6a4afc38; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await Primitive.String.read(_data); - let newValue = await Primitive.String.read(_data); - return new Raw.ChannelAdminLogEventActionChangeUsername({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(Primitive.String.write(this.prevValue) as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(Primitive.String.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangePhoto extends TLObject { - prevPhoto!: Raw.TypePhoto; - newPhoto!: Raw.TypePhoto; - - constructor(params: { prevPhoto: Raw.TypePhoto; newPhoto: Raw.TypePhoto }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangePhoto'; - this.constructorId = 0x434bd2af; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevPhoto', 'newPhoto']; - this.prevPhoto = params.prevPhoto; - this.newPhoto = params.newPhoto; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevPhoto = await TLObject.read(_data); - let newPhoto = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangePhoto({ - prevPhoto: prevPhoto, - newPhoto: newPhoto, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevPhoto !== undefined) { - b.write(this.prevPhoto.write() as unknown as Buffer); - } - if (this.newPhoto !== undefined) { - b.write(this.newPhoto.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleInvites extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleInvites'; - this.constructorId = 0x1b7907ae; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleInvites({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleSignatures extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleSignatures'; - this.constructorId = 0x26ae0971; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleSignatures({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionUpdatePinned extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionUpdatePinned'; - this.constructorId = 0xe9e82c18; - this.subclassOfId = 0xb2b987f3; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionUpdatePinned({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionEditMessage extends TLObject { - prevMessage!: Raw.TypeMessage; - newMessage!: Raw.TypeMessage; - - constructor(params: { prevMessage: Raw.TypeMessage; newMessage: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionEditMessage'; - this.constructorId = 0x709b2405; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevMessage', 'newMessage']; - this.prevMessage = params.prevMessage; - this.newMessage = params.newMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevMessage = await TLObject.read(_data); - let newMessage = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionEditMessage({ - prevMessage: prevMessage, - newMessage: newMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevMessage !== undefined) { - b.write(this.prevMessage.write() as unknown as Buffer); - } - if (this.newMessage !== undefined) { - b.write(this.newMessage.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionDeleteMessage extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionDeleteMessage'; - this.constructorId = 0x42e047bb; - this.subclassOfId = 0xb2b987f3; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionDeleteMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantJoin extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantJoin'; - this.constructorId = 0x183040d3; - this.subclassOfId = 0xb2b987f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelAdminLogEventActionParticipantJoin(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantLeave extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantLeave'; - this.constructorId = 0xf89777f2; - this.subclassOfId = 0xb2b987f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelAdminLogEventActionParticipantLeave(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantInvite extends TLObject { - participant!: Raw.TypeChannelParticipant; - - constructor(params: { participant: Raw.TypeChannelParticipant }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantInvite'; - this.constructorId = 0xe31c34d8; - this.subclassOfId = 0xb2b987f3; - this._slots = ['participant']; - this.participant = params.participant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let participant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantInvite({ participant: participant }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantToggleBan extends TLObject { - prevParticipant!: Raw.TypeChannelParticipant; - newParticipant!: Raw.TypeChannelParticipant; - - constructor(params: { - prevParticipant: Raw.TypeChannelParticipant; - newParticipant: Raw.TypeChannelParticipant; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantToggleBan'; - this.constructorId = 0xe6d83d7e; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevParticipant', 'newParticipant']; - this.prevParticipant = params.prevParticipant; - this.newParticipant = params.newParticipant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevParticipant = await TLObject.read(_data); - let newParticipant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantToggleBan({ - prevParticipant: prevParticipant, - newParticipant: newParticipant, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevParticipant !== undefined) { - b.write(this.prevParticipant.write() as unknown as Buffer); - } - if (this.newParticipant !== undefined) { - b.write(this.newParticipant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantToggleAdmin extends TLObject { - prevParticipant!: Raw.TypeChannelParticipant; - newParticipant!: Raw.TypeChannelParticipant; - - constructor(params: { - prevParticipant: Raw.TypeChannelParticipant; - newParticipant: Raw.TypeChannelParticipant; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantToggleAdmin'; - this.constructorId = 0xd5676710; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevParticipant', 'newParticipant']; - this.prevParticipant = params.prevParticipant; - this.newParticipant = params.newParticipant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevParticipant = await TLObject.read(_data); - let newParticipant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantToggleAdmin({ - prevParticipant: prevParticipant, - newParticipant: newParticipant, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevParticipant !== undefined) { - b.write(this.prevParticipant.write() as unknown as Buffer); - } - if (this.newParticipant !== undefined) { - b.write(this.newParticipant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeStickerSet extends TLObject { - prevStickerset!: Raw.TypeInputStickerSet; - newStickerset!: Raw.TypeInputStickerSet; - - constructor(params: { - prevStickerset: Raw.TypeInputStickerSet; - newStickerset: Raw.TypeInputStickerSet; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeStickerSet'; - this.constructorId = 0xb1c3caa7; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevStickerset', 'newStickerset']; - this.prevStickerset = params.prevStickerset; - this.newStickerset = params.newStickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevStickerset = await TLObject.read(_data); - let newStickerset = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeStickerSet({ - prevStickerset: prevStickerset, - newStickerset: newStickerset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevStickerset !== undefined) { - b.write(this.prevStickerset.write() as unknown as Buffer); - } - if (this.newStickerset !== undefined) { - b.write(this.newStickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionTogglePreHistoryHidden extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionTogglePreHistoryHidden'; - this.constructorId = 0x5f5c95f1; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionTogglePreHistoryHidden({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionDefaultBannedRights extends TLObject { - prevBannedRights!: Raw.TypeChatBannedRights; - newBannedRights!: Raw.TypeChatBannedRights; - - constructor(params: { - prevBannedRights: Raw.TypeChatBannedRights; - newBannedRights: Raw.TypeChatBannedRights; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionDefaultBannedRights'; - this.constructorId = 0x2df5fc0a; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevBannedRights', 'newBannedRights']; - this.prevBannedRights = params.prevBannedRights; - this.newBannedRights = params.newBannedRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevBannedRights = await TLObject.read(_data); - let newBannedRights = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionDefaultBannedRights({ - prevBannedRights: prevBannedRights, - newBannedRights: newBannedRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevBannedRights !== undefined) { - b.write(this.prevBannedRights.write() as unknown as Buffer); - } - if (this.newBannedRights !== undefined) { - b.write(this.newBannedRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionStopPoll extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionStopPoll'; - this.constructorId = 0x8f079643; - this.subclassOfId = 0xb2b987f3; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionStopPoll({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeLinkedChat extends TLObject { - prevValue!: long; - newValue!: long; - - constructor(params: { prevValue: long; newValue: long }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeLinkedChat'; - this.constructorId = 0x50c7ac8; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await Primitive.Long.read(_data); - let newValue = await Primitive.Long.read(_data); - return new Raw.ChannelAdminLogEventActionChangeLinkedChat({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(Primitive.Long.write(this.prevValue) as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(Primitive.Long.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeLocation extends TLObject { - prevValue!: Raw.TypeChannelLocation; - newValue!: Raw.TypeChannelLocation; - - constructor(params: { prevValue: Raw.TypeChannelLocation; newValue: Raw.TypeChannelLocation }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeLocation'; - this.constructorId = 0xe6b76ae; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data); - let newValue = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeLocation({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(this.prevValue.write() as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(this.newValue.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleSlowMode extends TLObject { - prevValue!: int; - newValue!: int; - - constructor(params: { prevValue: int; newValue: int }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleSlowMode'; - this.constructorId = 0x53909779; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await Primitive.Int.read(_data); - let newValue = await Primitive.Int.read(_data); - return new Raw.ChannelAdminLogEventActionToggleSlowMode({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(Primitive.Int.write(this.prevValue) as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(Primitive.Int.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionStartGroupCall extends TLObject { - call!: Raw.TypeInputGroupCall; - - constructor(params: { call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionStartGroupCall'; - this.constructorId = 0x23209745; - this.subclassOfId = 0xb2b987f3; - this._slots = ['call']; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionStartGroupCall({ call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionDiscardGroupCall extends TLObject { - call!: Raw.TypeInputGroupCall; - - constructor(params: { call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionDiscardGroupCall'; - this.constructorId = 0xdb9f9140; - this.subclassOfId = 0xb2b987f3; - this._slots = ['call']; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionDiscardGroupCall({ call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantMute extends TLObject { - participant!: Raw.TypeGroupCallParticipant; - - constructor(params: { participant: Raw.TypeGroupCallParticipant }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantMute'; - this.constructorId = 0xf92424d2; - this.subclassOfId = 0xb2b987f3; - this._slots = ['participant']; - this.participant = params.participant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let participant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantMute({ participant: participant }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantUnmute extends TLObject { - participant!: Raw.TypeGroupCallParticipant; - - constructor(params: { participant: Raw.TypeGroupCallParticipant }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantUnmute'; - this.constructorId = 0xe64429c0; - this.subclassOfId = 0xb2b987f3; - this._slots = ['participant']; - this.participant = params.participant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let participant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantUnmute({ participant: participant }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleGroupCallSetting extends TLObject { - joinMuted!: Bool; - - constructor(params: { joinMuted: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleGroupCallSetting'; - this.constructorId = 0x56d6a247; - this.subclassOfId = 0xb2b987f3; - this._slots = ['joinMuted']; - this.joinMuted = params.joinMuted; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let joinMuted = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleGroupCallSetting({ joinMuted: joinMuted }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.joinMuted !== undefined) { - b.write(Primitive.Bool.write(this.joinMuted) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantJoinByInvite extends TLObject { - viaChatlist?: boolean; - invite!: Raw.TypeExportedChatInvite; - - constructor(params: { viaChatlist?: boolean; invite: Raw.TypeExportedChatInvite }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantJoinByInvite'; - this.constructorId = 0xfe9fc158; - this.subclassOfId = 0xb2b987f3; - this._slots = ['viaChatlist', 'invite']; - this.viaChatlist = params.viaChatlist; - this.invite = params.invite; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viaChatlist = flags & (1 << 0) ? true : false; - let invite = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantJoinByInvite({ - viaChatlist: viaChatlist, - invite: invite, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viaChatlist ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionExportedInviteDelete extends TLObject { - invite!: Raw.TypeExportedChatInvite; - - constructor(params: { invite: Raw.TypeExportedChatInvite }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionExportedInviteDelete'; - this.constructorId = 0x5a50fca4; - this.subclassOfId = 0xb2b987f3; - this._slots = ['invite']; - this.invite = params.invite; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invite = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionExportedInviteDelete({ invite: invite }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionExportedInviteRevoke extends TLObject { - invite!: Raw.TypeExportedChatInvite; - - constructor(params: { invite: Raw.TypeExportedChatInvite }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionExportedInviteRevoke'; - this.constructorId = 0x410a134e; - this.subclassOfId = 0xb2b987f3; - this._slots = ['invite']; - this.invite = params.invite; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invite = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionExportedInviteRevoke({ invite: invite }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionExportedInviteEdit extends TLObject { - prevInvite!: Raw.TypeExportedChatInvite; - newInvite!: Raw.TypeExportedChatInvite; - - constructor(params: { - prevInvite: Raw.TypeExportedChatInvite; - newInvite: Raw.TypeExportedChatInvite; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionExportedInviteEdit'; - this.constructorId = 0xe90ebb59; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevInvite', 'newInvite']; - this.prevInvite = params.prevInvite; - this.newInvite = params.newInvite; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevInvite = await TLObject.read(_data); - let newInvite = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionExportedInviteEdit({ - prevInvite: prevInvite, - newInvite: newInvite, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevInvite !== undefined) { - b.write(this.prevInvite.write() as unknown as Buffer); - } - if (this.newInvite !== undefined) { - b.write(this.newInvite.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantVolume extends TLObject { - participant!: Raw.TypeGroupCallParticipant; - - constructor(params: { participant: Raw.TypeGroupCallParticipant }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantVolume'; - this.constructorId = 0x3e7f6847; - this.subclassOfId = 0xb2b987f3; - this._slots = ['participant']; - this.participant = params.participant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let participant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantVolume({ participant: participant }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeHistoryTTL extends TLObject { - prevValue!: int; - newValue!: int; - - constructor(params: { prevValue: int; newValue: int }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeHistoryTTL'; - this.constructorId = 0x6e941a38; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await Primitive.Int.read(_data); - let newValue = await Primitive.Int.read(_data); - return new Raw.ChannelAdminLogEventActionChangeHistoryTTL({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(Primitive.Int.write(this.prevValue) as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(Primitive.Int.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantJoinByRequest extends TLObject { - invite!: Raw.TypeExportedChatInvite; - approvedBy!: long; - - constructor(params: { invite: Raw.TypeExportedChatInvite; approvedBy: long }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantJoinByRequest'; - this.constructorId = 0xafb6144a; - this.subclassOfId = 0xb2b987f3; - this._slots = ['invite', 'approvedBy']; - this.invite = params.invite; - this.approvedBy = params.approvedBy; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invite = await TLObject.read(_data); - let approvedBy = await Primitive.Long.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantJoinByRequest({ - invite: invite, - approvedBy: approvedBy, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - if (this.approvedBy !== undefined) { - b.write(Primitive.Long.write(this.approvedBy) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleNoForwards extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleNoForwards'; - this.constructorId = 0xcb2ac766; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleNoForwards({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionSendMessage extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionSendMessage'; - this.constructorId = 0x278f2868; - this.subclassOfId = 0xb2b987f3; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionSendMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeAvailableReactions extends TLObject { - prevValue!: Raw.TypeChatReactions; - newValue!: Raw.TypeChatReactions; - - constructor(params: { prevValue: Raw.TypeChatReactions; newValue: Raw.TypeChatReactions }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeAvailableReactions'; - this.constructorId = 0xbe4e0ef8; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data); - let newValue = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeAvailableReactions({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(this.prevValue.write() as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(this.newValue.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeUsernames extends TLObject { - prevValue!: Vector; - newValue!: Vector; - - constructor(params: { prevValue: Vector; newValue: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeUsernames'; - this.constructorId = 0xf04fb3a9; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data, Primitive.String); - let newValue = await TLObject.read(_data, Primitive.String); - return new Raw.ChannelAdminLogEventActionChangeUsernames({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue) { - b.write(Primitive.Vector.write(this.prevValue, Primitive.String) as unknown as Buffer); - } - if (this.newValue) { - b.write(Primitive.Vector.write(this.newValue, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleForum extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleForum'; - this.constructorId = 0x2cc6383; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleForum({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionCreateTopic extends TLObject { - topic!: Raw.TypeForumTopic; - - constructor(params: { topic: Raw.TypeForumTopic }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionCreateTopic'; - this.constructorId = 0x58707d28; - this.subclassOfId = 0xb2b987f3; - this._slots = ['topic']; - this.topic = params.topic; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let topic = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionCreateTopic({ topic: topic }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.topic !== undefined) { - b.write(this.topic.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionEditTopic extends TLObject { - prevTopic!: Raw.TypeForumTopic; - newTopic!: Raw.TypeForumTopic; - - constructor(params: { prevTopic: Raw.TypeForumTopic; newTopic: Raw.TypeForumTopic }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionEditTopic'; - this.constructorId = 0xf06fe208; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevTopic', 'newTopic']; - this.prevTopic = params.prevTopic; - this.newTopic = params.newTopic; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevTopic = await TLObject.read(_data); - let newTopic = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionEditTopic({ - prevTopic: prevTopic, - newTopic: newTopic, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevTopic !== undefined) { - b.write(this.prevTopic.write() as unknown as Buffer); - } - if (this.newTopic !== undefined) { - b.write(this.newTopic.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionDeleteTopic extends TLObject { - topic!: Raw.TypeForumTopic; - - constructor(params: { topic: Raw.TypeForumTopic }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionDeleteTopic'; - this.constructorId = 0xae168909; - this.subclassOfId = 0xb2b987f3; - this._slots = ['topic']; - this.topic = params.topic; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let topic = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionDeleteTopic({ topic: topic }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.topic !== undefined) { - b.write(this.topic.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionPinTopic extends TLObject { - prevTopic?: Raw.TypeForumTopic; - newTopic?: Raw.TypeForumTopic; - - constructor(params: { prevTopic?: Raw.TypeForumTopic; newTopic?: Raw.TypeForumTopic }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionPinTopic'; - this.constructorId = 0x5d8d353b; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevTopic', 'newTopic']; - this.prevTopic = params.prevTopic; - this.newTopic = params.newTopic; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let prevTopic = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let newTopic = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.ChannelAdminLogEventActionPinTopic({ - prevTopic: prevTopic, - newTopic: newTopic, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.prevTopic !== undefined ? 1 << 0 : 0; - flags |= this.newTopic !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.prevTopic !== undefined) { - b.write(this.prevTopic.write() as unknown as Buffer); - } - if (this.newTopic !== undefined) { - b.write(this.newTopic.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleAntiSpam extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleAntiSpam'; - this.constructorId = 0x64f36dfc; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleAntiSpam({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangePeerColor extends TLObject { - prevValue!: Raw.TypePeerColor; - newValue!: Raw.TypePeerColor; - - constructor(params: { prevValue: Raw.TypePeerColor; newValue: Raw.TypePeerColor }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangePeerColor'; - this.constructorId = 0x5796e780; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data); - let newValue = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangePeerColor({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(this.prevValue.write() as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(this.newValue.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeProfilePeerColor extends TLObject { - prevValue!: Raw.TypePeerColor; - newValue!: Raw.TypePeerColor; - - constructor(params: { prevValue: Raw.TypePeerColor; newValue: Raw.TypePeerColor }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeProfilePeerColor'; - this.constructorId = 0x5e477b25; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data); - let newValue = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeProfilePeerColor({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(this.prevValue.write() as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(this.newValue.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeWallpaper extends TLObject { - prevValue!: Raw.TypeWallPaper; - newValue!: Raw.TypeWallPaper; - - constructor(params: { prevValue: Raw.TypeWallPaper; newValue: Raw.TypeWallPaper }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeWallpaper'; - this.constructorId = 0x31bb5d52; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data); - let newValue = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeWallpaper({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(this.prevValue.write() as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(this.newValue.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeEmojiStatus extends TLObject { - prevValue!: Raw.TypeEmojiStatus; - newValue!: Raw.TypeEmojiStatus; - - constructor(params: { prevValue: Raw.TypeEmojiStatus; newValue: Raw.TypeEmojiStatus }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeEmojiStatus'; - this.constructorId = 0x3ea9feb1; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevValue', 'newValue']; - this.prevValue = params.prevValue; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevValue = await TLObject.read(_data); - let newValue = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeEmojiStatus({ - prevValue: prevValue, - newValue: newValue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevValue !== undefined) { - b.write(this.prevValue.write() as unknown as Buffer); - } - if (this.newValue !== undefined) { - b.write(this.newValue.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionChangeEmojiStickerSet extends TLObject { - prevStickerset!: Raw.TypeInputStickerSet; - newStickerset!: Raw.TypeInputStickerSet; - - constructor(params: { - prevStickerset: Raw.TypeInputStickerSet; - newStickerset: Raw.TypeInputStickerSet; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionChangeEmojiStickerSet'; - this.constructorId = 0x46d840ab; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevStickerset', 'newStickerset']; - this.prevStickerset = params.prevStickerset; - this.newStickerset = params.newStickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevStickerset = await TLObject.read(_data); - let newStickerset = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionChangeEmojiStickerSet({ - prevStickerset: prevStickerset, - newStickerset: newStickerset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevStickerset !== undefined) { - b.write(this.prevStickerset.write() as unknown as Buffer); - } - if (this.newStickerset !== undefined) { - b.write(this.newStickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleSignatureProfiles extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleSignatureProfiles'; - this.constructorId = 0x60a79c79; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleSignatureProfiles({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionParticipantSubExtend extends TLObject { - prevParticipant!: Raw.TypeChannelParticipant; - newParticipant!: Raw.TypeChannelParticipant; - - constructor(params: { - prevParticipant: Raw.TypeChannelParticipant; - newParticipant: Raw.TypeChannelParticipant; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionParticipantSubExtend'; - this.constructorId = 0x64642db3; - this.subclassOfId = 0xb2b987f3; - this._slots = ['prevParticipant', 'newParticipant']; - this.prevParticipant = params.prevParticipant; - this.newParticipant = params.newParticipant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prevParticipant = await TLObject.read(_data); - let newParticipant = await TLObject.read(_data); - return new Raw.ChannelAdminLogEventActionParticipantSubExtend({ - prevParticipant: prevParticipant, - newParticipant: newParticipant, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prevParticipant !== undefined) { - b.write(this.prevParticipant.write() as unknown as Buffer); - } - if (this.newParticipant !== undefined) { - b.write(this.newParticipant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventActionToggleAutotranslation extends TLObject { - newValue!: Bool; - - constructor(params: { newValue: Bool }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventActionToggleAutotranslation'; - this.constructorId = 0xc517f77e; - this.subclassOfId = 0xb2b987f3; - this._slots = ['newValue']; - this.newValue = params.newValue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newValue = await Primitive.Bool.read(_data); - return new Raw.ChannelAdminLogEventActionToggleAutotranslation({ newValue: newValue }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newValue !== undefined) { - b.write(Primitive.Bool.write(this.newValue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEvent extends TLObject { - id!: long; - date!: int; - userId!: long; - action!: Raw.TypeChannelAdminLogEventAction; - - constructor(params: { - id: long; - date: int; - userId: long; - action: Raw.TypeChannelAdminLogEventAction; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEvent'; - this.constructorId = 0x1fad68cd; - this.subclassOfId = 0x408f0999; - this._slots = ['id', 'date', 'userId', 'action']; - this.id = params.id; - this.date = params.date; - this.userId = params.userId; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let action = await TLObject.read(_data); - return new Raw.ChannelAdminLogEvent({ id: id, date: date, userId: userId, action: action }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelAdminLogEventsFilter extends TLObject { - join?: boolean; - leave?: boolean; - invite?: boolean; - ban?: boolean; - unban?: boolean; - kick?: boolean; - unkick?: boolean; - promote?: boolean; - demote?: boolean; - info?: boolean; - settings?: boolean; - pinned?: boolean; - edit?: boolean; - delete?: boolean; - groupCall?: boolean; - invites?: boolean; - send?: boolean; - forums?: boolean; - subExtend?: boolean; - - constructor(params: { - join?: boolean; - leave?: boolean; - invite?: boolean; - ban?: boolean; - unban?: boolean; - kick?: boolean; - unkick?: boolean; - promote?: boolean; - demote?: boolean; - info?: boolean; - settings?: boolean; - pinned?: boolean; - edit?: boolean; - delete?: boolean; - groupCall?: boolean; - invites?: boolean; - send?: boolean; - forums?: boolean; - subExtend?: boolean; - }) { - super(); - this.classType = 'types'; - this.className = 'ChannelAdminLogEventsFilter'; - this.constructorId = 0xea107ae4; - this.subclassOfId = 0x7cbbf319; - this._slots = [ - 'join', - 'leave', - 'invite', - 'ban', - 'unban', - 'kick', - 'unkick', - 'promote', - 'demote', - 'info', - 'settings', - 'pinned', - 'edit', - 'delete', - 'groupCall', - 'invites', - 'send', - 'forums', - 'subExtend', - ]; - this.join = params.join; - this.leave = params.leave; - this.invite = params.invite; - this.ban = params.ban; - this.unban = params.unban; - this.kick = params.kick; - this.unkick = params.unkick; - this.promote = params.promote; - this.demote = params.demote; - this.info = params.info; - this.settings = params.settings; - this.pinned = params.pinned; - this.edit = params.edit; - this.delete = params.delete; - this.groupCall = params.groupCall; - this.invites = params.invites; - this.send = params.send; - this.forums = params.forums; - this.subExtend = params.subExtend; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let join = flags & (1 << 0) ? true : false; - let leave = flags & (1 << 1) ? true : false; - let invite = flags & (1 << 2) ? true : false; - let ban = flags & (1 << 3) ? true : false; - let unban = flags & (1 << 4) ? true : false; - let kick = flags & (1 << 5) ? true : false; - let unkick = flags & (1 << 6) ? true : false; - let promote = flags & (1 << 7) ? true : false; - let demote = flags & (1 << 8) ? true : false; - let info = flags & (1 << 9) ? true : false; - let settings = flags & (1 << 10) ? true : false; - let pinned = flags & (1 << 11) ? true : false; - let edit = flags & (1 << 12) ? true : false; - let _delete = flags & (1 << 13) ? true : false; - let groupCall = flags & (1 << 14) ? true : false; - let invites = flags & (1 << 15) ? true : false; - let send = flags & (1 << 16) ? true : false; - let forums = flags & (1 << 17) ? true : false; - let subExtend = flags & (1 << 18) ? true : false; - return new Raw.ChannelAdminLogEventsFilter({ - join: join, - leave: leave, - invite: invite, - ban: ban, - unban: unban, - kick: kick, - unkick: unkick, - promote: promote, - demote: demote, - info: info, - settings: settings, - pinned: pinned, - edit: edit, - delete: _delete, - groupCall: groupCall, - invites: invites, - send: send, - forums: forums, - subExtend: subExtend, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.join ? 1 << 0 : 0; - flags |= this.leave ? 1 << 1 : 0; - flags |= this.invite ? 1 << 2 : 0; - flags |= this.ban ? 1 << 3 : 0; - flags |= this.unban ? 1 << 4 : 0; - flags |= this.kick ? 1 << 5 : 0; - flags |= this.unkick ? 1 << 6 : 0; - flags |= this.promote ? 1 << 7 : 0; - flags |= this.demote ? 1 << 8 : 0; - flags |= this.info ? 1 << 9 : 0; - flags |= this.settings ? 1 << 10 : 0; - flags |= this.pinned ? 1 << 11 : 0; - flags |= this.edit ? 1 << 12 : 0; - flags |= this.delete ? 1 << 13 : 0; - flags |= this.groupCall ? 1 << 14 : 0; - flags |= this.invites ? 1 << 15 : 0; - flags |= this.send ? 1 << 16 : 0; - flags |= this.forums ? 1 << 17 : 0; - flags |= this.subExtend ? 1 << 18 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PopularContact extends TLObject { - clientId!: long; - importers!: int; - - constructor(params: { clientId: long; importers: int }) { - super(); - this.classType = 'types'; - this.className = 'PopularContact'; - this.constructorId = 0x5ce14175; - this.subclassOfId = 0x409255a; - this._slots = ['clientId', 'importers']; - this.clientId = params.clientId; - this.importers = params.importers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let clientId = await Primitive.Long.read(_data); - let importers = await Primitive.Int.read(_data); - return new Raw.PopularContact({ clientId: clientId, importers: importers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.clientId !== undefined) { - b.write(Primitive.Long.write(this.clientId) as unknown as Buffer); - } - if (this.importers !== undefined) { - b.write(Primitive.Int.write(this.importers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentMeUrlUnknown extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'RecentMeUrlUnknown'; - this.constructorId = 0x46e1d13d; - this.subclassOfId = 0x55a53079; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.RecentMeUrlUnknown({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentMeUrlUser extends TLObject { - url!: string; - userId!: long; - - constructor(params: { url: string; userId: long }) { - super(); - this.classType = 'types'; - this.className = 'RecentMeUrlUser'; - this.constructorId = 0xb92c09e2; - this.subclassOfId = 0x55a53079; - this._slots = ['url', 'userId']; - this.url = params.url; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let url = await Primitive.String.read(_data); - let userId = await Primitive.Long.read(_data); - return new Raw.RecentMeUrlUser({ url: url, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentMeUrlChat extends TLObject { - url!: string; - chatId!: long; - - constructor(params: { url: string; chatId: long }) { - super(); - this.classType = 'types'; - this.className = 'RecentMeUrlChat'; - this.constructorId = 0xb2da71d2; - this.subclassOfId = 0x55a53079; - this._slots = ['url', 'chatId']; - this.url = params.url; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let url = await Primitive.String.read(_data); - let chatId = await Primitive.Long.read(_data); - return new Raw.RecentMeUrlChat({ url: url, chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentMeUrlChatInvite extends TLObject { - url!: string; - chatInvite!: Raw.TypeChatInvite; - - constructor(params: { url: string; chatInvite: Raw.TypeChatInvite }) { - super(); - this.classType = 'types'; - this.className = 'RecentMeUrlChatInvite'; - this.constructorId = 0xeb49081d; - this.subclassOfId = 0x55a53079; - this._slots = ['url', 'chatInvite']; - this.url = params.url; - this.chatInvite = params.chatInvite; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let chatInvite = await TLObject.read(_data); - return new Raw.RecentMeUrlChatInvite({ url: url, chatInvite: chatInvite }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.chatInvite !== undefined) { - b.write(this.chatInvite.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentMeUrlStickerSet extends TLObject { - url!: string; - set!: Raw.TypeStickerSetCovered; - - constructor(params: { url: string; set: Raw.TypeStickerSetCovered }) { - super(); - this.classType = 'types'; - this.className = 'RecentMeUrlStickerSet'; - this.constructorId = 0xbc0a57dc; - this.subclassOfId = 0x55a53079; - this._slots = ['url', 'set']; - this.url = params.url; - this.set = params.set; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let set = await TLObject.read(_data); - return new Raw.RecentMeUrlStickerSet({ url: url, set: set }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.set !== undefined) { - b.write(this.set.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSingleMedia extends TLObject { - media!: Raw.TypeInputMedia; - randomId!: long; - message!: string; - entities?: Vector; - - constructor(params: { - media: Raw.TypeInputMedia; - randomId: long; - message: string; - entities?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'InputSingleMedia'; - this.constructorId = 0x1cc6e91f; - this.subclassOfId = 0x21ca8ed8; - this._slots = ['media', 'randomId', 'message', 'entities']; - this.media = params.media; - this.randomId = params.randomId; - this.message = params.message; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let media = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.InputSingleMedia({ - media: media, - randomId: randomId, - message: message, - entities: entities, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.entities ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebAuthorization extends TLObject { - hash!: long; - botId!: long; - domain!: string; - browser!: string; - platform!: string; - dateCreated!: int; - dateActive!: int; - ip!: string; - region!: string; - - constructor(params: { - hash: long; - botId: long; - domain: string; - browser: string; - platform: string; - dateCreated: int; - dateActive: int; - ip: string; - region: string; - }) { - super(); - this.classType = 'types'; - this.className = 'WebAuthorization'; - this.constructorId = 0xa6f8f452; - this.subclassOfId = 0x3764d30; - this._slots = [ - 'hash', - 'botId', - 'domain', - 'browser', - 'platform', - 'dateCreated', - 'dateActive', - 'ip', - 'region', - ]; - this.hash = params.hash; - this.botId = params.botId; - this.domain = params.domain; - this.browser = params.browser; - this.platform = params.platform; - this.dateCreated = params.dateCreated; - this.dateActive = params.dateActive; - this.ip = params.ip; - this.region = params.region; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let botId = await Primitive.Long.read(_data); - let domain = await Primitive.String.read(_data); - let browser = await Primitive.String.read(_data); - let platform = await Primitive.String.read(_data); - let dateCreated = await Primitive.Int.read(_data); - let dateActive = await Primitive.Int.read(_data); - let ip = await Primitive.String.read(_data); - let region = await Primitive.String.read(_data); - return new Raw.WebAuthorization({ - hash: hash, - botId: botId, - domain: domain, - browser: browser, - platform: platform, - dateCreated: dateCreated, - dateActive: dateActive, - ip: ip, - region: region, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.domain !== undefined) { - b.write(Primitive.String.write(this.domain) as unknown as Buffer); - } - if (this.browser !== undefined) { - b.write(Primitive.String.write(this.browser) as unknown as Buffer); - } - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - if (this.dateCreated !== undefined) { - b.write(Primitive.Int.write(this.dateCreated) as unknown as Buffer); - } - if (this.dateActive !== undefined) { - b.write(Primitive.Int.write(this.dateActive) as unknown as Buffer); - } - if (this.ip !== undefined) { - b.write(Primitive.String.write(this.ip) as unknown as Buffer); - } - if (this.region !== undefined) { - b.write(Primitive.String.write(this.region) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessageID extends TLObject { - id!: int; - - constructor(params: { id: int }) { - super(); - this.classType = 'types'; - this.className = 'InputMessageID'; - this.constructorId = 0xa676a322; - this.subclassOfId = 0x54b6bcc5; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Int.read(_data); - return new Raw.InputMessageID({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessageReplyTo extends TLObject { - id!: int; - - constructor(params: { id: int }) { - super(); - this.classType = 'types'; - this.className = 'InputMessageReplyTo'; - this.constructorId = 0xbad88395; - this.subclassOfId = 0x54b6bcc5; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - return new Raw.InputMessageReplyTo({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessagePinned extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputMessagePinned'; - this.constructorId = 0x86872538; - this.subclassOfId = 0x54b6bcc5; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputMessagePinned(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMessageCallbackQuery extends TLObject { - id!: int; - queryId!: long; - - constructor(params: { id: int; queryId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputMessageCallbackQuery'; - this.constructorId = 0xacfa1a7e; - this.subclassOfId = 0x54b6bcc5; - this._slots = ['id', 'queryId']; - this.id = params.id; - this.queryId = params.queryId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - return new Raw.InputMessageCallbackQuery({ id: id, queryId: queryId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputDialogPeer extends TLObject { - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'InputDialogPeer'; - this.constructorId = 0xfcaafeb7; - this.subclassOfId = 0xa21c9795; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.InputDialogPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputDialogPeerFolder extends TLObject { - folderId!: int; - - constructor(params: { folderId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputDialogPeerFolder'; - this.constructorId = 0x64600527; - this.subclassOfId = 0xa21c9795; - this._slots = ['folderId']; - this.folderId = params.folderId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let folderId = await Primitive.Int.read(_data); - return new Raw.InputDialogPeerFolder({ folderId: folderId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogPeer extends TLObject { - peer!: Raw.TypePeer; - - constructor(params: { peer: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'DialogPeer'; - this.constructorId = 0xe56dbf05; - this.subclassOfId = 0x256ce1ae; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.DialogPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogPeerFolder extends TLObject { - folderId!: int; - - constructor(params: { folderId: int }) { - super(); - this.classType = 'types'; - this.className = 'DialogPeerFolder'; - this.constructorId = 0x514519e2; - this.subclassOfId = 0x256ce1ae; - this._slots = ['folderId']; - this.folderId = params.folderId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let folderId = await Primitive.Int.read(_data); - return new Raw.DialogPeerFolder({ folderId: folderId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileHash extends TLObject { - offset!: long; - limit!: int; - hash!: bytes; - - constructor(params: { offset: long; limit: int; hash: bytes }) { - super(); - this.classType = 'types'; - this.className = 'FileHash'; - this.constructorId = 0xf39b035c; - this.subclassOfId = 0xead438b3; - this._slots = ['offset', 'limit', 'hash']; - this.offset = params.offset; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let offset = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Bytes.read(_data); - return new Raw.FileHash({ offset: offset, limit: limit, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Long.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Bytes.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputClientProxy extends TLObject { - address!: string; - port!: int; - - constructor(params: { address: string; port: int }) { - super(); - this.classType = 'types'; - this.className = 'InputClientProxy'; - this.constructorId = 0x75588b3f; - this.subclassOfId = 0x91a4346; - this._slots = ['address', 'port']; - this.address = params.address; - this.port = params.port; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let address = await Primitive.String.read(_data); - let port = await Primitive.Int.read(_data); - return new Raw.InputClientProxy({ address: address, port: port }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.port !== undefined) { - b.write(Primitive.Int.write(this.port) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSecureFileUploaded extends TLObject { - id!: long; - parts!: int; - md5Checksum!: string; - fileHash!: bytes; - secret!: bytes; - - constructor(params: { - id: long; - parts: int; - md5Checksum: string; - fileHash: bytes; - secret: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'InputSecureFileUploaded'; - this.constructorId = 0x3334b0f0; - this.subclassOfId = 0xdac8adfc; - this._slots = ['id', 'parts', 'md5Checksum', 'fileHash', 'secret']; - this.id = params.id; - this.parts = params.parts; - this.md5Checksum = params.md5Checksum; - this.fileHash = params.fileHash; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let parts = await Primitive.Int.read(_data); - let md5Checksum = await Primitive.String.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let secret = await Primitive.Bytes.read(_data); - return new Raw.InputSecureFileUploaded({ - id: id, - parts: parts, - md5Checksum: md5Checksum, - fileHash: fileHash, - secret: secret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.parts !== undefined) { - b.write(Primitive.Int.write(this.parts) as unknown as Buffer); - } - if (this.md5Checksum !== undefined) { - b.write(Primitive.String.write(this.md5Checksum) as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSecureFile extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputSecureFile'; - this.constructorId = 0x5367e5be; - this.subclassOfId = 0xdac8adfc; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputSecureFile({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureFileEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureFileEmpty'; - this.constructorId = 0x64199744; - this.subclassOfId = 0x5db8dbc7; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.SecureFileEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureFile extends TLObject { - id!: long; - accessHash!: long; - size!: long; - dcId!: int; - date!: int; - fileHash!: bytes; - secret!: bytes; - - constructor(params: { - id: long; - accessHash: long; - size: long; - dcId: int; - date: int; - fileHash: bytes; - secret: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'SecureFile'; - this.constructorId = 0x7d09c27e; - this.subclassOfId = 0x5db8dbc7; - this._slots = ['id', 'accessHash', 'size', 'dcId', 'date', 'fileHash', 'secret']; - this.id = params.id; - this.accessHash = params.accessHash; - this.size = params.size; - this.dcId = params.dcId; - this.date = params.date; - this.fileHash = params.fileHash; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let size = await Primitive.Long.read(_data); - let dcId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let secret = await Primitive.Bytes.read(_data); - return new Raw.SecureFile({ - id: id, - accessHash: accessHash, - size: size, - dcId: dcId, - date: date, - fileHash: fileHash, - secret: secret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Long.write(this.size) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureData extends TLObject { - data!: bytes; - dataHash!: bytes; - secret!: bytes; - - constructor(params: { data: bytes; dataHash: bytes; secret: bytes }) { - super(); - this.classType = 'types'; - this.className = 'SecureData'; - this.constructorId = 0x8aeabec3; - this.subclassOfId = 0x7cd41eb4; - this._slots = ['data', 'dataHash', 'secret']; - this.data = params.data; - this.dataHash = params.dataHash; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let data = await Primitive.Bytes.read(_data); - let dataHash = await Primitive.Bytes.read(_data); - let secret = await Primitive.Bytes.read(_data); - return new Raw.SecureData({ data: data, dataHash: dataHash, secret: secret }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - if (this.dataHash !== undefined) { - b.write(Primitive.Bytes.write(this.dataHash) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecurePlainPhone extends TLObject { - phone!: string; - - constructor(params: { phone: string }) { - super(); - this.classType = 'types'; - this.className = 'SecurePlainPhone'; - this.constructorId = 0x7d6099dd; - this.subclassOfId = 0x23b2afb6; - this._slots = ['phone']; - this.phone = params.phone; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phone = await Primitive.String.read(_data); - return new Raw.SecurePlainPhone({ phone: phone }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecurePlainEmail extends TLObject { - email!: string; - - constructor(params: { email: string }) { - super(); - this.classType = 'types'; - this.className = 'SecurePlainEmail'; - this.constructorId = 0x21ec5a5f; - this.subclassOfId = 0x23b2afb6; - this._slots = ['email']; - this.email = params.email; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let email = await Primitive.String.read(_data); - return new Raw.SecurePlainEmail({ email: email }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypePersonalDetails extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypePersonalDetails'; - this.constructorId = 0x9d2a81e3; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypePersonalDetails(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypePassport extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypePassport'; - this.constructorId = 0x3dac6a00; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypePassport(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeDriverLicense extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeDriverLicense'; - this.constructorId = 0x6e425c4; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeDriverLicense(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeIdentityCard extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeIdentityCard'; - this.constructorId = 0xa0d0744b; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeIdentityCard(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeInternalPassport extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeInternalPassport'; - this.constructorId = 0x99a48f23; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeInternalPassport(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeAddress extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeAddress'; - this.constructorId = 0xcbe31e26; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeAddress(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeUtilityBill extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeUtilityBill'; - this.constructorId = 0xfc36954e; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeUtilityBill(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeBankStatement extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeBankStatement'; - this.constructorId = 0x89137c0d; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeBankStatement(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeRentalAgreement extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeRentalAgreement'; - this.constructorId = 0x8b883488; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeRentalAgreement(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypePassportRegistration extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypePassportRegistration'; - this.constructorId = 0x99e3806a; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypePassportRegistration(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeTemporaryRegistration extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeTemporaryRegistration'; - this.constructorId = 0xea02ec33; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeTemporaryRegistration(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypePhone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypePhone'; - this.constructorId = 0xb320aadb; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypePhone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueTypeEmail extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecureValueTypeEmail'; - this.constructorId = 0x8e3ca7ee; - this.subclassOfId = 0x8893f596; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecureValueTypeEmail(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValue extends TLObject { - type!: Raw.TypeSecureValueType; - data?: Raw.TypeSecureData; - frontSide?: Raw.TypeSecureFile; - reverseSide?: Raw.TypeSecureFile; - selfie?: Raw.TypeSecureFile; - translation?: Vector; - files?: Vector; - plainData?: Raw.TypeSecurePlainData; - hash!: bytes; - - constructor(params: { - type: Raw.TypeSecureValueType; - data?: Raw.TypeSecureData; - frontSide?: Raw.TypeSecureFile; - reverseSide?: Raw.TypeSecureFile; - selfie?: Raw.TypeSecureFile; - translation?: Vector; - files?: Vector; - plainData?: Raw.TypeSecurePlainData; - hash: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'SecureValue'; - this.constructorId = 0x187fa0ca; - this.subclassOfId = 0x51138ae; - this._slots = [ - 'type', - 'data', - 'frontSide', - 'reverseSide', - 'selfie', - 'translation', - 'files', - 'plainData', - 'hash', - ]; - this.type = params.type; - this.data = params.data; - this.frontSide = params.frontSide; - this.reverseSide = params.reverseSide; - this.selfie = params.selfie; - this.translation = params.translation; - this.files = params.files; - this.plainData = params.plainData; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let type = await TLObject.read(_data); - let data = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let frontSide = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let reverseSide = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let selfie = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let translation = flags & (1 << 6) ? await TLObject.read(_data) : []; - let files = flags & (1 << 4) ? await TLObject.read(_data) : []; - let plainData = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let hash = await Primitive.Bytes.read(_data); - return new Raw.SecureValue({ - type: type, - data: data, - frontSide: frontSide, - reverseSide: reverseSide, - selfie: selfie, - translation: translation, - files: files, - plainData: plainData, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.data !== undefined ? 1 << 0 : 0; - flags |= this.frontSide !== undefined ? 1 << 1 : 0; - flags |= this.reverseSide !== undefined ? 1 << 2 : 0; - flags |= this.selfie !== undefined ? 1 << 3 : 0; - flags |= this.translation ? 1 << 6 : 0; - flags |= this.files ? 1 << 4 : 0; - flags |= this.plainData !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - if (this.frontSide !== undefined) { - b.write(this.frontSide.write() as unknown as Buffer); - } - if (this.reverseSide !== undefined) { - b.write(this.reverseSide.write() as unknown as Buffer); - } - if (this.selfie !== undefined) { - b.write(this.selfie.write() as unknown as Buffer); - } - if (this.translation) { - b.write(Primitive.Vector.write(this.translation) as unknown as Buffer); - } - if (this.files) { - b.write(Primitive.Vector.write(this.files) as unknown as Buffer); - } - if (this.plainData !== undefined) { - b.write(this.plainData.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Bytes.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSecureValue extends TLObject { - type!: Raw.TypeSecureValueType; - data?: Raw.TypeSecureData; - frontSide?: Raw.TypeInputSecureFile; - reverseSide?: Raw.TypeInputSecureFile; - selfie?: Raw.TypeInputSecureFile; - translation?: Vector; - files?: Vector; - plainData?: Raw.TypeSecurePlainData; - - constructor(params: { - type: Raw.TypeSecureValueType; - data?: Raw.TypeSecureData; - frontSide?: Raw.TypeInputSecureFile; - reverseSide?: Raw.TypeInputSecureFile; - selfie?: Raw.TypeInputSecureFile; - translation?: Vector; - files?: Vector; - plainData?: Raw.TypeSecurePlainData; - }) { - super(); - this.classType = 'types'; - this.className = 'InputSecureValue'; - this.constructorId = 0xdb21d0a7; - this.subclassOfId = 0xb49da1fc; - this._slots = [ - 'type', - 'data', - 'frontSide', - 'reverseSide', - 'selfie', - 'translation', - 'files', - 'plainData', - ]; - this.type = params.type; - this.data = params.data; - this.frontSide = params.frontSide; - this.reverseSide = params.reverseSide; - this.selfie = params.selfie; - this.translation = params.translation; - this.files = params.files; - this.plainData = params.plainData; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let type = await TLObject.read(_data); - let data = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let frontSide = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let reverseSide = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let selfie = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let translation = flags & (1 << 6) ? await TLObject.read(_data) : []; - let files = flags & (1 << 4) ? await TLObject.read(_data) : []; - let plainData = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - return new Raw.InputSecureValue({ - type: type, - data: data, - frontSide: frontSide, - reverseSide: reverseSide, - selfie: selfie, - translation: translation, - files: files, - plainData: plainData, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.data !== undefined ? 1 << 0 : 0; - flags |= this.frontSide !== undefined ? 1 << 1 : 0; - flags |= this.reverseSide !== undefined ? 1 << 2 : 0; - flags |= this.selfie !== undefined ? 1 << 3 : 0; - flags |= this.translation ? 1 << 6 : 0; - flags |= this.files ? 1 << 4 : 0; - flags |= this.plainData !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - if (this.frontSide !== undefined) { - b.write(this.frontSide.write() as unknown as Buffer); - } - if (this.reverseSide !== undefined) { - b.write(this.reverseSide.write() as unknown as Buffer); - } - if (this.selfie !== undefined) { - b.write(this.selfie.write() as unknown as Buffer); - } - if (this.translation) { - b.write(Primitive.Vector.write(this.translation) as unknown as Buffer); - } - if (this.files) { - b.write(Primitive.Vector.write(this.files) as unknown as Buffer); - } - if (this.plainData !== undefined) { - b.write(this.plainData.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueHash extends TLObject { - type!: Raw.TypeSecureValueType; - hash!: bytes; - - constructor(params: { type: Raw.TypeSecureValueType; hash: bytes }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueHash'; - this.constructorId = 0xed1ecdb0; - this.subclassOfId = 0xd5f5c007; - this._slots = ['type', 'hash']; - this.type = params.type; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await TLObject.read(_data); - let hash = await Primitive.Bytes.read(_data); - return new Raw.SecureValueHash({ type: type, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Bytes.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorData extends TLObject { - type!: Raw.TypeSecureValueType; - dataHash!: bytes; - field!: string; - text!: string; - - constructor(params: { - type: Raw.TypeSecureValueType; - dataHash: bytes; - field: string; - text: string; - }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorData'; - this.constructorId = 0xe8a40bd9; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'dataHash', 'field', 'text']; - this.type = params.type; - this.dataHash = params.dataHash; - this.field = params.field; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let dataHash = await Primitive.Bytes.read(_data); - let field = await Primitive.String.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorData({ - type: type, - dataHash: dataHash, - field: field, - text: text, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.dataHash !== undefined) { - b.write(Primitive.Bytes.write(this.dataHash) as unknown as Buffer); - } - if (this.field !== undefined) { - b.write(Primitive.String.write(this.field) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorFrontSide extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: bytes; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: bytes; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorFrontSide'; - this.constructorId = 0xbe3dfa; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorFrontSide({ type: type, fileHash: fileHash, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorReverseSide extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: bytes; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: bytes; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorReverseSide'; - this.constructorId = 0x868a2aa5; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorReverseSide({ type: type, fileHash: fileHash, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorSelfie extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: bytes; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: bytes; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorSelfie'; - this.constructorId = 0xe537ced6; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorSelfie({ type: type, fileHash: fileHash, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorFile extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: bytes; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: bytes; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorFile'; - this.constructorId = 0x7a700873; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorFile({ type: type, fileHash: fileHash, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorFiles extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: Vector; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: Vector; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorFiles'; - this.constructorId = 0x666220e9; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await TLObject.read(_data, Primitive.Bytes); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorFiles({ type: type, fileHash: fileHash, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash) { - b.write(Primitive.Vector.write(this.fileHash, Primitive.Bytes) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueError extends TLObject { - type!: Raw.TypeSecureValueType; - hash!: bytes; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; hash: bytes; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueError'; - this.constructorId = 0x869d758f; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'hash', 'text']; - this.type = params.type; - this.hash = params.hash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let hash = await Primitive.Bytes.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueError({ type: type, hash: hash, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Bytes.write(this.hash) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorTranslationFile extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: bytes; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: bytes; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorTranslationFile'; - this.constructorId = 0xa1144770; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await Primitive.Bytes.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorTranslationFile({ - type: type, - fileHash: fileHash, - text: text, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash !== undefined) { - b.write(Primitive.Bytes.write(this.fileHash) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureValueErrorTranslationFiles extends TLObject { - type!: Raw.TypeSecureValueType; - fileHash!: Vector; - text!: string; - - constructor(params: { type: Raw.TypeSecureValueType; fileHash: Vector; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SecureValueErrorTranslationFiles'; - this.constructorId = 0x34636dd8; - this.subclassOfId = 0x6075fce; - this._slots = ['type', 'fileHash', 'text']; - this.type = params.type; - this.fileHash = params.fileHash; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await TLObject.read(_data); - let fileHash = await TLObject.read(_data, Primitive.Bytes); - let text = await Primitive.String.read(_data); - return new Raw.SecureValueErrorTranslationFiles({ - type: type, - fileHash: fileHash, - text: text, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.fileHash) { - b.write(Primitive.Vector.write(this.fileHash, Primitive.Bytes) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureCredentialsEncrypted extends TLObject { - data!: bytes; - hash!: bytes; - secret!: bytes; - - constructor(params: { data: bytes; hash: bytes; secret: bytes }) { - super(); - this.classType = 'types'; - this.className = 'SecureCredentialsEncrypted'; - this.constructorId = 0x33f0ea47; - this.subclassOfId = 0x94dc7633; - this._slots = ['data', 'hash', 'secret']; - this.data = params.data; - this.hash = params.hash; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let data = await Primitive.Bytes.read(_data); - let hash = await Primitive.Bytes.read(_data); - let secret = await Primitive.Bytes.read(_data); - return new Raw.SecureCredentialsEncrypted({ data: data, hash: hash, secret: secret }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Bytes.write(this.hash) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedPhoneContact extends TLObject { - phone!: string; - firstName!: string; - lastName!: string; - date!: int; - - constructor(params: { phone: string; firstName: string; lastName: string; date: int }) { - super(); - this.classType = 'types'; - this.className = 'SavedPhoneContact'; - this.constructorId = 0x1142bd56; - this.subclassOfId = 0x6db98c4; - this._slots = ['phone', 'firstName', 'lastName', 'date']; - this.phone = params.phone; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phone = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.SavedPhoneContact({ - phone: phone, - firstName: firstName, - lastName: lastName, - date: date, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PasswordKdfAlgoUnknown extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PasswordKdfAlgoUnknown'; - this.constructorId = 0xd45ab096; - this.subclassOfId = 0x37bcf5cc; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PasswordKdfAlgoUnknown(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow extends TLObject { - salt1!: bytes; - salt2!: bytes; - g!: int; - p!: bytes; - - constructor(params: { salt1: bytes; salt2: bytes; g: int; p: bytes }) { - super(); - this.classType = 'types'; - this.className = 'PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow'; - this.constructorId = 0x3a912d4a; - this.subclassOfId = 0x37bcf5cc; - this._slots = ['salt1', 'salt2', 'g', 'p']; - this.salt1 = params.salt1; - this.salt2 = params.salt2; - this.g = params.g; - this.p = params.p; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let salt1 = await Primitive.Bytes.read(_data); - let salt2 = await Primitive.Bytes.read(_data); - let g = await Primitive.Int.read(_data); - let p = await Primitive.Bytes.read(_data); - return new Raw.PasswordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow({ - salt1: salt1, - salt2: salt2, - g: g, - p: p, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.salt1 !== undefined) { - b.write(Primitive.Bytes.write(this.salt1) as unknown as Buffer); - } - if (this.salt2 !== undefined) { - b.write(Primitive.Bytes.write(this.salt2) as unknown as Buffer); - } - if (this.g !== undefined) { - b.write(Primitive.Int.write(this.g) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecurePasswordKdfAlgoUnknown extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SecurePasswordKdfAlgoUnknown'; - this.constructorId = 0x4a8537; - this.subclassOfId = 0x77262943; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SecurePasswordKdfAlgoUnknown(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecurePasswordKdfAlgoPBKDF2HMACSHA512iter100000 extends TLObject { - salt!: bytes; - - constructor(params: { salt: bytes }) { - super(); - this.classType = 'types'; - this.className = 'SecurePasswordKdfAlgoPBKDF2HMACSHA512iter100000'; - this.constructorId = 0xbbf2dda0; - this.subclassOfId = 0x77262943; - this._slots = ['salt']; - this.salt = params.salt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let salt = await Primitive.Bytes.read(_data); - return new Raw.SecurePasswordKdfAlgoPBKDF2HMACSHA512iter100000({ salt: salt }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.salt !== undefined) { - b.write(Primitive.Bytes.write(this.salt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecurePasswordKdfAlgoSHA512 extends TLObject { - salt!: bytes; - - constructor(params: { salt: bytes }) { - super(); - this.classType = 'types'; - this.className = 'SecurePasswordKdfAlgoSHA512'; - this.constructorId = 0x86471d92; - this.subclassOfId = 0x77262943; - this._slots = ['salt']; - this.salt = params.salt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let salt = await Primitive.Bytes.read(_data); - return new Raw.SecurePasswordKdfAlgoSHA512({ salt: salt }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.salt !== undefined) { - b.write(Primitive.Bytes.write(this.salt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureSecretSettings extends TLObject { - secureAlgo!: Raw.TypeSecurePasswordKdfAlgo; - secureSecret!: bytes; - secureSecretId!: long; - - constructor(params: { - secureAlgo: Raw.TypeSecurePasswordKdfAlgo; - secureSecret: bytes; - secureSecretId: long; - }) { - super(); - this.classType = 'types'; - this.className = 'SecureSecretSettings'; - this.constructorId = 0x1527bcac; - this.subclassOfId = 0xc6c802fb; - this._slots = ['secureAlgo', 'secureSecret', 'secureSecretId']; - this.secureAlgo = params.secureAlgo; - this.secureSecret = params.secureSecret; - this.secureSecretId = params.secureSecretId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let secureAlgo = await TLObject.read(_data); - let secureSecret = await Primitive.Bytes.read(_data); - let secureSecretId = await Primitive.Long.read(_data); - return new Raw.SecureSecretSettings({ - secureAlgo: secureAlgo, - secureSecret: secureSecret, - secureSecretId: secureSecretId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.secureAlgo !== undefined) { - b.write(this.secureAlgo.write() as unknown as Buffer); - } - if (this.secureSecret !== undefined) { - b.write(Primitive.Bytes.write(this.secureSecret) as unknown as Buffer); - } - if (this.secureSecretId !== undefined) { - b.write(Primitive.Long.write(this.secureSecretId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputCheckPasswordEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InputCheckPasswordEmpty'; - this.constructorId = 0x9880f658; - this.subclassOfId = 0xd41af560; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InputCheckPasswordEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputCheckPasswordSRP extends TLObject { - srpId!: long; - a!: bytes; - m1!: bytes; - - constructor(params: { srpId: long; a: bytes; m1: bytes }) { - super(); - this.classType = 'types'; - this.className = 'InputCheckPasswordSRP'; - this.constructorId = 0xd27ff082; - this.subclassOfId = 0xd41af560; - this._slots = ['srpId', 'a', 'm1']; - this.srpId = params.srpId; - this.a = params.a; - this.m1 = params.m1; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let srpId = await Primitive.Long.read(_data); - let a = await Primitive.Bytes.read(_data); - let m1 = await Primitive.Bytes.read(_data); - return new Raw.InputCheckPasswordSRP({ srpId: srpId, a: a, m1: m1 }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.srpId !== undefined) { - b.write(Primitive.Long.write(this.srpId) as unknown as Buffer); - } - if (this.a !== undefined) { - b.write(Primitive.Bytes.write(this.a) as unknown as Buffer); - } - if (this.m1 !== undefined) { - b.write(Primitive.Bytes.write(this.m1) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureRequiredType extends TLObject { - nativeNames?: boolean; - selfieRequired?: boolean; - translationRequired?: boolean; - type!: Raw.TypeSecureValueType; - - constructor(params: { - nativeNames?: boolean; - selfieRequired?: boolean; - translationRequired?: boolean; - type: Raw.TypeSecureValueType; - }) { - super(); - this.classType = 'types'; - this.className = 'SecureRequiredType'; - this.constructorId = 0x829d99da; - this.subclassOfId = 0x7c7b420a; - this._slots = ['nativeNames', 'selfieRequired', 'translationRequired', 'type']; - this.nativeNames = params.nativeNames; - this.selfieRequired = params.selfieRequired; - this.translationRequired = params.translationRequired; - this.type = params.type; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nativeNames = flags & (1 << 0) ? true : false; - let selfieRequired = flags & (1 << 1) ? true : false; - let translationRequired = flags & (1 << 2) ? true : false; - let type = await TLObject.read(_data); - return new Raw.SecureRequiredType({ - nativeNames: nativeNames, - selfieRequired: selfieRequired, - translationRequired: translationRequired, - type: type, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nativeNames ? 1 << 0 : 0; - flags |= this.selfieRequired ? 1 << 1 : 0; - flags |= this.translationRequired ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SecureRequiredTypeOneOf extends TLObject { - types!: Vector; - - constructor(params: { types: Vector }) { - super(); - this.classType = 'types'; - this.className = 'SecureRequiredTypeOneOf'; - this.constructorId = 0x27477b4; - this.subclassOfId = 0x7c7b420a; - this._slots = ['types']; - this.types = params.types; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let types = await TLObject.read(_data); - return new Raw.SecureRequiredTypeOneOf({ types: types }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.types) { - b.write(Primitive.Vector.write(this.types) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputAppEvent extends TLObject { - time!: double; - type!: string; - peer!: long; - data!: Raw.TypeJSONValue; - - constructor(params: { time: double; type: string; peer: long; data: Raw.TypeJSONValue }) { - super(); - this.classType = 'types'; - this.className = 'InputAppEvent'; - this.constructorId = 0x1d1b1245; - this.subclassOfId = 0x89322106; - this._slots = ['time', 'type', 'peer', 'data']; - this.time = params.time; - this.type = params.type; - this.peer = params.peer; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let time = await Primitive.Double.read(_data); - let type = await Primitive.String.read(_data); - let peer = await Primitive.Long.read(_data); - let data = await TLObject.read(_data); - return new Raw.InputAppEvent({ time: time, type: type, peer: peer, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.time !== undefined) { - b.write(Primitive.Double.write(this.time) as unknown as Buffer); - } - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(Primitive.Long.write(this.peer) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonObjectValue extends TLObject { - key!: string; - value!: Raw.TypeJSONValue; - - constructor(params: { key: string; value: Raw.TypeJSONValue }) { - super(); - this.classType = 'types'; - this.className = 'JsonObjectValue'; - this.constructorId = 0xc0de1bd9; - this.subclassOfId = 0x937fceb9; - this._slots = ['key', 'value']; - this.key = params.key; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let key = await Primitive.String.read(_data); - let value = await TLObject.read(_data); - return new Raw.JsonObjectValue({ key: key, value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.key !== undefined) { - b.write(Primitive.String.write(this.key) as unknown as Buffer); - } - if (this.value !== undefined) { - b.write(this.value.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonNull extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'JsonNull'; - this.constructorId = 0x3f6d7b68; - this.subclassOfId = 0xeb9987b3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.JsonNull(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonBool extends TLObject { - value!: Bool; - - constructor(params: { value: Bool }) { - super(); - this.classType = 'types'; - this.className = 'JsonBool'; - this.constructorId = 0xc7345e6a; - this.subclassOfId = 0xeb9987b3; - this._slots = ['value']; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let value = await Primitive.Bool.read(_data); - return new Raw.JsonBool({ value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value !== undefined) { - b.write(Primitive.Bool.write(this.value) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonNumber extends TLObject { - value!: double; - - constructor(params: { value: double }) { - super(); - this.classType = 'types'; - this.className = 'JsonNumber'; - this.constructorId = 0x2be0dfa4; - this.subclassOfId = 0xeb9987b3; - this._slots = ['value']; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let value = await Primitive.Double.read(_data); - return new Raw.JsonNumber({ value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value !== undefined) { - b.write(Primitive.Double.write(this.value) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonString extends TLObject { - value!: string; - - constructor(params: { value: string }) { - super(); - this.classType = 'types'; - this.className = 'JsonString'; - this.constructorId = 0xb71e767a; - this.subclassOfId = 0xeb9987b3; - this._slots = ['value']; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let value = await Primitive.String.read(_data); - return new Raw.JsonString({ value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value !== undefined) { - b.write(Primitive.String.write(this.value) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonArray extends TLObject { - value!: Vector; - - constructor(params: { value: Vector }) { - super(); - this.classType = 'types'; - this.className = 'JsonArray'; - this.constructorId = 0xf7444763; - this.subclassOfId = 0xeb9987b3; - this._slots = ['value']; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let value = await TLObject.read(_data); - return new Raw.JsonArray({ value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value) { - b.write(Primitive.Vector.write(this.value) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JsonObject extends TLObject { - value!: Vector; - - constructor(params: { value: Vector }) { - super(); - this.classType = 'types'; - this.className = 'JsonObject'; - this.constructorId = 0x99c1d49d; - this.subclassOfId = 0xeb9987b3; - this._slots = ['value']; - this.value = params.value; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let value = await TLObject.read(_data); - return new Raw.JsonObject({ value: value }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value) { - b.write(Primitive.Vector.write(this.value) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageTableCell extends TLObject { - header?: boolean; - alignCenter?: boolean; - alignRight?: boolean; - valignMiddle?: boolean; - valignBottom?: boolean; - text?: Raw.TypeRichText; - colspan?: int; - rowspan?: int; - - constructor(params: { - header?: boolean; - alignCenter?: boolean; - alignRight?: boolean; - valignMiddle?: boolean; - valignBottom?: boolean; - text?: Raw.TypeRichText; - colspan?: int; - rowspan?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PageTableCell'; - this.constructorId = 0x34566b6a; - this.subclassOfId = 0xb0eb3054; - this._slots = [ - 'header', - 'alignCenter', - 'alignRight', - 'valignMiddle', - 'valignBottom', - 'text', - 'colspan', - 'rowspan', - ]; - this.header = params.header; - this.alignCenter = params.alignCenter; - this.alignRight = params.alignRight; - this.valignMiddle = params.valignMiddle; - this.valignBottom = params.valignBottom; - this.text = params.text; - this.colspan = params.colspan; - this.rowspan = params.rowspan; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let header = flags & (1 << 0) ? true : false; - let alignCenter = flags & (1 << 3) ? true : false; - let alignRight = flags & (1 << 4) ? true : false; - let valignMiddle = flags & (1 << 5) ? true : false; - let valignBottom = flags & (1 << 6) ? true : false; - let text = flags & (1 << 7) ? await TLObject.read(_data) : undefined; - let colspan = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let rowspan = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.PageTableCell({ - header: header, - alignCenter: alignCenter, - alignRight: alignRight, - valignMiddle: valignMiddle, - valignBottom: valignBottom, - text: text, - colspan: colspan, - rowspan: rowspan, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.header ? 1 << 0 : 0; - flags |= this.alignCenter ? 1 << 3 : 0; - flags |= this.alignRight ? 1 << 4 : 0; - flags |= this.valignMiddle ? 1 << 5 : 0; - flags |= this.valignBottom ? 1 << 6 : 0; - flags |= this.text !== undefined ? 1 << 7 : 0; - flags |= this.colspan !== undefined ? 1 << 1 : 0; - flags |= this.rowspan !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.colspan !== undefined) { - b.write(Primitive.Int.write(this.colspan) as unknown as Buffer); - } - if (this.rowspan !== undefined) { - b.write(Primitive.Int.write(this.rowspan) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageTableRow extends TLObject { - cells!: Vector; - - constructor(params: { cells: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PageTableRow'; - this.constructorId = 0xe0c0c5e5; - this.subclassOfId = 0x59acee11; - this._slots = ['cells']; - this.cells = params.cells; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let cells = await TLObject.read(_data); - return new Raw.PageTableRow({ cells: cells }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.cells) { - b.write(Primitive.Vector.write(this.cells) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageCaption extends TLObject { - text!: Raw.TypeRichText; - credit!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText; credit: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageCaption'; - this.constructorId = 0x6f747657; - this.subclassOfId = 0x29b8eeb3; - this._slots = ['text', 'credit']; - this.text = params.text; - this.credit = params.credit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - let credit = await TLObject.read(_data); - return new Raw.PageCaption({ text: text, credit: credit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.credit !== undefined) { - b.write(this.credit.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageListItemText extends TLObject { - text!: Raw.TypeRichText; - - constructor(params: { text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageListItemText'; - this.constructorId = 0xb92fb6cd; - this.subclassOfId = 0x8caebcb1; - this._slots = ['text']; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await TLObject.read(_data); - return new Raw.PageListItemText({ text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageListItemBlocks extends TLObject { - blocks!: Vector; - - constructor(params: { blocks: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PageListItemBlocks'; - this.constructorId = 0x25e073fc; - this.subclassOfId = 0x8caebcb1; - this._slots = ['blocks']; - this.blocks = params.blocks; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let blocks = await TLObject.read(_data); - return new Raw.PageListItemBlocks({ blocks: blocks }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.blocks) { - b.write(Primitive.Vector.write(this.blocks) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageListOrderedItemText extends TLObject { - num!: string; - text!: Raw.TypeRichText; - - constructor(params: { num: string; text: Raw.TypeRichText }) { - super(); - this.classType = 'types'; - this.className = 'PageListOrderedItemText'; - this.constructorId = 0x5e068047; - this.subclassOfId = 0xeeda0eb8; - this._slots = ['num', 'text']; - this.num = params.num; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let num = await Primitive.String.read(_data); - let text = await TLObject.read(_data); - return new Raw.PageListOrderedItemText({ num: num, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.num !== undefined) { - b.write(Primitive.String.write(this.num) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageListOrderedItemBlocks extends TLObject { - num!: string; - blocks!: Vector; - - constructor(params: { num: string; blocks: Vector }) { - super(); - this.classType = 'types'; - this.className = 'PageListOrderedItemBlocks'; - this.constructorId = 0x98dd8936; - this.subclassOfId = 0xeeda0eb8; - this._slots = ['num', 'blocks']; - this.num = params.num; - this.blocks = params.blocks; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let num = await Primitive.String.read(_data); - let blocks = await TLObject.read(_data); - return new Raw.PageListOrderedItemBlocks({ num: num, blocks: blocks }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.num !== undefined) { - b.write(Primitive.String.write(this.num) as unknown as Buffer); - } - if (this.blocks) { - b.write(Primitive.Vector.write(this.blocks) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PageRelatedArticle extends TLObject { - url!: string; - webpageId!: long; - title?: string; - description?: string; - photoId?: long; - author?: string; - publishedDate?: int; - - constructor(params: { - url: string; - webpageId: long; - title?: string; - description?: string; - photoId?: long; - author?: string; - publishedDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PageRelatedArticle'; - this.constructorId = 0xb390dc08; - this.subclassOfId = 0x36d05822; - this._slots = [ - 'url', - 'webpageId', - 'title', - 'description', - 'photoId', - 'author', - 'publishedDate', - ]; - this.url = params.url; - this.webpageId = params.webpageId; - this.title = params.title; - this.description = params.description; - this.photoId = params.photoId; - this.author = params.author; - this.publishedDate = params.publishedDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let url = await Primitive.String.read(_data); - let webpageId = await Primitive.Long.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let photoId = flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - let author = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let publishedDate = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.PageRelatedArticle({ - url: url, - webpageId: webpageId, - title: title, - description: description, - photoId: photoId, - author: author, - publishedDate: publishedDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.description !== undefined ? 1 << 1 : 0; - flags |= this.photoId !== undefined ? 1 << 2 : 0; - flags |= this.author !== undefined ? 1 << 3 : 0; - flags |= this.publishedDate !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.webpageId !== undefined) { - b.write(Primitive.Long.write(this.webpageId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photoId !== undefined) { - b.write(Primitive.Long.write(this.photoId) as unknown as Buffer); - } - if (this.author !== undefined) { - b.write(Primitive.String.write(this.author) as unknown as Buffer); - } - if (this.publishedDate !== undefined) { - b.write(Primitive.Int.write(this.publishedDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Page extends TLObject { - part?: boolean; - rtl?: boolean; - v2?: boolean; - url!: string; - blocks!: Vector; - photos!: Vector; - documents!: Vector; - views?: int; - - constructor(params: { - part?: boolean; - rtl?: boolean; - v2?: boolean; - url: string; - blocks: Vector; - photos: Vector; - documents: Vector; - views?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Page'; - this.constructorId = 0x98657f0d; - this.subclassOfId = 0xb438191e; - this._slots = ['part', 'rtl', 'v2', 'url', 'blocks', 'photos', 'documents', 'views']; - this.part = params.part; - this.rtl = params.rtl; - this.v2 = params.v2; - this.url = params.url; - this.blocks = params.blocks; - this.photos = params.photos; - this.documents = params.documents; - this.views = params.views; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let part = flags & (1 << 0) ? true : false; - let rtl = flags & (1 << 1) ? true : false; - let v2 = flags & (1 << 2) ? true : false; - let url = await Primitive.String.read(_data); - let blocks = await TLObject.read(_data); - let photos = await TLObject.read(_data); - let documents = await TLObject.read(_data); - let views = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - return new Raw.Page({ - part: part, - rtl: rtl, - v2: v2, - url: url, - blocks: blocks, - photos: photos, - documents: documents, - views: views, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.part ? 1 << 0 : 0; - flags |= this.rtl ? 1 << 1 : 0; - flags |= this.v2 ? 1 << 2 : 0; - flags |= this.views !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.blocks) { - b.write(Primitive.Vector.write(this.blocks) as unknown as Buffer); - } - if (this.photos) { - b.write(Primitive.Vector.write(this.photos) as unknown as Buffer); - } - if (this.documents) { - b.write(Primitive.Vector.write(this.documents) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PollAnswer extends TLObject { - text!: Raw.TypeTextWithEntities; - option!: bytes; - - constructor(params: { text: Raw.TypeTextWithEntities; option: bytes }) { - super(); - this.classType = 'types'; - this.className = 'PollAnswer'; - this.constructorId = 0xff16e2ca; - this.subclassOfId = 0x7ea5dd9e; - this._slots = ['text', 'option']; - this.text = params.text; - this.option = params.option; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await TLObject.read(_data); - let option = await Primitive.Bytes.read(_data); - return new Raw.PollAnswer({ text: text, option: option }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Poll extends TLObject { - id!: long; - closed?: boolean; - publicVoters?: boolean; - multipleChoice?: boolean; - quiz?: boolean; - question!: Raw.TypeTextWithEntities; - answers!: Vector; - closePeriod?: int; - closeDate?: int; - - constructor(params: { - id: long; - closed?: boolean; - publicVoters?: boolean; - multipleChoice?: boolean; - quiz?: boolean; - question: Raw.TypeTextWithEntities; - answers: Vector; - closePeriod?: int; - closeDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Poll'; - this.constructorId = 0x58747131; - this.subclassOfId = 0x248e557b; - this._slots = [ - 'id', - 'closed', - 'publicVoters', - 'multipleChoice', - 'quiz', - 'question', - 'answers', - 'closePeriod', - 'closeDate', - ]; - this.id = params.id; - this.closed = params.closed; - this.publicVoters = params.publicVoters; - this.multipleChoice = params.multipleChoice; - this.quiz = params.quiz; - this.question = params.question; - this.answers = params.answers; - this.closePeriod = params.closePeriod; - this.closeDate = params.closeDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - let id = await Primitive.Long.read(_data); - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let closed = flags & (1 << 0) ? true : false; - let publicVoters = flags & (1 << 1) ? true : false; - let multipleChoice = flags & (1 << 2) ? true : false; - let quiz = flags & (1 << 3) ? true : false; - let question = await TLObject.read(_data); - let answers = await TLObject.read(_data); - let closePeriod = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let closeDate = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - return new Raw.Poll({ - id: id, - closed: closed, - publicVoters: publicVoters, - multipleChoice: multipleChoice, - quiz: quiz, - question: question, - answers: answers, - closePeriod: closePeriod, - closeDate: closeDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - // @ts-ignore - let flags = 0; - flags |= this.closed ? 1 << 0 : 0; - flags |= this.publicVoters ? 1 << 1 : 0; - flags |= this.multipleChoice ? 1 << 2 : 0; - flags |= this.quiz ? 1 << 3 : 0; - flags |= this.closePeriod !== undefined ? 1 << 4 : 0; - flags |= this.closeDate !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.question !== undefined) { - b.write(this.question.write() as unknown as Buffer); - } - if (this.answers) { - b.write(Primitive.Vector.write(this.answers) as unknown as Buffer); - } - if (this.closePeriod !== undefined) { - b.write(Primitive.Int.write(this.closePeriod) as unknown as Buffer); - } - if (this.closeDate !== undefined) { - b.write(Primitive.Int.write(this.closeDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PollAnswerVoters extends TLObject { - chosen?: boolean; - correct?: boolean; - option!: bytes; - voters!: int; - - constructor(params: { chosen?: boolean; correct?: boolean; option: bytes; voters: int }) { - super(); - this.classType = 'types'; - this.className = 'PollAnswerVoters'; - this.constructorId = 0x3b6ddad2; - this.subclassOfId = 0x7ce0cf91; - this._slots = ['chosen', 'correct', 'option', 'voters']; - this.chosen = params.chosen; - this.correct = params.correct; - this.option = params.option; - this.voters = params.voters; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chosen = flags & (1 << 0) ? true : false; - let correct = flags & (1 << 1) ? true : false; - let option = await Primitive.Bytes.read(_data); - let voters = await Primitive.Int.read(_data); - return new Raw.PollAnswerVoters({ - chosen: chosen, - correct: correct, - option: option, - voters: voters, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.chosen ? 1 << 0 : 0; - flags |= this.correct ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - if (this.voters !== undefined) { - b.write(Primitive.Int.write(this.voters) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PollResults extends TLObject { - min?: boolean; - results?: Vector; - totalVoters?: int; - recentVoters?: Vector; - solution?: string; - solutionEntities?: Vector; - - constructor(params: { - min?: boolean; - results?: Vector; - totalVoters?: int; - recentVoters?: Vector; - solution?: string; - solutionEntities?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'PollResults'; - this.constructorId = 0x7adf2420; - this.subclassOfId = 0xc3b4f687; - this._slots = [ - 'min', - 'results', - 'totalVoters', - 'recentVoters', - 'solution', - 'solutionEntities', - ]; - this.min = params.min; - this.results = params.results; - this.totalVoters = params.totalVoters; - this.recentVoters = params.recentVoters; - this.solution = params.solution; - this.solutionEntities = params.solutionEntities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let min = flags & (1 << 0) ? true : false; - let results = flags & (1 << 1) ? await TLObject.read(_data) : []; - let totalVoters = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let recentVoters = flags & (1 << 3) ? await TLObject.read(_data) : []; - let solution = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let solutionEntities = flags & (1 << 4) ? await TLObject.read(_data) : []; - return new Raw.PollResults({ - min: min, - results: results, - totalVoters: totalVoters, - recentVoters: recentVoters, - solution: solution, - solutionEntities: solutionEntities, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.min ? 1 << 0 : 0; - flags |= this.results ? 1 << 1 : 0; - flags |= this.totalVoters !== undefined ? 1 << 2 : 0; - flags |= this.recentVoters ? 1 << 3 : 0; - flags |= this.solution !== undefined ? 1 << 4 : 0; - flags |= this.solutionEntities ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.results) { - b.write(Primitive.Vector.write(this.results) as unknown as Buffer); - } - if (this.totalVoters !== undefined) { - b.write(Primitive.Int.write(this.totalVoters) as unknown as Buffer); - } - if (this.recentVoters) { - b.write(Primitive.Vector.write(this.recentVoters) as unknown as Buffer); - } - if (this.solution !== undefined) { - b.write(Primitive.String.write(this.solution) as unknown as Buffer); - } - if (this.solutionEntities) { - b.write(Primitive.Vector.write(this.solutionEntities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatOnlines extends TLObject { - onlines!: int; - - constructor(params: { onlines: int }) { - super(); - this.classType = 'types'; - this.className = 'ChatOnlines'; - this.constructorId = 0xf041e250; - this.subclassOfId = 0x8c81903a; - this._slots = ['onlines']; - this.onlines = params.onlines; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let onlines = await Primitive.Int.read(_data); - return new Raw.ChatOnlines({ onlines: onlines }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.onlines !== undefined) { - b.write(Primitive.Int.write(this.onlines) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsURL extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'StatsURL'; - this.constructorId = 0x47a971e0; - this.subclassOfId = 0x8d4c94c0; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.StatsURL({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatAdminRights extends TLObject { - changeInfo?: boolean; - postMessages?: boolean; - editMessages?: boolean; - deleteMessages?: boolean; - banUsers?: boolean; - inviteUsers?: boolean; - pinMessages?: boolean; - addAdmins?: boolean; - anonymous?: boolean; - manageCall?: boolean; - other?: boolean; - manageTopics?: boolean; - postStories?: boolean; - editStories?: boolean; - deleteStories?: boolean; - manageDirectMessages?: boolean; - - constructor(params: { - changeInfo?: boolean; - postMessages?: boolean; - editMessages?: boolean; - deleteMessages?: boolean; - banUsers?: boolean; - inviteUsers?: boolean; - pinMessages?: boolean; - addAdmins?: boolean; - anonymous?: boolean; - manageCall?: boolean; - other?: boolean; - manageTopics?: boolean; - postStories?: boolean; - editStories?: boolean; - deleteStories?: boolean; - manageDirectMessages?: boolean; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatAdminRights'; - this.constructorId = 0x5fb224d5; - this.subclassOfId = 0x863dc7c4; - this._slots = [ - 'changeInfo', - 'postMessages', - 'editMessages', - 'deleteMessages', - 'banUsers', - 'inviteUsers', - 'pinMessages', - 'addAdmins', - 'anonymous', - 'manageCall', - 'other', - 'manageTopics', - 'postStories', - 'editStories', - 'deleteStories', - 'manageDirectMessages', - ]; - this.changeInfo = params.changeInfo; - this.postMessages = params.postMessages; - this.editMessages = params.editMessages; - this.deleteMessages = params.deleteMessages; - this.banUsers = params.banUsers; - this.inviteUsers = params.inviteUsers; - this.pinMessages = params.pinMessages; - this.addAdmins = params.addAdmins; - this.anonymous = params.anonymous; - this.manageCall = params.manageCall; - this.other = params.other; - this.manageTopics = params.manageTopics; - this.postStories = params.postStories; - this.editStories = params.editStories; - this.deleteStories = params.deleteStories; - this.manageDirectMessages = params.manageDirectMessages; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let changeInfo = flags & (1 << 0) ? true : false; - let postMessages = flags & (1 << 1) ? true : false; - let editMessages = flags & (1 << 2) ? true : false; - let deleteMessages = flags & (1 << 3) ? true : false; - let banUsers = flags & (1 << 4) ? true : false; - let inviteUsers = flags & (1 << 5) ? true : false; - let pinMessages = flags & (1 << 7) ? true : false; - let addAdmins = flags & (1 << 9) ? true : false; - let anonymous = flags & (1 << 10) ? true : false; - let manageCall = flags & (1 << 11) ? true : false; - let other = flags & (1 << 12) ? true : false; - let manageTopics = flags & (1 << 13) ? true : false; - let postStories = flags & (1 << 14) ? true : false; - let editStories = flags & (1 << 15) ? true : false; - let deleteStories = flags & (1 << 16) ? true : false; - let manageDirectMessages = flags & (1 << 17) ? true : false; - return new Raw.ChatAdminRights({ - changeInfo: changeInfo, - postMessages: postMessages, - editMessages: editMessages, - deleteMessages: deleteMessages, - banUsers: banUsers, - inviteUsers: inviteUsers, - pinMessages: pinMessages, - addAdmins: addAdmins, - anonymous: anonymous, - manageCall: manageCall, - other: other, - manageTopics: manageTopics, - postStories: postStories, - editStories: editStories, - deleteStories: deleteStories, - manageDirectMessages: manageDirectMessages, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.changeInfo ? 1 << 0 : 0; - flags |= this.postMessages ? 1 << 1 : 0; - flags |= this.editMessages ? 1 << 2 : 0; - flags |= this.deleteMessages ? 1 << 3 : 0; - flags |= this.banUsers ? 1 << 4 : 0; - flags |= this.inviteUsers ? 1 << 5 : 0; - flags |= this.pinMessages ? 1 << 7 : 0; - flags |= this.addAdmins ? 1 << 9 : 0; - flags |= this.anonymous ? 1 << 10 : 0; - flags |= this.manageCall ? 1 << 11 : 0; - flags |= this.other ? 1 << 12 : 0; - flags |= this.manageTopics ? 1 << 13 : 0; - flags |= this.postStories ? 1 << 14 : 0; - flags |= this.editStories ? 1 << 15 : 0; - flags |= this.deleteStories ? 1 << 16 : 0; - flags |= this.manageDirectMessages ? 1 << 17 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatBannedRights extends TLObject { - viewMessages?: boolean; - sendMessages?: boolean; - sendMedia?: boolean; - sendStickers?: boolean; - sendGifs?: boolean; - sendGames?: boolean; - sendInline?: boolean; - embedLinks?: boolean; - sendPolls?: boolean; - changeInfo?: boolean; - inviteUsers?: boolean; - pinMessages?: boolean; - manageTopics?: boolean; - sendPhotos?: boolean; - sendVideos?: boolean; - sendRoundvideos?: boolean; - sendAudios?: boolean; - sendVoices?: boolean; - sendDocs?: boolean; - sendPlain?: boolean; - untilDate!: int; - - constructor(params: { - viewMessages?: boolean; - sendMessages?: boolean; - sendMedia?: boolean; - sendStickers?: boolean; - sendGifs?: boolean; - sendGames?: boolean; - sendInline?: boolean; - embedLinks?: boolean; - sendPolls?: boolean; - changeInfo?: boolean; - inviteUsers?: boolean; - pinMessages?: boolean; - manageTopics?: boolean; - sendPhotos?: boolean; - sendVideos?: boolean; - sendRoundvideos?: boolean; - sendAudios?: boolean; - sendVoices?: boolean; - sendDocs?: boolean; - sendPlain?: boolean; - untilDate: int; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatBannedRights'; - this.constructorId = 0x9f120418; - this.subclassOfId = 0x4b5445a9; - this._slots = [ - 'viewMessages', - 'sendMessages', - 'sendMedia', - 'sendStickers', - 'sendGifs', - 'sendGames', - 'sendInline', - 'embedLinks', - 'sendPolls', - 'changeInfo', - 'inviteUsers', - 'pinMessages', - 'manageTopics', - 'sendPhotos', - 'sendVideos', - 'sendRoundvideos', - 'sendAudios', - 'sendVoices', - 'sendDocs', - 'sendPlain', - 'untilDate', - ]; - this.viewMessages = params.viewMessages; - this.sendMessages = params.sendMessages; - this.sendMedia = params.sendMedia; - this.sendStickers = params.sendStickers; - this.sendGifs = params.sendGifs; - this.sendGames = params.sendGames; - this.sendInline = params.sendInline; - this.embedLinks = params.embedLinks; - this.sendPolls = params.sendPolls; - this.changeInfo = params.changeInfo; - this.inviteUsers = params.inviteUsers; - this.pinMessages = params.pinMessages; - this.manageTopics = params.manageTopics; - this.sendPhotos = params.sendPhotos; - this.sendVideos = params.sendVideos; - this.sendRoundvideos = params.sendRoundvideos; - this.sendAudios = params.sendAudios; - this.sendVoices = params.sendVoices; - this.sendDocs = params.sendDocs; - this.sendPlain = params.sendPlain; - this.untilDate = params.untilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viewMessages = flags & (1 << 0) ? true : false; - let sendMessages = flags & (1 << 1) ? true : false; - let sendMedia = flags & (1 << 2) ? true : false; - let sendStickers = flags & (1 << 3) ? true : false; - let sendGifs = flags & (1 << 4) ? true : false; - let sendGames = flags & (1 << 5) ? true : false; - let sendInline = flags & (1 << 6) ? true : false; - let embedLinks = flags & (1 << 7) ? true : false; - let sendPolls = flags & (1 << 8) ? true : false; - let changeInfo = flags & (1 << 10) ? true : false; - let inviteUsers = flags & (1 << 15) ? true : false; - let pinMessages = flags & (1 << 17) ? true : false; - let manageTopics = flags & (1 << 18) ? true : false; - let sendPhotos = flags & (1 << 19) ? true : false; - let sendVideos = flags & (1 << 20) ? true : false; - let sendRoundvideos = flags & (1 << 21) ? true : false; - let sendAudios = flags & (1 << 22) ? true : false; - let sendVoices = flags & (1 << 23) ? true : false; - let sendDocs = flags & (1 << 24) ? true : false; - let sendPlain = flags & (1 << 25) ? true : false; - let untilDate = await Primitive.Int.read(_data); - return new Raw.ChatBannedRights({ - viewMessages: viewMessages, - sendMessages: sendMessages, - sendMedia: sendMedia, - sendStickers: sendStickers, - sendGifs: sendGifs, - sendGames: sendGames, - sendInline: sendInline, - embedLinks: embedLinks, - sendPolls: sendPolls, - changeInfo: changeInfo, - inviteUsers: inviteUsers, - pinMessages: pinMessages, - manageTopics: manageTopics, - sendPhotos: sendPhotos, - sendVideos: sendVideos, - sendRoundvideos: sendRoundvideos, - sendAudios: sendAudios, - sendVoices: sendVoices, - sendDocs: sendDocs, - sendPlain: sendPlain, - untilDate: untilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viewMessages ? 1 << 0 : 0; - flags |= this.sendMessages ? 1 << 1 : 0; - flags |= this.sendMedia ? 1 << 2 : 0; - flags |= this.sendStickers ? 1 << 3 : 0; - flags |= this.sendGifs ? 1 << 4 : 0; - flags |= this.sendGames ? 1 << 5 : 0; - flags |= this.sendInline ? 1 << 6 : 0; - flags |= this.embedLinks ? 1 << 7 : 0; - flags |= this.sendPolls ? 1 << 8 : 0; - flags |= this.changeInfo ? 1 << 10 : 0; - flags |= this.inviteUsers ? 1 << 15 : 0; - flags |= this.pinMessages ? 1 << 17 : 0; - flags |= this.manageTopics ? 1 << 18 : 0; - flags |= this.sendPhotos ? 1 << 19 : 0; - flags |= this.sendVideos ? 1 << 20 : 0; - flags |= this.sendRoundvideos ? 1 << 21 : 0; - flags |= this.sendAudios ? 1 << 22 : 0; - flags |= this.sendVoices ? 1 << 23 : 0; - flags |= this.sendDocs ? 1 << 24 : 0; - flags |= this.sendPlain ? 1 << 25 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWallPaper extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputWallPaper'; - this.constructorId = 0xe630b979; - this.subclassOfId = 0xee77201a; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputWallPaper({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWallPaperSlug extends TLObject { - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'types'; - this.className = 'InputWallPaperSlug'; - this.constructorId = 0x72091c80; - this.subclassOfId = 0xee77201a; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.InputWallPaperSlug({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputWallPaperNoFile extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'InputWallPaperNoFile'; - this.constructorId = 0x967a462e; - this.subclassOfId = 0xee77201a; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.InputWallPaperNoFile({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CodeSettings extends TLObject { - allowFlashcall?: boolean; - currentNumber?: boolean; - allowAppHash?: boolean; - allowMissedCall?: boolean; - allowFirebase?: boolean; - unknownNumber?: boolean; - logoutTokens?: Vector; - token?: string; - appSandbox?: Bool; - - constructor(params: { - allowFlashcall?: boolean; - currentNumber?: boolean; - allowAppHash?: boolean; - allowMissedCall?: boolean; - allowFirebase?: boolean; - unknownNumber?: boolean; - logoutTokens?: Vector; - token?: string; - appSandbox?: Bool; - }) { - super(); - this.classType = 'types'; - this.className = 'CodeSettings'; - this.constructorId = 0xad253d78; - this.subclassOfId = 0x48edbc8a; - this._slots = [ - 'allowFlashcall', - 'currentNumber', - 'allowAppHash', - 'allowMissedCall', - 'allowFirebase', - 'unknownNumber', - 'logoutTokens', - 'token', - 'appSandbox', - ]; - this.allowFlashcall = params.allowFlashcall; - this.currentNumber = params.currentNumber; - this.allowAppHash = params.allowAppHash; - this.allowMissedCall = params.allowMissedCall; - this.allowFirebase = params.allowFirebase; - this.unknownNumber = params.unknownNumber; - this.logoutTokens = params.logoutTokens; - this.token = params.token; - this.appSandbox = params.appSandbox; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let allowFlashcall = flags & (1 << 0) ? true : false; - let currentNumber = flags & (1 << 1) ? true : false; - let allowAppHash = flags & (1 << 4) ? true : false; - let allowMissedCall = flags & (1 << 5) ? true : false; - let allowFirebase = flags & (1 << 7) ? true : false; - let unknownNumber = flags & (1 << 9) ? true : false; - let logoutTokens = flags & (1 << 6) ? await TLObject.read(_data, Primitive.Bytes) : []; - let token = flags & (1 << 8) ? await Primitive.String.read(_data) : undefined; - let appSandbox = flags & (1 << 8) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.CodeSettings({ - allowFlashcall: allowFlashcall, - currentNumber: currentNumber, - allowAppHash: allowAppHash, - allowMissedCall: allowMissedCall, - allowFirebase: allowFirebase, - unknownNumber: unknownNumber, - logoutTokens: logoutTokens, - token: token, - appSandbox: appSandbox, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.allowFlashcall ? 1 << 0 : 0; - flags |= this.currentNumber ? 1 << 1 : 0; - flags |= this.allowAppHash ? 1 << 4 : 0; - flags |= this.allowMissedCall ? 1 << 5 : 0; - flags |= this.allowFirebase ? 1 << 7 : 0; - flags |= this.unknownNumber ? 1 << 9 : 0; - flags |= this.logoutTokens ? 1 << 6 : 0; - flags |= this.token !== undefined ? 1 << 8 : 0; - flags |= this.appSandbox !== undefined ? 1 << 8 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.logoutTokens) { - b.write(Primitive.Vector.write(this.logoutTokens, Primitive.Bytes) as unknown as Buffer); - } - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - if (this.appSandbox !== undefined) { - b.write(Primitive.Bool.write(this.appSandbox) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WallPaperSettings extends TLObject { - blur?: boolean; - motion?: boolean; - backgroundColor?: int; - secondBackgroundColor?: int; - thirdBackgroundColor?: int; - fourthBackgroundColor?: int; - intensity?: int; - rotation?: int; - emoticon?: string; - - constructor(params: { - blur?: boolean; - motion?: boolean; - backgroundColor?: int; - secondBackgroundColor?: int; - thirdBackgroundColor?: int; - fourthBackgroundColor?: int; - intensity?: int; - rotation?: int; - emoticon?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'WallPaperSettings'; - this.constructorId = 0x372efcd0; - this.subclassOfId = 0x4175e312; - this._slots = [ - 'blur', - 'motion', - 'backgroundColor', - 'secondBackgroundColor', - 'thirdBackgroundColor', - 'fourthBackgroundColor', - 'intensity', - 'rotation', - 'emoticon', - ]; - this.blur = params.blur; - this.motion = params.motion; - this.backgroundColor = params.backgroundColor; - this.secondBackgroundColor = params.secondBackgroundColor; - this.thirdBackgroundColor = params.thirdBackgroundColor; - this.fourthBackgroundColor = params.fourthBackgroundColor; - this.intensity = params.intensity; - this.rotation = params.rotation; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let blur = flags & (1 << 1) ? true : false; - let motion = flags & (1 << 2) ? true : false; - let backgroundColor = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let secondBackgroundColor = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let thirdBackgroundColor = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let fourthBackgroundColor = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - let intensity = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let rotation = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let emoticon = flags & (1 << 7) ? await Primitive.String.read(_data) : undefined; - return new Raw.WallPaperSettings({ - blur: blur, - motion: motion, - backgroundColor: backgroundColor, - secondBackgroundColor: secondBackgroundColor, - thirdBackgroundColor: thirdBackgroundColor, - fourthBackgroundColor: fourthBackgroundColor, - intensity: intensity, - rotation: rotation, - emoticon: emoticon, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.blur ? 1 << 1 : 0; - flags |= this.motion ? 1 << 2 : 0; - flags |= this.backgroundColor !== undefined ? 1 << 0 : 0; - flags |= this.secondBackgroundColor !== undefined ? 1 << 4 : 0; - flags |= this.thirdBackgroundColor !== undefined ? 1 << 5 : 0; - flags |= this.fourthBackgroundColor !== undefined ? 1 << 6 : 0; - flags |= this.intensity !== undefined ? 1 << 3 : 0; - flags |= this.rotation !== undefined ? 1 << 4 : 0; - flags |= this.emoticon !== undefined ? 1 << 7 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.backgroundColor !== undefined) { - b.write(Primitive.Int.write(this.backgroundColor) as unknown as Buffer); - } - if (this.secondBackgroundColor !== undefined) { - b.write(Primitive.Int.write(this.secondBackgroundColor) as unknown as Buffer); - } - if (this.thirdBackgroundColor !== undefined) { - b.write(Primitive.Int.write(this.thirdBackgroundColor) as unknown as Buffer); - } - if (this.fourthBackgroundColor !== undefined) { - b.write(Primitive.Int.write(this.fourthBackgroundColor) as unknown as Buffer); - } - if (this.intensity !== undefined) { - b.write(Primitive.Int.write(this.intensity) as unknown as Buffer); - } - if (this.rotation !== undefined) { - b.write(Primitive.Int.write(this.rotation) as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AutoDownloadSettings extends TLObject { - disabled?: boolean; - videoPreloadLarge?: boolean; - audioPreloadNext?: boolean; - phonecallsLessData?: boolean; - storiesPreload?: boolean; - photoSizeMax!: int; - videoSizeMax!: long; - fileSizeMax!: long; - videoUploadMaxbitrate!: int; - smallQueueActiveOperationsMax!: int; - largeQueueActiveOperationsMax!: int; - - constructor(params: { - disabled?: boolean; - videoPreloadLarge?: boolean; - audioPreloadNext?: boolean; - phonecallsLessData?: boolean; - storiesPreload?: boolean; - photoSizeMax: int; - videoSizeMax: long; - fileSizeMax: long; - videoUploadMaxbitrate: int; - smallQueueActiveOperationsMax: int; - largeQueueActiveOperationsMax: int; - }) { - super(); - this.classType = 'types'; - this.className = 'AutoDownloadSettings'; - this.constructorId = 0xbaa57628; - this.subclassOfId = 0x512819c7; - this._slots = [ - 'disabled', - 'videoPreloadLarge', - 'audioPreloadNext', - 'phonecallsLessData', - 'storiesPreload', - 'photoSizeMax', - 'videoSizeMax', - 'fileSizeMax', - 'videoUploadMaxbitrate', - 'smallQueueActiveOperationsMax', - 'largeQueueActiveOperationsMax', - ]; - this.disabled = params.disabled; - this.videoPreloadLarge = params.videoPreloadLarge; - this.audioPreloadNext = params.audioPreloadNext; - this.phonecallsLessData = params.phonecallsLessData; - this.storiesPreload = params.storiesPreload; - this.photoSizeMax = params.photoSizeMax; - this.videoSizeMax = params.videoSizeMax; - this.fileSizeMax = params.fileSizeMax; - this.videoUploadMaxbitrate = params.videoUploadMaxbitrate; - this.smallQueueActiveOperationsMax = params.smallQueueActiveOperationsMax; - this.largeQueueActiveOperationsMax = params.largeQueueActiveOperationsMax; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let disabled = flags & (1 << 0) ? true : false; - let videoPreloadLarge = flags & (1 << 1) ? true : false; - let audioPreloadNext = flags & (1 << 2) ? true : false; - let phonecallsLessData = flags & (1 << 3) ? true : false; - let storiesPreload = flags & (1 << 4) ? true : false; - let photoSizeMax = await Primitive.Int.read(_data); - let videoSizeMax = await Primitive.Long.read(_data); - let fileSizeMax = await Primitive.Long.read(_data); - let videoUploadMaxbitrate = await Primitive.Int.read(_data); - let smallQueueActiveOperationsMax = await Primitive.Int.read(_data); - let largeQueueActiveOperationsMax = await Primitive.Int.read(_data); - return new Raw.AutoDownloadSettings({ - disabled: disabled, - videoPreloadLarge: videoPreloadLarge, - audioPreloadNext: audioPreloadNext, - phonecallsLessData: phonecallsLessData, - storiesPreload: storiesPreload, - photoSizeMax: photoSizeMax, - videoSizeMax: videoSizeMax, - fileSizeMax: fileSizeMax, - videoUploadMaxbitrate: videoUploadMaxbitrate, - smallQueueActiveOperationsMax: smallQueueActiveOperationsMax, - largeQueueActiveOperationsMax: largeQueueActiveOperationsMax, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.disabled ? 1 << 0 : 0; - flags |= this.videoPreloadLarge ? 1 << 1 : 0; - flags |= this.audioPreloadNext ? 1 << 2 : 0; - flags |= this.phonecallsLessData ? 1 << 3 : 0; - flags |= this.storiesPreload ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.photoSizeMax !== undefined) { - b.write(Primitive.Int.write(this.photoSizeMax) as unknown as Buffer); - } - if (this.videoSizeMax !== undefined) { - b.write(Primitive.Long.write(this.videoSizeMax) as unknown as Buffer); - } - if (this.fileSizeMax !== undefined) { - b.write(Primitive.Long.write(this.fileSizeMax) as unknown as Buffer); - } - if (this.videoUploadMaxbitrate !== undefined) { - b.write(Primitive.Int.write(this.videoUploadMaxbitrate) as unknown as Buffer); - } - if (this.smallQueueActiveOperationsMax !== undefined) { - b.write(Primitive.Int.write(this.smallQueueActiveOperationsMax) as unknown as Buffer); - } - if (this.largeQueueActiveOperationsMax !== undefined) { - b.write(Primitive.Int.write(this.largeQueueActiveOperationsMax) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiKeyword extends TLObject { - keyword!: string; - emoticons!: Vector; - - constructor(params: { keyword: string; emoticons: Vector }) { - super(); - this.classType = 'types'; - this.className = 'EmojiKeyword'; - this.constructorId = 0xd5b3b9f9; - this.subclassOfId = 0x6612a53e; - this._slots = ['keyword', 'emoticons']; - this.keyword = params.keyword; - this.emoticons = params.emoticons; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let keyword = await Primitive.String.read(_data); - let emoticons = await TLObject.read(_data, Primitive.String); - return new Raw.EmojiKeyword({ keyword: keyword, emoticons: emoticons }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.keyword !== undefined) { - b.write(Primitive.String.write(this.keyword) as unknown as Buffer); - } - if (this.emoticons) { - b.write(Primitive.Vector.write(this.emoticons, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiKeywordDeleted extends TLObject { - keyword!: string; - emoticons!: Vector; - - constructor(params: { keyword: string; emoticons: Vector }) { - super(); - this.classType = 'types'; - this.className = 'EmojiKeywordDeleted'; - this.constructorId = 0x236df622; - this.subclassOfId = 0x6612a53e; - this._slots = ['keyword', 'emoticons']; - this.keyword = params.keyword; - this.emoticons = params.emoticons; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let keyword = await Primitive.String.read(_data); - let emoticons = await TLObject.read(_data, Primitive.String); - return new Raw.EmojiKeywordDeleted({ keyword: keyword, emoticons: emoticons }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.keyword !== undefined) { - b.write(Primitive.String.write(this.keyword) as unknown as Buffer); - } - if (this.emoticons) { - b.write(Primitive.Vector.write(this.emoticons, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiKeywordsDifference extends TLObject { - langCode!: string; - fromVersion!: int; - version!: int; - keywords!: Vector; - - constructor(params: { - langCode: string; - fromVersion: int; - version: int; - keywords: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'EmojiKeywordsDifference'; - this.constructorId = 0x5cc761bd; - this.subclassOfId = 0xd279c672; - this._slots = ['langCode', 'fromVersion', 'version', 'keywords']; - this.langCode = params.langCode; - this.fromVersion = params.fromVersion; - this.version = params.version; - this.keywords = params.keywords; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - let fromVersion = await Primitive.Int.read(_data); - let version = await Primitive.Int.read(_data); - let keywords = await TLObject.read(_data); - return new Raw.EmojiKeywordsDifference({ - langCode: langCode, - fromVersion: fromVersion, - version: version, - keywords: keywords, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.fromVersion !== undefined) { - b.write(Primitive.Int.write(this.fromVersion) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - if (this.keywords) { - b.write(Primitive.Vector.write(this.keywords) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiURL extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'EmojiURL'; - this.constructorId = 0xa575739d; - this.subclassOfId = 0x1fa08a19; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.EmojiURL({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiLanguage extends TLObject { - langCode!: string; - - constructor(params: { langCode: string }) { - super(); - this.classType = 'types'; - this.className = 'EmojiLanguage'; - this.constructorId = 0xb3fb5361; - this.subclassOfId = 0xa48d04ee; - this._slots = ['langCode']; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - return new Raw.EmojiLanguage({ langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Folder extends TLObject { - autofillNewBroadcasts?: boolean; - autofillPublicGroups?: boolean; - autofillNewCorrespondents?: boolean; - id!: int; - title!: string; - photo?: Raw.TypeChatPhoto; - - constructor(params: { - autofillNewBroadcasts?: boolean; - autofillPublicGroups?: boolean; - autofillNewCorrespondents?: boolean; - id: int; - title: string; - photo?: Raw.TypeChatPhoto; - }) { - super(); - this.classType = 'types'; - this.className = 'Folder'; - this.constructorId = 0xff544e65; - this.subclassOfId = 0xeb0e0cfb; - this._slots = [ - 'autofillNewBroadcasts', - 'autofillPublicGroups', - 'autofillNewCorrespondents', - 'id', - 'title', - 'photo', - ]; - this.autofillNewBroadcasts = params.autofillNewBroadcasts; - this.autofillPublicGroups = params.autofillPublicGroups; - this.autofillNewCorrespondents = params.autofillNewCorrespondents; - this.id = params.id; - this.title = params.title; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let autofillNewBroadcasts = flags & (1 << 0) ? true : false; - let autofillPublicGroups = flags & (1 << 1) ? true : false; - let autofillNewCorrespondents = flags & (1 << 2) ? true : false; - let id = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let photo = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - return new Raw.Folder({ - autofillNewBroadcasts: autofillNewBroadcasts, - autofillPublicGroups: autofillPublicGroups, - autofillNewCorrespondents: autofillNewCorrespondents, - id: id, - title: title, - photo: photo, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.autofillNewBroadcasts ? 1 << 0 : 0; - flags |= this.autofillPublicGroups ? 1 << 1 : 0; - flags |= this.autofillNewCorrespondents ? 1 << 2 : 0; - flags |= this.photo !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputFolderPeer extends TLObject { - peer!: Raw.TypeInputPeer; - folderId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; folderId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputFolderPeer'; - this.constructorId = 0xfbd2c296; - this.subclassOfId = 0x74825e00; - this._slots = ['peer', 'folderId']; - this.peer = params.peer; - this.folderId = params.folderId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let folderId = await Primitive.Int.read(_data); - return new Raw.InputFolderPeer({ peer: peer, folderId: folderId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FolderPeer extends TLObject { - peer!: Raw.TypePeer; - folderId!: int; - - constructor(params: { peer: Raw.TypePeer; folderId: int }) { - super(); - this.classType = 'types'; - this.className = 'FolderPeer'; - this.constructorId = 0xe9baa668; - this.subclassOfId = 0xf3f2283b; - this._slots = ['peer', 'folderId']; - this.peer = params.peer; - this.folderId = params.folderId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let folderId = await Primitive.Int.read(_data); - return new Raw.FolderPeer({ peer: peer, folderId: folderId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UrlAuthResultRequest extends TLObject { - requestWriteAccess?: boolean; - bot!: Raw.TypeUser; - domain!: string; - - constructor(params: { requestWriteAccess?: boolean; bot: Raw.TypeUser; domain: string }) { - super(); - this.classType = 'types'; - this.className = 'UrlAuthResultRequest'; - this.constructorId = 0x92d33a0e; - this.subclassOfId = 0x7765cb1e; - this._slots = ['requestWriteAccess', 'bot', 'domain']; - this.requestWriteAccess = params.requestWriteAccess; - this.bot = params.bot; - this.domain = params.domain; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let requestWriteAccess = flags & (1 << 0) ? true : false; - let bot = await TLObject.read(_data); - let domain = await Primitive.String.read(_data); - return new Raw.UrlAuthResultRequest({ - requestWriteAccess: requestWriteAccess, - bot: bot, - domain: domain, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.requestWriteAccess ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.domain !== undefined) { - b.write(Primitive.String.write(this.domain) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UrlAuthResultAccepted extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'UrlAuthResultAccepted'; - this.constructorId = 0x8f8c0e4e; - this.subclassOfId = 0x7765cb1e; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.UrlAuthResultAccepted({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UrlAuthResultDefault extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'UrlAuthResultDefault'; - this.constructorId = 0xa9d6db1f; - this.subclassOfId = 0x7765cb1e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.UrlAuthResultDefault(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelLocationEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChannelLocationEmpty'; - this.constructorId = 0xbfb5ad8b; - this.subclassOfId = 0xec260b7f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChannelLocationEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelLocation extends TLObject { - geoPoint!: Raw.TypeGeoPoint; - address!: string; - - constructor(params: { geoPoint: Raw.TypeGeoPoint; address: string }) { - super(); - this.classType = 'types'; - this.className = 'ChannelLocation'; - this.constructorId = 0x209b82db; - this.subclassOfId = 0xec260b7f; - this._slots = ['geoPoint', 'address']; - this.geoPoint = params.geoPoint; - this.address = params.address; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let geoPoint = await TLObject.read(_data); - let address = await Primitive.String.read(_data); - return new Raw.ChannelLocation({ geoPoint: geoPoint, address: address }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerLocated extends TLObject { - peer!: Raw.TypePeer; - expires!: int; - distance!: int; - - constructor(params: { peer: Raw.TypePeer; expires: int; distance: int }) { - super(); - this.classType = 'types'; - this.className = 'PeerLocated'; - this.constructorId = 0xca461b5d; - this.subclassOfId = 0xfada34ac; - this._slots = ['peer', 'expires', 'distance']; - this.peer = params.peer; - this.expires = params.expires; - this.distance = params.distance; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let expires = await Primitive.Int.read(_data); - let distance = await Primitive.Int.read(_data); - return new Raw.PeerLocated({ peer: peer, expires: expires, distance: distance }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.distance !== undefined) { - b.write(Primitive.Int.write(this.distance) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerSelfLocated extends TLObject { - expires!: int; - - constructor(params: { expires: int }) { - super(); - this.classType = 'types'; - this.className = 'PeerSelfLocated'; - this.constructorId = 0xf8ec284b; - this.subclassOfId = 0xfada34ac; - this._slots = ['expires']; - this.expires = params.expires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let expires = await Primitive.Int.read(_data); - return new Raw.PeerSelfLocated({ expires: expires }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RestrictionReason extends TLObject { - platform!: string; - reason!: string; - text!: string; - - constructor(params: { platform: string; reason: string; text: string }) { - super(); - this.classType = 'types'; - this.className = 'RestrictionReason'; - this.constructorId = 0xd072acb4; - this.subclassOfId = 0x6ad95ad; - this._slots = ['platform', 'reason', 'text']; - this.platform = params.platform; - this.reason = params.reason; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let platform = await Primitive.String.read(_data); - let reason = await Primitive.String.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.RestrictionReason({ platform: platform, reason: reason, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(Primitive.String.write(this.reason) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputTheme extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputTheme'; - this.constructorId = 0x3c5693e9; - this.subclassOfId = 0x7a100f0; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputTheme({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputThemeSlug extends TLObject { - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'types'; - this.className = 'InputThemeSlug'; - this.constructorId = 0xf5890df1; - this.subclassOfId = 0x7a100f0; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.InputThemeSlug({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Theme extends TLObject { - creator?: boolean; - default?: boolean; - forChat?: boolean; - id!: long; - accessHash!: long; - slug!: string; - title!: string; - document?: Raw.TypeDocument; - settings?: Vector; - emoticon?: string; - installsCount?: int; - - constructor(params: { - creator?: boolean; - default?: boolean; - forChat?: boolean; - id: long; - accessHash: long; - slug: string; - title: string; - document?: Raw.TypeDocument; - settings?: Vector; - emoticon?: string; - installsCount?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'Theme'; - this.constructorId = 0xa00e67d6; - this.subclassOfId = 0x56b4c80c; - this._slots = [ - 'creator', - 'default', - 'forChat', - 'id', - 'accessHash', - 'slug', - 'title', - 'document', - 'settings', - 'emoticon', - 'installsCount', - ]; - this.creator = params.creator; - this.default = params.default; - this.forChat = params.forChat; - this.id = params.id; - this.accessHash = params.accessHash; - this.slug = params.slug; - this.title = params.title; - this.document = params.document; - this.settings = params.settings; - this.emoticon = params.emoticon; - this.installsCount = params.installsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let creator = flags & (1 << 0) ? true : false; - let _default = flags & (1 << 1) ? true : false; - let forChat = flags & (1 << 5) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let slug = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let document = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let settings = flags & (1 << 3) ? await TLObject.read(_data) : []; - let emoticon = flags & (1 << 6) ? await Primitive.String.read(_data) : undefined; - let installsCount = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.Theme({ - creator: creator, - default: _default, - forChat: forChat, - id: id, - accessHash: accessHash, - slug: slug, - title: title, - document: document, - settings: settings, - emoticon: emoticon, - installsCount: installsCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.creator ? 1 << 0 : 0; - flags |= this.default ? 1 << 1 : 0; - flags |= this.forChat ? 1 << 5 : 0; - flags |= this.document !== undefined ? 1 << 2 : 0; - flags |= this.settings ? 1 << 3 : 0; - flags |= this.emoticon !== undefined ? 1 << 6 : 0; - flags |= this.installsCount !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.settings) { - b.write(Primitive.Vector.write(this.settings) as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.installsCount !== undefined) { - b.write(Primitive.Int.write(this.installsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BaseThemeClassic extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BaseThemeClassic'; - this.constructorId = 0xc3a12462; - this.subclassOfId = 0x1f03f444; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BaseThemeClassic(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BaseThemeDay extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BaseThemeDay'; - this.constructorId = 0xfbd81688; - this.subclassOfId = 0x1f03f444; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.BaseThemeDay(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BaseThemeNight extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BaseThemeNight'; - this.constructorId = 0xb7b31ea8; - this.subclassOfId = 0x1f03f444; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.BaseThemeNight(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BaseThemeTinted extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BaseThemeTinted'; - this.constructorId = 0x6d5f77ee; - this.subclassOfId = 0x1f03f444; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.BaseThemeTinted(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BaseThemeArctic extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BaseThemeArctic'; - this.constructorId = 0x5b11125a; - this.subclassOfId = 0x1f03f444; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.BaseThemeArctic(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputThemeSettings extends TLObject { - messageColorsAnimated?: boolean; - baseTheme!: Raw.TypeBaseTheme; - accentColor!: int; - outboxAccentColor?: int; - messageColors?: Vector; - wallpaper?: Raw.TypeInputWallPaper; - wallpaperSettings?: Raw.TypeWallPaperSettings; - - constructor(params: { - messageColorsAnimated?: boolean; - baseTheme: Raw.TypeBaseTheme; - accentColor: int; - outboxAccentColor?: int; - messageColors?: Vector; - wallpaper?: Raw.TypeInputWallPaper; - wallpaperSettings?: Raw.TypeWallPaperSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'InputThemeSettings'; - this.constructorId = 0x8fde504f; - this.subclassOfId = 0x8338c882; - this._slots = [ - 'messageColorsAnimated', - 'baseTheme', - 'accentColor', - 'outboxAccentColor', - 'messageColors', - 'wallpaper', - 'wallpaperSettings', - ]; - this.messageColorsAnimated = params.messageColorsAnimated; - this.baseTheme = params.baseTheme; - this.accentColor = params.accentColor; - this.outboxAccentColor = params.outboxAccentColor; - this.messageColors = params.messageColors; - this.wallpaper = params.wallpaper; - this.wallpaperSettings = params.wallpaperSettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let messageColorsAnimated = flags & (1 << 2) ? true : false; - let baseTheme = await TLObject.read(_data); - let accentColor = await Primitive.Int.read(_data); - let outboxAccentColor = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let messageColors = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - let wallpaper = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let wallpaperSettings = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.InputThemeSettings({ - messageColorsAnimated: messageColorsAnimated, - baseTheme: baseTheme, - accentColor: accentColor, - outboxAccentColor: outboxAccentColor, - messageColors: messageColors, - wallpaper: wallpaper, - wallpaperSettings: wallpaperSettings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.messageColorsAnimated ? 1 << 2 : 0; - flags |= this.outboxAccentColor !== undefined ? 1 << 3 : 0; - flags |= this.messageColors ? 1 << 0 : 0; - flags |= this.wallpaper !== undefined ? 1 << 1 : 0; - flags |= this.wallpaperSettings !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.baseTheme !== undefined) { - b.write(this.baseTheme.write() as unknown as Buffer); - } - if (this.accentColor !== undefined) { - b.write(Primitive.Int.write(this.accentColor) as unknown as Buffer); - } - if (this.outboxAccentColor !== undefined) { - b.write(Primitive.Int.write(this.outboxAccentColor) as unknown as Buffer); - } - if (this.messageColors) { - b.write(Primitive.Vector.write(this.messageColors, Primitive.Int) as unknown as Buffer); - } - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - if (this.wallpaperSettings !== undefined) { - b.write(this.wallpaperSettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ThemeSettings extends TLObject { - messageColorsAnimated?: boolean; - baseTheme!: Raw.TypeBaseTheme; - accentColor!: int; - outboxAccentColor?: int; - messageColors?: Vector; - wallpaper?: Raw.TypeWallPaper; - - constructor(params: { - messageColorsAnimated?: boolean; - baseTheme: Raw.TypeBaseTheme; - accentColor: int; - outboxAccentColor?: int; - messageColors?: Vector; - wallpaper?: Raw.TypeWallPaper; - }) { - super(); - this.classType = 'types'; - this.className = 'ThemeSettings'; - this.constructorId = 0xfa58b6d4; - this.subclassOfId = 0x82666d38; - this._slots = [ - 'messageColorsAnimated', - 'baseTheme', - 'accentColor', - 'outboxAccentColor', - 'messageColors', - 'wallpaper', - ]; - this.messageColorsAnimated = params.messageColorsAnimated; - this.baseTheme = params.baseTheme; - this.accentColor = params.accentColor; - this.outboxAccentColor = params.outboxAccentColor; - this.messageColors = params.messageColors; - this.wallpaper = params.wallpaper; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let messageColorsAnimated = flags & (1 << 2) ? true : false; - let baseTheme = await TLObject.read(_data); - let accentColor = await Primitive.Int.read(_data); - let outboxAccentColor = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let messageColors = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - let wallpaper = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.ThemeSettings({ - messageColorsAnimated: messageColorsAnimated, - baseTheme: baseTheme, - accentColor: accentColor, - outboxAccentColor: outboxAccentColor, - messageColors: messageColors, - wallpaper: wallpaper, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.messageColorsAnimated ? 1 << 2 : 0; - flags |= this.outboxAccentColor !== undefined ? 1 << 3 : 0; - flags |= this.messageColors ? 1 << 0 : 0; - flags |= this.wallpaper !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.baseTheme !== undefined) { - b.write(this.baseTheme.write() as unknown as Buffer); - } - if (this.accentColor !== undefined) { - b.write(Primitive.Int.write(this.accentColor) as unknown as Buffer); - } - if (this.outboxAccentColor !== undefined) { - b.write(Primitive.Int.write(this.outboxAccentColor) as unknown as Buffer); - } - if (this.messageColors) { - b.write(Primitive.Vector.write(this.messageColors, Primitive.Int) as unknown as Buffer); - } - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPageAttributeTheme extends TLObject { - documents?: Vector; - settings?: Raw.TypeThemeSettings; - - constructor(params: { - documents?: Vector; - settings?: Raw.TypeThemeSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'WebPageAttributeTheme'; - this.constructorId = 0x54b56617; - this.subclassOfId = 0xafcfe9c7; - this._slots = ['documents', 'settings']; - this.documents = params.documents; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let documents = flags & (1 << 0) ? await TLObject.read(_data) : []; - let settings = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.WebPageAttributeTheme({ documents: documents, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.documents ? 1 << 0 : 0; - flags |= this.settings !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.documents) { - b.write(Primitive.Vector.write(this.documents) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPageAttributeStory extends TLObject { - peer!: Raw.TypePeer; - id!: int; - story?: Raw.TypeStoryItem; - - constructor(params: { peer: Raw.TypePeer; id: int; story?: Raw.TypeStoryItem }) { - super(); - this.classType = 'types'; - this.className = 'WebPageAttributeStory'; - this.constructorId = 0x2e94c3e7; - this.subclassOfId = 0xafcfe9c7; - this._slots = ['peer', 'id', 'story']; - this.peer = params.peer; - this.id = params.id; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let story = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.WebPageAttributeStory({ peer: peer, id: id, story: story }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.story !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPageAttributeStickerSet extends TLObject { - emojis?: boolean; - textColor?: boolean; - stickers!: Vector; - - constructor(params: { - emojis?: boolean; - textColor?: boolean; - stickers: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'WebPageAttributeStickerSet'; - this.constructorId = 0x50cc03d3; - this.subclassOfId = 0xafcfe9c7; - this._slots = ['emojis', 'textColor', 'stickers']; - this.emojis = params.emojis; - this.textColor = params.textColor; - this.stickers = params.stickers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let emojis = flags & (1 << 0) ? true : false; - let textColor = flags & (1 << 1) ? true : false; - let stickers = await TLObject.read(_data); - return new Raw.WebPageAttributeStickerSet({ - emojis: emojis, - textColor: textColor, - stickers: stickers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.emojis ? 1 << 0 : 0; - flags |= this.textColor ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPageAttributeUniqueStarGift extends TLObject { - gift!: Raw.TypeStarGift; - - constructor(params: { gift: Raw.TypeStarGift }) { - super(); - this.classType = 'types'; - this.className = 'WebPageAttributeUniqueStarGift'; - this.constructorId = 0xcf6f6db8; - this.subclassOfId = 0xafcfe9c7; - this._slots = ['gift']; - this.gift = params.gift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let gift = await TLObject.read(_data); - return new Raw.WebPageAttributeUniqueStarGift({ gift: gift }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.gift !== undefined) { - b.write(this.gift.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BankCardOpenUrl extends TLObject { - url!: string; - name!: string; - - constructor(params: { url: string; name: string }) { - super(); - this.classType = 'types'; - this.className = 'BankCardOpenUrl'; - this.constructorId = 0xf568028a; - this.subclassOfId = 0xf2e2460e; - this._slots = ['url', 'name']; - this.url = params.url; - this.name = params.name; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let url = await Primitive.String.read(_data); - let name = await Primitive.String.read(_data); - return new Raw.BankCardOpenUrl({ url: url, name: name }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogFilter extends TLObject { - contacts?: boolean; - nonContacts?: boolean; - groups?: boolean; - broadcasts?: boolean; - bots?: boolean; - excludeMuted?: boolean; - excludeRead?: boolean; - excludeArchived?: boolean; - titleNoanimate?: boolean; - id!: int; - title!: Raw.TypeTextWithEntities; - emoticon?: string; - color?: int; - pinnedPeers!: Vector; - includePeers!: Vector; - excludePeers!: Vector; - - constructor(params: { - contacts?: boolean; - nonContacts?: boolean; - groups?: boolean; - broadcasts?: boolean; - bots?: boolean; - excludeMuted?: boolean; - excludeRead?: boolean; - excludeArchived?: boolean; - titleNoanimate?: boolean; - id: int; - title: Raw.TypeTextWithEntities; - emoticon?: string; - color?: int; - pinnedPeers: Vector; - includePeers: Vector; - excludePeers: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'DialogFilter'; - this.constructorId = 0xaa472651; - this.subclassOfId = 0x692bc457; - this._slots = [ - 'contacts', - 'nonContacts', - 'groups', - 'broadcasts', - 'bots', - 'excludeMuted', - 'excludeRead', - 'excludeArchived', - 'titleNoanimate', - 'id', - 'title', - 'emoticon', - 'color', - 'pinnedPeers', - 'includePeers', - 'excludePeers', - ]; - this.contacts = params.contacts; - this.nonContacts = params.nonContacts; - this.groups = params.groups; - this.broadcasts = params.broadcasts; - this.bots = params.bots; - this.excludeMuted = params.excludeMuted; - this.excludeRead = params.excludeRead; - this.excludeArchived = params.excludeArchived; - this.titleNoanimate = params.titleNoanimate; - this.id = params.id; - this.title = params.title; - this.emoticon = params.emoticon; - this.color = params.color; - this.pinnedPeers = params.pinnedPeers; - this.includePeers = params.includePeers; - this.excludePeers = params.excludePeers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let contacts = flags & (1 << 0) ? true : false; - let nonContacts = flags & (1 << 1) ? true : false; - let groups = flags & (1 << 2) ? true : false; - let broadcasts = flags & (1 << 3) ? true : false; - let bots = flags & (1 << 4) ? true : false; - let excludeMuted = flags & (1 << 11) ? true : false; - let excludeRead = flags & (1 << 12) ? true : false; - let excludeArchived = flags & (1 << 13) ? true : false; - let titleNoanimate = flags & (1 << 28) ? true : false; - let id = await Primitive.Int.read(_data); - let title = await TLObject.read(_data); - let emoticon = flags & (1 << 25) ? await Primitive.String.read(_data) : undefined; - let color = flags & (1 << 27) ? await Primitive.Int.read(_data) : undefined; - let pinnedPeers = await TLObject.read(_data); - let includePeers = await TLObject.read(_data); - let excludePeers = await TLObject.read(_data); - return new Raw.DialogFilter({ - contacts: contacts, - nonContacts: nonContacts, - groups: groups, - broadcasts: broadcasts, - bots: bots, - excludeMuted: excludeMuted, - excludeRead: excludeRead, - excludeArchived: excludeArchived, - titleNoanimate: titleNoanimate, - id: id, - title: title, - emoticon: emoticon, - color: color, - pinnedPeers: pinnedPeers, - includePeers: includePeers, - excludePeers: excludePeers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.contacts ? 1 << 0 : 0; - flags |= this.nonContacts ? 1 << 1 : 0; - flags |= this.groups ? 1 << 2 : 0; - flags |= this.broadcasts ? 1 << 3 : 0; - flags |= this.bots ? 1 << 4 : 0; - flags |= this.excludeMuted ? 1 << 11 : 0; - flags |= this.excludeRead ? 1 << 12 : 0; - flags |= this.excludeArchived ? 1 << 13 : 0; - flags |= this.titleNoanimate ? 1 << 28 : 0; - flags |= this.emoticon !== undefined ? 1 << 25 : 0; - flags |= this.color !== undefined ? 1 << 27 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - if (this.pinnedPeers) { - b.write(Primitive.Vector.write(this.pinnedPeers) as unknown as Buffer); - } - if (this.includePeers) { - b.write(Primitive.Vector.write(this.includePeers) as unknown as Buffer); - } - if (this.excludePeers) { - b.write(Primitive.Vector.write(this.excludePeers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogFilterDefault extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DialogFilterDefault'; - this.constructorId = 0x363293ae; - this.subclassOfId = 0x692bc457; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DialogFilterDefault(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogFilterChatlist extends TLObject { - hasMyInvites?: boolean; - titleNoanimate?: boolean; - id!: int; - title!: Raw.TypeTextWithEntities; - emoticon?: string; - color?: int; - pinnedPeers!: Vector; - includePeers!: Vector; - - constructor(params: { - hasMyInvites?: boolean; - titleNoanimate?: boolean; - id: int; - title: Raw.TypeTextWithEntities; - emoticon?: string; - color?: int; - pinnedPeers: Vector; - includePeers: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'DialogFilterChatlist'; - this.constructorId = 0x96537bd7; - this.subclassOfId = 0x692bc457; - this._slots = [ - 'hasMyInvites', - 'titleNoanimate', - 'id', - 'title', - 'emoticon', - 'color', - 'pinnedPeers', - 'includePeers', - ]; - this.hasMyInvites = params.hasMyInvites; - this.titleNoanimate = params.titleNoanimate; - this.id = params.id; - this.title = params.title; - this.emoticon = params.emoticon; - this.color = params.color; - this.pinnedPeers = params.pinnedPeers; - this.includePeers = params.includePeers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasMyInvites = flags & (1 << 26) ? true : false; - let titleNoanimate = flags & (1 << 28) ? true : false; - let id = await Primitive.Int.read(_data); - let title = await TLObject.read(_data); - let emoticon = flags & (1 << 25) ? await Primitive.String.read(_data) : undefined; - let color = flags & (1 << 27) ? await Primitive.Int.read(_data) : undefined; - let pinnedPeers = await TLObject.read(_data); - let includePeers = await TLObject.read(_data); - return new Raw.DialogFilterChatlist({ - hasMyInvites: hasMyInvites, - titleNoanimate: titleNoanimate, - id: id, - title: title, - emoticon: emoticon, - color: color, - pinnedPeers: pinnedPeers, - includePeers: includePeers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasMyInvites ? 1 << 26 : 0; - flags |= this.titleNoanimate ? 1 << 28 : 0; - flags |= this.emoticon !== undefined ? 1 << 25 : 0; - flags |= this.color !== undefined ? 1 << 27 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - if (this.pinnedPeers) { - b.write(Primitive.Vector.write(this.pinnedPeers) as unknown as Buffer); - } - if (this.includePeers) { - b.write(Primitive.Vector.write(this.includePeers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogFilterSuggested extends TLObject { - filter!: Raw.TypeDialogFilter; - description!: string; - - constructor(params: { filter: Raw.TypeDialogFilter; description: string }) { - super(); - this.classType = 'types'; - this.className = 'DialogFilterSuggested'; - this.constructorId = 0x77744d4a; - this.subclassOfId = 0x31ede086; - this._slots = ['filter', 'description']; - this.filter = params.filter; - this.description = params.description; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let filter = await TLObject.read(_data); - let description = await Primitive.String.read(_data); - return new Raw.DialogFilterSuggested({ filter: filter, description: description }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsDateRangeDays extends TLObject { - minDate!: int; - maxDate!: int; - - constructor(params: { minDate: int; maxDate: int }) { - super(); - this.classType = 'types'; - this.className = 'StatsDateRangeDays'; - this.constructorId = 0xb637edaf; - this.subclassOfId = 0x81236245; - this._slots = ['minDate', 'maxDate']; - this.minDate = params.minDate; - this.maxDate = params.maxDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let minDate = await Primitive.Int.read(_data); - let maxDate = await Primitive.Int.read(_data); - return new Raw.StatsDateRangeDays({ minDate: minDate, maxDate: maxDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.minDate !== undefined) { - b.write(Primitive.Int.write(this.minDate) as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsAbsValueAndPrev extends TLObject { - current!: double; - previous!: double; - - constructor(params: { current: double; previous: double }) { - super(); - this.classType = 'types'; - this.className = 'StatsAbsValueAndPrev'; - this.constructorId = 0xcb43acde; - this.subclassOfId = 0x3ebe59af; - this._slots = ['current', 'previous']; - this.current = params.current; - this.previous = params.previous; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let current = await Primitive.Double.read(_data); - let previous = await Primitive.Double.read(_data); - return new Raw.StatsAbsValueAndPrev({ current: current, previous: previous }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.current !== undefined) { - b.write(Primitive.Double.write(this.current) as unknown as Buffer); - } - if (this.previous !== undefined) { - b.write(Primitive.Double.write(this.previous) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsPercentValue extends TLObject { - part!: double; - total!: double; - - constructor(params: { part: double; total: double }) { - super(); - this.classType = 'types'; - this.className = 'StatsPercentValue'; - this.constructorId = 0xcbce2fe0; - this.subclassOfId = 0x9702c51e; - this._slots = ['part', 'total']; - this.part = params.part; - this.total = params.total; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let part = await Primitive.Double.read(_data); - let total = await Primitive.Double.read(_data); - return new Raw.StatsPercentValue({ part: part, total: total }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.part !== undefined) { - b.write(Primitive.Double.write(this.part) as unknown as Buffer); - } - if (this.total !== undefined) { - b.write(Primitive.Double.write(this.total) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsGraphAsync extends TLObject { - token!: string; - - constructor(params: { token: string }) { - super(); - this.classType = 'types'; - this.className = 'StatsGraphAsync'; - this.constructorId = 0x4a27eb2d; - this.subclassOfId = 0x9b903153; - this._slots = ['token']; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let token = await Primitive.String.read(_data); - return new Raw.StatsGraphAsync({ token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsGraphError extends TLObject { - error!: string; - - constructor(params: { error: string }) { - super(); - this.classType = 'types'; - this.className = 'StatsGraphError'; - this.constructorId = 0xbedc9822; - this.subclassOfId = 0x9b903153; - this._slots = ['error']; - this.error = params.error; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let error = await Primitive.String.read(_data); - return new Raw.StatsGraphError({ error: error }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.error !== undefined) { - b.write(Primitive.String.write(this.error) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsGraph extends TLObject { - json!: Raw.TypeDataJSON; - zoomToken?: string; - - constructor(params: { json: Raw.TypeDataJSON; zoomToken?: string }) { - super(); - this.classType = 'types'; - this.className = 'StatsGraph'; - this.constructorId = 0x8ea464b6; - this.subclassOfId = 0x9b903153; - this._slots = ['json', 'zoomToken']; - this.json = params.json; - this.zoomToken = params.zoomToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let json = await TLObject.read(_data); - let zoomToken = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.StatsGraph({ json: json, zoomToken: zoomToken }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.zoomToken !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.json !== undefined) { - b.write(this.json.write() as unknown as Buffer); - } - if (this.zoomToken !== undefined) { - b.write(Primitive.String.write(this.zoomToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class VideoSize extends TLObject { - type!: string; - w!: int; - h!: int; - size!: int; - videoStartTs?: double; - - constructor(params: { type: string; w: int; h: int; size: int; videoStartTs?: double }) { - super(); - this.classType = 'types'; - this.className = 'VideoSize'; - this.constructorId = 0xde33b094; - this.subclassOfId = 0x62f1d509; - this._slots = ['type', 'w', 'h', 'size', 'videoStartTs']; - this.type = params.type; - this.w = params.w; - this.h = params.h; - this.size = params.size; - this.videoStartTs = params.videoStartTs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let type = await Primitive.String.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let videoStartTs = flags & (1 << 0) ? await Primitive.Double.read(_data) : undefined; - return new Raw.VideoSize({ type: type, w: w, h: h, size: size, videoStartTs: videoStartTs }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.videoStartTs !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.videoStartTs !== undefined) { - b.write(Primitive.Double.write(this.videoStartTs) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class VideoSizeEmojiMarkup extends TLObject { - emojiId!: long; - backgroundColors!: Vector; - - constructor(params: { emojiId: long; backgroundColors: Vector }) { - super(); - this.classType = 'types'; - this.className = 'VideoSizeEmojiMarkup'; - this.constructorId = 0xf85c413c; - this.subclassOfId = 0x62f1d509; - this._slots = ['emojiId', 'backgroundColors']; - this.emojiId = params.emojiId; - this.backgroundColors = params.backgroundColors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emojiId = await Primitive.Long.read(_data); - let backgroundColors = await TLObject.read(_data, Primitive.Int); - return new Raw.VideoSizeEmojiMarkup({ emojiId: emojiId, backgroundColors: backgroundColors }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emojiId !== undefined) { - b.write(Primitive.Long.write(this.emojiId) as unknown as Buffer); - } - if (this.backgroundColors) { - b.write(Primitive.Vector.write(this.backgroundColors, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class VideoSizeStickerMarkup extends TLObject { - stickerset!: Raw.TypeInputStickerSet; - stickerId!: long; - backgroundColors!: Vector; - - constructor(params: { - stickerset: Raw.TypeInputStickerSet; - stickerId: long; - backgroundColors: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'VideoSizeStickerMarkup'; - this.constructorId = 0xda082fe; - this.subclassOfId = 0x62f1d509; - this._slots = ['stickerset', 'stickerId', 'backgroundColors']; - this.stickerset = params.stickerset; - this.stickerId = params.stickerId; - this.backgroundColors = params.backgroundColors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - let stickerId = await Primitive.Long.read(_data); - let backgroundColors = await TLObject.read(_data, Primitive.Int); - return new Raw.VideoSizeStickerMarkup({ - stickerset: stickerset, - stickerId: stickerId, - backgroundColors: backgroundColors, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.stickerId !== undefined) { - b.write(Primitive.Long.write(this.stickerId) as unknown as Buffer); - } - if (this.backgroundColors) { - b.write(Primitive.Vector.write(this.backgroundColors, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsGroupTopPoster extends TLObject { - userId!: long; - messages!: int; - avgChars!: int; - - constructor(params: { userId: long; messages: int; avgChars: int }) { - super(); - this.classType = 'types'; - this.className = 'StatsGroupTopPoster'; - this.constructorId = 0x9d04af9b; - this.subclassOfId = 0x81c5ce23; - this._slots = ['userId', 'messages', 'avgChars']; - this.userId = params.userId; - this.messages = params.messages; - this.avgChars = params.avgChars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let messages = await Primitive.Int.read(_data); - let avgChars = await Primitive.Int.read(_data); - return new Raw.StatsGroupTopPoster({ - userId: userId, - messages: messages, - avgChars: avgChars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.messages !== undefined) { - b.write(Primitive.Int.write(this.messages) as unknown as Buffer); - } - if (this.avgChars !== undefined) { - b.write(Primitive.Int.write(this.avgChars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsGroupTopAdmin extends TLObject { - userId!: long; - deleted!: int; - kicked!: int; - banned!: int; - - constructor(params: { userId: long; deleted: int; kicked: int; banned: int }) { - super(); - this.classType = 'types'; - this.className = 'StatsGroupTopAdmin'; - this.constructorId = 0xd7584c87; - this.subclassOfId = 0x80359c5d; - this._slots = ['userId', 'deleted', 'kicked', 'banned']; - this.userId = params.userId; - this.deleted = params.deleted; - this.kicked = params.kicked; - this.banned = params.banned; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let deleted = await Primitive.Int.read(_data); - let kicked = await Primitive.Int.read(_data); - let banned = await Primitive.Int.read(_data); - return new Raw.StatsGroupTopAdmin({ - userId: userId, - deleted: deleted, - kicked: kicked, - banned: banned, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.deleted !== undefined) { - b.write(Primitive.Int.write(this.deleted) as unknown as Buffer); - } - if (this.kicked !== undefined) { - b.write(Primitive.Int.write(this.kicked) as unknown as Buffer); - } - if (this.banned !== undefined) { - b.write(Primitive.Int.write(this.banned) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StatsGroupTopInviter extends TLObject { - userId!: long; - invitations!: int; - - constructor(params: { userId: long; invitations: int }) { - super(); - this.classType = 'types'; - this.className = 'StatsGroupTopInviter'; - this.constructorId = 0x535f779d; - this.subclassOfId = 0x85010c7a; - this._slots = ['userId', 'invitations']; - this.userId = params.userId; - this.invitations = params.invitations; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let invitations = await Primitive.Int.read(_data); - return new Raw.StatsGroupTopInviter({ userId: userId, invitations: invitations }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.invitations !== undefined) { - b.write(Primitive.Int.write(this.invitations) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GlobalPrivacySettings extends TLObject { - archiveAndMuteNewNoncontactPeers?: boolean; - keepArchivedUnmuted?: boolean; - keepArchivedFolders?: boolean; - hideReadMarks?: boolean; - newNoncontactPeersRequirePremium?: boolean; - displayGiftsButton?: boolean; - noncontactPeersPaidStars?: long; - disallowedGifts?: Raw.TypeDisallowedGiftsSettings; - - constructor(params: { - archiveAndMuteNewNoncontactPeers?: boolean; - keepArchivedUnmuted?: boolean; - keepArchivedFolders?: boolean; - hideReadMarks?: boolean; - newNoncontactPeersRequirePremium?: boolean; - displayGiftsButton?: boolean; - noncontactPeersPaidStars?: long; - disallowedGifts?: Raw.TypeDisallowedGiftsSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'GlobalPrivacySettings'; - this.constructorId = 0xfe41b34f; - this.subclassOfId = 0xc90e5770; - this._slots = [ - 'archiveAndMuteNewNoncontactPeers', - 'keepArchivedUnmuted', - 'keepArchivedFolders', - 'hideReadMarks', - 'newNoncontactPeersRequirePremium', - 'displayGiftsButton', - 'noncontactPeersPaidStars', - 'disallowedGifts', - ]; - this.archiveAndMuteNewNoncontactPeers = params.archiveAndMuteNewNoncontactPeers; - this.keepArchivedUnmuted = params.keepArchivedUnmuted; - this.keepArchivedFolders = params.keepArchivedFolders; - this.hideReadMarks = params.hideReadMarks; - this.newNoncontactPeersRequirePremium = params.newNoncontactPeersRequirePremium; - this.displayGiftsButton = params.displayGiftsButton; - this.noncontactPeersPaidStars = params.noncontactPeersPaidStars; - this.disallowedGifts = params.disallowedGifts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let archiveAndMuteNewNoncontactPeers = flags & (1 << 0) ? true : false; - let keepArchivedUnmuted = flags & (1 << 1) ? true : false; - let keepArchivedFolders = flags & (1 << 2) ? true : false; - let hideReadMarks = flags & (1 << 3) ? true : false; - let newNoncontactPeersRequirePremium = flags & (1 << 4) ? true : false; - let displayGiftsButton = flags & (1 << 7) ? true : false; - let noncontactPeersPaidStars = - flags & (1 << 5) ? await Primitive.Long.read(_data) : undefined; - let disallowedGifts = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - return new Raw.GlobalPrivacySettings({ - archiveAndMuteNewNoncontactPeers: archiveAndMuteNewNoncontactPeers, - keepArchivedUnmuted: keepArchivedUnmuted, - keepArchivedFolders: keepArchivedFolders, - hideReadMarks: hideReadMarks, - newNoncontactPeersRequirePremium: newNoncontactPeersRequirePremium, - displayGiftsButton: displayGiftsButton, - noncontactPeersPaidStars: noncontactPeersPaidStars, - disallowedGifts: disallowedGifts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.archiveAndMuteNewNoncontactPeers ? 1 << 0 : 0; - flags |= this.keepArchivedUnmuted ? 1 << 1 : 0; - flags |= this.keepArchivedFolders ? 1 << 2 : 0; - flags |= this.hideReadMarks ? 1 << 3 : 0; - flags |= this.newNoncontactPeersRequirePremium ? 1 << 4 : 0; - flags |= this.displayGiftsButton ? 1 << 7 : 0; - flags |= this.noncontactPeersPaidStars !== undefined ? 1 << 5 : 0; - flags |= this.disallowedGifts !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.noncontactPeersPaidStars !== undefined) { - b.write(Primitive.Long.write(this.noncontactPeersPaidStars) as unknown as Buffer); - } - if (this.disallowedGifts !== undefined) { - b.write(this.disallowedGifts.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageViews extends TLObject { - views?: int; - forwards?: int; - replies?: Raw.TypeMessageReplies; - - constructor(params: { views?: int; forwards?: int; replies?: Raw.TypeMessageReplies }) { - super(); - this.classType = 'types'; - this.className = 'MessageViews'; - this.constructorId = 0x455b853d; - this.subclassOfId = 0x3cb083b9; - this._slots = ['views', 'forwards', 'replies']; - this.views = params.views; - this.forwards = params.forwards; - this.replies = params.replies; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let views = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let forwards = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let replies = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.MessageViews({ views: views, forwards: forwards, replies: replies }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.views !== undefined ? 1 << 0 : 0; - flags |= this.forwards !== undefined ? 1 << 1 : 0; - flags |= this.replies !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - if (this.forwards !== undefined) { - b.write(Primitive.Int.write(this.forwards) as unknown as Buffer); - } - if (this.replies !== undefined) { - b.write(this.replies.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReplyHeader extends TLObject { - replyToScheduled?: boolean; - forumTopic?: boolean; - quote?: boolean; - replyToMsgId?: int; - replyToPeerId?: Raw.TypePeer; - replyFrom?: Raw.TypeMessageFwdHeader; - replyMedia?: Raw.TypeMessageMedia; - replyToTopId?: int; - quoteText?: string; - quoteEntities?: Vector; - quoteOffset?: int; - - constructor(params: { - replyToScheduled?: boolean; - forumTopic?: boolean; - quote?: boolean; - replyToMsgId?: int; - replyToPeerId?: Raw.TypePeer; - replyFrom?: Raw.TypeMessageFwdHeader; - replyMedia?: Raw.TypeMessageMedia; - replyToTopId?: int; - quoteText?: string; - quoteEntities?: Vector; - quoteOffset?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageReplyHeader'; - this.constructorId = 0xafbc09db; - this.subclassOfId = 0x5b4d9167; - this._slots = [ - 'replyToScheduled', - 'forumTopic', - 'quote', - 'replyToMsgId', - 'replyToPeerId', - 'replyFrom', - 'replyMedia', - 'replyToTopId', - 'quoteText', - 'quoteEntities', - 'quoteOffset', - ]; - this.replyToScheduled = params.replyToScheduled; - this.forumTopic = params.forumTopic; - this.quote = params.quote; - this.replyToMsgId = params.replyToMsgId; - this.replyToPeerId = params.replyToPeerId; - this.replyFrom = params.replyFrom; - this.replyMedia = params.replyMedia; - this.replyToTopId = params.replyToTopId; - this.quoteText = params.quoteText; - this.quoteEntities = params.quoteEntities; - this.quoteOffset = params.quoteOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let replyToScheduled = flags & (1 << 2) ? true : false; - let forumTopic = flags & (1 << 3) ? true : false; - let quote = flags & (1 << 9) ? true : false; - let replyToMsgId = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let replyToPeerId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let replyFrom = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let replyMedia = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - let replyToTopId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let quoteText = flags & (1 << 6) ? await Primitive.String.read(_data) : undefined; - let quoteEntities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let quoteOffset = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageReplyHeader({ - replyToScheduled: replyToScheduled, - forumTopic: forumTopic, - quote: quote, - replyToMsgId: replyToMsgId, - replyToPeerId: replyToPeerId, - replyFrom: replyFrom, - replyMedia: replyMedia, - replyToTopId: replyToTopId, - quoteText: quoteText, - quoteEntities: quoteEntities, - quoteOffset: quoteOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.replyToScheduled ? 1 << 2 : 0; - flags |= this.forumTopic ? 1 << 3 : 0; - flags |= this.quote ? 1 << 9 : 0; - flags |= this.replyToMsgId !== undefined ? 1 << 4 : 0; - flags |= this.replyToPeerId !== undefined ? 1 << 0 : 0; - flags |= this.replyFrom !== undefined ? 1 << 5 : 0; - flags |= this.replyMedia !== undefined ? 1 << 8 : 0; - flags |= this.replyToTopId !== undefined ? 1 << 1 : 0; - flags |= this.quoteText !== undefined ? 1 << 6 : 0; - flags |= this.quoteEntities ? 1 << 7 : 0; - flags |= this.quoteOffset !== undefined ? 1 << 10 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.replyToMsgId !== undefined) { - b.write(Primitive.Int.write(this.replyToMsgId) as unknown as Buffer); - } - if (this.replyToPeerId !== undefined) { - b.write(this.replyToPeerId.write() as unknown as Buffer); - } - if (this.replyFrom !== undefined) { - b.write(this.replyFrom.write() as unknown as Buffer); - } - if (this.replyMedia !== undefined) { - b.write(this.replyMedia.write() as unknown as Buffer); - } - if (this.replyToTopId !== undefined) { - b.write(Primitive.Int.write(this.replyToTopId) as unknown as Buffer); - } - if (this.quoteText !== undefined) { - b.write(Primitive.String.write(this.quoteText) as unknown as Buffer); - } - if (this.quoteEntities) { - b.write(Primitive.Vector.write(this.quoteEntities) as unknown as Buffer); - } - if (this.quoteOffset !== undefined) { - b.write(Primitive.Int.write(this.quoteOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReplyStoryHeader extends TLObject { - peer!: Raw.TypePeer; - storyId!: int; - - constructor(params: { peer: Raw.TypePeer; storyId: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageReplyStoryHeader'; - this.constructorId = 0xe5af939; - this.subclassOfId = 0x5b4d9167; - this._slots = ['peer', 'storyId']; - this.peer = params.peer; - this.storyId = params.storyId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let storyId = await Primitive.Int.read(_data); - return new Raw.MessageReplyStoryHeader({ peer: peer, storyId: storyId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReplies extends TLObject { - comments?: boolean; - replies!: int; - repliesPts!: int; - recentRepliers?: Vector; - channelId?: long; - maxId?: int; - readMaxId?: int; - - constructor(params: { - comments?: boolean; - replies: int; - repliesPts: int; - recentRepliers?: Vector; - channelId?: long; - maxId?: int; - readMaxId?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageReplies'; - this.constructorId = 0x83d60fc2; - this.subclassOfId = 0x6ccd5ce2; - this._slots = [ - 'comments', - 'replies', - 'repliesPts', - 'recentRepliers', - 'channelId', - 'maxId', - 'readMaxId', - ]; - this.comments = params.comments; - this.replies = params.replies; - this.repliesPts = params.repliesPts; - this.recentRepliers = params.recentRepliers; - this.channelId = params.channelId; - this.maxId = params.maxId; - this.readMaxId = params.readMaxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let comments = flags & (1 << 0) ? true : false; - let replies = await Primitive.Int.read(_data); - let repliesPts = await Primitive.Int.read(_data); - let recentRepliers = flags & (1 << 1) ? await TLObject.read(_data) : []; - let channelId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let maxId = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let readMaxId = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageReplies({ - comments: comments, - replies: replies, - repliesPts: repliesPts, - recentRepliers: recentRepliers, - channelId: channelId, - maxId: maxId, - readMaxId: readMaxId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.comments ? 1 << 0 : 0; - flags |= this.recentRepliers ? 1 << 1 : 0; - flags |= this.channelId !== undefined ? 1 << 0 : 0; - flags |= this.maxId !== undefined ? 1 << 2 : 0; - flags |= this.readMaxId !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.replies !== undefined) { - b.write(Primitive.Int.write(this.replies) as unknown as Buffer); - } - if (this.repliesPts !== undefined) { - b.write(Primitive.Int.write(this.repliesPts) as unknown as Buffer); - } - if (this.recentRepliers) { - b.write(Primitive.Vector.write(this.recentRepliers) as unknown as Buffer); - } - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.readMaxId !== undefined) { - b.write(Primitive.Int.write(this.readMaxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerBlocked extends TLObject { - peerId!: Raw.TypePeer; - date!: int; - - constructor(params: { peerId: Raw.TypePeer; date: int }) { - super(); - this.classType = 'types'; - this.className = 'PeerBlocked'; - this.constructorId = 0xe8fd8014; - this.subclassOfId = 0x54f2fc98; - this._slots = ['peerId', 'date']; - this.peerId = params.peerId; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peerId = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.PeerBlocked({ peerId: peerId, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallDiscarded extends TLObject { - id!: long; - accessHash!: long; - duration!: int; - - constructor(params: { id: long; accessHash: long; duration: int }) { - super(); - this.classType = 'types'; - this.className = 'GroupCallDiscarded'; - this.constructorId = 0x7780bcb4; - this.subclassOfId = 0x20b4f320; - this._slots = ['id', 'accessHash', 'duration']; - this.id = params.id; - this.accessHash = params.accessHash; - this.duration = params.duration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let duration = await Primitive.Int.read(_data); - return new Raw.GroupCallDiscarded({ id: id, accessHash: accessHash, duration: duration }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCall extends TLObject { - joinMuted?: boolean; - canChangeJoinMuted?: boolean; - joinDateAsc?: boolean; - scheduleStartSubscribed?: boolean; - canStartVideo?: boolean; - recordVideoActive?: boolean; - rtmpStream?: boolean; - listenersHidden?: boolean; - conference?: boolean; - creator?: boolean; - id!: long; - accessHash!: long; - participantsCount!: int; - title?: string; - streamDcId?: int; - recordStartDate?: int; - scheduleDate?: int; - unmutedVideoCount?: int; - unmutedVideoLimit!: int; - version!: int; - inviteLink?: string; - - constructor(params: { - joinMuted?: boolean; - canChangeJoinMuted?: boolean; - joinDateAsc?: boolean; - scheduleStartSubscribed?: boolean; - canStartVideo?: boolean; - recordVideoActive?: boolean; - rtmpStream?: boolean; - listenersHidden?: boolean; - conference?: boolean; - creator?: boolean; - id: long; - accessHash: long; - participantsCount: int; - title?: string; - streamDcId?: int; - recordStartDate?: int; - scheduleDate?: int; - unmutedVideoCount?: int; - unmutedVideoLimit: int; - version: int; - inviteLink?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'GroupCall'; - this.constructorId = 0x553b0ba1; - this.subclassOfId = 0x20b4f320; - this._slots = [ - 'joinMuted', - 'canChangeJoinMuted', - 'joinDateAsc', - 'scheduleStartSubscribed', - 'canStartVideo', - 'recordVideoActive', - 'rtmpStream', - 'listenersHidden', - 'conference', - 'creator', - 'id', - 'accessHash', - 'participantsCount', - 'title', - 'streamDcId', - 'recordStartDate', - 'scheduleDate', - 'unmutedVideoCount', - 'unmutedVideoLimit', - 'version', - 'inviteLink', - ]; - this.joinMuted = params.joinMuted; - this.canChangeJoinMuted = params.canChangeJoinMuted; - this.joinDateAsc = params.joinDateAsc; - this.scheduleStartSubscribed = params.scheduleStartSubscribed; - this.canStartVideo = params.canStartVideo; - this.recordVideoActive = params.recordVideoActive; - this.rtmpStream = params.rtmpStream; - this.listenersHidden = params.listenersHidden; - this.conference = params.conference; - this.creator = params.creator; - this.id = params.id; - this.accessHash = params.accessHash; - this.participantsCount = params.participantsCount; - this.title = params.title; - this.streamDcId = params.streamDcId; - this.recordStartDate = params.recordStartDate; - this.scheduleDate = params.scheduleDate; - this.unmutedVideoCount = params.unmutedVideoCount; - this.unmutedVideoLimit = params.unmutedVideoLimit; - this.version = params.version; - this.inviteLink = params.inviteLink; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let joinMuted = flags & (1 << 1) ? true : false; - let canChangeJoinMuted = flags & (1 << 2) ? true : false; - let joinDateAsc = flags & (1 << 6) ? true : false; - let scheduleStartSubscribed = flags & (1 << 8) ? true : false; - let canStartVideo = flags & (1 << 9) ? true : false; - let recordVideoActive = flags & (1 << 11) ? true : false; - let rtmpStream = flags & (1 << 12) ? true : false; - let listenersHidden = flags & (1 << 13) ? true : false; - let conference = flags & (1 << 14) ? true : false; - let creator = flags & (1 << 15) ? true : false; - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let participantsCount = await Primitive.Int.read(_data); - let title = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let streamDcId = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let recordStartDate = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let scheduleDate = flags & (1 << 7) ? await Primitive.Int.read(_data) : undefined; - let unmutedVideoCount = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let unmutedVideoLimit = await Primitive.Int.read(_data); - let version = await Primitive.Int.read(_data); - let inviteLink = flags & (1 << 16) ? await Primitive.String.read(_data) : undefined; - return new Raw.GroupCall({ - joinMuted: joinMuted, - canChangeJoinMuted: canChangeJoinMuted, - joinDateAsc: joinDateAsc, - scheduleStartSubscribed: scheduleStartSubscribed, - canStartVideo: canStartVideo, - recordVideoActive: recordVideoActive, - rtmpStream: rtmpStream, - listenersHidden: listenersHidden, - conference: conference, - creator: creator, - id: id, - accessHash: accessHash, - participantsCount: participantsCount, - title: title, - streamDcId: streamDcId, - recordStartDate: recordStartDate, - scheduleDate: scheduleDate, - unmutedVideoCount: unmutedVideoCount, - unmutedVideoLimit: unmutedVideoLimit, - version: version, - inviteLink: inviteLink, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.joinMuted ? 1 << 1 : 0; - flags |= this.canChangeJoinMuted ? 1 << 2 : 0; - flags |= this.joinDateAsc ? 1 << 6 : 0; - flags |= this.scheduleStartSubscribed ? 1 << 8 : 0; - flags |= this.canStartVideo ? 1 << 9 : 0; - flags |= this.recordVideoActive ? 1 << 11 : 0; - flags |= this.rtmpStream ? 1 << 12 : 0; - flags |= this.listenersHidden ? 1 << 13 : 0; - flags |= this.conference ? 1 << 14 : 0; - flags |= this.creator ? 1 << 15 : 0; - flags |= this.title !== undefined ? 1 << 3 : 0; - flags |= this.streamDcId !== undefined ? 1 << 4 : 0; - flags |= this.recordStartDate !== undefined ? 1 << 5 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 7 : 0; - flags |= this.unmutedVideoCount !== undefined ? 1 << 10 : 0; - flags |= this.inviteLink !== undefined ? 1 << 16 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.participantsCount !== undefined) { - b.write(Primitive.Int.write(this.participantsCount) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.streamDcId !== undefined) { - b.write(Primitive.Int.write(this.streamDcId) as unknown as Buffer); - } - if (this.recordStartDate !== undefined) { - b.write(Primitive.Int.write(this.recordStartDate) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.unmutedVideoCount !== undefined) { - b.write(Primitive.Int.write(this.unmutedVideoCount) as unknown as Buffer); - } - if (this.unmutedVideoLimit !== undefined) { - b.write(Primitive.Int.write(this.unmutedVideoLimit) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - if (this.inviteLink !== undefined) { - b.write(Primitive.String.write(this.inviteLink) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGroupCall extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputGroupCall'; - this.constructorId = 0xd8aa840f; - this.subclassOfId = 0x58611ab1; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputGroupCall({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGroupCallSlug extends TLObject { - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'types'; - this.className = 'InputGroupCallSlug'; - this.constructorId = 0xfe06823f; - this.subclassOfId = 0x58611ab1; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.InputGroupCallSlug({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputGroupCallInviteMessage extends TLObject { - msgId!: int; - - constructor(params: { msgId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputGroupCallInviteMessage'; - this.constructorId = 0x8c10603f; - this.subclassOfId = 0x58611ab1; - this._slots = ['msgId']; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let msgId = await Primitive.Int.read(_data); - return new Raw.InputGroupCallInviteMessage({ msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallParticipant extends TLObject { - muted?: boolean; - left?: boolean; - canSelfUnmute?: boolean; - justJoined?: boolean; - versioned?: boolean; - min?: boolean; - mutedByYou?: boolean; - volumeByAdmin?: boolean; - self?: boolean; - videoJoined?: boolean; - peer!: Raw.TypePeer; - date!: int; - activeDate?: int; - source!: int; - volume?: int; - about?: string; - raiseHandRating?: long; - video?: Raw.TypeGroupCallParticipantVideo; - presentation?: Raw.TypeGroupCallParticipantVideo; - - constructor(params: { - muted?: boolean; - left?: boolean; - canSelfUnmute?: boolean; - justJoined?: boolean; - versioned?: boolean; - min?: boolean; - mutedByYou?: boolean; - volumeByAdmin?: boolean; - self?: boolean; - videoJoined?: boolean; - peer: Raw.TypePeer; - date: int; - activeDate?: int; - source: int; - volume?: int; - about?: string; - raiseHandRating?: long; - video?: Raw.TypeGroupCallParticipantVideo; - presentation?: Raw.TypeGroupCallParticipantVideo; - }) { - super(); - this.classType = 'types'; - this.className = 'GroupCallParticipant'; - this.constructorId = 0xeba636fe; - this.subclassOfId = 0xc01aaf4c; - this._slots = [ - 'muted', - 'left', - 'canSelfUnmute', - 'justJoined', - 'versioned', - 'min', - 'mutedByYou', - 'volumeByAdmin', - 'self', - 'videoJoined', - 'peer', - 'date', - 'activeDate', - 'source', - 'volume', - 'about', - 'raiseHandRating', - 'video', - 'presentation', - ]; - this.muted = params.muted; - this.left = params.left; - this.canSelfUnmute = params.canSelfUnmute; - this.justJoined = params.justJoined; - this.versioned = params.versioned; - this.min = params.min; - this.mutedByYou = params.mutedByYou; - this.volumeByAdmin = params.volumeByAdmin; - this.self = params.self; - this.videoJoined = params.videoJoined; - this.peer = params.peer; - this.date = params.date; - this.activeDate = params.activeDate; - this.source = params.source; - this.volume = params.volume; - this.about = params.about; - this.raiseHandRating = params.raiseHandRating; - this.video = params.video; - this.presentation = params.presentation; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let muted = flags & (1 << 0) ? true : false; - let left = flags & (1 << 1) ? true : false; - let canSelfUnmute = flags & (1 << 2) ? true : false; - let justJoined = flags & (1 << 4) ? true : false; - let versioned = flags & (1 << 5) ? true : false; - let min = flags & (1 << 8) ? true : false; - let mutedByYou = flags & (1 << 9) ? true : false; - let volumeByAdmin = flags & (1 << 10) ? true : false; - let self = flags & (1 << 12) ? true : false; - let videoJoined = flags & (1 << 15) ? true : false; - let peer = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let activeDate = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let source = await Primitive.Int.read(_data); - let volume = flags & (1 << 7) ? await Primitive.Int.read(_data) : undefined; - let about = flags & (1 << 11) ? await Primitive.String.read(_data) : undefined; - let raiseHandRating = flags & (1 << 13) ? await Primitive.Long.read(_data) : undefined; - let video = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let presentation = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - return new Raw.GroupCallParticipant({ - muted: muted, - left: left, - canSelfUnmute: canSelfUnmute, - justJoined: justJoined, - versioned: versioned, - min: min, - mutedByYou: mutedByYou, - volumeByAdmin: volumeByAdmin, - self: self, - videoJoined: videoJoined, - peer: peer, - date: date, - activeDate: activeDate, - source: source, - volume: volume, - about: about, - raiseHandRating: raiseHandRating, - video: video, - presentation: presentation, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.muted ? 1 << 0 : 0; - flags |= this.left ? 1 << 1 : 0; - flags |= this.canSelfUnmute ? 1 << 2 : 0; - flags |= this.justJoined ? 1 << 4 : 0; - flags |= this.versioned ? 1 << 5 : 0; - flags |= this.min ? 1 << 8 : 0; - flags |= this.mutedByYou ? 1 << 9 : 0; - flags |= this.volumeByAdmin ? 1 << 10 : 0; - flags |= this.self ? 1 << 12 : 0; - flags |= this.videoJoined ? 1 << 15 : 0; - flags |= this.activeDate !== undefined ? 1 << 3 : 0; - flags |= this.volume !== undefined ? 1 << 7 : 0; - flags |= this.about !== undefined ? 1 << 11 : 0; - flags |= this.raiseHandRating !== undefined ? 1 << 13 : 0; - flags |= this.video !== undefined ? 1 << 6 : 0; - flags |= this.presentation !== undefined ? 1 << 14 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.activeDate !== undefined) { - b.write(Primitive.Int.write(this.activeDate) as unknown as Buffer); - } - if (this.source !== undefined) { - b.write(Primitive.Int.write(this.source) as unknown as Buffer); - } - if (this.volume !== undefined) { - b.write(Primitive.Int.write(this.volume) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.raiseHandRating !== undefined) { - b.write(Primitive.Long.write(this.raiseHandRating) as unknown as Buffer); - } - if (this.video !== undefined) { - b.write(this.video.write() as unknown as Buffer); - } - if (this.presentation !== undefined) { - b.write(this.presentation.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineQueryPeerTypeSameBotPM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InlineQueryPeerTypeSameBotPM'; - this.constructorId = 0x3081ed9d; - this.subclassOfId = 0xafb0fa1f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InlineQueryPeerTypeSameBotPM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineQueryPeerTypePM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InlineQueryPeerTypePM'; - this.constructorId = 0x833c0fac; - this.subclassOfId = 0xafb0fa1f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InlineQueryPeerTypePM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineQueryPeerTypeChat extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InlineQueryPeerTypeChat'; - this.constructorId = 0xd766c50a; - this.subclassOfId = 0xafb0fa1f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InlineQueryPeerTypeChat(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineQueryPeerTypeMegagroup extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InlineQueryPeerTypeMegagroup'; - this.constructorId = 0x5ec4be43; - this.subclassOfId = 0xafb0fa1f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InlineQueryPeerTypeMegagroup(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineQueryPeerTypeBroadcast extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InlineQueryPeerTypeBroadcast'; - this.constructorId = 0x6334ee9a; - this.subclassOfId = 0xafb0fa1f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InlineQueryPeerTypeBroadcast(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineQueryPeerTypeBotPM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'InlineQueryPeerTypeBotPM'; - this.constructorId = 0xe3b2d0c; - this.subclassOfId = 0xafb0fa1f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.InlineQueryPeerTypeBotPM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInviteImporter extends TLObject { - requested?: boolean; - viaChatlist?: boolean; - userId!: long; - date!: int; - about?: string; - approvedBy?: long; - - constructor(params: { - requested?: boolean; - viaChatlist?: boolean; - userId: long; - date: int; - about?: string; - approvedBy?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'ChatInviteImporter'; - this.constructorId = 0x8c5adfd9; - this.subclassOfId = 0x5312542e; - this._slots = ['requested', 'viaChatlist', 'userId', 'date', 'about', 'approvedBy']; - this.requested = params.requested; - this.viaChatlist = params.viaChatlist; - this.userId = params.userId; - this.date = params.date; - this.about = params.about; - this.approvedBy = params.approvedBy; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let requested = flags & (1 << 0) ? true : false; - let viaChatlist = flags & (1 << 3) ? true : false; - let userId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let about = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let approvedBy = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - return new Raw.ChatInviteImporter({ - requested: requested, - viaChatlist: viaChatlist, - userId: userId, - date: date, - about: about, - approvedBy: approvedBy, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.requested ? 1 << 0 : 0; - flags |= this.viaChatlist ? 1 << 3 : 0; - flags |= this.about !== undefined ? 1 << 2 : 0; - flags |= this.approvedBy !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.approvedBy !== undefined) { - b.write(Primitive.Long.write(this.approvedBy) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatAdminWithInvites extends TLObject { - adminId!: long; - invitesCount!: int; - revokedInvitesCount!: int; - - constructor(params: { adminId: long; invitesCount: int; revokedInvitesCount: int }) { - super(); - this.classType = 'types'; - this.className = 'ChatAdminWithInvites'; - this.constructorId = 0xf2ecef23; - this.subclassOfId = 0x5063f398; - this._slots = ['adminId', 'invitesCount', 'revokedInvitesCount']; - this.adminId = params.adminId; - this.invitesCount = params.invitesCount; - this.revokedInvitesCount = params.revokedInvitesCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let adminId = await Primitive.Long.read(_data); - let invitesCount = await Primitive.Int.read(_data); - let revokedInvitesCount = await Primitive.Int.read(_data); - return new Raw.ChatAdminWithInvites({ - adminId: adminId, - invitesCount: invitesCount, - revokedInvitesCount: revokedInvitesCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.adminId !== undefined) { - b.write(Primitive.Long.write(this.adminId) as unknown as Buffer); - } - if (this.invitesCount !== undefined) { - b.write(Primitive.Int.write(this.invitesCount) as unknown as Buffer); - } - if (this.revokedInvitesCount !== undefined) { - b.write(Primitive.Int.write(this.revokedInvitesCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallParticipantVideoSourceGroup extends TLObject { - semantics!: string; - sources!: Vector; - - constructor(params: { semantics: string; sources: Vector }) { - super(); - this.classType = 'types'; - this.className = 'GroupCallParticipantVideoSourceGroup'; - this.constructorId = 0xdcb118b7; - this.subclassOfId = 0x3015f87c; - this._slots = ['semantics', 'sources']; - this.semantics = params.semantics; - this.sources = params.sources; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let semantics = await Primitive.String.read(_data); - let sources = await TLObject.read(_data, Primitive.Int); - return new Raw.GroupCallParticipantVideoSourceGroup({ - semantics: semantics, - sources: sources, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.semantics !== undefined) { - b.write(Primitive.String.write(this.semantics) as unknown as Buffer); - } - if (this.sources) { - b.write(Primitive.Vector.write(this.sources, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallParticipantVideo extends TLObject { - paused?: boolean; - endpoint!: string; - sourceGroups!: Vector; - audioSource?: int; - - constructor(params: { - paused?: boolean; - endpoint: string; - sourceGroups: Vector; - audioSource?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'GroupCallParticipantVideo'; - this.constructorId = 0x67753ac8; - this.subclassOfId = 0xef46b8db; - this._slots = ['paused', 'endpoint', 'sourceGroups', 'audioSource']; - this.paused = params.paused; - this.endpoint = params.endpoint; - this.sourceGroups = params.sourceGroups; - this.audioSource = params.audioSource; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let paused = flags & (1 << 0) ? true : false; - let endpoint = await Primitive.String.read(_data); - let sourceGroups = await TLObject.read(_data); - let audioSource = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.GroupCallParticipantVideo({ - paused: paused, - endpoint: endpoint, - sourceGroups: sourceGroups, - audioSource: audioSource, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.paused ? 1 << 0 : 0; - flags |= this.audioSource !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.endpoint !== undefined) { - b.write(Primitive.String.write(this.endpoint) as unknown as Buffer); - } - if (this.sourceGroups) { - b.write(Primitive.Vector.write(this.sourceGroups) as unknown as Buffer); - } - if (this.audioSource !== undefined) { - b.write(Primitive.Int.write(this.audioSource) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopeDefault extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopeDefault'; - this.constructorId = 0x2f6cb2ab; - this.subclassOfId = 0x4baf5d10; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotCommandScopeDefault(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopeUsers extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopeUsers'; - this.constructorId = 0x3c4f04d8; - this.subclassOfId = 0x4baf5d10; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotCommandScopeUsers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopeChats extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopeChats'; - this.constructorId = 0x6fe1a881; - this.subclassOfId = 0x4baf5d10; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotCommandScopeChats(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopeChatAdmins extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopeChatAdmins'; - this.constructorId = 0xb9aa606a; - this.subclassOfId = 0x4baf5d10; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotCommandScopeChatAdmins(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopePeer extends TLObject { - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopePeer'; - this.constructorId = 0xdb9d897d; - this.subclassOfId = 0x4baf5d10; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.BotCommandScopePeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopePeerAdmins extends TLObject { - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopePeerAdmins'; - this.constructorId = 0x3fd863d1; - this.subclassOfId = 0x4baf5d10; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.BotCommandScopePeerAdmins({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCommandScopePeerUser extends TLObject { - peer!: Raw.TypeInputPeer; - userId!: Raw.TypeInputUser; - - constructor(params: { peer: Raw.TypeInputPeer; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'types'; - this.className = 'BotCommandScopePeerUser'; - this.constructorId = 0xa1321f3; - this.subclassOfId = 0x4baf5d10; - this._slots = ['peer', 'userId']; - this.peer = params.peer; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let userId = await TLObject.read(_data); - return new Raw.BotCommandScopePeerUser({ peer: peer, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessage extends TLObject { - recommended?: boolean; - canReport?: boolean; - randomId!: bytes; - url!: string; - title!: string; - message!: string; - entities?: Vector; - photo?: Raw.TypePhoto; - media?: Raw.TypeMessageMedia; - color?: Raw.TypePeerColor; - buttonText!: string; - sponsorInfo?: string; - additionalInfo?: string; - minDisplayDuration?: int; - maxDisplayDuration?: int; - - constructor(params: { - recommended?: boolean; - canReport?: boolean; - randomId: bytes; - url: string; - title: string; - message: string; - entities?: Vector; - photo?: Raw.TypePhoto; - media?: Raw.TypeMessageMedia; - color?: Raw.TypePeerColor; - buttonText: string; - sponsorInfo?: string; - additionalInfo?: string; - minDisplayDuration?: int; - maxDisplayDuration?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'SponsoredMessage'; - this.constructorId = 0x7dbf8673; - this.subclassOfId = 0xe157d836; - this._slots = [ - 'recommended', - 'canReport', - 'randomId', - 'url', - 'title', - 'message', - 'entities', - 'photo', - 'media', - 'color', - 'buttonText', - 'sponsorInfo', - 'additionalInfo', - 'minDisplayDuration', - 'maxDisplayDuration', - ]; - this.recommended = params.recommended; - this.canReport = params.canReport; - this.randomId = params.randomId; - this.url = params.url; - this.title = params.title; - this.message = params.message; - this.entities = params.entities; - this.photo = params.photo; - this.media = params.media; - this.color = params.color; - this.buttonText = params.buttonText; - this.sponsorInfo = params.sponsorInfo; - this.additionalInfo = params.additionalInfo; - this.minDisplayDuration = params.minDisplayDuration; - this.maxDisplayDuration = params.maxDisplayDuration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let recommended = flags & (1 << 5) ? true : false; - let canReport = flags & (1 << 12) ? true : false; - let randomId = await Primitive.Bytes.read(_data); - let url = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let photo = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let media = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - let color = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let buttonText = await Primitive.String.read(_data); - let sponsorInfo = flags & (1 << 7) ? await Primitive.String.read(_data) : undefined; - let additionalInfo = flags & (1 << 8) ? await Primitive.String.read(_data) : undefined; - let minDisplayDuration = flags & (1 << 15) ? await Primitive.Int.read(_data) : undefined; - let maxDisplayDuration = flags & (1 << 15) ? await Primitive.Int.read(_data) : undefined; - return new Raw.SponsoredMessage({ - recommended: recommended, - canReport: canReport, - randomId: randomId, - url: url, - title: title, - message: message, - entities: entities, - photo: photo, - media: media, - color: color, - buttonText: buttonText, - sponsorInfo: sponsorInfo, - additionalInfo: additionalInfo, - minDisplayDuration: minDisplayDuration, - maxDisplayDuration: maxDisplayDuration, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.recommended ? 1 << 5 : 0; - flags |= this.canReport ? 1 << 12 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.photo !== undefined ? 1 << 6 : 0; - flags |= this.media !== undefined ? 1 << 14 : 0; - flags |= this.color !== undefined ? 1 << 13 : 0; - flags |= this.sponsorInfo !== undefined ? 1 << 7 : 0; - flags |= this.additionalInfo !== undefined ? 1 << 8 : 0; - flags |= this.minDisplayDuration !== undefined ? 1 << 15 : 0; - flags |= this.maxDisplayDuration !== undefined ? 1 << 15 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.randomId !== undefined) { - b.write(Primitive.Bytes.write(this.randomId) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(this.color.write() as unknown as Buffer); - } - if (this.buttonText !== undefined) { - b.write(Primitive.String.write(this.buttonText) as unknown as Buffer); - } - if (this.sponsorInfo !== undefined) { - b.write(Primitive.String.write(this.sponsorInfo) as unknown as Buffer); - } - if (this.additionalInfo !== undefined) { - b.write(Primitive.String.write(this.additionalInfo) as unknown as Buffer); - } - if (this.minDisplayDuration !== undefined) { - b.write(Primitive.Int.write(this.minDisplayDuration) as unknown as Buffer); - } - if (this.maxDisplayDuration !== undefined) { - b.write(Primitive.Int.write(this.maxDisplayDuration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchResultsCalendarPeriod extends TLObject { - date!: int; - minMsgId!: int; - maxMsgId!: int; - count!: int; - - constructor(params: { date: int; minMsgId: int; maxMsgId: int; count: int }) { - super(); - this.classType = 'types'; - this.className = 'SearchResultsCalendarPeriod'; - this.constructorId = 0xc9b0539f; - this.subclassOfId = 0xe25cf8ff; - this._slots = ['date', 'minMsgId', 'maxMsgId', 'count']; - this.date = params.date; - this.minMsgId = params.minMsgId; - this.maxMsgId = params.maxMsgId; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let date = await Primitive.Int.read(_data); - let minMsgId = await Primitive.Int.read(_data); - let maxMsgId = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - return new Raw.SearchResultsCalendarPeriod({ - date: date, - minMsgId: minMsgId, - maxMsgId: maxMsgId, - count: count, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.minMsgId !== undefined) { - b.write(Primitive.Int.write(this.minMsgId) as unknown as Buffer); - } - if (this.maxMsgId !== undefined) { - b.write(Primitive.Int.write(this.maxMsgId) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchResultPosition extends TLObject { - msgId!: int; - date!: int; - offset!: int; - - constructor(params: { msgId: int; date: int; offset: int }) { - super(); - this.classType = 'types'; - this.className = 'SearchResultPosition'; - this.constructorId = 0x7f648b67; - this.subclassOfId = 0xb8e21614; - this._slots = ['msgId', 'date', 'offset']; - this.msgId = params.msgId; - this.date = params.date; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let msgId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let offset = await Primitive.Int.read(_data); - return new Raw.SearchResultPosition({ msgId: msgId, date: date, offset: offset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionCount extends TLObject { - chosenOrder?: int; - reaction!: Raw.TypeReaction; - count!: int; - - constructor(params: { chosenOrder?: int; reaction: Raw.TypeReaction; count: int }) { - super(); - this.classType = 'types'; - this.className = 'ReactionCount'; - this.constructorId = 0xa3d1cb80; - this.subclassOfId = 0xd208ce3f; - this._slots = ['chosenOrder', 'reaction', 'count']; - this.chosenOrder = params.chosenOrder; - this.reaction = params.reaction; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chosenOrder = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let reaction = await TLObject.read(_data); - let count = await Primitive.Int.read(_data); - return new Raw.ReactionCount({ chosenOrder: chosenOrder, reaction: reaction, count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.chosenOrder !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chosenOrder !== undefined) { - b.write(Primitive.Int.write(this.chosenOrder) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReactions extends TLObject { - min?: boolean; - canSeeList?: boolean; - reactionsAsTags?: boolean; - results!: Vector; - recentReactions?: Vector; - topReactors?: Vector; - - constructor(params: { - min?: boolean; - canSeeList?: boolean; - reactionsAsTags?: boolean; - results: Vector; - recentReactions?: Vector; - topReactors?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageReactions'; - this.constructorId = 0xa339f0b; - this.subclassOfId = 0x8a5b071c; - this._slots = [ - 'min', - 'canSeeList', - 'reactionsAsTags', - 'results', - 'recentReactions', - 'topReactors', - ]; - this.min = params.min; - this.canSeeList = params.canSeeList; - this.reactionsAsTags = params.reactionsAsTags; - this.results = params.results; - this.recentReactions = params.recentReactions; - this.topReactors = params.topReactors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let min = flags & (1 << 0) ? true : false; - let canSeeList = flags & (1 << 2) ? true : false; - let reactionsAsTags = flags & (1 << 3) ? true : false; - let results = await TLObject.read(_data); - let recentReactions = flags & (1 << 1) ? await TLObject.read(_data) : []; - let topReactors = flags & (1 << 4) ? await TLObject.read(_data) : []; - return new Raw.MessageReactions({ - min: min, - canSeeList: canSeeList, - reactionsAsTags: reactionsAsTags, - results: results, - recentReactions: recentReactions, - topReactors: topReactors, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.min ? 1 << 0 : 0; - flags |= this.canSeeList ? 1 << 2 : 0; - flags |= this.reactionsAsTags ? 1 << 3 : 0; - flags |= this.recentReactions ? 1 << 1 : 0; - flags |= this.topReactors ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.results) { - b.write(Primitive.Vector.write(this.results) as unknown as Buffer); - } - if (this.recentReactions) { - b.write(Primitive.Vector.write(this.recentReactions) as unknown as Buffer); - } - if (this.topReactors) { - b.write(Primitive.Vector.write(this.topReactors) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AvailableReaction extends TLObject { - inactive?: boolean; - premium?: boolean; - reaction!: string; - title!: string; - staticIcon!: Raw.TypeDocument; - appearAnimation!: Raw.TypeDocument; - selectAnimation!: Raw.TypeDocument; - activateAnimation!: Raw.TypeDocument; - effectAnimation!: Raw.TypeDocument; - aroundAnimation?: Raw.TypeDocument; - centerIcon?: Raw.TypeDocument; - - constructor(params: { - inactive?: boolean; - premium?: boolean; - reaction: string; - title: string; - staticIcon: Raw.TypeDocument; - appearAnimation: Raw.TypeDocument; - selectAnimation: Raw.TypeDocument; - activateAnimation: Raw.TypeDocument; - effectAnimation: Raw.TypeDocument; - aroundAnimation?: Raw.TypeDocument; - centerIcon?: Raw.TypeDocument; - }) { - super(); - this.classType = 'types'; - this.className = 'AvailableReaction'; - this.constructorId = 0xc077ec01; - this.subclassOfId = 0x8c1c9d73; - this._slots = [ - 'inactive', - 'premium', - 'reaction', - 'title', - 'staticIcon', - 'appearAnimation', - 'selectAnimation', - 'activateAnimation', - 'effectAnimation', - 'aroundAnimation', - 'centerIcon', - ]; - this.inactive = params.inactive; - this.premium = params.premium; - this.reaction = params.reaction; - this.title = params.title; - this.staticIcon = params.staticIcon; - this.appearAnimation = params.appearAnimation; - this.selectAnimation = params.selectAnimation; - this.activateAnimation = params.activateAnimation; - this.effectAnimation = params.effectAnimation; - this.aroundAnimation = params.aroundAnimation; - this.centerIcon = params.centerIcon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inactive = flags & (1 << 0) ? true : false; - let premium = flags & (1 << 2) ? true : false; - let reaction = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let staticIcon = await TLObject.read(_data); - let appearAnimation = await TLObject.read(_data); - let selectAnimation = await TLObject.read(_data); - let activateAnimation = await TLObject.read(_data); - let effectAnimation = await TLObject.read(_data); - let aroundAnimation = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let centerIcon = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.AvailableReaction({ - inactive: inactive, - premium: premium, - reaction: reaction, - title: title, - staticIcon: staticIcon, - appearAnimation: appearAnimation, - selectAnimation: selectAnimation, - activateAnimation: activateAnimation, - effectAnimation: effectAnimation, - aroundAnimation: aroundAnimation, - centerIcon: centerIcon, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inactive ? 1 << 0 : 0; - flags |= this.premium ? 1 << 2 : 0; - flags |= this.aroundAnimation !== undefined ? 1 << 1 : 0; - flags |= this.centerIcon !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.reaction !== undefined) { - b.write(Primitive.String.write(this.reaction) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.staticIcon !== undefined) { - b.write(this.staticIcon.write() as unknown as Buffer); - } - if (this.appearAnimation !== undefined) { - b.write(this.appearAnimation.write() as unknown as Buffer); - } - if (this.selectAnimation !== undefined) { - b.write(this.selectAnimation.write() as unknown as Buffer); - } - if (this.activateAnimation !== undefined) { - b.write(this.activateAnimation.write() as unknown as Buffer); - } - if (this.effectAnimation !== undefined) { - b.write(this.effectAnimation.write() as unknown as Buffer); - } - if (this.aroundAnimation !== undefined) { - b.write(this.aroundAnimation.write() as unknown as Buffer); - } - if (this.centerIcon !== undefined) { - b.write(this.centerIcon.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessagePeerReaction extends TLObject { - big?: boolean; - unread?: boolean; - my?: boolean; - peerId!: Raw.TypePeer; - date!: int; - reaction!: Raw.TypeReaction; - - constructor(params: { - big?: boolean; - unread?: boolean; - my?: boolean; - peerId: Raw.TypePeer; - date: int; - reaction: Raw.TypeReaction; - }) { - super(); - this.classType = 'types'; - this.className = 'MessagePeerReaction'; - this.constructorId = 0x8c79b63c; - this.subclassOfId = 0xaf73a2a5; - this._slots = ['big', 'unread', 'my', 'peerId', 'date', 'reaction']; - this.big = params.big; - this.unread = params.unread; - this.my = params.my; - this.peerId = params.peerId; - this.date = params.date; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let big = flags & (1 << 0) ? true : false; - let unread = flags & (1 << 1) ? true : false; - let my = flags & (1 << 2) ? true : false; - let peerId = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let reaction = await TLObject.read(_data); - return new Raw.MessagePeerReaction({ - big: big, - unread: unread, - my: my, - peerId: peerId, - date: date, - reaction: reaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.big ? 1 << 0 : 0; - flags |= this.unread ? 1 << 1 : 0; - flags |= this.my ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallStreamChannel extends TLObject { - channel!: int; - scale!: int; - lastTimestampMs!: long; - - constructor(params: { channel: int; scale: int; lastTimestampMs: long }) { - super(); - this.classType = 'types'; - this.className = 'GroupCallStreamChannel'; - this.constructorId = 0x80eb48af; - this.subclassOfId = 0xdd44b258; - this._slots = ['channel', 'scale', 'lastTimestampMs']; - this.channel = params.channel; - this.scale = params.scale; - this.lastTimestampMs = params.lastTimestampMs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await Primitive.Int.read(_data); - let scale = await Primitive.Int.read(_data); - let lastTimestampMs = await Primitive.Long.read(_data); - return new Raw.GroupCallStreamChannel({ - channel: channel, - scale: scale, - lastTimestampMs: lastTimestampMs, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(Primitive.Int.write(this.channel) as unknown as Buffer); - } - if (this.scale !== undefined) { - b.write(Primitive.Int.write(this.scale) as unknown as Buffer); - } - if (this.lastTimestampMs !== undefined) { - b.write(Primitive.Long.write(this.lastTimestampMs) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuBotIconColor extends TLObject { - name!: string; - color!: int; - - constructor(params: { name: string; color: int }) { - super(); - this.classType = 'types'; - this.className = 'AttachMenuBotIconColor'; - this.constructorId = 0x4576f3f0; - this.subclassOfId = 0xbea4cb6a; - this._slots = ['name', 'color']; - this.name = params.name; - this.color = params.color; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let name = await Primitive.String.read(_data); - let color = await Primitive.Int.read(_data); - return new Raw.AttachMenuBotIconColor({ name: name, color: color }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuBotIcon extends TLObject { - name!: string; - icon!: Raw.TypeDocument; - colors?: Vector; - - constructor(params: { - name: string; - icon: Raw.TypeDocument; - colors?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'AttachMenuBotIcon'; - this.constructorId = 0xb2a7386b; - this.subclassOfId = 0x80484555; - this._slots = ['name', 'icon', 'colors']; - this.name = params.name; - this.icon = params.icon; - this.colors = params.colors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let name = await Primitive.String.read(_data); - let icon = await TLObject.read(_data); - let colors = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.AttachMenuBotIcon({ name: name, icon: icon, colors: colors }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.colors ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.icon !== undefined) { - b.write(this.icon.write() as unknown as Buffer); - } - if (this.colors) { - b.write(Primitive.Vector.write(this.colors) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuBot extends TLObject { - inactive?: boolean; - hasSettings?: boolean; - requestWriteAccess?: boolean; - showInAttachMenu?: boolean; - showInSideMenu?: boolean; - sideMenuDisclaimerNeeded?: boolean; - botId!: long; - shortName!: string; - peerTypes?: Vector; - icons!: Vector; - - constructor(params: { - inactive?: boolean; - hasSettings?: boolean; - requestWriteAccess?: boolean; - showInAttachMenu?: boolean; - showInSideMenu?: boolean; - sideMenuDisclaimerNeeded?: boolean; - botId: long; - shortName: string; - peerTypes?: Vector; - icons: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'AttachMenuBot'; - this.constructorId = 0xd90d8dfe; - this.subclassOfId = 0x9f087446; - this._slots = [ - 'inactive', - 'hasSettings', - 'requestWriteAccess', - 'showInAttachMenu', - 'showInSideMenu', - 'sideMenuDisclaimerNeeded', - 'botId', - 'shortName', - 'peerTypes', - 'icons', - ]; - this.inactive = params.inactive; - this.hasSettings = params.hasSettings; - this.requestWriteAccess = params.requestWriteAccess; - this.showInAttachMenu = params.showInAttachMenu; - this.showInSideMenu = params.showInSideMenu; - this.sideMenuDisclaimerNeeded = params.sideMenuDisclaimerNeeded; - this.botId = params.botId; - this.shortName = params.shortName; - this.peerTypes = params.peerTypes; - this.icons = params.icons; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inactive = flags & (1 << 0) ? true : false; - let hasSettings = flags & (1 << 1) ? true : false; - let requestWriteAccess = flags & (1 << 2) ? true : false; - let showInAttachMenu = flags & (1 << 3) ? true : false; - let showInSideMenu = flags & (1 << 4) ? true : false; - let sideMenuDisclaimerNeeded = flags & (1 << 5) ? true : false; - let botId = await Primitive.Long.read(_data); - let shortName = await Primitive.String.read(_data); - let peerTypes = flags & (1 << 3) ? await TLObject.read(_data) : []; - let icons = await TLObject.read(_data); - return new Raw.AttachMenuBot({ - inactive: inactive, - hasSettings: hasSettings, - requestWriteAccess: requestWriteAccess, - showInAttachMenu: showInAttachMenu, - showInSideMenu: showInSideMenu, - sideMenuDisclaimerNeeded: sideMenuDisclaimerNeeded, - botId: botId, - shortName: shortName, - peerTypes: peerTypes, - icons: icons, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inactive ? 1 << 0 : 0; - flags |= this.hasSettings ? 1 << 1 : 0; - flags |= this.requestWriteAccess ? 1 << 2 : 0; - flags |= this.showInAttachMenu ? 1 << 3 : 0; - flags |= this.showInSideMenu ? 1 << 4 : 0; - flags |= this.sideMenuDisclaimerNeeded ? 1 << 5 : 0; - flags |= this.peerTypes ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - if (this.peerTypes) { - b.write(Primitive.Vector.write(this.peerTypes) as unknown as Buffer); - } - if (this.icons) { - b.write(Primitive.Vector.write(this.icons) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuBotsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'AttachMenuBotsNotModified'; - this.constructorId = 0xf1d88a5c; - this.subclassOfId = 0x842e23da; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.AttachMenuBotsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuBots extends TLObject { - hash!: long; - bots!: Vector; - users!: Vector; - - constructor(params: { - hash: long; - bots: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'AttachMenuBots'; - this.constructorId = 0x3c4301c0; - this.subclassOfId = 0x842e23da; - this._slots = ['hash', 'bots', 'users']; - this.hash = params.hash; - this.bots = params.bots; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let bots = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.AttachMenuBots({ hash: hash, bots: bots, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.bots) { - b.write(Primitive.Vector.write(this.bots) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuBotsBot extends TLObject { - bot!: Raw.TypeAttachMenuBot; - users!: Vector; - - constructor(params: { bot: Raw.TypeAttachMenuBot; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'AttachMenuBotsBot'; - this.constructorId = 0x93bf667f; - this.subclassOfId = 0xdb33883d; - this._slots = ['bot', 'users']; - this.bot = params.bot; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.AttachMenuBotsBot({ bot: bot, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebViewResultUrl extends TLObject { - fullsize?: boolean; - fullscreen?: boolean; - queryId?: long; - url!: string; - - constructor(params: { fullsize?: boolean; fullscreen?: boolean; queryId?: long; url: string }) { - super(); - this.classType = 'types'; - this.className = 'WebViewResultUrl'; - this.constructorId = 0x4d22ff98; - this.subclassOfId = 0x93cea746; - this._slots = ['fullsize', 'fullscreen', 'queryId', 'url']; - this.fullsize = params.fullsize; - this.fullscreen = params.fullscreen; - this.queryId = params.queryId; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let fullsize = flags & (1 << 1) ? true : false; - let fullscreen = flags & (1 << 2) ? true : false; - let queryId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let url = await Primitive.String.read(_data); - return new Raw.WebViewResultUrl({ - fullsize: fullsize, - fullscreen: fullscreen, - queryId: queryId, - url: url, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fullsize ? 1 << 1 : 0; - flags |= this.fullscreen ? 1 << 2 : 0; - flags |= this.queryId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebViewMessageSent extends TLObject { - msgId?: Raw.TypeInputBotInlineMessageID; - - constructor(params: { msgId?: Raw.TypeInputBotInlineMessageID }) { - super(); - this.classType = 'types'; - this.className = 'WebViewMessageSent'; - this.constructorId = 0xc94511c; - this.subclassOfId = 0x75e49312; - this._slots = ['msgId']; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let msgId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.WebViewMessageSent({ msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.msgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.msgId !== undefined) { - b.write(this.msgId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotMenuButtonDefault extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotMenuButtonDefault'; - this.constructorId = 0x7533a588; - this.subclassOfId = 0x4c71bd3c; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotMenuButtonDefault(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotMenuButtonCommands extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotMenuButtonCommands'; - this.constructorId = 0x4258c205; - this.subclassOfId = 0x4c71bd3c; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotMenuButtonCommands(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotMenuButton extends TLObject { - text!: string; - url!: string; - - constructor(params: { text: string; url: string }) { - super(); - this.classType = 'types'; - this.className = 'BotMenuButton'; - this.constructorId = 0xc7b57ce6; - this.subclassOfId = 0x4c71bd3c; - this._slots = ['text', 'url']; - this.text = params.text; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let text = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.BotMenuButton({ text: text, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotificationSoundDefault extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'NotificationSoundDefault'; - this.constructorId = 0x97e8bebe; - this.subclassOfId = 0xf2f5e55b; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.NotificationSoundDefault(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotificationSoundNone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'NotificationSoundNone'; - this.constructorId = 0x6f0c34df; - this.subclassOfId = 0xf2f5e55b; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.NotificationSoundNone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotificationSoundLocal extends TLObject { - title!: string; - data!: string; - - constructor(params: { title: string; data: string }) { - super(); - this.classType = 'types'; - this.className = 'NotificationSoundLocal'; - this.constructorId = 0x830b9ae4; - this.subclassOfId = 0xf2f5e55b; - this._slots = ['title', 'data']; - this.title = params.title; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let data = await Primitive.String.read(_data); - return new Raw.NotificationSoundLocal({ title: title, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.String.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NotificationSoundRingtone extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'NotificationSoundRingtone'; - this.constructorId = 0xff6c8049; - this.subclassOfId = 0xf2f5e55b; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.NotificationSoundRingtone({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuPeerTypeSameBotPM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'AttachMenuPeerTypeSameBotPM'; - this.constructorId = 0x7d6be90e; - this.subclassOfId = 0xd1d886d0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.AttachMenuPeerTypeSameBotPM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuPeerTypeBotPM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'AttachMenuPeerTypeBotPM'; - this.constructorId = 0xc32bfa1a; - this.subclassOfId = 0xd1d886d0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.AttachMenuPeerTypeBotPM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuPeerTypePM extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'AttachMenuPeerTypePM'; - this.constructorId = 0xf146d31f; - this.subclassOfId = 0xd1d886d0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.AttachMenuPeerTypePM(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuPeerTypeChat extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'AttachMenuPeerTypeChat'; - this.constructorId = 0x509113f; - this.subclassOfId = 0xd1d886d0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.AttachMenuPeerTypeChat(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AttachMenuPeerTypeBroadcast extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'AttachMenuPeerTypeBroadcast'; - this.constructorId = 0x7bfbdefc; - this.subclassOfId = 0xd1d886d0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.AttachMenuPeerTypeBroadcast(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceMessage extends TLObject { - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceMessage'; - this.constructorId = 0xc5b56859; - this.subclassOfId = 0x726e9bfe; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.InputInvoiceMessage({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceSlug extends TLObject { - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceSlug'; - this.constructorId = 0xc326caef; - this.subclassOfId = 0x726e9bfe; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.InputInvoiceSlug({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoicePremiumGiftCode extends TLObject { - purpose!: Raw.TypeInputStorePaymentPurpose; - option!: Raw.TypePremiumGiftCodeOption; - - constructor(params: { - purpose: Raw.TypeInputStorePaymentPurpose; - option: Raw.TypePremiumGiftCodeOption; - }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoicePremiumGiftCode'; - this.constructorId = 0x98986c0d; - this.subclassOfId = 0x726e9bfe; - this._slots = ['purpose', 'option']; - this.purpose = params.purpose; - this.option = params.option; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let purpose = await TLObject.read(_data); - let option = await TLObject.read(_data); - return new Raw.InputInvoicePremiumGiftCode({ purpose: purpose, option: option }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(this.option.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceStars extends TLObject { - purpose!: Raw.TypeInputStorePaymentPurpose; - - constructor(params: { purpose: Raw.TypeInputStorePaymentPurpose }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceStars'; - this.constructorId = 0x65f00ce3; - this.subclassOfId = 0x726e9bfe; - this._slots = ['purpose']; - this.purpose = params.purpose; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let purpose = await TLObject.read(_data); - return new Raw.InputInvoiceStars({ purpose: purpose }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceChatInviteSubscription extends TLObject { - hash!: string; - - constructor(params: { hash: string }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceChatInviteSubscription'; - this.constructorId = 0x34e793f1; - this.subclassOfId = 0x726e9bfe; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.String.read(_data); - return new Raw.InputInvoiceChatInviteSubscription({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.String.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceStarGift extends TLObject { - hideName?: boolean; - includeUpgrade?: boolean; - peer!: Raw.TypeInputPeer; - giftId!: long; - message?: Raw.TypeTextWithEntities; - - constructor(params: { - hideName?: boolean; - includeUpgrade?: boolean; - peer: Raw.TypeInputPeer; - giftId: long; - message?: Raw.TypeTextWithEntities; - }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceStarGift'; - this.constructorId = 0xe8625e92; - this.subclassOfId = 0x726e9bfe; - this._slots = ['hideName', 'includeUpgrade', 'peer', 'giftId', 'message']; - this.hideName = params.hideName; - this.includeUpgrade = params.includeUpgrade; - this.peer = params.peer; - this.giftId = params.giftId; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hideName = flags & (1 << 0) ? true : false; - let includeUpgrade = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let giftId = await Primitive.Long.read(_data); - let message = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.InputInvoiceStarGift({ - hideName: hideName, - includeUpgrade: includeUpgrade, - peer: peer, - giftId: giftId, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hideName ? 1 << 0 : 0; - flags |= this.includeUpgrade ? 1 << 2 : 0; - flags |= this.message !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.giftId !== undefined) { - b.write(Primitive.Long.write(this.giftId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceStarGiftUpgrade extends TLObject { - keepOriginalDetails?: boolean; - stargift!: Raw.TypeInputSavedStarGift; - - constructor(params: { keepOriginalDetails?: boolean; stargift: Raw.TypeInputSavedStarGift }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceStarGiftUpgrade'; - this.constructorId = 0x4d818d5d; - this.subclassOfId = 0x726e9bfe; - this._slots = ['keepOriginalDetails', 'stargift']; - this.keepOriginalDetails = params.keepOriginalDetails; - this.stargift = params.stargift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let keepOriginalDetails = flags & (1 << 0) ? true : false; - let stargift = await TLObject.read(_data); - return new Raw.InputInvoiceStarGiftUpgrade({ - keepOriginalDetails: keepOriginalDetails, - stargift: stargift, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.keepOriginalDetails ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceStarGiftTransfer extends TLObject { - stargift!: Raw.TypeInputSavedStarGift; - toId!: Raw.TypeInputPeer; - - constructor(params: { stargift: Raw.TypeInputSavedStarGift; toId: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceStarGiftTransfer'; - this.constructorId = 0x4a5f5bd9; - this.subclassOfId = 0x726e9bfe; - this._slots = ['stargift', 'toId']; - this.stargift = params.stargift; - this.toId = params.toId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stargift = await TLObject.read(_data); - let toId = await TLObject.read(_data); - return new Raw.InputInvoiceStarGiftTransfer({ stargift: stargift, toId: toId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - if (this.toId !== undefined) { - b.write(this.toId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoicePremiumGiftStars extends TLObject { - userId!: Raw.TypeInputUser; - months!: int; - message?: Raw.TypeTextWithEntities; - - constructor(params: { - userId: Raw.TypeInputUser; - months: int; - message?: Raw.TypeTextWithEntities; - }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoicePremiumGiftStars'; - this.constructorId = 0xdabab2ef; - this.subclassOfId = 0x726e9bfe; - this._slots = ['userId', 'months', 'message']; - this.userId = params.userId; - this.months = params.months; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userId = await TLObject.read(_data); - let months = await Primitive.Int.read(_data); - let message = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.InputInvoicePremiumGiftStars({ - userId: userId, - months: months, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.message !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceBusinessBotTransferStars extends TLObject { - bot!: Raw.TypeInputUser; - stars!: long; - - constructor(params: { bot: Raw.TypeInputUser; stars: long }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceBusinessBotTransferStars'; - this.constructorId = 0xf4997e42; - this.subclassOfId = 0x726e9bfe; - this._slots = ['bot', 'stars']; - this.bot = params.bot; - this.stars = params.stars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let stars = await Primitive.Long.read(_data); - return new Raw.InputInvoiceBusinessBotTransferStars({ bot: bot, stars: stars }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputInvoiceStarGiftResale extends TLObject { - slug!: string; - toId!: Raw.TypeInputPeer; - - constructor(params: { slug: string; toId: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'InputInvoiceStarGiftResale'; - this.constructorId = 0x63cbc38c; - this.subclassOfId = 0x726e9bfe; - this._slots = ['slug', 'toId']; - this.slug = params.slug; - this.toId = params.toId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - let toId = await TLObject.read(_data); - return new Raw.InputInvoiceStarGiftResale({ slug: slug, toId: toId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.toId !== undefined) { - b.write(this.toId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentPremiumSubscription extends TLObject { - restore?: boolean; - upgrade?: boolean; - - constructor(params: { restore?: boolean; upgrade?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentPremiumSubscription'; - this.constructorId = 0xa6751e66; - this.subclassOfId = 0xe7a4174d; - this._slots = ['restore', 'upgrade']; - this.restore = params.restore; - this.upgrade = params.upgrade; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let restore = flags & (1 << 0) ? true : false; - let upgrade = flags & (1 << 1) ? true : false; - return new Raw.InputStorePaymentPremiumSubscription({ restore: restore, upgrade: upgrade }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.restore ? 1 << 0 : 0; - flags |= this.upgrade ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentGiftPremium extends TLObject { - userId!: Raw.TypeInputUser; - currency!: string; - amount!: long; - - constructor(params: { userId: Raw.TypeInputUser; currency: string; amount: long }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentGiftPremium'; - this.constructorId = 0x616f7fe8; - this.subclassOfId = 0xe7a4174d; - this._slots = ['userId', 'currency', 'amount']; - this.userId = params.userId; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.InputStorePaymentGiftPremium({ - userId: userId, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentPremiumGiftCode extends TLObject { - users!: Vector; - boostPeer?: Raw.TypeInputPeer; - currency!: string; - amount!: long; - message?: Raw.TypeTextWithEntities; - - constructor(params: { - users: Vector; - boostPeer?: Raw.TypeInputPeer; - currency: string; - amount: long; - message?: Raw.TypeTextWithEntities; - }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentPremiumGiftCode'; - this.constructorId = 0xfb790393; - this.subclassOfId = 0xe7a4174d; - this._slots = ['users', 'boostPeer', 'currency', 'amount', 'message']; - this.users = params.users; - this.boostPeer = params.boostPeer; - this.currency = params.currency; - this.amount = params.amount; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let users = await TLObject.read(_data); - let boostPeer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let message = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.InputStorePaymentPremiumGiftCode({ - users: users, - boostPeer: boostPeer, - currency: currency, - amount: amount, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.boostPeer !== undefined ? 1 << 0 : 0; - flags |= this.message !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.boostPeer !== undefined) { - b.write(this.boostPeer.write() as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentPremiumGiveaway extends TLObject { - onlyNewSubscribers?: boolean; - winnersAreVisible?: boolean; - boostPeer!: Raw.TypeInputPeer; - additionalPeers?: Vector; - countriesIso2?: Vector; - prizeDescription?: string; - randomId!: long; - untilDate!: int; - currency!: string; - amount!: long; - - constructor(params: { - onlyNewSubscribers?: boolean; - winnersAreVisible?: boolean; - boostPeer: Raw.TypeInputPeer; - additionalPeers?: Vector; - countriesIso2?: Vector; - prizeDescription?: string; - randomId: long; - untilDate: int; - currency: string; - amount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentPremiumGiveaway'; - this.constructorId = 0x160544ca; - this.subclassOfId = 0xe7a4174d; - this._slots = [ - 'onlyNewSubscribers', - 'winnersAreVisible', - 'boostPeer', - 'additionalPeers', - 'countriesIso2', - 'prizeDescription', - 'randomId', - 'untilDate', - 'currency', - 'amount', - ]; - this.onlyNewSubscribers = params.onlyNewSubscribers; - this.winnersAreVisible = params.winnersAreVisible; - this.boostPeer = params.boostPeer; - this.additionalPeers = params.additionalPeers; - this.countriesIso2 = params.countriesIso2; - this.prizeDescription = params.prizeDescription; - this.randomId = params.randomId; - this.untilDate = params.untilDate; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let onlyNewSubscribers = flags & (1 << 0) ? true : false; - let winnersAreVisible = flags & (1 << 3) ? true : false; - let boostPeer = await TLObject.read(_data); - let additionalPeers = flags & (1 << 1) ? await TLObject.read(_data) : []; - let countriesIso2 = flags & (1 << 2) ? await TLObject.read(_data, Primitive.String) : []; - let prizeDescription = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let randomId = await Primitive.Long.read(_data); - let untilDate = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.InputStorePaymentPremiumGiveaway({ - onlyNewSubscribers: onlyNewSubscribers, - winnersAreVisible: winnersAreVisible, - boostPeer: boostPeer, - additionalPeers: additionalPeers, - countriesIso2: countriesIso2, - prizeDescription: prizeDescription, - randomId: randomId, - untilDate: untilDate, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.onlyNewSubscribers ? 1 << 0 : 0; - flags |= this.winnersAreVisible ? 1 << 3 : 0; - flags |= this.additionalPeers ? 1 << 1 : 0; - flags |= this.countriesIso2 ? 1 << 2 : 0; - flags |= this.prizeDescription !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.boostPeer !== undefined) { - b.write(this.boostPeer.write() as unknown as Buffer); - } - if (this.additionalPeers) { - b.write(Primitive.Vector.write(this.additionalPeers) as unknown as Buffer); - } - if (this.countriesIso2) { - b.write(Primitive.Vector.write(this.countriesIso2, Primitive.String) as unknown as Buffer); - } - if (this.prizeDescription !== undefined) { - b.write(Primitive.String.write(this.prizeDescription) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentStarsTopup extends TLObject { - stars!: long; - currency!: string; - amount!: long; - - constructor(params: { stars: long; currency: string; amount: long }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentStarsTopup'; - this.constructorId = 0xdddd0f56; - this.subclassOfId = 0xe7a4174d; - this._slots = ['stars', 'currency', 'amount']; - this.stars = params.stars; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stars = await Primitive.Long.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.InputStorePaymentStarsTopup({ - stars: stars, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentStarsGift extends TLObject { - userId!: Raw.TypeInputUser; - stars!: long; - currency!: string; - amount!: long; - - constructor(params: { - userId: Raw.TypeInputUser; - stars: long; - currency: string; - amount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentStarsGift'; - this.constructorId = 0x1d741ef7; - this.subclassOfId = 0xe7a4174d; - this._slots = ['userId', 'stars', 'currency', 'amount']; - this.userId = params.userId; - this.stars = params.stars; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let stars = await Primitive.Long.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.InputStorePaymentStarsGift({ - userId: userId, - stars: stars, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentStarsGiveaway extends TLObject { - onlyNewSubscribers?: boolean; - winnersAreVisible?: boolean; - stars!: long; - boostPeer!: Raw.TypeInputPeer; - additionalPeers?: Vector; - countriesIso2?: Vector; - prizeDescription?: string; - randomId!: long; - untilDate!: int; - currency!: string; - amount!: long; - users!: int; - - constructor(params: { - onlyNewSubscribers?: boolean; - winnersAreVisible?: boolean; - stars: long; - boostPeer: Raw.TypeInputPeer; - additionalPeers?: Vector; - countriesIso2?: Vector; - prizeDescription?: string; - randomId: long; - untilDate: int; - currency: string; - amount: long; - users: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentStarsGiveaway'; - this.constructorId = 0x751f08fa; - this.subclassOfId = 0xe7a4174d; - this._slots = [ - 'onlyNewSubscribers', - 'winnersAreVisible', - 'stars', - 'boostPeer', - 'additionalPeers', - 'countriesIso2', - 'prizeDescription', - 'randomId', - 'untilDate', - 'currency', - 'amount', - 'users', - ]; - this.onlyNewSubscribers = params.onlyNewSubscribers; - this.winnersAreVisible = params.winnersAreVisible; - this.stars = params.stars; - this.boostPeer = params.boostPeer; - this.additionalPeers = params.additionalPeers; - this.countriesIso2 = params.countriesIso2; - this.prizeDescription = params.prizeDescription; - this.randomId = params.randomId; - this.untilDate = params.untilDate; - this.currency = params.currency; - this.amount = params.amount; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let onlyNewSubscribers = flags & (1 << 0) ? true : false; - let winnersAreVisible = flags & (1 << 3) ? true : false; - let stars = await Primitive.Long.read(_data); - let boostPeer = await TLObject.read(_data); - let additionalPeers = flags & (1 << 1) ? await TLObject.read(_data) : []; - let countriesIso2 = flags & (1 << 2) ? await TLObject.read(_data, Primitive.String) : []; - let prizeDescription = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let randomId = await Primitive.Long.read(_data); - let untilDate = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let users = await Primitive.Int.read(_data); - return new Raw.InputStorePaymentStarsGiveaway({ - onlyNewSubscribers: onlyNewSubscribers, - winnersAreVisible: winnersAreVisible, - stars: stars, - boostPeer: boostPeer, - additionalPeers: additionalPeers, - countriesIso2: countriesIso2, - prizeDescription: prizeDescription, - randomId: randomId, - untilDate: untilDate, - currency: currency, - amount: amount, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.onlyNewSubscribers ? 1 << 0 : 0; - flags |= this.winnersAreVisible ? 1 << 3 : 0; - flags |= this.additionalPeers ? 1 << 1 : 0; - flags |= this.countriesIso2 ? 1 << 2 : 0; - flags |= this.prizeDescription !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.boostPeer !== undefined) { - b.write(this.boostPeer.write() as unknown as Buffer); - } - if (this.additionalPeers) { - b.write(Primitive.Vector.write(this.additionalPeers) as unknown as Buffer); - } - if (this.countriesIso2) { - b.write(Primitive.Vector.write(this.countriesIso2, Primitive.String) as unknown as Buffer); - } - if (this.prizeDescription !== undefined) { - b.write(Primitive.String.write(this.prizeDescription) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.users !== undefined) { - b.write(Primitive.Int.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStorePaymentAuthCode extends TLObject { - restore?: boolean; - phoneNumber!: string; - phoneCodeHash!: string; - currency!: string; - amount!: long; - - constructor(params: { - restore?: boolean; - phoneNumber: string; - phoneCodeHash: string; - currency: string; - amount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'InputStorePaymentAuthCode'; - this.constructorId = 0x9bb2636d; - this.subclassOfId = 0xe7a4174d; - this._slots = ['restore', 'phoneNumber', 'phoneCodeHash', 'currency', 'amount']; - this.restore = params.restore; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let restore = flags & (1 << 0) ? true : false; - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.InputStorePaymentAuthCode({ - restore: restore, - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.restore ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentFormMethod extends TLObject { - url!: string; - title!: string; - - constructor(params: { url: string; title: string }) { - super(); - this.classType = 'types'; - this.className = 'PaymentFormMethod'; - this.constructorId = 0x88f8f21b; - this.subclassOfId = 0x3fc1c816; - this._slots = ['url', 'title']; - this.url = params.url; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.PaymentFormMethod({ url: url, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiStatusEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'EmojiStatusEmpty'; - this.constructorId = 0x2de11aae; - this.subclassOfId = 0xf930b138; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.EmojiStatusEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiStatus extends TLObject { - documentId!: long; - until?: int; - - constructor(params: { documentId: long; until?: int }) { - super(); - this.classType = 'types'; - this.className = 'EmojiStatus'; - this.constructorId = 0xe7ff068a; - this.subclassOfId = 0xf930b138; - this._slots = ['documentId', 'until']; - this.documentId = params.documentId; - this.until = params.until; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let documentId = await Primitive.Long.read(_data); - let until = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.EmojiStatus({ documentId: documentId, until: until }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.until !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - if (this.until !== undefined) { - b.write(Primitive.Int.write(this.until) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiStatusCollectible extends TLObject { - collectibleId!: long; - documentId!: long; - title!: string; - slug!: string; - patternDocumentId!: long; - centerColor!: int; - edgeColor!: int; - patternColor!: int; - textColor!: int; - until?: int; - - constructor(params: { - collectibleId: long; - documentId: long; - title: string; - slug: string; - patternDocumentId: long; - centerColor: int; - edgeColor: int; - patternColor: int; - textColor: int; - until?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'EmojiStatusCollectible'; - this.constructorId = 0x7184603b; - this.subclassOfId = 0xf930b138; - this._slots = [ - 'collectibleId', - 'documentId', - 'title', - 'slug', - 'patternDocumentId', - 'centerColor', - 'edgeColor', - 'patternColor', - 'textColor', - 'until', - ]; - this.collectibleId = params.collectibleId; - this.documentId = params.documentId; - this.title = params.title; - this.slug = params.slug; - this.patternDocumentId = params.patternDocumentId; - this.centerColor = params.centerColor; - this.edgeColor = params.edgeColor; - this.patternColor = params.patternColor; - this.textColor = params.textColor; - this.until = params.until; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let collectibleId = await Primitive.Long.read(_data); - let documentId = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let slug = await Primitive.String.read(_data); - let patternDocumentId = await Primitive.Long.read(_data); - let centerColor = await Primitive.Int.read(_data); - let edgeColor = await Primitive.Int.read(_data); - let patternColor = await Primitive.Int.read(_data); - let textColor = await Primitive.Int.read(_data); - let until = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.EmojiStatusCollectible({ - collectibleId: collectibleId, - documentId: documentId, - title: title, - slug: slug, - patternDocumentId: patternDocumentId, - centerColor: centerColor, - edgeColor: edgeColor, - patternColor: patternColor, - textColor: textColor, - until: until, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.until !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.collectibleId !== undefined) { - b.write(Primitive.Long.write(this.collectibleId) as unknown as Buffer); - } - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.patternDocumentId !== undefined) { - b.write(Primitive.Long.write(this.patternDocumentId) as unknown as Buffer); - } - if (this.centerColor !== undefined) { - b.write(Primitive.Int.write(this.centerColor) as unknown as Buffer); - } - if (this.edgeColor !== undefined) { - b.write(Primitive.Int.write(this.edgeColor) as unknown as Buffer); - } - if (this.patternColor !== undefined) { - b.write(Primitive.Int.write(this.patternColor) as unknown as Buffer); - } - if (this.textColor !== undefined) { - b.write(Primitive.Int.write(this.textColor) as unknown as Buffer); - } - if (this.until !== undefined) { - b.write(Primitive.Int.write(this.until) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputEmojiStatusCollectible extends TLObject { - collectibleId!: long; - until?: int; - - constructor(params: { collectibleId: long; until?: int }) { - super(); - this.classType = 'types'; - this.className = 'InputEmojiStatusCollectible'; - this.constructorId = 0x7141dbf; - this.subclassOfId = 0xf930b138; - this._slots = ['collectibleId', 'until']; - this.collectibleId = params.collectibleId; - this.until = params.until; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let collectibleId = await Primitive.Long.read(_data); - let until = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.InputEmojiStatusCollectible({ collectibleId: collectibleId, until: until }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.until !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.collectibleId !== undefined) { - b.write(Primitive.Long.write(this.collectibleId) as unknown as Buffer); - } - if (this.until !== undefined) { - b.write(Primitive.Int.write(this.until) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ReactionEmpty'; - this.constructorId = 0x79f5d419; - this.subclassOfId = 0x5da165a1; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.ReactionEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionEmoji extends TLObject { - emoticon!: string; - - constructor(params: { emoticon: string }) { - super(); - this.classType = 'types'; - this.className = 'ReactionEmoji'; - this.constructorId = 0x1b2286b8; - this.subclassOfId = 0x5da165a1; - this._slots = ['emoticon']; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - return new Raw.ReactionEmoji({ emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionCustomEmoji extends TLObject { - documentId!: long; - - constructor(params: { documentId: long }) { - super(); - this.classType = 'types'; - this.className = 'ReactionCustomEmoji'; - this.constructorId = 0x8935fc73; - this.subclassOfId = 0x5da165a1; - this._slots = ['documentId']; - this.documentId = params.documentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let documentId = await Primitive.Long.read(_data); - return new Raw.ReactionCustomEmoji({ documentId: documentId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionPaid extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ReactionPaid'; - this.constructorId = 0x523da4eb; - this.subclassOfId = 0x5da165a1; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.ReactionPaid(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatReactionsNone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ChatReactionsNone'; - this.constructorId = 0xeafc32bc; - this.subclassOfId = 0x131e24b5; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ChatReactionsNone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatReactionsAll extends TLObject { - allowCustom?: boolean; - - constructor(params: { allowCustom?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'ChatReactionsAll'; - this.constructorId = 0x52928bca; - this.subclassOfId = 0x131e24b5; - this._slots = ['allowCustom']; - this.allowCustom = params.allowCustom; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let allowCustom = flags & (1 << 0) ? true : false; - return new Raw.ChatReactionsAll({ allowCustom: allowCustom }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.allowCustom ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatReactionsSome extends TLObject { - reactions!: Vector; - - constructor(params: { reactions: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ChatReactionsSome'; - this.constructorId = 0x661d4037; - this.subclassOfId = 0x131e24b5; - this._slots = ['reactions']; - this.reactions = params.reactions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let reactions = await TLObject.read(_data); - return new Raw.ChatReactionsSome({ reactions: reactions }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerifyPurposeLoginSetup extends TLObject { - phoneNumber!: string; - phoneCodeHash!: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string }) { - super(); - this.classType = 'types'; - this.className = 'EmailVerifyPurposeLoginSetup'; - this.constructorId = 0x4345be73; - this.subclassOfId = 0xb9686ae8; - this._slots = ['phoneNumber', 'phoneCodeHash']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - return new Raw.EmailVerifyPurposeLoginSetup({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerifyPurposeLoginChange extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'EmailVerifyPurposeLoginChange'; - this.constructorId = 0x527d22eb; - this.subclassOfId = 0xb9686ae8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.EmailVerifyPurposeLoginChange(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerifyPurposePassport extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'EmailVerifyPurposePassport'; - this.constructorId = 0xbbf51685; - this.subclassOfId = 0xb9686ae8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.EmailVerifyPurposePassport(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerificationCode extends TLObject { - code!: string; - - constructor(params: { code: string }) { - super(); - this.classType = 'types'; - this.className = 'EmailVerificationCode'; - this.constructorId = 0x922e55a9; - this.subclassOfId = 0x241ee240; - this._slots = ['code']; - this.code = params.code; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let code = await Primitive.String.read(_data); - return new Raw.EmailVerificationCode({ code: code }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.code !== undefined) { - b.write(Primitive.String.write(this.code) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerificationGoogle extends TLObject { - token!: string; - - constructor(params: { token: string }) { - super(); - this.classType = 'types'; - this.className = 'EmailVerificationGoogle'; - this.constructorId = 0xdb909ec2; - this.subclassOfId = 0x241ee240; - this._slots = ['token']; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let token = await Primitive.String.read(_data); - return new Raw.EmailVerificationGoogle({ token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerificationApple extends TLObject { - token!: string; - - constructor(params: { token: string }) { - super(); - this.classType = 'types'; - this.className = 'EmailVerificationApple'; - this.constructorId = 0x96d074fd; - this.subclassOfId = 0x241ee240; - this._slots = ['token']; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let token = await Primitive.String.read(_data); - return new Raw.EmailVerificationApple({ token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PremiumSubscriptionOption extends TLObject { - current?: boolean; - canPurchaseUpgrade?: boolean; - transaction?: string; - months!: int; - currency!: string; - amount!: long; - botUrl!: string; - storeProduct?: string; - - constructor(params: { - current?: boolean; - canPurchaseUpgrade?: boolean; - transaction?: string; - months: int; - currency: string; - amount: long; - botUrl: string; - storeProduct?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'PremiumSubscriptionOption'; - this.constructorId = 0x5f2d1df2; - this.subclassOfId = 0x2e2dc73f; - this._slots = [ - 'current', - 'canPurchaseUpgrade', - 'transaction', - 'months', - 'currency', - 'amount', - 'botUrl', - 'storeProduct', - ]; - this.current = params.current; - this.canPurchaseUpgrade = params.canPurchaseUpgrade; - this.transaction = params.transaction; - this.months = params.months; - this.currency = params.currency; - this.amount = params.amount; - this.botUrl = params.botUrl; - this.storeProduct = params.storeProduct; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let current = flags & (1 << 1) ? true : false; - let canPurchaseUpgrade = flags & (1 << 2) ? true : false; - let transaction = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let months = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let botUrl = await Primitive.String.read(_data); - let storeProduct = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.PremiumSubscriptionOption({ - current: current, - canPurchaseUpgrade: canPurchaseUpgrade, - transaction: transaction, - months: months, - currency: currency, - amount: amount, - botUrl: botUrl, - storeProduct: storeProduct, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.current ? 1 << 1 : 0; - flags |= this.canPurchaseUpgrade ? 1 << 2 : 0; - flags |= this.transaction !== undefined ? 1 << 3 : 0; - flags |= this.storeProduct !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.transaction !== undefined) { - b.write(Primitive.String.write(this.transaction) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.botUrl !== undefined) { - b.write(Primitive.String.write(this.botUrl) as unknown as Buffer); - } - if (this.storeProduct !== undefined) { - b.write(Primitive.String.write(this.storeProduct) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendAsPeer extends TLObject { - premiumRequired?: boolean; - peer!: Raw.TypePeer; - - constructor(params: { premiumRequired?: boolean; peer: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'SendAsPeer'; - this.constructorId = 0xb81c7034; - this.subclassOfId = 0x442381e4; - this._slots = ['premiumRequired', 'peer']; - this.premiumRequired = params.premiumRequired; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let premiumRequired = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.SendAsPeer({ premiumRequired: premiumRequired, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.premiumRequired ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageExtendedMediaPreview extends TLObject { - w?: int; - h?: int; - thumb?: Raw.TypePhotoSize; - videoDuration?: int; - - constructor(params: { w?: int; h?: int; thumb?: Raw.TypePhotoSize; videoDuration?: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageExtendedMediaPreview'; - this.constructorId = 0xad628cc8; - this.subclassOfId = 0x9727d95d; - this._slots = ['w', 'h', 'thumb', 'videoDuration']; - this.w = params.w; - this.h = params.h; - this.thumb = params.thumb; - this.videoDuration = params.videoDuration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let w = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let h = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let thumb = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let videoDuration = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MessageExtendedMediaPreview({ - w: w, - h: h, - thumb: thumb, - videoDuration: videoDuration, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.w !== undefined ? 1 << 0 : 0; - flags |= this.h !== undefined ? 1 << 0 : 0; - flags |= this.thumb !== undefined ? 1 << 1 : 0; - flags |= this.videoDuration !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.videoDuration !== undefined) { - b.write(Primitive.Int.write(this.videoDuration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageExtendedMedia extends TLObject { - media!: Raw.TypeMessageMedia; - - constructor(params: { media: Raw.TypeMessageMedia }) { - super(); - this.classType = 'types'; - this.className = 'MessageExtendedMedia'; - this.constructorId = 0xee479c64; - this.subclassOfId = 0x9727d95d; - this._slots = ['media']; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let media = await TLObject.read(_data); - return new Raw.MessageExtendedMedia({ media: media }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerKeyword extends TLObject { - documentId!: long; - keyword!: Vector; - - constructor(params: { documentId: long; keyword: Vector }) { - super(); - this.classType = 'types'; - this.className = 'StickerKeyword'; - this.constructorId = 0xfcfeb29c; - this.subclassOfId = 0x55951d6b; - this._slots = ['documentId', 'keyword']; - this.documentId = params.documentId; - this.keyword = params.keyword; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let documentId = await Primitive.Long.read(_data); - let keyword = await TLObject.read(_data, Primitive.String); - return new Raw.StickerKeyword({ documentId: documentId, keyword: keyword }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - if (this.keyword) { - b.write(Primitive.Vector.write(this.keyword, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Username extends TLObject { - editable?: boolean; - active?: boolean; - username!: string; - - constructor(params: { editable?: boolean; active?: boolean; username: string }) { - super(); - this.classType = 'types'; - this.className = 'Username'; - this.constructorId = 0xb4073647; - this.subclassOfId = 0x1286421; - this._slots = ['editable', 'active', 'username']; - this.editable = params.editable; - this.active = params.active; - this.username = params.username; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let editable = flags & (1 << 0) ? true : false; - let active = flags & (1 << 1) ? true : false; - let username = await Primitive.String.read(_data); - return new Raw.Username({ editable: editable, active: active, username: username }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.editable ? 1 << 0 : 0; - flags |= this.active ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ForumTopicDeleted extends TLObject { - id!: int; - - constructor(params: { id: int }) { - super(); - this.classType = 'types'; - this.className = 'ForumTopicDeleted'; - this.constructorId = 0x23f109b; - this.subclassOfId = 0x8d182203; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - return new Raw.ForumTopicDeleted({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ForumTopic extends TLObject { - my?: boolean; - closed?: boolean; - pinned?: boolean; - short?: boolean; - hidden?: boolean; - id!: int; - date!: int; - title!: string; - iconColor!: int; - iconEmojiId?: long; - topMessage!: int; - readInboxMaxId!: int; - readOutboxMaxId!: int; - unreadCount!: int; - unreadMentionsCount!: int; - unreadReactionsCount!: int; - fromId!: Raw.TypePeer; - notifySettings!: Raw.TypePeerNotifySettings; - draft?: Raw.TypeDraftMessage; - - constructor(params: { - my?: boolean; - closed?: boolean; - pinned?: boolean; - short?: boolean; - hidden?: boolean; - id: int; - date: int; - title: string; - iconColor: int; - iconEmojiId?: long; - topMessage: int; - readInboxMaxId: int; - readOutboxMaxId: int; - unreadCount: int; - unreadMentionsCount: int; - unreadReactionsCount: int; - fromId: Raw.TypePeer; - notifySettings: Raw.TypePeerNotifySettings; - draft?: Raw.TypeDraftMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'ForumTopic'; - this.constructorId = 0x71701da9; - this.subclassOfId = 0x8d182203; - this._slots = [ - 'my', - 'closed', - 'pinned', - 'short', - 'hidden', - 'id', - 'date', - 'title', - 'iconColor', - 'iconEmojiId', - 'topMessage', - 'readInboxMaxId', - 'readOutboxMaxId', - 'unreadCount', - 'unreadMentionsCount', - 'unreadReactionsCount', - 'fromId', - 'notifySettings', - 'draft', - ]; - this.my = params.my; - this.closed = params.closed; - this.pinned = params.pinned; - this.short = params.short; - this.hidden = params.hidden; - this.id = params.id; - this.date = params.date; - this.title = params.title; - this.iconColor = params.iconColor; - this.iconEmojiId = params.iconEmojiId; - this.topMessage = params.topMessage; - this.readInboxMaxId = params.readInboxMaxId; - this.readOutboxMaxId = params.readOutboxMaxId; - this.unreadCount = params.unreadCount; - this.unreadMentionsCount = params.unreadMentionsCount; - this.unreadReactionsCount = params.unreadReactionsCount; - this.fromId = params.fromId; - this.notifySettings = params.notifySettings; - this.draft = params.draft; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let my = flags & (1 << 1) ? true : false; - let closed = flags & (1 << 2) ? true : false; - let pinned = flags & (1 << 3) ? true : false; - let short = flags & (1 << 5) ? true : false; - let hidden = flags & (1 << 6) ? true : false; - let id = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let iconColor = await Primitive.Int.read(_data); - let iconEmojiId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let topMessage = await Primitive.Int.read(_data); - let readInboxMaxId = await Primitive.Int.read(_data); - let readOutboxMaxId = await Primitive.Int.read(_data); - let unreadCount = await Primitive.Int.read(_data); - let unreadMentionsCount = await Primitive.Int.read(_data); - let unreadReactionsCount = await Primitive.Int.read(_data); - let fromId = await TLObject.read(_data); - let notifySettings = await TLObject.read(_data); - let draft = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - return new Raw.ForumTopic({ - my: my, - closed: closed, - pinned: pinned, - short: short, - hidden: hidden, - id: id, - date: date, - title: title, - iconColor: iconColor, - iconEmojiId: iconEmojiId, - topMessage: topMessage, - readInboxMaxId: readInboxMaxId, - readOutboxMaxId: readOutboxMaxId, - unreadCount: unreadCount, - unreadMentionsCount: unreadMentionsCount, - unreadReactionsCount: unreadReactionsCount, - fromId: fromId, - notifySettings: notifySettings, - draft: draft, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.my ? 1 << 1 : 0; - flags |= this.closed ? 1 << 2 : 0; - flags |= this.pinned ? 1 << 3 : 0; - flags |= this.short ? 1 << 5 : 0; - flags |= this.hidden ? 1 << 6 : 0; - flags |= this.iconEmojiId !== undefined ? 1 << 0 : 0; - flags |= this.draft !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconColor !== undefined) { - b.write(Primitive.Int.write(this.iconColor) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - if (this.topMessage !== undefined) { - b.write(Primitive.Int.write(this.topMessage) as unknown as Buffer); - } - if (this.readInboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readInboxMaxId) as unknown as Buffer); - } - if (this.readOutboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readOutboxMaxId) as unknown as Buffer); - } - if (this.unreadCount !== undefined) { - b.write(Primitive.Int.write(this.unreadCount) as unknown as Buffer); - } - if (this.unreadMentionsCount !== undefined) { - b.write(Primitive.Int.write(this.unreadMentionsCount) as unknown as Buffer); - } - if (this.unreadReactionsCount !== undefined) { - b.write(Primitive.Int.write(this.unreadReactionsCount) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.notifySettings !== undefined) { - b.write(this.notifySettings.write() as unknown as Buffer); - } - if (this.draft !== undefined) { - b.write(this.draft.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DefaultHistoryTTL extends TLObject { - period!: int; - - constructor(params: { period: int }) { - super(); - this.classType = 'types'; - this.className = 'DefaultHistoryTTL'; - this.constructorId = 0x43b46b20; - this.subclassOfId = 0xf00d3367; - this._slots = ['period']; - this.period = params.period; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let period = await Primitive.Int.read(_data); - return new Raw.DefaultHistoryTTL({ period: period }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedContactToken extends TLObject { - url!: string; - expires!: int; - - constructor(params: { url: string; expires: int }) { - super(); - this.classType = 'types'; - this.className = 'ExportedContactToken'; - this.constructorId = 0x41bf109b; - this.subclassOfId = 0x86ddbed1; - this._slots = ['url', 'expires']; - this.url = params.url; - this.expires = params.expires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let expires = await Primitive.Int.read(_data); - return new Raw.ExportedContactToken({ url: url, expires: expires }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestPeerTypeUser extends TLObject { - bot?: Bool; - premium?: Bool; - - constructor(params: { bot?: Bool; premium?: Bool }) { - super(); - this.classType = 'types'; - this.className = 'RequestPeerTypeUser'; - this.constructorId = 0x5f3b8a00; - this.subclassOfId = 0xe9a0e814; - this._slots = ['bot', 'premium']; - this.bot = params.bot; - this.premium = params.premium; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let bot = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - let premium = flags & (1 << 1) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.RequestPeerTypeUser({ bot: bot, premium: premium }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.bot !== undefined ? 1 << 0 : 0; - flags |= this.premium !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(Primitive.Bool.write(this.bot) as unknown as Buffer); - } - if (this.premium !== undefined) { - b.write(Primitive.Bool.write(this.premium) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestPeerTypeChat extends TLObject { - creator?: boolean; - botParticipant?: boolean; - hasUsername?: Bool; - forum?: Bool; - userAdminRights?: Raw.TypeChatAdminRights; - botAdminRights?: Raw.TypeChatAdminRights; - - constructor(params: { - creator?: boolean; - botParticipant?: boolean; - hasUsername?: Bool; - forum?: Bool; - userAdminRights?: Raw.TypeChatAdminRights; - botAdminRights?: Raw.TypeChatAdminRights; - }) { - super(); - this.classType = 'types'; - this.className = 'RequestPeerTypeChat'; - this.constructorId = 0xc9f06e1b; - this.subclassOfId = 0xe9a0e814; - this._slots = [ - 'creator', - 'botParticipant', - 'hasUsername', - 'forum', - 'userAdminRights', - 'botAdminRights', - ]; - this.creator = params.creator; - this.botParticipant = params.botParticipant; - this.hasUsername = params.hasUsername; - this.forum = params.forum; - this.userAdminRights = params.userAdminRights; - this.botAdminRights = params.botAdminRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let creator = flags & (1 << 0) ? true : false; - let botParticipant = flags & (1 << 5) ? true : false; - let hasUsername = flags & (1 << 3) ? await Primitive.Bool.read(_data) : undefined; - let forum = flags & (1 << 4) ? await Primitive.Bool.read(_data) : undefined; - let userAdminRights = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let botAdminRights = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.RequestPeerTypeChat({ - creator: creator, - botParticipant: botParticipant, - hasUsername: hasUsername, - forum: forum, - userAdminRights: userAdminRights, - botAdminRights: botAdminRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.creator ? 1 << 0 : 0; - flags |= this.botParticipant ? 1 << 5 : 0; - flags |= this.hasUsername !== undefined ? 1 << 3 : 0; - flags |= this.forum !== undefined ? 1 << 4 : 0; - flags |= this.userAdminRights !== undefined ? 1 << 1 : 0; - flags |= this.botAdminRights !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hasUsername !== undefined) { - b.write(Primitive.Bool.write(this.hasUsername) as unknown as Buffer); - } - if (this.forum !== undefined) { - b.write(Primitive.Bool.write(this.forum) as unknown as Buffer); - } - if (this.userAdminRights !== undefined) { - b.write(this.userAdminRights.write() as unknown as Buffer); - } - if (this.botAdminRights !== undefined) { - b.write(this.botAdminRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestPeerTypeBroadcast extends TLObject { - creator?: boolean; - hasUsername?: Bool; - userAdminRights?: Raw.TypeChatAdminRights; - botAdminRights?: Raw.TypeChatAdminRights; - - constructor(params: { - creator?: boolean; - hasUsername?: Bool; - userAdminRights?: Raw.TypeChatAdminRights; - botAdminRights?: Raw.TypeChatAdminRights; - }) { - super(); - this.classType = 'types'; - this.className = 'RequestPeerTypeBroadcast'; - this.constructorId = 0x339bef6c; - this.subclassOfId = 0xe9a0e814; - this._slots = ['creator', 'hasUsername', 'userAdminRights', 'botAdminRights']; - this.creator = params.creator; - this.hasUsername = params.hasUsername; - this.userAdminRights = params.userAdminRights; - this.botAdminRights = params.botAdminRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let creator = flags & (1 << 0) ? true : false; - let hasUsername = flags & (1 << 3) ? await Primitive.Bool.read(_data) : undefined; - let userAdminRights = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let botAdminRights = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.RequestPeerTypeBroadcast({ - creator: creator, - hasUsername: hasUsername, - userAdminRights: userAdminRights, - botAdminRights: botAdminRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.creator ? 1 << 0 : 0; - flags |= this.hasUsername !== undefined ? 1 << 3 : 0; - flags |= this.userAdminRights !== undefined ? 1 << 1 : 0; - flags |= this.botAdminRights !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hasUsername !== undefined) { - b.write(Primitive.Bool.write(this.hasUsername) as unknown as Buffer); - } - if (this.userAdminRights !== undefined) { - b.write(this.userAdminRights.write() as unknown as Buffer); - } - if (this.botAdminRights !== undefined) { - b.write(this.botAdminRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiListNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'EmojiListNotModified'; - this.constructorId = 0x481eadfa; - this.subclassOfId = 0xbcef6aba; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.EmojiListNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiList extends TLObject { - hash!: long; - documentId!: Vector; - - constructor(params: { hash: long; documentId: Vector }) { - super(); - this.classType = 'types'; - this.className = 'EmojiList'; - this.constructorId = 0x7a1e11d1; - this.subclassOfId = 0xbcef6aba; - this._slots = ['hash', 'documentId']; - this.hash = params.hash; - this.documentId = params.documentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let documentId = await TLObject.read(_data, Primitive.Long); - return new Raw.EmojiList({ hash: hash, documentId: documentId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.documentId) { - b.write(Primitive.Vector.write(this.documentId, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiGroup extends TLObject { - title!: string; - iconEmojiId!: long; - emoticons!: Vector; - - constructor(params: { title: string; iconEmojiId: long; emoticons: Vector }) { - super(); - this.classType = 'types'; - this.className = 'EmojiGroup'; - this.constructorId = 0x7a9abda9; - this.subclassOfId = 0x55e0a193; - this._slots = ['title', 'iconEmojiId', 'emoticons']; - this.title = params.title; - this.iconEmojiId = params.iconEmojiId; - this.emoticons = params.emoticons; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let title = await Primitive.String.read(_data); - let iconEmojiId = await Primitive.Long.read(_data); - let emoticons = await TLObject.read(_data, Primitive.String); - return new Raw.EmojiGroup({ title: title, iconEmojiId: iconEmojiId, emoticons: emoticons }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - if (this.emoticons) { - b.write(Primitive.Vector.write(this.emoticons, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiGroupGreeting extends TLObject { - title!: string; - iconEmojiId!: long; - emoticons!: Vector; - - constructor(params: { title: string; iconEmojiId: long; emoticons: Vector }) { - super(); - this.classType = 'types'; - this.className = 'EmojiGroupGreeting'; - this.constructorId = 0x80d26cc7; - this.subclassOfId = 0x55e0a193; - this._slots = ['title', 'iconEmojiId', 'emoticons']; - this.title = params.title; - this.iconEmojiId = params.iconEmojiId; - this.emoticons = params.emoticons; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let iconEmojiId = await Primitive.Long.read(_data); - let emoticons = await TLObject.read(_data, Primitive.String); - return new Raw.EmojiGroupGreeting({ - title: title, - iconEmojiId: iconEmojiId, - emoticons: emoticons, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - if (this.emoticons) { - b.write(Primitive.Vector.write(this.emoticons, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiGroupPremium extends TLObject { - title!: string; - iconEmojiId!: long; - - constructor(params: { title: string; iconEmojiId: long }) { - super(); - this.classType = 'types'; - this.className = 'EmojiGroupPremium'; - this.constructorId = 0x93bcf34; - this.subclassOfId = 0x55e0a193; - this._slots = ['title', 'iconEmojiId']; - this.title = params.title; - this.iconEmojiId = params.iconEmojiId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let iconEmojiId = await Primitive.Long.read(_data); - return new Raw.EmojiGroupPremium({ title: title, iconEmojiId: iconEmojiId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TextWithEntities extends TLObject { - text!: string; - entities!: Vector; - - constructor(params: { text: string; entities: Vector }) { - super(); - this.classType = 'types'; - this.className = 'TextWithEntities'; - this.constructorId = 0x751f3146; - this.subclassOfId = 0x95ca4b05; - this._slots = ['text', 'entities']; - this.text = params.text; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let entities = await TLObject.read(_data); - return new Raw.TextWithEntities({ text: text, entities: entities }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AutoSaveSettings extends TLObject { - photos?: boolean; - videos?: boolean; - videoMaxSize?: long; - - constructor(params: { photos?: boolean; videos?: boolean; videoMaxSize?: long }) { - super(); - this.classType = 'types'; - this.className = 'AutoSaveSettings'; - this.constructorId = 0xc84834ce; - this.subclassOfId = 0xcd3b96e6; - this._slots = ['photos', 'videos', 'videoMaxSize']; - this.photos = params.photos; - this.videos = params.videos; - this.videoMaxSize = params.videoMaxSize; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let photos = flags & (1 << 0) ? true : false; - let videos = flags & (1 << 1) ? true : false; - let videoMaxSize = flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - return new Raw.AutoSaveSettings({ - photos: photos, - videos: videos, - videoMaxSize: videoMaxSize, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photos ? 1 << 0 : 0; - flags |= this.videos ? 1 << 1 : 0; - flags |= this.videoMaxSize !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.videoMaxSize !== undefined) { - b.write(Primitive.Long.write(this.videoMaxSize) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AutoSaveException extends TLObject { - peer!: Raw.TypePeer; - settings!: Raw.TypeAutoSaveSettings; - - constructor(params: { peer: Raw.TypePeer; settings: Raw.TypeAutoSaveSettings }) { - super(); - this.classType = 'types'; - this.className = 'AutoSaveException'; - this.constructorId = 0x81602d47; - this.subclassOfId = 0xdd868129; - this._slots = ['peer', 'settings']; - this.peer = params.peer; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let settings = await TLObject.read(_data); - return new Raw.AutoSaveException({ peer: peer, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotAppID extends TLObject { - id!: long; - accessHash!: long; - - constructor(params: { id: long; accessHash: long }) { - super(); - this.classType = 'types'; - this.className = 'InputBotAppID'; - this.constructorId = 0xa920bd7a; - this.subclassOfId = 0xb6559951; - this._slots = ['id', 'accessHash']; - this.id = params.id; - this.accessHash = params.accessHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - return new Raw.InputBotAppID({ id: id, accessHash: accessHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBotAppShortName extends TLObject { - botId!: Raw.TypeInputUser; - shortName!: string; - - constructor(params: { botId: Raw.TypeInputUser; shortName: string }) { - super(); - this.classType = 'types'; - this.className = 'InputBotAppShortName'; - this.constructorId = 0x908c0407; - this.subclassOfId = 0xb6559951; - this._slots = ['botId', 'shortName']; - this.botId = params.botId; - this.shortName = params.shortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let botId = await TLObject.read(_data); - let shortName = await Primitive.String.read(_data); - return new Raw.InputBotAppShortName({ botId: botId, shortName: shortName }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botId !== undefined) { - b.write(this.botId.write() as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotAppNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BotAppNotModified'; - this.constructorId = 0x5da674b7; - this.subclassOfId = 0x20f32ae; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BotAppNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotApp extends TLObject { - id!: long; - accessHash!: long; - shortName!: string; - title!: string; - description!: string; - photo!: Raw.TypePhoto; - document?: Raw.TypeDocument; - hash!: long; - - constructor(params: { - id: long; - accessHash: long; - shortName: string; - title: string; - description: string; - photo: Raw.TypePhoto; - document?: Raw.TypeDocument; - hash: long; - }) { - super(); - this.classType = 'types'; - this.className = 'BotApp'; - this.constructorId = 0x95fcd1d6; - this.subclassOfId = 0x20f32ae; - this._slots = [ - 'id', - 'accessHash', - 'shortName', - 'title', - 'description', - 'photo', - 'document', - 'hash', - ]; - this.id = params.id; - this.accessHash = params.accessHash; - this.shortName = params.shortName; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.document = params.document; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let shortName = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = await TLObject.read(_data); - let document = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let hash = await Primitive.Long.read(_data); - return new Raw.BotApp({ - id: id, - accessHash: accessHash, - shortName: shortName, - title: title, - description: description, - photo: photo, - document: document, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.document !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InlineBotWebView extends TLObject { - text!: string; - url!: string; - - constructor(params: { text: string; url: string }) { - super(); - this.classType = 'types'; - this.className = 'InlineBotWebView'; - this.constructorId = 0xb57295d5; - this.subclassOfId = 0x6ce015ea; - this._slots = ['text', 'url']; - this.text = params.text; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.InlineBotWebView({ text: text, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadParticipantDate extends TLObject { - userId!: long; - date!: int; - - constructor(params: { userId: long; date: int }) { - super(); - this.classType = 'types'; - this.className = 'ReadParticipantDate'; - this.constructorId = 0x4a4ff172; - this.subclassOfId = 0xfd078ce2; - this._slots = ['userId', 'date']; - this.userId = params.userId; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.ReadParticipantDate({ userId: userId, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputChatlistDialogFilter extends TLObject { - filterId!: int; - - constructor(params: { filterId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputChatlistDialogFilter'; - this.constructorId = 0xf3e0da33; - this.subclassOfId = 0x23f9659; - this._slots = ['filterId']; - this.filterId = params.filterId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let filterId = await Primitive.Int.read(_data); - return new Raw.InputChatlistDialogFilter({ filterId: filterId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.filterId !== undefined) { - b.write(Primitive.Int.write(this.filterId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedChatlistInvite extends TLObject { - title!: string; - url!: string; - peers!: Vector; - - constructor(params: { title: string; url: string; peers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ExportedChatlistInvite'; - this.constructorId = 0xc5181ac; - this.subclassOfId = 0x7711f8ff; - this._slots = ['title', 'url', 'peers']; - this.title = params.title; - this.url = params.url; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - let peers = await TLObject.read(_data); - return new Raw.ExportedChatlistInvite({ title: title, url: url, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessagePeerVote extends TLObject { - peer!: Raw.TypePeer; - option!: bytes; - date!: int; - - constructor(params: { peer: Raw.TypePeer; option: bytes; date: int }) { - super(); - this.classType = 'types'; - this.className = 'MessagePeerVote'; - this.constructorId = 0xb6cc2d5c; - this.subclassOfId = 0x85c27202; - this._slots = ['peer', 'option', 'date']; - this.peer = params.peer; - this.option = params.option; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let option = await Primitive.Bytes.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.MessagePeerVote({ peer: peer, option: option, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessagePeerVoteInputOption extends TLObject { - peer!: Raw.TypePeer; - date!: int; - - constructor(params: { peer: Raw.TypePeer; date: int }) { - super(); - this.classType = 'types'; - this.className = 'MessagePeerVoteInputOption'; - this.constructorId = 0x74cda504; - this.subclassOfId = 0x85c27202; - this._slots = ['peer', 'date']; - this.peer = params.peer; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.MessagePeerVoteInputOption({ peer: peer, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessagePeerVoteMultiple extends TLObject { - peer!: Raw.TypePeer; - options!: Vector; - date!: int; - - constructor(params: { peer: Raw.TypePeer; options: Vector; date: int }) { - super(); - this.classType = 'types'; - this.className = 'MessagePeerVoteMultiple'; - this.constructorId = 0x4628f6e6; - this.subclassOfId = 0x85c27202; - this._slots = ['peer', 'options', 'date']; - this.peer = params.peer; - this.options = params.options; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let options = await TLObject.read(_data, Primitive.Bytes); - let date = await Primitive.Int.read(_data); - return new Raw.MessagePeerVoteMultiple({ peer: peer, options: options, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.options) { - b.write(Primitive.Vector.write(this.options, Primitive.Bytes) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryViews extends TLObject { - hasViewers?: boolean; - viewsCount!: int; - forwardsCount?: int; - reactions?: Vector; - reactionsCount?: int; - recentViewers?: Vector; - - constructor(params: { - hasViewers?: boolean; - viewsCount: int; - forwardsCount?: int; - reactions?: Vector; - reactionsCount?: int; - recentViewers?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'StoryViews'; - this.constructorId = 0x8d595cd6; - this.subclassOfId = 0x54e4ac66; - this._slots = [ - 'hasViewers', - 'viewsCount', - 'forwardsCount', - 'reactions', - 'reactionsCount', - 'recentViewers', - ]; - this.hasViewers = params.hasViewers; - this.viewsCount = params.viewsCount; - this.forwardsCount = params.forwardsCount; - this.reactions = params.reactions; - this.reactionsCount = params.reactionsCount; - this.recentViewers = params.recentViewers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasViewers = flags & (1 << 1) ? true : false; - let viewsCount = await Primitive.Int.read(_data); - let forwardsCount = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let reactions = flags & (1 << 3) ? await TLObject.read(_data) : []; - let reactionsCount = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let recentViewers = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Long) : []; - return new Raw.StoryViews({ - hasViewers: hasViewers, - viewsCount: viewsCount, - forwardsCount: forwardsCount, - reactions: reactions, - reactionsCount: reactionsCount, - recentViewers: recentViewers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasViewers ? 1 << 1 : 0; - flags |= this.forwardsCount !== undefined ? 1 << 2 : 0; - flags |= this.reactions ? 1 << 3 : 0; - flags |= this.reactionsCount !== undefined ? 1 << 4 : 0; - flags |= this.recentViewers ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.viewsCount !== undefined) { - b.write(Primitive.Int.write(this.viewsCount) as unknown as Buffer); - } - if (this.forwardsCount !== undefined) { - b.write(Primitive.Int.write(this.forwardsCount) as unknown as Buffer); - } - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - if (this.reactionsCount !== undefined) { - b.write(Primitive.Int.write(this.reactionsCount) as unknown as Buffer); - } - if (this.recentViewers) { - b.write(Primitive.Vector.write(this.recentViewers, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryItemDeleted extends TLObject { - id!: int; - - constructor(params: { id: int }) { - super(); - this.classType = 'types'; - this.className = 'StoryItemDeleted'; - this.constructorId = 0x51e6ee4f; - this.subclassOfId = 0xd477b133; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Int.read(_data); - return new Raw.StoryItemDeleted({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryItemSkipped extends TLObject { - closeFriends?: boolean; - id!: int; - date!: int; - expireDate!: int; - - constructor(params: { closeFriends?: boolean; id: int; date: int; expireDate: int }) { - super(); - this.classType = 'types'; - this.className = 'StoryItemSkipped'; - this.constructorId = 0xffadc913; - this.subclassOfId = 0xd477b133; - this._slots = ['closeFriends', 'id', 'date', 'expireDate']; - this.closeFriends = params.closeFriends; - this.id = params.id; - this.date = params.date; - this.expireDate = params.expireDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let closeFriends = flags & (1 << 8) ? true : false; - let id = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let expireDate = await Primitive.Int.read(_data); - return new Raw.StoryItemSkipped({ - closeFriends: closeFriends, - id: id, - date: date, - expireDate: expireDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.closeFriends ? 1 << 8 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.expireDate !== undefined) { - b.write(Primitive.Int.write(this.expireDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryItem extends TLObject { - pinned?: boolean; - public?: boolean; - closeFriends?: boolean; - min?: boolean; - noforwards?: boolean; - edited?: boolean; - contacts?: boolean; - selectedContacts?: boolean; - out?: boolean; - id!: int; - date!: int; - fromId?: Raw.TypePeer; - fwdFrom?: Raw.TypeStoryFwdHeader; - expireDate!: int; - caption?: string; - entities?: Vector; - media!: Raw.TypeMessageMedia; - mediaAreas?: Vector; - privacy?: Vector; - views?: Raw.TypeStoryViews; - sentReaction?: Raw.TypeReaction; - - constructor(params: { - pinned?: boolean; - public?: boolean; - closeFriends?: boolean; - min?: boolean; - noforwards?: boolean; - edited?: boolean; - contacts?: boolean; - selectedContacts?: boolean; - out?: boolean; - id: int; - date: int; - fromId?: Raw.TypePeer; - fwdFrom?: Raw.TypeStoryFwdHeader; - expireDate: int; - caption?: string; - entities?: Vector; - media: Raw.TypeMessageMedia; - mediaAreas?: Vector; - privacy?: Vector; - views?: Raw.TypeStoryViews; - sentReaction?: Raw.TypeReaction; - }) { - super(); - this.classType = 'types'; - this.className = 'StoryItem'; - this.constructorId = 0x79b26a24; - this.subclassOfId = 0xd477b133; - this._slots = [ - 'pinned', - 'public', - 'closeFriends', - 'min', - 'noforwards', - 'edited', - 'contacts', - 'selectedContacts', - 'out', - 'id', - 'date', - 'fromId', - 'fwdFrom', - 'expireDate', - 'caption', - 'entities', - 'media', - 'mediaAreas', - 'privacy', - 'views', - 'sentReaction', - ]; - this.pinned = params.pinned; - this.public = params.public; - this.closeFriends = params.closeFriends; - this.min = params.min; - this.noforwards = params.noforwards; - this.edited = params.edited; - this.contacts = params.contacts; - this.selectedContacts = params.selectedContacts; - this.out = params.out; - this.id = params.id; - this.date = params.date; - this.fromId = params.fromId; - this.fwdFrom = params.fwdFrom; - this.expireDate = params.expireDate; - this.caption = params.caption; - this.entities = params.entities; - this.media = params.media; - this.mediaAreas = params.mediaAreas; - this.privacy = params.privacy; - this.views = params.views; - this.sentReaction = params.sentReaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 5) ? true : false; - let _public = flags & (1 << 7) ? true : false; - let closeFriends = flags & (1 << 8) ? true : false; - let min = flags & (1 << 9) ? true : false; - let noforwards = flags & (1 << 10) ? true : false; - let edited = flags & (1 << 11) ? true : false; - let contacts = flags & (1 << 12) ? true : false; - let selectedContacts = flags & (1 << 13) ? true : false; - let out = flags & (1 << 16) ? true : false; - let id = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let fromId = flags & (1 << 18) ? await TLObject.read(_data) : undefined; - let fwdFrom = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let expireDate = await Primitive.Int.read(_data); - let caption = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let media = await TLObject.read(_data); - let mediaAreas = flags & (1 << 14) ? await TLObject.read(_data) : []; - let privacy = flags & (1 << 2) ? await TLObject.read(_data) : []; - let views = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let sentReaction = flags & (1 << 15) ? await TLObject.read(_data) : undefined; - return new Raw.StoryItem({ - pinned: pinned, - public: _public, - closeFriends: closeFriends, - min: min, - noforwards: noforwards, - edited: edited, - contacts: contacts, - selectedContacts: selectedContacts, - out: out, - id: id, - date: date, - fromId: fromId, - fwdFrom: fwdFrom, - expireDate: expireDate, - caption: caption, - entities: entities, - media: media, - mediaAreas: mediaAreas, - privacy: privacy, - views: views, - sentReaction: sentReaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 5 : 0; - flags |= this.public ? 1 << 7 : 0; - flags |= this.closeFriends ? 1 << 8 : 0; - flags |= this.min ? 1 << 9 : 0; - flags |= this.noforwards ? 1 << 10 : 0; - flags |= this.edited ? 1 << 11 : 0; - flags |= this.contacts ? 1 << 12 : 0; - flags |= this.selectedContacts ? 1 << 13 : 0; - flags |= this.out ? 1 << 16 : 0; - flags |= this.fromId !== undefined ? 1 << 18 : 0; - flags |= this.fwdFrom !== undefined ? 1 << 17 : 0; - flags |= this.caption !== undefined ? 1 << 0 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.mediaAreas ? 1 << 14 : 0; - flags |= this.privacy ? 1 << 2 : 0; - flags |= this.views !== undefined ? 1 << 3 : 0; - flags |= this.sentReaction !== undefined ? 1 << 15 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.fwdFrom !== undefined) { - b.write(this.fwdFrom.write() as unknown as Buffer); - } - if (this.expireDate !== undefined) { - b.write(Primitive.Int.write(this.expireDate) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.mediaAreas) { - b.write(Primitive.Vector.write(this.mediaAreas) as unknown as Buffer); - } - if (this.privacy) { - b.write(Primitive.Vector.write(this.privacy) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(this.views.write() as unknown as Buffer); - } - if (this.sentReaction !== undefined) { - b.write(this.sentReaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryView extends TLObject { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - userId!: long; - date!: int; - reaction?: Raw.TypeReaction; - - constructor(params: { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - userId: long; - date: int; - reaction?: Raw.TypeReaction; - }) { - super(); - this.classType = 'types'; - this.className = 'StoryView'; - this.constructorId = 0xb0bdeac5; - this.subclassOfId = 0x35913fa3; - this._slots = ['blocked', 'blockedMyStoriesFrom', 'userId', 'date', 'reaction']; - this.blocked = params.blocked; - this.blockedMyStoriesFrom = params.blockedMyStoriesFrom; - this.userId = params.userId; - this.date = params.date; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let blocked = flags & (1 << 0) ? true : false; - let blockedMyStoriesFrom = flags & (1 << 1) ? true : false; - let userId = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let reaction = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.StoryView({ - blocked: blocked, - blockedMyStoriesFrom: blockedMyStoriesFrom, - userId: userId, - date: date, - reaction: reaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.blocked ? 1 << 0 : 0; - flags |= this.blockedMyStoriesFrom ? 1 << 1 : 0; - flags |= this.reaction !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryViewPublicForward extends TLObject { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - message!: Raw.TypeMessage; - - constructor(params: { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - message: Raw.TypeMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'StoryViewPublicForward'; - this.constructorId = 0x9083670b; - this.subclassOfId = 0x35913fa3; - this._slots = ['blocked', 'blockedMyStoriesFrom', 'message']; - this.blocked = params.blocked; - this.blockedMyStoriesFrom = params.blockedMyStoriesFrom; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let blocked = flags & (1 << 0) ? true : false; - let blockedMyStoriesFrom = flags & (1 << 1) ? true : false; - let message = await TLObject.read(_data); - return new Raw.StoryViewPublicForward({ - blocked: blocked, - blockedMyStoriesFrom: blockedMyStoriesFrom, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.blocked ? 1 << 0 : 0; - flags |= this.blockedMyStoriesFrom ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryViewPublicRepost extends TLObject { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - peerId!: Raw.TypePeer; - story!: Raw.TypeStoryItem; - - constructor(params: { - blocked?: boolean; - blockedMyStoriesFrom?: boolean; - peerId: Raw.TypePeer; - story: Raw.TypeStoryItem; - }) { - super(); - this.classType = 'types'; - this.className = 'StoryViewPublicRepost'; - this.constructorId = 0xbd74cf49; - this.subclassOfId = 0x35913fa3; - this._slots = ['blocked', 'blockedMyStoriesFrom', 'peerId', 'story']; - this.blocked = params.blocked; - this.blockedMyStoriesFrom = params.blockedMyStoriesFrom; - this.peerId = params.peerId; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let blocked = flags & (1 << 0) ? true : false; - let blockedMyStoriesFrom = flags & (1 << 1) ? true : false; - let peerId = await TLObject.read(_data); - let story = await TLObject.read(_data); - return new Raw.StoryViewPublicRepost({ - blocked: blocked, - blockedMyStoriesFrom: blockedMyStoriesFrom, - peerId: peerId, - story: story, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.blocked ? 1 << 0 : 0; - flags |= this.blockedMyStoriesFrom ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReplyToMessage extends TLObject { - replyToMsgId!: int; - topMsgId?: int; - replyToPeerId?: Raw.TypeInputPeer; - quoteText?: string; - quoteEntities?: Vector; - quoteOffset?: int; - monoforumPeerId?: Raw.TypeInputPeer; - - constructor(params: { - replyToMsgId: int; - topMsgId?: int; - replyToPeerId?: Raw.TypeInputPeer; - quoteText?: string; - quoteEntities?: Vector; - quoteOffset?: int; - monoforumPeerId?: Raw.TypeInputPeer; - }) { - super(); - this.classType = 'types'; - this.className = 'InputReplyToMessage'; - this.constructorId = 0xb07038b0; - this.subclassOfId = 0x8c71131d; - this._slots = [ - 'replyToMsgId', - 'topMsgId', - 'replyToPeerId', - 'quoteText', - 'quoteEntities', - 'quoteOffset', - 'monoforumPeerId', - ]; - this.replyToMsgId = params.replyToMsgId; - this.topMsgId = params.topMsgId; - this.replyToPeerId = params.replyToPeerId; - this.quoteText = params.quoteText; - this.quoteEntities = params.quoteEntities; - this.quoteOffset = params.quoteOffset; - this.monoforumPeerId = params.monoforumPeerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let replyToMsgId = await Primitive.Int.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let replyToPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let quoteText = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let quoteEntities = flags & (1 << 3) ? await TLObject.read(_data) : []; - let quoteOffset = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let monoforumPeerId = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - return new Raw.InputReplyToMessage({ - replyToMsgId: replyToMsgId, - topMsgId: topMsgId, - replyToPeerId: replyToPeerId, - quoteText: quoteText, - quoteEntities: quoteEntities, - quoteOffset: quoteOffset, - monoforumPeerId: monoforumPeerId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.replyToPeerId !== undefined ? 1 << 1 : 0; - flags |= this.quoteText !== undefined ? 1 << 2 : 0; - flags |= this.quoteEntities ? 1 << 3 : 0; - flags |= this.quoteOffset !== undefined ? 1 << 4 : 0; - flags |= this.monoforumPeerId !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.replyToMsgId !== undefined) { - b.write(Primitive.Int.write(this.replyToMsgId) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.replyToPeerId !== undefined) { - b.write(this.replyToPeerId.write() as unknown as Buffer); - } - if (this.quoteText !== undefined) { - b.write(Primitive.String.write(this.quoteText) as unknown as Buffer); - } - if (this.quoteEntities) { - b.write(Primitive.Vector.write(this.quoteEntities) as unknown as Buffer); - } - if (this.quoteOffset !== undefined) { - b.write(Primitive.Int.write(this.quoteOffset) as unknown as Buffer); - } - if (this.monoforumPeerId !== undefined) { - b.write(this.monoforumPeerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReplyToStory extends TLObject { - peer!: Raw.TypeInputPeer; - storyId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; storyId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputReplyToStory'; - this.constructorId = 0x5881323a; - this.subclassOfId = 0x8c71131d; - this._slots = ['peer', 'storyId']; - this.peer = params.peer; - this.storyId = params.storyId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let storyId = await Primitive.Int.read(_data); - return new Raw.InputReplyToStory({ peer: peer, storyId: storyId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputReplyToMonoForum extends TLObject { - monoforumPeerId!: Raw.TypeInputPeer; - - constructor(params: { monoforumPeerId: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'InputReplyToMonoForum'; - this.constructorId = 0x69d66c45; - this.subclassOfId = 0x8c71131d; - this._slots = ['monoforumPeerId']; - this.monoforumPeerId = params.monoforumPeerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let monoforumPeerId = await TLObject.read(_data); - return new Raw.InputReplyToMonoForum({ monoforumPeerId: monoforumPeerId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.monoforumPeerId !== undefined) { - b.write(this.monoforumPeerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedStoryLink extends TLObject { - link!: string; - - constructor(params: { link: string }) { - super(); - this.classType = 'types'; - this.className = 'ExportedStoryLink'; - this.constructorId = 0x3fc9053b; - this.subclassOfId = 0xfc541a6; - this._slots = ['link']; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let link = await Primitive.String.read(_data); - return new Raw.ExportedStoryLink({ link: link }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoriesStealthMode extends TLObject { - activeUntilDate?: int; - cooldownUntilDate?: int; - - constructor(params: { activeUntilDate?: int; cooldownUntilDate?: int }) { - super(); - this.classType = 'types'; - this.className = 'StoriesStealthMode'; - this.constructorId = 0x712e27fd; - this.subclassOfId = 0x2ed8401; - this._slots = ['activeUntilDate', 'cooldownUntilDate']; - this.activeUntilDate = params.activeUntilDate; - this.cooldownUntilDate = params.cooldownUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let activeUntilDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let cooldownUntilDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.StoriesStealthMode({ - activeUntilDate: activeUntilDate, - cooldownUntilDate: cooldownUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.activeUntilDate !== undefined ? 1 << 0 : 0; - flags |= this.cooldownUntilDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.activeUntilDate !== undefined) { - b.write(Primitive.Int.write(this.activeUntilDate) as unknown as Buffer); - } - if (this.cooldownUntilDate !== undefined) { - b.write(Primitive.Int.write(this.cooldownUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaCoordinates extends TLObject { - x!: double; - y!: double; - w!: double; - h!: double; - rotation!: double; - radius?: double; - - constructor(params: { - x: double; - y: double; - w: double; - h: double; - rotation: double; - radius?: double; - }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaCoordinates'; - this.constructorId = 0xcfc9e002; - this.subclassOfId = 0x1d448c39; - this._slots = ['x', 'y', 'w', 'h', 'rotation', 'radius']; - this.x = params.x; - this.y = params.y; - this.w = params.w; - this.h = params.h; - this.rotation = params.rotation; - this.radius = params.radius; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let x = await Primitive.Double.read(_data); - let y = await Primitive.Double.read(_data); - let w = await Primitive.Double.read(_data); - let h = await Primitive.Double.read(_data); - let rotation = await Primitive.Double.read(_data); - let radius = flags & (1 << 0) ? await Primitive.Double.read(_data) : undefined; - return new Raw.MediaAreaCoordinates({ - x: x, - y: y, - w: w, - h: h, - rotation: rotation, - radius: radius, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.radius !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.x !== undefined) { - b.write(Primitive.Double.write(this.x) as unknown as Buffer); - } - if (this.y !== undefined) { - b.write(Primitive.Double.write(this.y) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Double.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Double.write(this.h) as unknown as Buffer); - } - if (this.rotation !== undefined) { - b.write(Primitive.Double.write(this.rotation) as unknown as Buffer); - } - if (this.radius !== undefined) { - b.write(Primitive.Double.write(this.radius) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaVenue extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - geo!: Raw.TypeGeoPoint; - title!: string; - address!: string; - provider!: string; - venueId!: string; - venueType!: string; - - constructor(params: { - coordinates: Raw.TypeMediaAreaCoordinates; - geo: Raw.TypeGeoPoint; - title: string; - address: string; - provider: string; - venueId: string; - venueType: string; - }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaVenue'; - this.constructorId = 0xbe82db9c; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'geo', 'title', 'address', 'provider', 'venueId', 'venueType']; - this.coordinates = params.coordinates; - this.geo = params.geo; - this.title = params.title; - this.address = params.address; - this.provider = params.provider; - this.venueId = params.venueId; - this.venueType = params.venueType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let geo = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let address = await Primitive.String.read(_data); - let provider = await Primitive.String.read(_data); - let venueId = await Primitive.String.read(_data); - let venueType = await Primitive.String.read(_data); - return new Raw.MediaAreaVenue({ - coordinates: coordinates, - geo: geo, - title: title, - address: address, - provider: provider, - venueId: venueId, - venueType: venueType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.venueId !== undefined) { - b.write(Primitive.String.write(this.venueId) as unknown as Buffer); - } - if (this.venueType !== undefined) { - b.write(Primitive.String.write(this.venueType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaAreaVenue extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - queryId!: long; - resultId!: string; - - constructor(params: { - coordinates: Raw.TypeMediaAreaCoordinates; - queryId: long; - resultId: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaAreaVenue'; - this.constructorId = 0xb282217f; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'queryId', 'resultId']; - this.coordinates = params.coordinates; - this.queryId = params.queryId; - this.resultId = params.resultId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let queryId = await Primitive.Long.read(_data); - let resultId = await Primitive.String.read(_data); - return new Raw.InputMediaAreaVenue({ - coordinates: coordinates, - queryId: queryId, - resultId: resultId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.resultId !== undefined) { - b.write(Primitive.String.write(this.resultId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaGeoPoint extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - geo!: Raw.TypeGeoPoint; - address?: Raw.TypeGeoPointAddress; - - constructor(params: { - coordinates: Raw.TypeMediaAreaCoordinates; - geo: Raw.TypeGeoPoint; - address?: Raw.TypeGeoPointAddress; - }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaGeoPoint'; - this.constructorId = 0xcad5452d; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'geo', 'address']; - this.coordinates = params.coordinates; - this.geo = params.geo; - this.address = params.address; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let coordinates = await TLObject.read(_data); - let geo = await TLObject.read(_data); - let address = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.MediaAreaGeoPoint({ coordinates: coordinates, geo: geo, address: address }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.address !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.geo !== undefined) { - b.write(this.geo.write() as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(this.address.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaSuggestedReaction extends TLObject { - dark?: boolean; - flipped?: boolean; - coordinates!: Raw.TypeMediaAreaCoordinates; - reaction!: Raw.TypeReaction; - - constructor(params: { - dark?: boolean; - flipped?: boolean; - coordinates: Raw.TypeMediaAreaCoordinates; - reaction: Raw.TypeReaction; - }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaSuggestedReaction'; - this.constructorId = 0x14455871; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['dark', 'flipped', 'coordinates', 'reaction']; - this.dark = params.dark; - this.flipped = params.flipped; - this.coordinates = params.coordinates; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let flipped = flags & (1 << 1) ? true : false; - let coordinates = await TLObject.read(_data); - let reaction = await TLObject.read(_data); - return new Raw.MediaAreaSuggestedReaction({ - dark: dark, - flipped: flipped, - coordinates: coordinates, - reaction: reaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - flags |= this.flipped ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaChannelPost extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - channelId!: long; - msgId!: int; - - constructor(params: { - coordinates: Raw.TypeMediaAreaCoordinates; - channelId: long; - msgId: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaChannelPost'; - this.constructorId = 0x770416af; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'channelId', 'msgId']; - this.coordinates = params.coordinates; - this.channelId = params.channelId; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let channelId = await Primitive.Long.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.MediaAreaChannelPost({ - coordinates: coordinates, - channelId: channelId, - msgId: msgId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputMediaAreaChannelPost extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - channel!: Raw.TypeInputChannel; - msgId!: int; - - constructor(params: { - coordinates: Raw.TypeMediaAreaCoordinates; - channel: Raw.TypeInputChannel; - msgId: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputMediaAreaChannelPost'; - this.constructorId = 0x2271f2bf; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'channel', 'msgId']; - this.coordinates = params.coordinates; - this.channel = params.channel; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let channel = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.InputMediaAreaChannelPost({ - coordinates: coordinates, - channel: channel, - msgId: msgId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaUrl extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - url!: string; - - constructor(params: { coordinates: Raw.TypeMediaAreaCoordinates; url: string }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaUrl'; - this.constructorId = 0x37381085; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'url']; - this.coordinates = params.coordinates; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.MediaAreaUrl({ coordinates: coordinates, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaWeather extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - emoji!: string; - temperatureC!: double; - color!: int; - - constructor(params: { - coordinates: Raw.TypeMediaAreaCoordinates; - emoji: string; - temperatureC: double; - color: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaWeather'; - this.constructorId = 0x49a6549c; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'emoji', 'temperatureC', 'color']; - this.coordinates = params.coordinates; - this.emoji = params.emoji; - this.temperatureC = params.temperatureC; - this.color = params.color; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let emoji = await Primitive.String.read(_data); - let temperatureC = await Primitive.Double.read(_data); - let color = await Primitive.Int.read(_data); - return new Raw.MediaAreaWeather({ - coordinates: coordinates, - emoji: emoji, - temperatureC: temperatureC, - color: color, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.emoji !== undefined) { - b.write(Primitive.String.write(this.emoji) as unknown as Buffer); - } - if (this.temperatureC !== undefined) { - b.write(Primitive.Double.write(this.temperatureC) as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MediaAreaStarGift extends TLObject { - coordinates!: Raw.TypeMediaAreaCoordinates; - slug!: string; - - constructor(params: { coordinates: Raw.TypeMediaAreaCoordinates; slug: string }) { - super(); - this.classType = 'types'; - this.className = 'MediaAreaStarGift'; - this.constructorId = 0x5787686d; - this.subclassOfId = 0xf36d7bf2; - this._slots = ['coordinates', 'slug']; - this.coordinates = params.coordinates; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let coordinates = await TLObject.read(_data); - let slug = await Primitive.String.read(_data); - return new Raw.MediaAreaStarGift({ coordinates: coordinates, slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.coordinates !== undefined) { - b.write(this.coordinates.write() as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerStories extends TLObject { - peer!: Raw.TypePeer; - maxReadId?: int; - stories!: Vector; - - constructor(params: { - peer: Raw.TypePeer; - maxReadId?: int; - stories: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'PeerStories'; - this.constructorId = 0x9a35e999; - this.subclassOfId = 0x122c8a47; - this._slots = ['peer', 'maxReadId', 'stories']; - this.peer = params.peer; - this.maxReadId = params.maxReadId; - this.stories = params.stories; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let maxReadId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let stories = await TLObject.read(_data); - return new Raw.PeerStories({ peer: peer, maxReadId: maxReadId, stories: stories }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.maxReadId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxReadId !== undefined) { - b.write(Primitive.Int.write(this.maxReadId) as unknown as Buffer); - } - if (this.stories) { - b.write(Primitive.Vector.write(this.stories) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PremiumGiftCodeOption extends TLObject { - users!: int; - months!: int; - storeProduct?: string; - storeQuantity?: int; - currency!: string; - amount!: long; - - constructor(params: { - users: int; - months: int; - storeProduct?: string; - storeQuantity?: int; - currency: string; - amount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'PremiumGiftCodeOption'; - this.constructorId = 0x257e962b; - this.subclassOfId = 0x21d3c2; - this._slots = ['users', 'months', 'storeProduct', 'storeQuantity', 'currency', 'amount']; - this.users = params.users; - this.months = params.months; - this.storeProduct = params.storeProduct; - this.storeQuantity = params.storeQuantity; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let users = await Primitive.Int.read(_data); - let months = await Primitive.Int.read(_data); - let storeProduct = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let storeQuantity = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.PremiumGiftCodeOption({ - users: users, - months: months, - storeProduct: storeProduct, - storeQuantity: storeQuantity, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.storeProduct !== undefined ? 1 << 0 : 0; - flags |= this.storeQuantity !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users !== undefined) { - b.write(Primitive.Int.write(this.users) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.storeProduct !== undefined) { - b.write(Primitive.String.write(this.storeProduct) as unknown as Buffer); - } - if (this.storeQuantity !== undefined) { - b.write(Primitive.Int.write(this.storeQuantity) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrepaidGiveaway extends TLObject { - id!: long; - months!: int; - quantity!: int; - date!: int; - - constructor(params: { id: long; months: int; quantity: int; date: int }) { - super(); - this.classType = 'types'; - this.className = 'PrepaidGiveaway'; - this.constructorId = 0xb2539d54; - this.subclassOfId = 0xee3e6780; - this._slots = ['id', 'months', 'quantity', 'date']; - this.id = params.id; - this.months = params.months; - this.quantity = params.quantity; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let months = await Primitive.Int.read(_data); - let quantity = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.PrepaidGiveaway({ id: id, months: months, quantity: quantity, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.quantity !== undefined) { - b.write(Primitive.Int.write(this.quantity) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PrepaidStarsGiveaway extends TLObject { - id!: long; - stars!: long; - quantity!: int; - boosts!: int; - date!: int; - - constructor(params: { id: long; stars: long; quantity: int; boosts: int; date: int }) { - super(); - this.classType = 'types'; - this.className = 'PrepaidStarsGiveaway'; - this.constructorId = 0x9a9d77e0; - this.subclassOfId = 0xee3e6780; - this._slots = ['id', 'stars', 'quantity', 'boosts', 'date']; - this.id = params.id; - this.stars = params.stars; - this.quantity = params.quantity; - this.boosts = params.boosts; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let stars = await Primitive.Long.read(_data); - let quantity = await Primitive.Int.read(_data); - let boosts = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.PrepaidStarsGiveaway({ - id: id, - stars: stars, - quantity: quantity, - boosts: boosts, - date: date, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.quantity !== undefined) { - b.write(Primitive.Int.write(this.quantity) as unknown as Buffer); - } - if (this.boosts !== undefined) { - b.write(Primitive.Int.write(this.boosts) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Boost extends TLObject { - gift?: boolean; - giveaway?: boolean; - unclaimed?: boolean; - id!: string; - userId?: long; - giveawayMsgId?: int; - date!: int; - expires!: int; - usedGiftSlug?: string; - multiplier?: int; - stars?: long; - - constructor(params: { - gift?: boolean; - giveaway?: boolean; - unclaimed?: boolean; - id: string; - userId?: long; - giveawayMsgId?: int; - date: int; - expires: int; - usedGiftSlug?: string; - multiplier?: int; - stars?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'Boost'; - this.constructorId = 0x4b3e14d6; - this.subclassOfId = 0x97a5086c; - this._slots = [ - 'gift', - 'giveaway', - 'unclaimed', - 'id', - 'userId', - 'giveawayMsgId', - 'date', - 'expires', - 'usedGiftSlug', - 'multiplier', - 'stars', - ]; - this.gift = params.gift; - this.giveaway = params.giveaway; - this.unclaimed = params.unclaimed; - this.id = params.id; - this.userId = params.userId; - this.giveawayMsgId = params.giveawayMsgId; - this.date = params.date; - this.expires = params.expires; - this.usedGiftSlug = params.usedGiftSlug; - this.multiplier = params.multiplier; - this.stars = params.stars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let gift = flags & (1 << 1) ? true : false; - let giveaway = flags & (1 << 2) ? true : false; - let unclaimed = flags & (1 << 3) ? true : false; - let id = await Primitive.String.read(_data); - let userId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let giveawayMsgId = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let expires = await Primitive.Int.read(_data); - let usedGiftSlug = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let multiplier = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let stars = flags & (1 << 6) ? await Primitive.Long.read(_data) : undefined; - return new Raw.Boost({ - gift: gift, - giveaway: giveaway, - unclaimed: unclaimed, - id: id, - userId: userId, - giveawayMsgId: giveawayMsgId, - date: date, - expires: expires, - usedGiftSlug: usedGiftSlug, - multiplier: multiplier, - stars: stars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.gift ? 1 << 1 : 0; - flags |= this.giveaway ? 1 << 2 : 0; - flags |= this.unclaimed ? 1 << 3 : 0; - flags |= this.userId !== undefined ? 1 << 0 : 0; - flags |= this.giveawayMsgId !== undefined ? 1 << 2 : 0; - flags |= this.usedGiftSlug !== undefined ? 1 << 4 : 0; - flags |= this.multiplier !== undefined ? 1 << 5 : 0; - flags |= this.stars !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.giveawayMsgId !== undefined) { - b.write(Primitive.Int.write(this.giveawayMsgId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.usedGiftSlug !== undefined) { - b.write(Primitive.String.write(this.usedGiftSlug) as unknown as Buffer); - } - if (this.multiplier !== undefined) { - b.write(Primitive.Int.write(this.multiplier) as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MyBoost extends TLObject { - slot!: int; - peer?: Raw.TypePeer; - date!: int; - expires!: int; - cooldownUntilDate?: int; - - constructor(params: { - slot: int; - peer?: Raw.TypePeer; - date: int; - expires: int; - cooldownUntilDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MyBoost'; - this.constructorId = 0xc448415c; - this.subclassOfId = 0xc51a68bf; - this._slots = ['slot', 'peer', 'date', 'expires', 'cooldownUntilDate']; - this.slot = params.slot; - this.peer = params.peer; - this.date = params.date; - this.expires = params.expires; - this.cooldownUntilDate = params.cooldownUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let slot = await Primitive.Int.read(_data); - let peer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let expires = await Primitive.Int.read(_data); - let cooldownUntilDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.MyBoost({ - slot: slot, - peer: peer, - date: date, - expires: expires, - cooldownUntilDate: cooldownUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.peer !== undefined ? 1 << 0 : 0; - flags |= this.cooldownUntilDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.slot !== undefined) { - b.write(Primitive.Int.write(this.slot) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.cooldownUntilDate !== undefined) { - b.write(Primitive.Int.write(this.cooldownUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryFwdHeader extends TLObject { - modified?: boolean; - from?: Raw.TypePeer; - fromName?: string; - storyId?: int; - - constructor(params: { - modified?: boolean; - from?: Raw.TypePeer; - fromName?: string; - storyId?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'StoryFwdHeader'; - this.constructorId = 0xb826e150; - this.subclassOfId = 0xaab0b12c; - this._slots = ['modified', 'from', 'fromName', 'storyId']; - this.modified = params.modified; - this.from = params.from; - this.fromName = params.fromName; - this.storyId = params.storyId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let modified = flags & (1 << 3) ? true : false; - let from = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let fromName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let storyId = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.StoryFwdHeader({ - modified: modified, - from: from, - fromName: fromName, - storyId: storyId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.modified ? 1 << 3 : 0; - flags |= this.from !== undefined ? 1 << 0 : 0; - flags |= this.fromName !== undefined ? 1 << 1 : 0; - flags |= this.storyId !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.from !== undefined) { - b.write(this.from.write() as unknown as Buffer); - } - if (this.fromName !== undefined) { - b.write(Primitive.String.write(this.fromName) as unknown as Buffer); - } - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PostInteractionCountersMessage extends TLObject { - msgId!: int; - views!: int; - forwards!: int; - reactions!: int; - - constructor(params: { msgId: int; views: int; forwards: int; reactions: int }) { - super(); - this.classType = 'types'; - this.className = 'PostInteractionCountersMessage'; - this.constructorId = 0xe7058e7f; - this.subclassOfId = 0x6e4a459b; - this._slots = ['msgId', 'views', 'forwards', 'reactions']; - this.msgId = params.msgId; - this.views = params.views; - this.forwards = params.forwards; - this.reactions = params.reactions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let msgId = await Primitive.Int.read(_data); - let views = await Primitive.Int.read(_data); - let forwards = await Primitive.Int.read(_data); - let reactions = await Primitive.Int.read(_data); - return new Raw.PostInteractionCountersMessage({ - msgId: msgId, - views: views, - forwards: forwards, - reactions: reactions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - if (this.forwards !== undefined) { - b.write(Primitive.Int.write(this.forwards) as unknown as Buffer); - } - if (this.reactions !== undefined) { - b.write(Primitive.Int.write(this.reactions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PostInteractionCountersStory extends TLObject { - storyId!: int; - views!: int; - forwards!: int; - reactions!: int; - - constructor(params: { storyId: int; views: int; forwards: int; reactions: int }) { - super(); - this.classType = 'types'; - this.className = 'PostInteractionCountersStory'; - this.constructorId = 0x8a480e27; - this.subclassOfId = 0x6e4a459b; - this._slots = ['storyId', 'views', 'forwards', 'reactions']; - this.storyId = params.storyId; - this.views = params.views; - this.forwards = params.forwards; - this.reactions = params.reactions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let storyId = await Primitive.Int.read(_data); - let views = await Primitive.Int.read(_data); - let forwards = await Primitive.Int.read(_data); - let reactions = await Primitive.Int.read(_data); - return new Raw.PostInteractionCountersStory({ - storyId: storyId, - views: views, - forwards: forwards, - reactions: reactions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - if (this.forwards !== undefined) { - b.write(Primitive.Int.write(this.forwards) as unknown as Buffer); - } - if (this.reactions !== undefined) { - b.write(Primitive.Int.write(this.reactions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PublicForwardMessage extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'PublicForwardMessage'; - this.constructorId = 0x1f2bf4a; - this.subclassOfId = 0x629015d3; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.PublicForwardMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PublicForwardStory extends TLObject { - peer!: Raw.TypePeer; - story!: Raw.TypeStoryItem; - - constructor(params: { peer: Raw.TypePeer; story: Raw.TypeStoryItem }) { - super(); - this.classType = 'types'; - this.className = 'PublicForwardStory'; - this.constructorId = 0xedf3add0; - this.subclassOfId = 0x629015d3; - this._slots = ['peer', 'story']; - this.peer = params.peer; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let story = await TLObject.read(_data); - return new Raw.PublicForwardStory({ peer: peer, story: story }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerColor extends TLObject { - color?: int; - backgroundEmojiId?: long; - - constructor(params: { color?: int; backgroundEmojiId?: long }) { - super(); - this.classType = 'types'; - this.className = 'PeerColor'; - this.constructorId = 0xb54b5acf; - this.subclassOfId = 0xf281a47f; - this._slots = ['color', 'backgroundEmojiId']; - this.color = params.color; - this.backgroundEmojiId = params.backgroundEmojiId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let color = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let backgroundEmojiId = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - return new Raw.PeerColor({ color: color, backgroundEmojiId: backgroundEmojiId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.color !== undefined ? 1 << 0 : 0; - flags |= this.backgroundEmojiId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - if (this.backgroundEmojiId !== undefined) { - b.write(Primitive.Long.write(this.backgroundEmojiId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryReaction extends TLObject { - peerId!: Raw.TypePeer; - date!: int; - reaction!: Raw.TypeReaction; - - constructor(params: { peerId: Raw.TypePeer; date: int; reaction: Raw.TypeReaction }) { - super(); - this.classType = 'types'; - this.className = 'StoryReaction'; - this.constructorId = 0x6090d6d5; - this.subclassOfId = 0xc96b5fab; - this._slots = ['peerId', 'date', 'reaction']; - this.peerId = params.peerId; - this.date = params.date; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peerId = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let reaction = await TLObject.read(_data); - return new Raw.StoryReaction({ peerId: peerId, date: date, reaction: reaction }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryReactionPublicForward extends TLObject { - message!: Raw.TypeMessage; - - constructor(params: { message: Raw.TypeMessage }) { - super(); - this.classType = 'types'; - this.className = 'StoryReactionPublicForward'; - this.constructorId = 0xbbab2643; - this.subclassOfId = 0xc96b5fab; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await TLObject.read(_data); - return new Raw.StoryReactionPublicForward({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryReactionPublicRepost extends TLObject { - peerId!: Raw.TypePeer; - story!: Raw.TypeStoryItem; - - constructor(params: { peerId: Raw.TypePeer; story: Raw.TypeStoryItem }) { - super(); - this.classType = 'types'; - this.className = 'StoryReactionPublicRepost'; - this.constructorId = 0xcfcd0f13; - this.subclassOfId = 0xc96b5fab; - this._slots = ['peerId', 'story']; - this.peerId = params.peerId; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peerId = await TLObject.read(_data); - let story = await TLObject.read(_data); - return new Raw.StoryReactionPublicRepost({ peerId: peerId, story: story }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedDialog extends TLObject { - pinned?: boolean; - peer!: Raw.TypePeer; - topMessage!: int; - - constructor(params: { pinned?: boolean; peer: Raw.TypePeer; topMessage: int }) { - super(); - this.classType = 'types'; - this.className = 'SavedDialog'; - this.constructorId = 0xbd87cb6c; - this.subclassOfId = 0x23ba6506; - this._slots = ['pinned', 'peer', 'topMessage']; - this.pinned = params.pinned; - this.peer = params.peer; - this.topMessage = params.topMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let topMessage = await Primitive.Int.read(_data); - return new Raw.SavedDialog({ pinned: pinned, peer: peer, topMessage: topMessage }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMessage !== undefined) { - b.write(Primitive.Int.write(this.topMessage) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MonoForumDialog extends TLObject { - unreadMark?: boolean; - nopaidMessagesException?: boolean; - peer!: Raw.TypePeer; - topMessage!: int; - readInboxMaxId!: int; - readOutboxMaxId!: int; - unreadCount!: int; - unreadReactionsCount!: int; - draft?: Raw.TypeDraftMessage; - - constructor(params: { - unreadMark?: boolean; - nopaidMessagesException?: boolean; - peer: Raw.TypePeer; - topMessage: int; - readInboxMaxId: int; - readOutboxMaxId: int; - unreadCount: int; - unreadReactionsCount: int; - draft?: Raw.TypeDraftMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'MonoForumDialog'; - this.constructorId = 0x64407ea7; - this.subclassOfId = 0x23ba6506; - this._slots = [ - 'unreadMark', - 'nopaidMessagesException', - 'peer', - 'topMessage', - 'readInboxMaxId', - 'readOutboxMaxId', - 'unreadCount', - 'unreadReactionsCount', - 'draft', - ]; - this.unreadMark = params.unreadMark; - this.nopaidMessagesException = params.nopaidMessagesException; - this.peer = params.peer; - this.topMessage = params.topMessage; - this.readInboxMaxId = params.readInboxMaxId; - this.readOutboxMaxId = params.readOutboxMaxId; - this.unreadCount = params.unreadCount; - this.unreadReactionsCount = params.unreadReactionsCount; - this.draft = params.draft; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let unreadMark = flags & (1 << 3) ? true : false; - let nopaidMessagesException = flags & (1 << 4) ? true : false; - let peer = await TLObject.read(_data); - let topMessage = await Primitive.Int.read(_data); - let readInboxMaxId = await Primitive.Int.read(_data); - let readOutboxMaxId = await Primitive.Int.read(_data); - let unreadCount = await Primitive.Int.read(_data); - let unreadReactionsCount = await Primitive.Int.read(_data); - let draft = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.MonoForumDialog({ - unreadMark: unreadMark, - nopaidMessagesException: nopaidMessagesException, - peer: peer, - topMessage: topMessage, - readInboxMaxId: readInboxMaxId, - readOutboxMaxId: readOutboxMaxId, - unreadCount: unreadCount, - unreadReactionsCount: unreadReactionsCount, - draft: draft, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.unreadMark ? 1 << 3 : 0; - flags |= this.nopaidMessagesException ? 1 << 4 : 0; - flags |= this.draft !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMessage !== undefined) { - b.write(Primitive.Int.write(this.topMessage) as unknown as Buffer); - } - if (this.readInboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readInboxMaxId) as unknown as Buffer); - } - if (this.readOutboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readOutboxMaxId) as unknown as Buffer); - } - if (this.unreadCount !== undefined) { - b.write(Primitive.Int.write(this.unreadCount) as unknown as Buffer); - } - if (this.unreadReactionsCount !== undefined) { - b.write(Primitive.Int.write(this.unreadReactionsCount) as unknown as Buffer); - } - if (this.draft !== undefined) { - b.write(this.draft.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedReactionTag extends TLObject { - reaction!: Raw.TypeReaction; - title?: string; - count!: int; - - constructor(params: { reaction: Raw.TypeReaction; title?: string; count: int }) { - super(); - this.classType = 'types'; - this.className = 'SavedReactionTag'; - this.constructorId = 0xcb6ff828; - this.subclassOfId = 0xed681418; - this._slots = ['reaction', 'title', 'count']; - this.reaction = params.reaction; - this.title = params.title; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let reaction = await TLObject.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let count = await Primitive.Int.read(_data); - return new Raw.SavedReactionTag({ reaction: reaction, title: title, count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class OutboxReadDate extends TLObject { - date!: int; - - constructor(params: { date: int }) { - super(); - this.classType = 'types'; - this.className = 'OutboxReadDate'; - this.constructorId = 0x3bb842ac; - this.subclassOfId = 0x6f5183c6; - this._slots = ['date']; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let date = await Primitive.Int.read(_data); - return new Raw.OutboxReadDate({ date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SmsJob extends TLObject { - jobId!: string; - phoneNumber!: string; - text!: string; - - constructor(params: { jobId: string; phoneNumber: string; text: string }) { - super(); - this.classType = 'types'; - this.className = 'SmsJob'; - this.constructorId = 0xe6a1eeb8; - this.subclassOfId = 0x1f24187e; - this._slots = ['jobId', 'phoneNumber', 'text']; - this.jobId = params.jobId; - this.phoneNumber = params.phoneNumber; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let jobId = await Primitive.String.read(_data); - let phoneNumber = await Primitive.String.read(_data); - let text = await Primitive.String.read(_data); - return new Raw.SmsJob({ jobId: jobId, phoneNumber: phoneNumber, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.jobId !== undefined) { - b.write(Primitive.String.write(this.jobId) as unknown as Buffer); - } - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessWeeklyOpen extends TLObject { - startMinute!: int; - endMinute!: int; - - constructor(params: { startMinute: int; endMinute: int }) { - super(); - this.classType = 'types'; - this.className = 'BusinessWeeklyOpen'; - this.constructorId = 0x120b1ab9; - this.subclassOfId = 0x18402627; - this._slots = ['startMinute', 'endMinute']; - this.startMinute = params.startMinute; - this.endMinute = params.endMinute; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let startMinute = await Primitive.Int.read(_data); - let endMinute = await Primitive.Int.read(_data); - return new Raw.BusinessWeeklyOpen({ startMinute: startMinute, endMinute: endMinute }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.startMinute !== undefined) { - b.write(Primitive.Int.write(this.startMinute) as unknown as Buffer); - } - if (this.endMinute !== undefined) { - b.write(Primitive.Int.write(this.endMinute) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessWorkHours extends TLObject { - openNow?: boolean; - timezoneId!: string; - weeklyOpen!: Vector; - - constructor(params: { - openNow?: boolean; - timezoneId: string; - weeklyOpen: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessWorkHours'; - this.constructorId = 0x8c92b098; - this.subclassOfId = 0x659fa805; - this._slots = ['openNow', 'timezoneId', 'weeklyOpen']; - this.openNow = params.openNow; - this.timezoneId = params.timezoneId; - this.weeklyOpen = params.weeklyOpen; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let openNow = flags & (1 << 0) ? true : false; - let timezoneId = await Primitive.String.read(_data); - let weeklyOpen = await TLObject.read(_data); - return new Raw.BusinessWorkHours({ - openNow: openNow, - timezoneId: timezoneId, - weeklyOpen: weeklyOpen, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.openNow ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.timezoneId !== undefined) { - b.write(Primitive.String.write(this.timezoneId) as unknown as Buffer); - } - if (this.weeklyOpen) { - b.write(Primitive.Vector.write(this.weeklyOpen) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessLocation extends TLObject { - geoPoint?: Raw.TypeGeoPoint; - address!: string; - - constructor(params: { geoPoint?: Raw.TypeGeoPoint; address: string }) { - super(); - this.classType = 'types'; - this.className = 'BusinessLocation'; - this.constructorId = 0xac5c1af7; - this.subclassOfId = 0x99accad0; - this._slots = ['geoPoint', 'address']; - this.geoPoint = params.geoPoint; - this.address = params.address; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geoPoint = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let address = await Primitive.String.read(_data); - return new Raw.BusinessLocation({ geoPoint: geoPoint, address: address }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.geoPoint !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBusinessRecipients extends TLObject { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - - constructor(params: { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBusinessRecipients'; - this.constructorId = 0x6f8b32aa; - this.subclassOfId = 0xd7ee53f; - this._slots = [ - 'existingChats', - 'newChats', - 'contacts', - 'nonContacts', - 'excludeSelected', - 'users', - ]; - this.existingChats = params.existingChats; - this.newChats = params.newChats; - this.contacts = params.contacts; - this.nonContacts = params.nonContacts; - this.excludeSelected = params.excludeSelected; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let existingChats = flags & (1 << 0) ? true : false; - let newChats = flags & (1 << 1) ? true : false; - let contacts = flags & (1 << 2) ? true : false; - let nonContacts = flags & (1 << 3) ? true : false; - let excludeSelected = flags & (1 << 5) ? true : false; - let users = flags & (1 << 4) ? await TLObject.read(_data) : []; - return new Raw.InputBusinessRecipients({ - existingChats: existingChats, - newChats: newChats, - contacts: contacts, - nonContacts: nonContacts, - excludeSelected: excludeSelected, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.existingChats ? 1 << 0 : 0; - flags |= this.newChats ? 1 << 1 : 0; - flags |= this.contacts ? 1 << 2 : 0; - flags |= this.nonContacts ? 1 << 3 : 0; - flags |= this.excludeSelected ? 1 << 5 : 0; - flags |= this.users ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessRecipients extends TLObject { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - - constructor(params: { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessRecipients'; - this.constructorId = 0x21108ff7; - this.subclassOfId = 0x52852e46; - this._slots = [ - 'existingChats', - 'newChats', - 'contacts', - 'nonContacts', - 'excludeSelected', - 'users', - ]; - this.existingChats = params.existingChats; - this.newChats = params.newChats; - this.contacts = params.contacts; - this.nonContacts = params.nonContacts; - this.excludeSelected = params.excludeSelected; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let existingChats = flags & (1 << 0) ? true : false; - let newChats = flags & (1 << 1) ? true : false; - let contacts = flags & (1 << 2) ? true : false; - let nonContacts = flags & (1 << 3) ? true : false; - let excludeSelected = flags & (1 << 5) ? true : false; - let users = flags & (1 << 4) ? await TLObject.read(_data, Primitive.Long) : []; - return new Raw.BusinessRecipients({ - existingChats: existingChats, - newChats: newChats, - contacts: contacts, - nonContacts: nonContacts, - excludeSelected: excludeSelected, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.existingChats ? 1 << 0 : 0; - flags |= this.newChats ? 1 << 1 : 0; - flags |= this.contacts ? 1 << 2 : 0; - flags |= this.nonContacts ? 1 << 3 : 0; - flags |= this.excludeSelected ? 1 << 5 : 0; - flags |= this.users ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessAwayMessageScheduleAlways extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BusinessAwayMessageScheduleAlways'; - this.constructorId = 0xc9b9e2b9; - this.subclassOfId = 0x2818a05e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BusinessAwayMessageScheduleAlways(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessAwayMessageScheduleOutsideWorkHours extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'BusinessAwayMessageScheduleOutsideWorkHours'; - this.constructorId = 0xc3f2f501; - this.subclassOfId = 0x2818a05e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.BusinessAwayMessageScheduleOutsideWorkHours(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessAwayMessageScheduleCustom extends TLObject { - startDate!: int; - endDate!: int; - - constructor(params: { startDate: int; endDate: int }) { - super(); - this.classType = 'types'; - this.className = 'BusinessAwayMessageScheduleCustom'; - this.constructorId = 0xcc4d9ecc; - this.subclassOfId = 0x2818a05e; - this._slots = ['startDate', 'endDate']; - this.startDate = params.startDate; - this.endDate = params.endDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let startDate = await Primitive.Int.read(_data); - let endDate = await Primitive.Int.read(_data); - return new Raw.BusinessAwayMessageScheduleCustom({ startDate: startDate, endDate: endDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.startDate !== undefined) { - b.write(Primitive.Int.write(this.startDate) as unknown as Buffer); - } - if (this.endDate !== undefined) { - b.write(Primitive.Int.write(this.endDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBusinessGreetingMessage extends TLObject { - shortcutId!: int; - recipients!: Raw.TypeInputBusinessRecipients; - noActivityDays!: int; - - constructor(params: { - shortcutId: int; - recipients: Raw.TypeInputBusinessRecipients; - noActivityDays: int; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBusinessGreetingMessage'; - this.constructorId = 0x194cb3b; - this.subclassOfId = 0x6278dcdd; - this._slots = ['shortcutId', 'recipients', 'noActivityDays']; - this.shortcutId = params.shortcutId; - this.recipients = params.recipients; - this.noActivityDays = params.noActivityDays; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - let recipients = await TLObject.read(_data); - let noActivityDays = await Primitive.Int.read(_data); - return new Raw.InputBusinessGreetingMessage({ - shortcutId: shortcutId, - recipients: recipients, - noActivityDays: noActivityDays, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.recipients !== undefined) { - b.write(this.recipients.write() as unknown as Buffer); - } - if (this.noActivityDays !== undefined) { - b.write(Primitive.Int.write(this.noActivityDays) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessGreetingMessage extends TLObject { - shortcutId!: int; - recipients!: Raw.TypeBusinessRecipients; - noActivityDays!: int; - - constructor(params: { - shortcutId: int; - recipients: Raw.TypeBusinessRecipients; - noActivityDays: int; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessGreetingMessage'; - this.constructorId = 0xe519abab; - this.subclassOfId = 0xb344eace; - this._slots = ['shortcutId', 'recipients', 'noActivityDays']; - this.shortcutId = params.shortcutId; - this.recipients = params.recipients; - this.noActivityDays = params.noActivityDays; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - let recipients = await TLObject.read(_data); - let noActivityDays = await Primitive.Int.read(_data); - return new Raw.BusinessGreetingMessage({ - shortcutId: shortcutId, - recipients: recipients, - noActivityDays: noActivityDays, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.recipients !== undefined) { - b.write(this.recipients.write() as unknown as Buffer); - } - if (this.noActivityDays !== undefined) { - b.write(Primitive.Int.write(this.noActivityDays) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBusinessAwayMessage extends TLObject { - offlineOnly?: boolean; - shortcutId!: int; - schedule!: Raw.TypeBusinessAwayMessageSchedule; - recipients!: Raw.TypeInputBusinessRecipients; - - constructor(params: { - offlineOnly?: boolean; - shortcutId: int; - schedule: Raw.TypeBusinessAwayMessageSchedule; - recipients: Raw.TypeInputBusinessRecipients; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBusinessAwayMessage'; - this.constructorId = 0x832175e0; - this.subclassOfId = 0xd8559c77; - this._slots = ['offlineOnly', 'shortcutId', 'schedule', 'recipients']; - this.offlineOnly = params.offlineOnly; - this.shortcutId = params.shortcutId; - this.schedule = params.schedule; - this.recipients = params.recipients; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let offlineOnly = flags & (1 << 0) ? true : false; - let shortcutId = await Primitive.Int.read(_data); - let schedule = await TLObject.read(_data); - let recipients = await TLObject.read(_data); - return new Raw.InputBusinessAwayMessage({ - offlineOnly: offlineOnly, - shortcutId: shortcutId, - schedule: schedule, - recipients: recipients, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.offlineOnly ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.schedule !== undefined) { - b.write(this.schedule.write() as unknown as Buffer); - } - if (this.recipients !== undefined) { - b.write(this.recipients.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessAwayMessage extends TLObject { - offlineOnly?: boolean; - shortcutId!: int; - schedule!: Raw.TypeBusinessAwayMessageSchedule; - recipients!: Raw.TypeBusinessRecipients; - - constructor(params: { - offlineOnly?: boolean; - shortcutId: int; - schedule: Raw.TypeBusinessAwayMessageSchedule; - recipients: Raw.TypeBusinessRecipients; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessAwayMessage'; - this.constructorId = 0xef156a5c; - this.subclassOfId = 0xf1d3ae24; - this._slots = ['offlineOnly', 'shortcutId', 'schedule', 'recipients']; - this.offlineOnly = params.offlineOnly; - this.shortcutId = params.shortcutId; - this.schedule = params.schedule; - this.recipients = params.recipients; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let offlineOnly = flags & (1 << 0) ? true : false; - let shortcutId = await Primitive.Int.read(_data); - let schedule = await TLObject.read(_data); - let recipients = await TLObject.read(_data); - return new Raw.BusinessAwayMessage({ - offlineOnly: offlineOnly, - shortcutId: shortcutId, - schedule: schedule, - recipients: recipients, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.offlineOnly ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.schedule !== undefined) { - b.write(this.schedule.write() as unknown as Buffer); - } - if (this.recipients !== undefined) { - b.write(this.recipients.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Timezone extends TLObject { - id!: string; - name!: string; - utcOffset!: int; - - constructor(params: { id: string; name: string; utcOffset: int }) { - super(); - this.classType = 'types'; - this.className = 'Timezone'; - this.constructorId = 0xff9289f5; - this.subclassOfId = 0xce77d0c1; - this._slots = ['id', 'name', 'utcOffset']; - this.id = params.id; - this.name = params.name; - this.utcOffset = params.utcOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.String.read(_data); - let name = await Primitive.String.read(_data); - let utcOffset = await Primitive.Int.read(_data); - return new Raw.Timezone({ id: id, name: name, utcOffset: utcOffset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.utcOffset !== undefined) { - b.write(Primitive.Int.write(this.utcOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class QuickReply extends TLObject { - shortcutId!: int; - shortcut!: string; - topMessage!: int; - count!: int; - - constructor(params: { shortcutId: int; shortcut: string; topMessage: int; count: int }) { - super(); - this.classType = 'types'; - this.className = 'QuickReply'; - this.constructorId = 0x697102b; - this.subclassOfId = 0xe2ea0f12; - this._slots = ['shortcutId', 'shortcut', 'topMessage', 'count']; - this.shortcutId = params.shortcutId; - this.shortcut = params.shortcut; - this.topMessage = params.topMessage; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - let shortcut = await Primitive.String.read(_data); - let topMessage = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - return new Raw.QuickReply({ - shortcutId: shortcutId, - shortcut: shortcut, - topMessage: topMessage, - count: count, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.shortcut !== undefined) { - b.write(Primitive.String.write(this.shortcut) as unknown as Buffer); - } - if (this.topMessage !== undefined) { - b.write(Primitive.Int.write(this.topMessage) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputQuickReplyShortcut extends TLObject { - shortcut!: string; - - constructor(params: { shortcut: string }) { - super(); - this.classType = 'types'; - this.className = 'InputQuickReplyShortcut'; - this.constructorId = 0x24596d41; - this.subclassOfId = 0xa5687c57; - this._slots = ['shortcut']; - this.shortcut = params.shortcut; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcut = await Primitive.String.read(_data); - return new Raw.InputQuickReplyShortcut({ shortcut: shortcut }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcut !== undefined) { - b.write(Primitive.String.write(this.shortcut) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputQuickReplyShortcutId extends TLObject { - shortcutId!: int; - - constructor(params: { shortcutId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputQuickReplyShortcutId'; - this.constructorId = 0x1190cf1; - this.subclassOfId = 0xa5687c57; - this._slots = ['shortcutId']; - this.shortcutId = params.shortcutId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - return new Raw.InputQuickReplyShortcutId({ shortcutId: shortcutId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConnectedBot extends TLObject { - botId!: long; - recipients!: Raw.TypeBusinessBotRecipients; - rights!: Raw.TypeBusinessBotRights; - - constructor(params: { - botId: long; - recipients: Raw.TypeBusinessBotRecipients; - rights: Raw.TypeBusinessBotRights; - }) { - super(); - this.classType = 'types'; - this.className = 'ConnectedBot'; - this.constructorId = 0xcd64636c; - this.subclassOfId = 0x35e81b9e; - this._slots = ['botId', 'recipients', 'rights']; - this.botId = params.botId; - this.recipients = params.recipients; - this.rights = params.rights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let botId = await Primitive.Long.read(_data); - let recipients = await TLObject.read(_data); - let rights = await TLObject.read(_data); - return new Raw.ConnectedBot({ botId: botId, recipients: recipients, rights: rights }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.recipients !== undefined) { - b.write(this.recipients.write() as unknown as Buffer); - } - if (this.rights !== undefined) { - b.write(this.rights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Birthday extends TLObject { - day!: int; - month!: int; - year?: int; - - constructor(params: { day: int; month: int; year?: int }) { - super(); - this.classType = 'types'; - this.className = 'Birthday'; - this.constructorId = 0x6c8e1e06; - this.subclassOfId = 0xbe7fd664; - this._slots = ['day', 'month', 'year']; - this.day = params.day; - this.month = params.month; - this.year = params.year; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let day = await Primitive.Int.read(_data); - let month = await Primitive.Int.read(_data); - let year = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.Birthday({ day: day, month: month, year: year }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.year !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.day !== undefined) { - b.write(Primitive.Int.write(this.day) as unknown as Buffer); - } - if (this.month !== undefined) { - b.write(Primitive.Int.write(this.month) as unknown as Buffer); - } - if (this.year !== undefined) { - b.write(Primitive.Int.write(this.year) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotBusinessConnection extends TLObject { - disabled?: boolean; - connectionId!: string; - userId!: long; - dcId!: int; - date!: int; - rights?: Raw.TypeBusinessBotRights; - - constructor(params: { - disabled?: boolean; - connectionId: string; - userId: long; - dcId: int; - date: int; - rights?: Raw.TypeBusinessBotRights; - }) { - super(); - this.classType = 'types'; - this.className = 'BotBusinessConnection'; - this.constructorId = 0x8f34b2f5; - this.subclassOfId = 0x9b130546; - this._slots = ['disabled', 'connectionId', 'userId', 'dcId', 'date', 'rights']; - this.disabled = params.disabled; - this.connectionId = params.connectionId; - this.userId = params.userId; - this.dcId = params.dcId; - this.date = params.date; - this.rights = params.rights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let disabled = flags & (1 << 1) ? true : false; - let connectionId = await Primitive.String.read(_data); - let userId = await Primitive.Long.read(_data); - let dcId = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let rights = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.BotBusinessConnection({ - disabled: disabled, - connectionId: connectionId, - userId: userId, - dcId: dcId, - date: date, - rights: rights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.disabled ? 1 << 1 : 0; - flags |= this.rights !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.rights !== undefined) { - b.write(this.rights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBusinessIntro extends TLObject { - title!: string; - description!: string; - sticker?: Raw.TypeInputDocument; - - constructor(params: { title: string; description: string; sticker?: Raw.TypeInputDocument }) { - super(); - this.classType = 'types'; - this.className = 'InputBusinessIntro'; - this.constructorId = 0x9c469cd; - this.subclassOfId = 0x645a767d; - this._slots = ['title', 'description', 'sticker']; - this.title = params.title; - this.description = params.description; - this.sticker = params.sticker; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let sticker = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.InputBusinessIntro({ - title: title, - description: description, - sticker: sticker, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sticker !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessIntro extends TLObject { - title!: string; - description!: string; - sticker?: Raw.TypeDocument; - - constructor(params: { title: string; description: string; sticker?: Raw.TypeDocument }) { - super(); - this.classType = 'types'; - this.className = 'BusinessIntro'; - this.constructorId = 0x5a0a066d; - this.subclassOfId = 0x6504d3c7; - this._slots = ['title', 'description', 'sticker']; - this.title = params.title; - this.description = params.description; - this.sticker = params.sticker; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let sticker = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.BusinessIntro({ title: title, description: description, sticker: sticker }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sticker !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputCollectibleUsername extends TLObject { - username!: string; - - constructor(params: { username: string }) { - super(); - this.classType = 'types'; - this.className = 'InputCollectibleUsername'; - this.constructorId = 0xe39460a9; - this.subclassOfId = 0x2a0f81eb; - this._slots = ['username']; - this.username = params.username; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let username = await Primitive.String.read(_data); - return new Raw.InputCollectibleUsername({ username: username }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputCollectiblePhone extends TLObject { - phone!: string; - - constructor(params: { phone: string }) { - super(); - this.classType = 'types'; - this.className = 'InputCollectiblePhone'; - this.constructorId = 0xa2e214a4; - this.subclassOfId = 0x2a0f81eb; - this._slots = ['phone']; - this.phone = params.phone; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phone = await Primitive.String.read(_data); - return new Raw.InputCollectiblePhone({ phone: phone }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBusinessBotRecipients extends TLObject { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - excludeUsers?: Vector; - - constructor(params: { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - excludeUsers?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBusinessBotRecipients'; - this.constructorId = 0xc4e5921e; - this.subclassOfId = 0xa9d3f55b; - this._slots = [ - 'existingChats', - 'newChats', - 'contacts', - 'nonContacts', - 'excludeSelected', - 'users', - 'excludeUsers', - ]; - this.existingChats = params.existingChats; - this.newChats = params.newChats; - this.contacts = params.contacts; - this.nonContacts = params.nonContacts; - this.excludeSelected = params.excludeSelected; - this.users = params.users; - this.excludeUsers = params.excludeUsers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let existingChats = flags & (1 << 0) ? true : false; - let newChats = flags & (1 << 1) ? true : false; - let contacts = flags & (1 << 2) ? true : false; - let nonContacts = flags & (1 << 3) ? true : false; - let excludeSelected = flags & (1 << 5) ? true : false; - let users = flags & (1 << 4) ? await TLObject.read(_data) : []; - let excludeUsers = flags & (1 << 6) ? await TLObject.read(_data) : []; - return new Raw.InputBusinessBotRecipients({ - existingChats: existingChats, - newChats: newChats, - contacts: contacts, - nonContacts: nonContacts, - excludeSelected: excludeSelected, - users: users, - excludeUsers: excludeUsers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.existingChats ? 1 << 0 : 0; - flags |= this.newChats ? 1 << 1 : 0; - flags |= this.contacts ? 1 << 2 : 0; - flags |= this.nonContacts ? 1 << 3 : 0; - flags |= this.excludeSelected ? 1 << 5 : 0; - flags |= this.users ? 1 << 4 : 0; - flags |= this.excludeUsers ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.excludeUsers) { - b.write(Primitive.Vector.write(this.excludeUsers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessBotRecipients extends TLObject { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - excludeUsers?: Vector; - - constructor(params: { - existingChats?: boolean; - newChats?: boolean; - contacts?: boolean; - nonContacts?: boolean; - excludeSelected?: boolean; - users?: Vector; - excludeUsers?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessBotRecipients'; - this.constructorId = 0xb88cf373; - this.subclassOfId = 0xf09283ca; - this._slots = [ - 'existingChats', - 'newChats', - 'contacts', - 'nonContacts', - 'excludeSelected', - 'users', - 'excludeUsers', - ]; - this.existingChats = params.existingChats; - this.newChats = params.newChats; - this.contacts = params.contacts; - this.nonContacts = params.nonContacts; - this.excludeSelected = params.excludeSelected; - this.users = params.users; - this.excludeUsers = params.excludeUsers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let existingChats = flags & (1 << 0) ? true : false; - let newChats = flags & (1 << 1) ? true : false; - let contacts = flags & (1 << 2) ? true : false; - let nonContacts = flags & (1 << 3) ? true : false; - let excludeSelected = flags & (1 << 5) ? true : false; - let users = flags & (1 << 4) ? await TLObject.read(_data, Primitive.Long) : []; - let excludeUsers = flags & (1 << 6) ? await TLObject.read(_data, Primitive.Long) : []; - return new Raw.BusinessBotRecipients({ - existingChats: existingChats, - newChats: newChats, - contacts: contacts, - nonContacts: nonContacts, - excludeSelected: excludeSelected, - users: users, - excludeUsers: excludeUsers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.existingChats ? 1 << 0 : 0; - flags |= this.newChats ? 1 << 1 : 0; - flags |= this.contacts ? 1 << 2 : 0; - flags |= this.nonContacts ? 1 << 3 : 0; - flags |= this.excludeSelected ? 1 << 5 : 0; - flags |= this.users ? 1 << 4 : 0; - flags |= this.excludeUsers ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users) { - b.write(Primitive.Vector.write(this.users, Primitive.Long) as unknown as Buffer); - } - if (this.excludeUsers) { - b.write(Primitive.Vector.write(this.excludeUsers, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ContactBirthday extends TLObject { - contactId!: long; - birthday!: Raw.TypeBirthday; - - constructor(params: { contactId: long; birthday: Raw.TypeBirthday }) { - super(); - this.classType = 'types'; - this.className = 'ContactBirthday'; - this.constructorId = 0x1d998733; - this.subclassOfId = 0xd8dd2806; - this._slots = ['contactId', 'birthday']; - this.contactId = params.contactId; - this.birthday = params.birthday; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let contactId = await Primitive.Long.read(_data); - let birthday = await TLObject.read(_data); - return new Raw.ContactBirthday({ contactId: contactId, birthday: birthday }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.contactId !== undefined) { - b.write(Primitive.Long.write(this.contactId) as unknown as Buffer); - } - if (this.birthday !== undefined) { - b.write(this.birthday.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MissingInvitee extends TLObject { - premiumWouldAllowInvite?: boolean; - premiumRequiredForPm?: boolean; - userId!: long; - - constructor(params: { - premiumWouldAllowInvite?: boolean; - premiumRequiredForPm?: boolean; - userId: long; - }) { - super(); - this.classType = 'types'; - this.className = 'MissingInvitee'; - this.constructorId = 0x628c9224; - this.subclassOfId = 0x5c8cacdc; - this._slots = ['premiumWouldAllowInvite', 'premiumRequiredForPm', 'userId']; - this.premiumWouldAllowInvite = params.premiumWouldAllowInvite; - this.premiumRequiredForPm = params.premiumRequiredForPm; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let premiumWouldAllowInvite = flags & (1 << 0) ? true : false; - let premiumRequiredForPm = flags & (1 << 1) ? true : false; - let userId = await Primitive.Long.read(_data); - return new Raw.MissingInvitee({ - premiumWouldAllowInvite: premiumWouldAllowInvite, - premiumRequiredForPm: premiumRequiredForPm, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.premiumWouldAllowInvite ? 1 << 0 : 0; - flags |= this.premiumRequiredForPm ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputBusinessChatLink extends TLObject { - message!: string; - entities?: Vector; - title?: string; - - constructor(params: { - message: string; - entities?: Vector; - title?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'InputBusinessChatLink'; - this.constructorId = 0x11679fa7; - this.subclassOfId = 0xab670513; - this._slots = ['message', 'entities', 'title']; - this.message = params.message; - this.entities = params.entities; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 0) ? await TLObject.read(_data) : []; - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.InputBusinessChatLink({ message: message, entities: entities, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.entities ? 1 << 0 : 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessChatLink extends TLObject { - link!: string; - message!: string; - entities?: Vector; - title?: string; - views!: int; - - constructor(params: { - link: string; - message: string; - entities?: Vector; - title?: string; - views: int; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessChatLink'; - this.constructorId = 0xb4ae666f; - this.subclassOfId = 0x3c0d4a8b; - this._slots = ['link', 'message', 'entities', 'title', 'views']; - this.link = params.link; - this.message = params.message; - this.entities = params.entities; - this.title = params.title; - this.views = params.views; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let link = await Primitive.String.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 0) ? await TLObject.read(_data) : []; - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let views = await Primitive.Int.read(_data); - return new Raw.BusinessChatLink({ - link: link, - message: message, - entities: entities, - title: title, - views: views, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.entities ? 1 << 0 : 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.views !== undefined) { - b.write(Primitive.Int.write(this.views) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestedPeerUser extends TLObject { - userId!: long; - firstName?: string; - lastName?: string; - username?: string; - photo?: Raw.TypePhoto; - - constructor(params: { - userId: long; - firstName?: string; - lastName?: string; - username?: string; - photo?: Raw.TypePhoto; - }) { - super(); - this.classType = 'types'; - this.className = 'RequestedPeerUser'; - this.constructorId = 0xd62ff46a; - this.subclassOfId = 0xc2887c10; - this._slots = ['userId', 'firstName', 'lastName', 'username', 'photo']; - this.userId = params.userId; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.username = params.username; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userId = await Primitive.Long.read(_data); - let firstName = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let lastName = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let username = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.RequestedPeerUser({ - userId: userId, - firstName: firstName, - lastName: lastName, - username: username, - photo: photo, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.firstName !== undefined ? 1 << 0 : 0; - flags |= this.lastName !== undefined ? 1 << 0 : 0; - flags |= this.username !== undefined ? 1 << 1 : 0; - flags |= this.photo !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(Primitive.Long.write(this.userId) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestedPeerChat extends TLObject { - chatId!: long; - title?: string; - photo?: Raw.TypePhoto; - - constructor(params: { chatId: long; title?: string; photo?: Raw.TypePhoto }) { - super(); - this.classType = 'types'; - this.className = 'RequestedPeerChat'; - this.constructorId = 0x7307544f; - this.subclassOfId = 0xc2887c10; - this._slots = ['chatId', 'title', 'photo']; - this.chatId = params.chatId; - this.title = params.title; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chatId = await Primitive.Long.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.RequestedPeerChat({ chatId: chatId, title: title, photo: photo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.photo !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestedPeerChannel extends TLObject { - channelId!: long; - title?: string; - username?: string; - photo?: Raw.TypePhoto; - - constructor(params: { - channelId: long; - title?: string; - username?: string; - photo?: Raw.TypePhoto; - }) { - super(); - this.classType = 'types'; - this.className = 'RequestedPeerChannel'; - this.constructorId = 0x8ba403e4; - this.subclassOfId = 0xc2887c10; - this._slots = ['channelId', 'title', 'username', 'photo']; - this.channelId = params.channelId; - this.title = params.title; - this.username = params.username; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channelId = await Primitive.Long.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let username = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.RequestedPeerChannel({ - channelId: channelId, - title: title, - username: username, - photo: photo, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.username !== undefined ? 1 << 1 : 0; - flags |= this.photo !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channelId !== undefined) { - b.write(Primitive.Long.write(this.channelId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessageReportOption extends TLObject { - text!: string; - option!: bytes; - - constructor(params: { text: string; option: bytes }) { - super(); - this.classType = 'types'; - this.className = 'SponsoredMessageReportOption'; - this.constructorId = 0x430d3150; - this.subclassOfId = 0xdd32a718; - this._slots = ['text', 'option']; - this.text = params.text; - this.option = params.option; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let option = await Primitive.Bytes.read(_data); - return new Raw.SponsoredMessageReportOption({ text: text, option: option }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionNotificationsFromContacts extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ReactionNotificationsFromContacts'; - this.constructorId = 0xbac3a61a; - this.subclassOfId = 0x345f7940; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ReactionNotificationsFromContacts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionNotificationsFromAll extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ReactionNotificationsFromAll'; - this.constructorId = 0x4b9e22a0; - this.subclassOfId = 0x345f7940; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ReactionNotificationsFromAll(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionsNotifySettings extends TLObject { - messagesNotifyFrom?: Raw.TypeReactionNotificationsFrom; - storiesNotifyFrom?: Raw.TypeReactionNotificationsFrom; - sound!: Raw.TypeNotificationSound; - showPreviews!: Bool; - - constructor(params: { - messagesNotifyFrom?: Raw.TypeReactionNotificationsFrom; - storiesNotifyFrom?: Raw.TypeReactionNotificationsFrom; - sound: Raw.TypeNotificationSound; - showPreviews: Bool; - }) { - super(); - this.classType = 'types'; - this.className = 'ReactionsNotifySettings'; - this.constructorId = 0x56e34970; - this.subclassOfId = 0x8dff0851; - this._slots = ['messagesNotifyFrom', 'storiesNotifyFrom', 'sound', 'showPreviews']; - this.messagesNotifyFrom = params.messagesNotifyFrom; - this.storiesNotifyFrom = params.storiesNotifyFrom; - this.sound = params.sound; - this.showPreviews = params.showPreviews; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let messagesNotifyFrom = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let storiesNotifyFrom = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let sound = await TLObject.read(_data); - let showPreviews = await Primitive.Bool.read(_data); - return new Raw.ReactionsNotifySettings({ - messagesNotifyFrom: messagesNotifyFrom, - storiesNotifyFrom: storiesNotifyFrom, - sound: sound, - showPreviews: showPreviews, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.messagesNotifyFrom !== undefined ? 1 << 0 : 0; - flags |= this.storiesNotifyFrom !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.messagesNotifyFrom !== undefined) { - b.write(this.messagesNotifyFrom.write() as unknown as Buffer); - } - if (this.storiesNotifyFrom !== undefined) { - b.write(this.storiesNotifyFrom.write() as unknown as Buffer); - } - if (this.sound !== undefined) { - b.write(this.sound.write() as unknown as Buffer); - } - if (this.showPreviews !== undefined) { - b.write(Primitive.Bool.write(this.showPreviews) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AvailableEffect extends TLObject { - premiumRequired?: boolean; - id!: long; - emoticon!: string; - staticIconId?: long; - effectStickerId!: long; - effectAnimationId?: long; - - constructor(params: { - premiumRequired?: boolean; - id: long; - emoticon: string; - staticIconId?: long; - effectStickerId: long; - effectAnimationId?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'AvailableEffect'; - this.constructorId = 0x93c3e27e; - this.subclassOfId = 0x985a2f81; - this._slots = [ - 'premiumRequired', - 'id', - 'emoticon', - 'staticIconId', - 'effectStickerId', - 'effectAnimationId', - ]; - this.premiumRequired = params.premiumRequired; - this.id = params.id; - this.emoticon = params.emoticon; - this.staticIconId = params.staticIconId; - this.effectStickerId = params.effectStickerId; - this.effectAnimationId = params.effectAnimationId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let premiumRequired = flags & (1 << 2) ? true : false; - let id = await Primitive.Long.read(_data); - let emoticon = await Primitive.String.read(_data); - let staticIconId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let effectStickerId = await Primitive.Long.read(_data); - let effectAnimationId = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - return new Raw.AvailableEffect({ - premiumRequired: premiumRequired, - id: id, - emoticon: emoticon, - staticIconId: staticIconId, - effectStickerId: effectStickerId, - effectAnimationId: effectAnimationId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.premiumRequired ? 1 << 2 : 0; - flags |= this.staticIconId !== undefined ? 1 << 0 : 0; - flags |= this.effectAnimationId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.staticIconId !== undefined) { - b.write(Primitive.Long.write(this.staticIconId) as unknown as Buffer); - } - if (this.effectStickerId !== undefined) { - b.write(Primitive.Long.write(this.effectStickerId) as unknown as Buffer); - } - if (this.effectAnimationId !== undefined) { - b.write(Primitive.Long.write(this.effectAnimationId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FactCheck extends TLObject { - needCheck?: boolean; - country?: string; - text?: Raw.TypeTextWithEntities; - hash!: long; - - constructor(params: { - needCheck?: boolean; - country?: string; - text?: Raw.TypeTextWithEntities; - hash: long; - }) { - super(); - this.classType = 'types'; - this.className = 'FactCheck'; - this.constructorId = 0xb89bfccf; - this.subclassOfId = 0x4640a3a3; - this._slots = ['needCheck', 'country', 'text', 'hash']; - this.needCheck = params.needCheck; - this.country = params.country; - this.text = params.text; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let needCheck = flags & (1 << 0) ? true : false; - let country = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let text = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let hash = await Primitive.Long.read(_data); - return new Raw.FactCheck({ needCheck: needCheck, country: country, text: text, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.needCheck ? 1 << 0 : 0; - flags |= this.country !== undefined ? 1 << 1 : 0; - flags |= this.text !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.country !== undefined) { - b.write(Primitive.String.write(this.country) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerUnsupported extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerUnsupported'; - this.constructorId = 0x95f2bfe4; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerUnsupported(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerAppStore extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerAppStore'; - this.constructorId = 0xb457b375; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerAppStore(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerPlayMarket extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerPlayMarket'; - this.constructorId = 0x7b560a0b; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerPlayMarket(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerPremiumBot extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerPremiumBot'; - this.constructorId = 0x250dbaf8; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerPremiumBot(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerFragment extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerFragment'; - this.constructorId = 0xe92fd902; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerFragment(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeer extends TLObject { - peer!: Raw.TypePeer; - - constructor(params: { peer: Raw.TypePeer }) { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeer'; - this.constructorId = 0xd80da15d; - this.subclassOfId = 0x41b69183; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.StarsTransactionPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerAds extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerAds'; - this.constructorId = 0x60682812; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerAds(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransactionPeerAPI extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'StarsTransactionPeerAPI'; - this.constructorId = 0xf9677aad; - this.subclassOfId = 0x41b69183; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.StarsTransactionPeerAPI(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTopupOption extends TLObject { - extended?: boolean; - stars!: long; - storeProduct?: string; - currency!: string; - amount!: long; - - constructor(params: { - extended?: boolean; - stars: long; - storeProduct?: string; - currency: string; - amount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'StarsTopupOption'; - this.constructorId = 0xbd915c0; - this.subclassOfId = 0xe5bca5ec; - this._slots = ['extended', 'stars', 'storeProduct', 'currency', 'amount']; - this.extended = params.extended; - this.stars = params.stars; - this.storeProduct = params.storeProduct; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let extended = flags & (1 << 1) ? true : false; - let stars = await Primitive.Long.read(_data); - let storeProduct = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.StarsTopupOption({ - extended: extended, - stars: stars, - storeProduct: storeProduct, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.extended ? 1 << 1 : 0; - flags |= this.storeProduct !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.storeProduct !== undefined) { - b.write(Primitive.String.write(this.storeProduct) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTransaction extends TLObject { - refund?: boolean; - pending?: boolean; - failed?: boolean; - gift?: boolean; - reaction?: boolean; - stargiftUpgrade?: boolean; - businessTransfer?: boolean; - stargiftResale?: boolean; - id!: string; - amount!: Raw.TypeStarsAmount; - date!: int; - peer!: Raw.TypeStarsTransactionPeer; - title?: string; - description?: string; - photo?: Raw.TypeWebDocument; - transactionDate?: int; - transactionUrl?: string; - botPayload?: bytes; - msgId?: int; - extendedMedia?: Vector; - subscriptionPeriod?: int; - giveawayPostId?: int; - stargift?: Raw.TypeStarGift; - floodskipNumber?: int; - starrefCommissionPermille?: int; - starrefPeer?: Raw.TypePeer; - starrefAmount?: Raw.TypeStarsAmount; - paidMessages?: int; - premiumGiftMonths?: int; - adsProceedsFromDate?: int; - adsProceedsToDate?: int; - - constructor(params: { - refund?: boolean; - pending?: boolean; - failed?: boolean; - gift?: boolean; - reaction?: boolean; - stargiftUpgrade?: boolean; - businessTransfer?: boolean; - stargiftResale?: boolean; - id: string; - amount: Raw.TypeStarsAmount; - date: int; - peer: Raw.TypeStarsTransactionPeer; - title?: string; - description?: string; - photo?: Raw.TypeWebDocument; - transactionDate?: int; - transactionUrl?: string; - botPayload?: bytes; - msgId?: int; - extendedMedia?: Vector; - subscriptionPeriod?: int; - giveawayPostId?: int; - stargift?: Raw.TypeStarGift; - floodskipNumber?: int; - starrefCommissionPermille?: int; - starrefPeer?: Raw.TypePeer; - starrefAmount?: Raw.TypeStarsAmount; - paidMessages?: int; - premiumGiftMonths?: int; - adsProceedsFromDate?: int; - adsProceedsToDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'StarsTransaction'; - this.constructorId = 0x13659eb0; - this.subclassOfId = 0x86884772; - this._slots = [ - 'refund', - 'pending', - 'failed', - 'gift', - 'reaction', - 'stargiftUpgrade', - 'businessTransfer', - 'stargiftResale', - 'id', - 'amount', - 'date', - 'peer', - 'title', - 'description', - 'photo', - 'transactionDate', - 'transactionUrl', - 'botPayload', - 'msgId', - 'extendedMedia', - 'subscriptionPeriod', - 'giveawayPostId', - 'stargift', - 'floodskipNumber', - 'starrefCommissionPermille', - 'starrefPeer', - 'starrefAmount', - 'paidMessages', - 'premiumGiftMonths', - 'adsProceedsFromDate', - 'adsProceedsToDate', - ]; - this.refund = params.refund; - this.pending = params.pending; - this.failed = params.failed; - this.gift = params.gift; - this.reaction = params.reaction; - this.stargiftUpgrade = params.stargiftUpgrade; - this.businessTransfer = params.businessTransfer; - this.stargiftResale = params.stargiftResale; - this.id = params.id; - this.amount = params.amount; - this.date = params.date; - this.peer = params.peer; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.transactionDate = params.transactionDate; - this.transactionUrl = params.transactionUrl; - this.botPayload = params.botPayload; - this.msgId = params.msgId; - this.extendedMedia = params.extendedMedia; - this.subscriptionPeriod = params.subscriptionPeriod; - this.giveawayPostId = params.giveawayPostId; - this.stargift = params.stargift; - this.floodskipNumber = params.floodskipNumber; - this.starrefCommissionPermille = params.starrefCommissionPermille; - this.starrefPeer = params.starrefPeer; - this.starrefAmount = params.starrefAmount; - this.paidMessages = params.paidMessages; - this.premiumGiftMonths = params.premiumGiftMonths; - this.adsProceedsFromDate = params.adsProceedsFromDate; - this.adsProceedsToDate = params.adsProceedsToDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let refund = flags & (1 << 3) ? true : false; - let pending = flags & (1 << 4) ? true : false; - let failed = flags & (1 << 6) ? true : false; - let gift = flags & (1 << 10) ? true : false; - let reaction = flags & (1 << 11) ? true : false; - let stargiftUpgrade = flags & (1 << 18) ? true : false; - let businessTransfer = flags & (1 << 21) ? true : false; - let stargiftResale = flags & (1 << 22) ? true : false; - let id = await Primitive.String.read(_data); - let amount = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let transactionDate = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let transactionUrl = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - let botPayload = flags & (1 << 7) ? await Primitive.Bytes.read(_data) : undefined; - let msgId = flags & (1 << 8) ? await Primitive.Int.read(_data) : undefined; - let extendedMedia = flags & (1 << 9) ? await TLObject.read(_data) : []; - let subscriptionPeriod = flags & (1 << 12) ? await Primitive.Int.read(_data) : undefined; - let giveawayPostId = flags & (1 << 13) ? await Primitive.Int.read(_data) : undefined; - let stargift = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - let floodskipNumber = flags & (1 << 15) ? await Primitive.Int.read(_data) : undefined; - let starrefCommissionPermille = - flags & (1 << 16) ? await Primitive.Int.read(_data) : undefined; - let starrefPeer = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let starrefAmount = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let paidMessages = flags & (1 << 19) ? await Primitive.Int.read(_data) : undefined; - let premiumGiftMonths = flags & (1 << 20) ? await Primitive.Int.read(_data) : undefined; - let adsProceedsFromDate = flags & (1 << 23) ? await Primitive.Int.read(_data) : undefined; - let adsProceedsToDate = flags & (1 << 23) ? await Primitive.Int.read(_data) : undefined; - return new Raw.StarsTransaction({ - refund: refund, - pending: pending, - failed: failed, - gift: gift, - reaction: reaction, - stargiftUpgrade: stargiftUpgrade, - businessTransfer: businessTransfer, - stargiftResale: stargiftResale, - id: id, - amount: amount, - date: date, - peer: peer, - title: title, - description: description, - photo: photo, - transactionDate: transactionDate, - transactionUrl: transactionUrl, - botPayload: botPayload, - msgId: msgId, - extendedMedia: extendedMedia, - subscriptionPeriod: subscriptionPeriod, - giveawayPostId: giveawayPostId, - stargift: stargift, - floodskipNumber: floodskipNumber, - starrefCommissionPermille: starrefCommissionPermille, - starrefPeer: starrefPeer, - starrefAmount: starrefAmount, - paidMessages: paidMessages, - premiumGiftMonths: premiumGiftMonths, - adsProceedsFromDate: adsProceedsFromDate, - adsProceedsToDate: adsProceedsToDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.refund ? 1 << 3 : 0; - flags |= this.pending ? 1 << 4 : 0; - flags |= this.failed ? 1 << 6 : 0; - flags |= this.gift ? 1 << 10 : 0; - flags |= this.reaction ? 1 << 11 : 0; - flags |= this.stargiftUpgrade ? 1 << 18 : 0; - flags |= this.businessTransfer ? 1 << 21 : 0; - flags |= this.stargiftResale ? 1 << 22 : 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.description !== undefined ? 1 << 1 : 0; - flags |= this.photo !== undefined ? 1 << 2 : 0; - flags |= this.transactionDate !== undefined ? 1 << 5 : 0; - flags |= this.transactionUrl !== undefined ? 1 << 5 : 0; - flags |= this.botPayload !== undefined ? 1 << 7 : 0; - flags |= this.msgId !== undefined ? 1 << 8 : 0; - flags |= this.extendedMedia ? 1 << 9 : 0; - flags |= this.subscriptionPeriod !== undefined ? 1 << 12 : 0; - flags |= this.giveawayPostId !== undefined ? 1 << 13 : 0; - flags |= this.stargift !== undefined ? 1 << 14 : 0; - flags |= this.floodskipNumber !== undefined ? 1 << 15 : 0; - flags |= this.starrefCommissionPermille !== undefined ? 1 << 16 : 0; - flags |= this.starrefPeer !== undefined ? 1 << 17 : 0; - flags |= this.starrefAmount !== undefined ? 1 << 17 : 0; - flags |= this.paidMessages !== undefined ? 1 << 19 : 0; - flags |= this.premiumGiftMonths !== undefined ? 1 << 20 : 0; - flags |= this.adsProceedsFromDate !== undefined ? 1 << 23 : 0; - flags |= this.adsProceedsToDate !== undefined ? 1 << 23 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(this.amount.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.transactionDate !== undefined) { - b.write(Primitive.Int.write(this.transactionDate) as unknown as Buffer); - } - if (this.transactionUrl !== undefined) { - b.write(Primitive.String.write(this.transactionUrl) as unknown as Buffer); - } - if (this.botPayload !== undefined) { - b.write(Primitive.Bytes.write(this.botPayload) as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.extendedMedia) { - b.write(Primitive.Vector.write(this.extendedMedia) as unknown as Buffer); - } - if (this.subscriptionPeriod !== undefined) { - b.write(Primitive.Int.write(this.subscriptionPeriod) as unknown as Buffer); - } - if (this.giveawayPostId !== undefined) { - b.write(Primitive.Int.write(this.giveawayPostId) as unknown as Buffer); - } - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - if (this.floodskipNumber !== undefined) { - b.write(Primitive.Int.write(this.floodskipNumber) as unknown as Buffer); - } - if (this.starrefCommissionPermille !== undefined) { - b.write(Primitive.Int.write(this.starrefCommissionPermille) as unknown as Buffer); - } - if (this.starrefPeer !== undefined) { - b.write(this.starrefPeer.write() as unknown as Buffer); - } - if (this.starrefAmount !== undefined) { - b.write(this.starrefAmount.write() as unknown as Buffer); - } - if (this.paidMessages !== undefined) { - b.write(Primitive.Int.write(this.paidMessages) as unknown as Buffer); - } - if (this.premiumGiftMonths !== undefined) { - b.write(Primitive.Int.write(this.premiumGiftMonths) as unknown as Buffer); - } - if (this.adsProceedsFromDate !== undefined) { - b.write(Primitive.Int.write(this.adsProceedsFromDate) as unknown as Buffer); - } - if (this.adsProceedsToDate !== undefined) { - b.write(Primitive.Int.write(this.adsProceedsToDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FoundStory extends TLObject { - peer!: Raw.TypePeer; - story!: Raw.TypeStoryItem; - - constructor(params: { peer: Raw.TypePeer; story: Raw.TypeStoryItem }) { - super(); - this.classType = 'types'; - this.className = 'FoundStory'; - this.constructorId = 0xe87acbc0; - this.subclassOfId = 0xb31d68c5; - this._slots = ['peer', 'story']; - this.peer = params.peer; - this.story = params.story; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let peer = await TLObject.read(_data); - let story = await TLObject.read(_data); - return new Raw.FoundStory({ peer: peer, story: story }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.story !== undefined) { - b.write(this.story.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GeoPointAddress extends TLObject { - countryIso2!: string; - state?: string; - city?: string; - street?: string; - - constructor(params: { countryIso2: string; state?: string; city?: string; street?: string }) { - super(); - this.classType = 'types'; - this.className = 'GeoPointAddress'; - this.constructorId = 0xde4c5d93; - this.subclassOfId = 0x9655c2d8; - this._slots = ['countryIso2', 'state', 'city', 'street']; - this.countryIso2 = params.countryIso2; - this.state = params.state; - this.city = params.city; - this.street = params.street; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let countryIso2 = await Primitive.String.read(_data); - let state = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let city = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let street = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.GeoPointAddress({ - countryIso2: countryIso2, - state: state, - city: city, - street: street, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.state !== undefined ? 1 << 0 : 0; - flags |= this.city !== undefined ? 1 << 1 : 0; - flags |= this.street !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.countryIso2 !== undefined) { - b.write(Primitive.String.write(this.countryIso2) as unknown as Buffer); - } - if (this.state !== undefined) { - b.write(Primitive.String.write(this.state) as unknown as Buffer); - } - if (this.city !== undefined) { - b.write(Primitive.String.write(this.city) as unknown as Buffer); - } - if (this.street !== undefined) { - b.write(Primitive.String.write(this.street) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsRevenueStatus extends TLObject { - withdrawalEnabled?: boolean; - currentBalance!: Raw.TypeStarsAmount; - availableBalance!: Raw.TypeStarsAmount; - overallRevenue!: Raw.TypeStarsAmount; - nextWithdrawalAt?: int; - - constructor(params: { - withdrawalEnabled?: boolean; - currentBalance: Raw.TypeStarsAmount; - availableBalance: Raw.TypeStarsAmount; - overallRevenue: Raw.TypeStarsAmount; - nextWithdrawalAt?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'StarsRevenueStatus'; - this.constructorId = 0xfebe5491; - this.subclassOfId = 0x3d7d9ff1; - this._slots = [ - 'withdrawalEnabled', - 'currentBalance', - 'availableBalance', - 'overallRevenue', - 'nextWithdrawalAt', - ]; - this.withdrawalEnabled = params.withdrawalEnabled; - this.currentBalance = params.currentBalance; - this.availableBalance = params.availableBalance; - this.overallRevenue = params.overallRevenue; - this.nextWithdrawalAt = params.nextWithdrawalAt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let withdrawalEnabled = flags & (1 << 0) ? true : false; - let currentBalance = await TLObject.read(_data); - let availableBalance = await TLObject.read(_data); - let overallRevenue = await TLObject.read(_data); - let nextWithdrawalAt = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.StarsRevenueStatus({ - withdrawalEnabled: withdrawalEnabled, - currentBalance: currentBalance, - availableBalance: availableBalance, - overallRevenue: overallRevenue, - nextWithdrawalAt: nextWithdrawalAt, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.withdrawalEnabled ? 1 << 0 : 0; - flags |= this.nextWithdrawalAt !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currentBalance !== undefined) { - b.write(this.currentBalance.write() as unknown as Buffer); - } - if (this.availableBalance !== undefined) { - b.write(this.availableBalance.write() as unknown as Buffer); - } - if (this.overallRevenue !== undefined) { - b.write(this.overallRevenue.write() as unknown as Buffer); - } - if (this.nextWithdrawalAt !== undefined) { - b.write(Primitive.Int.write(this.nextWithdrawalAt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputStarsTransaction extends TLObject { - refund?: boolean; - id!: string; - - constructor(params: { refund?: boolean; id: string }) { - super(); - this.classType = 'types'; - this.className = 'InputStarsTransaction'; - this.constructorId = 0x206ae6d1; - this.subclassOfId = 0x11e208ea; - this._slots = ['refund', 'id']; - this.refund = params.refund; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let refund = flags & (1 << 0) ? true : false; - let id = await Primitive.String.read(_data); - return new Raw.InputStarsTransaction({ refund: refund, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.refund ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsGiftOption extends TLObject { - extended?: boolean; - stars!: long; - storeProduct?: string; - currency!: string; - amount!: long; - - constructor(params: { - extended?: boolean; - stars: long; - storeProduct?: string; - currency: string; - amount: long; - }) { - super(); - this.classType = 'types'; - this.className = 'StarsGiftOption'; - this.constructorId = 0x5e0589f1; - this.subclassOfId = 0xa9cd4bb7; - this._slots = ['extended', 'stars', 'storeProduct', 'currency', 'amount']; - this.extended = params.extended; - this.stars = params.stars; - this.storeProduct = params.storeProduct; - this.currency = params.currency; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let extended = flags & (1 << 1) ? true : false; - let stars = await Primitive.Long.read(_data); - let storeProduct = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.StarsGiftOption({ - extended: extended, - stars: stars, - storeProduct: storeProduct, - currency: currency, - amount: amount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.extended ? 1 << 1 : 0; - flags |= this.storeProduct !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.storeProduct !== undefined) { - b.write(Primitive.String.write(this.storeProduct) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotPreviewMedia extends TLObject { - date!: int; - media!: Raw.TypeMessageMedia; - - constructor(params: { date: int; media: Raw.TypeMessageMedia }) { - super(); - this.classType = 'types'; - this.className = 'BotPreviewMedia'; - this.constructorId = 0x23e91ba3; - this.subclassOfId = 0x562abc2d; - this._slots = ['date', 'media']; - this.date = params.date; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let date = await Primitive.Int.read(_data); - let media = await TLObject.read(_data); - return new Raw.BotPreviewMedia({ date: date, media: media }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsSubscriptionPricing extends TLObject { - period!: int; - amount!: long; - - constructor(params: { period: int; amount: long }) { - super(); - this.classType = 'types'; - this.className = 'StarsSubscriptionPricing'; - this.constructorId = 0x5416d58; - this.subclassOfId = 0xbbf7b9a9; - this._slots = ['period', 'amount']; - this.period = params.period; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let period = await Primitive.Int.read(_data); - let amount = await Primitive.Long.read(_data); - return new Raw.StarsSubscriptionPricing({ period: period, amount: amount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsSubscription extends TLObject { - canceled?: boolean; - canRefulfill?: boolean; - missingBalance?: boolean; - botCanceled?: boolean; - id!: string; - peer!: Raw.TypePeer; - untilDate!: int; - pricing!: Raw.TypeStarsSubscriptionPricing; - chatInviteHash?: string; - title?: string; - photo?: Raw.TypeWebDocument; - invoiceSlug?: string; - - constructor(params: { - canceled?: boolean; - canRefulfill?: boolean; - missingBalance?: boolean; - botCanceled?: boolean; - id: string; - peer: Raw.TypePeer; - untilDate: int; - pricing: Raw.TypeStarsSubscriptionPricing; - chatInviteHash?: string; - title?: string; - photo?: Raw.TypeWebDocument; - invoiceSlug?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'StarsSubscription'; - this.constructorId = 0x2e6eab1a; - this.subclassOfId = 0xeced29c3; - this._slots = [ - 'canceled', - 'canRefulfill', - 'missingBalance', - 'botCanceled', - 'id', - 'peer', - 'untilDate', - 'pricing', - 'chatInviteHash', - 'title', - 'photo', - 'invoiceSlug', - ]; - this.canceled = params.canceled; - this.canRefulfill = params.canRefulfill; - this.missingBalance = params.missingBalance; - this.botCanceled = params.botCanceled; - this.id = params.id; - this.peer = params.peer; - this.untilDate = params.untilDate; - this.pricing = params.pricing; - this.chatInviteHash = params.chatInviteHash; - this.title = params.title; - this.photo = params.photo; - this.invoiceSlug = params.invoiceSlug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canceled = flags & (1 << 0) ? true : false; - let canRefulfill = flags & (1 << 1) ? true : false; - let missingBalance = flags & (1 << 2) ? true : false; - let botCanceled = flags & (1 << 7) ? true : false; - let id = await Primitive.String.read(_data); - let peer = await TLObject.read(_data); - let untilDate = await Primitive.Int.read(_data); - let pricing = await TLObject.read(_data); - let chatInviteHash = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let title = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let photo = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let invoiceSlug = flags & (1 << 6) ? await Primitive.String.read(_data) : undefined; - return new Raw.StarsSubscription({ - canceled: canceled, - canRefulfill: canRefulfill, - missingBalance: missingBalance, - botCanceled: botCanceled, - id: id, - peer: peer, - untilDate: untilDate, - pricing: pricing, - chatInviteHash: chatInviteHash, - title: title, - photo: photo, - invoiceSlug: invoiceSlug, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canceled ? 1 << 0 : 0; - flags |= this.canRefulfill ? 1 << 1 : 0; - flags |= this.missingBalance ? 1 << 2 : 0; - flags |= this.botCanceled ? 1 << 7 : 0; - flags |= this.chatInviteHash !== undefined ? 1 << 3 : 0; - flags |= this.title !== undefined ? 1 << 4 : 0; - flags |= this.photo !== undefined ? 1 << 5 : 0; - flags |= this.invoiceSlug !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - if (this.pricing !== undefined) { - b.write(this.pricing.write() as unknown as Buffer); - } - if (this.chatInviteHash !== undefined) { - b.write(Primitive.String.write(this.chatInviteHash) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoiceSlug !== undefined) { - b.write(Primitive.String.write(this.invoiceSlug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReactor extends TLObject { - top?: boolean; - my?: boolean; - anonymous?: boolean; - peerId?: Raw.TypePeer; - count!: int; - - constructor(params: { - top?: boolean; - my?: boolean; - anonymous?: boolean; - peerId?: Raw.TypePeer; - count: int; - }) { - super(); - this.classType = 'types'; - this.className = 'MessageReactor'; - this.constructorId = 0x4ba3a95a; - this.subclassOfId = 0xf0381ab9; - this._slots = ['top', 'my', 'anonymous', 'peerId', 'count']; - this.top = params.top; - this.my = params.my; - this.anonymous = params.anonymous; - this.peerId = params.peerId; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let top = flags & (1 << 0) ? true : false; - let my = flags & (1 << 1) ? true : false; - let anonymous = flags & (1 << 2) ? true : false; - let peerId = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let count = await Primitive.Int.read(_data); - return new Raw.MessageReactor({ - top: top, - my: my, - anonymous: anonymous, - peerId: peerId, - count: count, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.top ? 1 << 0 : 0; - flags |= this.my ? 1 << 1 : 0; - flags |= this.anonymous ? 1 << 2 : 0; - flags |= this.peerId !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peerId !== undefined) { - b.write(this.peerId.write() as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsGiveawayOption extends TLObject { - extended?: boolean; - default?: boolean; - stars!: long; - yearlyBoosts!: int; - storeProduct?: string; - currency!: string; - amount!: long; - winners!: Vector; - - constructor(params: { - extended?: boolean; - default?: boolean; - stars: long; - yearlyBoosts: int; - storeProduct?: string; - currency: string; - amount: long; - winners: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'StarsGiveawayOption'; - this.constructorId = 0x94ce852a; - this.subclassOfId = 0x3a28a20b; - this._slots = [ - 'extended', - 'default', - 'stars', - 'yearlyBoosts', - 'storeProduct', - 'currency', - 'amount', - 'winners', - ]; - this.extended = params.extended; - this.default = params.default; - this.stars = params.stars; - this.yearlyBoosts = params.yearlyBoosts; - this.storeProduct = params.storeProduct; - this.currency = params.currency; - this.amount = params.amount; - this.winners = params.winners; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let extended = flags & (1 << 0) ? true : false; - let _default = flags & (1 << 1) ? true : false; - let stars = await Primitive.Long.read(_data); - let yearlyBoosts = await Primitive.Int.read(_data); - let storeProduct = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let winners = await TLObject.read(_data); - return new Raw.StarsGiveawayOption({ - extended: extended, - default: _default, - stars: stars, - yearlyBoosts: yearlyBoosts, - storeProduct: storeProduct, - currency: currency, - amount: amount, - winners: winners, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.extended ? 1 << 0 : 0; - flags |= this.default ? 1 << 1 : 0; - flags |= this.storeProduct !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.yearlyBoosts !== undefined) { - b.write(Primitive.Int.write(this.yearlyBoosts) as unknown as Buffer); - } - if (this.storeProduct !== undefined) { - b.write(Primitive.String.write(this.storeProduct) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.winners) { - b.write(Primitive.Vector.write(this.winners) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsGiveawayWinnersOption extends TLObject { - default?: boolean; - users!: int; - perUserStars!: long; - - constructor(params: { default?: boolean; users: int; perUserStars: long }) { - super(); - this.classType = 'types'; - this.className = 'StarsGiveawayWinnersOption'; - this.constructorId = 0x54236209; - this.subclassOfId = 0xfbfaa2e4; - this._slots = ['default', 'users', 'perUserStars']; - this.default = params.default; - this.users = params.users; - this.perUserStars = params.perUserStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let _default = flags & (1 << 0) ? true : false; - let users = await Primitive.Int.read(_data); - let perUserStars = await Primitive.Long.read(_data); - return new Raw.StarsGiveawayWinnersOption({ - default: _default, - users: users, - perUserStars: perUserStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.default ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users !== undefined) { - b.write(Primitive.Int.write(this.users) as unknown as Buffer); - } - if (this.perUserStars !== undefined) { - b.write(Primitive.Long.write(this.perUserStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGift extends TLObject { - limited?: boolean; - soldOut?: boolean; - birthday?: boolean; - id!: long; - sticker!: Raw.TypeDocument; - stars!: long; - availabilityRemains?: int; - availabilityTotal?: int; - availabilityResale?: long; - convertStars!: long; - firstSaleDate?: int; - lastSaleDate?: int; - upgradeStars?: long; - resellMinStars?: long; - title?: string; - releasedBy?: Raw.TypePeer; - - constructor(params: { - limited?: boolean; - soldOut?: boolean; - birthday?: boolean; - id: long; - sticker: Raw.TypeDocument; - stars: long; - availabilityRemains?: int; - availabilityTotal?: int; - availabilityResale?: long; - convertStars: long; - firstSaleDate?: int; - lastSaleDate?: int; - upgradeStars?: long; - resellMinStars?: long; - title?: string; - releasedBy?: Raw.TypePeer; - }) { - super(); - this.classType = 'types'; - this.className = 'StarGift'; - this.constructorId = 0x7f853c12; - this.subclassOfId = 0xc31c590b; - this._slots = [ - 'limited', - 'soldOut', - 'birthday', - 'id', - 'sticker', - 'stars', - 'availabilityRemains', - 'availabilityTotal', - 'availabilityResale', - 'convertStars', - 'firstSaleDate', - 'lastSaleDate', - 'upgradeStars', - 'resellMinStars', - 'title', - 'releasedBy', - ]; - this.limited = params.limited; - this.soldOut = params.soldOut; - this.birthday = params.birthday; - this.id = params.id; - this.sticker = params.sticker; - this.stars = params.stars; - this.availabilityRemains = params.availabilityRemains; - this.availabilityTotal = params.availabilityTotal; - this.availabilityResale = params.availabilityResale; - this.convertStars = params.convertStars; - this.firstSaleDate = params.firstSaleDate; - this.lastSaleDate = params.lastSaleDate; - this.upgradeStars = params.upgradeStars; - this.resellMinStars = params.resellMinStars; - this.title = params.title; - this.releasedBy = params.releasedBy; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let limited = flags & (1 << 0) ? true : false; - let soldOut = flags & (1 << 1) ? true : false; - let birthday = flags & (1 << 2) ? true : false; - let id = await Primitive.Long.read(_data); - let sticker = await TLObject.read(_data); - let stars = await Primitive.Long.read(_data); - let availabilityRemains = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let availabilityTotal = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let availabilityResale = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let convertStars = await Primitive.Long.read(_data); - let firstSaleDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let lastSaleDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let upgradeStars = flags & (1 << 3) ? await Primitive.Long.read(_data) : undefined; - let resellMinStars = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let title = flags & (1 << 5) ? await Primitive.String.read(_data) : undefined; - let releasedBy = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - return new Raw.StarGift({ - limited: limited, - soldOut: soldOut, - birthday: birthday, - id: id, - sticker: sticker, - stars: stars, - availabilityRemains: availabilityRemains, - availabilityTotal: availabilityTotal, - availabilityResale: availabilityResale, - convertStars: convertStars, - firstSaleDate: firstSaleDate, - lastSaleDate: lastSaleDate, - upgradeStars: upgradeStars, - resellMinStars: resellMinStars, - title: title, - releasedBy: releasedBy, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.limited ? 1 << 0 : 0; - flags |= this.soldOut ? 1 << 1 : 0; - flags |= this.birthday ? 1 << 2 : 0; - flags |= this.availabilityRemains !== undefined ? 1 << 0 : 0; - flags |= this.availabilityTotal !== undefined ? 1 << 0 : 0; - flags |= this.availabilityResale !== undefined ? 1 << 4 : 0; - flags |= this.firstSaleDate !== undefined ? 1 << 1 : 0; - flags |= this.lastSaleDate !== undefined ? 1 << 1 : 0; - flags |= this.upgradeStars !== undefined ? 1 << 3 : 0; - flags |= this.resellMinStars !== undefined ? 1 << 4 : 0; - flags |= this.title !== undefined ? 1 << 5 : 0; - flags |= this.releasedBy !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - if (this.stars !== undefined) { - b.write(Primitive.Long.write(this.stars) as unknown as Buffer); - } - if (this.availabilityRemains !== undefined) { - b.write(Primitive.Int.write(this.availabilityRemains) as unknown as Buffer); - } - if (this.availabilityTotal !== undefined) { - b.write(Primitive.Int.write(this.availabilityTotal) as unknown as Buffer); - } - if (this.availabilityResale !== undefined) { - b.write(Primitive.Long.write(this.availabilityResale) as unknown as Buffer); - } - if (this.convertStars !== undefined) { - b.write(Primitive.Long.write(this.convertStars) as unknown as Buffer); - } - if (this.firstSaleDate !== undefined) { - b.write(Primitive.Int.write(this.firstSaleDate) as unknown as Buffer); - } - if (this.lastSaleDate !== undefined) { - b.write(Primitive.Int.write(this.lastSaleDate) as unknown as Buffer); - } - if (this.upgradeStars !== undefined) { - b.write(Primitive.Long.write(this.upgradeStars) as unknown as Buffer); - } - if (this.resellMinStars !== undefined) { - b.write(Primitive.Long.write(this.resellMinStars) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.releasedBy !== undefined) { - b.write(this.releasedBy.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftUnique extends TLObject { - id!: long; - title!: string; - slug!: string; - num!: int; - ownerId?: Raw.TypePeer; - ownerName?: string; - ownerAddress?: string; - attributes!: Vector; - availabilityIssued!: int; - availabilityTotal!: int; - giftAddress?: string; - resellStars?: long; - releasedBy?: Raw.TypePeer; - - constructor(params: { - id: long; - title: string; - slug: string; - num: int; - ownerId?: Raw.TypePeer; - ownerName?: string; - ownerAddress?: string; - attributes: Vector; - availabilityIssued: int; - availabilityTotal: int; - giftAddress?: string; - resellStars?: long; - releasedBy?: Raw.TypePeer; - }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftUnique'; - this.constructorId = 0xf63778ae; - this.subclassOfId = 0xc31c590b; - this._slots = [ - 'id', - 'title', - 'slug', - 'num', - 'ownerId', - 'ownerName', - 'ownerAddress', - 'attributes', - 'availabilityIssued', - 'availabilityTotal', - 'giftAddress', - 'resellStars', - 'releasedBy', - ]; - this.id = params.id; - this.title = params.title; - this.slug = params.slug; - this.num = params.num; - this.ownerId = params.ownerId; - this.ownerName = params.ownerName; - this.ownerAddress = params.ownerAddress; - this.attributes = params.attributes; - this.availabilityIssued = params.availabilityIssued; - this.availabilityTotal = params.availabilityTotal; - this.giftAddress = params.giftAddress; - this.resellStars = params.resellStars; - this.releasedBy = params.releasedBy; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let slug = await Primitive.String.read(_data); - let num = await Primitive.Int.read(_data); - let ownerId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let ownerName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let ownerAddress = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let attributes = await TLObject.read(_data); - let availabilityIssued = await Primitive.Int.read(_data); - let availabilityTotal = await Primitive.Int.read(_data); - let giftAddress = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let resellStars = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let releasedBy = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - return new Raw.StarGiftUnique({ - id: id, - title: title, - slug: slug, - num: num, - ownerId: ownerId, - ownerName: ownerName, - ownerAddress: ownerAddress, - attributes: attributes, - availabilityIssued: availabilityIssued, - availabilityTotal: availabilityTotal, - giftAddress: giftAddress, - resellStars: resellStars, - releasedBy: releasedBy, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ownerId !== undefined ? 1 << 0 : 0; - flags |= this.ownerName !== undefined ? 1 << 1 : 0; - flags |= this.ownerAddress !== undefined ? 1 << 2 : 0; - flags |= this.giftAddress !== undefined ? 1 << 3 : 0; - flags |= this.resellStars !== undefined ? 1 << 4 : 0; - flags |= this.releasedBy !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.num !== undefined) { - b.write(Primitive.Int.write(this.num) as unknown as Buffer); - } - if (this.ownerId !== undefined) { - b.write(this.ownerId.write() as unknown as Buffer); - } - if (this.ownerName !== undefined) { - b.write(Primitive.String.write(this.ownerName) as unknown as Buffer); - } - if (this.ownerAddress !== undefined) { - b.write(Primitive.String.write(this.ownerAddress) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - if (this.availabilityIssued !== undefined) { - b.write(Primitive.Int.write(this.availabilityIssued) as unknown as Buffer); - } - if (this.availabilityTotal !== undefined) { - b.write(Primitive.Int.write(this.availabilityTotal) as unknown as Buffer); - } - if (this.giftAddress !== undefined) { - b.write(Primitive.String.write(this.giftAddress) as unknown as Buffer); - } - if (this.resellStars !== undefined) { - b.write(Primitive.Long.write(this.resellStars) as unknown as Buffer); - } - if (this.releasedBy !== undefined) { - b.write(this.releasedBy.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReportOption extends TLObject { - text!: string; - option!: bytes; - - constructor(params: { text: string; option: bytes }) { - super(); - this.classType = 'types'; - this.className = 'MessageReportOption'; - this.constructorId = 0x7903e3d9; - this.subclassOfId = 0xfd79af88; - this._slots = ['text', 'option']; - this.text = params.text; - this.option = params.option; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let text = await Primitive.String.read(_data); - let option = await Primitive.Bytes.read(_data); - return new Raw.MessageReportOption({ text: text, option: option }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportResultChooseOption extends TLObject { - title!: string; - options!: Vector; - - constructor(params: { title: string; options: Vector }) { - super(); - this.classType = 'types'; - this.className = 'ReportResultChooseOption'; - this.constructorId = 0xf0e4e0b6; - this.subclassOfId = 0xacd3f438; - this._slots = ['title', 'options']; - this.title = params.title; - this.options = params.options; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let options = await TLObject.read(_data); - return new Raw.ReportResultChooseOption({ title: title, options: options }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.options) { - b.write(Primitive.Vector.write(this.options) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportResultAddComment extends TLObject { - optional?: boolean; - option!: bytes; - - constructor(params: { optional?: boolean; option: bytes }) { - super(); - this.classType = 'types'; - this.className = 'ReportResultAddComment'; - this.constructorId = 0x6f09ac31; - this.subclassOfId = 0xacd3f438; - this._slots = ['optional', 'option']; - this.optional = params.optional; - this.option = params.option; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let optional = flags & (1 << 0) ? true : false; - let option = await Primitive.Bytes.read(_data); - return new Raw.ReportResultAddComment({ optional: optional, option: option }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.optional ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportResultReported extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'ReportResultReported'; - this.constructorId = 0x8db33c4b; - this.subclassOfId = 0xacd3f438; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.ReportResultReported(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotAppSettings extends TLObject { - placeholderPath?: bytes; - backgroundColor?: int; - backgroundDarkColor?: int; - headerColor?: int; - headerDarkColor?: int; - - constructor(params: { - placeholderPath?: bytes; - backgroundColor?: int; - backgroundDarkColor?: int; - headerColor?: int; - headerDarkColor?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'BotAppSettings'; - this.constructorId = 0xc99b1950; - this.subclassOfId = 0x179e62e3; - this._slots = [ - 'placeholderPath', - 'backgroundColor', - 'backgroundDarkColor', - 'headerColor', - 'headerDarkColor', - ]; - this.placeholderPath = params.placeholderPath; - this.backgroundColor = params.backgroundColor; - this.backgroundDarkColor = params.backgroundDarkColor; - this.headerColor = params.headerColor; - this.headerDarkColor = params.headerDarkColor; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let placeholderPath = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let backgroundColor = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let backgroundDarkColor = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let headerColor = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let headerDarkColor = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.BotAppSettings({ - placeholderPath: placeholderPath, - backgroundColor: backgroundColor, - backgroundDarkColor: backgroundDarkColor, - headerColor: headerColor, - headerDarkColor: headerDarkColor, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.placeholderPath !== undefined ? 1 << 0 : 0; - flags |= this.backgroundColor !== undefined ? 1 << 1 : 0; - flags |= this.backgroundDarkColor !== undefined ? 1 << 2 : 0; - flags |= this.headerColor !== undefined ? 1 << 3 : 0; - flags |= this.headerDarkColor !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.placeholderPath !== undefined) { - b.write(Primitive.Bytes.write(this.placeholderPath) as unknown as Buffer); - } - if (this.backgroundColor !== undefined) { - b.write(Primitive.Int.write(this.backgroundColor) as unknown as Buffer); - } - if (this.backgroundDarkColor !== undefined) { - b.write(Primitive.Int.write(this.backgroundDarkColor) as unknown as Buffer); - } - if (this.headerColor !== undefined) { - b.write(Primitive.Int.write(this.headerColor) as unknown as Buffer); - } - if (this.headerDarkColor !== undefined) { - b.write(Primitive.Int.write(this.headerDarkColor) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarRefProgram extends TLObject { - botId!: long; - commissionPermille!: int; - durationMonths?: int; - endDate?: int; - dailyRevenuePerUser?: Raw.TypeStarsAmount; - - constructor(params: { - botId: long; - commissionPermille: int; - durationMonths?: int; - endDate?: int; - dailyRevenuePerUser?: Raw.TypeStarsAmount; - }) { - super(); - this.classType = 'types'; - this.className = 'StarRefProgram'; - this.constructorId = 0xdd0c66f2; - this.subclassOfId = 0x9888e002; - this._slots = [ - 'botId', - 'commissionPermille', - 'durationMonths', - 'endDate', - 'dailyRevenuePerUser', - ]; - this.botId = params.botId; - this.commissionPermille = params.commissionPermille; - this.durationMonths = params.durationMonths; - this.endDate = params.endDate; - this.dailyRevenuePerUser = params.dailyRevenuePerUser; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let botId = await Primitive.Long.read(_data); - let commissionPermille = await Primitive.Int.read(_data); - let durationMonths = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let endDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let dailyRevenuePerUser = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.StarRefProgram({ - botId: botId, - commissionPermille: commissionPermille, - durationMonths: durationMonths, - endDate: endDate, - dailyRevenuePerUser: dailyRevenuePerUser, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.durationMonths !== undefined ? 1 << 0 : 0; - flags |= this.endDate !== undefined ? 1 << 1 : 0; - flags |= this.dailyRevenuePerUser !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.commissionPermille !== undefined) { - b.write(Primitive.Int.write(this.commissionPermille) as unknown as Buffer); - } - if (this.durationMonths !== undefined) { - b.write(Primitive.Int.write(this.durationMonths) as unknown as Buffer); - } - if (this.endDate !== undefined) { - b.write(Primitive.Int.write(this.endDate) as unknown as Buffer); - } - if (this.dailyRevenuePerUser !== undefined) { - b.write(this.dailyRevenuePerUser.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConnectedBotStarRef extends TLObject { - revoked?: boolean; - url!: string; - date!: int; - botId!: long; - commissionPermille!: int; - durationMonths?: int; - participants!: long; - revenue!: long; - - constructor(params: { - revoked?: boolean; - url: string; - date: int; - botId: long; - commissionPermille: int; - durationMonths?: int; - participants: long; - revenue: long; - }) { - super(); - this.classType = 'types'; - this.className = 'ConnectedBotStarRef'; - this.constructorId = 0x19a13f71; - this.subclassOfId = 0xa0528f8c; - this._slots = [ - 'revoked', - 'url', - 'date', - 'botId', - 'commissionPermille', - 'durationMonths', - 'participants', - 'revenue', - ]; - this.revoked = params.revoked; - this.url = params.url; - this.date = params.date; - this.botId = params.botId; - this.commissionPermille = params.commissionPermille; - this.durationMonths = params.durationMonths; - this.participants = params.participants; - this.revenue = params.revenue; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoked = flags & (1 << 1) ? true : false; - let url = await Primitive.String.read(_data); - let date = await Primitive.Int.read(_data); - let botId = await Primitive.Long.read(_data); - let commissionPermille = await Primitive.Int.read(_data); - let durationMonths = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let participants = await Primitive.Long.read(_data); - let revenue = await Primitive.Long.read(_data); - return new Raw.ConnectedBotStarRef({ - revoked: revoked, - url: url, - date: date, - botId: botId, - commissionPermille: commissionPermille, - durationMonths: durationMonths, - participants: participants, - revenue: revenue, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoked ? 1 << 1 : 0; - flags |= this.durationMonths !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.commissionPermille !== undefined) { - b.write(Primitive.Int.write(this.commissionPermille) as unknown as Buffer); - } - if (this.durationMonths !== undefined) { - b.write(Primitive.Int.write(this.durationMonths) as unknown as Buffer); - } - if (this.participants !== undefined) { - b.write(Primitive.Long.write(this.participants) as unknown as Buffer); - } - if (this.revenue !== undefined) { - b.write(Primitive.Long.write(this.revenue) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsAmount extends TLObject { - amount!: long; - nanos!: int; - - constructor(params: { amount: long; nanos: int }) { - super(); - this.classType = 'types'; - this.className = 'StarsAmount'; - this.constructorId = 0xbbb6b4a3; - this.subclassOfId = 0x355b3240; - this._slots = ['amount', 'nanos']; - this.amount = params.amount; - this.nanos = params.nanos; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let amount = await Primitive.Long.read(_data); - let nanos = await Primitive.Int.read(_data); - return new Raw.StarsAmount({ amount: amount, nanos: nanos }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.nanos !== undefined) { - b.write(Primitive.Int.write(this.nanos) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsTonAmount extends TLObject { - amount!: long; - - constructor(params: { amount: long }) { - super(); - this.classType = 'types'; - this.className = 'StarsTonAmount'; - this.constructorId = 0x74aee3e0; - this.subclassOfId = 0x355b3240; - this._slots = ['amount']; - this.amount = params.amount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let amount = await Primitive.Long.read(_data); - return new Raw.StarsTonAmount({ amount: amount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotVerifierSettings extends TLObject { - canModifyCustomDescription?: boolean; - icon!: long; - company!: string; - customDescription?: string; - - constructor(params: { - canModifyCustomDescription?: boolean; - icon: long; - company: string; - customDescription?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'BotVerifierSettings'; - this.constructorId = 0xb0cd6617; - this.subclassOfId = 0xf1d6034c; - this._slots = ['canModifyCustomDescription', 'icon', 'company', 'customDescription']; - this.canModifyCustomDescription = params.canModifyCustomDescription; - this.icon = params.icon; - this.company = params.company; - this.customDescription = params.customDescription; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canModifyCustomDescription = flags & (1 << 1) ? true : false; - let icon = await Primitive.Long.read(_data); - let company = await Primitive.String.read(_data); - let customDescription = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.BotVerifierSettings({ - canModifyCustomDescription: canModifyCustomDescription, - icon: icon, - company: company, - customDescription: customDescription, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canModifyCustomDescription ? 1 << 1 : 0; - flags |= this.customDescription !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.icon !== undefined) { - b.write(Primitive.Long.write(this.icon) as unknown as Buffer); - } - if (this.company !== undefined) { - b.write(Primitive.String.write(this.company) as unknown as Buffer); - } - if (this.customDescription !== undefined) { - b.write(Primitive.String.write(this.customDescription) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotVerification extends TLObject { - botId!: long; - icon!: long; - description!: string; - - constructor(params: { botId: long; icon: long; description: string }) { - super(); - this.classType = 'types'; - this.className = 'BotVerification'; - this.constructorId = 0xf93cd45c; - this.subclassOfId = 0x2cbf3c5a; - this._slots = ['botId', 'icon', 'description']; - this.botId = params.botId; - this.icon = params.icon; - this.description = params.description; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let botId = await Primitive.Long.read(_data); - let icon = await Primitive.Long.read(_data); - let description = await Primitive.String.read(_data); - return new Raw.BotVerification({ botId: botId, icon: icon, description: description }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.icon !== undefined) { - b.write(Primitive.Long.write(this.icon) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeModel extends TLObject { - name!: string; - document!: Raw.TypeDocument; - rarityPermille!: int; - - constructor(params: { name: string; document: Raw.TypeDocument; rarityPermille: int }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeModel'; - this.constructorId = 0x39d99013; - this.subclassOfId = 0x87b581c8; - this._slots = ['name', 'document', 'rarityPermille']; - this.name = params.name; - this.document = params.document; - this.rarityPermille = params.rarityPermille; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let name = await Primitive.String.read(_data); - let document = await TLObject.read(_data); - let rarityPermille = await Primitive.Int.read(_data); - return new Raw.StarGiftAttributeModel({ - name: name, - document: document, - rarityPermille: rarityPermille, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.rarityPermille !== undefined) { - b.write(Primitive.Int.write(this.rarityPermille) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributePattern extends TLObject { - name!: string; - document!: Raw.TypeDocument; - rarityPermille!: int; - - constructor(params: { name: string; document: Raw.TypeDocument; rarityPermille: int }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributePattern'; - this.constructorId = 0x13acff19; - this.subclassOfId = 0x87b581c8; - this._slots = ['name', 'document', 'rarityPermille']; - this.name = params.name; - this.document = params.document; - this.rarityPermille = params.rarityPermille; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let name = await Primitive.String.read(_data); - let document = await TLObject.read(_data); - let rarityPermille = await Primitive.Int.read(_data); - return new Raw.StarGiftAttributePattern({ - name: name, - document: document, - rarityPermille: rarityPermille, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.rarityPermille !== undefined) { - b.write(Primitive.Int.write(this.rarityPermille) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeBackdrop extends TLObject { - name!: string; - backdropId!: int; - centerColor!: int; - edgeColor!: int; - patternColor!: int; - textColor!: int; - rarityPermille!: int; - - constructor(params: { - name: string; - backdropId: int; - centerColor: int; - edgeColor: int; - patternColor: int; - textColor: int; - rarityPermille: int; - }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeBackdrop'; - this.constructorId = 0xd93d859c; - this.subclassOfId = 0x87b581c8; - this._slots = [ - 'name', - 'backdropId', - 'centerColor', - 'edgeColor', - 'patternColor', - 'textColor', - 'rarityPermille', - ]; - this.name = params.name; - this.backdropId = params.backdropId; - this.centerColor = params.centerColor; - this.edgeColor = params.edgeColor; - this.patternColor = params.patternColor; - this.textColor = params.textColor; - this.rarityPermille = params.rarityPermille; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let name = await Primitive.String.read(_data); - let backdropId = await Primitive.Int.read(_data); - let centerColor = await Primitive.Int.read(_data); - let edgeColor = await Primitive.Int.read(_data); - let patternColor = await Primitive.Int.read(_data); - let textColor = await Primitive.Int.read(_data); - let rarityPermille = await Primitive.Int.read(_data); - return new Raw.StarGiftAttributeBackdrop({ - name: name, - backdropId: backdropId, - centerColor: centerColor, - edgeColor: edgeColor, - patternColor: patternColor, - textColor: textColor, - rarityPermille: rarityPermille, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.backdropId !== undefined) { - b.write(Primitive.Int.write(this.backdropId) as unknown as Buffer); - } - if (this.centerColor !== undefined) { - b.write(Primitive.Int.write(this.centerColor) as unknown as Buffer); - } - if (this.edgeColor !== undefined) { - b.write(Primitive.Int.write(this.edgeColor) as unknown as Buffer); - } - if (this.patternColor !== undefined) { - b.write(Primitive.Int.write(this.patternColor) as unknown as Buffer); - } - if (this.textColor !== undefined) { - b.write(Primitive.Int.write(this.textColor) as unknown as Buffer); - } - if (this.rarityPermille !== undefined) { - b.write(Primitive.Int.write(this.rarityPermille) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeOriginalDetails extends TLObject { - senderId?: Raw.TypePeer; - recipientId!: Raw.TypePeer; - date!: int; - message?: Raw.TypeTextWithEntities; - - constructor(params: { - senderId?: Raw.TypePeer; - recipientId: Raw.TypePeer; - date: int; - message?: Raw.TypeTextWithEntities; - }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeOriginalDetails'; - this.constructorId = 0xe0bff26c; - this.subclassOfId = 0x87b581c8; - this._slots = ['senderId', 'recipientId', 'date', 'message']; - this.senderId = params.senderId; - this.recipientId = params.recipientId; - this.date = params.date; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let senderId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let recipientId = await TLObject.read(_data); - let date = await Primitive.Int.read(_data); - let message = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.StarGiftAttributeOriginalDetails({ - senderId: senderId, - recipientId: recipientId, - date: date, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.senderId !== undefined ? 1 << 0 : 0; - flags |= this.message !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.senderId !== undefined) { - b.write(this.senderId.write() as unknown as Buffer); - } - if (this.recipientId !== undefined) { - b.write(this.recipientId.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedStarGift extends TLObject { - nameHidden?: boolean; - unsaved?: boolean; - refunded?: boolean; - canUpgrade?: boolean; - pinnedToTop?: boolean; - fromId?: Raw.TypePeer; - date!: int; - gift!: Raw.TypeStarGift; - message?: Raw.TypeTextWithEntities; - msgId?: int; - savedId?: long; - convertStars?: long; - upgradeStars?: long; - canExportAt?: int; - transferStars?: long; - canTransferAt?: int; - canResellAt?: int; - - constructor(params: { - nameHidden?: boolean; - unsaved?: boolean; - refunded?: boolean; - canUpgrade?: boolean; - pinnedToTop?: boolean; - fromId?: Raw.TypePeer; - date: int; - gift: Raw.TypeStarGift; - message?: Raw.TypeTextWithEntities; - msgId?: int; - savedId?: long; - convertStars?: long; - upgradeStars?: long; - canExportAt?: int; - transferStars?: long; - canTransferAt?: int; - canResellAt?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'SavedStarGift'; - this.constructorId = 0xdfda0499; - this.subclassOfId = 0x8e2b3c14; - this._slots = [ - 'nameHidden', - 'unsaved', - 'refunded', - 'canUpgrade', - 'pinnedToTop', - 'fromId', - 'date', - 'gift', - 'message', - 'msgId', - 'savedId', - 'convertStars', - 'upgradeStars', - 'canExportAt', - 'transferStars', - 'canTransferAt', - 'canResellAt', - ]; - this.nameHidden = params.nameHidden; - this.unsaved = params.unsaved; - this.refunded = params.refunded; - this.canUpgrade = params.canUpgrade; - this.pinnedToTop = params.pinnedToTop; - this.fromId = params.fromId; - this.date = params.date; - this.gift = params.gift; - this.message = params.message; - this.msgId = params.msgId; - this.savedId = params.savedId; - this.convertStars = params.convertStars; - this.upgradeStars = params.upgradeStars; - this.canExportAt = params.canExportAt; - this.transferStars = params.transferStars; - this.canTransferAt = params.canTransferAt; - this.canResellAt = params.canResellAt; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nameHidden = flags & (1 << 0) ? true : false; - let unsaved = flags & (1 << 5) ? true : false; - let refunded = flags & (1 << 9) ? true : false; - let canUpgrade = flags & (1 << 10) ? true : false; - let pinnedToTop = flags & (1 << 12) ? true : false; - let fromId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let gift = await TLObject.read(_data); - let message = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let msgId = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let savedId = flags & (1 << 11) ? await Primitive.Long.read(_data) : undefined; - let convertStars = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let upgradeStars = flags & (1 << 6) ? await Primitive.Long.read(_data) : undefined; - let canExportAt = flags & (1 << 7) ? await Primitive.Int.read(_data) : undefined; - let transferStars = flags & (1 << 8) ? await Primitive.Long.read(_data) : undefined; - let canTransferAt = flags & (1 << 13) ? await Primitive.Int.read(_data) : undefined; - let canResellAt = flags & (1 << 14) ? await Primitive.Int.read(_data) : undefined; - return new Raw.SavedStarGift({ - nameHidden: nameHidden, - unsaved: unsaved, - refunded: refunded, - canUpgrade: canUpgrade, - pinnedToTop: pinnedToTop, - fromId: fromId, - date: date, - gift: gift, - message: message, - msgId: msgId, - savedId: savedId, - convertStars: convertStars, - upgradeStars: upgradeStars, - canExportAt: canExportAt, - transferStars: transferStars, - canTransferAt: canTransferAt, - canResellAt: canResellAt, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nameHidden ? 1 << 0 : 0; - flags |= this.unsaved ? 1 << 5 : 0; - flags |= this.refunded ? 1 << 9 : 0; - flags |= this.canUpgrade ? 1 << 10 : 0; - flags |= this.pinnedToTop ? 1 << 12 : 0; - flags |= this.fromId !== undefined ? 1 << 1 : 0; - flags |= this.message !== undefined ? 1 << 2 : 0; - flags |= this.msgId !== undefined ? 1 << 3 : 0; - flags |= this.savedId !== undefined ? 1 << 11 : 0; - flags |= this.convertStars !== undefined ? 1 << 4 : 0; - flags |= this.upgradeStars !== undefined ? 1 << 6 : 0; - flags |= this.canExportAt !== undefined ? 1 << 7 : 0; - flags |= this.transferStars !== undefined ? 1 << 8 : 0; - flags |= this.canTransferAt !== undefined ? 1 << 13 : 0; - flags |= this.canResellAt !== undefined ? 1 << 14 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.gift !== undefined) { - b.write(this.gift.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.savedId !== undefined) { - b.write(Primitive.Long.write(this.savedId) as unknown as Buffer); - } - if (this.convertStars !== undefined) { - b.write(Primitive.Long.write(this.convertStars) as unknown as Buffer); - } - if (this.upgradeStars !== undefined) { - b.write(Primitive.Long.write(this.upgradeStars) as unknown as Buffer); - } - if (this.canExportAt !== undefined) { - b.write(Primitive.Int.write(this.canExportAt) as unknown as Buffer); - } - if (this.transferStars !== undefined) { - b.write(Primitive.Long.write(this.transferStars) as unknown as Buffer); - } - if (this.canTransferAt !== undefined) { - b.write(Primitive.Int.write(this.canTransferAt) as unknown as Buffer); - } - if (this.canResellAt !== undefined) { - b.write(Primitive.Int.write(this.canResellAt) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSavedStarGiftUser extends TLObject { - msgId!: int; - - constructor(params: { msgId: int }) { - super(); - this.classType = 'types'; - this.className = 'InputSavedStarGiftUser'; - this.constructorId = 0x69279795; - this.subclassOfId = 0x8f7599ae; - this._slots = ['msgId']; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let msgId = await Primitive.Int.read(_data); - return new Raw.InputSavedStarGiftUser({ msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSavedStarGiftChat extends TLObject { - peer!: Raw.TypeInputPeer; - savedId!: long; - - constructor(params: { peer: Raw.TypeInputPeer; savedId: long }) { - super(); - this.classType = 'types'; - this.className = 'InputSavedStarGiftChat'; - this.constructorId = 0xf101aa7f; - this.subclassOfId = 0x8f7599ae; - this._slots = ['peer', 'savedId']; - this.peer = params.peer; - this.savedId = params.savedId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let savedId = await Primitive.Long.read(_data); - return new Raw.InputSavedStarGiftChat({ peer: peer, savedId: savedId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedId !== undefined) { - b.write(Primitive.Long.write(this.savedId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InputSavedStarGiftSlug extends TLObject { - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'types'; - this.className = 'InputSavedStarGiftSlug'; - this.constructorId = 0x2085c238; - this.subclassOfId = 0x8f7599ae; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.InputSavedStarGiftSlug({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaidReactionPrivacyDefault extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PaidReactionPrivacyDefault'; - this.constructorId = 0x206ad49e; - this.subclassOfId = 0x65d77636; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PaidReactionPrivacyDefault(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaidReactionPrivacyAnonymous extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'PaidReactionPrivacyAnonymous'; - this.constructorId = 0x1f0c1ad9; - this.subclassOfId = 0x65d77636; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.PaidReactionPrivacyAnonymous(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaidReactionPrivacyPeer extends TLObject { - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'types'; - this.className = 'PaidReactionPrivacyPeer'; - this.constructorId = 0xdc6cfcf0; - this.subclassOfId = 0x65d77636; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.PaidReactionPrivacyPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequirementToContactEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'RequirementToContactEmpty'; - this.constructorId = 0x50a9839; - this.subclassOfId = 0x8d756391; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.RequirementToContactEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequirementToContactPremium extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'RequirementToContactPremium'; - this.constructorId = 0xe581e4e9; - this.subclassOfId = 0x8d756391; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.RequirementToContactPremium(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequirementToContactPaidMessages extends TLObject { - starsAmount!: long; - - constructor(params: { starsAmount: long }) { - super(); - this.classType = 'types'; - this.className = 'RequirementToContactPaidMessages'; - this.constructorId = 0xb4f67e93; - this.subclassOfId = 0x8d756391; - this._slots = ['starsAmount']; - this.starsAmount = params.starsAmount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let starsAmount = await Primitive.Long.read(_data); - return new Raw.RequirementToContactPaidMessages({ starsAmount: starsAmount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.starsAmount !== undefined) { - b.write(Primitive.Long.write(this.starsAmount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessBotRights extends TLObject { - reply?: boolean; - readMessages?: boolean; - deleteSentMessages?: boolean; - deleteReceivedMessages?: boolean; - editName?: boolean; - editBio?: boolean; - editProfilePhoto?: boolean; - editUsername?: boolean; - viewGifts?: boolean; - sellGifts?: boolean; - changeGiftSettings?: boolean; - transferAndUpgradeGifts?: boolean; - transferStars?: boolean; - manageStories?: boolean; - - constructor(params: { - reply?: boolean; - readMessages?: boolean; - deleteSentMessages?: boolean; - deleteReceivedMessages?: boolean; - editName?: boolean; - editBio?: boolean; - editProfilePhoto?: boolean; - editUsername?: boolean; - viewGifts?: boolean; - sellGifts?: boolean; - changeGiftSettings?: boolean; - transferAndUpgradeGifts?: boolean; - transferStars?: boolean; - manageStories?: boolean; - }) { - super(); - this.classType = 'types'; - this.className = 'BusinessBotRights'; - this.constructorId = 0xa0624cf7; - this.subclassOfId = 0xb8dc759a; - this._slots = [ - 'reply', - 'readMessages', - 'deleteSentMessages', - 'deleteReceivedMessages', - 'editName', - 'editBio', - 'editProfilePhoto', - 'editUsername', - 'viewGifts', - 'sellGifts', - 'changeGiftSettings', - 'transferAndUpgradeGifts', - 'transferStars', - 'manageStories', - ]; - this.reply = params.reply; - this.readMessages = params.readMessages; - this.deleteSentMessages = params.deleteSentMessages; - this.deleteReceivedMessages = params.deleteReceivedMessages; - this.editName = params.editName; - this.editBio = params.editBio; - this.editProfilePhoto = params.editProfilePhoto; - this.editUsername = params.editUsername; - this.viewGifts = params.viewGifts; - this.sellGifts = params.sellGifts; - this.changeGiftSettings = params.changeGiftSettings; - this.transferAndUpgradeGifts = params.transferAndUpgradeGifts; - this.transferStars = params.transferStars; - this.manageStories = params.manageStories; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let reply = flags & (1 << 0) ? true : false; - let readMessages = flags & (1 << 1) ? true : false; - let deleteSentMessages = flags & (1 << 2) ? true : false; - let deleteReceivedMessages = flags & (1 << 3) ? true : false; - let editName = flags & (1 << 4) ? true : false; - let editBio = flags & (1 << 5) ? true : false; - let editProfilePhoto = flags & (1 << 6) ? true : false; - let editUsername = flags & (1 << 7) ? true : false; - let viewGifts = flags & (1 << 8) ? true : false; - let sellGifts = flags & (1 << 9) ? true : false; - let changeGiftSettings = flags & (1 << 10) ? true : false; - let transferAndUpgradeGifts = flags & (1 << 11) ? true : false; - let transferStars = flags & (1 << 12) ? true : false; - let manageStories = flags & (1 << 13) ? true : false; - return new Raw.BusinessBotRights({ - reply: reply, - readMessages: readMessages, - deleteSentMessages: deleteSentMessages, - deleteReceivedMessages: deleteReceivedMessages, - editName: editName, - editBio: editBio, - editProfilePhoto: editProfilePhoto, - editUsername: editUsername, - viewGifts: viewGifts, - sellGifts: sellGifts, - changeGiftSettings: changeGiftSettings, - transferAndUpgradeGifts: transferAndUpgradeGifts, - transferStars: transferStars, - manageStories: manageStories, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.reply ? 1 << 0 : 0; - flags |= this.readMessages ? 1 << 1 : 0; - flags |= this.deleteSentMessages ? 1 << 2 : 0; - flags |= this.deleteReceivedMessages ? 1 << 3 : 0; - flags |= this.editName ? 1 << 4 : 0; - flags |= this.editBio ? 1 << 5 : 0; - flags |= this.editProfilePhoto ? 1 << 6 : 0; - flags |= this.editUsername ? 1 << 7 : 0; - flags |= this.viewGifts ? 1 << 8 : 0; - flags |= this.sellGifts ? 1 << 9 : 0; - flags |= this.changeGiftSettings ? 1 << 10 : 0; - flags |= this.transferAndUpgradeGifts ? 1 << 11 : 0; - flags |= this.transferStars ? 1 << 12 : 0; - flags |= this.manageStories ? 1 << 13 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DisallowedGiftsSettings extends TLObject { - disallowUnlimitedStargifts?: boolean; - disallowLimitedStargifts?: boolean; - disallowUniqueStargifts?: boolean; - disallowPremiumGifts?: boolean; - - constructor(params: { - disallowUnlimitedStargifts?: boolean; - disallowLimitedStargifts?: boolean; - disallowUniqueStargifts?: boolean; - disallowPremiumGifts?: boolean; - }) { - super(); - this.classType = 'types'; - this.className = 'DisallowedGiftsSettings'; - this.constructorId = 0x71f276c4; - this.subclassOfId = 0x382e9ab; - this._slots = [ - 'disallowUnlimitedStargifts', - 'disallowLimitedStargifts', - 'disallowUniqueStargifts', - 'disallowPremiumGifts', - ]; - this.disallowUnlimitedStargifts = params.disallowUnlimitedStargifts; - this.disallowLimitedStargifts = params.disallowLimitedStargifts; - this.disallowUniqueStargifts = params.disallowUniqueStargifts; - this.disallowPremiumGifts = params.disallowPremiumGifts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let disallowUnlimitedStargifts = flags & (1 << 0) ? true : false; - let disallowLimitedStargifts = flags & (1 << 1) ? true : false; - let disallowUniqueStargifts = flags & (1 << 2) ? true : false; - let disallowPremiumGifts = flags & (1 << 3) ? true : false; - return new Raw.DisallowedGiftsSettings({ - disallowUnlimitedStargifts: disallowUnlimitedStargifts, - disallowLimitedStargifts: disallowLimitedStargifts, - disallowUniqueStargifts: disallowUniqueStargifts, - disallowPremiumGifts: disallowPremiumGifts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.disallowUnlimitedStargifts ? 1 << 0 : 0; - flags |= this.disallowLimitedStargifts ? 1 << 1 : 0; - flags |= this.disallowUniqueStargifts ? 1 << 2 : 0; - flags |= this.disallowPremiumGifts ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredPeer extends TLObject { - randomId!: bytes; - peer!: Raw.TypePeer; - sponsorInfo?: string; - additionalInfo?: string; - - constructor(params: { - randomId: bytes; - peer: Raw.TypePeer; - sponsorInfo?: string; - additionalInfo?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'SponsoredPeer'; - this.constructorId = 0xc69708d3; - this.subclassOfId = 0x3f75800e; - this._slots = ['randomId', 'peer', 'sponsorInfo', 'additionalInfo']; - this.randomId = params.randomId; - this.peer = params.peer; - this.sponsorInfo = params.sponsorInfo; - this.additionalInfo = params.additionalInfo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let randomId = await Primitive.Bytes.read(_data); - let peer = await TLObject.read(_data); - let sponsorInfo = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let additionalInfo = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.SponsoredPeer({ - randomId: randomId, - peer: peer, - sponsorInfo: sponsorInfo, - additionalInfo: additionalInfo, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sponsorInfo !== undefined ? 1 << 0 : 0; - flags |= this.additionalInfo !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.randomId !== undefined) { - b.write(Primitive.Bytes.write(this.randomId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.sponsorInfo !== undefined) { - b.write(Primitive.String.write(this.sponsorInfo) as unknown as Buffer); - } - if (this.additionalInfo !== undefined) { - b.write(Primitive.String.write(this.additionalInfo) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeIdModel extends TLObject { - documentId!: long; - - constructor(params: { documentId: long }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeIdModel'; - this.constructorId = 0x48aaae3c; - this.subclassOfId = 0xb3212ab7; - this._slots = ['documentId']; - this.documentId = params.documentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let documentId = await Primitive.Long.read(_data); - return new Raw.StarGiftAttributeIdModel({ documentId: documentId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeIdPattern extends TLObject { - documentId!: long; - - constructor(params: { documentId: long }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeIdPattern'; - this.constructorId = 0x4a162433; - this.subclassOfId = 0xb3212ab7; - this._slots = ['documentId']; - this.documentId = params.documentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let documentId = await Primitive.Long.read(_data); - return new Raw.StarGiftAttributeIdPattern({ documentId: documentId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.documentId !== undefined) { - b.write(Primitive.Long.write(this.documentId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeIdBackdrop extends TLObject { - backdropId!: int; - - constructor(params: { backdropId: int }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeIdBackdrop'; - this.constructorId = 0x1f01c757; - this.subclassOfId = 0xb3212ab7; - this._slots = ['backdropId']; - this.backdropId = params.backdropId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let backdropId = await Primitive.Int.read(_data); - return new Raw.StarGiftAttributeIdBackdrop({ backdropId: backdropId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.backdropId !== undefined) { - b.write(Primitive.Int.write(this.backdropId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftAttributeCounter extends TLObject { - attribute!: Raw.TypeStarGiftAttributeId; - count!: int; - - constructor(params: { attribute: Raw.TypeStarGiftAttributeId; count: int }) { - super(); - this.classType = 'types'; - this.className = 'StarGiftAttributeCounter'; - this.constructorId = 0x2eb1b658; - this.subclassOfId = 0x8c28b293; - this._slots = ['attribute', 'count']; - this.attribute = params.attribute; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let attribute = await TLObject.read(_data); - let count = await Primitive.Int.read(_data); - return new Raw.StarGiftAttributeCounter({ attribute: attribute, count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.attribute !== undefined) { - b.write(this.attribute.write() as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PendingSuggestion extends TLObject { - suggestion!: string; - title!: Raw.TypeTextWithEntities; - description!: Raw.TypeTextWithEntities; - url!: string; - - constructor(params: { - suggestion: string; - title: Raw.TypeTextWithEntities; - description: Raw.TypeTextWithEntities; - url: string; - }) { - super(); - this.classType = 'types'; - this.className = 'PendingSuggestion'; - this.constructorId = 0xe7e82e12; - this.subclassOfId = 0xba6174a7; - this._slots = ['suggestion', 'title', 'description', 'url']; - this.suggestion = params.suggestion; - this.title = params.title; - this.description = params.description; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let suggestion = await Primitive.String.read(_data); - let title = await TLObject.read(_data); - let description = await TLObject.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.PendingSuggestion({ - suggestion: suggestion, - title: title, - description: description, - url: url, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.suggestion !== undefined) { - b.write(Primitive.String.write(this.suggestion) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(this.description.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TodoItem extends TLObject { - id!: int; - title!: Raw.TypeTextWithEntities; - - constructor(params: { id: int; title: Raw.TypeTextWithEntities }) { - super(); - this.classType = 'types'; - this.className = 'TodoItem'; - this.constructorId = 0xcba9a52f; - this.subclassOfId = 0xdfdae6b5; - this._slots = ['id', 'title']; - this.id = params.id; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let title = await TLObject.read(_data); - return new Raw.TodoItem({ id: id, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TodoList extends TLObject { - othersCanAppend?: boolean; - othersCanComplete?: boolean; - title!: Raw.TypeTextWithEntities; - list!: Vector; - - constructor(params: { - othersCanAppend?: boolean; - othersCanComplete?: boolean; - title: Raw.TypeTextWithEntities; - list: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'TodoList'; - this.constructorId = 0x49b92a26; - this.subclassOfId = 0x84093bb3; - this._slots = ['othersCanAppend', 'othersCanComplete', 'title', 'list']; - this.othersCanAppend = params.othersCanAppend; - this.othersCanComplete = params.othersCanComplete; - this.title = params.title; - this.list = params.list; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let othersCanAppend = flags & (1 << 0) ? true : false; - let othersCanComplete = flags & (1 << 1) ? true : false; - let title = await TLObject.read(_data); - let list = await TLObject.read(_data); - return new Raw.TodoList({ - othersCanAppend: othersCanAppend, - othersCanComplete: othersCanComplete, - title: title, - list: list, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.othersCanAppend ? 1 << 0 : 0; - flags |= this.othersCanComplete ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.list) { - b.write(Primitive.Vector.write(this.list) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TodoCompletion extends TLObject { - id!: int; - completedBy!: long; - date!: int; - - constructor(params: { id: int; completedBy: long; date: int }) { - super(); - this.classType = 'types'; - this.className = 'TodoCompletion'; - this.constructorId = 0x4cc120b7; - this.subclassOfId = 0xbae65b7b; - this._slots = ['id', 'completedBy', 'date']; - this.id = params.id; - this.completedBy = params.completedBy; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let id = await Primitive.Int.read(_data); - let completedBy = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.TodoCompletion({ id: id, completedBy: completedBy, date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.completedBy !== undefined) { - b.write(Primitive.Long.write(this.completedBy) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SuggestedPost extends TLObject { - accepted?: boolean; - rejected?: boolean; - price?: Raw.TypeStarsAmount; - scheduleDate?: int; - - constructor(params: { - accepted?: boolean; - rejected?: boolean; - price?: Raw.TypeStarsAmount; - scheduleDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'SuggestedPost'; - this.constructorId = 0xe8e37e5; - this.subclassOfId = 0x8e728200; - this._slots = ['accepted', 'rejected', 'price', 'scheduleDate']; - this.accepted = params.accepted; - this.rejected = params.rejected; - this.price = params.price; - this.scheduleDate = params.scheduleDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let accepted = flags & (1 << 1) ? true : false; - let rejected = flags & (1 << 2) ? true : false; - let price = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let scheduleDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.SuggestedPost({ - accepted: accepted, - rejected: rejected, - price: price, - scheduleDate: scheduleDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.accepted ? 1 << 1 : 0; - flags |= this.rejected ? 1 << 2 : 0; - flags |= this.price !== undefined ? 1 << 3 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.price !== undefined) { - b.write(this.price.write() as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeAfterMsg extends TLObject { - __response__!: X; - msgId!: long; - query!: X; - - constructor(params: { msgId: long; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeAfterMsg'; - this.constructorId = 0xcb9f372d; - this.subclassOfId = 0xb7b2364b; - this._slots = ['msgId', 'query']; - this.msgId = params.msgId; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgId = await Primitive.Long.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeAfterMsg({ msgId: msgId, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Long.write(this.msgId) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeAfterMsgs extends TLObject { - __response__!: X; - msgIds!: Vector; - query!: X; - - constructor(params: { msgIds: Vector; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeAfterMsgs'; - this.constructorId = 0x3dc4b4f0; - this.subclassOfId = 0xb7b2364b; - this._slots = ['msgIds', 'query']; - this.msgIds = params.msgIds; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let msgIds = await TLObject.read(_data, Primitive.Long); - let query = await TLObject.read(_data); - return new Raw.InvokeAfterMsgs({ msgIds: msgIds, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgIds) { - b.write(Primitive.Vector.write(this.msgIds, Primitive.Long) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InitConnection extends TLObject { - __response__!: X; - apiId!: int; - deviceModel!: string; - systemVersion!: string; - appVersion!: string; - systemLangCode!: string; - langPack!: string; - langCode!: string; - proxy?: Raw.TypeInputClientProxy; - params?: Raw.TypeJSONValue; - query!: X; - - constructor(params: { - apiId: int; - deviceModel: string; - systemVersion: string; - appVersion: string; - systemLangCode: string; - langPack: string; - langCode: string; - proxy?: Raw.TypeInputClientProxy; - params?: Raw.TypeJSONValue; - query: X; - }) { - super(); - this.classType = 'functions'; - this.className = 'InitConnection'; - this.constructorId = 0xc1cd5ea9; - this.subclassOfId = 0xb7b2364b; - this._slots = [ - 'apiId', - 'deviceModel', - 'systemVersion', - 'appVersion', - 'systemLangCode', - 'langPack', - 'langCode', - 'proxy', - 'params', - 'query', - ]; - this.apiId = params.apiId; - this.deviceModel = params.deviceModel; - this.systemVersion = params.systemVersion; - this.appVersion = params.appVersion; - this.systemLangCode = params.systemLangCode; - this.langPack = params.langPack; - this.langCode = params.langCode; - this.proxy = params.proxy; - this.params = params.params; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let apiId = await Primitive.Int.read(_data); - let deviceModel = await Primitive.String.read(_data); - let systemVersion = await Primitive.String.read(_data); - let appVersion = await Primitive.String.read(_data); - let systemLangCode = await Primitive.String.read(_data); - let langPack = await Primitive.String.read(_data); - let langCode = await Primitive.String.read(_data); - let proxy = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let params = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let query = await TLObject.read(_data); - return new Raw.InitConnection({ - apiId: apiId, - deviceModel: deviceModel, - systemVersion: systemVersion, - appVersion: appVersion, - systemLangCode: systemLangCode, - langPack: langPack, - langCode: langCode, - proxy: proxy, - params: params, - query: query, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.proxy !== undefined ? 1 << 0 : 0; - flags |= this.params !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.apiId !== undefined) { - b.write(Primitive.Int.write(this.apiId) as unknown as Buffer); - } - if (this.deviceModel !== undefined) { - b.write(Primitive.String.write(this.deviceModel) as unknown as Buffer); - } - if (this.systemVersion !== undefined) { - b.write(Primitive.String.write(this.systemVersion) as unknown as Buffer); - } - if (this.appVersion !== undefined) { - b.write(Primitive.String.write(this.appVersion) as unknown as Buffer); - } - if (this.systemLangCode !== undefined) { - b.write(Primitive.String.write(this.systemLangCode) as unknown as Buffer); - } - if (this.langPack !== undefined) { - b.write(Primitive.String.write(this.langPack) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.proxy !== undefined) { - b.write(this.proxy.write() as unknown as Buffer); - } - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithLayer extends TLObject { - __response__!: X; - layer!: int; - query!: X; - - constructor(params: { layer: int; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithLayer'; - this.constructorId = 0xda9b0d0d; - this.subclassOfId = 0xb7b2364b; - this._slots = ['layer', 'query']; - this.layer = params.layer; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let layer = await Primitive.Int.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithLayer({ layer: layer, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.layer !== undefined) { - b.write(Primitive.Int.write(this.layer) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithoutUpdates extends TLObject { - __response__!: X; - query!: X; - - constructor(params: { query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithoutUpdates'; - this.constructorId = 0xbf9459b7; - this.subclassOfId = 0xb7b2364b; - this._slots = ['query']; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let query = await TLObject.read(_data); - return new Raw.InvokeWithoutUpdates({ query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithMessagesRange extends TLObject { - __response__!: X; - range!: Raw.TypeMessageRange; - query!: X; - - constructor(params: { range: Raw.TypeMessageRange; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithMessagesRange'; - this.constructorId = 0x365275f2; - this.subclassOfId = 0xb7b2364b; - this._slots = ['range', 'query']; - this.range = params.range; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let range = await TLObject.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithMessagesRange({ range: range, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.range !== undefined) { - b.write(this.range.write() as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithTakeout extends TLObject { - __response__!: X; - takeoutId!: long; - query!: X; - - constructor(params: { takeoutId: long; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithTakeout'; - this.constructorId = 0xaca9fd2e; - this.subclassOfId = 0xb7b2364b; - this._slots = ['takeoutId', 'query']; - this.takeoutId = params.takeoutId; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let takeoutId = await Primitive.Long.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithTakeout({ takeoutId: takeoutId, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.takeoutId !== undefined) { - b.write(Primitive.Long.write(this.takeoutId) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithBusinessConnection extends TLObject { - __response__!: X; - connectionId!: string; - query!: X; - - constructor(params: { connectionId: string; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithBusinessConnection'; - this.constructorId = 0xdd289f8e; - this.subclassOfId = 0xb7b2364b; - this._slots = ['connectionId', 'query']; - this.connectionId = params.connectionId; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let connectionId = await Primitive.String.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithBusinessConnection({ connectionId: connectionId, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithGooglePlayIntegrity extends TLObject { - __response__!: X; - nonce!: string; - token!: string; - query!: X; - - constructor(params: { nonce: string; token: string; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithGooglePlayIntegrity'; - this.constructorId = 0x1df92984; - this.subclassOfId = 0xb7b2364b; - this._slots = ['nonce', 'token', 'query']; - this.nonce = params.nonce; - this.token = params.token; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.String.read(_data); - let token = await Primitive.String.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithGooglePlayIntegrity({ nonce: nonce, token: token, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.String.write(this.nonce) as unknown as Buffer); - } - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithApnsSecret extends TLObject { - __response__!: X; - nonce!: string; - secret!: string; - query!: X; - - constructor(params: { nonce: string; secret: string; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithApnsSecret'; - this.constructorId = 0x0dae54f8; - this.subclassOfId = 0xb7b2364b; - this._slots = ['nonce', 'secret', 'query']; - this.nonce = params.nonce; - this.secret = params.secret; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let nonce = await Primitive.String.read(_data); - let secret = await Primitive.String.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithApnsSecret({ nonce: nonce, secret: secret, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.nonce !== undefined) { - b.write(Primitive.String.write(this.nonce) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.String.write(this.secret) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWithReCaptcha extends TLObject { - __response__!: X; - token!: string; - query!: X; - - constructor(params: { token: string; query: X }) { - super(); - this.classType = 'functions'; - this.className = 'InvokeWithReCaptcha'; - this.constructorId = 0xadbb0f94; - this.subclassOfId = 0xb7b2364b; - this._slots = ['token', 'query']; - this.token = params.token; - this.query = params.query; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let token = await Primitive.String.read(_data); - let query = await TLObject.read(_data); - return new Raw.InvokeWithReCaptcha({ token: token, query: query }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(this.query.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessage8 extends TLObject { - randomId!: long; - randomBytes!: bytes; - message!: string; - media!: Raw.TypeDecryptedMessageMedia; - - constructor(params: { - randomId: long; - randomBytes: bytes; - message: string; - media: Raw.TypeDecryptedMessageMedia; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessage8'; - this.constructorId = 0x1f814f1f; - this.subclassOfId = 0x5303193e; - this._slots = ['randomId', 'randomBytes', 'message', 'media']; - this.randomId = params.randomId; - this.randomBytes = params.randomBytes; - this.message = params.message; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Long.read(_data); - let randomBytes = await Primitive.Bytes.read(_data); - let message = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - return new Raw.DecryptedMessage8({ - randomId: randomId, - randomBytes: randomBytes, - message: message, - media: media, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.randomBytes !== undefined) { - b.write(Primitive.Bytes.write(this.randomBytes) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageService8 extends TLObject { - randomId!: long; - randomBytes!: bytes; - action!: Raw.TypeDecryptedMessageAction; - - constructor(params: { - randomId: long; - randomBytes: bytes; - action: Raw.TypeDecryptedMessageAction; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageService8'; - this.constructorId = 0xaa48327d; - this.subclassOfId = 0x5303193e; - this._slots = ['randomId', 'randomBytes', 'action']; - this.randomId = params.randomId; - this.randomBytes = params.randomBytes; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Long.read(_data); - let randomBytes = await Primitive.Bytes.read(_data); - let action = await TLObject.read(_data); - return new Raw.DecryptedMessageService8({ - randomId: randomId, - randomBytes: randomBytes, - action: action, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.randomBytes !== undefined) { - b.write(Primitive.Bytes.write(this.randomBytes) as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaEmpty8 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaEmpty8'; - this.constructorId = 0x89f5c4a; - this.subclassOfId = 0xb3d2034; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DecryptedMessageMediaEmpty8(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaPhoto8 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - w!: int; - h!: int; - size!: int; - key!: bytes; - iv!: bytes; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - w: int; - h: int; - size: int; - key: bytes; - iv: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaPhoto8'; - this.constructorId = 0x32798a8c; - this.subclassOfId = 0xb3d2034; - this._slots = ['thumb', 'thumbW', 'thumbH', 'w', 'h', 'size', 'key', 'iv']; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.w = params.w; - this.h = params.h; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageMediaPhoto8({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - w: w, - h: h, - size: size, - key: key, - iv: iv, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaVideo8 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - duration!: int; - w!: int; - h!: int; - size!: int; - key!: bytes; - iv!: bytes; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - duration: int; - w: int; - h: int; - size: int; - key: bytes; - iv: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaVideo8'; - this.constructorId = 0x4cee6ef3; - this.subclassOfId = 0xb3d2034; - this._slots = ['thumb', 'thumbW', 'thumbH', 'duration', 'w', 'h', 'size', 'key', 'iv']; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.duration = params.duration; - this.w = params.w; - this.h = params.h; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let duration = await Primitive.Int.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageMediaVideo8({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - duration: duration, - w: w, - h: h, - size: size, - key: key, - iv: iv, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaGeoPoint8 extends TLObject { - lat!: double; - long!: double; - - constructor(params: { lat: double; long: double }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaGeoPoint8'; - this.constructorId = 0x35480a59; - this.subclassOfId = 0xb3d2034; - this._slots = ['lat', 'long']; - this.lat = params.lat; - this.long = params.long; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let lat = await Primitive.Double.read(_data); - let long = await Primitive.Double.read(_data); - return new Raw.DecryptedMessageMediaGeoPoint8({ lat: lat, long: long }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.lat !== undefined) { - b.write(Primitive.Double.write(this.lat) as unknown as Buffer); - } - if (this.long !== undefined) { - b.write(Primitive.Double.write(this.long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaContact8 extends TLObject { - phoneNumber!: string; - firstName!: string; - lastName!: string; - userId!: int; - - constructor(params: { phoneNumber: string; firstName: string; lastName: string; userId: int }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaContact8'; - this.constructorId = 0x588a0a97; - this.subclassOfId = 0xb3d2034; - this._slots = ['phoneNumber', 'firstName', 'lastName', 'userId']; - this.phoneNumber = params.phoneNumber; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let userId = await Primitive.Int.read(_data); - return new Raw.DecryptedMessageMediaContact8({ - phoneNumber: phoneNumber, - firstName: firstName, - lastName: lastName, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(Primitive.Int.write(this.userId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionSetMessageTTL8 extends TLObject { - ttlSeconds!: int; - - constructor(params: { ttlSeconds: int }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionSetMessageTTL8'; - this.constructorId = 0xa1733aec; - this.subclassOfId = 0x6faf258d; - this._slots = ['ttlSeconds']; - this.ttlSeconds = params.ttlSeconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let ttlSeconds = await Primitive.Int.read(_data); - return new Raw.DecryptedMessageActionSetMessageTTL8({ ttlSeconds: ttlSeconds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.ttlSeconds !== undefined) { - b.write(Primitive.Int.write(this.ttlSeconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaDocument8 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - fileName!: string; - mimeType!: string; - size!: int; - key!: bytes; - iv!: bytes; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - fileName: string; - mimeType: string; - size: int; - key: bytes; - iv: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaDocument8'; - this.constructorId = 0xb095434b; - this.subclassOfId = 0xb3d2034; - this._slots = ['thumb', 'thumbW', 'thumbH', 'fileName', 'mimeType', 'size', 'key', 'iv']; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.fileName = params.fileName; - this.mimeType = params.mimeType; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let fileName = await Primitive.String.read(_data); - let mimeType = await Primitive.String.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageMediaDocument8({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - fileName: fileName, - mimeType: mimeType, - size: size, - key: key, - iv: iv, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.fileName !== undefined) { - b.write(Primitive.String.write(this.fileName) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaAudio8 extends TLObject { - duration!: int; - size!: int; - key!: bytes; - iv!: bytes; - - constructor(params: { duration: int; size: int; key: bytes; iv: bytes }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaAudio8'; - this.constructorId = 0x6080758f; - this.subclassOfId = 0xb3d2034; - this._slots = ['duration', 'size', 'key', 'iv']; - this.duration = params.duration; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let duration = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageMediaAudio8({ - duration: duration, - size: size, - key: key, - iv: iv, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionReadMessages8 extends TLObject { - randomIds!: Vector; - - constructor(params: { randomIds: Vector }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionReadMessages8'; - this.constructorId = 0xc4f40be; - this.subclassOfId = 0x6faf258d; - this._slots = ['randomIds']; - this.randomIds = params.randomIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomIds = await TLObject.read(_data, Primitive.Long); - return new Raw.DecryptedMessageActionReadMessages8({ randomIds: randomIds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomIds) { - b.write(Primitive.Vector.write(this.randomIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionDeleteMessages8 extends TLObject { - randomIds!: Vector; - - constructor(params: { randomIds: Vector }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionDeleteMessages8'; - this.constructorId = 0x65614304; - this.subclassOfId = 0x6faf258d; - this._slots = ['randomIds']; - this.randomIds = params.randomIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomIds = await TLObject.read(_data, Primitive.Long); - return new Raw.DecryptedMessageActionDeleteMessages8({ randomIds: randomIds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomIds) { - b.write(Primitive.Vector.write(this.randomIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionScreenshotMessages8 extends TLObject { - randomIds!: Vector; - - constructor(params: { randomIds: Vector }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionScreenshotMessages8'; - this.constructorId = 0x8ac1f475; - this.subclassOfId = 0x6faf258d; - this._slots = ['randomIds']; - this.randomIds = params.randomIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomIds = await TLObject.read(_data, Primitive.Long); - return new Raw.DecryptedMessageActionScreenshotMessages8({ randomIds: randomIds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomIds) { - b.write(Primitive.Vector.write(this.randomIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionFlushHistory8 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionFlushHistory8'; - this.constructorId = 0x6719e45c; - this.subclassOfId = 0x6faf258d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DecryptedMessageActionFlushHistory8(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessage17 extends TLObject { - randomId!: long; - ttl!: int; - message!: string; - media!: Raw.TypeDecryptedMessageMedia; - - constructor(params: { - randomId: long; - ttl: int; - message: string; - media: Raw.TypeDecryptedMessageMedia; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessage17'; - this.constructorId = 0x204d3878; - this.subclassOfId = 0x5303193e; - this._slots = ['randomId', 'ttl', 'message', 'media']; - this.randomId = params.randomId; - this.ttl = params.ttl; - this.message = params.message; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Long.read(_data); - let ttl = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - return new Raw.DecryptedMessage17({ - randomId: randomId, - ttl: ttl, - message: message, - media: media, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.ttl !== undefined) { - b.write(Primitive.Int.write(this.ttl) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageService17 extends TLObject { - randomId!: long; - action!: Raw.TypeDecryptedMessageAction; - - constructor(params: { randomId: long; action: Raw.TypeDecryptedMessageAction }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageService17'; - this.constructorId = 0x73164160; - this.subclassOfId = 0x5303193e; - this._slots = ['randomId', 'action']; - this.randomId = params.randomId; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Long.read(_data); - let action = await TLObject.read(_data); - return new Raw.DecryptedMessageService17({ randomId: randomId, action: action }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaVideo17 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - duration!: int; - mimeType!: string; - w!: int; - h!: int; - size!: int; - key!: bytes; - iv!: bytes; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - duration: int; - mimeType: string; - w: int; - h: int; - size: int; - key: bytes; - iv: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaVideo17'; - this.constructorId = 0x524a415d; - this.subclassOfId = 0xb3d2034; - this._slots = [ - 'thumb', - 'thumbW', - 'thumbH', - 'duration', - 'mimeType', - 'w', - 'h', - 'size', - 'key', - 'iv', - ]; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.duration = params.duration; - this.mimeType = params.mimeType; - this.w = params.w; - this.h = params.h; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let duration = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageMediaVideo17({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - duration: duration, - mimeType: mimeType, - w: w, - h: h, - size: size, - key: key, - iv: iv, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaAudio17 extends TLObject { - duration!: int; - mimeType!: string; - size!: int; - key!: bytes; - iv!: bytes; - - constructor(params: { duration: int; mimeType: string; size: int; key: bytes; iv: bytes }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaAudio17'; - this.constructorId = 0x57e0a9cb; - this.subclassOfId = 0xb3d2034; - this._slots = ['duration', 'mimeType', 'size', 'key', 'iv']; - this.duration = params.duration; - this.mimeType = params.mimeType; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let duration = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageMediaAudio17({ - duration: duration, - mimeType: mimeType, - size: size, - key: key, - iv: iv, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageLayer17 extends TLObject { - randomBytes!: bytes; - layer!: int; - inSeqNo!: int; - outSeqNo!: int; - message!: Raw.TypeDecryptedMessage; - - constructor(params: { - randomBytes: bytes; - layer: int; - inSeqNo: int; - outSeqNo: int; - message: Raw.TypeDecryptedMessage; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageLayer17'; - this.constructorId = 0x1be31789; - this.subclassOfId = 0x85caa022; - this._slots = ['randomBytes', 'layer', 'inSeqNo', 'outSeqNo', 'message']; - this.randomBytes = params.randomBytes; - this.layer = params.layer; - this.inSeqNo = params.inSeqNo; - this.outSeqNo = params.outSeqNo; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomBytes = await Primitive.Bytes.read(_data); - let layer = await Primitive.Int.read(_data); - let inSeqNo = await Primitive.Int.read(_data); - let outSeqNo = await Primitive.Int.read(_data); - let message = await TLObject.read(_data); - return new Raw.DecryptedMessageLayer17({ - randomBytes: randomBytes, - layer: layer, - inSeqNo: inSeqNo, - outSeqNo: outSeqNo, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomBytes !== undefined) { - b.write(Primitive.Bytes.write(this.randomBytes) as unknown as Buffer); - } - if (this.layer !== undefined) { - b.write(Primitive.Int.write(this.layer) as unknown as Buffer); - } - if (this.inSeqNo !== undefined) { - b.write(Primitive.Int.write(this.inSeqNo) as unknown as Buffer); - } - if (this.outSeqNo !== undefined) { - b.write(Primitive.Int.write(this.outSeqNo) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadVideoAction17 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadVideoAction17'; - this.constructorId = 0x92042ff7; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageUploadVideoAction17(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadAudioAction17 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadAudioAction17'; - this.constructorId = 0xe6ac8a6f; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageUploadAudioAction17(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadPhotoAction17 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadPhotoAction17'; - this.constructorId = 0x990a3c1a; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageUploadPhotoAction17(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadDocumentAction17 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadDocumentAction17'; - this.constructorId = 0x8faee98e; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageUploadDocumentAction17(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionResend17 extends TLObject { - startSeqNo!: int; - endSeqNo!: int; - - constructor(params: { startSeqNo: int; endSeqNo: int }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionResend17'; - this.constructorId = 0x511110b0; - this.subclassOfId = 0x6faf258d; - this._slots = ['startSeqNo', 'endSeqNo']; - this.startSeqNo = params.startSeqNo; - this.endSeqNo = params.endSeqNo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let startSeqNo = await Primitive.Int.read(_data); - let endSeqNo = await Primitive.Int.read(_data); - return new Raw.DecryptedMessageActionResend17({ startSeqNo: startSeqNo, endSeqNo: endSeqNo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.startSeqNo !== undefined) { - b.write(Primitive.Int.write(this.startSeqNo) as unknown as Buffer); - } - if (this.endSeqNo !== undefined) { - b.write(Primitive.Int.write(this.endSeqNo) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionNotifyLayer17 extends TLObject { - layer!: int; - - constructor(params: { layer: int }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionNotifyLayer17'; - this.constructorId = 0xf3048883; - this.subclassOfId = 0x6faf258d; - this._slots = ['layer']; - this.layer = params.layer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let layer = await Primitive.Int.read(_data); - return new Raw.DecryptedMessageActionNotifyLayer17({ layer: layer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.layer !== undefined) { - b.write(Primitive.Int.write(this.layer) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionTyping17 extends TLObject { - action!: Raw.TypeSendMessageAction; - - constructor(params: { action: Raw.TypeSendMessageAction }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionTyping17'; - this.constructorId = 0xccb27641; - this.subclassOfId = 0x6faf258d; - this._slots = ['action']; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let action = await TLObject.read(_data); - return new Raw.DecryptedMessageActionTyping17({ action: action }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionRequestKey20 extends TLObject { - exchangeId!: long; - gA!: bytes; - - constructor(params: { exchangeId: long; gA: bytes }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionRequestKey20'; - this.constructorId = 0xf3c9611b; - this.subclassOfId = 0x6faf258d; - this._slots = ['exchangeId', 'gA']; - this.exchangeId = params.exchangeId; - this.gA = params.gA; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let exchangeId = await Primitive.Long.read(_data); - let gA = await Primitive.Bytes.read(_data); - return new Raw.DecryptedMessageActionRequestKey20({ exchangeId: exchangeId, gA: gA }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.exchangeId !== undefined) { - b.write(Primitive.Long.write(this.exchangeId) as unknown as Buffer); - } - if (this.gA !== undefined) { - b.write(Primitive.Bytes.write(this.gA) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionAcceptKey20 extends TLObject { - exchangeId!: long; - gB!: bytes; - keyFingerprint!: long; - - constructor(params: { exchangeId: long; gB: bytes; keyFingerprint: long }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionAcceptKey20'; - this.constructorId = 0x6fe1735b; - this.subclassOfId = 0x6faf258d; - this._slots = ['exchangeId', 'gB', 'keyFingerprint']; - this.exchangeId = params.exchangeId; - this.gB = params.gB; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let exchangeId = await Primitive.Long.read(_data); - let gB = await Primitive.Bytes.read(_data); - let keyFingerprint = await Primitive.Long.read(_data); - return new Raw.DecryptedMessageActionAcceptKey20({ - exchangeId: exchangeId, - gB: gB, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.exchangeId !== undefined) { - b.write(Primitive.Long.write(this.exchangeId) as unknown as Buffer); - } - if (this.gB !== undefined) { - b.write(Primitive.Bytes.write(this.gB) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionAbortKey20 extends TLObject { - exchangeId!: long; - - constructor(params: { exchangeId: long }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionAbortKey20'; - this.constructorId = 0xdd05ec6b; - this.subclassOfId = 0x6faf258d; - this._slots = ['exchangeId']; - this.exchangeId = params.exchangeId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let exchangeId = await Primitive.Long.read(_data); - return new Raw.DecryptedMessageActionAbortKey20({ exchangeId: exchangeId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.exchangeId !== undefined) { - b.write(Primitive.Long.write(this.exchangeId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionCommitKey20 extends TLObject { - exchangeId!: long; - keyFingerprint!: long; - - constructor(params: { exchangeId: long; keyFingerprint: long }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionCommitKey20'; - this.constructorId = 0xec2e0b9b; - this.subclassOfId = 0x6faf258d; - this._slots = ['exchangeId', 'keyFingerprint']; - this.exchangeId = params.exchangeId; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let exchangeId = await Primitive.Long.read(_data); - let keyFingerprint = await Primitive.Long.read(_data); - return new Raw.DecryptedMessageActionCommitKey20({ - exchangeId: exchangeId, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.exchangeId !== undefined) { - b.write(Primitive.Long.write(this.exchangeId) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageActionNoop20 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageActionNoop20'; - this.constructorId = 0xa82fdd63; - this.subclassOfId = 0x6faf258d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DecryptedMessageActionNoop20(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeSticker23 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeSticker23'; - this.constructorId = 0xfb0a5727; - this.subclassOfId = 0xf729eb9b; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.DocumentAttributeSticker23(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeVideo23 extends TLObject { - duration!: int; - w!: int; - h!: int; - - constructor(params: { duration: int; w: int; h: int }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeVideo23'; - this.constructorId = 0x5910cccb; - this.subclassOfId = 0xf729eb9b; - this._slots = ['duration', 'w', 'h']; - this.duration = params.duration; - this.w = params.w; - this.h = params.h; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let duration = await Primitive.Int.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - return new Raw.DocumentAttributeVideo23({ duration: duration, w: w, h: h }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeAudio23 extends TLObject { - duration!: int; - - constructor(params: { duration: int }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeAudio23'; - this.constructorId = 0x51448e5; - this.subclassOfId = 0xf729eb9b; - this._slots = ['duration']; - this.duration = params.duration; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let duration = await Primitive.Int.read(_data); - return new Raw.DocumentAttributeAudio23({ duration: duration }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoSize23 extends TLObject { - type!: string; - location!: Raw.TypeFileLocation; - w!: int; - h!: int; - size!: int; - - constructor(params: { - type: string; - location: Raw.TypeFileLocation; - w: int; - h: int; - size: int; - }) { - super(); - this.classType = 'types'; - this.className = 'PhotoSize23'; - this.constructorId = 0x77bfb61b; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'location', 'w', 'h', 'size']; - this.type = params.type; - this.location = params.location; - this.w = params.w; - this.h = params.h; - this.size = params.size; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await Primitive.String.read(_data); - let location = await TLObject.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - return new Raw.PhotoSize23({ type: type, location: location, w: w, h: h, size: size }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.location !== undefined) { - b.write(this.location.write() as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotoCachedSize23 extends TLObject { - type!: string; - location!: Raw.TypeFileLocation; - w!: int; - h!: int; - bytes!: bytes; - - constructor(params: { - type: string; - location: Raw.TypeFileLocation; - w: int; - h: int; - bytes: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'PhotoCachedSize23'; - this.constructorId = 0xe9a734fa; - this.subclassOfId = 0x17cc29d9; - this._slots = ['type', 'location', 'w', 'h', 'bytes']; - this.type = params.type; - this.location = params.location; - this.w = params.w; - this.h = params.h; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let type = await Primitive.String.read(_data); - let location = await TLObject.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.PhotoCachedSize23({ - type: type, - location: location, - w: w, - h: h, - bytes: bytes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(Primitive.String.write(this.type) as unknown as Buffer); - } - if (this.location !== undefined) { - b.write(this.location.write() as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileLocationUnavailable23 extends TLObject { - volumeId!: long; - localId!: int; - secret!: long; - - constructor(params: { volumeId: long; localId: int; secret: long }) { - super(); - this.classType = 'types'; - this.className = 'FileLocationUnavailable23'; - this.constructorId = 0x7c596b46; - this.subclassOfId = 0x90f76823; - this._slots = ['volumeId', 'localId', 'secret']; - this.volumeId = params.volumeId; - this.localId = params.localId; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let volumeId = await Primitive.Long.read(_data); - let localId = await Primitive.Int.read(_data); - let secret = await Primitive.Long.read(_data); - return new Raw.FileLocationUnavailable23({ - volumeId: volumeId, - localId: localId, - secret: secret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.volumeId !== undefined) { - b.write(Primitive.Long.write(this.volumeId) as unknown as Buffer); - } - if (this.localId !== undefined) { - b.write(Primitive.Int.write(this.localId) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Long.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileLocation23 extends TLObject { - dcId!: int; - volumeId!: long; - localId!: int; - secret!: long; - - constructor(params: { dcId: int; volumeId: long; localId: int; secret: long }) { - super(); - this.classType = 'types'; - this.className = 'FileLocation23'; - this.constructorId = 0x53d69076; - this.subclassOfId = 0x90f76823; - this._slots = ['dcId', 'volumeId', 'localId', 'secret']; - this.dcId = params.dcId; - this.volumeId = params.volumeId; - this.localId = params.localId; - this.secret = params.secret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - let volumeId = await Primitive.Long.read(_data); - let localId = await Primitive.Int.read(_data); - let secret = await Primitive.Long.read(_data); - return new Raw.FileLocation23({ - dcId: dcId, - volumeId: volumeId, - localId: localId, - secret: secret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.volumeId !== undefined) { - b.write(Primitive.Long.write(this.volumeId) as unknown as Buffer); - } - if (this.localId !== undefined) { - b.write(Primitive.Int.write(this.localId) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Long.write(this.secret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaExternalDocument23 extends TLObject { - id!: long; - accessHash!: long; - date!: int; - mimeType!: string; - size!: int; - thumb!: Raw.TypePhotoSize; - dcId!: int; - attributes!: Vector; - - constructor(params: { - id: long; - accessHash: long; - date: int; - mimeType: string; - size: int; - thumb: Raw.TypePhotoSize; - dcId: int; - attributes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaExternalDocument23'; - this.constructorId = 0xfa95b0dd; - this.subclassOfId = 0xb3d2034; - this._slots = ['id', 'accessHash', 'date', 'mimeType', 'size', 'thumb', 'dcId', 'attributes']; - this.id = params.id; - this.accessHash = params.accessHash; - this.date = params.date; - this.mimeType = params.mimeType; - this.size = params.size; - this.thumb = params.thumb; - this.dcId = params.dcId; - this.attributes = params.attributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let accessHash = await Primitive.Long.read(_data); - let date = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let size = await Primitive.Int.read(_data); - let thumb = await TLObject.read(_data); - let dcId = await Primitive.Int.read(_data); - let attributes = await TLObject.read(_data); - return new Raw.DecryptedMessageMediaExternalDocument23({ - id: id, - accessHash: accessHash, - date: date, - mimeType: mimeType, - size: size, - thumb: thumb, - dcId: dcId, - attributes: attributes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.accessHash !== undefined) { - b.write(Primitive.Long.write(this.accessHash) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessage45 extends TLObject { - randomId!: long; - ttl!: int; - message!: string; - media?: Raw.TypeDecryptedMessageMedia; - entities?: Vector; - viaBotName?: string; - replyToRandomId?: long; - - constructor(params: { - randomId: long; - ttl: int; - message: string; - media?: Raw.TypeDecryptedMessageMedia; - entities?: Vector; - viaBotName?: string; - replyToRandomId?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessage45'; - this.constructorId = 0x36b091de; - this.subclassOfId = 0x5303193e; - this._slots = [ - 'randomId', - 'ttl', - 'message', - 'media', - 'entities', - 'viaBotName', - 'replyToRandomId', - ]; - this.randomId = params.randomId; - this.ttl = params.ttl; - this.message = params.message; - this.media = params.media; - this.entities = params.entities; - this.viaBotName = params.viaBotName; - this.replyToRandomId = params.replyToRandomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let randomId = await Primitive.Long.read(_data); - let ttl = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - let media = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let viaBotName = flags & (1 << 11) ? await Primitive.String.read(_data) : undefined; - let replyToRandomId = flags & (1 << 3) ? await Primitive.Long.read(_data) : undefined; - return new Raw.DecryptedMessage45({ - randomId: randomId, - ttl: ttl, - message: message, - media: media, - entities: entities, - viaBotName: viaBotName, - replyToRandomId: replyToRandomId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.media !== undefined ? 1 << 9 : 0; - flags |= this.entities ? 1 << 7 : 0; - flags |= this.viaBotName !== undefined ? 1 << 11 : 0; - flags |= this.replyToRandomId !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.ttl !== undefined) { - b.write(Primitive.Int.write(this.ttl) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.viaBotName !== undefined) { - b.write(Primitive.String.write(this.viaBotName) as unknown as Buffer); - } - if (this.replyToRandomId !== undefined) { - b.write(Primitive.Long.write(this.replyToRandomId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaPhoto45 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - w!: int; - h!: int; - size!: int; - key!: bytes; - iv!: bytes; - caption!: string; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - w: int; - h: int; - size: int; - key: bytes; - iv: bytes; - caption: string; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaPhoto45'; - this.constructorId = 0xf1fa8d78; - this.subclassOfId = 0xb3d2034; - this._slots = ['thumb', 'thumbW', 'thumbH', 'w', 'h', 'size', 'key', 'iv', 'caption']; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.w = params.w; - this.h = params.h; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - let caption = await Primitive.String.read(_data); - return new Raw.DecryptedMessageMediaPhoto45({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - w: w, - h: h, - size: size, - key: key, - iv: iv, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaVideo45 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - duration!: int; - mimeType!: string; - w!: int; - h!: int; - size!: int; - key!: bytes; - iv!: bytes; - caption!: string; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - duration: int; - mimeType: string; - w: int; - h: int; - size: int; - key: bytes; - iv: bytes; - caption: string; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaVideo45'; - this.constructorId = 0x970c8c0e; - this.subclassOfId = 0xb3d2034; - this._slots = [ - 'thumb', - 'thumbW', - 'thumbH', - 'duration', - 'mimeType', - 'w', - 'h', - 'size', - 'key', - 'iv', - 'caption', - ]; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.duration = params.duration; - this.mimeType = params.mimeType; - this.w = params.w; - this.h = params.h; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let duration = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - let caption = await Primitive.String.read(_data); - return new Raw.DecryptedMessageMediaVideo45({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - duration: duration, - mimeType: mimeType, - w: w, - h: h, - size: size, - key: key, - iv: iv, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaDocument45 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - mimeType!: string; - size!: int; - key!: bytes; - iv!: bytes; - attributes!: Vector; - caption!: string; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - mimeType: string; - size: int; - key: bytes; - iv: bytes; - attributes: Vector; - caption: string; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaDocument45'; - this.constructorId = 0x7afe8ae2; - this.subclassOfId = 0xb3d2034; - this._slots = [ - 'thumb', - 'thumbW', - 'thumbH', - 'mimeType', - 'size', - 'key', - 'iv', - 'attributes', - 'caption', - ]; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.mimeType = params.mimeType; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - this.attributes = params.attributes; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let size = await Primitive.Int.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - let attributes = await TLObject.read(_data); - let caption = await Primitive.String.read(_data); - return new Raw.DecryptedMessageMediaDocument45({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - mimeType: mimeType, - size: size, - key: key, - iv: iv, - attributes: attributes, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeSticker45 extends TLObject { - alt!: string; - stickerset!: Raw.TypeInputStickerSet; - - constructor(params: { alt: string; stickerset: Raw.TypeInputStickerSet }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeSticker45'; - this.constructorId = 0x3a556302; - this.subclassOfId = 0xf729eb9b; - this._slots = ['alt', 'stickerset']; - this.alt = params.alt; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let alt = await Primitive.String.read(_data); - let stickerset = await TLObject.read(_data); - return new Raw.DocumentAttributeSticker45({ alt: alt, stickerset: stickerset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.alt !== undefined) { - b.write(Primitive.String.write(this.alt) as unknown as Buffer); - } - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeAudio45 extends TLObject { - duration!: int; - title!: string; - performer!: string; - - constructor(params: { duration: int; title: string; performer: string }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeAudio45'; - this.constructorId = 0xded218e0; - this.subclassOfId = 0xf729eb9b; - this._slots = ['duration', 'title', 'performer']; - this.duration = params.duration; - this.title = params.title; - this.performer = params.performer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let duration = await Primitive.Int.read(_data); - let title = await Primitive.String.read(_data); - let performer = await Primitive.String.read(_data); - return new Raw.DocumentAttributeAudio45({ - duration: duration, - title: title, - performer: performer, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.performer !== undefined) { - b.write(Primitive.String.write(this.performer) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaVenue45 extends TLObject { - lat!: double; - long!: double; - title!: string; - address!: string; - provider!: string; - venueId!: string; - - constructor(params: { - lat: double; - long: double; - title: string; - address: string; - provider: string; - venueId: string; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaVenue45'; - this.constructorId = 0x8a0df56f; - this.subclassOfId = 0xb3d2034; - this._slots = ['lat', 'long', 'title', 'address', 'provider', 'venueId']; - this.lat = params.lat; - this.long = params.long; - this.title = params.title; - this.address = params.address; - this.provider = params.provider; - this.venueId = params.venueId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let lat = await Primitive.Double.read(_data); - let long = await Primitive.Double.read(_data); - let title = await Primitive.String.read(_data); - let address = await Primitive.String.read(_data); - let provider = await Primitive.String.read(_data); - let venueId = await Primitive.String.read(_data); - return new Raw.DecryptedMessageMediaVenue45({ - lat: lat, - long: long, - title: title, - address: address, - provider: provider, - venueId: venueId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.lat !== undefined) { - b.write(Primitive.Double.write(this.lat) as unknown as Buffer); - } - if (this.long !== undefined) { - b.write(Primitive.Double.write(this.long) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.provider !== undefined) { - b.write(Primitive.String.write(this.provider) as unknown as Buffer); - } - if (this.venueId !== undefined) { - b.write(Primitive.String.write(this.venueId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaWebPage45 extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaWebPage45'; - this.constructorId = 0xe50511d8; - this.subclassOfId = 0xb3d2034; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.DecryptedMessageMediaWebPage45({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DocumentAttributeVideo66 extends TLObject { - roundMessage?: boolean; - duration!: int; - w!: int; - h!: int; - - constructor(params: { roundMessage?: boolean; duration: int; w: int; h: int }) { - super(); - this.classType = 'types'; - this.className = 'DocumentAttributeVideo66'; - this.constructorId = 0xef02ce6; - this.subclassOfId = 0xf729eb9b; - this._slots = ['roundMessage', 'duration', 'w', 'h']; - this.roundMessage = params.roundMessage; - this.duration = params.duration; - this.w = params.w; - this.h = params.h; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let roundMessage = flags & (1 << 0) ? true : false; - let duration = await Primitive.Int.read(_data); - let w = await Primitive.Int.read(_data); - let h = await Primitive.Int.read(_data); - return new Raw.DocumentAttributeVideo66({ - roundMessage: roundMessage, - duration: duration, - w: w, - h: h, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.roundMessage ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.w !== undefined) { - b.write(Primitive.Int.write(this.w) as unknown as Buffer); - } - if (this.h !== undefined) { - b.write(Primitive.Int.write(this.h) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessageUploadRoundAction66 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'SendMessageUploadRoundAction66'; - this.constructorId = 0xbb718624; - this.subclassOfId = 0x20b2cc21; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.SendMessageUploadRoundAction66(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessage73 extends TLObject { - noWebpage?: boolean; - silent?: boolean; - randomId!: long; - ttl!: int; - message!: string; - media?: Raw.TypeDecryptedMessageMedia; - entities?: Vector; - viaBotName?: string; - replyToRandomId?: long; - groupedId?: long; - - constructor(params: { - noWebpage?: boolean; - silent?: boolean; - randomId: long; - ttl: int; - message: string; - media?: Raw.TypeDecryptedMessageMedia; - entities?: Vector; - viaBotName?: string; - replyToRandomId?: long; - groupedId?: long; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessage73'; - this.constructorId = 0x91cc4674; - this.subclassOfId = 0x5303193e; - this._slots = [ - 'noWebpage', - 'silent', - 'randomId', - 'ttl', - 'message', - 'media', - 'entities', - 'viaBotName', - 'replyToRandomId', - 'groupedId', - ]; - this.noWebpage = params.noWebpage; - this.silent = params.silent; - this.randomId = params.randomId; - this.ttl = params.ttl; - this.message = params.message; - this.media = params.media; - this.entities = params.entities; - this.viaBotName = params.viaBotName; - this.replyToRandomId = params.replyToRandomId; - this.groupedId = params.groupedId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 1) ? true : false; - let silent = flags & (1 << 5) ? true : false; - let randomId = await Primitive.Long.read(_data); - let ttl = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - let media = flags & (1 << 9) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 7) ? await TLObject.read(_data) : []; - let viaBotName = flags & (1 << 11) ? await Primitive.String.read(_data) : undefined; - let replyToRandomId = flags & (1 << 3) ? await Primitive.Long.read(_data) : undefined; - let groupedId = flags & (1 << 17) ? await Primitive.Long.read(_data) : undefined; - return new Raw.DecryptedMessage73({ - noWebpage: noWebpage, - silent: silent, - randomId: randomId, - ttl: ttl, - message: message, - media: media, - entities: entities, - viaBotName: viaBotName, - replyToRandomId: replyToRandomId, - groupedId: groupedId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 1 : 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.media !== undefined ? 1 << 9 : 0; - flags |= this.entities ? 1 << 7 : 0; - flags |= this.viaBotName !== undefined ? 1 << 11 : 0; - flags |= this.replyToRandomId !== undefined ? 1 << 3 : 0; - flags |= this.groupedId !== undefined ? 1 << 17 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.ttl !== undefined) { - b.write(Primitive.Int.write(this.ttl) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.viaBotName !== undefined) { - b.write(Primitive.String.write(this.viaBotName) as unknown as Buffer); - } - if (this.replyToRandomId !== undefined) { - b.write(Primitive.Long.write(this.replyToRandomId) as unknown as Buffer); - } - if (this.groupedId !== undefined) { - b.write(Primitive.Long.write(this.groupedId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEntityBlockquote101 extends TLObject { - offset!: int; - length!: int; - - constructor(params: { offset: int; length: int }) { - super(); - this.classType = 'types'; - this.className = 'MessageEntityBlockquote101'; - this.constructorId = 0x20df5d0; - this.subclassOfId = 0xcf6419dc; - this._slots = ['offset', 'length']; - this.offset = params.offset; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.MessageEntityBlockquote101({ offset: offset, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DecryptedMessageMediaDocument143 extends TLObject { - thumb!: bytes; - thumbW!: int; - thumbH!: int; - mimeType!: string; - size!: long; - key!: bytes; - iv!: bytes; - attributes!: Vector; - caption!: string; - - constructor(params: { - thumb: bytes; - thumbW: int; - thumbH: int; - mimeType: string; - size: long; - key: bytes; - iv: bytes; - attributes: Vector; - caption: string; - }) { - super(); - this.classType = 'types'; - this.className = 'DecryptedMessageMediaDocument143'; - this.constructorId = 0x6abd9782; - this.subclassOfId = 0xb3d2034; - this._slots = [ - 'thumb', - 'thumbW', - 'thumbH', - 'mimeType', - 'size', - 'key', - 'iv', - 'attributes', - 'caption', - ]; - this.thumb = params.thumb; - this.thumbW = params.thumbW; - this.thumbH = params.thumbH; - this.mimeType = params.mimeType; - this.size = params.size; - this.key = params.key; - this.iv = params.iv; - this.attributes = params.attributes; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let thumb = await Primitive.Bytes.read(_data); - let thumbW = await Primitive.Int.read(_data); - let thumbH = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let size = await Primitive.Long.read(_data); - let key = await Primitive.Bytes.read(_data); - let iv = await Primitive.Bytes.read(_data); - let attributes = await TLObject.read(_data); - let caption = await Primitive.String.read(_data); - return new Raw.DecryptedMessageMediaDocument143({ - thumb: thumb, - thumbW: thumbW, - thumbH: thumbH, - mimeType: mimeType, - size: size, - key: key, - iv: iv, - attributes: attributes, - caption: caption, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.thumb !== undefined) { - b.write(Primitive.Bytes.write(this.thumb) as unknown as Buffer); - } - if (this.thumbW !== undefined) { - b.write(Primitive.Int.write(this.thumbW) as unknown as Buffer); - } - if (this.thumbH !== undefined) { - b.write(Primitive.Int.write(this.thumbH) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Long.write(this.size) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.Bytes.write(this.key) as unknown as Buffer); - } - if (this.iv !== undefined) { - b.write(Primitive.Bytes.write(this.iv) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export namespace help { - export type TypeTimezonesList = Raw.help.TimezonesListNotModified | Raw.help.TimezonesList; - export type TypePeerColors = Raw.help.PeerColorsNotModified | Raw.help.PeerColors; - export type TypePremiumPromo = Raw.help.PremiumPromo; - export type TypeCountriesList = Raw.help.CountriesListNotModified | Raw.help.CountriesList; - export type TypePromoData = Raw.help.PromoDataEmpty | Raw.help.PromoData; - export type TypeUserInfo = Raw.help.UserInfoEmpty | Raw.help.UserInfo; - export type TypeSupportName = Raw.help.SupportName; - export type TypePassportConfig = Raw.help.PassportConfigNotModified | Raw.help.PassportConfig; - export type TypeAppConfig = Raw.help.AppConfigNotModified | Raw.help.AppConfig; - export type TypeDeepLinkInfo = Raw.help.DeepLinkInfoEmpty | Raw.help.DeepLinkInfo; - export type TypeTermsOfServiceUpdate = - | Raw.help.TermsOfServiceUpdateEmpty - | Raw.help.TermsOfServiceUpdate; - export type TypeRecentMeUrls = Raw.help.RecentMeUrls; - export type TypeSupport = Raw.help.Support; - export type TypeInviteText = Raw.help.InviteText; - export type TypeAppUpdate = Raw.help.AppUpdate | Raw.help.NoAppUpdate; - export type TypePeerColorOption = Raw.help.PeerColorOption; - export type TypePeerColorSet = Raw.help.PeerColorSet | Raw.help.PeerColorProfileSet; - export type TypeCountry = Raw.help.Country; - export type TypeCountryCode = Raw.help.CountryCode; - export type TypeTermsOfService = Raw.help.TermsOfService; - export class ConfigSimple extends TLObject { - date!: int; - expires!: int; - rules!: Vector; - - constructor(params: { date: int; expires: int; rules: Vector }) { - super(); - this.classType = 'types'; - this.className = 'help.ConfigSimple'; - this.constructorId = 0x5a592a6c; - this.subclassOfId = 0x29183ac4; - this._slots = ['date', 'expires', 'rules']; - this.date = params.date; - this.expires = params.expires; - this.rules = params.rules; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let date = await Primitive.Int.read(_data); - let expires = await Primitive.Int.read(_data); - let rules = await TLObject.read(_data); - return new Raw.help.ConfigSimple({ date: date, expires: expires, rules: rules }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.rules) { - b.write(Primitive.Vector.write(this.rules) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AppUpdate extends TLObject { - canNotSkip?: boolean; - id!: int; - version!: string; - text!: string; - entities!: Vector; - document?: Raw.TypeDocument; - url?: string; - sticker?: Raw.TypeDocument; - - constructor(params: { - canNotSkip?: boolean; - id: int; - version: string; - text: string; - entities: Vector; - document?: Raw.TypeDocument; - url?: string; - sticker?: Raw.TypeDocument; - }) { - super(); - this.classType = 'types'; - this.className = 'help.AppUpdate'; - this.constructorId = 0xccbbce30; - this.subclassOfId = 0x5897069e; - this._slots = [ - 'canNotSkip', - 'id', - 'version', - 'text', - 'entities', - 'document', - 'url', - 'sticker', - ]; - this.canNotSkip = params.canNotSkip; - this.id = params.id; - this.version = params.version; - this.text = params.text; - this.entities = params.entities; - this.document = params.document; - this.url = params.url; - this.sticker = params.sticker; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canNotSkip = flags & (1 << 0) ? true : false; - let id = await Primitive.Int.read(_data); - let version = await Primitive.String.read(_data); - let text = await Primitive.String.read(_data); - let entities = await TLObject.read(_data); - let document = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let url = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let sticker = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - return new Raw.help.AppUpdate({ - canNotSkip: canNotSkip, - id: id, - version: version, - text: text, - entities: entities, - document: document, - url: url, - sticker: sticker, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canNotSkip ? 1 << 0 : 0; - flags |= this.document !== undefined ? 1 << 1 : 0; - flags |= this.url !== undefined ? 1 << 2 : 0; - flags |= this.sticker !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.String.write(this.version) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class NoAppUpdate extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.NoAppUpdate'; - this.constructorId = 0xc45a6536; - this.subclassOfId = 0x5897069e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.NoAppUpdate(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InviteText extends TLObject { - message!: string; - - constructor(params: { message: string }) { - super(); - this.classType = 'types'; - this.className = 'help.InviteText'; - this.constructorId = 0x18cb9f78; - this.subclassOfId = 0xcf70aa35; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let message = await Primitive.String.read(_data); - return new Raw.help.InviteText({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Support extends TLObject { - phoneNumber!: string; - user!: Raw.TypeUser; - - constructor(params: { phoneNumber: string; user: Raw.TypeUser }) { - super(); - this.classType = 'types'; - this.className = 'help.Support'; - this.constructorId = 0x17c6b5f6; - this.subclassOfId = 0x7159bceb; - this._slots = ['phoneNumber', 'user']; - this.phoneNumber = params.phoneNumber; - this.user = params.user; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let user = await TLObject.read(_data); - return new Raw.help.Support({ phoneNumber: phoneNumber, user: user }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.user !== undefined) { - b.write(this.user.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TermsOfService extends TLObject { - popup?: boolean; - id!: Raw.TypeDataJSON; - text!: string; - entities!: Vector; - minAgeConfirm?: int; - - constructor(params: { - popup?: boolean; - id: Raw.TypeDataJSON; - text: string; - entities: Vector; - minAgeConfirm?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'help.TermsOfService'; - this.constructorId = 0x780a0310; - this.subclassOfId = 0x20ee8312; - this._slots = ['popup', 'id', 'text', 'entities', 'minAgeConfirm']; - this.popup = params.popup; - this.id = params.id; - this.text = params.text; - this.entities = params.entities; - this.minAgeConfirm = params.minAgeConfirm; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let popup = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data); - let text = await Primitive.String.read(_data); - let entities = await TLObject.read(_data); - let minAgeConfirm = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.help.TermsOfService({ - popup: popup, - id: id, - text: text, - entities: entities, - minAgeConfirm: minAgeConfirm, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.popup ? 1 << 0 : 0; - flags |= this.minAgeConfirm !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.minAgeConfirm !== undefined) { - b.write(Primitive.Int.write(this.minAgeConfirm) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentMeUrls extends TLObject { - urls!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - urls: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.RecentMeUrls'; - this.constructorId = 0xe0310d7; - this.subclassOfId = 0xf269c477; - this._slots = ['urls', 'chats', 'users']; - this.urls = params.urls; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let urls = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.help.RecentMeUrls({ urls: urls, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.urls) { - b.write(Primitive.Vector.write(this.urls) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TermsOfServiceUpdateEmpty extends TLObject { - expires!: int; - - constructor(params: { expires: int }) { - super(); - this.classType = 'types'; - this.className = 'help.TermsOfServiceUpdateEmpty'; - this.constructorId = 0xe3309f7f; - this.subclassOfId = 0x293c2977; - this._slots = ['expires']; - this.expires = params.expires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let expires = await Primitive.Int.read(_data); - return new Raw.help.TermsOfServiceUpdateEmpty({ expires: expires }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TermsOfServiceUpdate extends TLObject { - expires!: int; - termsOfService!: Raw.help.TypeTermsOfService; - - constructor(params: { expires: int; termsOfService: Raw.help.TypeTermsOfService }) { - super(); - this.classType = 'types'; - this.className = 'help.TermsOfServiceUpdate'; - this.constructorId = 0x28ecf961; - this.subclassOfId = 0x293c2977; - this._slots = ['expires', 'termsOfService']; - this.expires = params.expires; - this.termsOfService = params.termsOfService; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let expires = await Primitive.Int.read(_data); - let termsOfService = await TLObject.read(_data); - return new Raw.help.TermsOfServiceUpdate({ - expires: expires, - termsOfService: termsOfService, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.termsOfService !== undefined) { - b.write(this.termsOfService.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeepLinkInfoEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.DeepLinkInfoEmpty'; - this.constructorId = 0x66afa166; - this.subclassOfId = 0x984aac38; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.DeepLinkInfoEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeepLinkInfo extends TLObject { - updateApp?: boolean; - message!: string; - entities?: Vector; - - constructor(params: { - updateApp?: boolean; - message: string; - entities?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.DeepLinkInfo'; - this.constructorId = 0x6a4ee832; - this.subclassOfId = 0x984aac38; - this._slots = ['updateApp', 'message', 'entities']; - this.updateApp = params.updateApp; - this.message = params.message; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let updateApp = flags & (1 << 0) ? true : false; - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - return new Raw.help.DeepLinkInfo({ - updateApp: updateApp, - message: message, - entities: entities, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.updateApp ? 1 << 0 : 0; - flags |= this.entities ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PassportConfigNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.PassportConfigNotModified'; - this.constructorId = 0xbfb9f457; - this.subclassOfId = 0xc666c0ad; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.PassportConfigNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PassportConfig extends TLObject { - hash!: int; - countriesLangs!: Raw.TypeDataJSON; - - constructor(params: { hash: int; countriesLangs: Raw.TypeDataJSON }) { - super(); - this.classType = 'types'; - this.className = 'help.PassportConfig'; - this.constructorId = 0xa098d6af; - this.subclassOfId = 0xc666c0ad; - this._slots = ['hash', 'countriesLangs']; - this.hash = params.hash; - this.countriesLangs = params.countriesLangs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let countriesLangs = await TLObject.read(_data); - return new Raw.help.PassportConfig({ hash: hash, countriesLangs: countriesLangs }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.countriesLangs !== undefined) { - b.write(this.countriesLangs.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SupportName extends TLObject { - name!: string; - - constructor(params: { name: string }) { - super(); - this.classType = 'types'; - this.className = 'help.SupportName'; - this.constructorId = 0x8c05f1c9; - this.subclassOfId = 0x7f50b7c2; - this._slots = ['name']; - this.name = params.name; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let name = await Primitive.String.read(_data); - return new Raw.help.SupportName({ name: name }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserInfoEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.UserInfoEmpty'; - this.constructorId = 0xf3ae2eed; - this.subclassOfId = 0x5c53d7d8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.UserInfoEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UserInfo extends TLObject { - message!: string; - entities!: Vector; - author!: string; - date!: int; - - constructor(params: { - message: string; - entities: Vector; - author: string; - date: int; - }) { - super(); - this.classType = 'types'; - this.className = 'help.UserInfo'; - this.constructorId = 0x1eb3758; - this.subclassOfId = 0x5c53d7d8; - this._slots = ['message', 'entities', 'author', 'date']; - this.message = params.message; - this.entities = params.entities; - this.author = params.author; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let message = await Primitive.String.read(_data); - let entities = await TLObject.read(_data); - let author = await Primitive.String.read(_data); - let date = await Primitive.Int.read(_data); - return new Raw.help.UserInfo({ - message: message, - entities: entities, - author: author, - date: date, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.author !== undefined) { - b.write(Primitive.String.write(this.author) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PromoDataEmpty extends TLObject { - expires!: int; - - constructor(params: { expires: int }) { - super(); - this.classType = 'types'; - this.className = 'help.PromoDataEmpty'; - this.constructorId = 0x98f6ac75; - this.subclassOfId = 0x9d595542; - this._slots = ['expires']; - this.expires = params.expires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let expires = await Primitive.Int.read(_data); - return new Raw.help.PromoDataEmpty({ expires: expires }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PromoData extends TLObject { - proxy?: boolean; - expires!: int; - peer?: Raw.TypePeer; - psaType?: string; - psaMessage?: string; - pendingSuggestions!: Vector; - dismissedSuggestions!: Vector; - customPendingSuggestion?: Raw.TypePendingSuggestion; - chats!: Vector; - users!: Vector; - - constructor(params: { - proxy?: boolean; - expires: int; - peer?: Raw.TypePeer; - psaType?: string; - psaMessage?: string; - pendingSuggestions: Vector; - dismissedSuggestions: Vector; - customPendingSuggestion?: Raw.TypePendingSuggestion; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.PromoData'; - this.constructorId = 0x8a4d87a; - this.subclassOfId = 0x9d595542; - this._slots = [ - 'proxy', - 'expires', - 'peer', - 'psaType', - 'psaMessage', - 'pendingSuggestions', - 'dismissedSuggestions', - 'customPendingSuggestion', - 'chats', - 'users', - ]; - this.proxy = params.proxy; - this.expires = params.expires; - this.peer = params.peer; - this.psaType = params.psaType; - this.psaMessage = params.psaMessage; - this.pendingSuggestions = params.pendingSuggestions; - this.dismissedSuggestions = params.dismissedSuggestions; - this.customPendingSuggestion = params.customPendingSuggestion; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let proxy = flags & (1 << 0) ? true : false; - let expires = await Primitive.Int.read(_data); - let peer = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let psaType = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let psaMessage = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let pendingSuggestions = await TLObject.read(_data, Primitive.String); - let dismissedSuggestions = await TLObject.read(_data, Primitive.String); - let customPendingSuggestion = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.help.PromoData({ - proxy: proxy, - expires: expires, - peer: peer, - psaType: psaType, - psaMessage: psaMessage, - pendingSuggestions: pendingSuggestions, - dismissedSuggestions: dismissedSuggestions, - customPendingSuggestion: customPendingSuggestion, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.proxy ? 1 << 0 : 0; - flags |= this.peer !== undefined ? 1 << 3 : 0; - flags |= this.psaType !== undefined ? 1 << 1 : 0; - flags |= this.psaMessage !== undefined ? 1 << 2 : 0; - flags |= this.customPendingSuggestion !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.psaType !== undefined) { - b.write(Primitive.String.write(this.psaType) as unknown as Buffer); - } - if (this.psaMessage !== undefined) { - b.write(Primitive.String.write(this.psaMessage) as unknown as Buffer); - } - if (this.pendingSuggestions) { - b.write( - Primitive.Vector.write(this.pendingSuggestions, Primitive.String) as unknown as Buffer, - ); - } - if (this.dismissedSuggestions) { - b.write( - Primitive.Vector.write( - this.dismissedSuggestions, - Primitive.String, - ) as unknown as Buffer, - ); - } - if (this.customPendingSuggestion !== undefined) { - b.write(this.customPendingSuggestion.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CountryCode extends TLObject { - countryCode!: string; - prefixes?: Vector; - patterns?: Vector; - - constructor(params: { - countryCode: string; - prefixes?: Vector; - patterns?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.CountryCode'; - this.constructorId = 0x4203c5ef; - this.subclassOfId = 0x76f34665; - this._slots = ['countryCode', 'prefixes', 'patterns']; - this.countryCode = params.countryCode; - this.prefixes = params.prefixes; - this.patterns = params.patterns; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let countryCode = await Primitive.String.read(_data); - let prefixes = flags & (1 << 0) ? await TLObject.read(_data, Primitive.String) : []; - let patterns = flags & (1 << 1) ? await TLObject.read(_data, Primitive.String) : []; - return new Raw.help.CountryCode({ - countryCode: countryCode, - prefixes: prefixes, - patterns: patterns, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.prefixes ? 1 << 0 : 0; - flags |= this.patterns ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.countryCode !== undefined) { - b.write(Primitive.String.write(this.countryCode) as unknown as Buffer); - } - if (this.prefixes) { - b.write(Primitive.Vector.write(this.prefixes, Primitive.String) as unknown as Buffer); - } - if (this.patterns) { - b.write(Primitive.Vector.write(this.patterns, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Country extends TLObject { - hidden?: boolean; - iso2!: string; - defaultName!: string; - name?: string; - countryCodes!: Vector; - - constructor(params: { - hidden?: boolean; - iso2: string; - defaultName: string; - name?: string; - countryCodes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.Country'; - this.constructorId = 0xc3878e23; - this.subclassOfId = 0xa22e9e28; - this._slots = ['hidden', 'iso2', 'defaultName', 'name', 'countryCodes']; - this.hidden = params.hidden; - this.iso2 = params.iso2; - this.defaultName = params.defaultName; - this.name = params.name; - this.countryCodes = params.countryCodes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hidden = flags & (1 << 0) ? true : false; - let iso2 = await Primitive.String.read(_data); - let defaultName = await Primitive.String.read(_data); - let name = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let countryCodes = await TLObject.read(_data); - return new Raw.help.Country({ - hidden: hidden, - iso2: iso2, - defaultName: defaultName, - name: name, - countryCodes: countryCodes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hidden ? 1 << 0 : 0; - flags |= this.name !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.iso2 !== undefined) { - b.write(Primitive.String.write(this.iso2) as unknown as Buffer); - } - if (this.defaultName !== undefined) { - b.write(Primitive.String.write(this.defaultName) as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.countryCodes) { - b.write(Primitive.Vector.write(this.countryCodes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CountriesListNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.CountriesListNotModified'; - this.constructorId = 0x93cc1f32; - this.subclassOfId = 0xea31fe88; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.CountriesListNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CountriesList extends TLObject { - countries!: Vector; - hash!: int; - - constructor(params: { countries: Vector; hash: int }) { - super(); - this.classType = 'types'; - this.className = 'help.CountriesList'; - this.constructorId = 0x87d0759e; - this.subclassOfId = 0xea31fe88; - this._slots = ['countries', 'hash']; - this.countries = params.countries; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let countries = await TLObject.read(_data); - let hash = await Primitive.Int.read(_data); - return new Raw.help.CountriesList({ countries: countries, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.countries) { - b.write(Primitive.Vector.write(this.countries) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PremiumPromo extends TLObject { - statusText!: string; - statusEntities!: Vector; - videoSections!: Vector; - videos!: Vector; - periodOptions!: Vector; - users!: Vector; - - constructor(params: { - statusText: string; - statusEntities: Vector; - videoSections: Vector; - videos: Vector; - periodOptions: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.PremiumPromo'; - this.constructorId = 0x5334759c; - this.subclassOfId = 0xc987a338; - this._slots = [ - 'statusText', - 'statusEntities', - 'videoSections', - 'videos', - 'periodOptions', - 'users', - ]; - this.statusText = params.statusText; - this.statusEntities = params.statusEntities; - this.videoSections = params.videoSections; - this.videos = params.videos; - this.periodOptions = params.periodOptions; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let statusText = await Primitive.String.read(_data); - let statusEntities = await TLObject.read(_data); - let videoSections = await TLObject.read(_data, Primitive.String); - let videos = await TLObject.read(_data); - let periodOptions = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.help.PremiumPromo({ - statusText: statusText, - statusEntities: statusEntities, - videoSections: videoSections, - videos: videos, - periodOptions: periodOptions, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.statusText !== undefined) { - b.write(Primitive.String.write(this.statusText) as unknown as Buffer); - } - if (this.statusEntities) { - b.write(Primitive.Vector.write(this.statusEntities) as unknown as Buffer); - } - if (this.videoSections) { - b.write( - Primitive.Vector.write(this.videoSections, Primitive.String) as unknown as Buffer, - ); - } - if (this.videos) { - b.write(Primitive.Vector.write(this.videos) as unknown as Buffer); - } - if (this.periodOptions) { - b.write(Primitive.Vector.write(this.periodOptions) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AppConfigNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.AppConfigNotModified'; - this.constructorId = 0x7cde641d; - this.subclassOfId = 0x14381c9a; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.AppConfigNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AppConfig extends TLObject { - hash!: int; - config!: Raw.TypeJSONValue; - - constructor(params: { hash: int; config: Raw.TypeJSONValue }) { - super(); - this.classType = 'types'; - this.className = 'help.AppConfig'; - this.constructorId = 0xdd18782e; - this.subclassOfId = 0x14381c9a; - this._slots = ['hash', 'config']; - this.hash = params.hash; - this.config = params.config; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let config = await TLObject.read(_data); - return new Raw.help.AppConfig({ hash: hash, config: config }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.config !== undefined) { - b.write(this.config.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerColorSet extends TLObject { - colors!: Vector; - - constructor(params: { colors: Vector }) { - super(); - this.classType = 'types'; - this.className = 'help.PeerColorSet'; - this.constructorId = 0x26219a58; - this.subclassOfId = 0x11cbe12c; - this._slots = ['colors']; - this.colors = params.colors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let colors = await TLObject.read(_data, Primitive.Int); - return new Raw.help.PeerColorSet({ colors: colors }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.colors) { - b.write(Primitive.Vector.write(this.colors, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerColorProfileSet extends TLObject { - paletteColors!: Vector; - bgColors!: Vector; - storyColors!: Vector; - - constructor(params: { - paletteColors: Vector; - bgColors: Vector; - storyColors: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'help.PeerColorProfileSet'; - this.constructorId = 0x767d61eb; - this.subclassOfId = 0x11cbe12c; - this._slots = ['paletteColors', 'bgColors', 'storyColors']; - this.paletteColors = params.paletteColors; - this.bgColors = params.bgColors; - this.storyColors = params.storyColors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let paletteColors = await TLObject.read(_data, Primitive.Int); - let bgColors = await TLObject.read(_data, Primitive.Int); - let storyColors = await TLObject.read(_data, Primitive.Int); - return new Raw.help.PeerColorProfileSet({ - paletteColors: paletteColors, - bgColors: bgColors, - storyColors: storyColors, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.paletteColors) { - b.write(Primitive.Vector.write(this.paletteColors, Primitive.Int) as unknown as Buffer); - } - if (this.bgColors) { - b.write(Primitive.Vector.write(this.bgColors, Primitive.Int) as unknown as Buffer); - } - if (this.storyColors) { - b.write(Primitive.Vector.write(this.storyColors, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerColorOption extends TLObject { - hidden?: boolean; - colorId!: int; - colors?: Raw.help.TypePeerColorSet; - darkColors?: Raw.help.TypePeerColorSet; - channelMinLevel?: int; - groupMinLevel?: int; - - constructor(params: { - hidden?: boolean; - colorId: int; - colors?: Raw.help.TypePeerColorSet; - darkColors?: Raw.help.TypePeerColorSet; - channelMinLevel?: int; - groupMinLevel?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'help.PeerColorOption'; - this.constructorId = 0xadec6ebe; - this.subclassOfId = 0x56b8ae98; - this._slots = [ - 'hidden', - 'colorId', - 'colors', - 'darkColors', - 'channelMinLevel', - 'groupMinLevel', - ]; - this.hidden = params.hidden; - this.colorId = params.colorId; - this.colors = params.colors; - this.darkColors = params.darkColors; - this.channelMinLevel = params.channelMinLevel; - this.groupMinLevel = params.groupMinLevel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hidden = flags & (1 << 0) ? true : false; - let colorId = await Primitive.Int.read(_data); - let colors = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let darkColors = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let channelMinLevel = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let groupMinLevel = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.help.PeerColorOption({ - hidden: hidden, - colorId: colorId, - colors: colors, - darkColors: darkColors, - channelMinLevel: channelMinLevel, - groupMinLevel: groupMinLevel, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hidden ? 1 << 0 : 0; - flags |= this.colors !== undefined ? 1 << 1 : 0; - flags |= this.darkColors !== undefined ? 1 << 2 : 0; - flags |= this.channelMinLevel !== undefined ? 1 << 3 : 0; - flags |= this.groupMinLevel !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.colorId !== undefined) { - b.write(Primitive.Int.write(this.colorId) as unknown as Buffer); - } - if (this.colors !== undefined) { - b.write(this.colors.write() as unknown as Buffer); - } - if (this.darkColors !== undefined) { - b.write(this.darkColors.write() as unknown as Buffer); - } - if (this.channelMinLevel !== undefined) { - b.write(Primitive.Int.write(this.channelMinLevel) as unknown as Buffer); - } - if (this.groupMinLevel !== undefined) { - b.write(Primitive.Int.write(this.groupMinLevel) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerColorsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.PeerColorsNotModified'; - this.constructorId = 0x2ba1f5ce; - this.subclassOfId = 0xe3f6733; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.PeerColorsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerColors extends TLObject { - hash!: int; - colors!: Vector; - - constructor(params: { hash: int; colors: Vector }) { - super(); - this.classType = 'types'; - this.className = 'help.PeerColors'; - this.constructorId = 0xf8ed08; - this.subclassOfId = 0xe3f6733; - this._slots = ['hash', 'colors']; - this.hash = params.hash; - this.colors = params.colors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let colors = await TLObject.read(_data); - return new Raw.help.PeerColors({ hash: hash, colors: colors }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.colors) { - b.write(Primitive.Vector.write(this.colors) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TimezonesListNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'help.TimezonesListNotModified'; - this.constructorId = 0x970708cc; - this.subclassOfId = 0xca76e475; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.TimezonesListNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TimezonesList extends TLObject { - timezones!: Vector; - hash!: int; - - constructor(params: { timezones: Vector; hash: int }) { - super(); - this.classType = 'types'; - this.className = 'help.TimezonesList'; - this.constructorId = 0x7b74ed71; - this.subclassOfId = 0xca76e475; - this._slots = ['timezones', 'hash']; - this.timezones = params.timezones; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let timezones = await TLObject.read(_data); - let hash = await Primitive.Int.read(_data); - return new Raw.help.TimezonesList({ timezones: timezones, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.timezones) { - b.write(Primitive.Vector.write(this.timezones) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetConfig extends TLObject { - __response__!: Raw.TypeConfig; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetConfig'; - this.constructorId = 0xc4f9186b; - this.subclassOfId = 0xd3262a4a; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetConfig(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetNearestDc extends TLObject { - __response__!: Raw.TypeNearestDc; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetNearestDc'; - this.constructorId = 0x1fb33026; - this.subclassOfId = 0x3877045f; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetNearestDc(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAppUpdate extends TLObject { - __response__!: Raw.help.TypeAppUpdate; - source!: string; - - constructor(params: { source: string }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetAppUpdate'; - this.constructorId = 0x522d5a7d; - this.subclassOfId = 0x5897069e; - this._slots = ['source']; - this.source = params.source; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let source = await Primitive.String.read(_data); - return new Raw.help.GetAppUpdate({ source: source }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.source !== undefined) { - b.write(Primitive.String.write(this.source) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetInviteText extends TLObject { - __response__!: Raw.help.TypeInviteText; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetInviteText'; - this.constructorId = 0x4d392343; - this.subclassOfId = 0xcf70aa35; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetInviteText(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSupport extends TLObject { - __response__!: Raw.help.TypeSupport; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetSupport'; - this.constructorId = 0x9cdf08cd; - this.subclassOfId = 0x7159bceb; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetSupport(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotUpdatesStatus extends TLObject { - __response__!: Bool; - pendingUpdatesCount!: int; - message!: string; - - constructor(params: { pendingUpdatesCount: int; message: string }) { - super(); - this.classType = 'functions'; - this.className = 'help.SetBotUpdatesStatus'; - this.constructorId = 0xec22cfcd; - this.subclassOfId = 0xf5b399ac; - this._slots = ['pendingUpdatesCount', 'message']; - this.pendingUpdatesCount = params.pendingUpdatesCount; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pendingUpdatesCount = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - return new Raw.help.SetBotUpdatesStatus({ - pendingUpdatesCount: pendingUpdatesCount, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pendingUpdatesCount !== undefined) { - b.write(Primitive.Int.write(this.pendingUpdatesCount) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCdnConfig extends TLObject { - __response__!: Raw.TypeCdnConfig; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetCdnConfig'; - this.constructorId = 0x52029342; - this.subclassOfId = 0xecda397c; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetCdnConfig(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetRecentMeUrls extends TLObject { - __response__!: Raw.help.TypeRecentMeUrls; - referer!: string; - - constructor(params: { referer: string }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetRecentMeUrls'; - this.constructorId = 0x3dc0f114; - this.subclassOfId = 0xf269c477; - this._slots = ['referer']; - this.referer = params.referer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let referer = await Primitive.String.read(_data); - return new Raw.help.GetRecentMeUrls({ referer: referer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.referer !== undefined) { - b.write(Primitive.String.write(this.referer) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetTermsOfServiceUpdate extends TLObject { - __response__!: Raw.help.TypeTermsOfServiceUpdate; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetTermsOfServiceUpdate'; - this.constructorId = 0x2ca51fd1; - this.subclassOfId = 0x293c2977; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetTermsOfServiceUpdate(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptTermsOfService extends TLObject { - __response__!: Bool; - id!: Raw.TypeDataJSON; - - constructor(params: { id: Raw.TypeDataJSON }) { - super(); - this.classType = 'functions'; - this.className = 'help.AcceptTermsOfService'; - this.constructorId = 0xee72f79a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.help.AcceptTermsOfService({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDeepLinkInfo extends TLObject { - __response__!: Raw.help.TypeDeepLinkInfo; - path!: string; - - constructor(params: { path: string }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetDeepLinkInfo'; - this.constructorId = 0x3fedc75f; - this.subclassOfId = 0x984aac38; - this._slots = ['path']; - this.path = params.path; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let path = await Primitive.String.read(_data); - return new Raw.help.GetDeepLinkInfo({ path: path }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.path !== undefined) { - b.write(Primitive.String.write(this.path) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAppConfig extends TLObject { - __response__!: Raw.help.TypeAppConfig; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetAppConfig'; - this.constructorId = 0x61e3f854; - this.subclassOfId = 0x14381c9a; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.help.GetAppConfig({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveAppLog extends TLObject { - __response__!: Bool; - events!: Vector; - - constructor(params: { events: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'help.SaveAppLog'; - this.constructorId = 0x6f02f748; - this.subclassOfId = 0xf5b399ac; - this._slots = ['events']; - this.events = params.events; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let events = await TLObject.read(_data); - return new Raw.help.SaveAppLog({ events: events }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.events) { - b.write(Primitive.Vector.write(this.events) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPassportConfig extends TLObject { - __response__!: Raw.help.TypePassportConfig; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetPassportConfig'; - this.constructorId = 0xc661ad08; - this.subclassOfId = 0xc666c0ad; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.help.GetPassportConfig({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSupportName extends TLObject { - __response__!: Raw.help.TypeSupportName; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetSupportName'; - this.constructorId = 0xd360e72c; - this.subclassOfId = 0x7f50b7c2; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetSupportName(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUserInfo extends TLObject { - __response__!: Raw.help.TypeUserInfo; - userId!: Raw.TypeInputUser; - - constructor(params: { userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetUserInfo'; - this.constructorId = 0x38a08d3; - this.subclassOfId = 0x5c53d7d8; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - return new Raw.help.GetUserInfo({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditUserInfo extends TLObject { - __response__!: Raw.help.TypeUserInfo; - userId!: Raw.TypeInputUser; - message!: string; - entities!: Vector; - - constructor(params: { - userId: Raw.TypeInputUser; - message: string; - entities: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'help.EditUserInfo'; - this.constructorId = 0x66b91b70; - this.subclassOfId = 0x5c53d7d8; - this._slots = ['userId', 'message', 'entities']; - this.userId = params.userId; - this.message = params.message; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let message = await Primitive.String.read(_data); - let entities = await TLObject.read(_data); - return new Raw.help.EditUserInfo({ userId: userId, message: message, entities: entities }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPromoData extends TLObject { - __response__!: Raw.help.TypePromoData; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetPromoData'; - this.constructorId = 0xc0977421; - this.subclassOfId = 0x9d595542; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetPromoData(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HidePromoData extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'help.HidePromoData'; - this.constructorId = 0x1e251c95; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.help.HidePromoData({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DismissSuggestion extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - suggestion!: string; - - constructor(params: { peer: Raw.TypeInputPeer; suggestion: string }) { - super(); - this.classType = 'functions'; - this.className = 'help.DismissSuggestion'; - this.constructorId = 0xf50dbaa1; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'suggestion']; - this.peer = params.peer; - this.suggestion = params.suggestion; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let suggestion = await Primitive.String.read(_data); - return new Raw.help.DismissSuggestion({ peer: peer, suggestion: suggestion }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.suggestion !== undefined) { - b.write(Primitive.String.write(this.suggestion) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCountriesList extends TLObject { - __response__!: Raw.help.TypeCountriesList; - langCode!: string; - hash!: int; - - constructor(params: { langCode: string; hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetCountriesList'; - this.constructorId = 0x735787a8; - this.subclassOfId = 0xea31fe88; - this._slots = ['langCode', 'hash']; - this.langCode = params.langCode; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - let hash = await Primitive.Int.read(_data); - return new Raw.help.GetCountriesList({ langCode: langCode, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPremiumPromo extends TLObject { - __response__!: Raw.help.TypePremiumPromo; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'help.GetPremiumPromo'; - this.constructorId = 0xb81b93d4; - this.subclassOfId = 0xc987a338; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.help.GetPremiumPromo(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPeerColors extends TLObject { - __response__!: Raw.help.TypePeerColors; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetPeerColors'; - this.constructorId = 0xda80f42f; - this.subclassOfId = 0xe3f6733; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.help.GetPeerColors({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPeerProfileColors extends TLObject { - __response__!: Raw.help.TypePeerColors; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetPeerProfileColors'; - this.constructorId = 0xabcfa9fd; - this.subclassOfId = 0xe3f6733; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.help.GetPeerProfileColors({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetTimezonesList extends TLObject { - __response__!: Raw.help.TypeTimezonesList; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'help.GetTimezonesList'; - this.constructorId = 0x49b30240; - this.subclassOfId = 0xca76e475; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.help.GetTimezonesList({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace storage { - export type TypeFileType = - | Raw.storage.FileUnknown - | Raw.storage.FilePartial - | Raw.storage.FileJpeg - | Raw.storage.FileGif - | Raw.storage.FilePng - | Raw.storage.FilePdf - | Raw.storage.FileMp3 - | Raw.storage.FileMov - | Raw.storage.FileMp4 - | Raw.storage.FileWebp; - export class FileUnknown extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileUnknown'; - this.constructorId = 0xaa963b05; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileUnknown(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FilePartial extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FilePartial'; - this.constructorId = 0x40bc6f52; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FilePartial(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileJpeg extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileJpeg'; - this.constructorId = 0x7efe0e; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileJpeg(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileGif extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileGif'; - this.constructorId = 0xcae1aadf; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileGif(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FilePng extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FilePng'; - this.constructorId = 0xa4f63c0; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FilePng(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FilePdf extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FilePdf'; - this.constructorId = 0xae1e508d; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FilePdf(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileMp3 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileMp3'; - this.constructorId = 0x528a0677; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileMp3(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileMov extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileMov'; - this.constructorId = 0x4b09ebbc; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileMov(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileMp4 extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileMp4'; - this.constructorId = 0xb3cea0e4; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileMp4(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileWebp extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'storage.FileWebp'; - this.constructorId = 0x1081464c; - this.subclassOfId = 0xf3a1e6f3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.storage.FileWebp(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace auth { - export type TypeLoginToken = - | Raw.auth.LoginToken - | Raw.auth.LoginTokenMigrateTo - | Raw.auth.LoginTokenSuccess; - export type TypePasswordRecovery = Raw.auth.PasswordRecovery; - export type TypeExportedAuthorization = Raw.auth.ExportedAuthorization; - export type TypeLoggedOut = Raw.auth.LoggedOut; - export type TypeSentCode = - | Raw.auth.SentCode - | Raw.auth.SentCodeSuccess - | Raw.auth.SentCodePaymentRequired; - export type TypeAuthorization = Raw.auth.Authorization | Raw.auth.AuthorizationSignUpRequired; - export type TypeCodeType = - | Raw.auth.CodeTypeSms - | Raw.auth.CodeTypeCall - | Raw.auth.CodeTypeFlashCall - | Raw.auth.CodeTypeMissedCall - | Raw.auth.CodeTypeFragmentSms; - export type TypeSentCodeType = - | Raw.auth.SentCodeTypeApp - | Raw.auth.SentCodeTypeSms - | Raw.auth.SentCodeTypeCall - | Raw.auth.SentCodeTypeFlashCall - | Raw.auth.SentCodeTypeMissedCall - | Raw.auth.SentCodeTypeEmailCode - | Raw.auth.SentCodeTypeSetUpEmailRequired - | Raw.auth.SentCodeTypeFragmentSms - | Raw.auth.SentCodeTypeFirebaseSms - | Raw.auth.SentCodeTypeSmsWord - | Raw.auth.SentCodeTypeSmsPhrase; - export class SentCode extends TLObject { - type!: Raw.auth.TypeSentCodeType; - phoneCodeHash!: string; - nextType?: Raw.auth.TypeCodeType; - timeout?: int; - - constructor(params: { - type: Raw.auth.TypeSentCodeType; - phoneCodeHash: string; - nextType?: Raw.auth.TypeCodeType; - timeout?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCode'; - this.constructorId = 0x5e002502; - this.subclassOfId = 0x6ce87081; - this._slots = ['type', 'phoneCodeHash', 'nextType', 'timeout']; - this.type = params.type; - this.phoneCodeHash = params.phoneCodeHash; - this.nextType = params.nextType; - this.timeout = params.timeout; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let type = await TLObject.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let nextType = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let timeout = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.auth.SentCode({ - type: type, - phoneCodeHash: phoneCodeHash, - nextType: nextType, - timeout: timeout, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextType !== undefined ? 1 << 1 : 0; - flags |= this.timeout !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.nextType !== undefined) { - b.write(this.nextType.write() as unknown as Buffer); - } - if (this.timeout !== undefined) { - b.write(Primitive.Int.write(this.timeout) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeSuccess extends TLObject { - authorization!: Raw.auth.TypeAuthorization; - - constructor(params: { authorization: Raw.auth.TypeAuthorization }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeSuccess'; - this.constructorId = 0x2390fe44; - this.subclassOfId = 0x6ce87081; - this._slots = ['authorization']; - this.authorization = params.authorization; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let authorization = await TLObject.read(_data); - return new Raw.auth.SentCodeSuccess({ authorization: authorization }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.authorization !== undefined) { - b.write(this.authorization.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodePaymentRequired extends TLObject { - storeProduct!: string; - phoneCodeHash!: string; - - constructor(params: { storeProduct: string; phoneCodeHash: string }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodePaymentRequired'; - this.constructorId = 0xd7cef980; - this.subclassOfId = 0x6ce87081; - this._slots = ['storeProduct', 'phoneCodeHash']; - this.storeProduct = params.storeProduct; - this.phoneCodeHash = params.phoneCodeHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let storeProduct = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - return new Raw.auth.SentCodePaymentRequired({ - storeProduct: storeProduct, - phoneCodeHash: phoneCodeHash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.storeProduct !== undefined) { - b.write(Primitive.String.write(this.storeProduct) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Authorization extends TLObject { - setupPasswordRequired?: boolean; - otherwiseReloginDays?: int; - tmpSessions?: int; - futureAuthToken?: bytes; - user!: Raw.TypeUser; - - constructor(params: { - setupPasswordRequired?: boolean; - otherwiseReloginDays?: int; - tmpSessions?: int; - futureAuthToken?: bytes; - user: Raw.TypeUser; - }) { - super(); - this.classType = 'types'; - this.className = 'auth.Authorization'; - this.constructorId = 0x2ea2c0d4; - this.subclassOfId = 0xb9e04e39; - this._slots = [ - 'setupPasswordRequired', - 'otherwiseReloginDays', - 'tmpSessions', - 'futureAuthToken', - 'user', - ]; - this.setupPasswordRequired = params.setupPasswordRequired; - this.otherwiseReloginDays = params.otherwiseReloginDays; - this.tmpSessions = params.tmpSessions; - this.futureAuthToken = params.futureAuthToken; - this.user = params.user; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let setupPasswordRequired = flags & (1 << 1) ? true : false; - let otherwiseReloginDays = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let tmpSessions = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let futureAuthToken = flags & (1 << 2) ? await Primitive.Bytes.read(_data) : undefined; - let user = await TLObject.read(_data); - return new Raw.auth.Authorization({ - setupPasswordRequired: setupPasswordRequired, - otherwiseReloginDays: otherwiseReloginDays, - tmpSessions: tmpSessions, - futureAuthToken: futureAuthToken, - user: user, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.setupPasswordRequired ? 1 << 1 : 0; - flags |= this.otherwiseReloginDays !== undefined ? 1 << 1 : 0; - flags |= this.tmpSessions !== undefined ? 1 << 0 : 0; - flags |= this.futureAuthToken !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.otherwiseReloginDays !== undefined) { - b.write(Primitive.Int.write(this.otherwiseReloginDays) as unknown as Buffer); - } - if (this.tmpSessions !== undefined) { - b.write(Primitive.Int.write(this.tmpSessions) as unknown as Buffer); - } - if (this.futureAuthToken !== undefined) { - b.write(Primitive.Bytes.write(this.futureAuthToken) as unknown as Buffer); - } - if (this.user !== undefined) { - b.write(this.user.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AuthorizationSignUpRequired extends TLObject { - termsOfService?: Raw.help.TypeTermsOfService; - - constructor(params: { termsOfService?: Raw.help.TypeTermsOfService }) { - super(); - this.classType = 'types'; - this.className = 'auth.AuthorizationSignUpRequired'; - this.constructorId = 0x44747e9a; - this.subclassOfId = 0xb9e04e39; - this._slots = ['termsOfService']; - this.termsOfService = params.termsOfService; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let termsOfService = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.auth.AuthorizationSignUpRequired({ termsOfService: termsOfService }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.termsOfService !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.termsOfService !== undefined) { - b.write(this.termsOfService.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedAuthorization extends TLObject { - id!: long; - bytes!: bytes; - - constructor(params: { id: long; bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'auth.ExportedAuthorization'; - this.constructorId = 0xb434e2b8; - this.subclassOfId = 0x5fd1ec51; - this._slots = ['id', 'bytes']; - this.id = params.id; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.auth.ExportedAuthorization({ id: id, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PasswordRecovery extends TLObject { - emailPattern!: string; - - constructor(params: { emailPattern: string }) { - super(); - this.classType = 'types'; - this.className = 'auth.PasswordRecovery'; - this.constructorId = 0x137948a5; - this.subclassOfId = 0xfa72d43a; - this._slots = ['emailPattern']; - this.emailPattern = params.emailPattern; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emailPattern = await Primitive.String.read(_data); - return new Raw.auth.PasswordRecovery({ emailPattern: emailPattern }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emailPattern !== undefined) { - b.write(Primitive.String.write(this.emailPattern) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CodeTypeSms extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'auth.CodeTypeSms'; - this.constructorId = 0x72a3158c; - this.subclassOfId = 0xb3f3e401; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.CodeTypeSms(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CodeTypeCall extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'auth.CodeTypeCall'; - this.constructorId = 0x741cd3e3; - this.subclassOfId = 0xb3f3e401; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.CodeTypeCall(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CodeTypeFlashCall extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'auth.CodeTypeFlashCall'; - this.constructorId = 0x226ccefb; - this.subclassOfId = 0xb3f3e401; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.CodeTypeFlashCall(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CodeTypeMissedCall extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'auth.CodeTypeMissedCall'; - this.constructorId = 0xd61ad6ee; - this.subclassOfId = 0xb3f3e401; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.CodeTypeMissedCall(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CodeTypeFragmentSms extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'auth.CodeTypeFragmentSms'; - this.constructorId = 0x6ed998c; - this.subclassOfId = 0xb3f3e401; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.CodeTypeFragmentSms(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeApp extends TLObject { - length!: int; - - constructor(params: { length: int }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeApp'; - this.constructorId = 0x3dbb5986; - this.subclassOfId = 0xff5b158e; - this._slots = ['length']; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let length = await Primitive.Int.read(_data); - return new Raw.auth.SentCodeTypeApp({ length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeSms extends TLObject { - length!: int; - - constructor(params: { length: int }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeSms'; - this.constructorId = 0xc000bba2; - this.subclassOfId = 0xff5b158e; - this._slots = ['length']; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let length = await Primitive.Int.read(_data); - return new Raw.auth.SentCodeTypeSms({ length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeCall extends TLObject { - length!: int; - - constructor(params: { length: int }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeCall'; - this.constructorId = 0x5353e5a7; - this.subclassOfId = 0xff5b158e; - this._slots = ['length']; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let length = await Primitive.Int.read(_data); - return new Raw.auth.SentCodeTypeCall({ length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeFlashCall extends TLObject { - pattern!: string; - - constructor(params: { pattern: string }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeFlashCall'; - this.constructorId = 0xab03c6d9; - this.subclassOfId = 0xff5b158e; - this._slots = ['pattern']; - this.pattern = params.pattern; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pattern = await Primitive.String.read(_data); - return new Raw.auth.SentCodeTypeFlashCall({ pattern: pattern }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pattern !== undefined) { - b.write(Primitive.String.write(this.pattern) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeMissedCall extends TLObject { - prefix!: string; - length!: int; - - constructor(params: { prefix: string; length: int }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeMissedCall'; - this.constructorId = 0x82006484; - this.subclassOfId = 0xff5b158e; - this._slots = ['prefix', 'length']; - this.prefix = params.prefix; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let prefix = await Primitive.String.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.auth.SentCodeTypeMissedCall({ prefix: prefix, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.prefix !== undefined) { - b.write(Primitive.String.write(this.prefix) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeEmailCode extends TLObject { - appleSigninAllowed?: boolean; - googleSigninAllowed?: boolean; - emailPattern!: string; - length!: int; - resetAvailablePeriod?: int; - resetPendingDate?: int; - - constructor(params: { - appleSigninAllowed?: boolean; - googleSigninAllowed?: boolean; - emailPattern: string; - length: int; - resetAvailablePeriod?: int; - resetPendingDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeEmailCode'; - this.constructorId = 0xf450f59b; - this.subclassOfId = 0xff5b158e; - this._slots = [ - 'appleSigninAllowed', - 'googleSigninAllowed', - 'emailPattern', - 'length', - 'resetAvailablePeriod', - 'resetPendingDate', - ]; - this.appleSigninAllowed = params.appleSigninAllowed; - this.googleSigninAllowed = params.googleSigninAllowed; - this.emailPattern = params.emailPattern; - this.length = params.length; - this.resetAvailablePeriod = params.resetAvailablePeriod; - this.resetPendingDate = params.resetPendingDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let appleSigninAllowed = flags & (1 << 0) ? true : false; - let googleSigninAllowed = flags & (1 << 1) ? true : false; - let emailPattern = await Primitive.String.read(_data); - let length = await Primitive.Int.read(_data); - let resetAvailablePeriod = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let resetPendingDate = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.auth.SentCodeTypeEmailCode({ - appleSigninAllowed: appleSigninAllowed, - googleSigninAllowed: googleSigninAllowed, - emailPattern: emailPattern, - length: length, - resetAvailablePeriod: resetAvailablePeriod, - resetPendingDate: resetPendingDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.appleSigninAllowed ? 1 << 0 : 0; - flags |= this.googleSigninAllowed ? 1 << 1 : 0; - flags |= this.resetAvailablePeriod !== undefined ? 1 << 3 : 0; - flags |= this.resetPendingDate !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.emailPattern !== undefined) { - b.write(Primitive.String.write(this.emailPattern) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - if (this.resetAvailablePeriod !== undefined) { - b.write(Primitive.Int.write(this.resetAvailablePeriod) as unknown as Buffer); - } - if (this.resetPendingDate !== undefined) { - b.write(Primitive.Int.write(this.resetPendingDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeSetUpEmailRequired extends TLObject { - appleSigninAllowed?: boolean; - googleSigninAllowed?: boolean; - - constructor(params: { appleSigninAllowed?: boolean; googleSigninAllowed?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeSetUpEmailRequired'; - this.constructorId = 0xa5491dea; - this.subclassOfId = 0xff5b158e; - this._slots = ['appleSigninAllowed', 'googleSigninAllowed']; - this.appleSigninAllowed = params.appleSigninAllowed; - this.googleSigninAllowed = params.googleSigninAllowed; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let appleSigninAllowed = flags & (1 << 0) ? true : false; - let googleSigninAllowed = flags & (1 << 1) ? true : false; - return new Raw.auth.SentCodeTypeSetUpEmailRequired({ - appleSigninAllowed: appleSigninAllowed, - googleSigninAllowed: googleSigninAllowed, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.appleSigninAllowed ? 1 << 0 : 0; - flags |= this.googleSigninAllowed ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeFragmentSms extends TLObject { - url!: string; - length!: int; - - constructor(params: { url: string; length: int }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeFragmentSms'; - this.constructorId = 0xd9565c39; - this.subclassOfId = 0xff5b158e; - this._slots = ['url', 'length']; - this.url = params.url; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.auth.SentCodeTypeFragmentSms({ url: url, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeFirebaseSms extends TLObject { - nonce?: bytes; - playIntegrityProjectId?: long; - playIntegrityNonce?: bytes; - receipt?: string; - pushTimeout?: int; - length!: int; - - constructor(params: { - nonce?: bytes; - playIntegrityProjectId?: long; - playIntegrityNonce?: bytes; - receipt?: string; - pushTimeout?: int; - length: int; - }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeFirebaseSms'; - this.constructorId = 0x9fd736; - this.subclassOfId = 0xff5b158e; - this._slots = [ - 'nonce', - 'playIntegrityProjectId', - 'playIntegrityNonce', - 'receipt', - 'pushTimeout', - 'length', - ]; - this.nonce = params.nonce; - this.playIntegrityProjectId = params.playIntegrityProjectId; - this.playIntegrityNonce = params.playIntegrityNonce; - this.receipt = params.receipt; - this.pushTimeout = params.pushTimeout; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nonce = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let playIntegrityProjectId = - flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - let playIntegrityNonce = flags & (1 << 2) ? await Primitive.Bytes.read(_data) : undefined; - let receipt = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let pushTimeout = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let length = await Primitive.Int.read(_data); - return new Raw.auth.SentCodeTypeFirebaseSms({ - nonce: nonce, - playIntegrityProjectId: playIntegrityProjectId, - playIntegrityNonce: playIntegrityNonce, - receipt: receipt, - pushTimeout: pushTimeout, - length: length, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nonce !== undefined ? 1 << 0 : 0; - flags |= this.playIntegrityProjectId !== undefined ? 1 << 2 : 0; - flags |= this.playIntegrityNonce !== undefined ? 1 << 2 : 0; - flags |= this.receipt !== undefined ? 1 << 1 : 0; - flags |= this.pushTimeout !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.nonce !== undefined) { - b.write(Primitive.Bytes.write(this.nonce) as unknown as Buffer); - } - if (this.playIntegrityProjectId !== undefined) { - b.write(Primitive.Long.write(this.playIntegrityProjectId) as unknown as Buffer); - } - if (this.playIntegrityNonce !== undefined) { - b.write(Primitive.Bytes.write(this.playIntegrityNonce) as unknown as Buffer); - } - if (this.receipt !== undefined) { - b.write(Primitive.String.write(this.receipt) as unknown as Buffer); - } - if (this.pushTimeout !== undefined) { - b.write(Primitive.Int.write(this.pushTimeout) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeSmsWord extends TLObject { - beginning?: string; - - constructor(params: { beginning?: string }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeSmsWord'; - this.constructorId = 0xa416ac81; - this.subclassOfId = 0xff5b158e; - this._slots = ['beginning']; - this.beginning = params.beginning; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let beginning = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.auth.SentCodeTypeSmsWord({ beginning: beginning }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.beginning !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.beginning !== undefined) { - b.write(Primitive.String.write(this.beginning) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentCodeTypeSmsPhrase extends TLObject { - beginning?: string; - - constructor(params: { beginning?: string }) { - super(); - this.classType = 'types'; - this.className = 'auth.SentCodeTypeSmsPhrase'; - this.constructorId = 0xb37794af; - this.subclassOfId = 0xff5b158e; - this._slots = ['beginning']; - this.beginning = params.beginning; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let beginning = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.auth.SentCodeTypeSmsPhrase({ beginning: beginning }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.beginning !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.beginning !== undefined) { - b.write(Primitive.String.write(this.beginning) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LoginToken extends TLObject { - expires!: int; - token!: bytes; - - constructor(params: { expires: int; token: bytes }) { - super(); - this.classType = 'types'; - this.className = 'auth.LoginToken'; - this.constructorId = 0x629f1980; - this.subclassOfId = 0x6b55f636; - this._slots = ['expires', 'token']; - this.expires = params.expires; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let expires = await Primitive.Int.read(_data); - let token = await Primitive.Bytes.read(_data); - return new Raw.auth.LoginToken({ expires: expires, token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.expires !== undefined) { - b.write(Primitive.Int.write(this.expires) as unknown as Buffer); - } - if (this.token !== undefined) { - b.write(Primitive.Bytes.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LoginTokenMigrateTo extends TLObject { - dcId!: int; - token!: bytes; - - constructor(params: { dcId: int; token: bytes }) { - super(); - this.classType = 'types'; - this.className = 'auth.LoginTokenMigrateTo'; - this.constructorId = 0x68e9916; - this.subclassOfId = 0x6b55f636; - this._slots = ['dcId', 'token']; - this.dcId = params.dcId; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - let token = await Primitive.Bytes.read(_data); - return new Raw.auth.LoginTokenMigrateTo({ dcId: dcId, token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.token !== undefined) { - b.write(Primitive.Bytes.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LoginTokenSuccess extends TLObject { - authorization!: Raw.auth.TypeAuthorization; - - constructor(params: { authorization: Raw.auth.TypeAuthorization }) { - super(); - this.classType = 'types'; - this.className = 'auth.LoginTokenSuccess'; - this.constructorId = 0x390d5c5e; - this.subclassOfId = 0x6b55f636; - this._slots = ['authorization']; - this.authorization = params.authorization; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let authorization = await TLObject.read(_data); - return new Raw.auth.LoginTokenSuccess({ authorization: authorization }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.authorization !== undefined) { - b.write(this.authorization.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LoggedOut extends TLObject { - futureAuthToken?: bytes; - - constructor(params: { futureAuthToken?: bytes }) { - super(); - this.classType = 'types'; - this.className = 'auth.LoggedOut'; - this.constructorId = 0xc3a2835f; - this.subclassOfId = 0xa804315; - this._slots = ['futureAuthToken']; - this.futureAuthToken = params.futureAuthToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let futureAuthToken = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - return new Raw.auth.LoggedOut({ futureAuthToken: futureAuthToken }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.futureAuthToken !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.futureAuthToken !== undefined) { - b.write(Primitive.Bytes.write(this.futureAuthToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendCode extends TLObject { - __response__!: Raw.auth.TypeSentCode; - phoneNumber!: string; - apiId!: int; - apiHash!: string; - settings!: Raw.TypeCodeSettings; - - constructor(params: { - phoneNumber: string; - apiId: int; - apiHash: string; - settings: Raw.TypeCodeSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'auth.SendCode'; - this.constructorId = 0xa677244f; - this.subclassOfId = 0x6ce87081; - this._slots = ['phoneNumber', 'apiId', 'apiHash', 'settings']; - this.phoneNumber = params.phoneNumber; - this.apiId = params.apiId; - this.apiHash = params.apiHash; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let apiId = await Primitive.Int.read(_data); - let apiHash = await Primitive.String.read(_data); - let settings = await TLObject.read(_data); - return new Raw.auth.SendCode({ - phoneNumber: phoneNumber, - apiId: apiId, - apiHash: apiHash, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.apiId !== undefined) { - b.write(Primitive.Int.write(this.apiId) as unknown as Buffer); - } - if (this.apiHash !== undefined) { - b.write(Primitive.String.write(this.apiHash) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SignUp extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - noJoinedNotifications?: boolean; - phoneNumber!: string; - phoneCodeHash!: string; - firstName!: string; - lastName!: string; - - constructor(params: { - noJoinedNotifications?: boolean; - phoneNumber: string; - phoneCodeHash: string; - firstName: string; - lastName: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'auth.SignUp'; - this.constructorId = 0xaac7b717; - this.subclassOfId = 0xb9e04e39; - this._slots = [ - 'noJoinedNotifications', - 'phoneNumber', - 'phoneCodeHash', - 'firstName', - 'lastName', - ]; - this.noJoinedNotifications = params.noJoinedNotifications; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.firstName = params.firstName; - this.lastName = params.lastName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noJoinedNotifications = flags & (1 << 0) ? true : false; - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - return new Raw.auth.SignUp({ - noJoinedNotifications: noJoinedNotifications, - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - firstName: firstName, - lastName: lastName, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noJoinedNotifications ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SignIn extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - phoneNumber!: string; - phoneCodeHash!: string; - phoneCode?: string; - emailVerification?: Raw.TypeEmailVerification; - - constructor(params: { - phoneNumber: string; - phoneCodeHash: string; - phoneCode?: string; - emailVerification?: Raw.TypeEmailVerification; - }) { - super(); - this.classType = 'functions'; - this.className = 'auth.SignIn'; - this.constructorId = 0x8d52a951; - this.subclassOfId = 0xb9e04e39; - this._slots = ['phoneNumber', 'phoneCodeHash', 'phoneCode', 'emailVerification']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.phoneCode = params.phoneCode; - this.emailVerification = params.emailVerification; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let phoneCode = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let emailVerification = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.auth.SignIn({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - phoneCode: phoneCode, - emailVerification: emailVerification, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.phoneCode !== undefined ? 1 << 0 : 0; - flags |= this.emailVerification !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.phoneCode !== undefined) { - b.write(Primitive.String.write(this.phoneCode) as unknown as Buffer); - } - if (this.emailVerification !== undefined) { - b.write(this.emailVerification.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LogOut extends TLObject { - __response__!: Raw.auth.TypeLoggedOut; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'auth.LogOut'; - this.constructorId = 0x3e72ba19; - this.subclassOfId = 0xa804315; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.auth.LogOut(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetAuthorizations extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'auth.ResetAuthorizations'; - this.constructorId = 0x9fab0d1a; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.ResetAuthorizations(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportAuthorization extends TLObject { - __response__!: Raw.auth.TypeExportedAuthorization; - dcId!: int; - - constructor(params: { dcId: int }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ExportAuthorization'; - this.constructorId = 0xe5bfffcd; - this.subclassOfId = 0x5fd1ec51; - this._slots = ['dcId']; - this.dcId = params.dcId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - return new Raw.auth.ExportAuthorization({ dcId: dcId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportAuthorization extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - id!: long; - bytes!: bytes; - - constructor(params: { id: long; bytes: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ImportAuthorization'; - this.constructorId = 0xa57a7dad; - this.subclassOfId = 0xb9e04e39; - this._slots = ['id', 'bytes']; - this.id = params.id; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.auth.ImportAuthorization({ id: id, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BindTempAuthKey extends TLObject { - __response__!: Bool; - permAuthKeyId!: long; - nonce!: long; - expiresAt!: int; - encryptedMessage!: bytes; - - constructor(params: { - permAuthKeyId: long; - nonce: long; - expiresAt: int; - encryptedMessage: bytes; - }) { - super(); - this.classType = 'functions'; - this.className = 'auth.BindTempAuthKey'; - this.constructorId = 0xcdd42a05; - this.subclassOfId = 0xf5b399ac; - this._slots = ['permAuthKeyId', 'nonce', 'expiresAt', 'encryptedMessage']; - this.permAuthKeyId = params.permAuthKeyId; - this.nonce = params.nonce; - this.expiresAt = params.expiresAt; - this.encryptedMessage = params.encryptedMessage; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let permAuthKeyId = await Primitive.Long.read(_data); - let nonce = await Primitive.Long.read(_data); - let expiresAt = await Primitive.Int.read(_data); - let encryptedMessage = await Primitive.Bytes.read(_data); - return new Raw.auth.BindTempAuthKey({ - permAuthKeyId: permAuthKeyId, - nonce: nonce, - expiresAt: expiresAt, - encryptedMessage: encryptedMessage, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.permAuthKeyId !== undefined) { - b.write(Primitive.Long.write(this.permAuthKeyId) as unknown as Buffer); - } - if (this.nonce !== undefined) { - b.write(Primitive.Long.write(this.nonce) as unknown as Buffer); - } - if (this.expiresAt !== undefined) { - b.write(Primitive.Int.write(this.expiresAt) as unknown as Buffer); - } - if (this.encryptedMessage !== undefined) { - b.write(Primitive.Bytes.write(this.encryptedMessage) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportBotAuthorization extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - flags!: int; - apiId!: int; - apiHash!: string; - botAuthToken!: string; - - constructor(params: { flags: int; apiId: int; apiHash: string; botAuthToken: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ImportBotAuthorization'; - this.constructorId = 0x67a3ff2c; - this.subclassOfId = 0xb9e04e39; - this._slots = ['flags', 'apiId', 'apiHash', 'botAuthToken']; - this.flags = params.flags; - this.apiId = params.apiId; - this.apiHash = params.apiHash; - this.botAuthToken = params.botAuthToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let flags = await Primitive.Int.read(_data); - let apiId = await Primitive.Int.read(_data); - let apiHash = await Primitive.String.read(_data); - let botAuthToken = await Primitive.String.read(_data); - return new Raw.auth.ImportBotAuthorization({ - flags: flags, - apiId: apiId, - apiHash: apiHash, - botAuthToken: botAuthToken, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.flags !== undefined) { - b.write(Primitive.Int.write(this.flags) as unknown as Buffer); - } - if (this.apiId !== undefined) { - b.write(Primitive.Int.write(this.apiId) as unknown as Buffer); - } - if (this.apiHash !== undefined) { - b.write(Primitive.String.write(this.apiHash) as unknown as Buffer); - } - if (this.botAuthToken !== undefined) { - b.write(Primitive.String.write(this.botAuthToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckPassword extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - password!: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { password: Raw.TypeInputCheckPasswordSRP }) { - super(); - this.classType = 'functions'; - this.className = 'auth.CheckPassword'; - this.constructorId = 0xd18b4d16; - this.subclassOfId = 0xb9e04e39; - this._slots = ['password']; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let password = await TLObject.read(_data); - return new Raw.auth.CheckPassword({ password: password }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestPasswordRecovery extends TLObject { - __response__!: Raw.auth.TypePasswordRecovery; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'auth.RequestPasswordRecovery'; - this.constructorId = 0xd897bc66; - this.subclassOfId = 0xfa72d43a; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.auth.RequestPasswordRecovery(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecoverPassword extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - code!: string; - newSettings?: Raw.account.TypePasswordInputSettings; - - constructor(params: { code: string; newSettings?: Raw.account.TypePasswordInputSettings }) { - super(); - this.classType = 'functions'; - this.className = 'auth.RecoverPassword'; - this.constructorId = 0x37096c70; - this.subclassOfId = 0xb9e04e39; - this._slots = ['code', 'newSettings']; - this.code = params.code; - this.newSettings = params.newSettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let code = await Primitive.String.read(_data); - let newSettings = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.auth.RecoverPassword({ code: code, newSettings: newSettings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.newSettings !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.code !== undefined) { - b.write(Primitive.String.write(this.code) as unknown as Buffer); - } - if (this.newSettings !== undefined) { - b.write(this.newSettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResendCode extends TLObject { - __response__!: Raw.auth.TypeSentCode; - phoneNumber!: string; - phoneCodeHash!: string; - reason?: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string; reason?: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ResendCode'; - this.constructorId = 0xcae47523; - this.subclassOfId = 0x6ce87081; - this._slots = ['phoneNumber', 'phoneCodeHash', 'reason']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.reason = params.reason; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let reason = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.auth.ResendCode({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - reason: reason, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.reason !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(Primitive.String.write(this.reason) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CancelCode extends TLObject { - __response__!: Bool; - phoneNumber!: string; - phoneCodeHash!: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.CancelCode'; - this.constructorId = 0x1f040578; - this.subclassOfId = 0xf5b399ac; - this._slots = ['phoneNumber', 'phoneCodeHash']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - return new Raw.auth.CancelCode({ phoneNumber: phoneNumber, phoneCodeHash: phoneCodeHash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DropTempAuthKeys extends TLObject { - __response__!: Bool; - exceptAuthKeys!: Vector; - - constructor(params: { exceptAuthKeys: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'auth.DropTempAuthKeys'; - this.constructorId = 0x8e48a188; - this.subclassOfId = 0xf5b399ac; - this._slots = ['exceptAuthKeys']; - this.exceptAuthKeys = params.exceptAuthKeys; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let exceptAuthKeys = await TLObject.read(_data, Primitive.Long); - return new Raw.auth.DropTempAuthKeys({ exceptAuthKeys: exceptAuthKeys }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.exceptAuthKeys) { - b.write(Primitive.Vector.write(this.exceptAuthKeys, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportLoginToken extends TLObject { - __response__!: Raw.auth.TypeLoginToken; - apiId!: int; - apiHash!: string; - exceptIds!: Vector; - - constructor(params: { apiId: int; apiHash: string; exceptIds: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ExportLoginToken'; - this.constructorId = 0xb7e085fe; - this.subclassOfId = 0x6b55f636; - this._slots = ['apiId', 'apiHash', 'exceptIds']; - this.apiId = params.apiId; - this.apiHash = params.apiHash; - this.exceptIds = params.exceptIds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let apiId = await Primitive.Int.read(_data); - let apiHash = await Primitive.String.read(_data); - let exceptIds = await TLObject.read(_data, Primitive.Long); - return new Raw.auth.ExportLoginToken({ - apiId: apiId, - apiHash: apiHash, - exceptIds: exceptIds, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.apiId !== undefined) { - b.write(Primitive.Int.write(this.apiId) as unknown as Buffer); - } - if (this.apiHash !== undefined) { - b.write(Primitive.String.write(this.apiHash) as unknown as Buffer); - } - if (this.exceptIds) { - b.write(Primitive.Vector.write(this.exceptIds, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportLoginToken extends TLObject { - __response__!: Raw.auth.TypeLoginToken; - token!: bytes; - - constructor(params: { token: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ImportLoginToken'; - this.constructorId = 0x95ac5ce4; - this.subclassOfId = 0x6b55f636; - this._slots = ['token']; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let token = await Primitive.Bytes.read(_data); - return new Raw.auth.ImportLoginToken({ token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.Bytes.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptLoginToken extends TLObject { - __response__!: Raw.TypeAuthorization; - token!: bytes; - - constructor(params: { token: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'auth.AcceptLoginToken'; - this.constructorId = 0xe894ad4d; - this.subclassOfId = 0xc913c01a; - this._slots = ['token']; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let token = await Primitive.Bytes.read(_data); - return new Raw.auth.AcceptLoginToken({ token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.Bytes.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckRecoveryPassword extends TLObject { - __response__!: Bool; - code!: string; - - constructor(params: { code: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.CheckRecoveryPassword'; - this.constructorId = 0xd36bf79; - this.subclassOfId = 0xf5b399ac; - this._slots = ['code']; - this.code = params.code; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let code = await Primitive.String.read(_data); - return new Raw.auth.CheckRecoveryPassword({ code: code }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.code !== undefined) { - b.write(Primitive.String.write(this.code) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportWebTokenAuthorization extends TLObject { - __response__!: Raw.auth.TypeAuthorization; - apiId!: int; - apiHash!: string; - webAuthToken!: string; - - constructor(params: { apiId: int; apiHash: string; webAuthToken: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ImportWebTokenAuthorization'; - this.constructorId = 0x2db873a9; - this.subclassOfId = 0xb9e04e39; - this._slots = ['apiId', 'apiHash', 'webAuthToken']; - this.apiId = params.apiId; - this.apiHash = params.apiHash; - this.webAuthToken = params.webAuthToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let apiId = await Primitive.Int.read(_data); - let apiHash = await Primitive.String.read(_data); - let webAuthToken = await Primitive.String.read(_data); - return new Raw.auth.ImportWebTokenAuthorization({ - apiId: apiId, - apiHash: apiHash, - webAuthToken: webAuthToken, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.apiId !== undefined) { - b.write(Primitive.Int.write(this.apiId) as unknown as Buffer); - } - if (this.apiHash !== undefined) { - b.write(Primitive.String.write(this.apiHash) as unknown as Buffer); - } - if (this.webAuthToken !== undefined) { - b.write(Primitive.String.write(this.webAuthToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestFirebaseSms extends TLObject { - __response__!: Bool; - phoneNumber!: string; - phoneCodeHash!: string; - safetyNetToken?: string; - playIntegrityToken?: string; - iosPushSecret?: string; - - constructor(params: { - phoneNumber: string; - phoneCodeHash: string; - safetyNetToken?: string; - playIntegrityToken?: string; - iosPushSecret?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'auth.RequestFirebaseSms'; - this.constructorId = 0x8e39261e; - this.subclassOfId = 0xf5b399ac; - this._slots = [ - 'phoneNumber', - 'phoneCodeHash', - 'safetyNetToken', - 'playIntegrityToken', - 'iosPushSecret', - ]; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.safetyNetToken = params.safetyNetToken; - this.playIntegrityToken = params.playIntegrityToken; - this.iosPushSecret = params.iosPushSecret; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let safetyNetToken = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let playIntegrityToken = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let iosPushSecret = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.auth.RequestFirebaseSms({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - safetyNetToken: safetyNetToken, - playIntegrityToken: playIntegrityToken, - iosPushSecret: iosPushSecret, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.safetyNetToken !== undefined ? 1 << 0 : 0; - flags |= this.playIntegrityToken !== undefined ? 1 << 2 : 0; - flags |= this.iosPushSecret !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.safetyNetToken !== undefined) { - b.write(Primitive.String.write(this.safetyNetToken) as unknown as Buffer); - } - if (this.playIntegrityToken !== undefined) { - b.write(Primitive.String.write(this.playIntegrityToken) as unknown as Buffer); - } - if (this.iosPushSecret !== undefined) { - b.write(Primitive.String.write(this.iosPushSecret) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetLoginEmail extends TLObject { - __response__!: Raw.auth.TypeSentCode; - phoneNumber!: string; - phoneCodeHash!: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ResetLoginEmail'; - this.constructorId = 0x7e960193; - this.subclassOfId = 0x6ce87081; - this._slots = ['phoneNumber', 'phoneCodeHash']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - return new Raw.auth.ResetLoginEmail({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportMissingCode extends TLObject { - __response__!: Bool; - phoneNumber!: string; - phoneCodeHash!: string; - mnc!: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string; mnc: string }) { - super(); - this.classType = 'functions'; - this.className = 'auth.ReportMissingCode'; - this.constructorId = 0xcb9deff6; - this.subclassOfId = 0xf5b399ac; - this._slots = ['phoneNumber', 'phoneCodeHash', 'mnc']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.mnc = params.mnc; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let mnc = await Primitive.String.read(_data); - return new Raw.auth.ReportMissingCode({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - mnc: mnc, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.mnc !== undefined) { - b.write(Primitive.String.write(this.mnc) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace contacts { - export type TypeSponsoredPeers = Raw.contacts.SponsoredPeersEmpty | Raw.contacts.SponsoredPeers; - export type TypeContactBirthdays = Raw.contacts.ContactBirthdays; - export type TypeTopPeers = - | Raw.contacts.TopPeersNotModified - | Raw.contacts.TopPeers - | Raw.contacts.TopPeersDisabled; - export type TypeResolvedPeer = Raw.contacts.ResolvedPeer; - export type TypeFound = Raw.contacts.Found; - export type TypeBlocked = Raw.contacts.Blocked | Raw.contacts.BlockedSlice; - export type TypeImportedContacts = Raw.contacts.ImportedContacts; - export type TypeContacts = Raw.contacts.ContactsNotModified | Raw.contacts.Contacts; - export class ContactsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'contacts.ContactsNotModified'; - this.constructorId = 0xb74ba9d2; - this.subclassOfId = 0x38be25f6; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.ContactsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Contacts extends TLObject { - contacts!: Vector; - savedCount!: int; - users!: Vector; - - constructor(params: { - contacts: Vector; - savedCount: int; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.Contacts'; - this.constructorId = 0xeae87e42; - this.subclassOfId = 0x38be25f6; - this._slots = ['contacts', 'savedCount', 'users']; - this.contacts = params.contacts; - this.savedCount = params.savedCount; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let contacts = await TLObject.read(_data); - let savedCount = await Primitive.Int.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.Contacts({ - contacts: contacts, - savedCount: savedCount, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.contacts) { - b.write(Primitive.Vector.write(this.contacts) as unknown as Buffer); - } - if (this.savedCount !== undefined) { - b.write(Primitive.Int.write(this.savedCount) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportedContacts extends TLObject { - imported!: Vector; - popularInvites!: Vector; - retryContacts!: Vector; - users!: Vector; - - constructor(params: { - imported: Vector; - popularInvites: Vector; - retryContacts: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.ImportedContacts'; - this.constructorId = 0x77d01c3b; - this.subclassOfId = 0x8172ad93; - this._slots = ['imported', 'popularInvites', 'retryContacts', 'users']; - this.imported = params.imported; - this.popularInvites = params.popularInvites; - this.retryContacts = params.retryContacts; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let imported = await TLObject.read(_data); - let popularInvites = await TLObject.read(_data); - let retryContacts = await TLObject.read(_data, Primitive.Long); - let users = await TLObject.read(_data); - return new Raw.contacts.ImportedContacts({ - imported: imported, - popularInvites: popularInvites, - retryContacts: retryContacts, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.imported) { - b.write(Primitive.Vector.write(this.imported) as unknown as Buffer); - } - if (this.popularInvites) { - b.write(Primitive.Vector.write(this.popularInvites) as unknown as Buffer); - } - if (this.retryContacts) { - b.write(Primitive.Vector.write(this.retryContacts, Primitive.Long) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Blocked extends TLObject { - blocked!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - blocked: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.Blocked'; - this.constructorId = 0xade1591; - this.subclassOfId = 0xffba4f4f; - this._slots = ['blocked', 'chats', 'users']; - this.blocked = params.blocked; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let blocked = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.Blocked({ blocked: blocked, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.blocked) { - b.write(Primitive.Vector.write(this.blocked) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BlockedSlice extends TLObject { - count!: int; - blocked!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - blocked: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.BlockedSlice'; - this.constructorId = 0xe1664194; - this.subclassOfId = 0xffba4f4f; - this._slots = ['count', 'blocked', 'chats', 'users']; - this.count = params.count; - this.blocked = params.blocked; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let blocked = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.BlockedSlice({ - count: count, - blocked: blocked, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.blocked) { - b.write(Primitive.Vector.write(this.blocked) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Found extends TLObject { - myResults!: Vector; - results!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - myResults: Vector; - results: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.Found'; - this.constructorId = 0xb3134d9d; - this.subclassOfId = 0x4386a2e3; - this._slots = ['myResults', 'results', 'chats', 'users']; - this.myResults = params.myResults; - this.results = params.results; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let myResults = await TLObject.read(_data); - let results = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.Found({ - myResults: myResults, - results: results, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.myResults) { - b.write(Primitive.Vector.write(this.myResults) as unknown as Buffer); - } - if (this.results) { - b.write(Primitive.Vector.write(this.results) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResolvedPeer extends TLObject { - peer!: Raw.TypePeer; - chats!: Vector; - users!: Vector; - - constructor(params: { - peer: Raw.TypePeer; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.ResolvedPeer'; - this.constructorId = 0x7f077ad9; - this.subclassOfId = 0xf065b3a8; - this._slots = ['peer', 'chats', 'users']; - this.peer = params.peer; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.ResolvedPeer({ peer: peer, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeersNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'contacts.TopPeersNotModified'; - this.constructorId = 0xde266ef5; - this.subclassOfId = 0x9ee8bb88; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.TopPeersNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeers extends TLObject { - categories!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - categories: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.TopPeers'; - this.constructorId = 0x70b772a8; - this.subclassOfId = 0x9ee8bb88; - this._slots = ['categories', 'chats', 'users']; - this.categories = params.categories; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let categories = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.TopPeers({ categories: categories, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.categories) { - b.write(Primitive.Vector.write(this.categories) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TopPeersDisabled extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'contacts.TopPeersDisabled'; - this.constructorId = 0xb52c939d; - this.subclassOfId = 0x9ee8bb88; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.TopPeersDisabled(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ContactBirthdays extends TLObject { - contacts!: Vector; - users!: Vector; - - constructor(params: { - contacts: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.ContactBirthdays'; - this.constructorId = 0x114ff30d; - this.subclassOfId = 0xe7aabff; - this._slots = ['contacts', 'users']; - this.contacts = params.contacts; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let contacts = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.ContactBirthdays({ contacts: contacts, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.contacts) { - b.write(Primitive.Vector.write(this.contacts) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredPeersEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'contacts.SponsoredPeersEmpty'; - this.constructorId = 0xea32b4b1; - this.subclassOfId = 0xb45d5ccc; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.SponsoredPeersEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredPeers extends TLObject { - peers!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - peers: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'contacts.SponsoredPeers'; - this.constructorId = 0xeb032884; - this.subclassOfId = 0xb45d5ccc; - this._slots = ['peers', 'chats', 'users']; - this.peers = params.peers; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peers = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.contacts.SponsoredPeers({ peers: peers, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetContactIDs extends TLObject { - __response__!: Vector; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetContactIDs'; - this.constructorId = 0x7adc669d; - this.subclassOfId = 0x5026710f; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.contacts.GetContactIDs({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStatuses extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetStatuses'; - this.constructorId = 0xc4a353ee; - this.subclassOfId = 0xdf815c90; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.GetStatuses(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetContacts extends TLObject { - __response__!: Raw.contacts.TypeContacts; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetContacts'; - this.constructorId = 0x5dd69e12; - this.subclassOfId = 0x38be25f6; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.contacts.GetContacts({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportContacts extends TLObject { - __response__!: Raw.contacts.TypeImportedContacts; - contacts!: Vector; - - constructor(params: { contacts: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.ImportContacts'; - this.constructorId = 0x2c800be5; - this.subclassOfId = 0x8172ad93; - this._slots = ['contacts']; - this.contacts = params.contacts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let contacts = await TLObject.read(_data); - return new Raw.contacts.ImportContacts({ contacts: contacts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.contacts) { - b.write(Primitive.Vector.write(this.contacts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteContacts extends TLObject { - __response__!: Raw.TypeUpdates; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.DeleteContacts'; - this.constructorId = 0x96a0e00; - this.subclassOfId = 0x8af52aac; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.contacts.DeleteContacts({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteByPhones extends TLObject { - __response__!: Bool; - phones!: Vector; - - constructor(params: { phones: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.DeleteByPhones'; - this.constructorId = 0x1013fd9e; - this.subclassOfId = 0xf5b399ac; - this._slots = ['phones']; - this.phones = params.phones; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phones = await TLObject.read(_data, Primitive.String); - return new Raw.contacts.DeleteByPhones({ phones: phones }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phones) { - b.write(Primitive.Vector.write(this.phones, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Block extends TLObject { - __response__!: Bool; - myStoriesFrom?: boolean; - id!: Raw.TypeInputPeer; - - constructor(params: { myStoriesFrom?: boolean; id: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.Block'; - this.constructorId = 0x2e2e8734; - this.subclassOfId = 0xf5b399ac; - this._slots = ['myStoriesFrom', 'id']; - this.myStoriesFrom = params.myStoriesFrom; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let myStoriesFrom = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data); - return new Raw.contacts.Block({ myStoriesFrom: myStoriesFrom, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.myStoriesFrom ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Unblock extends TLObject { - __response__!: Bool; - myStoriesFrom?: boolean; - id!: Raw.TypeInputPeer; - - constructor(params: { myStoriesFrom?: boolean; id: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.Unblock'; - this.constructorId = 0xb550d328; - this.subclassOfId = 0xf5b399ac; - this._slots = ['myStoriesFrom', 'id']; - this.myStoriesFrom = params.myStoriesFrom; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let myStoriesFrom = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data); - return new Raw.contacts.Unblock({ myStoriesFrom: myStoriesFrom, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.myStoriesFrom ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBlocked extends TLObject { - __response__!: Raw.contacts.TypeBlocked; - myStoriesFrom?: boolean; - offset!: int; - limit!: int; - - constructor(params: { myStoriesFrom?: boolean; offset: int; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetBlocked'; - this.constructorId = 0x9a868f80; - this.subclassOfId = 0xffba4f4f; - this._slots = ['myStoriesFrom', 'offset', 'limit']; - this.myStoriesFrom = params.myStoriesFrom; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let myStoriesFrom = flags & (1 << 0) ? true : false; - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.contacts.GetBlocked({ - myStoriesFrom: myStoriesFrom, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.myStoriesFrom ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Search extends TLObject { - __response__!: Raw.contacts.TypeFound; - q!: string; - limit!: int; - - constructor(params: { q: string; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.Search'; - this.constructorId = 0x11f812d8; - this.subclassOfId = 0x4386a2e3; - this._slots = ['q', 'limit']; - this.q = params.q; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.contacts.Search({ q: q, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResolveUsername extends TLObject { - __response__!: Raw.contacts.TypeResolvedPeer; - username!: string; - referer?: string; - - constructor(params: { username: string; referer?: string }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.ResolveUsername'; - this.constructorId = 0x725afbbc; - this.subclassOfId = 0xf065b3a8; - this._slots = ['username', 'referer']; - this.username = params.username; - this.referer = params.referer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let username = await Primitive.String.read(_data); - let referer = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.contacts.ResolveUsername({ username: username, referer: referer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.referer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.referer !== undefined) { - b.write(Primitive.String.write(this.referer) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetTopPeers extends TLObject { - __response__!: Raw.contacts.TypeTopPeers; - correspondents?: boolean; - botsPm?: boolean; - botsInline?: boolean; - phoneCalls?: boolean; - forwardUsers?: boolean; - forwardChats?: boolean; - groups?: boolean; - channels?: boolean; - botsApp?: boolean; - offset!: int; - limit!: int; - hash!: long; - - constructor(params: { - correspondents?: boolean; - botsPm?: boolean; - botsInline?: boolean; - phoneCalls?: boolean; - forwardUsers?: boolean; - forwardChats?: boolean; - groups?: boolean; - channels?: boolean; - botsApp?: boolean; - offset: int; - limit: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetTopPeers'; - this.constructorId = 0x973478b6; - this.subclassOfId = 0x9ee8bb88; - this._slots = [ - 'correspondents', - 'botsPm', - 'botsInline', - 'phoneCalls', - 'forwardUsers', - 'forwardChats', - 'groups', - 'channels', - 'botsApp', - 'offset', - 'limit', - 'hash', - ]; - this.correspondents = params.correspondents; - this.botsPm = params.botsPm; - this.botsInline = params.botsInline; - this.phoneCalls = params.phoneCalls; - this.forwardUsers = params.forwardUsers; - this.forwardChats = params.forwardChats; - this.groups = params.groups; - this.channels = params.channels; - this.botsApp = params.botsApp; - this.offset = params.offset; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let correspondents = flags & (1 << 0) ? true : false; - let botsPm = flags & (1 << 1) ? true : false; - let botsInline = flags & (1 << 2) ? true : false; - let phoneCalls = flags & (1 << 3) ? true : false; - let forwardUsers = flags & (1 << 4) ? true : false; - let forwardChats = flags & (1 << 5) ? true : false; - let groups = flags & (1 << 10) ? true : false; - let channels = flags & (1 << 15) ? true : false; - let botsApp = flags & (1 << 16) ? true : false; - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.contacts.GetTopPeers({ - correspondents: correspondents, - botsPm: botsPm, - botsInline: botsInline, - phoneCalls: phoneCalls, - forwardUsers: forwardUsers, - forwardChats: forwardChats, - groups: groups, - channels: channels, - botsApp: botsApp, - offset: offset, - limit: limit, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.correspondents ? 1 << 0 : 0; - flags |= this.botsPm ? 1 << 1 : 0; - flags |= this.botsInline ? 1 << 2 : 0; - flags |= this.phoneCalls ? 1 << 3 : 0; - flags |= this.forwardUsers ? 1 << 4 : 0; - flags |= this.forwardChats ? 1 << 5 : 0; - flags |= this.groups ? 1 << 10 : 0; - flags |= this.channels ? 1 << 15 : 0; - flags |= this.botsApp ? 1 << 16 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetTopPeerRating extends TLObject { - __response__!: Bool; - category!: Raw.TypeTopPeerCategory; - peer!: Raw.TypeInputPeer; - - constructor(params: { category: Raw.TypeTopPeerCategory; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.ResetTopPeerRating'; - this.constructorId = 0x1ae373ac; - this.subclassOfId = 0xf5b399ac; - this._slots = ['category', 'peer']; - this.category = params.category; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let category = await TLObject.read(_data); - let peer = await TLObject.read(_data); - return new Raw.contacts.ResetTopPeerRating({ category: category, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.category !== undefined) { - b.write(this.category.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetSaved extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'contacts.ResetSaved'; - this.constructorId = 0x879537f1; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.ResetSaved(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSaved extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetSaved'; - this.constructorId = 0x82f1e39f; - this.subclassOfId = 0x975dbef; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.GetSaved(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleTopPeers extends TLObject { - __response__!: Bool; - enabled!: Bool; - - constructor(params: { enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.ToggleTopPeers'; - this.constructorId = 0x8514bdda; - this.subclassOfId = 0xf5b399ac; - this._slots = ['enabled']; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let enabled = await Primitive.Bool.read(_data); - return new Raw.contacts.ToggleTopPeers({ enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AddContact extends TLObject { - __response__!: Raw.TypeUpdates; - addPhonePrivacyException?: boolean; - id!: Raw.TypeInputUser; - firstName!: string; - lastName!: string; - phone!: string; - - constructor(params: { - addPhonePrivacyException?: boolean; - id: Raw.TypeInputUser; - firstName: string; - lastName: string; - phone: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.AddContact'; - this.constructorId = 0xe8f463d0; - this.subclassOfId = 0x8af52aac; - this._slots = ['addPhonePrivacyException', 'id', 'firstName', 'lastName', 'phone']; - this.addPhonePrivacyException = params.addPhonePrivacyException; - this.id = params.id; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.phone = params.phone; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let addPhonePrivacyException = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data); - let firstName = await Primitive.String.read(_data); - let lastName = await Primitive.String.read(_data); - let phone = await Primitive.String.read(_data); - return new Raw.contacts.AddContact({ - addPhonePrivacyException: addPhonePrivacyException, - id: id, - firstName: firstName, - lastName: lastName, - phone: phone, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.addPhonePrivacyException ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptContact extends TLObject { - __response__!: Raw.TypeUpdates; - id!: Raw.TypeInputUser; - - constructor(params: { id: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.AcceptContact'; - this.constructorId = 0xf831a20f; - this.subclassOfId = 0x8af52aac; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.contacts.AcceptContact({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetLocated extends TLObject { - __response__!: Raw.TypeUpdates; - background?: boolean; - geoPoint!: Raw.TypeInputGeoPoint; - selfExpires?: int; - - constructor(params: { - background?: boolean; - geoPoint: Raw.TypeInputGeoPoint; - selfExpires?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetLocated'; - this.constructorId = 0xd348bc44; - this.subclassOfId = 0x8af52aac; - this._slots = ['background', 'geoPoint', 'selfExpires']; - this.background = params.background; - this.geoPoint = params.geoPoint; - this.selfExpires = params.selfExpires; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let background = flags & (1 << 1) ? true : false; - let geoPoint = await TLObject.read(_data); - let selfExpires = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.contacts.GetLocated({ - background: background, - geoPoint: geoPoint, - selfExpires: selfExpires, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.background ? 1 << 1 : 0; - flags |= this.selfExpires !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.selfExpires !== undefined) { - b.write(Primitive.Int.write(this.selfExpires) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BlockFromReplies extends TLObject { - __response__!: Raw.TypeUpdates; - deleteMessage?: boolean; - deleteHistory?: boolean; - reportSpam?: boolean; - msgId!: int; - - constructor(params: { - deleteMessage?: boolean; - deleteHistory?: boolean; - reportSpam?: boolean; - msgId: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.BlockFromReplies'; - this.constructorId = 0x29a8962c; - this.subclassOfId = 0x8af52aac; - this._slots = ['deleteMessage', 'deleteHistory', 'reportSpam', 'msgId']; - this.deleteMessage = params.deleteMessage; - this.deleteHistory = params.deleteHistory; - this.reportSpam = params.reportSpam; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let deleteMessage = flags & (1 << 0) ? true : false; - let deleteHistory = flags & (1 << 1) ? true : false; - let reportSpam = flags & (1 << 2) ? true : false; - let msgId = await Primitive.Int.read(_data); - return new Raw.contacts.BlockFromReplies({ - deleteMessage: deleteMessage, - deleteHistory: deleteHistory, - reportSpam: reportSpam, - msgId: msgId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.deleteMessage ? 1 << 0 : 0; - flags |= this.deleteHistory ? 1 << 1 : 0; - flags |= this.reportSpam ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResolvePhone extends TLObject { - __response__!: Raw.contacts.TypeResolvedPeer; - phone!: string; - - constructor(params: { phone: string }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.ResolvePhone'; - this.constructorId = 0x8af94344; - this.subclassOfId = 0xf065b3a8; - this._slots = ['phone']; - this.phone = params.phone; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phone = await Primitive.String.read(_data); - return new Raw.contacts.ResolvePhone({ phone: phone }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phone !== undefined) { - b.write(Primitive.String.write(this.phone) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportContactToken extends TLObject { - __response__!: Raw.TypeExportedContactToken; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'contacts.ExportContactToken'; - this.constructorId = 0xf8654027; - this.subclassOfId = 0x86ddbed1; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.ExportContactToken(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportContactToken extends TLObject { - __response__!: Raw.TypeUser; - token!: string; - - constructor(params: { token: string }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.ImportContactToken'; - this.constructorId = 0x13005788; - this.subclassOfId = 0x2da17977; - this._slots = ['token']; - this.token = params.token; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let token = await Primitive.String.read(_data); - return new Raw.contacts.ImportContactToken({ token: token }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditCloseFriends extends TLObject { - __response__!: Bool; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.EditCloseFriends'; - this.constructorId = 0xba6705f0; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data, Primitive.Long); - return new Raw.contacts.EditCloseFriends({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBlocked extends TLObject { - __response__!: Bool; - myStoriesFrom?: boolean; - id!: Vector; - limit!: int; - - constructor(params: { myStoriesFrom?: boolean; id: Vector; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.SetBlocked'; - this.constructorId = 0x94c65c76; - this.subclassOfId = 0xf5b399ac; - this._slots = ['myStoriesFrom', 'id', 'limit']; - this.myStoriesFrom = params.myStoriesFrom; - this.id = params.id; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let myStoriesFrom = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.contacts.SetBlocked({ myStoriesFrom: myStoriesFrom, id: id, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.myStoriesFrom ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBirthdays extends TLObject { - __response__!: Raw.contacts.TypeContactBirthdays; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetBirthdays'; - this.constructorId = 0xdaeda864; - this.subclassOfId = 0xe7aabff; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.contacts.GetBirthdays(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSponsoredPeers extends TLObject { - __response__!: Raw.contacts.TypeSponsoredPeers; - q!: string; - - constructor(params: { q: string }) { - super(); - this.classType = 'functions'; - this.className = 'contacts.GetSponsoredPeers'; - this.constructorId = 0xb6c8c393; - this.subclassOfId = 0xb45d5ccc; - this._slots = ['q']; - this.q = params.q; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - return new Raw.contacts.GetSponsoredPeers({ q: q }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace messages { - export type TypeForumTopics = Raw.messages.ForumTopics; - export type TypeInactiveChats = Raw.messages.InactiveChats; - export type TypeFoundStickers = - | Raw.messages.FoundStickersNotModified - | Raw.messages.FoundStickers; - export type TypePreparedInlineMessage = Raw.messages.PreparedInlineMessage; - export type TypeBotPreparedInlineMessage = Raw.messages.BotPreparedInlineMessage; - export type TypeSponsoredMessages = - | Raw.messages.SponsoredMessages - | Raw.messages.SponsoredMessagesEmpty; - export type TypeAvailableEffects = - | Raw.messages.AvailableEffectsNotModified - | Raw.messages.AvailableEffects; - export type TypeMyStickers = Raw.messages.MyStickers; - export type TypeQuickReplies = Raw.messages.QuickReplies | Raw.messages.QuickRepliesNotModified; - export type TypeSavedReactionTags = - | Raw.messages.SavedReactionTagsNotModified - | Raw.messages.SavedReactionTags; - export type TypeSavedDialogs = - | Raw.messages.SavedDialogs - | Raw.messages.SavedDialogsSlice - | Raw.messages.SavedDialogsNotModified; - export type TypeBotApp = Raw.messages.BotApp; - export type TypeEmojiGroups = Raw.messages.EmojiGroupsNotModified | Raw.messages.EmojiGroups; - export type TypeReactions = Raw.messages.ReactionsNotModified | Raw.messages.Reactions; - export type TypeTranscribedAudio = Raw.messages.TranscribedAudio; - export type TypeTranslatedText = Raw.messages.TranslateResult; - export type TypeAvailableReactions = - | Raw.messages.AvailableReactionsNotModified - | Raw.messages.AvailableReactions; - export type TypeMessageReactionsList = Raw.messages.MessageReactionsList; - export type TypeSearchResultsPositions = Raw.messages.SearchResultsPositions; - export type TypeSearchResultsCalendar = Raw.messages.SearchResultsCalendar; - export type TypeCheckedHistoryImportPeer = Raw.messages.CheckedHistoryImportPeer; - export type TypeChatInviteImporters = Raw.messages.ChatInviteImporters; - export type TypeChatAdminsWithInvites = Raw.messages.ChatAdminsWithInvites; - export type TypeExportedChatInvite = - | Raw.messages.ExportedChatInvite - | Raw.messages.ExportedChatInviteReplaced; - export type TypeExportedChatInvites = Raw.messages.ExportedChatInvites; - export type TypeHistoryImport = Raw.messages.HistoryImport; - export type TypeHistoryImportParsed = Raw.messages.HistoryImportParsed; - export type TypeAffectedFoundMessages = Raw.messages.AffectedFoundMessages; - export type TypeDiscussionMessage = Raw.messages.DiscussionMessage; - export type TypeDialogFilters = Raw.messages.DialogFilters; - export type TypeVotesList = Raw.messages.VotesList; - export type TypeSearchCounter = Raw.messages.SearchCounter; - export type TypeFoundStickerSets = - | Raw.messages.FoundStickerSetsNotModified - | Raw.messages.FoundStickerSets; - export type TypeFavedStickers = - | Raw.messages.FavedStickersNotModified - | Raw.messages.FavedStickers; - export type TypeWebPage = Raw.messages.WebPage; - export type TypeHighScores = Raw.messages.HighScores; - export type TypeArchivedStickers = Raw.messages.ArchivedStickers; - export type TypeRecentStickers = - | Raw.messages.RecentStickersNotModified - | Raw.messages.RecentStickers; - export type TypeFeaturedStickers = - | Raw.messages.FeaturedStickersNotModified - | Raw.messages.FeaturedStickers; - export type TypePeerDialogs = Raw.messages.PeerDialogs; - export type TypeBotCallbackAnswer = Raw.messages.BotCallbackAnswer; - export type TypeMessageEditData = Raw.messages.MessageEditData; - export type TypeBotResults = Raw.messages.BotResults; - export type TypeSavedGifs = Raw.messages.SavedGifsNotModified | Raw.messages.SavedGifs; - export type TypeMessageViews = Raw.messages.MessageViews; - export type TypeStickerSetInstallResult = - | Raw.messages.StickerSetInstallResultSuccess - | Raw.messages.StickerSetInstallResultArchive; - export type TypeWebPagePreview = Raw.messages.WebPagePreview; - export type TypeAllStickers = Raw.messages.AllStickersNotModified | Raw.messages.AllStickers; - export type TypeStickers = Raw.messages.StickersNotModified | Raw.messages.Stickers; - export type TypeSentEncryptedMessage = - | Raw.messages.SentEncryptedMessage - | Raw.messages.SentEncryptedFile; - export type TypeDhConfig = Raw.messages.DhConfigNotModified | Raw.messages.DhConfig; - export type TypeInvitedUsers = Raw.messages.InvitedUsers; - export type TypeChatFull = Raw.messages.ChatFull; - export type TypeChats = Raw.messages.Chats | Raw.messages.ChatsSlice; - export type TypePeerSettings = Raw.messages.PeerSettings; - export type TypeAffectedHistory = Raw.messages.AffectedHistory; - export type TypeAffectedMessages = Raw.messages.AffectedMessages; - export type TypeDialogs = - | Raw.messages.Dialogs - | Raw.messages.DialogsSlice - | Raw.messages.DialogsNotModified; - export type TypeMessages = - | Raw.messages.Messages - | Raw.messages.MessagesSlice - | Raw.messages.ChannelMessages - | Raw.messages.MessagesNotModified; - export type TypeStickerSet = Raw.messages.StickerSet | Raw.messages.StickerSetNotModified; - export class Dialogs extends TLObject { - dialogs!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - dialogs: Vector; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.Dialogs'; - this.constructorId = 0x15ba6c40; - this.subclassOfId = 0xe1b52ee; - this._slots = ['dialogs', 'messages', 'chats', 'users']; - this.dialogs = params.dialogs; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dialogs = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.Dialogs({ - dialogs: dialogs, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dialogs) { - b.write(Primitive.Vector.write(this.dialogs) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogsSlice extends TLObject { - count!: int; - dialogs!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - dialogs: Vector; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.DialogsSlice'; - this.constructorId = 0x71e094f3; - this.subclassOfId = 0xe1b52ee; - this._slots = ['count', 'dialogs', 'messages', 'chats', 'users']; - this.count = params.count; - this.dialogs = params.dialogs; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let dialogs = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.DialogsSlice({ - count: count, - dialogs: dialogs, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.dialogs) { - b.write(Primitive.Vector.write(this.dialogs) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogsNotModified extends TLObject { - count!: int; - - constructor(params: { count: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.DialogsNotModified'; - this.constructorId = 0xf0e3e596; - this.subclassOfId = 0xe1b52ee; - this._slots = ['count']; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - return new Raw.messages.DialogsNotModified({ count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Messages extends TLObject { - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.Messages'; - this.constructorId = 0x8c718e87; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['messages', 'chats', 'users']; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.Messages({ messages: messages, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessagesSlice extends TLObject { - inexact?: boolean; - count!: int; - nextRate?: int; - offsetIdOffset?: int; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - inexact?: boolean; - count: int; - nextRate?: int; - offsetIdOffset?: int; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.MessagesSlice'; - this.constructorId = 0x3a54685e; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'inexact', - 'count', - 'nextRate', - 'offsetIdOffset', - 'messages', - 'chats', - 'users', - ]; - this.inexact = params.inexact; - this.count = params.count; - this.nextRate = params.nextRate; - this.offsetIdOffset = params.offsetIdOffset; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inexact = flags & (1 << 1) ? true : false; - let count = await Primitive.Int.read(_data); - let nextRate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let offsetIdOffset = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.MessagesSlice({ - inexact: inexact, - count: count, - nextRate: nextRate, - offsetIdOffset: offsetIdOffset, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inexact ? 1 << 1 : 0; - flags |= this.nextRate !== undefined ? 1 << 0 : 0; - flags |= this.offsetIdOffset !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.nextRate !== undefined) { - b.write(Primitive.Int.write(this.nextRate) as unknown as Buffer); - } - if (this.offsetIdOffset !== undefined) { - b.write(Primitive.Int.write(this.offsetIdOffset) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelMessages extends TLObject { - inexact?: boolean; - pts!: int; - count!: int; - offsetIdOffset?: int; - messages!: Vector; - topics!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - inexact?: boolean; - pts: int; - count: int; - offsetIdOffset?: int; - messages: Vector; - topics: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ChannelMessages'; - this.constructorId = 0xc776ba4e; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'inexact', - 'pts', - 'count', - 'offsetIdOffset', - 'messages', - 'topics', - 'chats', - 'users', - ]; - this.inexact = params.inexact; - this.pts = params.pts; - this.count = params.count; - this.offsetIdOffset = params.offsetIdOffset; - this.messages = params.messages; - this.topics = params.topics; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inexact = flags & (1 << 1) ? true : false; - let pts = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let offsetIdOffset = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let messages = await TLObject.read(_data); - let topics = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ChannelMessages({ - inexact: inexact, - pts: pts, - count: count, - offsetIdOffset: offsetIdOffset, - messages: messages, - topics: topics, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inexact ? 1 << 1 : 0; - flags |= this.offsetIdOffset !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.offsetIdOffset !== undefined) { - b.write(Primitive.Int.write(this.offsetIdOffset) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.topics) { - b.write(Primitive.Vector.write(this.topics) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessagesNotModified extends TLObject { - count!: int; - - constructor(params: { count: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.MessagesNotModified'; - this.constructorId = 0x74535f21; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['count']; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - return new Raw.messages.MessagesNotModified({ count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Chats extends TLObject { - chats!: Vector; - - constructor(params: { chats: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.Chats'; - this.constructorId = 0x64ff9fd5; - this.subclassOfId = 0x99d5cb14; - this._slots = ['chats']; - this.chats = params.chats; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chats = await TLObject.read(_data); - return new Raw.messages.Chats({ chats: chats }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatsSlice extends TLObject { - count!: int; - chats!: Vector; - - constructor(params: { count: int; chats: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.ChatsSlice'; - this.constructorId = 0x9cd81144; - this.subclassOfId = 0x99d5cb14; - this._slots = ['count', 'chats']; - this.count = params.count; - this.chats = params.chats; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let chats = await TLObject.read(_data); - return new Raw.messages.ChatsSlice({ count: count, chats: chats }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatFull extends TLObject { - fullChat!: Raw.TypeChatFull; - chats!: Vector; - users!: Vector; - - constructor(params: { - fullChat: Raw.TypeChatFull; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ChatFull'; - this.constructorId = 0xe5d7d19c; - this.subclassOfId = 0x225a5109; - this._slots = ['fullChat', 'chats', 'users']; - this.fullChat = params.fullChat; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fullChat = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ChatFull({ fullChat: fullChat, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fullChat !== undefined) { - b.write(this.fullChat.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AffectedHistory extends TLObject { - pts!: int; - ptsCount!: int; - offset!: int; - - constructor(params: { pts: int; ptsCount: int; offset: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.AffectedHistory'; - this.constructorId = 0xb45c69d1; - this.subclassOfId = 0x2c49c116; - this._slots = ['pts', 'ptsCount', 'offset']; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - let offset = await Primitive.Int.read(_data); - return new Raw.messages.AffectedHistory({ pts: pts, ptsCount: ptsCount, offset: offset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DhConfigNotModified extends TLObject { - random!: bytes; - - constructor(params: { random: bytes }) { - super(); - this.classType = 'types'; - this.className = 'messages.DhConfigNotModified'; - this.constructorId = 0xc0e24635; - this.subclassOfId = 0xe488ed8b; - this._slots = ['random']; - this.random = params.random; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let random = await Primitive.Bytes.read(_data); - return new Raw.messages.DhConfigNotModified({ random: random }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.random !== undefined) { - b.write(Primitive.Bytes.write(this.random) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DhConfig extends TLObject { - g!: int; - p!: bytes; - version!: int; - random!: bytes; - - constructor(params: { g: int; p: bytes; version: int; random: bytes }) { - super(); - this.classType = 'types'; - this.className = 'messages.DhConfig'; - this.constructorId = 0x2c221edd; - this.subclassOfId = 0xe488ed8b; - this._slots = ['g', 'p', 'version', 'random']; - this.g = params.g; - this.p = params.p; - this.version = params.version; - this.random = params.random; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let g = await Primitive.Int.read(_data); - let p = await Primitive.Bytes.read(_data); - let version = await Primitive.Int.read(_data); - let random = await Primitive.Bytes.read(_data); - return new Raw.messages.DhConfig({ g: g, p: p, version: version, random: random }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.g !== undefined) { - b.write(Primitive.Int.write(this.g) as unknown as Buffer); - } - if (this.p !== undefined) { - b.write(Primitive.Bytes.write(this.p) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - if (this.random !== undefined) { - b.write(Primitive.Bytes.write(this.random) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentEncryptedMessage extends TLObject { - date!: int; - - constructor(params: { date: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.SentEncryptedMessage'; - this.constructorId = 0x560f8935; - this.subclassOfId = 0xc99e3e50; - this._slots = ['date']; - this.date = params.date; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let date = await Primitive.Int.read(_data); - return new Raw.messages.SentEncryptedMessage({ date: date }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentEncryptedFile extends TLObject { - date!: int; - file!: Raw.TypeEncryptedFile; - - constructor(params: { date: int; file: Raw.TypeEncryptedFile }) { - super(); - this.classType = 'types'; - this.className = 'messages.SentEncryptedFile'; - this.constructorId = 0x9493ff32; - this.subclassOfId = 0xc99e3e50; - this._slots = ['date', 'file']; - this.date = params.date; - this.file = params.file; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let date = await Primitive.Int.read(_data); - let file = await TLObject.read(_data); - return new Raw.messages.SentEncryptedFile({ date: date, file: file }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickersNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.StickersNotModified'; - this.constructorId = 0xf1749a22; - this.subclassOfId = 0xd73bb9de; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.StickersNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Stickers extends TLObject { - hash!: long; - stickers!: Vector; - - constructor(params: { hash: long; stickers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.Stickers'; - this.constructorId = 0x30a6ec7e; - this.subclassOfId = 0xd73bb9de; - this._slots = ['hash', 'stickers']; - this.hash = params.hash; - this.stickers = params.stickers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let stickers = await TLObject.read(_data); - return new Raw.messages.Stickers({ hash: hash, stickers: stickers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AllStickersNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.AllStickersNotModified'; - this.constructorId = 0xe86602c3; - this.subclassOfId = 0x45834829; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.AllStickersNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AllStickers extends TLObject { - hash!: long; - sets!: Vector; - - constructor(params: { hash: long; sets: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.AllStickers'; - this.constructorId = 0xcdbbcebb; - this.subclassOfId = 0x45834829; - this._slots = ['hash', 'sets']; - this.hash = params.hash; - this.sets = params.sets; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let sets = await TLObject.read(_data); - return new Raw.messages.AllStickers({ hash: hash, sets: sets }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.sets) { - b.write(Primitive.Vector.write(this.sets) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AffectedMessages extends TLObject { - pts!: int; - ptsCount!: int; - - constructor(params: { pts: int; ptsCount: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.AffectedMessages'; - this.constructorId = 0x84d19185; - this.subclassOfId = 0xced3c06e; - this._slots = ['pts', 'ptsCount']; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - return new Raw.messages.AffectedMessages({ pts: pts, ptsCount: ptsCount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSet extends TLObject { - set!: Raw.TypeStickerSet; - packs!: Vector; - keywords!: Vector; - documents!: Vector; - - constructor(params: { - set: Raw.TypeStickerSet; - packs: Vector; - keywords: Vector; - documents: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.StickerSet'; - this.constructorId = 0x6e153f16; - this.subclassOfId = 0x9b704a5a; - this._slots = ['set', 'packs', 'keywords', 'documents']; - this.set = params.set; - this.packs = params.packs; - this.keywords = params.keywords; - this.documents = params.documents; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let set = await TLObject.read(_data); - let packs = await TLObject.read(_data); - let keywords = await TLObject.read(_data); - let documents = await TLObject.read(_data); - return new Raw.messages.StickerSet({ - set: set, - packs: packs, - keywords: keywords, - documents: documents, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.set !== undefined) { - b.write(this.set.write() as unknown as Buffer); - } - if (this.packs) { - b.write(Primitive.Vector.write(this.packs) as unknown as Buffer); - } - if (this.keywords) { - b.write(Primitive.Vector.write(this.keywords) as unknown as Buffer); - } - if (this.documents) { - b.write(Primitive.Vector.write(this.documents) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.StickerSetNotModified'; - this.constructorId = 0xd3f924eb; - this.subclassOfId = 0x9b704a5a; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.StickerSetNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedGifsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.SavedGifsNotModified'; - this.constructorId = 0xe8025ca2; - this.subclassOfId = 0xa68b61f5; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.SavedGifsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedGifs extends TLObject { - hash!: long; - gifs!: Vector; - - constructor(params: { hash: long; gifs: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.SavedGifs'; - this.constructorId = 0x84a02a0d; - this.subclassOfId = 0xa68b61f5; - this._slots = ['hash', 'gifs']; - this.hash = params.hash; - this.gifs = params.gifs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let gifs = await TLObject.read(_data); - return new Raw.messages.SavedGifs({ hash: hash, gifs: gifs }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.gifs) { - b.write(Primitive.Vector.write(this.gifs) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotResults extends TLObject { - gallery?: boolean; - queryId!: long; - nextOffset?: string; - switchPm?: Raw.TypeInlineBotSwitchPM; - switchWebview?: Raw.TypeInlineBotWebView; - results!: Vector; - cacheTime!: int; - users!: Vector; - - constructor(params: { - gallery?: boolean; - queryId: long; - nextOffset?: string; - switchPm?: Raw.TypeInlineBotSwitchPM; - switchWebview?: Raw.TypeInlineBotWebView; - results: Vector; - cacheTime: int; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.BotResults'; - this.constructorId = 0xe021f2f6; - this.subclassOfId = 0x3ed4d9c9; - this._slots = [ - 'gallery', - 'queryId', - 'nextOffset', - 'switchPm', - 'switchWebview', - 'results', - 'cacheTime', - 'users', - ]; - this.gallery = params.gallery; - this.queryId = params.queryId; - this.nextOffset = params.nextOffset; - this.switchPm = params.switchPm; - this.switchWebview = params.switchWebview; - this.results = params.results; - this.cacheTime = params.cacheTime; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let gallery = flags & (1 << 0) ? true : false; - let queryId = await Primitive.Long.read(_data); - let nextOffset = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let switchPm = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let switchWebview = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let results = await TLObject.read(_data); - let cacheTime = await Primitive.Int.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.BotResults({ - gallery: gallery, - queryId: queryId, - nextOffset: nextOffset, - switchPm: switchPm, - switchWebview: switchWebview, - results: results, - cacheTime: cacheTime, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.gallery ? 1 << 0 : 0; - flags |= this.nextOffset !== undefined ? 1 << 1 : 0; - flags |= this.switchPm !== undefined ? 1 << 2 : 0; - flags |= this.switchWebview !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.switchPm !== undefined) { - b.write(this.switchPm.write() as unknown as Buffer); - } - if (this.switchWebview !== undefined) { - b.write(this.switchWebview.write() as unknown as Buffer); - } - if (this.results) { - b.write(Primitive.Vector.write(this.results) as unknown as Buffer); - } - if (this.cacheTime !== undefined) { - b.write(Primitive.Int.write(this.cacheTime) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCallbackAnswer extends TLObject { - alert?: boolean; - hasUrl?: boolean; - nativeUi?: boolean; - message?: string; - url?: string; - cacheTime!: int; - - constructor(params: { - alert?: boolean; - hasUrl?: boolean; - nativeUi?: boolean; - message?: string; - url?: string; - cacheTime: int; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.BotCallbackAnswer'; - this.constructorId = 0x36585ea4; - this.subclassOfId = 0x6c4dd18c; - this._slots = ['alert', 'hasUrl', 'nativeUi', 'message', 'url', 'cacheTime']; - this.alert = params.alert; - this.hasUrl = params.hasUrl; - this.nativeUi = params.nativeUi; - this.message = params.message; - this.url = params.url; - this.cacheTime = params.cacheTime; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let alert = flags & (1 << 1) ? true : false; - let hasUrl = flags & (1 << 3) ? true : false; - let nativeUi = flags & (1 << 4) ? true : false; - let message = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let url = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let cacheTime = await Primitive.Int.read(_data); - return new Raw.messages.BotCallbackAnswer({ - alert: alert, - hasUrl: hasUrl, - nativeUi: nativeUi, - message: message, - url: url, - cacheTime: cacheTime, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.alert ? 1 << 1 : 0; - flags |= this.hasUrl ? 1 << 3 : 0; - flags |= this.nativeUi ? 1 << 4 : 0; - flags |= this.message !== undefined ? 1 << 0 : 0; - flags |= this.url !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.cacheTime !== undefined) { - b.write(Primitive.Int.write(this.cacheTime) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageEditData extends TLObject { - caption?: boolean; - - constructor(params: { caption?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'messages.MessageEditData'; - this.constructorId = 0x26b5dde6; - this.subclassOfId = 0xfb47949d; - this._slots = ['caption']; - this.caption = params.caption; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let caption = flags & (1 << 0) ? true : false; - return new Raw.messages.MessageEditData({ caption: caption }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.caption ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerDialogs extends TLObject { - dialogs!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - state!: Raw.updates.TypeState; - - constructor(params: { - dialogs: Vector; - messages: Vector; - chats: Vector; - users: Vector; - state: Raw.updates.TypeState; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.PeerDialogs'; - this.constructorId = 0x3371c354; - this.subclassOfId = 0x3ac70132; - this._slots = ['dialogs', 'messages', 'chats', 'users', 'state']; - this.dialogs = params.dialogs; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - this.state = params.state; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dialogs = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let state = await TLObject.read(_data); - return new Raw.messages.PeerDialogs({ - dialogs: dialogs, - messages: messages, - chats: chats, - users: users, - state: state, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dialogs) { - b.write(Primitive.Vector.write(this.dialogs) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.state !== undefined) { - b.write(this.state.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FeaturedStickersNotModified extends TLObject { - count!: int; - - constructor(params: { count: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.FeaturedStickersNotModified'; - this.constructorId = 0xc6dc0c66; - this.subclassOfId = 0x2614b722; - this._slots = ['count']; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - return new Raw.messages.FeaturedStickersNotModified({ count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FeaturedStickers extends TLObject { - premium?: boolean; - hash!: long; - count!: int; - sets!: Vector; - unread!: Vector; - - constructor(params: { - premium?: boolean; - hash: long; - count: int; - sets: Vector; - unread: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.FeaturedStickers'; - this.constructorId = 0xbe382906; - this.subclassOfId = 0x2614b722; - this._slots = ['premium', 'hash', 'count', 'sets', 'unread']; - this.premium = params.premium; - this.hash = params.hash; - this.count = params.count; - this.sets = params.sets; - this.unread = params.unread; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let premium = flags & (1 << 0) ? true : false; - let hash = await Primitive.Long.read(_data); - let count = await Primitive.Int.read(_data); - let sets = await TLObject.read(_data); - let unread = await TLObject.read(_data, Primitive.Long); - return new Raw.messages.FeaturedStickers({ - premium: premium, - hash: hash, - count: count, - sets: sets, - unread: unread, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.premium ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.sets) { - b.write(Primitive.Vector.write(this.sets) as unknown as Buffer); - } - if (this.unread) { - b.write(Primitive.Vector.write(this.unread, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentStickersNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.RecentStickersNotModified'; - this.constructorId = 0xb17f890; - this.subclassOfId = 0xf76f8683; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.RecentStickersNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RecentStickers extends TLObject { - hash!: long; - packs!: Vector; - stickers!: Vector; - dates!: Vector; - - constructor(params: { - hash: long; - packs: Vector; - stickers: Vector; - dates: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.RecentStickers'; - this.constructorId = 0x88d37c56; - this.subclassOfId = 0xf76f8683; - this._slots = ['hash', 'packs', 'stickers', 'dates']; - this.hash = params.hash; - this.packs = params.packs; - this.stickers = params.stickers; - this.dates = params.dates; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let packs = await TLObject.read(_data); - let stickers = await TLObject.read(_data); - let dates = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.RecentStickers({ - hash: hash, - packs: packs, - stickers: stickers, - dates: dates, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.packs) { - b.write(Primitive.Vector.write(this.packs) as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - if (this.dates) { - b.write(Primitive.Vector.write(this.dates, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ArchivedStickers extends TLObject { - count!: int; - sets!: Vector; - - constructor(params: { count: int; sets: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.ArchivedStickers'; - this.constructorId = 0x4fcba9c8; - this.subclassOfId = 0x7296d771; - this._slots = ['count', 'sets']; - this.count = params.count; - this.sets = params.sets; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let sets = await TLObject.read(_data); - return new Raw.messages.ArchivedStickers({ count: count, sets: sets }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.sets) { - b.write(Primitive.Vector.write(this.sets) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetInstallResultSuccess extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.StickerSetInstallResultSuccess'; - this.constructorId = 0x38641628; - this.subclassOfId = 0x67cb3fe8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.StickerSetInstallResultSuccess(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StickerSetInstallResultArchive extends TLObject { - sets!: Vector; - - constructor(params: { sets: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.StickerSetInstallResultArchive'; - this.constructorId = 0x35e410a8; - this.subclassOfId = 0x67cb3fe8; - this._slots = ['sets']; - this.sets = params.sets; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sets = await TLObject.read(_data); - return new Raw.messages.StickerSetInstallResultArchive({ sets: sets }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sets) { - b.write(Primitive.Vector.write(this.sets) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HighScores extends TLObject { - scores!: Vector; - users!: Vector; - - constructor(params: { scores: Vector; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.HighScores'; - this.constructorId = 0x9a3bfd99; - this.subclassOfId = 0x6ccd95fd; - this._slots = ['scores', 'users']; - this.scores = params.scores; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let scores = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.HighScores({ scores: scores, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.scores) { - b.write(Primitive.Vector.write(this.scores) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FavedStickersNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.FavedStickersNotModified'; - this.constructorId = 0x9e8fa6d3; - this.subclassOfId = 0x8e736fb9; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.FavedStickersNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FavedStickers extends TLObject { - hash!: long; - packs!: Vector; - stickers!: Vector; - - constructor(params: { - hash: long; - packs: Vector; - stickers: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.FavedStickers'; - this.constructorId = 0x2cb51097; - this.subclassOfId = 0x8e736fb9; - this._slots = ['hash', 'packs', 'stickers']; - this.hash = params.hash; - this.packs = params.packs; - this.stickers = params.stickers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let packs = await TLObject.read(_data); - let stickers = await TLObject.read(_data); - return new Raw.messages.FavedStickers({ hash: hash, packs: packs, stickers: stickers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.packs) { - b.write(Primitive.Vector.write(this.packs) as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FoundStickerSetsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.FoundStickerSetsNotModified'; - this.constructorId = 0xd54b65d; - this.subclassOfId = 0x40df361; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.FoundStickerSetsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FoundStickerSets extends TLObject { - hash!: long; - sets!: Vector; - - constructor(params: { hash: long; sets: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.FoundStickerSets'; - this.constructorId = 0x8af09dd2; - this.subclassOfId = 0x40df361; - this._slots = ['hash', 'sets']; - this.hash = params.hash; - this.sets = params.sets; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let sets = await TLObject.read(_data); - return new Raw.messages.FoundStickerSets({ hash: hash, sets: sets }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.sets) { - b.write(Primitive.Vector.write(this.sets) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchCounter extends TLObject { - inexact?: boolean; - filter!: Raw.TypeMessagesFilter; - count!: int; - - constructor(params: { inexact?: boolean; filter: Raw.TypeMessagesFilter; count: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.SearchCounter'; - this.constructorId = 0xe844ebff; - this.subclassOfId = 0xd6a7bfa2; - this._slots = ['inexact', 'filter', 'count']; - this.inexact = params.inexact; - this.filter = params.filter; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inexact = flags & (1 << 1) ? true : false; - let filter = await TLObject.read(_data); - let count = await Primitive.Int.read(_data); - return new Raw.messages.SearchCounter({ inexact: inexact, filter: filter, count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inexact ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InactiveChats extends TLObject { - dates!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - dates: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.InactiveChats'; - this.constructorId = 0xa927fec5; - this.subclassOfId = 0x8bf3d7d4; - this._slots = ['dates', 'chats', 'users']; - this.dates = params.dates; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dates = await TLObject.read(_data, Primitive.Int); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.InactiveChats({ dates: dates, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dates) { - b.write(Primitive.Vector.write(this.dates, Primitive.Int) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class VotesList extends TLObject { - count!: int; - votes!: Vector; - chats!: Vector; - users!: Vector; - nextOffset?: string; - - constructor(params: { - count: int; - votes: Vector; - chats: Vector; - users: Vector; - nextOffset?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.VotesList'; - this.constructorId = 0x4899484e; - this.subclassOfId = 0xc2199885; - this._slots = ['count', 'votes', 'chats', 'users', 'nextOffset']; - this.count = params.count; - this.votes = params.votes; - this.chats = params.chats; - this.users = params.users; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let votes = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.VotesList({ - count: count, - votes: votes, - chats: chats, - users: users, - nextOffset: nextOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.votes) { - b.write(Primitive.Vector.write(this.votes) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageViews extends TLObject { - views!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - views: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.MessageViews'; - this.constructorId = 0xb6c4f543; - this.subclassOfId = 0xafb5eb9c; - this._slots = ['views', 'chats', 'users']; - this.views = params.views; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let views = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.MessageViews({ views: views, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.views) { - b.write(Primitive.Vector.write(this.views) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DiscussionMessage extends TLObject { - messages!: Vector; - maxId?: int; - readInboxMaxId?: int; - readOutboxMaxId?: int; - unreadCount!: int; - chats!: Vector; - users!: Vector; - - constructor(params: { - messages: Vector; - maxId?: int; - readInboxMaxId?: int; - readOutboxMaxId?: int; - unreadCount: int; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.DiscussionMessage'; - this.constructorId = 0xa6341782; - this.subclassOfId = 0x53f8e3e8; - this._slots = [ - 'messages', - 'maxId', - 'readInboxMaxId', - 'readOutboxMaxId', - 'unreadCount', - 'chats', - 'users', - ]; - this.messages = params.messages; - this.maxId = params.maxId; - this.readInboxMaxId = params.readInboxMaxId; - this.readOutboxMaxId = params.readOutboxMaxId; - this.unreadCount = params.unreadCount; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let messages = await TLObject.read(_data); - let maxId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let readInboxMaxId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let readOutboxMaxId = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let unreadCount = await Primitive.Int.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.DiscussionMessage({ - messages: messages, - maxId: maxId, - readInboxMaxId: readInboxMaxId, - readOutboxMaxId: readOutboxMaxId, - unreadCount: unreadCount, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.maxId !== undefined ? 1 << 0 : 0; - flags |= this.readInboxMaxId !== undefined ? 1 << 1 : 0; - flags |= this.readOutboxMaxId !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.readInboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readInboxMaxId) as unknown as Buffer); - } - if (this.readOutboxMaxId !== undefined) { - b.write(Primitive.Int.write(this.readOutboxMaxId) as unknown as Buffer); - } - if (this.unreadCount !== undefined) { - b.write(Primitive.Int.write(this.unreadCount) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HistoryImport extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'messages.HistoryImport'; - this.constructorId = 0x1662af0b; - this.subclassOfId = 0xb18bb50a; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.messages.HistoryImport({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HistoryImportParsed extends TLObject { - pm?: boolean; - group?: boolean; - title?: string; - - constructor(params: { pm?: boolean; group?: boolean; title?: string }) { - super(); - this.classType = 'types'; - this.className = 'messages.HistoryImportParsed'; - this.constructorId = 0x5e0fb7b9; - this.subclassOfId = 0x5bb2720b; - this._slots = ['pm', 'group', 'title']; - this.pm = params.pm; - this.group = params.group; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pm = flags & (1 << 0) ? true : false; - let group = flags & (1 << 1) ? true : false; - let title = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.HistoryImportParsed({ pm: pm, group: group, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pm ? 1 << 0 : 0; - flags |= this.group ? 1 << 1 : 0; - flags |= this.title !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AffectedFoundMessages extends TLObject { - pts!: int; - ptsCount!: int; - offset!: int; - messages!: Vector; - - constructor(params: { pts: int; ptsCount: int; offset: int; messages: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.AffectedFoundMessages'; - this.constructorId = 0xef8d3e6c; - this.subclassOfId = 0xf817652e; - this._slots = ['pts', 'ptsCount', 'offset', 'messages']; - this.pts = params.pts; - this.ptsCount = params.ptsCount; - this.offset = params.offset; - this.messages = params.messages; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pts = await Primitive.Int.read(_data); - let ptsCount = await Primitive.Int.read(_data); - let offset = await Primitive.Int.read(_data); - let messages = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.AffectedFoundMessages({ - pts: pts, - ptsCount: ptsCount, - offset: offset, - messages: messages, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsCount !== undefined) { - b.write(Primitive.Int.write(this.ptsCount) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedChatInvites extends TLObject { - count!: int; - invites!: Vector; - users!: Vector; - - constructor(params: { - count: int; - invites: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ExportedChatInvites'; - this.constructorId = 0xbdc62dcc; - this.subclassOfId = 0x603d3871; - this._slots = ['count', 'invites', 'users']; - this.count = params.count; - this.invites = params.invites; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let invites = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ExportedChatInvites({ - count: count, - invites: invites, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.invites) { - b.write(Primitive.Vector.write(this.invites) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedChatInvite extends TLObject { - invite!: Raw.TypeExportedChatInvite; - users!: Vector; - - constructor(params: { invite: Raw.TypeExportedChatInvite; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.ExportedChatInvite'; - this.constructorId = 0x1871be50; - this.subclassOfId = 0x82dcd4ca; - this._slots = ['invite', 'users']; - this.invite = params.invite; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invite = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ExportedChatInvite({ invite: invite, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedChatInviteReplaced extends TLObject { - invite!: Raw.TypeExportedChatInvite; - newInvite!: Raw.TypeExportedChatInvite; - users!: Vector; - - constructor(params: { - invite: Raw.TypeExportedChatInvite; - newInvite: Raw.TypeExportedChatInvite; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ExportedChatInviteReplaced'; - this.constructorId = 0x222600ef; - this.subclassOfId = 0x82dcd4ca; - this._slots = ['invite', 'newInvite', 'users']; - this.invite = params.invite; - this.newInvite = params.newInvite; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invite = await TLObject.read(_data); - let newInvite = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ExportedChatInviteReplaced({ - invite: invite, - newInvite: newInvite, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - if (this.newInvite !== undefined) { - b.write(this.newInvite.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatInviteImporters extends TLObject { - count!: int; - importers!: Vector; - users!: Vector; - - constructor(params: { - count: int; - importers: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ChatInviteImporters'; - this.constructorId = 0x81b6b00a; - this.subclassOfId = 0xd9bc8aa6; - this._slots = ['count', 'importers', 'users']; - this.count = params.count; - this.importers = params.importers; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let importers = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ChatInviteImporters({ - count: count, - importers: importers, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.importers) { - b.write(Primitive.Vector.write(this.importers) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatAdminsWithInvites extends TLObject { - admins!: Vector; - users!: Vector; - - constructor(params: { - admins: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ChatAdminsWithInvites'; - this.constructorId = 0xb69b72d7; - this.subclassOfId = 0x8f5bad2b; - this._slots = ['admins', 'users']; - this.admins = params.admins; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let admins = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.ChatAdminsWithInvites({ admins: admins, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.admins) { - b.write(Primitive.Vector.write(this.admins) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckedHistoryImportPeer extends TLObject { - confirmText!: string; - - constructor(params: { confirmText: string }) { - super(); - this.classType = 'types'; - this.className = 'messages.CheckedHistoryImportPeer'; - this.constructorId = 0xa24de717; - this.subclassOfId = 0xb84bb337; - this._slots = ['confirmText']; - this.confirmText = params.confirmText; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let confirmText = await Primitive.String.read(_data); - return new Raw.messages.CheckedHistoryImportPeer({ confirmText: confirmText }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.confirmText !== undefined) { - b.write(Primitive.String.write(this.confirmText) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessages extends TLObject { - postsBetween?: int; - startDelay?: int; - betweenDelay?: int; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - postsBetween?: int; - startDelay?: int; - betweenDelay?: int; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.SponsoredMessages'; - this.constructorId = 0xffda656d; - this.subclassOfId = 0x7f4169e0; - this._slots = ['postsBetween', 'startDelay', 'betweenDelay', 'messages', 'chats', 'users']; - this.postsBetween = params.postsBetween; - this.startDelay = params.startDelay; - this.betweenDelay = params.betweenDelay; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let postsBetween = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let startDelay = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let betweenDelay = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.SponsoredMessages({ - postsBetween: postsBetween, - startDelay: startDelay, - betweenDelay: betweenDelay, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.postsBetween !== undefined ? 1 << 0 : 0; - flags |= this.startDelay !== undefined ? 1 << 1 : 0; - flags |= this.betweenDelay !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.postsBetween !== undefined) { - b.write(Primitive.Int.write(this.postsBetween) as unknown as Buffer); - } - if (this.startDelay !== undefined) { - b.write(Primitive.Int.write(this.startDelay) as unknown as Buffer); - } - if (this.betweenDelay !== undefined) { - b.write(Primitive.Int.write(this.betweenDelay) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessagesEmpty extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.SponsoredMessagesEmpty'; - this.constructorId = 0x1839490f; - this.subclassOfId = 0x7f4169e0; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.SponsoredMessagesEmpty(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchResultsCalendar extends TLObject { - inexact?: boolean; - count!: int; - minDate!: int; - minMsgId!: int; - offsetIdOffset?: int; - periods!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - inexact?: boolean; - count: int; - minDate: int; - minMsgId: int; - offsetIdOffset?: int; - periods: Vector; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.SearchResultsCalendar'; - this.constructorId = 0x147ee23c; - this.subclassOfId = 0x92c5640f; - this._slots = [ - 'inexact', - 'count', - 'minDate', - 'minMsgId', - 'offsetIdOffset', - 'periods', - 'messages', - 'chats', - 'users', - ]; - this.inexact = params.inexact; - this.count = params.count; - this.minDate = params.minDate; - this.minMsgId = params.minMsgId; - this.offsetIdOffset = params.offsetIdOffset; - this.periods = params.periods; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inexact = flags & (1 << 0) ? true : false; - let count = await Primitive.Int.read(_data); - let minDate = await Primitive.Int.read(_data); - let minMsgId = await Primitive.Int.read(_data); - let offsetIdOffset = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let periods = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.SearchResultsCalendar({ - inexact: inexact, - count: count, - minDate: minDate, - minMsgId: minMsgId, - offsetIdOffset: offsetIdOffset, - periods: periods, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inexact ? 1 << 0 : 0; - flags |= this.offsetIdOffset !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.minDate !== undefined) { - b.write(Primitive.Int.write(this.minDate) as unknown as Buffer); - } - if (this.minMsgId !== undefined) { - b.write(Primitive.Int.write(this.minMsgId) as unknown as Buffer); - } - if (this.offsetIdOffset !== undefined) { - b.write(Primitive.Int.write(this.offsetIdOffset) as unknown as Buffer); - } - if (this.periods) { - b.write(Primitive.Vector.write(this.periods) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchResultsPositions extends TLObject { - count!: int; - positions!: Vector; - - constructor(params: { count: int; positions: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.SearchResultsPositions'; - this.constructorId = 0x53b22baf; - this.subclassOfId = 0xd963708d; - this._slots = ['count', 'positions']; - this.count = params.count; - this.positions = params.positions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let positions = await TLObject.read(_data); - return new Raw.messages.SearchResultsPositions({ count: count, positions: positions }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.positions) { - b.write(Primitive.Vector.write(this.positions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerSettings extends TLObject { - settings!: Raw.TypePeerSettings; - chats!: Vector; - users!: Vector; - - constructor(params: { - settings: Raw.TypePeerSettings; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.PeerSettings'; - this.constructorId = 0x6880b94d; - this.subclassOfId = 0x65a2f7a1; - this._slots = ['settings', 'chats', 'users']; - this.settings = params.settings; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let settings = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.PeerSettings({ settings: settings, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageReactionsList extends TLObject { - count!: int; - reactions!: Vector; - chats!: Vector; - users!: Vector; - nextOffset?: string; - - constructor(params: { - count: int; - reactions: Vector; - chats: Vector; - users: Vector; - nextOffset?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.MessageReactionsList'; - this.constructorId = 0x31bd492d; - this.subclassOfId = 0x60fce5e6; - this._slots = ['count', 'reactions', 'chats', 'users', 'nextOffset']; - this.count = params.count; - this.reactions = params.reactions; - this.chats = params.chats; - this.users = params.users; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let reactions = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.MessageReactionsList({ - count: count, - reactions: reactions, - chats: chats, - users: users, - nextOffset: nextOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AvailableReactionsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.AvailableReactionsNotModified'; - this.constructorId = 0x9f071957; - this.subclassOfId = 0xe426ad82; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.AvailableReactionsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AvailableReactions extends TLObject { - hash!: int; - reactions!: Vector; - - constructor(params: { hash: int; reactions: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.AvailableReactions'; - this.constructorId = 0x768e3aad; - this.subclassOfId = 0xe426ad82; - this._slots = ['hash', 'reactions']; - this.hash = params.hash; - this.reactions = params.reactions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let reactions = await TLObject.read(_data); - return new Raw.messages.AvailableReactions({ hash: hash, reactions: reactions }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TranscribedAudio extends TLObject { - pending?: boolean; - transcriptionId!: long; - text!: string; - trialRemainsNum?: int; - trialRemainsUntilDate?: int; - - constructor(params: { - pending?: boolean; - transcriptionId: long; - text: string; - trialRemainsNum?: int; - trialRemainsUntilDate?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.TranscribedAudio'; - this.constructorId = 0xcfb9d957; - this.subclassOfId = 0x21b24936; - this._slots = [ - 'pending', - 'transcriptionId', - 'text', - 'trialRemainsNum', - 'trialRemainsUntilDate', - ]; - this.pending = params.pending; - this.transcriptionId = params.transcriptionId; - this.text = params.text; - this.trialRemainsNum = params.trialRemainsNum; - this.trialRemainsUntilDate = params.trialRemainsUntilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pending = flags & (1 << 0) ? true : false; - let transcriptionId = await Primitive.Long.read(_data); - let text = await Primitive.String.read(_data); - let trialRemainsNum = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let trialRemainsUntilDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.TranscribedAudio({ - pending: pending, - transcriptionId: transcriptionId, - text: text, - trialRemainsNum: trialRemainsNum, - trialRemainsUntilDate: trialRemainsUntilDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pending ? 1 << 0 : 0; - flags |= this.trialRemainsNum !== undefined ? 1 << 1 : 0; - flags |= this.trialRemainsUntilDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.transcriptionId !== undefined) { - b.write(Primitive.Long.write(this.transcriptionId) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(Primitive.String.write(this.text) as unknown as Buffer); - } - if (this.trialRemainsNum !== undefined) { - b.write(Primitive.Int.write(this.trialRemainsNum) as unknown as Buffer); - } - if (this.trialRemainsUntilDate !== undefined) { - b.write(Primitive.Int.write(this.trialRemainsUntilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReactionsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.ReactionsNotModified'; - this.constructorId = 0xb06fdbdf; - this.subclassOfId = 0xadc38324; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.ReactionsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Reactions extends TLObject { - hash!: long; - reactions!: Vector; - - constructor(params: { hash: long; reactions: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.Reactions'; - this.constructorId = 0xeafdf716; - this.subclassOfId = 0xadc38324; - this._slots = ['hash', 'reactions']; - this.hash = params.hash; - this.reactions = params.reactions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let reactions = await TLObject.read(_data); - return new Raw.messages.Reactions({ hash: hash, reactions: reactions }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ForumTopics extends TLObject { - orderByCreateDate?: boolean; - count!: int; - topics!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - pts!: int; - - constructor(params: { - orderByCreateDate?: boolean; - count: int; - topics: Vector; - messages: Vector; - chats: Vector; - users: Vector; - pts: int; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.ForumTopics'; - this.constructorId = 0x367617d3; - this.subclassOfId = 0x8e1d3e1e; - this._slots = ['orderByCreateDate', 'count', 'topics', 'messages', 'chats', 'users', 'pts']; - this.orderByCreateDate = params.orderByCreateDate; - this.count = params.count; - this.topics = params.topics; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - this.pts = params.pts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let orderByCreateDate = flags & (1 << 0) ? true : false; - let count = await Primitive.Int.read(_data); - let topics = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - return new Raw.messages.ForumTopics({ - orderByCreateDate: orderByCreateDate, - count: count, - topics: topics, - messages: messages, - chats: chats, - users: users, - pts: pts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.orderByCreateDate ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.topics) { - b.write(Primitive.Vector.write(this.topics) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiGroupsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.EmojiGroupsNotModified'; - this.constructorId = 0x6fb4ad87; - this.subclassOfId = 0x7eca55d9; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.EmojiGroupsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiGroups extends TLObject { - hash!: int; - groups!: Vector; - - constructor(params: { hash: int; groups: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.EmojiGroups'; - this.constructorId = 0x881fb94b; - this.subclassOfId = 0x7eca55d9; - this._slots = ['hash', 'groups']; - this.hash = params.hash; - this.groups = params.groups; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let groups = await TLObject.read(_data); - return new Raw.messages.EmojiGroups({ hash: hash, groups: groups }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.groups) { - b.write(Primitive.Vector.write(this.groups) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TranslateResult extends TLObject { - result!: Vector; - - constructor(params: { result: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.TranslateResult'; - this.constructorId = 0x33db32f8; - this.subclassOfId = 0x24243e8; - this._slots = ['result']; - this.result = params.result; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let result = await TLObject.read(_data); - return new Raw.messages.TranslateResult({ result: result }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.result) { - b.write(Primitive.Vector.write(this.result) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotApp extends TLObject { - inactive?: boolean; - requestWriteAccess?: boolean; - hasSettings?: boolean; - app!: Raw.TypeBotApp; - - constructor(params: { - inactive?: boolean; - requestWriteAccess?: boolean; - hasSettings?: boolean; - app: Raw.TypeBotApp; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.BotApp'; - this.constructorId = 0xeb50adf5; - this.subclassOfId = 0x8f7243a7; - this._slots = ['inactive', 'requestWriteAccess', 'hasSettings', 'app']; - this.inactive = params.inactive; - this.requestWriteAccess = params.requestWriteAccess; - this.hasSettings = params.hasSettings; - this.app = params.app; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inactive = flags & (1 << 0) ? true : false; - let requestWriteAccess = flags & (1 << 1) ? true : false; - let hasSettings = flags & (1 << 2) ? true : false; - let app = await TLObject.read(_data); - return new Raw.messages.BotApp({ - inactive: inactive, - requestWriteAccess: requestWriteAccess, - hasSettings: hasSettings, - app: app, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inactive ? 1 << 0 : 0; - flags |= this.requestWriteAccess ? 1 << 1 : 0; - flags |= this.hasSettings ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.app !== undefined) { - b.write(this.app.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPage extends TLObject { - webpage!: Raw.TypeWebPage; - chats!: Vector; - users!: Vector; - - constructor(params: { - webpage: Raw.TypeWebPage; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.WebPage'; - this.constructorId = 0xfd5e12bd; - this.subclassOfId = 0x2cf8b154; - this._slots = ['webpage', 'chats', 'users']; - this.webpage = params.webpage; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let webpage = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.WebPage({ webpage: webpage, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.webpage !== undefined) { - b.write(this.webpage.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedDialogs extends TLObject { - dialogs!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - dialogs: Vector; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.SavedDialogs'; - this.constructorId = 0xf83ae221; - this.subclassOfId = 0x614bb87e; - this._slots = ['dialogs', 'messages', 'chats', 'users']; - this.dialogs = params.dialogs; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dialogs = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.SavedDialogs({ - dialogs: dialogs, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dialogs) { - b.write(Primitive.Vector.write(this.dialogs) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedDialogsSlice extends TLObject { - count!: int; - dialogs!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - dialogs: Vector; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.SavedDialogsSlice'; - this.constructorId = 0x44ba9dd9; - this.subclassOfId = 0x614bb87e; - this._slots = ['count', 'dialogs', 'messages', 'chats', 'users']; - this.count = params.count; - this.dialogs = params.dialogs; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let dialogs = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.SavedDialogsSlice({ - count: count, - dialogs: dialogs, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.dialogs) { - b.write(Primitive.Vector.write(this.dialogs) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedDialogsNotModified extends TLObject { - count!: int; - - constructor(params: { count: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.SavedDialogsNotModified'; - this.constructorId = 0xc01f6fe8; - this.subclassOfId = 0x614bb87e; - this._slots = ['count']; - this.count = params.count; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - return new Raw.messages.SavedDialogsNotModified({ count: count }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedReactionTagsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.SavedReactionTagsNotModified'; - this.constructorId = 0x889b59ef; - this.subclassOfId = 0xa39b5be3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.SavedReactionTagsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedReactionTags extends TLObject { - tags!: Vector; - hash!: long; - - constructor(params: { tags: Vector; hash: long }) { - super(); - this.classType = 'types'; - this.className = 'messages.SavedReactionTags'; - this.constructorId = 0x3259950a; - this.subclassOfId = 0xa39b5be3; - this._slots = ['tags', 'hash']; - this.tags = params.tags; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let tags = await TLObject.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.SavedReactionTags({ tags: tags, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.tags) { - b.write(Primitive.Vector.write(this.tags) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class QuickReplies extends TLObject { - quickReplies!: Vector; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - quickReplies: Vector; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.QuickReplies'; - this.constructorId = 0xc68d6695; - this.subclassOfId = 0xf737e966; - this._slots = ['quickReplies', 'messages', 'chats', 'users']; - this.quickReplies = params.quickReplies; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let quickReplies = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.QuickReplies({ - quickReplies: quickReplies, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.quickReplies) { - b.write(Primitive.Vector.write(this.quickReplies) as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class QuickRepliesNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.QuickRepliesNotModified'; - this.constructorId = 0x5f91eb5b; - this.subclassOfId = 0xf737e966; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.QuickRepliesNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DialogFilters extends TLObject { - tagsEnabled?: boolean; - filters!: Vector; - - constructor(params: { tagsEnabled?: boolean; filters: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.DialogFilters'; - this.constructorId = 0x2ad93719; - this.subclassOfId = 0xa5fff1b7; - this._slots = ['tagsEnabled', 'filters']; - this.tagsEnabled = params.tagsEnabled; - this.filters = params.filters; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let tagsEnabled = flags & (1 << 0) ? true : false; - let filters = await TLObject.read(_data); - return new Raw.messages.DialogFilters({ tagsEnabled: tagsEnabled, filters: filters }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.tagsEnabled ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.filters) { - b.write(Primitive.Vector.write(this.filters) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MyStickers extends TLObject { - count!: int; - sets!: Vector; - - constructor(params: { count: int; sets: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.MyStickers'; - this.constructorId = 0xfaff629d; - this.subclassOfId = 0xb1b4350a; - this._slots = ['count', 'sets']; - this.count = params.count; - this.sets = params.sets; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let sets = await TLObject.read(_data); - return new Raw.messages.MyStickers({ count: count, sets: sets }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.sets) { - b.write(Primitive.Vector.write(this.sets) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvitedUsers extends TLObject { - updates!: Raw.TypeUpdates; - missingInvitees!: Vector; - - constructor(params: { - updates: Raw.TypeUpdates; - missingInvitees: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.InvitedUsers'; - this.constructorId = 0x7f5defa6; - this.subclassOfId = 0x3dbe90a1; - this._slots = ['updates', 'missingInvitees']; - this.updates = params.updates; - this.missingInvitees = params.missingInvitees; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let updates = await TLObject.read(_data); - let missingInvitees = await TLObject.read(_data); - return new Raw.messages.InvitedUsers({ - updates: updates, - missingInvitees: missingInvitees, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.updates !== undefined) { - b.write(this.updates.write() as unknown as Buffer); - } - if (this.missingInvitees) { - b.write(Primitive.Vector.write(this.missingInvitees) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AvailableEffectsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'messages.AvailableEffectsNotModified'; - this.constructorId = 0xd1ed9a5b; - this.subclassOfId = 0x4470d5bd; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.AvailableEffectsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AvailableEffects extends TLObject { - hash!: int; - effects!: Vector; - documents!: Vector; - - constructor(params: { - hash: int; - effects: Vector; - documents: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.AvailableEffects'; - this.constructorId = 0xbddb616e; - this.subclassOfId = 0x4470d5bd; - this._slots = ['hash', 'effects', 'documents']; - this.hash = params.hash; - this.effects = params.effects; - this.documents = params.documents; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let effects = await TLObject.read(_data); - let documents = await TLObject.read(_data); - return new Raw.messages.AvailableEffects({ - hash: hash, - effects: effects, - documents: documents, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.effects) { - b.write(Primitive.Vector.write(this.effects) as unknown as Buffer); - } - if (this.documents) { - b.write(Primitive.Vector.write(this.documents) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotPreparedInlineMessage extends TLObject { - id!: string; - expireDate!: int; - - constructor(params: { id: string; expireDate: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.BotPreparedInlineMessage'; - this.constructorId = 0x8ecf0511; - this.subclassOfId = 0xef9119bb; - this._slots = ['id', 'expireDate']; - this.id = params.id; - this.expireDate = params.expireDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.String.read(_data); - let expireDate = await Primitive.Int.read(_data); - return new Raw.messages.BotPreparedInlineMessage({ id: id, expireDate: expireDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.expireDate !== undefined) { - b.write(Primitive.Int.write(this.expireDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PreparedInlineMessage extends TLObject { - queryId!: long; - result!: Raw.TypeBotInlineResult; - peerTypes!: Vector; - cacheTime!: int; - users!: Vector; - - constructor(params: { - queryId: long; - result: Raw.TypeBotInlineResult; - peerTypes: Vector; - cacheTime: int; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'messages.PreparedInlineMessage'; - this.constructorId = 0xff57708d; - this.subclassOfId = 0x490ddf4d; - this._slots = ['queryId', 'result', 'peerTypes', 'cacheTime', 'users']; - this.queryId = params.queryId; - this.result = params.result; - this.peerTypes = params.peerTypes; - this.cacheTime = params.cacheTime; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let queryId = await Primitive.Long.read(_data); - let result = await TLObject.read(_data); - let peerTypes = await TLObject.read(_data); - let cacheTime = await Primitive.Int.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.PreparedInlineMessage({ - queryId: queryId, - result: result, - peerTypes: peerTypes, - cacheTime: cacheTime, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.result !== undefined) { - b.write(this.result.write() as unknown as Buffer); - } - if (this.peerTypes) { - b.write(Primitive.Vector.write(this.peerTypes) as unknown as Buffer); - } - if (this.cacheTime !== undefined) { - b.write(Primitive.Int.write(this.cacheTime) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FoundStickersNotModified extends TLObject { - nextOffset?: int; - - constructor(params: { nextOffset?: int }) { - super(); - this.classType = 'types'; - this.className = 'messages.FoundStickersNotModified'; - this.constructorId = 0x6010c534; - this.subclassOfId = 0x6402151; - this._slots = ['nextOffset']; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.FoundStickersNotModified({ nextOffset: nextOffset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.nextOffset !== undefined) { - b.write(Primitive.Int.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FoundStickers extends TLObject { - nextOffset?: int; - hash!: long; - stickers!: Vector; - - constructor(params: { nextOffset?: int; hash: long; stickers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.FoundStickers'; - this.constructorId = 0x82c9e290; - this.subclassOfId = 0x6402151; - this._slots = ['nextOffset', 'hash', 'stickers']; - this.nextOffset = params.nextOffset; - this.hash = params.hash; - this.stickers = params.stickers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let hash = await Primitive.Long.read(_data); - let stickers = await TLObject.read(_data); - return new Raw.messages.FoundStickers({ - nextOffset: nextOffset, - hash: hash, - stickers: stickers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.nextOffset !== undefined) { - b.write(Primitive.Int.write(this.nextOffset) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebPagePreview extends TLObject { - media!: Raw.TypeMessageMedia; - users!: Vector; - - constructor(params: { media: Raw.TypeMessageMedia; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'messages.WebPagePreview'; - this.constructorId = 0xb53e8b21; - this.subclassOfId = 0xe29410c2; - this._slots = ['media', 'users']; - this.media = params.media; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let media = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.messages.WebPagePreview({ media: media, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessages extends TLObject { - __response__!: Raw.messages.TypeMessages; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMessages'; - this.constructorId = 0x63c66506; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.messages.GetMessages({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDialogs extends TLObject { - __response__!: Raw.messages.TypeDialogs; - excludePinned?: boolean; - folderId?: int; - offsetDate!: int; - offsetId!: int; - offsetPeer!: Raw.TypeInputPeer; - limit!: int; - hash!: long; - - constructor(params: { - excludePinned?: boolean; - folderId?: int; - offsetDate: int; - offsetId: int; - offsetPeer: Raw.TypeInputPeer; - limit: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDialogs'; - this.constructorId = 0xa0f4cb4f; - this.subclassOfId = 0xe1b52ee; - this._slots = [ - 'excludePinned', - 'folderId', - 'offsetDate', - 'offsetId', - 'offsetPeer', - 'limit', - 'hash', - ]; - this.excludePinned = params.excludePinned; - this.folderId = params.folderId; - this.offsetDate = params.offsetDate; - this.offsetId = params.offsetId; - this.offsetPeer = params.offsetPeer; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let excludePinned = flags & (1 << 0) ? true : false; - let folderId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let offsetDate = await Primitive.Int.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetPeer = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetDialogs({ - excludePinned: excludePinned, - folderId: folderId, - offsetDate: offsetDate, - offsetId: offsetId, - offsetPeer: offsetPeer, - limit: limit, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.excludePinned ? 1 << 0 : 0; - flags |= this.folderId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetPeer !== undefined) { - b.write(this.offsetPeer.write() as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetHistory extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - offsetId!: int; - offsetDate!: int; - addOffset!: int; - limit!: int; - maxId!: int; - minId!: int; - hash!: long; - - constructor(params: { - peer: Raw.TypeInputPeer; - offsetId: int; - offsetDate: int; - addOffset: int; - limit: int; - maxId: int; - minId: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetHistory'; - this.constructorId = 0x4423e6c5; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'peer', - 'offsetId', - 'offsetDate', - 'addOffset', - 'limit', - 'maxId', - 'minId', - 'hash', - ]; - this.peer = params.peer; - this.offsetId = params.offsetId; - this.offsetDate = params.offsetDate; - this.addOffset = params.addOffset; - this.limit = params.limit; - this.maxId = params.maxId; - this.minId = params.minId; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetDate = await Primitive.Int.read(_data); - let addOffset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - let minId = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetHistory({ - peer: peer, - offsetId: offsetId, - offsetDate: offsetDate, - addOffset: addOffset, - limit: limit, - maxId: maxId, - minId: minId, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.addOffset !== undefined) { - b.write(Primitive.Int.write(this.addOffset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Search extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - q!: string; - fromId?: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - savedReaction?: Vector; - topMsgId?: int; - filter!: Raw.TypeMessagesFilter; - minDate!: int; - maxDate!: int; - offsetId!: int; - addOffset!: int; - limit!: int; - maxId!: int; - minId!: int; - hash!: long; - - constructor(params: { - peer: Raw.TypeInputPeer; - q: string; - fromId?: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - savedReaction?: Vector; - topMsgId?: int; - filter: Raw.TypeMessagesFilter; - minDate: int; - maxDate: int; - offsetId: int; - addOffset: int; - limit: int; - maxId: int; - minId: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.Search'; - this.constructorId = 0x29ee847a; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'peer', - 'q', - 'fromId', - 'savedPeerId', - 'savedReaction', - 'topMsgId', - 'filter', - 'minDate', - 'maxDate', - 'offsetId', - 'addOffset', - 'limit', - 'maxId', - 'minId', - 'hash', - ]; - this.peer = params.peer; - this.q = params.q; - this.fromId = params.fromId; - this.savedPeerId = params.savedPeerId; - this.savedReaction = params.savedReaction; - this.topMsgId = params.topMsgId; - this.filter = params.filter; - this.minDate = params.minDate; - this.maxDate = params.maxDate; - this.offsetId = params.offsetId; - this.addOffset = params.addOffset; - this.limit = params.limit; - this.maxId = params.maxId; - this.minId = params.minId; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let q = await Primitive.String.read(_data); - let fromId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let savedPeerId = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let savedReaction = flags & (1 << 3) ? await TLObject.read(_data) : []; - let topMsgId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let filter = await TLObject.read(_data); - let minDate = await Primitive.Int.read(_data); - let maxDate = await Primitive.Int.read(_data); - let offsetId = await Primitive.Int.read(_data); - let addOffset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - let minId = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.Search({ - peer: peer, - q: q, - fromId: fromId, - savedPeerId: savedPeerId, - savedReaction: savedReaction, - topMsgId: topMsgId, - filter: filter, - minDate: minDate, - maxDate: maxDate, - offsetId: offsetId, - addOffset: addOffset, - limit: limit, - maxId: maxId, - minId: minId, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fromId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 2 : 0; - flags |= this.savedReaction ? 1 << 3 : 0; - flags |= this.topMsgId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.savedReaction) { - b.write(Primitive.Vector.write(this.savedReaction) as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.minDate !== undefined) { - b.write(Primitive.Int.write(this.minDate) as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.addOffset !== undefined) { - b.write(Primitive.Int.write(this.addOffset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadHistory extends TLObject { - __response__!: Raw.messages.TypeAffectedMessages; - peer!: Raw.TypeInputPeer; - maxId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; maxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadHistory'; - this.constructorId = 0xe306d3a; - this.subclassOfId = 0xced3c06e; - this._slots = ['peer', 'maxId']; - this.peer = params.peer; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.messages.ReadHistory({ peer: peer, maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteHistory extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - justClear?: boolean; - revoke?: boolean; - peer!: Raw.TypeInputPeer; - maxId!: int; - minDate?: int; - maxDate?: int; - - constructor(params: { - justClear?: boolean; - revoke?: boolean; - peer: Raw.TypeInputPeer; - maxId: int; - minDate?: int; - maxDate?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteHistory'; - this.constructorId = 0xb08f922a; - this.subclassOfId = 0x2c49c116; - this._slots = ['justClear', 'revoke', 'peer', 'maxId', 'minDate', 'maxDate']; - this.justClear = params.justClear; - this.revoke = params.revoke; - this.peer = params.peer; - this.maxId = params.maxId; - this.minDate = params.minDate; - this.maxDate = params.maxDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let justClear = flags & (1 << 0) ? true : false; - let revoke = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - let minDate = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let maxDate = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.DeleteHistory({ - justClear: justClear, - revoke: revoke, - peer: peer, - maxId: maxId, - minDate: minDate, - maxDate: maxDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.justClear ? 1 << 0 : 0; - flags |= this.revoke ? 1 << 1 : 0; - flags |= this.minDate !== undefined ? 1 << 2 : 0; - flags |= this.maxDate !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minDate !== undefined) { - b.write(Primitive.Int.write(this.minDate) as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteMessages extends TLObject { - __response__!: Raw.messages.TypeAffectedMessages; - revoke?: boolean; - id!: Vector; - - constructor(params: { revoke?: boolean; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteMessages'; - this.constructorId = 0xe58e95d2; - this.subclassOfId = 0xced3c06e; - this._slots = ['revoke', 'id']; - this.revoke = params.revoke; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoke = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.DeleteMessages({ revoke: revoke, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoke ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReceivedMessages extends TLObject { - __response__!: Vector; - maxId!: int; - - constructor(params: { maxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReceivedMessages'; - this.constructorId = 0x5a954c0; - this.subclassOfId = 0x8565f897; - this._slots = ['maxId']; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let maxId = await Primitive.Int.read(_data); - return new Raw.messages.ReceivedMessages({ maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetTyping extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - topMsgId?: int; - action!: Raw.TypeSendMessageAction; - - constructor(params: { - peer: Raw.TypeInputPeer; - topMsgId?: int; - action: Raw.TypeSendMessageAction; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetTyping'; - this.constructorId = 0x58943ee2; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'topMsgId', 'action']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - this.action = params.action; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let action = await TLObject.read(_data); - return new Raw.messages.SetTyping({ peer: peer, topMsgId: topMsgId, action: action }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.action !== undefined) { - b.write(this.action.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMessage extends TLObject { - __response__!: Raw.TypeUpdates; - noWebpage?: boolean; - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - noforwards?: boolean; - updateStickersetsOrder?: boolean; - invertMedia?: boolean; - allowPaidFloodskip?: boolean; - peer!: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - message!: string; - randomId!: long; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - effect?: long; - allowPaidStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - - constructor(params: { - noWebpage?: boolean; - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - noforwards?: boolean; - updateStickersetsOrder?: boolean; - invertMedia?: boolean; - allowPaidFloodskip?: boolean; - peer: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - message: string; - randomId: long; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - effect?: long; - allowPaidStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendMessage'; - this.constructorId = 0xfe05dc9a; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'noWebpage', - 'silent', - 'background', - 'clearDraft', - 'noforwards', - 'updateStickersetsOrder', - 'invertMedia', - 'allowPaidFloodskip', - 'peer', - 'replyTo', - 'message', - 'randomId', - 'replyMarkup', - 'entities', - 'scheduleDate', - 'sendAs', - 'quickReplyShortcut', - 'effect', - 'allowPaidStars', - 'suggestedPost', - ]; - this.noWebpage = params.noWebpage; - this.silent = params.silent; - this.background = params.background; - this.clearDraft = params.clearDraft; - this.noforwards = params.noforwards; - this.updateStickersetsOrder = params.updateStickersetsOrder; - this.invertMedia = params.invertMedia; - this.allowPaidFloodskip = params.allowPaidFloodskip; - this.peer = params.peer; - this.replyTo = params.replyTo; - this.message = params.message; - this.randomId = params.randomId; - this.replyMarkup = params.replyMarkup; - this.entities = params.entities; - this.scheduleDate = params.scheduleDate; - this.sendAs = params.sendAs; - this.quickReplyShortcut = params.quickReplyShortcut; - this.effect = params.effect; - this.allowPaidStars = params.allowPaidStars; - this.suggestedPost = params.suggestedPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 1) ? true : false; - let silent = flags & (1 << 5) ? true : false; - let background = flags & (1 << 6) ? true : false; - let clearDraft = flags & (1 << 7) ? true : false; - let noforwards = flags & (1 << 14) ? true : false; - let updateStickersetsOrder = flags & (1 << 15) ? true : false; - let invertMedia = flags & (1 << 16) ? true : false; - let allowPaidFloodskip = flags & (1 << 19) ? true : false; - let peer = await TLObject.read(_data); - let replyTo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let message = await Primitive.String.read(_data); - let randomId = await Primitive.Long.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - let scheduleDate = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let quickReplyShortcut = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let effect = flags & (1 << 18) ? await Primitive.Long.read(_data) : undefined; - let allowPaidStars = flags & (1 << 21) ? await Primitive.Long.read(_data) : undefined; - let suggestedPost = flags & (1 << 22) ? await TLObject.read(_data) : undefined; - return new Raw.messages.SendMessage({ - noWebpage: noWebpage, - silent: silent, - background: background, - clearDraft: clearDraft, - noforwards: noforwards, - updateStickersetsOrder: updateStickersetsOrder, - invertMedia: invertMedia, - allowPaidFloodskip: allowPaidFloodskip, - peer: peer, - replyTo: replyTo, - message: message, - randomId: randomId, - replyMarkup: replyMarkup, - entities: entities, - scheduleDate: scheduleDate, - sendAs: sendAs, - quickReplyShortcut: quickReplyShortcut, - effect: effect, - allowPaidStars: allowPaidStars, - suggestedPost: suggestedPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 1 : 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.background ? 1 << 6 : 0; - flags |= this.clearDraft ? 1 << 7 : 0; - flags |= this.noforwards ? 1 << 14 : 0; - flags |= this.updateStickersetsOrder ? 1 << 15 : 0; - flags |= this.invertMedia ? 1 << 16 : 0; - flags |= this.allowPaidFloodskip ? 1 << 19 : 0; - flags |= this.replyTo !== undefined ? 1 << 0 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - flags |= this.entities ? 1 << 3 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 10 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - flags |= this.quickReplyShortcut !== undefined ? 1 << 17 : 0; - flags |= this.effect !== undefined ? 1 << 18 : 0; - flags |= this.allowPaidStars !== undefined ? 1 << 21 : 0; - flags |= this.suggestedPost !== undefined ? 1 << 22 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - if (this.quickReplyShortcut !== undefined) { - b.write(this.quickReplyShortcut.write() as unknown as Buffer); - } - if (this.effect !== undefined) { - b.write(Primitive.Long.write(this.effect) as unknown as Buffer); - } - if (this.allowPaidStars !== undefined) { - b.write(Primitive.Long.write(this.allowPaidStars) as unknown as Buffer); - } - if (this.suggestedPost !== undefined) { - b.write(this.suggestedPost.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMedia extends TLObject { - __response__!: Raw.TypeUpdates; - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - noforwards?: boolean; - updateStickersetsOrder?: boolean; - invertMedia?: boolean; - allowPaidFloodskip?: boolean; - peer!: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - media!: Raw.TypeInputMedia; - message!: string; - randomId!: long; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - effect?: long; - allowPaidStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - - constructor(params: { - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - noforwards?: boolean; - updateStickersetsOrder?: boolean; - invertMedia?: boolean; - allowPaidFloodskip?: boolean; - peer: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - media: Raw.TypeInputMedia; - message: string; - randomId: long; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - effect?: long; - allowPaidStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendMedia'; - this.constructorId = 0xac55d9c1; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'silent', - 'background', - 'clearDraft', - 'noforwards', - 'updateStickersetsOrder', - 'invertMedia', - 'allowPaidFloodskip', - 'peer', - 'replyTo', - 'media', - 'message', - 'randomId', - 'replyMarkup', - 'entities', - 'scheduleDate', - 'sendAs', - 'quickReplyShortcut', - 'effect', - 'allowPaidStars', - 'suggestedPost', - ]; - this.silent = params.silent; - this.background = params.background; - this.clearDraft = params.clearDraft; - this.noforwards = params.noforwards; - this.updateStickersetsOrder = params.updateStickersetsOrder; - this.invertMedia = params.invertMedia; - this.allowPaidFloodskip = params.allowPaidFloodskip; - this.peer = params.peer; - this.replyTo = params.replyTo; - this.media = params.media; - this.message = params.message; - this.randomId = params.randomId; - this.replyMarkup = params.replyMarkup; - this.entities = params.entities; - this.scheduleDate = params.scheduleDate; - this.sendAs = params.sendAs; - this.quickReplyShortcut = params.quickReplyShortcut; - this.effect = params.effect; - this.allowPaidStars = params.allowPaidStars; - this.suggestedPost = params.suggestedPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 5) ? true : false; - let background = flags & (1 << 6) ? true : false; - let clearDraft = flags & (1 << 7) ? true : false; - let noforwards = flags & (1 << 14) ? true : false; - let updateStickersetsOrder = flags & (1 << 15) ? true : false; - let invertMedia = flags & (1 << 16) ? true : false; - let allowPaidFloodskip = flags & (1 << 19) ? true : false; - let peer = await TLObject.read(_data); - let replyTo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let media = await TLObject.read(_data); - let message = await Primitive.String.read(_data); - let randomId = await Primitive.Long.read(_data); - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - let scheduleDate = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let quickReplyShortcut = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let effect = flags & (1 << 18) ? await Primitive.Long.read(_data) : undefined; - let allowPaidStars = flags & (1 << 21) ? await Primitive.Long.read(_data) : undefined; - let suggestedPost = flags & (1 << 22) ? await TLObject.read(_data) : undefined; - return new Raw.messages.SendMedia({ - silent: silent, - background: background, - clearDraft: clearDraft, - noforwards: noforwards, - updateStickersetsOrder: updateStickersetsOrder, - invertMedia: invertMedia, - allowPaidFloodskip: allowPaidFloodskip, - peer: peer, - replyTo: replyTo, - media: media, - message: message, - randomId: randomId, - replyMarkup: replyMarkup, - entities: entities, - scheduleDate: scheduleDate, - sendAs: sendAs, - quickReplyShortcut: quickReplyShortcut, - effect: effect, - allowPaidStars: allowPaidStars, - suggestedPost: suggestedPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.background ? 1 << 6 : 0; - flags |= this.clearDraft ? 1 << 7 : 0; - flags |= this.noforwards ? 1 << 14 : 0; - flags |= this.updateStickersetsOrder ? 1 << 15 : 0; - flags |= this.invertMedia ? 1 << 16 : 0; - flags |= this.allowPaidFloodskip ? 1 << 19 : 0; - flags |= this.replyTo !== undefined ? 1 << 0 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - flags |= this.entities ? 1 << 3 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 10 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - flags |= this.quickReplyShortcut !== undefined ? 1 << 17 : 0; - flags |= this.effect !== undefined ? 1 << 18 : 0; - flags |= this.allowPaidStars !== undefined ? 1 << 21 : 0; - flags |= this.suggestedPost !== undefined ? 1 << 22 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - if (this.quickReplyShortcut !== undefined) { - b.write(this.quickReplyShortcut.write() as unknown as Buffer); - } - if (this.effect !== undefined) { - b.write(Primitive.Long.write(this.effect) as unknown as Buffer); - } - if (this.allowPaidStars !== undefined) { - b.write(Primitive.Long.write(this.allowPaidStars) as unknown as Buffer); - } - if (this.suggestedPost !== undefined) { - b.write(this.suggestedPost.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ForwardMessages extends TLObject { - __response__!: Raw.TypeUpdates; - silent?: boolean; - background?: boolean; - withMyScore?: boolean; - dropAuthor?: boolean; - dropMediaCaptions?: boolean; - noforwards?: boolean; - allowPaidFloodskip?: boolean; - fromPeer!: Raw.TypeInputPeer; - id!: Vector; - randomId!: Vector; - toPeer!: Raw.TypeInputPeer; - topMsgId?: int; - replyTo?: Raw.TypeInputReplyTo; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - videoTimestamp?: int; - allowPaidStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - - constructor(params: { - silent?: boolean; - background?: boolean; - withMyScore?: boolean; - dropAuthor?: boolean; - dropMediaCaptions?: boolean; - noforwards?: boolean; - allowPaidFloodskip?: boolean; - fromPeer: Raw.TypeInputPeer; - id: Vector; - randomId: Vector; - toPeer: Raw.TypeInputPeer; - topMsgId?: int; - replyTo?: Raw.TypeInputReplyTo; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - videoTimestamp?: int; - allowPaidStars?: long; - suggestedPost?: Raw.TypeSuggestedPost; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ForwardMessages'; - this.constructorId = 0x978928ca; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'silent', - 'background', - 'withMyScore', - 'dropAuthor', - 'dropMediaCaptions', - 'noforwards', - 'allowPaidFloodskip', - 'fromPeer', - 'id', - 'randomId', - 'toPeer', - 'topMsgId', - 'replyTo', - 'scheduleDate', - 'sendAs', - 'quickReplyShortcut', - 'videoTimestamp', - 'allowPaidStars', - 'suggestedPost', - ]; - this.silent = params.silent; - this.background = params.background; - this.withMyScore = params.withMyScore; - this.dropAuthor = params.dropAuthor; - this.dropMediaCaptions = params.dropMediaCaptions; - this.noforwards = params.noforwards; - this.allowPaidFloodskip = params.allowPaidFloodskip; - this.fromPeer = params.fromPeer; - this.id = params.id; - this.randomId = params.randomId; - this.toPeer = params.toPeer; - this.topMsgId = params.topMsgId; - this.replyTo = params.replyTo; - this.scheduleDate = params.scheduleDate; - this.sendAs = params.sendAs; - this.quickReplyShortcut = params.quickReplyShortcut; - this.videoTimestamp = params.videoTimestamp; - this.allowPaidStars = params.allowPaidStars; - this.suggestedPost = params.suggestedPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 5) ? true : false; - let background = flags & (1 << 6) ? true : false; - let withMyScore = flags & (1 << 8) ? true : false; - let dropAuthor = flags & (1 << 11) ? true : false; - let dropMediaCaptions = flags & (1 << 12) ? true : false; - let noforwards = flags & (1 << 14) ? true : false; - let allowPaidFloodskip = flags & (1 << 19) ? true : false; - let fromPeer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - let randomId = await TLObject.read(_data, Primitive.Long); - let toPeer = await TLObject.read(_data); - let topMsgId = flags & (1 << 9) ? await Primitive.Int.read(_data) : undefined; - let replyTo = flags & (1 << 22) ? await TLObject.read(_data) : undefined; - let scheduleDate = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let quickReplyShortcut = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let videoTimestamp = flags & (1 << 20) ? await Primitive.Int.read(_data) : undefined; - let allowPaidStars = flags & (1 << 21) ? await Primitive.Long.read(_data) : undefined; - let suggestedPost = flags & (1 << 23) ? await TLObject.read(_data) : undefined; - return new Raw.messages.ForwardMessages({ - silent: silent, - background: background, - withMyScore: withMyScore, - dropAuthor: dropAuthor, - dropMediaCaptions: dropMediaCaptions, - noforwards: noforwards, - allowPaidFloodskip: allowPaidFloodskip, - fromPeer: fromPeer, - id: id, - randomId: randomId, - toPeer: toPeer, - topMsgId: topMsgId, - replyTo: replyTo, - scheduleDate: scheduleDate, - sendAs: sendAs, - quickReplyShortcut: quickReplyShortcut, - videoTimestamp: videoTimestamp, - allowPaidStars: allowPaidStars, - suggestedPost: suggestedPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.background ? 1 << 6 : 0; - flags |= this.withMyScore ? 1 << 8 : 0; - flags |= this.dropAuthor ? 1 << 11 : 0; - flags |= this.dropMediaCaptions ? 1 << 12 : 0; - flags |= this.noforwards ? 1 << 14 : 0; - flags |= this.allowPaidFloodskip ? 1 << 19 : 0; - flags |= this.topMsgId !== undefined ? 1 << 9 : 0; - flags |= this.replyTo !== undefined ? 1 << 22 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 10 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - flags |= this.quickReplyShortcut !== undefined ? 1 << 17 : 0; - flags |= this.videoTimestamp !== undefined ? 1 << 20 : 0; - flags |= this.allowPaidStars !== undefined ? 1 << 21 : 0; - flags |= this.suggestedPost !== undefined ? 1 << 23 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.fromPeer !== undefined) { - b.write(this.fromPeer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.randomId) { - b.write(Primitive.Vector.write(this.randomId, Primitive.Long) as unknown as Buffer); - } - if (this.toPeer !== undefined) { - b.write(this.toPeer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - if (this.quickReplyShortcut !== undefined) { - b.write(this.quickReplyShortcut.write() as unknown as Buffer); - } - if (this.videoTimestamp !== undefined) { - b.write(Primitive.Int.write(this.videoTimestamp) as unknown as Buffer); - } - if (this.allowPaidStars !== undefined) { - b.write(Primitive.Long.write(this.allowPaidStars) as unknown as Buffer); - } - if (this.suggestedPost !== undefined) { - b.write(this.suggestedPost.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportSpam extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReportSpam'; - this.constructorId = 0xcf1592db; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.ReportSpam({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPeerSettings extends TLObject { - __response__!: Raw.messages.TypePeerSettings; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPeerSettings'; - this.constructorId = 0xefd9a6a2; - this.subclassOfId = 0x65a2f7a1; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.GetPeerSettings({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Report extends TLObject { - __response__!: Raw.TypeReportResult; - peer!: Raw.TypeInputPeer; - id!: Vector; - option!: bytes; - message!: string; - - constructor(params: { - peer: Raw.TypeInputPeer; - id: Vector; - option: bytes; - message: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.Report'; - this.constructorId = 0xfc78af9b; - this.subclassOfId = 0xacd3f438; - this._slots = ['peer', 'id', 'option', 'message']; - this.peer = params.peer; - this.id = params.id; - this.option = params.option; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - let option = await Primitive.Bytes.read(_data); - let message = await Primitive.String.read(_data); - return new Raw.messages.Report({ peer: peer, id: id, option: option, message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChats extends TLObject { - __response__!: Raw.messages.TypeChats; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetChats'; - this.constructorId = 0x49e9528f; - this.subclassOfId = 0x99d5cb14; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data, Primitive.Long); - return new Raw.messages.GetChats({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFullChat extends TLObject { - __response__!: Raw.messages.TypeChatFull; - chatId!: long; - - constructor(params: { chatId: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetFullChat'; - this.constructorId = 0xaeb00b34; - this.subclassOfId = 0x225a5109; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - return new Raw.messages.GetFullChat({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditChatTitle extends TLObject { - __response__!: Raw.TypeUpdates; - chatId!: long; - title!: string; - - constructor(params: { chatId: long; title: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditChatTitle'; - this.constructorId = 0x73783ffd; - this.subclassOfId = 0x8af52aac; - this._slots = ['chatId', 'title']; - this.chatId = params.chatId; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.messages.EditChatTitle({ chatId: chatId, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditChatPhoto extends TLObject { - __response__!: Raw.TypeUpdates; - chatId!: long; - photo!: Raw.TypeInputChatPhoto; - - constructor(params: { chatId: long; photo: Raw.TypeInputChatPhoto }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditChatPhoto'; - this.constructorId = 0x35ddd674; - this.subclassOfId = 0x8af52aac; - this._slots = ['chatId', 'photo']; - this.chatId = params.chatId; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let photo = await TLObject.read(_data); - return new Raw.messages.EditChatPhoto({ chatId: chatId, photo: photo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AddChatUser extends TLObject { - __response__!: Raw.messages.TypeInvitedUsers; - chatId!: long; - userId!: Raw.TypeInputUser; - fwdLimit!: int; - - constructor(params: { chatId: long; userId: Raw.TypeInputUser; fwdLimit: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.AddChatUser'; - this.constructorId = 0xcbc6d107; - this.subclassOfId = 0x3dbe90a1; - this._slots = ['chatId', 'userId', 'fwdLimit']; - this.chatId = params.chatId; - this.userId = params.userId; - this.fwdLimit = params.fwdLimit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let userId = await TLObject.read(_data); - let fwdLimit = await Primitive.Int.read(_data); - return new Raw.messages.AddChatUser({ chatId: chatId, userId: userId, fwdLimit: fwdLimit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.fwdLimit !== undefined) { - b.write(Primitive.Int.write(this.fwdLimit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteChatUser extends TLObject { - __response__!: Raw.TypeUpdates; - revokeHistory?: boolean; - chatId!: long; - userId!: Raw.TypeInputUser; - - constructor(params: { revokeHistory?: boolean; chatId: long; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteChatUser'; - this.constructorId = 0xa2185cab; - this.subclassOfId = 0x8af52aac; - this._slots = ['revokeHistory', 'chatId', 'userId']; - this.revokeHistory = params.revokeHistory; - this.chatId = params.chatId; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revokeHistory = flags & (1 << 0) ? true : false; - let chatId = await Primitive.Long.read(_data); - let userId = await TLObject.read(_data); - return new Raw.messages.DeleteChatUser({ - revokeHistory: revokeHistory, - chatId: chatId, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revokeHistory ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateChat extends TLObject { - __response__!: Raw.messages.TypeInvitedUsers; - users!: Vector; - title!: string; - ttlPeriod?: int; - - constructor(params: { users: Vector; title: string; ttlPeriod?: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.CreateChat'; - this.constructorId = 0x92ceddd4; - this.subclassOfId = 0x3dbe90a1; - this._slots = ['users', 'title', 'ttlPeriod']; - this.users = params.users; - this.title = params.title; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let users = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let ttlPeriod = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.CreateChat({ users: users, title: title, ttlPeriod: ttlPeriod }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ttlPeriod !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDhConfig extends TLObject { - __response__!: Raw.messages.TypeDhConfig; - version!: int; - randomLength!: int; - - constructor(params: { version: int; randomLength: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDhConfig'; - this.constructorId = 0x26cf8950; - this.subclassOfId = 0xe488ed8b; - this._slots = ['version', 'randomLength']; - this.version = params.version; - this.randomLength = params.randomLength; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let version = await Primitive.Int.read(_data); - let randomLength = await Primitive.Int.read(_data); - return new Raw.messages.GetDhConfig({ version: version, randomLength: randomLength }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - if (this.randomLength !== undefined) { - b.write(Primitive.Int.write(this.randomLength) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestEncryption extends TLObject { - __response__!: Raw.TypeEncryptedChat; - userId!: Raw.TypeInputUser; - randomId!: int; - gA!: bytes; - - constructor(params: { userId: Raw.TypeInputUser; randomId: int; gA: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RequestEncryption'; - this.constructorId = 0xf64daf43; - this.subclassOfId = 0x6d28a37a; - this._slots = ['userId', 'randomId', 'gA']; - this.userId = params.userId; - this.randomId = params.randomId; - this.gA = params.gA; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let randomId = await Primitive.Int.read(_data); - let gA = await Primitive.Bytes.read(_data); - return new Raw.messages.RequestEncryption({ userId: userId, randomId: randomId, gA: gA }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Int.write(this.randomId) as unknown as Buffer); - } - if (this.gA !== undefined) { - b.write(Primitive.Bytes.write(this.gA) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptEncryption extends TLObject { - __response__!: Raw.TypeEncryptedChat; - peer!: Raw.TypeInputEncryptedChat; - gB!: bytes; - keyFingerprint!: long; - - constructor(params: { peer: Raw.TypeInputEncryptedChat; gB: bytes; keyFingerprint: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.AcceptEncryption'; - this.constructorId = 0x3dbc0415; - this.subclassOfId = 0x6d28a37a; - this._slots = ['peer', 'gB', 'keyFingerprint']; - this.peer = params.peer; - this.gB = params.gB; - this.keyFingerprint = params.keyFingerprint; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let gB = await Primitive.Bytes.read(_data); - let keyFingerprint = await Primitive.Long.read(_data); - return new Raw.messages.AcceptEncryption({ - peer: peer, - gB: gB, - keyFingerprint: keyFingerprint, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.gB !== undefined) { - b.write(Primitive.Bytes.write(this.gB) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.keyFingerprint) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DiscardEncryption extends TLObject { - __response__!: Bool; - deleteHistory?: boolean; - chatId!: int; - - constructor(params: { deleteHistory?: boolean; chatId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DiscardEncryption'; - this.constructorId = 0xf393aea0; - this.subclassOfId = 0xf5b399ac; - this._slots = ['deleteHistory', 'chatId']; - this.deleteHistory = params.deleteHistory; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let deleteHistory = flags & (1 << 0) ? true : false; - let chatId = await Primitive.Int.read(_data); - return new Raw.messages.DiscardEncryption({ deleteHistory: deleteHistory, chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.deleteHistory ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatId !== undefined) { - b.write(Primitive.Int.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetEncryptedTyping extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputEncryptedChat; - typing!: Bool; - - constructor(params: { peer: Raw.TypeInputEncryptedChat; typing: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetEncryptedTyping'; - this.constructorId = 0x791451ed; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'typing']; - this.peer = params.peer; - this.typing = params.typing; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let typing = await Primitive.Bool.read(_data); - return new Raw.messages.SetEncryptedTyping({ peer: peer, typing: typing }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.typing !== undefined) { - b.write(Primitive.Bool.write(this.typing) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadEncryptedHistory extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputEncryptedChat; - maxDate!: int; - - constructor(params: { peer: Raw.TypeInputEncryptedChat; maxDate: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadEncryptedHistory'; - this.constructorId = 0x7f4b690a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'maxDate']; - this.peer = params.peer; - this.maxDate = params.maxDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let maxDate = await Primitive.Int.read(_data); - return new Raw.messages.ReadEncryptedHistory({ peer: peer, maxDate: maxDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendEncrypted extends TLObject { - __response__!: Raw.messages.TypeSentEncryptedMessage; - silent?: boolean; - peer!: Raw.TypeInputEncryptedChat; - randomId!: long; - data!: bytes; - - constructor(params: { - silent?: boolean; - peer: Raw.TypeInputEncryptedChat; - randomId: long; - data: bytes; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendEncrypted'; - this.constructorId = 0x44fa7a15; - this.subclassOfId = 0xc99e3e50; - this._slots = ['silent', 'peer', 'randomId', 'data']; - this.silent = params.silent; - this.peer = params.peer; - this.randomId = params.randomId; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let data = await Primitive.Bytes.read(_data); - return new Raw.messages.SendEncrypted({ - silent: silent, - peer: peer, - randomId: randomId, - data: data, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendEncryptedFile extends TLObject { - __response__!: Raw.messages.TypeSentEncryptedMessage; - silent?: boolean; - peer!: Raw.TypeInputEncryptedChat; - randomId!: long; - data!: bytes; - file!: Raw.TypeInputEncryptedFile; - - constructor(params: { - silent?: boolean; - peer: Raw.TypeInputEncryptedChat; - randomId: long; - data: bytes; - file: Raw.TypeInputEncryptedFile; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendEncryptedFile'; - this.constructorId = 0x5559481d; - this.subclassOfId = 0xc99e3e50; - this._slots = ['silent', 'peer', 'randomId', 'data', 'file']; - this.silent = params.silent; - this.peer = params.peer; - this.randomId = params.randomId; - this.data = params.data; - this.file = params.file; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let data = await Primitive.Bytes.read(_data); - let file = await TLObject.read(_data); - return new Raw.messages.SendEncryptedFile({ - silent: silent, - peer: peer, - randomId: randomId, - data: data, - file: file, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendEncryptedService extends TLObject { - __response__!: Raw.messages.TypeSentEncryptedMessage; - peer!: Raw.TypeInputEncryptedChat; - randomId!: long; - data!: bytes; - - constructor(params: { peer: Raw.TypeInputEncryptedChat; randomId: long; data: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendEncryptedService'; - this.constructorId = 0x32d439a4; - this.subclassOfId = 0xc99e3e50; - this._slots = ['peer', 'randomId', 'data']; - this.peer = params.peer; - this.randomId = params.randomId; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let data = await Primitive.Bytes.read(_data); - return new Raw.messages.SendEncryptedService({ - peer: peer, - randomId: randomId, - data: data, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReceivedQueue extends TLObject { - __response__!: Vector; - maxQts!: int; - - constructor(params: { maxQts: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReceivedQueue'; - this.constructorId = 0x55a5bb66; - this.subclassOfId = 0x8918e168; - this._slots = ['maxQts']; - this.maxQts = params.maxQts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let maxQts = await Primitive.Int.read(_data); - return new Raw.messages.ReceivedQueue({ maxQts: maxQts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.maxQts !== undefined) { - b.write(Primitive.Int.write(this.maxQts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportEncryptedSpam extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputEncryptedChat; - - constructor(params: { peer: Raw.TypeInputEncryptedChat }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReportEncryptedSpam'; - this.constructorId = 0x4b0c8c0f; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.ReportEncryptedSpam({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadMessageContents extends TLObject { - __response__!: Raw.messages.TypeAffectedMessages; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadMessageContents'; - this.constructorId = 0x36a73f77; - this.subclassOfId = 0xced3c06e; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.ReadMessageContents({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStickers extends TLObject { - __response__!: Raw.messages.TypeStickers; - emoticon!: string; - hash!: long; - - constructor(params: { emoticon: string; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetStickers'; - this.constructorId = 0xd5a5d3a1; - this.subclassOfId = 0xd73bb9de; - this._slots = ['emoticon', 'hash']; - this.emoticon = params.emoticon; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetStickers({ emoticon: emoticon, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAllStickers extends TLObject { - __response__!: Raw.messages.TypeAllStickers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAllStickers'; - this.constructorId = 0xb8a0a1a8; - this.subclassOfId = 0x45834829; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetAllStickers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetWebPagePreview extends TLObject { - __response__!: Raw.messages.TypeWebPagePreview; - message!: string; - entities?: Vector; - - constructor(params: { message: string; entities?: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetWebPagePreview'; - this.constructorId = 0x570d6f6f; - this.subclassOfId = 0xe29410c2; - this._slots = ['message', 'entities']; - this.message = params.message; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - return new Raw.messages.GetWebPagePreview({ message: message, entities: entities }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.entities ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportChatInvite extends TLObject { - __response__!: Raw.TypeExportedChatInvite; - legacyRevokePermanent?: boolean; - requestNeeded?: boolean; - peer!: Raw.TypeInputPeer; - expireDate?: int; - usageLimit?: int; - title?: string; - subscriptionPricing?: Raw.TypeStarsSubscriptionPricing; - - constructor(params: { - legacyRevokePermanent?: boolean; - requestNeeded?: boolean; - peer: Raw.TypeInputPeer; - expireDate?: int; - usageLimit?: int; - title?: string; - subscriptionPricing?: Raw.TypeStarsSubscriptionPricing; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ExportChatInvite'; - this.constructorId = 0xa455de90; - this.subclassOfId = 0xb4748a58; - this._slots = [ - 'legacyRevokePermanent', - 'requestNeeded', - 'peer', - 'expireDate', - 'usageLimit', - 'title', - 'subscriptionPricing', - ]; - this.legacyRevokePermanent = params.legacyRevokePermanent; - this.requestNeeded = params.requestNeeded; - this.peer = params.peer; - this.expireDate = params.expireDate; - this.usageLimit = params.usageLimit; - this.title = params.title; - this.subscriptionPricing = params.subscriptionPricing; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let legacyRevokePermanent = flags & (1 << 2) ? true : false; - let requestNeeded = flags & (1 << 3) ? true : false; - let peer = await TLObject.read(_data); - let expireDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let usageLimit = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let title = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let subscriptionPricing = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - return new Raw.messages.ExportChatInvite({ - legacyRevokePermanent: legacyRevokePermanent, - requestNeeded: requestNeeded, - peer: peer, - expireDate: expireDate, - usageLimit: usageLimit, - title: title, - subscriptionPricing: subscriptionPricing, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.legacyRevokePermanent ? 1 << 2 : 0; - flags |= this.requestNeeded ? 1 << 3 : 0; - flags |= this.expireDate !== undefined ? 1 << 0 : 0; - flags |= this.usageLimit !== undefined ? 1 << 1 : 0; - flags |= this.title !== undefined ? 1 << 4 : 0; - flags |= this.subscriptionPricing !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.expireDate !== undefined) { - b.write(Primitive.Int.write(this.expireDate) as unknown as Buffer); - } - if (this.usageLimit !== undefined) { - b.write(Primitive.Int.write(this.usageLimit) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.subscriptionPricing !== undefined) { - b.write(this.subscriptionPricing.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckChatInvite extends TLObject { - __response__!: Raw.TypeChatInvite; - hash!: string; - - constructor(params: { hash: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.CheckChatInvite'; - this.constructorId = 0x3eadb1bb; - this.subclassOfId = 0x4561736; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.String.read(_data); - return new Raw.messages.CheckChatInvite({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.String.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ImportChatInvite extends TLObject { - __response__!: Raw.TypeUpdates; - hash!: string; - - constructor(params: { hash: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ImportChatInvite'; - this.constructorId = 0x6c50051c; - this.subclassOfId = 0x8af52aac; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.String.read(_data); - return new Raw.messages.ImportChatInvite({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.String.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStickerSet extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - stickerset!: Raw.TypeInputStickerSet; - hash!: int; - - constructor(params: { stickerset: Raw.TypeInputStickerSet; hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetStickerSet'; - this.constructorId = 0xc8a0ec74; - this.subclassOfId = 0x9b704a5a; - this._slots = ['stickerset', 'hash']; - this.stickerset = params.stickerset; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetStickerSet({ stickerset: stickerset, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InstallStickerSet extends TLObject { - __response__!: Raw.messages.TypeStickerSetInstallResult; - stickerset!: Raw.TypeInputStickerSet; - archived!: Bool; - - constructor(params: { stickerset: Raw.TypeInputStickerSet; archived: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.InstallStickerSet'; - this.constructorId = 0xc78fe460; - this.subclassOfId = 0x67cb3fe8; - this._slots = ['stickerset', 'archived']; - this.stickerset = params.stickerset; - this.archived = params.archived; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - let archived = await Primitive.Bool.read(_data); - return new Raw.messages.InstallStickerSet({ stickerset: stickerset, archived: archived }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.archived !== undefined) { - b.write(Primitive.Bool.write(this.archived) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UninstallStickerSet extends TLObject { - __response__!: Bool; - stickerset!: Raw.TypeInputStickerSet; - - constructor(params: { stickerset: Raw.TypeInputStickerSet }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UninstallStickerSet'; - this.constructorId = 0xf96e55de; - this.subclassOfId = 0xf5b399ac; - this._slots = ['stickerset']; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - return new Raw.messages.UninstallStickerSet({ stickerset: stickerset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StartBot extends TLObject { - __response__!: Raw.TypeUpdates; - bot!: Raw.TypeInputUser; - peer!: Raw.TypeInputPeer; - randomId!: long; - startParam!: string; - - constructor(params: { - bot: Raw.TypeInputUser; - peer: Raw.TypeInputPeer; - randomId: long; - startParam: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.StartBot'; - this.constructorId = 0xe6df7378; - this.subclassOfId = 0x8af52aac; - this._slots = ['bot', 'peer', 'randomId', 'startParam']; - this.bot = params.bot; - this.peer = params.peer; - this.randomId = params.randomId; - this.startParam = params.startParam; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let peer = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let startParam = await Primitive.String.read(_data); - return new Raw.messages.StartBot({ - bot: bot, - peer: peer, - randomId: randomId, - startParam: startParam, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessagesViews extends TLObject { - __response__!: Raw.messages.TypeMessageViews; - peer!: Raw.TypeInputPeer; - id!: Vector; - increment!: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector; increment: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMessagesViews'; - this.constructorId = 0x5784d3e1; - this.subclassOfId = 0xafb5eb9c; - this._slots = ['peer', 'id', 'increment']; - this.peer = params.peer; - this.id = params.id; - this.increment = params.increment; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - let increment = await Primitive.Bool.read(_data); - return new Raw.messages.GetMessagesViews({ peer: peer, id: id, increment: increment }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.increment !== undefined) { - b.write(Primitive.Bool.write(this.increment) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditChatAdmin extends TLObject { - __response__!: Bool; - chatId!: long; - userId!: Raw.TypeInputUser; - isAdmin!: Bool; - - constructor(params: { chatId: long; userId: Raw.TypeInputUser; isAdmin: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditChatAdmin'; - this.constructorId = 0xa85bd1c2; - this.subclassOfId = 0xf5b399ac; - this._slots = ['chatId', 'userId', 'isAdmin']; - this.chatId = params.chatId; - this.userId = params.userId; - this.isAdmin = params.isAdmin; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - let userId = await TLObject.read(_data); - let isAdmin = await Primitive.Bool.read(_data); - return new Raw.messages.EditChatAdmin({ chatId: chatId, userId: userId, isAdmin: isAdmin }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.isAdmin !== undefined) { - b.write(Primitive.Bool.write(this.isAdmin) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MigrateChat extends TLObject { - __response__!: Raw.TypeUpdates; - chatId!: long; - - constructor(params: { chatId: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.MigrateChat'; - this.constructorId = 0xa2875319; - this.subclassOfId = 0x8af52aac; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - return new Raw.messages.MigrateChat({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchGlobal extends TLObject { - __response__!: Raw.messages.TypeMessages; - broadcastsOnly?: boolean; - groupsOnly?: boolean; - usersOnly?: boolean; - folderId?: int; - q!: string; - filter!: Raw.TypeMessagesFilter; - minDate!: int; - maxDate!: int; - offsetRate!: int; - offsetPeer!: Raw.TypeInputPeer; - offsetId!: int; - limit!: int; - - constructor(params: { - broadcastsOnly?: boolean; - groupsOnly?: boolean; - usersOnly?: boolean; - folderId?: int; - q: string; - filter: Raw.TypeMessagesFilter; - minDate: int; - maxDate: int; - offsetRate: int; - offsetPeer: Raw.TypeInputPeer; - offsetId: int; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SearchGlobal'; - this.constructorId = 0x4bc6589a; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'broadcastsOnly', - 'groupsOnly', - 'usersOnly', - 'folderId', - 'q', - 'filter', - 'minDate', - 'maxDate', - 'offsetRate', - 'offsetPeer', - 'offsetId', - 'limit', - ]; - this.broadcastsOnly = params.broadcastsOnly; - this.groupsOnly = params.groupsOnly; - this.usersOnly = params.usersOnly; - this.folderId = params.folderId; - this.q = params.q; - this.filter = params.filter; - this.minDate = params.minDate; - this.maxDate = params.maxDate; - this.offsetRate = params.offsetRate; - this.offsetPeer = params.offsetPeer; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let broadcastsOnly = flags & (1 << 1) ? true : false; - let groupsOnly = flags & (1 << 2) ? true : false; - let usersOnly = flags & (1 << 3) ? true : false; - let folderId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let q = await Primitive.String.read(_data); - let filter = await TLObject.read(_data); - let minDate = await Primitive.Int.read(_data); - let maxDate = await Primitive.Int.read(_data); - let offsetRate = await Primitive.Int.read(_data); - let offsetPeer = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.SearchGlobal({ - broadcastsOnly: broadcastsOnly, - groupsOnly: groupsOnly, - usersOnly: usersOnly, - folderId: folderId, - q: q, - filter: filter, - minDate: minDate, - maxDate: maxDate, - offsetRate: offsetRate, - offsetPeer: offsetPeer, - offsetId: offsetId, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.broadcastsOnly ? 1 << 1 : 0; - flags |= this.groupsOnly ? 1 << 2 : 0; - flags |= this.usersOnly ? 1 << 3 : 0; - flags |= this.folderId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.minDate !== undefined) { - b.write(Primitive.Int.write(this.minDate) as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - if (this.offsetRate !== undefined) { - b.write(Primitive.Int.write(this.offsetRate) as unknown as Buffer); - } - if (this.offsetPeer !== undefined) { - b.write(this.offsetPeer.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderStickerSets extends TLObject { - __response__!: Bool; - masks?: boolean; - emojis?: boolean; - order!: Vector; - - constructor(params: { masks?: boolean; emojis?: boolean; order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReorderStickerSets'; - this.constructorId = 0x78337739; - this.subclassOfId = 0xf5b399ac; - this._slots = ['masks', 'emojis', 'order']; - this.masks = params.masks; - this.emojis = params.emojis; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let masks = flags & (1 << 0) ? true : false; - let emojis = flags & (1 << 1) ? true : false; - let order = await TLObject.read(_data, Primitive.Long); - return new Raw.messages.ReorderStickerSets({ masks: masks, emojis: emojis, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.masks ? 1 << 0 : 0; - flags |= this.emojis ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDocumentByHash extends TLObject { - __response__!: Raw.TypeDocument; - sha256!: bytes; - size!: long; - mimeType!: string; - - constructor(params: { sha256: bytes; size: long; mimeType: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDocumentByHash'; - this.constructorId = 0xb1f2061f; - this.subclassOfId = 0x211fe820; - this._slots = ['sha256', 'size', 'mimeType']; - this.sha256 = params.sha256; - this.size = params.size; - this.mimeType = params.mimeType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sha256 = await Primitive.Bytes.read(_data); - let size = await Primitive.Long.read(_data); - let mimeType = await Primitive.String.read(_data); - return new Raw.messages.GetDocumentByHash({ - sha256: sha256, - size: size, - mimeType: mimeType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sha256 !== undefined) { - b.write(Primitive.Bytes.write(this.sha256) as unknown as Buffer); - } - if (this.size !== undefined) { - b.write(Primitive.Long.write(this.size) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedGifs extends TLObject { - __response__!: Raw.messages.TypeSavedGifs; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSavedGifs'; - this.constructorId = 0x5cf09635; - this.subclassOfId = 0xa68b61f5; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetSavedGifs({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveGif extends TLObject { - __response__!: Bool; - id!: Raw.TypeInputDocument; - unsave!: Bool; - - constructor(params: { id: Raw.TypeInputDocument; unsave: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SaveGif'; - this.constructorId = 0x327a30cb; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id', 'unsave']; - this.id = params.id; - this.unsave = params.unsave; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - let unsave = await Primitive.Bool.read(_data); - return new Raw.messages.SaveGif({ id: id, unsave: unsave }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.unsave !== undefined) { - b.write(Primitive.Bool.write(this.unsave) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetInlineBotResults extends TLObject { - __response__!: Raw.messages.TypeBotResults; - bot!: Raw.TypeInputUser; - peer!: Raw.TypeInputPeer; - geoPoint?: Raw.TypeInputGeoPoint; - query!: string; - offset!: string; - - constructor(params: { - bot: Raw.TypeInputUser; - peer: Raw.TypeInputPeer; - geoPoint?: Raw.TypeInputGeoPoint; - query: string; - offset: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetInlineBotResults'; - this.constructorId = 0x514e999d; - this.subclassOfId = 0x3ed4d9c9; - this._slots = ['bot', 'peer', 'geoPoint', 'query', 'offset']; - this.bot = params.bot; - this.peer = params.peer; - this.geoPoint = params.geoPoint; - this.query = params.query; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let bot = await TLObject.read(_data); - let peer = await TLObject.read(_data); - let geoPoint = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let query = await Primitive.String.read(_data); - let offset = await Primitive.String.read(_data); - return new Raw.messages.GetInlineBotResults({ - bot: bot, - peer: peer, - geoPoint: geoPoint, - query: query, - offset: offset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.geoPoint !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.query !== undefined) { - b.write(Primitive.String.write(this.query) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetInlineBotResults extends TLObject { - __response__!: Bool; - gallery?: boolean; - private?: boolean; - queryId!: long; - results!: Vector; - cacheTime!: int; - nextOffset?: string; - switchPm?: Raw.TypeInlineBotSwitchPM; - switchWebview?: Raw.TypeInlineBotWebView; - - constructor(params: { - gallery?: boolean; - private?: boolean; - queryId: long; - results: Vector; - cacheTime: int; - nextOffset?: string; - switchPm?: Raw.TypeInlineBotSwitchPM; - switchWebview?: Raw.TypeInlineBotWebView; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetInlineBotResults'; - this.constructorId = 0xbb12a419; - this.subclassOfId = 0xf5b399ac; - this._slots = [ - 'gallery', - 'private', - 'queryId', - 'results', - 'cacheTime', - 'nextOffset', - 'switchPm', - 'switchWebview', - ]; - this.gallery = params.gallery; - this.private = params.private; - this.queryId = params.queryId; - this.results = params.results; - this.cacheTime = params.cacheTime; - this.nextOffset = params.nextOffset; - this.switchPm = params.switchPm; - this.switchWebview = params.switchWebview; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let gallery = flags & (1 << 0) ? true : false; - let _private = flags & (1 << 1) ? true : false; - let queryId = await Primitive.Long.read(_data); - let results = await TLObject.read(_data); - let cacheTime = await Primitive.Int.read(_data); - let nextOffset = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let switchPm = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let switchWebview = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - return new Raw.messages.SetInlineBotResults({ - gallery: gallery, - private: _private, - queryId: queryId, - results: results, - cacheTime: cacheTime, - nextOffset: nextOffset, - switchPm: switchPm, - switchWebview: switchWebview, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.gallery ? 1 << 0 : 0; - flags |= this.private ? 1 << 1 : 0; - flags |= this.nextOffset !== undefined ? 1 << 2 : 0; - flags |= this.switchPm !== undefined ? 1 << 3 : 0; - flags |= this.switchWebview !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.results) { - b.write(Primitive.Vector.write(this.results) as unknown as Buffer); - } - if (this.cacheTime !== undefined) { - b.write(Primitive.Int.write(this.cacheTime) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.switchPm !== undefined) { - b.write(this.switchPm.write() as unknown as Buffer); - } - if (this.switchWebview !== undefined) { - b.write(this.switchWebview.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendInlineBotResult extends TLObject { - __response__!: Raw.TypeUpdates; - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - hideVia?: boolean; - peer!: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - randomId!: long; - queryId!: long; - id!: string; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - allowPaidStars?: long; - - constructor(params: { - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - hideVia?: boolean; - peer: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - randomId: long; - queryId: long; - id: string; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - allowPaidStars?: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendInlineBotResult'; - this.constructorId = 0xc0cf7646; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'silent', - 'background', - 'clearDraft', - 'hideVia', - 'peer', - 'replyTo', - 'randomId', - 'queryId', - 'id', - 'scheduleDate', - 'sendAs', - 'quickReplyShortcut', - 'allowPaidStars', - ]; - this.silent = params.silent; - this.background = params.background; - this.clearDraft = params.clearDraft; - this.hideVia = params.hideVia; - this.peer = params.peer; - this.replyTo = params.replyTo; - this.randomId = params.randomId; - this.queryId = params.queryId; - this.id = params.id; - this.scheduleDate = params.scheduleDate; - this.sendAs = params.sendAs; - this.quickReplyShortcut = params.quickReplyShortcut; - this.allowPaidStars = params.allowPaidStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 5) ? true : false; - let background = flags & (1 << 6) ? true : false; - let clearDraft = flags & (1 << 7) ? true : false; - let hideVia = flags & (1 << 11) ? true : false; - let peer = await TLObject.read(_data); - let replyTo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let randomId = await Primitive.Long.read(_data); - let queryId = await Primitive.Long.read(_data); - let id = await Primitive.String.read(_data); - let scheduleDate = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let quickReplyShortcut = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let allowPaidStars = flags & (1 << 21) ? await Primitive.Long.read(_data) : undefined; - return new Raw.messages.SendInlineBotResult({ - silent: silent, - background: background, - clearDraft: clearDraft, - hideVia: hideVia, - peer: peer, - replyTo: replyTo, - randomId: randomId, - queryId: queryId, - id: id, - scheduleDate: scheduleDate, - sendAs: sendAs, - quickReplyShortcut: quickReplyShortcut, - allowPaidStars: allowPaidStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.background ? 1 << 6 : 0; - flags |= this.clearDraft ? 1 << 7 : 0; - flags |= this.hideVia ? 1 << 11 : 0; - flags |= this.replyTo !== undefined ? 1 << 0 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 10 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - flags |= this.quickReplyShortcut !== undefined ? 1 << 17 : 0; - flags |= this.allowPaidStars !== undefined ? 1 << 21 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - if (this.quickReplyShortcut !== undefined) { - b.write(this.quickReplyShortcut.write() as unknown as Buffer); - } - if (this.allowPaidStars !== undefined) { - b.write(Primitive.Long.write(this.allowPaidStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessageEditData extends TLObject { - __response__!: Raw.messages.TypeMessageEditData; - peer!: Raw.TypeInputPeer; - id!: int; - - constructor(params: { peer: Raw.TypeInputPeer; id: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMessageEditData'; - this.constructorId = 0xfda68d36; - this.subclassOfId = 0xfb47949d; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.messages.GetMessageEditData({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditMessage extends TLObject { - __response__!: Raw.TypeUpdates; - noWebpage?: boolean; - invertMedia?: boolean; - peer!: Raw.TypeInputPeer; - id!: int; - message?: string; - media?: Raw.TypeInputMedia; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - scheduleDate?: int; - quickReplyShortcutId?: int; - - constructor(params: { - noWebpage?: boolean; - invertMedia?: boolean; - peer: Raw.TypeInputPeer; - id: int; - message?: string; - media?: Raw.TypeInputMedia; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - scheduleDate?: int; - quickReplyShortcutId?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditMessage'; - this.constructorId = 0xdfd14005; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'noWebpage', - 'invertMedia', - 'peer', - 'id', - 'message', - 'media', - 'replyMarkup', - 'entities', - 'scheduleDate', - 'quickReplyShortcutId', - ]; - this.noWebpage = params.noWebpage; - this.invertMedia = params.invertMedia; - this.peer = params.peer; - this.id = params.id; - this.message = params.message; - this.media = params.media; - this.replyMarkup = params.replyMarkup; - this.entities = params.entities; - this.scheduleDate = params.scheduleDate; - this.quickReplyShortcutId = params.quickReplyShortcutId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 1) ? true : false; - let invertMedia = flags & (1 << 16) ? true : false; - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let message = flags & (1 << 11) ? await Primitive.String.read(_data) : undefined; - let media = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - let scheduleDate = flags & (1 << 15) ? await Primitive.Int.read(_data) : undefined; - let quickReplyShortcutId = flags & (1 << 17) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.EditMessage({ - noWebpage: noWebpage, - invertMedia: invertMedia, - peer: peer, - id: id, - message: message, - media: media, - replyMarkup: replyMarkup, - entities: entities, - scheduleDate: scheduleDate, - quickReplyShortcutId: quickReplyShortcutId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 1 : 0; - flags |= this.invertMedia ? 1 << 16 : 0; - flags |= this.message !== undefined ? 1 << 11 : 0; - flags |= this.media !== undefined ? 1 << 14 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - flags |= this.entities ? 1 << 3 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 15 : 0; - flags |= this.quickReplyShortcutId !== undefined ? 1 << 17 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.quickReplyShortcutId !== undefined) { - b.write(Primitive.Int.write(this.quickReplyShortcutId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditInlineBotMessage extends TLObject { - __response__!: Bool; - noWebpage?: boolean; - invertMedia?: boolean; - id!: Raw.TypeInputBotInlineMessageID; - message?: string; - media?: Raw.TypeInputMedia; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - - constructor(params: { - noWebpage?: boolean; - invertMedia?: boolean; - id: Raw.TypeInputBotInlineMessageID; - message?: string; - media?: Raw.TypeInputMedia; - replyMarkup?: Raw.TypeReplyMarkup; - entities?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditInlineBotMessage'; - this.constructorId = 0x83557dba; - this.subclassOfId = 0xf5b399ac; - this._slots = [ - 'noWebpage', - 'invertMedia', - 'id', - 'message', - 'media', - 'replyMarkup', - 'entities', - ]; - this.noWebpage = params.noWebpage; - this.invertMedia = params.invertMedia; - this.id = params.id; - this.message = params.message; - this.media = params.media; - this.replyMarkup = params.replyMarkup; - this.entities = params.entities; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 1) ? true : false; - let invertMedia = flags & (1 << 16) ? true : false; - let id = await TLObject.read(_data); - let message = flags & (1 << 11) ? await Primitive.String.read(_data) : undefined; - let media = flags & (1 << 14) ? await TLObject.read(_data) : undefined; - let replyMarkup = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - return new Raw.messages.EditInlineBotMessage({ - noWebpage: noWebpage, - invertMedia: invertMedia, - id: id, - message: message, - media: media, - replyMarkup: replyMarkup, - entities: entities, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 1 : 0; - flags |= this.invertMedia ? 1 << 16 : 0; - flags |= this.message !== undefined ? 1 << 11 : 0; - flags |= this.media !== undefined ? 1 << 14 : 0; - flags |= this.replyMarkup !== undefined ? 1 << 2 : 0; - flags |= this.entities ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.replyMarkup !== undefined) { - b.write(this.replyMarkup.write() as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotCallbackAnswer extends TLObject { - __response__!: Raw.messages.TypeBotCallbackAnswer; - game?: boolean; - peer!: Raw.TypeInputPeer; - msgId!: int; - data?: bytes; - password?: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { - game?: boolean; - peer: Raw.TypeInputPeer; - msgId: int; - data?: bytes; - password?: Raw.TypeInputCheckPasswordSRP; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetBotCallbackAnswer'; - this.constructorId = 0x9342ca07; - this.subclassOfId = 0x6c4dd18c; - this._slots = ['game', 'peer', 'msgId', 'data', 'password']; - this.game = params.game; - this.peer = params.peer; - this.msgId = params.msgId; - this.data = params.data; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let game = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let data = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let password = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.messages.GetBotCallbackAnswer({ - game: game, - peer: peer, - msgId: msgId, - data: data, - password: password, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.game ? 1 << 1 : 0; - flags |= this.data !== undefined ? 1 << 0 : 0; - flags |= this.password !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotCallbackAnswer extends TLObject { - __response__!: Bool; - alert?: boolean; - queryId!: long; - message?: string; - url?: string; - cacheTime!: int; - - constructor(params: { - alert?: boolean; - queryId: long; - message?: string; - url?: string; - cacheTime: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetBotCallbackAnswer'; - this.constructorId = 0xd58f130a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['alert', 'queryId', 'message', 'url', 'cacheTime']; - this.alert = params.alert; - this.queryId = params.queryId; - this.message = params.message; - this.url = params.url; - this.cacheTime = params.cacheTime; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let alert = flags & (1 << 1) ? true : false; - let queryId = await Primitive.Long.read(_data); - let message = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let url = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let cacheTime = await Primitive.Int.read(_data); - return new Raw.messages.SetBotCallbackAnswer({ - alert: alert, - queryId: queryId, - message: message, - url: url, - cacheTime: cacheTime, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.alert ? 1 << 1 : 0; - flags |= this.message !== undefined ? 1 << 0 : 0; - flags |= this.url !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.cacheTime !== undefined) { - b.write(Primitive.Int.write(this.cacheTime) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPeerDialogs extends TLObject { - __response__!: Raw.messages.TypePeerDialogs; - peers!: Vector; - - constructor(params: { peers: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPeerDialogs'; - this.constructorId = 0xe470bcfd; - this.subclassOfId = 0x3ac70132; - this._slots = ['peers']; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peers = await TLObject.read(_data); - return new Raw.messages.GetPeerDialogs({ peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveDraft extends TLObject { - __response__!: Bool; - noWebpage?: boolean; - invertMedia?: boolean; - replyTo?: Raw.TypeInputReplyTo; - peer!: Raw.TypeInputPeer; - message!: string; - entities?: Vector; - media?: Raw.TypeInputMedia; - effect?: long; - suggestedPost?: Raw.TypeSuggestedPost; - - constructor(params: { - noWebpage?: boolean; - invertMedia?: boolean; - replyTo?: Raw.TypeInputReplyTo; - peer: Raw.TypeInputPeer; - message: string; - entities?: Vector; - media?: Raw.TypeInputMedia; - effect?: long; - suggestedPost?: Raw.TypeSuggestedPost; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SaveDraft'; - this.constructorId = 0x54ae308e; - this.subclassOfId = 0xf5b399ac; - this._slots = [ - 'noWebpage', - 'invertMedia', - 'replyTo', - 'peer', - 'message', - 'entities', - 'media', - 'effect', - 'suggestedPost', - ]; - this.noWebpage = params.noWebpage; - this.invertMedia = params.invertMedia; - this.replyTo = params.replyTo; - this.peer = params.peer; - this.message = params.message; - this.entities = params.entities; - this.media = params.media; - this.effect = params.effect; - this.suggestedPost = params.suggestedPost; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noWebpage = flags & (1 << 1) ? true : false; - let invertMedia = flags & (1 << 6) ? true : false; - let replyTo = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let peer = await TLObject.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 3) ? await TLObject.read(_data) : []; - let media = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let effect = flags & (1 << 7) ? await Primitive.Long.read(_data) : undefined; - let suggestedPost = flags & (1 << 8) ? await TLObject.read(_data) : undefined; - return new Raw.messages.SaveDraft({ - noWebpage: noWebpage, - invertMedia: invertMedia, - replyTo: replyTo, - peer: peer, - message: message, - entities: entities, - media: media, - effect: effect, - suggestedPost: suggestedPost, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noWebpage ? 1 << 1 : 0; - flags |= this.invertMedia ? 1 << 6 : 0; - flags |= this.replyTo !== undefined ? 1 << 4 : 0; - flags |= this.entities ? 1 << 3 : 0; - flags |= this.media !== undefined ? 1 << 5 : 0; - flags |= this.effect !== undefined ? 1 << 7 : 0; - flags |= this.suggestedPost !== undefined ? 1 << 8 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.effect !== undefined) { - b.write(Primitive.Long.write(this.effect) as unknown as Buffer); - } - if (this.suggestedPost !== undefined) { - b.write(this.suggestedPost.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAllDrafts extends TLObject { - __response__!: Raw.TypeUpdates; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAllDrafts'; - this.constructorId = 0x6a3f8d65; - this.subclassOfId = 0x8af52aac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetAllDrafts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFeaturedStickers extends TLObject { - __response__!: Raw.messages.TypeFeaturedStickers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetFeaturedStickers'; - this.constructorId = 0x64780b14; - this.subclassOfId = 0x2614b722; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetFeaturedStickers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadFeaturedStickers extends TLObject { - __response__!: Bool; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadFeaturedStickers'; - this.constructorId = 0x5b118126; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data, Primitive.Long); - return new Raw.messages.ReadFeaturedStickers({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetRecentStickers extends TLObject { - __response__!: Raw.messages.TypeRecentStickers; - attached?: boolean; - hash!: long; - - constructor(params: { attached?: boolean; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetRecentStickers'; - this.constructorId = 0x9da9403b; - this.subclassOfId = 0xf76f8683; - this._slots = ['attached', 'hash']; - this.attached = params.attached; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let attached = flags & (1 << 0) ? true : false; - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetRecentStickers({ attached: attached, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.attached ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveRecentSticker extends TLObject { - __response__!: Bool; - attached?: boolean; - id!: Raw.TypeInputDocument; - unsave!: Bool; - - constructor(params: { attached?: boolean; id: Raw.TypeInputDocument; unsave: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SaveRecentSticker'; - this.constructorId = 0x392718f8; - this.subclassOfId = 0xf5b399ac; - this._slots = ['attached', 'id', 'unsave']; - this.attached = params.attached; - this.id = params.id; - this.unsave = params.unsave; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let attached = flags & (1 << 0) ? true : false; - let id = await TLObject.read(_data); - let unsave = await Primitive.Bool.read(_data); - return new Raw.messages.SaveRecentSticker({ attached: attached, id: id, unsave: unsave }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.attached ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.unsave !== undefined) { - b.write(Primitive.Bool.write(this.unsave) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClearRecentStickers extends TLObject { - __response__!: Bool; - attached?: boolean; - - constructor(params: { attached?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ClearRecentStickers'; - this.constructorId = 0x8999602d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['attached']; - this.attached = params.attached; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let attached = flags & (1 << 0) ? true : false; - return new Raw.messages.ClearRecentStickers({ attached: attached }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.attached ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetArchivedStickers extends TLObject { - __response__!: Raw.messages.TypeArchivedStickers; - masks?: boolean; - emojis?: boolean; - offsetId!: long; - limit!: int; - - constructor(params: { masks?: boolean; emojis?: boolean; offsetId: long; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetArchivedStickers'; - this.constructorId = 0x57f17692; - this.subclassOfId = 0x7296d771; - this._slots = ['masks', 'emojis', 'offsetId', 'limit']; - this.masks = params.masks; - this.emojis = params.emojis; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let masks = flags & (1 << 0) ? true : false; - let emojis = flags & (1 << 1) ? true : false; - let offsetId = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetArchivedStickers({ - masks: masks, - emojis: emojis, - offsetId: offsetId, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.masks ? 1 << 0 : 0; - flags |= this.emojis ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.offsetId !== undefined) { - b.write(Primitive.Long.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMaskStickers extends TLObject { - __response__!: Raw.messages.TypeAllStickers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMaskStickers'; - this.constructorId = 0x640f82b8; - this.subclassOfId = 0x45834829; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetMaskStickers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAttachedStickers extends TLObject { - __response__!: Vector; - media!: Raw.TypeInputStickeredMedia; - - constructor(params: { media: Raw.TypeInputStickeredMedia }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAttachedStickers'; - this.constructorId = 0xcc5b67cc; - this.subclassOfId = 0xcc125f6b; - this._slots = ['media']; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let media = await TLObject.read(_data); - return new Raw.messages.GetAttachedStickers({ media: media }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetGameScore extends TLObject { - __response__!: Raw.TypeUpdates; - editMessage?: boolean; - force?: boolean; - peer!: Raw.TypeInputPeer; - id!: int; - userId!: Raw.TypeInputUser; - score!: int; - - constructor(params: { - editMessage?: boolean; - force?: boolean; - peer: Raw.TypeInputPeer; - id: int; - userId: Raw.TypeInputUser; - score: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetGameScore'; - this.constructorId = 0x8ef8ecc0; - this.subclassOfId = 0x8af52aac; - this._slots = ['editMessage', 'force', 'peer', 'id', 'userId', 'score']; - this.editMessage = params.editMessage; - this.force = params.force; - this.peer = params.peer; - this.id = params.id; - this.userId = params.userId; - this.score = params.score; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let editMessage = flags & (1 << 0) ? true : false; - let force = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let userId = await TLObject.read(_data); - let score = await Primitive.Int.read(_data); - return new Raw.messages.SetGameScore({ - editMessage: editMessage, - force: force, - peer: peer, - id: id, - userId: userId, - score: score, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.editMessage ? 1 << 0 : 0; - flags |= this.force ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.score !== undefined) { - b.write(Primitive.Int.write(this.score) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetInlineGameScore extends TLObject { - __response__!: Bool; - editMessage?: boolean; - force?: boolean; - id!: Raw.TypeInputBotInlineMessageID; - userId!: Raw.TypeInputUser; - score!: int; - - constructor(params: { - editMessage?: boolean; - force?: boolean; - id: Raw.TypeInputBotInlineMessageID; - userId: Raw.TypeInputUser; - score: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetInlineGameScore'; - this.constructorId = 0x15ad9f64; - this.subclassOfId = 0xf5b399ac; - this._slots = ['editMessage', 'force', 'id', 'userId', 'score']; - this.editMessage = params.editMessage; - this.force = params.force; - this.id = params.id; - this.userId = params.userId; - this.score = params.score; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let editMessage = flags & (1 << 0) ? true : false; - let force = flags & (1 << 1) ? true : false; - let id = await TLObject.read(_data); - let userId = await TLObject.read(_data); - let score = await Primitive.Int.read(_data); - return new Raw.messages.SetInlineGameScore({ - editMessage: editMessage, - force: force, - id: id, - userId: userId, - score: score, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.editMessage ? 1 << 0 : 0; - flags |= this.force ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.score !== undefined) { - b.write(Primitive.Int.write(this.score) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGameHighScores extends TLObject { - __response__!: Raw.messages.TypeHighScores; - peer!: Raw.TypeInputPeer; - id!: int; - userId!: Raw.TypeInputUser; - - constructor(params: { peer: Raw.TypeInputPeer; id: int; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetGameHighScores'; - this.constructorId = 0xe822649d; - this.subclassOfId = 0x6ccd95fd; - this._slots = ['peer', 'id', 'userId']; - this.peer = params.peer; - this.id = params.id; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let userId = await TLObject.read(_data); - return new Raw.messages.GetGameHighScores({ peer: peer, id: id, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetInlineGameHighScores extends TLObject { - __response__!: Raw.messages.TypeHighScores; - id!: Raw.TypeInputBotInlineMessageID; - userId!: Raw.TypeInputUser; - - constructor(params: { id: Raw.TypeInputBotInlineMessageID; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetInlineGameHighScores'; - this.constructorId = 0xf635e1b; - this.subclassOfId = 0x6ccd95fd; - this._slots = ['id', 'userId']; - this.id = params.id; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - let userId = await TLObject.read(_data); - return new Raw.messages.GetInlineGameHighScores({ id: id, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCommonChats extends TLObject { - __response__!: Raw.messages.TypeChats; - userId!: Raw.TypeInputUser; - maxId!: long; - limit!: int; - - constructor(params: { userId: Raw.TypeInputUser; maxId: long; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetCommonChats'; - this.constructorId = 0xe40ca104; - this.subclassOfId = 0x99d5cb14; - this._slots = ['userId', 'maxId', 'limit']; - this.userId = params.userId; - this.maxId = params.maxId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let maxId = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetCommonChats({ userId: userId, maxId: maxId, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Long.write(this.maxId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetWebPage extends TLObject { - __response__!: Raw.messages.TypeWebPage; - url!: string; - hash!: int; - - constructor(params: { url: string; hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetWebPage'; - this.constructorId = 0x8d9692a3; - this.subclassOfId = 0x2cf8b154; - this._slots = ['url', 'hash']; - this.url = params.url; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetWebPage({ url: url, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleDialogPin extends TLObject { - __response__!: Bool; - pinned?: boolean; - peer!: Raw.TypeInputDialogPeer; - - constructor(params: { pinned?: boolean; peer: Raw.TypeInputDialogPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleDialogPin'; - this.constructorId = 0xa731e257; - this.subclassOfId = 0xf5b399ac; - this._slots = ['pinned', 'peer']; - this.pinned = params.pinned; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.messages.ToggleDialogPin({ pinned: pinned, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderPinnedDialogs extends TLObject { - __response__!: Bool; - force?: boolean; - folderId!: int; - order!: Vector; - - constructor(params: { - force?: boolean; - folderId: int; - order: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReorderPinnedDialogs'; - this.constructorId = 0x3b1adf37; - this.subclassOfId = 0xf5b399ac; - this._slots = ['force', 'folderId', 'order']; - this.force = params.force; - this.folderId = params.folderId; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let force = flags & (1 << 0) ? true : false; - let folderId = await Primitive.Int.read(_data); - let order = await TLObject.read(_data); - return new Raw.messages.ReorderPinnedDialogs({ - force: force, - folderId: folderId, - order: order, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.force ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPinnedDialogs extends TLObject { - __response__!: Raw.messages.TypePeerDialogs; - folderId!: int; - - constructor(params: { folderId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPinnedDialogs'; - this.constructorId = 0xd6b94df2; - this.subclassOfId = 0x3ac70132; - this._slots = ['folderId']; - this.folderId = params.folderId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let folderId = await Primitive.Int.read(_data); - return new Raw.messages.GetPinnedDialogs({ folderId: folderId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.folderId !== undefined) { - b.write(Primitive.Int.write(this.folderId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotShippingResults extends TLObject { - __response__!: Bool; - queryId!: long; - error?: string; - shippingOptions?: Vector; - - constructor(params: { - queryId: long; - error?: string; - shippingOptions?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetBotShippingResults'; - this.constructorId = 0xe5f672fa; - this.subclassOfId = 0xf5b399ac; - this._slots = ['queryId', 'error', 'shippingOptions']; - this.queryId = params.queryId; - this.error = params.error; - this.shippingOptions = params.shippingOptions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let queryId = await Primitive.Long.read(_data); - let error = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let shippingOptions = flags & (1 << 1) ? await TLObject.read(_data) : []; - return new Raw.messages.SetBotShippingResults({ - queryId: queryId, - error: error, - shippingOptions: shippingOptions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.error !== undefined ? 1 << 0 : 0; - flags |= this.shippingOptions ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.error !== undefined) { - b.write(Primitive.String.write(this.error) as unknown as Buffer); - } - if (this.shippingOptions) { - b.write(Primitive.Vector.write(this.shippingOptions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotPrecheckoutResults extends TLObject { - __response__!: Bool; - success?: boolean; - queryId!: long; - error?: string; - - constructor(params: { success?: boolean; queryId: long; error?: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetBotPrecheckoutResults'; - this.constructorId = 0x9c2dd95; - this.subclassOfId = 0xf5b399ac; - this._slots = ['success', 'queryId', 'error']; - this.success = params.success; - this.queryId = params.queryId; - this.error = params.error; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let success = flags & (1 << 1) ? true : false; - let queryId = await Primitive.Long.read(_data); - let error = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.SetBotPrecheckoutResults({ - success: success, - queryId: queryId, - error: error, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.success ? 1 << 1 : 0; - flags |= this.error !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.error !== undefined) { - b.write(Primitive.String.write(this.error) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadMedia extends TLObject { - __response__!: Raw.TypeMessageMedia; - businessConnectionId?: string; - peer!: Raw.TypeInputPeer; - media!: Raw.TypeInputMedia; - - constructor(params: { - businessConnectionId?: string; - peer: Raw.TypeInputPeer; - media: Raw.TypeInputMedia; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UploadMedia'; - this.constructorId = 0x14967978; - this.subclassOfId = 0x476cbe32; - this._slots = ['businessConnectionId', 'peer', 'media']; - this.businessConnectionId = params.businessConnectionId; - this.peer = params.peer; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let businessConnectionId = - flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let peer = await TLObject.read(_data); - let media = await TLObject.read(_data); - return new Raw.messages.UploadMedia({ - businessConnectionId: businessConnectionId, - peer: peer, - media: media, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.businessConnectionId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.businessConnectionId !== undefined) { - b.write(Primitive.String.write(this.businessConnectionId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendScreenshotNotification extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - replyTo!: Raw.TypeInputReplyTo; - randomId!: long; - - constructor(params: { - peer: Raw.TypeInputPeer; - replyTo: Raw.TypeInputReplyTo; - randomId: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendScreenshotNotification'; - this.constructorId = 0xa1405817; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'replyTo', 'randomId']; - this.peer = params.peer; - this.replyTo = params.replyTo; - this.randomId = params.randomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let replyTo = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - return new Raw.messages.SendScreenshotNotification({ - peer: peer, - replyTo: replyTo, - randomId: randomId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFavedStickers extends TLObject { - __response__!: Raw.messages.TypeFavedStickers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetFavedStickers'; - this.constructorId = 0x4f1aaa9; - this.subclassOfId = 0x8e736fb9; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetFavedStickers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FaveSticker extends TLObject { - __response__!: Bool; - id!: Raw.TypeInputDocument; - unfave!: Bool; - - constructor(params: { id: Raw.TypeInputDocument; unfave: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.FaveSticker'; - this.constructorId = 0xb9ffc55b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id', 'unfave']; - this.id = params.id; - this.unfave = params.unfave; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - let unfave = await Primitive.Bool.read(_data); - return new Raw.messages.FaveSticker({ id: id, unfave: unfave }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.unfave !== undefined) { - b.write(Primitive.Bool.write(this.unfave) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUnreadMentions extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - topMsgId?: int; - offsetId!: int; - addOffset!: int; - limit!: int; - maxId!: int; - minId!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - topMsgId?: int; - offsetId: int; - addOffset: int; - limit: int; - maxId: int; - minId: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetUnreadMentions'; - this.constructorId = 0xf107e790; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['peer', 'topMsgId', 'offsetId', 'addOffset', 'limit', 'maxId', 'minId']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - this.offsetId = params.offsetId; - this.addOffset = params.addOffset; - this.limit = params.limit; - this.maxId = params.maxId; - this.minId = params.minId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let offsetId = await Primitive.Int.read(_data); - let addOffset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - let minId = await Primitive.Int.read(_data); - return new Raw.messages.GetUnreadMentions({ - peer: peer, - topMsgId: topMsgId, - offsetId: offsetId, - addOffset: addOffset, - limit: limit, - maxId: maxId, - minId: minId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.addOffset !== undefined) { - b.write(Primitive.Int.write(this.addOffset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadMentions extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - peer!: Raw.TypeInputPeer; - topMsgId?: int; - - constructor(params: { peer: Raw.TypeInputPeer; topMsgId?: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadMentions'; - this.constructorId = 0x36e5bf4d; - this.subclassOfId = 0x2c49c116; - this._slots = ['peer', 'topMsgId']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.ReadMentions({ peer: peer, topMsgId: topMsgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetRecentLocations extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - limit!: int; - hash!: long; - - constructor(params: { peer: Raw.TypeInputPeer; limit: int; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetRecentLocations'; - this.constructorId = 0x702a40e0; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['peer', 'limit', 'hash']; - this.peer = params.peer; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetRecentLocations({ peer: peer, limit: limit, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendMultiMedia extends TLObject { - __response__!: Raw.TypeUpdates; - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - noforwards?: boolean; - updateStickersetsOrder?: boolean; - invertMedia?: boolean; - allowPaidFloodskip?: boolean; - peer!: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - multiMedia!: Vector; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - effect?: long; - allowPaidStars?: long; - - constructor(params: { - silent?: boolean; - background?: boolean; - clearDraft?: boolean; - noforwards?: boolean; - updateStickersetsOrder?: boolean; - invertMedia?: boolean; - allowPaidFloodskip?: boolean; - peer: Raw.TypeInputPeer; - replyTo?: Raw.TypeInputReplyTo; - multiMedia: Vector; - scheduleDate?: int; - sendAs?: Raw.TypeInputPeer; - quickReplyShortcut?: Raw.TypeInputQuickReplyShortcut; - effect?: long; - allowPaidStars?: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendMultiMedia'; - this.constructorId = 0x1bf89d74; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'silent', - 'background', - 'clearDraft', - 'noforwards', - 'updateStickersetsOrder', - 'invertMedia', - 'allowPaidFloodskip', - 'peer', - 'replyTo', - 'multiMedia', - 'scheduleDate', - 'sendAs', - 'quickReplyShortcut', - 'effect', - 'allowPaidStars', - ]; - this.silent = params.silent; - this.background = params.background; - this.clearDraft = params.clearDraft; - this.noforwards = params.noforwards; - this.updateStickersetsOrder = params.updateStickersetsOrder; - this.invertMedia = params.invertMedia; - this.allowPaidFloodskip = params.allowPaidFloodskip; - this.peer = params.peer; - this.replyTo = params.replyTo; - this.multiMedia = params.multiMedia; - this.scheduleDate = params.scheduleDate; - this.sendAs = params.sendAs; - this.quickReplyShortcut = params.quickReplyShortcut; - this.effect = params.effect; - this.allowPaidStars = params.allowPaidStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 5) ? true : false; - let background = flags & (1 << 6) ? true : false; - let clearDraft = flags & (1 << 7) ? true : false; - let noforwards = flags & (1 << 14) ? true : false; - let updateStickersetsOrder = flags & (1 << 15) ? true : false; - let invertMedia = flags & (1 << 16) ? true : false; - let allowPaidFloodskip = flags & (1 << 19) ? true : false; - let peer = await TLObject.read(_data); - let replyTo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let multiMedia = await TLObject.read(_data); - let scheduleDate = flags & (1 << 10) ? await Primitive.Int.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - let quickReplyShortcut = flags & (1 << 17) ? await TLObject.read(_data) : undefined; - let effect = flags & (1 << 18) ? await Primitive.Long.read(_data) : undefined; - let allowPaidStars = flags & (1 << 21) ? await Primitive.Long.read(_data) : undefined; - return new Raw.messages.SendMultiMedia({ - silent: silent, - background: background, - clearDraft: clearDraft, - noforwards: noforwards, - updateStickersetsOrder: updateStickersetsOrder, - invertMedia: invertMedia, - allowPaidFloodskip: allowPaidFloodskip, - peer: peer, - replyTo: replyTo, - multiMedia: multiMedia, - scheduleDate: scheduleDate, - sendAs: sendAs, - quickReplyShortcut: quickReplyShortcut, - effect: effect, - allowPaidStars: allowPaidStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.background ? 1 << 6 : 0; - flags |= this.clearDraft ? 1 << 7 : 0; - flags |= this.noforwards ? 1 << 14 : 0; - flags |= this.updateStickersetsOrder ? 1 << 15 : 0; - flags |= this.invertMedia ? 1 << 16 : 0; - flags |= this.allowPaidFloodskip ? 1 << 19 : 0; - flags |= this.replyTo !== undefined ? 1 << 0 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 10 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - flags |= this.quickReplyShortcut !== undefined ? 1 << 17 : 0; - flags |= this.effect !== undefined ? 1 << 18 : 0; - flags |= this.allowPaidStars !== undefined ? 1 << 21 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.multiMedia) { - b.write(Primitive.Vector.write(this.multiMedia) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - if (this.quickReplyShortcut !== undefined) { - b.write(this.quickReplyShortcut.write() as unknown as Buffer); - } - if (this.effect !== undefined) { - b.write(Primitive.Long.write(this.effect) as unknown as Buffer); - } - if (this.allowPaidStars !== undefined) { - b.write(Primitive.Long.write(this.allowPaidStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadEncryptedFile extends TLObject { - __response__!: Raw.TypeEncryptedFile; - peer!: Raw.TypeInputEncryptedChat; - file!: Raw.TypeInputEncryptedFile; - - constructor(params: { peer: Raw.TypeInputEncryptedChat; file: Raw.TypeInputEncryptedFile }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UploadEncryptedFile'; - this.constructorId = 0x5057c497; - this.subclassOfId = 0x842a67c0; - this._slots = ['peer', 'file']; - this.peer = params.peer; - this.file = params.file; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let file = await TLObject.read(_data); - return new Raw.messages.UploadEncryptedFile({ peer: peer, file: file }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchStickerSets extends TLObject { - __response__!: Raw.messages.TypeFoundStickerSets; - excludeFeatured?: boolean; - q!: string; - hash!: long; - - constructor(params: { excludeFeatured?: boolean; q: string; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SearchStickerSets'; - this.constructorId = 0x35705b8a; - this.subclassOfId = 0x40df361; - this._slots = ['excludeFeatured', 'q', 'hash']; - this.excludeFeatured = params.excludeFeatured; - this.q = params.q; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let excludeFeatured = flags & (1 << 0) ? true : false; - let q = await Primitive.String.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.SearchStickerSets({ - excludeFeatured: excludeFeatured, - q: q, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.excludeFeatured ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSplitRanges extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSplitRanges'; - this.constructorId = 0x1cff7e08; - this.subclassOfId = 0x5ba52504; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetSplitRanges(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MarkDialogUnread extends TLObject { - __response__!: Bool; - unread?: boolean; - parentPeer?: Raw.TypeInputPeer; - peer!: Raw.TypeInputDialogPeer; - - constructor(params: { - unread?: boolean; - parentPeer?: Raw.TypeInputPeer; - peer: Raw.TypeInputDialogPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.MarkDialogUnread'; - this.constructorId = 0x8c5006f8; - this.subclassOfId = 0xf5b399ac; - this._slots = ['unread', 'parentPeer', 'peer']; - this.unread = params.unread; - this.parentPeer = params.parentPeer; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let unread = flags & (1 << 0) ? true : false; - let parentPeer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let peer = await TLObject.read(_data); - return new Raw.messages.MarkDialogUnread({ - unread: unread, - parentPeer: parentPeer, - peer: peer, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.unread ? 1 << 0 : 0; - flags |= this.parentPeer !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDialogUnreadMarks extends TLObject { - __response__!: Vector; - parentPeer?: Raw.TypeInputPeer; - - constructor(params: { parentPeer?: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDialogUnreadMarks'; - this.constructorId = 0x21202222; - this.subclassOfId = 0xbec64ad9; - this._slots = ['parentPeer']; - this.parentPeer = params.parentPeer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let parentPeer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.messages.GetDialogUnreadMarks({ parentPeer: parentPeer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.parentPeer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClearAllDrafts extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.ClearAllDrafts'; - this.constructorId = 0x7e58ee9c; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.ClearAllDrafts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePinnedMessage extends TLObject { - __response__!: Raw.TypeUpdates; - silent?: boolean; - unpin?: boolean; - pmOneside?: boolean; - peer!: Raw.TypeInputPeer; - id!: int; - - constructor(params: { - silent?: boolean; - unpin?: boolean; - pmOneside?: boolean; - peer: Raw.TypeInputPeer; - id: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UpdatePinnedMessage'; - this.constructorId = 0xd2aaf7ec; - this.subclassOfId = 0x8af52aac; - this._slots = ['silent', 'unpin', 'pmOneside', 'peer', 'id']; - this.silent = params.silent; - this.unpin = params.unpin; - this.pmOneside = params.pmOneside; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 0) ? true : false; - let unpin = flags & (1 << 1) ? true : false; - let pmOneside = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.messages.UpdatePinnedMessage({ - silent: silent, - unpin: unpin, - pmOneside: pmOneside, - peer: peer, - id: id, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 0 : 0; - flags |= this.unpin ? 1 << 1 : 0; - flags |= this.pmOneside ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendVote extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - options!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; options: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendVote'; - this.constructorId = 0x10ea6184; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId', 'options']; - this.peer = params.peer; - this.msgId = params.msgId; - this.options = params.options; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let options = await TLObject.read(_data, Primitive.Bytes); - return new Raw.messages.SendVote({ peer: peer, msgId: msgId, options: options }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.options) { - b.write(Primitive.Vector.write(this.options, Primitive.Bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPollResults extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPollResults'; - this.constructorId = 0x73bb643b; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.messages.GetPollResults({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetOnlines extends TLObject { - __response__!: Raw.TypeChatOnlines; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetOnlines'; - this.constructorId = 0x6e2be050; - this.subclassOfId = 0x8c81903a; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.GetOnlines({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditChatAbout extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - about!: string; - - constructor(params: { peer: Raw.TypeInputPeer; about: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditChatAbout'; - this.constructorId = 0xdef60797; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'about']; - this.peer = params.peer; - this.about = params.about; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let about = await Primitive.String.read(_data); - return new Raw.messages.EditChatAbout({ peer: peer, about: about }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditChatDefaultBannedRights extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - bannedRights!: Raw.TypeChatBannedRights; - - constructor(params: { peer: Raw.TypeInputPeer; bannedRights: Raw.TypeChatBannedRights }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditChatDefaultBannedRights'; - this.constructorId = 0xa5866b41; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'bannedRights']; - this.peer = params.peer; - this.bannedRights = params.bannedRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let bannedRights = await TLObject.read(_data); - return new Raw.messages.EditChatDefaultBannedRights({ - peer: peer, - bannedRights: bannedRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.bannedRights !== undefined) { - b.write(this.bannedRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiKeywords extends TLObject { - __response__!: Raw.TypeEmojiKeywordsDifference; - langCode!: string; - - constructor(params: { langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiKeywords'; - this.constructorId = 0x35a0e062; - this.subclassOfId = 0xd279c672; - this._slots = ['langCode']; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - return new Raw.messages.GetEmojiKeywords({ langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiKeywordsDifference extends TLObject { - __response__!: Raw.TypeEmojiKeywordsDifference; - langCode!: string; - fromVersion!: int; - - constructor(params: { langCode: string; fromVersion: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiKeywordsDifference'; - this.constructorId = 0x1508b6af; - this.subclassOfId = 0xd279c672; - this._slots = ['langCode', 'fromVersion']; - this.langCode = params.langCode; - this.fromVersion = params.fromVersion; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - let fromVersion = await Primitive.Int.read(_data); - return new Raw.messages.GetEmojiKeywordsDifference({ - langCode: langCode, - fromVersion: fromVersion, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.fromVersion !== undefined) { - b.write(Primitive.Int.write(this.fromVersion) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiKeywordsLanguages extends TLObject { - __response__!: Vector; - langCodes!: Vector; - - constructor(params: { langCodes: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiKeywordsLanguages'; - this.constructorId = 0x4e9963b2; - this.subclassOfId = 0xe795d387; - this._slots = ['langCodes']; - this.langCodes = params.langCodes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCodes = await TLObject.read(_data, Primitive.String); - return new Raw.messages.GetEmojiKeywordsLanguages({ langCodes: langCodes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCodes) { - b.write(Primitive.Vector.write(this.langCodes, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiURL extends TLObject { - __response__!: Raw.TypeEmojiURL; - langCode!: string; - - constructor(params: { langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiURL'; - this.constructorId = 0xd5b10c26; - this.subclassOfId = 0x1fa08a19; - this._slots = ['langCode']; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langCode = await Primitive.String.read(_data); - return new Raw.messages.GetEmojiURL({ langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSearchCounters extends TLObject { - __response__!: Vector; - peer!: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - topMsgId?: int; - filters!: Vector; - - constructor(params: { - peer: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - topMsgId?: int; - filters: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSearchCounters'; - this.constructorId = 0x1bbcf300; - this.subclassOfId = 0x6bde3c6e; - this._slots = ['peer', 'savedPeerId', 'topMsgId', 'filters']; - this.peer = params.peer; - this.savedPeerId = params.savedPeerId; - this.topMsgId = params.topMsgId; - this.filters = params.filters; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let savedPeerId = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let filters = await TLObject.read(_data); - return new Raw.messages.GetSearchCounters({ - peer: peer, - savedPeerId: savedPeerId, - topMsgId: topMsgId, - filters: filters, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.savedPeerId !== undefined ? 1 << 2 : 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.filters) { - b.write(Primitive.Vector.write(this.filters) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestUrlAuth extends TLObject { - __response__!: Raw.TypeUrlAuthResult; - peer?: Raw.TypeInputPeer; - msgId?: int; - buttonId?: int; - url?: string; - - constructor(params: { peer?: Raw.TypeInputPeer; msgId?: int; buttonId?: int; url?: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RequestUrlAuth'; - this.constructorId = 0x198fb446; - this.subclassOfId = 0x7765cb1e; - this._slots = ['peer', 'msgId', 'buttonId', 'url']; - this.peer = params.peer; - this.msgId = params.msgId; - this.buttonId = params.buttonId; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let msgId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let buttonId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let url = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.RequestUrlAuth({ - peer: peer, - msgId: msgId, - buttonId: buttonId, - url: url, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.peer !== undefined ? 1 << 1 : 0; - flags |= this.msgId !== undefined ? 1 << 1 : 0; - flags |= this.buttonId !== undefined ? 1 << 1 : 0; - flags |= this.url !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptUrlAuth extends TLObject { - __response__!: Raw.TypeUrlAuthResult; - writeAllowed?: boolean; - peer?: Raw.TypeInputPeer; - msgId?: int; - buttonId?: int; - url?: string; - - constructor(params: { - writeAllowed?: boolean; - peer?: Raw.TypeInputPeer; - msgId?: int; - buttonId?: int; - url?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.AcceptUrlAuth'; - this.constructorId = 0xb12c7125; - this.subclassOfId = 0x7765cb1e; - this._slots = ['writeAllowed', 'peer', 'msgId', 'buttonId', 'url']; - this.writeAllowed = params.writeAllowed; - this.peer = params.peer; - this.msgId = params.msgId; - this.buttonId = params.buttonId; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let writeAllowed = flags & (1 << 0) ? true : false; - let peer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let msgId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let buttonId = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let url = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.AcceptUrlAuth({ - writeAllowed: writeAllowed, - peer: peer, - msgId: msgId, - buttonId: buttonId, - url: url, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.writeAllowed ? 1 << 0 : 0; - flags |= this.peer !== undefined ? 1 << 1 : 0; - flags |= this.msgId !== undefined ? 1 << 1 : 0; - flags |= this.buttonId !== undefined ? 1 << 1 : 0; - flags |= this.url !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HidePeerSettingsBar extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.HidePeerSettingsBar'; - this.constructorId = 0x4facb138; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.HidePeerSettingsBar({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetScheduledHistory extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - hash!: long; - - constructor(params: { peer: Raw.TypeInputPeer; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetScheduledHistory'; - this.constructorId = 0xf516760b; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['peer', 'hash']; - this.peer = params.peer; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetScheduledHistory({ peer: peer, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetScheduledMessages extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetScheduledMessages'; - this.constructorId = 0xbdbb0464; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.GetScheduledMessages({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendScheduledMessages extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendScheduledMessages'; - this.constructorId = 0xbd38850a; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.SendScheduledMessages({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteScheduledMessages extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteScheduledMessages'; - this.constructorId = 0x59ae2b16; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.DeleteScheduledMessages({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPollVotes extends TLObject { - __response__!: Raw.messages.TypeVotesList; - peer!: Raw.TypeInputPeer; - id!: int; - option?: bytes; - offset?: string; - limit!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - id: int; - option?: bytes; - offset?: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPollVotes'; - this.constructorId = 0xb86e380e; - this.subclassOfId = 0xc2199885; - this._slots = ['peer', 'id', 'option', 'offset', 'limit']; - this.peer = params.peer; - this.id = params.id; - this.option = params.option; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let option = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let offset = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetPollVotes({ - peer: peer, - id: id, - option: option, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.option !== undefined ? 1 << 0 : 0; - flags |= this.offset !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleStickerSets extends TLObject { - __response__!: Bool; - uninstall?: boolean; - archive?: boolean; - unarchive?: boolean; - stickersets!: Vector; - - constructor(params: { - uninstall?: boolean; - archive?: boolean; - unarchive?: boolean; - stickersets: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleStickerSets'; - this.constructorId = 0xb5052fea; - this.subclassOfId = 0xf5b399ac; - this._slots = ['uninstall', 'archive', 'unarchive', 'stickersets']; - this.uninstall = params.uninstall; - this.archive = params.archive; - this.unarchive = params.unarchive; - this.stickersets = params.stickersets; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let uninstall = flags & (1 << 0) ? true : false; - let archive = flags & (1 << 1) ? true : false; - let unarchive = flags & (1 << 2) ? true : false; - let stickersets = await TLObject.read(_data); - return new Raw.messages.ToggleStickerSets({ - uninstall: uninstall, - archive: archive, - unarchive: unarchive, - stickersets: stickersets, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.uninstall ? 1 << 0 : 0; - flags |= this.archive ? 1 << 1 : 0; - flags |= this.unarchive ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stickersets) { - b.write(Primitive.Vector.write(this.stickersets) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDialogFilters extends TLObject { - __response__!: Raw.messages.TypeDialogFilters; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDialogFilters'; - this.constructorId = 0xefd48c89; - this.subclassOfId = 0xa5fff1b7; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetDialogFilters(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSuggestedDialogFilters extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSuggestedDialogFilters'; - this.constructorId = 0xa29cd42c; - this.subclassOfId = 0x7b296c39; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetSuggestedDialogFilters(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogFilter extends TLObject { - __response__!: Bool; - id!: int; - filter?: Raw.TypeDialogFilter; - - constructor(params: { id: int; filter?: Raw.TypeDialogFilter }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UpdateDialogFilter'; - this.constructorId = 0x1ad4a04a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id', 'filter']; - this.id = params.id; - this.filter = params.filter; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = await Primitive.Int.read(_data); - let filter = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.messages.UpdateDialogFilter({ id: id, filter: filter }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.filter !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDialogFiltersOrder extends TLObject { - __response__!: Bool; - order!: Vector; - - constructor(params: { order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UpdateDialogFiltersOrder'; - this.constructorId = 0xc563c1e4; - this.subclassOfId = 0xf5b399ac; - this._slots = ['order']; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let order = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.UpdateDialogFiltersOrder({ order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetOldFeaturedStickers extends TLObject { - __response__!: Raw.messages.TypeFeaturedStickers; - offset!: int; - limit!: int; - hash!: long; - - constructor(params: { offset: int; limit: int; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetOldFeaturedStickers'; - this.constructorId = 0x7ed094a1; - this.subclassOfId = 0x2614b722; - this._slots = ['offset', 'limit', 'hash']; - this.offset = params.offset; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetOldFeaturedStickers({ - offset: offset, - limit: limit, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetReplies extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - msgId!: int; - offsetId!: int; - offsetDate!: int; - addOffset!: int; - limit!: int; - maxId!: int; - minId!: int; - hash!: long; - - constructor(params: { - peer: Raw.TypeInputPeer; - msgId: int; - offsetId: int; - offsetDate: int; - addOffset: int; - limit: int; - maxId: int; - minId: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetReplies'; - this.constructorId = 0x22ddd30c; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'peer', - 'msgId', - 'offsetId', - 'offsetDate', - 'addOffset', - 'limit', - 'maxId', - 'minId', - 'hash', - ]; - this.peer = params.peer; - this.msgId = params.msgId; - this.offsetId = params.offsetId; - this.offsetDate = params.offsetDate; - this.addOffset = params.addOffset; - this.limit = params.limit; - this.maxId = params.maxId; - this.minId = params.minId; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetDate = await Primitive.Int.read(_data); - let addOffset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - let minId = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetReplies({ - peer: peer, - msgId: msgId, - offsetId: offsetId, - offsetDate: offsetDate, - addOffset: addOffset, - limit: limit, - maxId: maxId, - minId: minId, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.addOffset !== undefined) { - b.write(Primitive.Int.write(this.addOffset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDiscussionMessage extends TLObject { - __response__!: Raw.messages.TypeDiscussionMessage; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDiscussionMessage'; - this.constructorId = 0x446972fd; - this.subclassOfId = 0x53f8e3e8; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.messages.GetDiscussionMessage({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadDiscussion extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - msgId!: int; - readMaxId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; readMaxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadDiscussion'; - this.constructorId = 0xf731a9f4; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'msgId', 'readMaxId']; - this.peer = params.peer; - this.msgId = params.msgId; - this.readMaxId = params.readMaxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let readMaxId = await Primitive.Int.read(_data); - return new Raw.messages.ReadDiscussion({ peer: peer, msgId: msgId, readMaxId: readMaxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.readMaxId !== undefined) { - b.write(Primitive.Int.write(this.readMaxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UnpinAllMessages extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - peer!: Raw.TypeInputPeer; - topMsgId?: int; - savedPeerId?: Raw.TypeInputPeer; - - constructor(params: { - peer: Raw.TypeInputPeer; - topMsgId?: int; - savedPeerId?: Raw.TypeInputPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UnpinAllMessages'; - this.constructorId = 0x62dd747; - this.subclassOfId = 0x2c49c116; - this._slots = ['peer', 'topMsgId', 'savedPeerId']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - this.savedPeerId = params.savedPeerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.messages.UnpinAllMessages({ - peer: peer, - topMsgId: topMsgId, - savedPeerId: savedPeerId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteChat extends TLObject { - __response__!: Bool; - chatId!: long; - - constructor(params: { chatId: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteChat'; - this.constructorId = 0x5bd0ee50; - this.subclassOfId = 0xf5b399ac; - this._slots = ['chatId']; - this.chatId = params.chatId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatId = await Primitive.Long.read(_data); - return new Raw.messages.DeleteChat({ chatId: chatId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatId !== undefined) { - b.write(Primitive.Long.write(this.chatId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeletePhoneCallHistory extends TLObject { - __response__!: Raw.messages.TypeAffectedFoundMessages; - revoke?: boolean; - - constructor(params: { revoke?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeletePhoneCallHistory'; - this.constructorId = 0xf9cbe409; - this.subclassOfId = 0xf817652e; - this._slots = ['revoke']; - this.revoke = params.revoke; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoke = flags & (1 << 0) ? true : false; - return new Raw.messages.DeletePhoneCallHistory({ revoke: revoke }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoke ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckHistoryImport extends TLObject { - __response__!: Raw.messages.TypeHistoryImportParsed; - importHead!: string; - - constructor(params: { importHead: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.CheckHistoryImport'; - this.constructorId = 0x43fe19f3; - this.subclassOfId = 0x5bb2720b; - this._slots = ['importHead']; - this.importHead = params.importHead; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let importHead = await Primitive.String.read(_data); - return new Raw.messages.CheckHistoryImport({ importHead: importHead }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.importHead !== undefined) { - b.write(Primitive.String.write(this.importHead) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InitHistoryImport extends TLObject { - __response__!: Raw.messages.TypeHistoryImport; - peer!: Raw.TypeInputPeer; - file!: Raw.TypeInputFile; - mediaCount!: int; - - constructor(params: { peer: Raw.TypeInputPeer; file: Raw.TypeInputFile; mediaCount: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.InitHistoryImport'; - this.constructorId = 0x34090c3b; - this.subclassOfId = 0xb18bb50a; - this._slots = ['peer', 'file', 'mediaCount']; - this.peer = params.peer; - this.file = params.file; - this.mediaCount = params.mediaCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let file = await TLObject.read(_data); - let mediaCount = await Primitive.Int.read(_data); - return new Raw.messages.InitHistoryImport({ - peer: peer, - file: file, - mediaCount: mediaCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.mediaCount !== undefined) { - b.write(Primitive.Int.write(this.mediaCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadImportedMedia extends TLObject { - __response__!: Raw.TypeMessageMedia; - peer!: Raw.TypeInputPeer; - importId!: long; - fileName!: string; - media!: Raw.TypeInputMedia; - - constructor(params: { - peer: Raw.TypeInputPeer; - importId: long; - fileName: string; - media: Raw.TypeInputMedia; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UploadImportedMedia'; - this.constructorId = 0x2a862092; - this.subclassOfId = 0x476cbe32; - this._slots = ['peer', 'importId', 'fileName', 'media']; - this.peer = params.peer; - this.importId = params.importId; - this.fileName = params.fileName; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let importId = await Primitive.Long.read(_data); - let fileName = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - return new Raw.messages.UploadImportedMedia({ - peer: peer, - importId: importId, - fileName: fileName, - media: media, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.importId !== undefined) { - b.write(Primitive.Long.write(this.importId) as unknown as Buffer); - } - if (this.fileName !== undefined) { - b.write(Primitive.String.write(this.fileName) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StartHistoryImport extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - importId!: long; - - constructor(params: { peer: Raw.TypeInputPeer; importId: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.StartHistoryImport'; - this.constructorId = 0xb43df344; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'importId']; - this.peer = params.peer; - this.importId = params.importId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let importId = await Primitive.Long.read(_data); - return new Raw.messages.StartHistoryImport({ peer: peer, importId: importId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.importId !== undefined) { - b.write(Primitive.Long.write(this.importId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetExportedChatInvites extends TLObject { - __response__!: Raw.messages.TypeExportedChatInvites; - revoked?: boolean; - peer!: Raw.TypeInputPeer; - adminId!: Raw.TypeInputUser; - offsetDate?: int; - offsetLink?: string; - limit!: int; - - constructor(params: { - revoked?: boolean; - peer: Raw.TypeInputPeer; - adminId: Raw.TypeInputUser; - offsetDate?: int; - offsetLink?: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetExportedChatInvites'; - this.constructorId = 0xa2b5a3f6; - this.subclassOfId = 0x603d3871; - this._slots = ['revoked', 'peer', 'adminId', 'offsetDate', 'offsetLink', 'limit']; - this.revoked = params.revoked; - this.peer = params.peer; - this.adminId = params.adminId; - this.offsetDate = params.offsetDate; - this.offsetLink = params.offsetLink; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoked = flags & (1 << 3) ? true : false; - let peer = await TLObject.read(_data); - let adminId = await TLObject.read(_data); - let offsetDate = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let offsetLink = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetExportedChatInvites({ - revoked: revoked, - peer: peer, - adminId: adminId, - offsetDate: offsetDate, - offsetLink: offsetLink, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoked ? 1 << 3 : 0; - flags |= this.offsetDate !== undefined ? 1 << 2 : 0; - flags |= this.offsetLink !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(this.adminId.write() as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.offsetLink !== undefined) { - b.write(Primitive.String.write(this.offsetLink) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetExportedChatInvite extends TLObject { - __response__!: Raw.messages.TypeExportedChatInvite; - peer!: Raw.TypeInputPeer; - link!: string; - - constructor(params: { peer: Raw.TypeInputPeer; link: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetExportedChatInvite'; - this.constructorId = 0x73746f5c; - this.subclassOfId = 0x82dcd4ca; - this._slots = ['peer', 'link']; - this.peer = params.peer; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let link = await Primitive.String.read(_data); - return new Raw.messages.GetExportedChatInvite({ peer: peer, link: link }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditExportedChatInvite extends TLObject { - __response__!: Raw.messages.TypeExportedChatInvite; - revoked?: boolean; - peer!: Raw.TypeInputPeer; - link!: string; - expireDate?: int; - usageLimit?: int; - requestNeeded?: Bool; - title?: string; - - constructor(params: { - revoked?: boolean; - peer: Raw.TypeInputPeer; - link: string; - expireDate?: int; - usageLimit?: int; - requestNeeded?: Bool; - title?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditExportedChatInvite'; - this.constructorId = 0xbdca2f75; - this.subclassOfId = 0x82dcd4ca; - this._slots = [ - 'revoked', - 'peer', - 'link', - 'expireDate', - 'usageLimit', - 'requestNeeded', - 'title', - ]; - this.revoked = params.revoked; - this.peer = params.peer; - this.link = params.link; - this.expireDate = params.expireDate; - this.usageLimit = params.usageLimit; - this.requestNeeded = params.requestNeeded; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoked = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let link = await Primitive.String.read(_data); - let expireDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let usageLimit = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let requestNeeded = flags & (1 << 3) ? await Primitive.Bool.read(_data) : undefined; - let title = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.EditExportedChatInvite({ - revoked: revoked, - peer: peer, - link: link, - expireDate: expireDate, - usageLimit: usageLimit, - requestNeeded: requestNeeded, - title: title, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoked ? 1 << 2 : 0; - flags |= this.expireDate !== undefined ? 1 << 0 : 0; - flags |= this.usageLimit !== undefined ? 1 << 1 : 0; - flags |= this.requestNeeded !== undefined ? 1 << 3 : 0; - flags |= this.title !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - if (this.expireDate !== undefined) { - b.write(Primitive.Int.write(this.expireDate) as unknown as Buffer); - } - if (this.usageLimit !== undefined) { - b.write(Primitive.Int.write(this.usageLimit) as unknown as Buffer); - } - if (this.requestNeeded !== undefined) { - b.write(Primitive.Bool.write(this.requestNeeded) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteRevokedExportedChatInvites extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - adminId!: Raw.TypeInputUser; - - constructor(params: { peer: Raw.TypeInputPeer; adminId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteRevokedExportedChatInvites'; - this.constructorId = 0x56987bd5; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'adminId']; - this.peer = params.peer; - this.adminId = params.adminId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let adminId = await TLObject.read(_data); - return new Raw.messages.DeleteRevokedExportedChatInvites({ peer: peer, adminId: adminId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.adminId !== undefined) { - b.write(this.adminId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteExportedChatInvite extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - link!: string; - - constructor(params: { peer: Raw.TypeInputPeer; link: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteExportedChatInvite'; - this.constructorId = 0xd464a42b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'link']; - this.peer = params.peer; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let link = await Primitive.String.read(_data); - return new Raw.messages.DeleteExportedChatInvite({ peer: peer, link: link }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAdminsWithInvites extends TLObject { - __response__!: Raw.messages.TypeChatAdminsWithInvites; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAdminsWithInvites'; - this.constructorId = 0x3920e6ef; - this.subclassOfId = 0x8f5bad2b; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.GetAdminsWithInvites({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChatInviteImporters extends TLObject { - __response__!: Raw.messages.TypeChatInviteImporters; - requested?: boolean; - subscriptionExpired?: boolean; - peer!: Raw.TypeInputPeer; - link?: string; - q?: string; - offsetDate!: int; - offsetUser!: Raw.TypeInputUser; - limit!: int; - - constructor(params: { - requested?: boolean; - subscriptionExpired?: boolean; - peer: Raw.TypeInputPeer; - link?: string; - q?: string; - offsetDate: int; - offsetUser: Raw.TypeInputUser; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetChatInviteImporters'; - this.constructorId = 0xdf04dd4e; - this.subclassOfId = 0xd9bc8aa6; - this._slots = [ - 'requested', - 'subscriptionExpired', - 'peer', - 'link', - 'q', - 'offsetDate', - 'offsetUser', - 'limit', - ]; - this.requested = params.requested; - this.subscriptionExpired = params.subscriptionExpired; - this.peer = params.peer; - this.link = params.link; - this.q = params.q; - this.offsetDate = params.offsetDate; - this.offsetUser = params.offsetUser; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let requested = flags & (1 << 0) ? true : false; - let subscriptionExpired = flags & (1 << 3) ? true : false; - let peer = await TLObject.read(_data); - let link = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let q = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let offsetDate = await Primitive.Int.read(_data); - let offsetUser = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetChatInviteImporters({ - requested: requested, - subscriptionExpired: subscriptionExpired, - peer: peer, - link: link, - q: q, - offsetDate: offsetDate, - offsetUser: offsetUser, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.requested ? 1 << 0 : 0; - flags |= this.subscriptionExpired ? 1 << 3 : 0; - flags |= this.link !== undefined ? 1 << 1 : 0; - flags |= this.q !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.offsetUser !== undefined) { - b.write(this.offsetUser.write() as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetHistoryTTL extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - period!: int; - - constructor(params: { peer: Raw.TypeInputPeer; period: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetHistoryTTL'; - this.constructorId = 0xb80e5fe4; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'period']; - this.peer = params.peer; - this.period = params.period; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let period = await Primitive.Int.read(_data); - return new Raw.messages.SetHistoryTTL({ peer: peer, period: period }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckHistoryImportPeer extends TLObject { - __response__!: Raw.messages.TypeCheckedHistoryImportPeer; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.CheckHistoryImportPeer'; - this.constructorId = 0x5dc60f03; - this.subclassOfId = 0xb84bb337; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.messages.CheckHistoryImportPeer({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetChatTheme extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - emoticon!: string; - - constructor(params: { peer: Raw.TypeInputPeer; emoticon: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetChatTheme'; - this.constructorId = 0xe63be13f; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'emoticon']; - this.peer = params.peer; - this.emoticon = params.emoticon; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let emoticon = await Primitive.String.read(_data); - return new Raw.messages.SetChatTheme({ peer: peer, emoticon: emoticon }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessageReadParticipants extends TLObject { - __response__!: Vector; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMessageReadParticipants'; - this.constructorId = 0x31c1c44f; - this.subclassOfId = 0x21ca455b; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.messages.GetMessageReadParticipants({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSearchResultsCalendar extends TLObject { - __response__!: Raw.messages.TypeSearchResultsCalendar; - peer!: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - filter!: Raw.TypeMessagesFilter; - offsetId!: int; - offsetDate!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - filter: Raw.TypeMessagesFilter; - offsetId: int; - offsetDate: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSearchResultsCalendar'; - this.constructorId = 0x6aa3f6bd; - this.subclassOfId = 0x92c5640f; - this._slots = ['peer', 'savedPeerId', 'filter', 'offsetId', 'offsetDate']; - this.peer = params.peer; - this.savedPeerId = params.savedPeerId; - this.filter = params.filter; - this.offsetId = params.offsetId; - this.offsetDate = params.offsetDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let savedPeerId = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let filter = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetDate = await Primitive.Int.read(_data); - return new Raw.messages.GetSearchResultsCalendar({ - peer: peer, - savedPeerId: savedPeerId, - filter: filter, - offsetId: offsetId, - offsetDate: offsetDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.savedPeerId !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSearchResultsPositions extends TLObject { - __response__!: Raw.messages.TypeSearchResultsPositions; - peer!: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - filter!: Raw.TypeMessagesFilter; - offsetId!: int; - limit!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - savedPeerId?: Raw.TypeInputPeer; - filter: Raw.TypeMessagesFilter; - offsetId: int; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSearchResultsPositions'; - this.constructorId = 0x9c7f2f10; - this.subclassOfId = 0xd963708d; - this._slots = ['peer', 'savedPeerId', 'filter', 'offsetId', 'limit']; - this.peer = params.peer; - this.savedPeerId = params.savedPeerId; - this.filter = params.filter; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let savedPeerId = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let filter = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetSearchResultsPositions({ - peer: peer, - savedPeerId: savedPeerId, - filter: filter, - offsetId: offsetId, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.savedPeerId !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HideChatJoinRequest extends TLObject { - __response__!: Raw.TypeUpdates; - approved?: boolean; - peer!: Raw.TypeInputPeer; - userId!: Raw.TypeInputUser; - - constructor(params: { - approved?: boolean; - peer: Raw.TypeInputPeer; - userId: Raw.TypeInputUser; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.HideChatJoinRequest'; - this.constructorId = 0x7fe7e815; - this.subclassOfId = 0x8af52aac; - this._slots = ['approved', 'peer', 'userId']; - this.approved = params.approved; - this.peer = params.peer; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let approved = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let userId = await TLObject.read(_data); - return new Raw.messages.HideChatJoinRequest({ - approved: approved, - peer: peer, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.approved ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HideAllChatJoinRequests extends TLObject { - __response__!: Raw.TypeUpdates; - approved?: boolean; - peer!: Raw.TypeInputPeer; - link?: string; - - constructor(params: { approved?: boolean; peer: Raw.TypeInputPeer; link?: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.HideAllChatJoinRequests'; - this.constructorId = 0xe085f4ea; - this.subclassOfId = 0x8af52aac; - this._slots = ['approved', 'peer', 'link']; - this.approved = params.approved; - this.peer = params.peer; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let approved = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let link = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.HideAllChatJoinRequests({ - approved: approved, - peer: peer, - link: link, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.approved ? 1 << 0 : 0; - flags |= this.link !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleNoForwards extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - enabled!: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleNoForwards'; - this.constructorId = 0xb11eafa2; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'enabled']; - this.peer = params.peer; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.messages.ToggleNoForwards({ peer: peer, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveDefaultSendAs extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - sendAs!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer; sendAs: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SaveDefaultSendAs'; - this.constructorId = 0xccfddf96; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'sendAs']; - this.peer = params.peer; - this.sendAs = params.sendAs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let sendAs = await TLObject.read(_data); - return new Raw.messages.SaveDefaultSendAs({ peer: peer, sendAs: sendAs }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendReaction extends TLObject { - __response__!: Raw.TypeUpdates; - big?: boolean; - addToRecent?: boolean; - peer!: Raw.TypeInputPeer; - msgId!: int; - reaction?: Vector; - - constructor(params: { - big?: boolean; - addToRecent?: boolean; - peer: Raw.TypeInputPeer; - msgId: int; - reaction?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendReaction'; - this.constructorId = 0xd30d78d4; - this.subclassOfId = 0x8af52aac; - this._slots = ['big', 'addToRecent', 'peer', 'msgId', 'reaction']; - this.big = params.big; - this.addToRecent = params.addToRecent; - this.peer = params.peer; - this.msgId = params.msgId; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let big = flags & (1 << 1) ? true : false; - let addToRecent = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let reaction = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.messages.SendReaction({ - big: big, - addToRecent: addToRecent, - peer: peer, - msgId: msgId, - reaction: reaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.big ? 1 << 1 : 0; - flags |= this.addToRecent ? 1 << 2 : 0; - flags |= this.reaction ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.reaction) { - b.write(Primitive.Vector.write(this.reaction) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessagesReactions extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMessagesReactions'; - this.constructorId = 0x8bba90e6; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.GetMessagesReactions({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessageReactionsList extends TLObject { - __response__!: Raw.messages.TypeMessageReactionsList; - peer!: Raw.TypeInputPeer; - id!: int; - reaction?: Raw.TypeReaction; - offset?: string; - limit!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - id: int; - reaction?: Raw.TypeReaction; - offset?: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMessageReactionsList'; - this.constructorId = 0x461b3f48; - this.subclassOfId = 0x60fce5e6; - this._slots = ['peer', 'id', 'reaction', 'offset', 'limit']; - this.peer = params.peer; - this.id = params.id; - this.reaction = params.reaction; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let reaction = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let offset = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetMessageReactionsList({ - peer: peer, - id: id, - reaction: reaction, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.reaction !== undefined ? 1 << 0 : 0; - flags |= this.offset !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetChatAvailableReactions extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - availableReactions!: Raw.TypeChatReactions; - reactionsLimit?: int; - paidEnabled?: Bool; - - constructor(params: { - peer: Raw.TypeInputPeer; - availableReactions: Raw.TypeChatReactions; - reactionsLimit?: int; - paidEnabled?: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetChatAvailableReactions'; - this.constructorId = 0x864b2581; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'availableReactions', 'reactionsLimit', 'paidEnabled']; - this.peer = params.peer; - this.availableReactions = params.availableReactions; - this.reactionsLimit = params.reactionsLimit; - this.paidEnabled = params.paidEnabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let availableReactions = await TLObject.read(_data); - let reactionsLimit = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let paidEnabled = flags & (1 << 1) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.messages.SetChatAvailableReactions({ - peer: peer, - availableReactions: availableReactions, - reactionsLimit: reactionsLimit, - paidEnabled: paidEnabled, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.reactionsLimit !== undefined ? 1 << 0 : 0; - flags |= this.paidEnabled !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.availableReactions !== undefined) { - b.write(this.availableReactions.write() as unknown as Buffer); - } - if (this.reactionsLimit !== undefined) { - b.write(Primitive.Int.write(this.reactionsLimit) as unknown as Buffer); - } - if (this.paidEnabled !== undefined) { - b.write(Primitive.Bool.write(this.paidEnabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAvailableReactions extends TLObject { - __response__!: Raw.messages.TypeAvailableReactions; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAvailableReactions'; - this.constructorId = 0x18dea0ac; - this.subclassOfId = 0xe426ad82; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetAvailableReactions({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetDefaultReaction extends TLObject { - __response__!: Bool; - reaction!: Raw.TypeReaction; - - constructor(params: { reaction: Raw.TypeReaction }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetDefaultReaction'; - this.constructorId = 0x4f47a016; - this.subclassOfId = 0xf5b399ac; - this._slots = ['reaction']; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let reaction = await TLObject.read(_data); - return new Raw.messages.SetDefaultReaction({ reaction: reaction }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TranslateText extends TLObject { - __response__!: Raw.messages.TypeTranslatedText; - peer?: Raw.TypeInputPeer; - id?: Vector; - text?: Vector; - toLang!: string; - - constructor(params: { - peer?: Raw.TypeInputPeer; - id?: Vector; - text?: Vector; - toLang: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.TranslateText'; - this.constructorId = 0x63183030; - this.subclassOfId = 0x24243e8; - this._slots = ['peer', 'id', 'text', 'toLang']; - this.peer = params.peer; - this.id = params.id; - this.text = params.text; - this.toLang = params.toLang; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let id = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - let text = flags & (1 << 1) ? await TLObject.read(_data) : []; - let toLang = await Primitive.String.read(_data); - return new Raw.messages.TranslateText({ peer: peer, id: id, text: text, toLang: toLang }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.peer !== undefined ? 1 << 0 : 0; - flags |= this.id ? 1 << 0 : 0; - flags |= this.text ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.text) { - b.write(Primitive.Vector.write(this.text) as unknown as Buffer); - } - if (this.toLang !== undefined) { - b.write(Primitive.String.write(this.toLang) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUnreadReactions extends TLObject { - __response__!: Raw.messages.TypeMessages; - peer!: Raw.TypeInputPeer; - topMsgId?: int; - savedPeerId?: Raw.TypeInputPeer; - offsetId!: int; - addOffset!: int; - limit!: int; - maxId!: int; - minId!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - topMsgId?: int; - savedPeerId?: Raw.TypeInputPeer; - offsetId: int; - addOffset: int; - limit: int; - maxId: int; - minId: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetUnreadReactions'; - this.constructorId = 0xbd7f90ac; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'peer', - 'topMsgId', - 'savedPeerId', - 'offsetId', - 'addOffset', - 'limit', - 'maxId', - 'minId', - ]; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - this.savedPeerId = params.savedPeerId; - this.offsetId = params.offsetId; - this.addOffset = params.addOffset; - this.limit = params.limit; - this.maxId = params.maxId; - this.minId = params.minId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let offsetId = await Primitive.Int.read(_data); - let addOffset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - let minId = await Primitive.Int.read(_data); - return new Raw.messages.GetUnreadReactions({ - peer: peer, - topMsgId: topMsgId, - savedPeerId: savedPeerId, - offsetId: offsetId, - addOffset: addOffset, - limit: limit, - maxId: maxId, - minId: minId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.addOffset !== undefined) { - b.write(Primitive.Int.write(this.addOffset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadReactions extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - peer!: Raw.TypeInputPeer; - topMsgId?: int; - savedPeerId?: Raw.TypeInputPeer; - - constructor(params: { - peer: Raw.TypeInputPeer; - topMsgId?: int; - savedPeerId?: Raw.TypeInputPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadReactions'; - this.constructorId = 0x9ec44f93; - this.subclassOfId = 0x2c49c116; - this._slots = ['peer', 'topMsgId', 'savedPeerId']; - this.peer = params.peer; - this.topMsgId = params.topMsgId; - this.savedPeerId = params.savedPeerId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let topMsgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let savedPeerId = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.messages.ReadReactions({ - peer: peer, - topMsgId: topMsgId, - savedPeerId: savedPeerId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topMsgId !== undefined ? 1 << 0 : 0; - flags |= this.savedPeerId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - if (this.savedPeerId !== undefined) { - b.write(this.savedPeerId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchSentMedia extends TLObject { - __response__!: Raw.messages.TypeMessages; - q!: string; - filter!: Raw.TypeMessagesFilter; - limit!: int; - - constructor(params: { q: string; filter: Raw.TypeMessagesFilter; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SearchSentMedia'; - this.constructorId = 0x107e31a0; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['q', 'filter', 'limit']; - this.q = params.q; - this.filter = params.filter; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let q = await Primitive.String.read(_data); - let filter = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.SearchSentMedia({ q: q, filter: filter, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAttachMenuBots extends TLObject { - __response__!: Raw.TypeAttachMenuBots; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAttachMenuBots'; - this.constructorId = 0x16fcc2cb; - this.subclassOfId = 0x842e23da; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetAttachMenuBots({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAttachMenuBot extends TLObject { - __response__!: Raw.TypeAttachMenuBotsBot; - bot!: Raw.TypeInputUser; - - constructor(params: { bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAttachMenuBot'; - this.constructorId = 0x77216192; - this.subclassOfId = 0xdb33883d; - this._slots = ['bot']; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - return new Raw.messages.GetAttachMenuBot({ bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleBotInAttachMenu extends TLObject { - __response__!: Bool; - writeAllowed?: boolean; - bot!: Raw.TypeInputUser; - enabled!: Bool; - - constructor(params: { writeAllowed?: boolean; bot: Raw.TypeInputUser; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleBotInAttachMenu'; - this.constructorId = 0x69f59d69; - this.subclassOfId = 0xf5b399ac; - this._slots = ['writeAllowed', 'bot', 'enabled']; - this.writeAllowed = params.writeAllowed; - this.bot = params.bot; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let writeAllowed = flags & (1 << 0) ? true : false; - let bot = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.messages.ToggleBotInAttachMenu({ - writeAllowed: writeAllowed, - bot: bot, - enabled: enabled, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.writeAllowed ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestWebView extends TLObject { - __response__!: Raw.TypeWebViewResult; - fromBotMenu?: boolean; - silent?: boolean; - compact?: boolean; - fullscreen?: boolean; - peer!: Raw.TypeInputPeer; - bot!: Raw.TypeInputUser; - url?: string; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform!: string; - replyTo?: Raw.TypeInputReplyTo; - sendAs?: Raw.TypeInputPeer; - - constructor(params: { - fromBotMenu?: boolean; - silent?: boolean; - compact?: boolean; - fullscreen?: boolean; - peer: Raw.TypeInputPeer; - bot: Raw.TypeInputUser; - url?: string; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform: string; - replyTo?: Raw.TypeInputReplyTo; - sendAs?: Raw.TypeInputPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RequestWebView'; - this.constructorId = 0x269dc2c1; - this.subclassOfId = 0x93cea746; - this._slots = [ - 'fromBotMenu', - 'silent', - 'compact', - 'fullscreen', - 'peer', - 'bot', - 'url', - 'startParam', - 'themeParams', - 'platform', - 'replyTo', - 'sendAs', - ]; - this.fromBotMenu = params.fromBotMenu; - this.silent = params.silent; - this.compact = params.compact; - this.fullscreen = params.fullscreen; - this.peer = params.peer; - this.bot = params.bot; - this.url = params.url; - this.startParam = params.startParam; - this.themeParams = params.themeParams; - this.platform = params.platform; - this.replyTo = params.replyTo; - this.sendAs = params.sendAs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let fromBotMenu = flags & (1 << 4) ? true : false; - let silent = flags & (1 << 5) ? true : false; - let compact = flags & (1 << 7) ? true : false; - let fullscreen = flags & (1 << 8) ? true : false; - let peer = await TLObject.read(_data); - let bot = await TLObject.read(_data); - let url = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let startParam = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let themeParams = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let platform = await Primitive.String.read(_data); - let replyTo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - return new Raw.messages.RequestWebView({ - fromBotMenu: fromBotMenu, - silent: silent, - compact: compact, - fullscreen: fullscreen, - peer: peer, - bot: bot, - url: url, - startParam: startParam, - themeParams: themeParams, - platform: platform, - replyTo: replyTo, - sendAs: sendAs, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fromBotMenu ? 1 << 4 : 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.compact ? 1 << 7 : 0; - flags |= this.fullscreen ? 1 << 8 : 0; - flags |= this.url !== undefined ? 1 << 1 : 0; - flags |= this.startParam !== undefined ? 1 << 3 : 0; - flags |= this.themeParams !== undefined ? 1 << 2 : 0; - flags |= this.replyTo !== undefined ? 1 << 0 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - if (this.themeParams !== undefined) { - b.write(this.themeParams.write() as unknown as Buffer); - } - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ProlongWebView extends TLObject { - __response__!: Bool; - silent?: boolean; - peer!: Raw.TypeInputPeer; - bot!: Raw.TypeInputUser; - queryId!: long; - replyTo?: Raw.TypeInputReplyTo; - sendAs?: Raw.TypeInputPeer; - - constructor(params: { - silent?: boolean; - peer: Raw.TypeInputPeer; - bot: Raw.TypeInputUser; - queryId: long; - replyTo?: Raw.TypeInputReplyTo; - sendAs?: Raw.TypeInputPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ProlongWebView'; - this.constructorId = 0xb0d81a83; - this.subclassOfId = 0xf5b399ac; - this._slots = ['silent', 'peer', 'bot', 'queryId', 'replyTo', 'sendAs']; - this.silent = params.silent; - this.peer = params.peer; - this.bot = params.bot; - this.queryId = params.queryId; - this.replyTo = params.replyTo; - this.sendAs = params.sendAs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let silent = flags & (1 << 5) ? true : false; - let peer = await TLObject.read(_data); - let bot = await TLObject.read(_data); - let queryId = await Primitive.Long.read(_data); - let replyTo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let sendAs = flags & (1 << 13) ? await TLObject.read(_data) : undefined; - return new Raw.messages.ProlongWebView({ - silent: silent, - peer: peer, - bot: bot, - queryId: queryId, - replyTo: replyTo, - sendAs: sendAs, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.silent ? 1 << 5 : 0; - flags |= this.replyTo !== undefined ? 1 << 0 : 0; - flags |= this.sendAs !== undefined ? 1 << 13 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.replyTo !== undefined) { - b.write(this.replyTo.write() as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestSimpleWebView extends TLObject { - __response__!: Raw.TypeWebViewResult; - fromSwitchWebview?: boolean; - fromSideMenu?: boolean; - compact?: boolean; - fullscreen?: boolean; - bot!: Raw.TypeInputUser; - url?: string; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform!: string; - - constructor(params: { - fromSwitchWebview?: boolean; - fromSideMenu?: boolean; - compact?: boolean; - fullscreen?: boolean; - bot: Raw.TypeInputUser; - url?: string; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RequestSimpleWebView'; - this.constructorId = 0x413a3e73; - this.subclassOfId = 0x93cea746; - this._slots = [ - 'fromSwitchWebview', - 'fromSideMenu', - 'compact', - 'fullscreen', - 'bot', - 'url', - 'startParam', - 'themeParams', - 'platform', - ]; - this.fromSwitchWebview = params.fromSwitchWebview; - this.fromSideMenu = params.fromSideMenu; - this.compact = params.compact; - this.fullscreen = params.fullscreen; - this.bot = params.bot; - this.url = params.url; - this.startParam = params.startParam; - this.themeParams = params.themeParams; - this.platform = params.platform; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let fromSwitchWebview = flags & (1 << 1) ? true : false; - let fromSideMenu = flags & (1 << 2) ? true : false; - let compact = flags & (1 << 7) ? true : false; - let fullscreen = flags & (1 << 8) ? true : false; - let bot = await TLObject.read(_data); - let url = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let startParam = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let themeParams = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let platform = await Primitive.String.read(_data); - return new Raw.messages.RequestSimpleWebView({ - fromSwitchWebview: fromSwitchWebview, - fromSideMenu: fromSideMenu, - compact: compact, - fullscreen: fullscreen, - bot: bot, - url: url, - startParam: startParam, - themeParams: themeParams, - platform: platform, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fromSwitchWebview ? 1 << 1 : 0; - flags |= this.fromSideMenu ? 1 << 2 : 0; - flags |= this.compact ? 1 << 7 : 0; - flags |= this.fullscreen ? 1 << 8 : 0; - flags |= this.url !== undefined ? 1 << 3 : 0; - flags |= this.startParam !== undefined ? 1 << 4 : 0; - flags |= this.themeParams !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - if (this.themeParams !== undefined) { - b.write(this.themeParams.write() as unknown as Buffer); - } - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendWebViewResultMessage extends TLObject { - __response__!: Raw.TypeWebViewMessageSent; - botQueryId!: string; - result!: Raw.TypeInputBotInlineResult; - - constructor(params: { botQueryId: string; result: Raw.TypeInputBotInlineResult }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendWebViewResultMessage'; - this.constructorId = 0xa4314f5; - this.subclassOfId = 0x75e49312; - this._slots = ['botQueryId', 'result']; - this.botQueryId = params.botQueryId; - this.result = params.result; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let botQueryId = await Primitive.String.read(_data); - let result = await TLObject.read(_data); - return new Raw.messages.SendWebViewResultMessage({ - botQueryId: botQueryId, - result: result, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botQueryId !== undefined) { - b.write(Primitive.String.write(this.botQueryId) as unknown as Buffer); - } - if (this.result !== undefined) { - b.write(this.result.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendWebViewData extends TLObject { - __response__!: Raw.TypeUpdates; - bot!: Raw.TypeInputUser; - randomId!: long; - buttonText!: string; - data!: string; - - constructor(params: { - bot: Raw.TypeInputUser; - randomId: long; - buttonText: string; - data: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendWebViewData'; - this.constructorId = 0xdc0242c8; - this.subclassOfId = 0x8af52aac; - this._slots = ['bot', 'randomId', 'buttonText', 'data']; - this.bot = params.bot; - this.randomId = params.randomId; - this.buttonText = params.buttonText; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let buttonText = await Primitive.String.read(_data); - let data = await Primitive.String.read(_data); - return new Raw.messages.SendWebViewData({ - bot: bot, - randomId: randomId, - buttonText: buttonText, - data: data, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.buttonText !== undefined) { - b.write(Primitive.String.write(this.buttonText) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.String.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TranscribeAudio extends TLObject { - __response__!: Raw.messages.TypeTranscribedAudio; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.TranscribeAudio'; - this.constructorId = 0x269e9a49; - this.subclassOfId = 0x21b24936; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.messages.TranscribeAudio({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RateTranscribedAudio extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - msgId!: int; - transcriptionId!: long; - good!: Bool; - - constructor(params: { - peer: Raw.TypeInputPeer; - msgId: int; - transcriptionId: long; - good: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RateTranscribedAudio'; - this.constructorId = 0x7f1d072f; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'msgId', 'transcriptionId', 'good']; - this.peer = params.peer; - this.msgId = params.msgId; - this.transcriptionId = params.transcriptionId; - this.good = params.good; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let transcriptionId = await Primitive.Long.read(_data); - let good = await Primitive.Bool.read(_data); - return new Raw.messages.RateTranscribedAudio({ - peer: peer, - msgId: msgId, - transcriptionId: transcriptionId, - good: good, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.transcriptionId !== undefined) { - b.write(Primitive.Long.write(this.transcriptionId) as unknown as Buffer); - } - if (this.good !== undefined) { - b.write(Primitive.Bool.write(this.good) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCustomEmojiDocuments extends TLObject { - __response__!: Vector; - documentId!: Vector; - - constructor(params: { documentId: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetCustomEmojiDocuments'; - this.constructorId = 0xd9ab0f54; - this.subclassOfId = 0xcc590e08; - this._slots = ['documentId']; - this.documentId = params.documentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let documentId = await TLObject.read(_data, Primitive.Long); - return new Raw.messages.GetCustomEmojiDocuments({ documentId: documentId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.documentId) { - b.write(Primitive.Vector.write(this.documentId, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiStickers extends TLObject { - __response__!: Raw.messages.TypeAllStickers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiStickers'; - this.constructorId = 0xfbfca18f; - this.subclassOfId = 0x45834829; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetEmojiStickers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFeaturedEmojiStickers extends TLObject { - __response__!: Raw.messages.TypeFeaturedStickers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetFeaturedEmojiStickers'; - this.constructorId = 0xecf6736; - this.subclassOfId = 0x2614b722; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetFeaturedEmojiStickers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportReaction extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - id!: int; - reactionPeer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer; id: int; reactionPeer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReportReaction'; - this.constructorId = 0x3f64c076; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'id', 'reactionPeer']; - this.peer = params.peer; - this.id = params.id; - this.reactionPeer = params.reactionPeer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let reactionPeer = await TLObject.read(_data); - return new Raw.messages.ReportReaction({ peer: peer, id: id, reactionPeer: reactionPeer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.reactionPeer !== undefined) { - b.write(this.reactionPeer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetTopReactions extends TLObject { - __response__!: Raw.messages.TypeReactions; - limit!: int; - hash!: long; - - constructor(params: { limit: int; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetTopReactions'; - this.constructorId = 0xbb8125ba; - this.subclassOfId = 0xadc38324; - this._slots = ['limit', 'hash']; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetTopReactions({ limit: limit, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetRecentReactions extends TLObject { - __response__!: Raw.messages.TypeReactions; - limit!: int; - hash!: long; - - constructor(params: { limit: int; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetRecentReactions'; - this.constructorId = 0x39461db2; - this.subclassOfId = 0xadc38324; - this._slots = ['limit', 'hash']; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetRecentReactions({ limit: limit, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClearRecentReactions extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.ClearRecentReactions'; - this.constructorId = 0x9dfeefb4; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.ClearRecentReactions(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetExtendedMedia extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetExtendedMedia'; - this.constructorId = 0x84f80814; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.GetExtendedMedia({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetDefaultHistoryTTL extends TLObject { - __response__!: Bool; - period!: int; - - constructor(params: { period: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetDefaultHistoryTTL'; - this.constructorId = 0x9eb51445; - this.subclassOfId = 0xf5b399ac; - this._slots = ['period']; - this.period = params.period; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let period = await Primitive.Int.read(_data); - return new Raw.messages.SetDefaultHistoryTTL({ period: period }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDefaultHistoryTTL extends TLObject { - __response__!: Raw.TypeDefaultHistoryTTL; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDefaultHistoryTTL'; - this.constructorId = 0x658b7188; - this.subclassOfId = 0xf00d3367; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetDefaultHistoryTTL(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendBotRequestedPeer extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - buttonId!: int; - requestedPeers!: Vector; - - constructor(params: { - peer: Raw.TypeInputPeer; - msgId: int; - buttonId: int; - requestedPeers: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendBotRequestedPeer'; - this.constructorId = 0x91b2d060; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId', 'buttonId', 'requestedPeers']; - this.peer = params.peer; - this.msgId = params.msgId; - this.buttonId = params.buttonId; - this.requestedPeers = params.requestedPeers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let buttonId = await Primitive.Int.read(_data); - let requestedPeers = await TLObject.read(_data); - return new Raw.messages.SendBotRequestedPeer({ - peer: peer, - msgId: msgId, - buttonId: buttonId, - requestedPeers: requestedPeers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.buttonId !== undefined) { - b.write(Primitive.Int.write(this.buttonId) as unknown as Buffer); - } - if (this.requestedPeers) { - b.write(Primitive.Vector.write(this.requestedPeers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiGroups extends TLObject { - __response__!: Raw.messages.TypeEmojiGroups; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiGroups'; - this.constructorId = 0x7488ce5b; - this.subclassOfId = 0x7eca55d9; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetEmojiGroups({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiStatusGroups extends TLObject { - __response__!: Raw.messages.TypeEmojiGroups; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiStatusGroups'; - this.constructorId = 0x2ecd56cd; - this.subclassOfId = 0x7eca55d9; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetEmojiStatusGroups({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiProfilePhotoGroups extends TLObject { - __response__!: Raw.messages.TypeEmojiGroups; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiProfilePhotoGroups'; - this.constructorId = 0x21a548f3; - this.subclassOfId = 0x7eca55d9; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetEmojiProfilePhotoGroups({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchCustomEmoji extends TLObject { - __response__!: Raw.TypeEmojiList; - emoticon!: string; - hash!: long; - - constructor(params: { emoticon: string; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SearchCustomEmoji'; - this.constructorId = 0x2c11c0d7; - this.subclassOfId = 0xbcef6aba; - this._slots = ['emoticon', 'hash']; - this.emoticon = params.emoticon; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emoticon = await Primitive.String.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.SearchCustomEmoji({ emoticon: emoticon, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TogglePeerTranslations extends TLObject { - __response__!: Bool; - disabled?: boolean; - peer!: Raw.TypeInputPeer; - - constructor(params: { disabled?: boolean; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.TogglePeerTranslations'; - this.constructorId = 0xe47cb579; - this.subclassOfId = 0xf5b399ac; - this._slots = ['disabled', 'peer']; - this.disabled = params.disabled; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let disabled = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.messages.TogglePeerTranslations({ disabled: disabled, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.disabled ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotApp extends TLObject { - __response__!: Raw.messages.TypeBotApp; - app!: Raw.TypeInputBotApp; - hash!: long; - - constructor(params: { app: Raw.TypeInputBotApp; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetBotApp'; - this.constructorId = 0x34fdc5c3; - this.subclassOfId = 0x8f7243a7; - this._slots = ['app', 'hash']; - this.app = params.app; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let app = await TLObject.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetBotApp({ app: app, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.app !== undefined) { - b.write(this.app.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestAppWebView extends TLObject { - __response__!: Raw.TypeWebViewResult; - writeAllowed?: boolean; - compact?: boolean; - fullscreen?: boolean; - peer!: Raw.TypeInputPeer; - app!: Raw.TypeInputBotApp; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform!: string; - - constructor(params: { - writeAllowed?: boolean; - compact?: boolean; - fullscreen?: boolean; - peer: Raw.TypeInputPeer; - app: Raw.TypeInputBotApp; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RequestAppWebView'; - this.constructorId = 0x53618bce; - this.subclassOfId = 0x93cea746; - this._slots = [ - 'writeAllowed', - 'compact', - 'fullscreen', - 'peer', - 'app', - 'startParam', - 'themeParams', - 'platform', - ]; - this.writeAllowed = params.writeAllowed; - this.compact = params.compact; - this.fullscreen = params.fullscreen; - this.peer = params.peer; - this.app = params.app; - this.startParam = params.startParam; - this.themeParams = params.themeParams; - this.platform = params.platform; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let writeAllowed = flags & (1 << 0) ? true : false; - let compact = flags & (1 << 7) ? true : false; - let fullscreen = flags & (1 << 8) ? true : false; - let peer = await TLObject.read(_data); - let app = await TLObject.read(_data); - let startParam = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let themeParams = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let platform = await Primitive.String.read(_data); - return new Raw.messages.RequestAppWebView({ - writeAllowed: writeAllowed, - compact: compact, - fullscreen: fullscreen, - peer: peer, - app: app, - startParam: startParam, - themeParams: themeParams, - platform: platform, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.writeAllowed ? 1 << 0 : 0; - flags |= this.compact ? 1 << 7 : 0; - flags |= this.fullscreen ? 1 << 8 : 0; - flags |= this.startParam !== undefined ? 1 << 1 : 0; - flags |= this.themeParams !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.app !== undefined) { - b.write(this.app.write() as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - if (this.themeParams !== undefined) { - b.write(this.themeParams.write() as unknown as Buffer); - } - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetChatWallPaper extends TLObject { - __response__!: Raw.TypeUpdates; - forBoth?: boolean; - revert?: boolean; - peer!: Raw.TypeInputPeer; - wallpaper?: Raw.TypeInputWallPaper; - settings?: Raw.TypeWallPaperSettings; - id?: int; - - constructor(params: { - forBoth?: boolean; - revert?: boolean; - peer: Raw.TypeInputPeer; - wallpaper?: Raw.TypeInputWallPaper; - settings?: Raw.TypeWallPaperSettings; - id?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SetChatWallPaper'; - this.constructorId = 0x8ffacae1; - this.subclassOfId = 0x8af52aac; - this._slots = ['forBoth', 'revert', 'peer', 'wallpaper', 'settings', 'id']; - this.forBoth = params.forBoth; - this.revert = params.revert; - this.peer = params.peer; - this.wallpaper = params.wallpaper; - this.settings = params.settings; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forBoth = flags & (1 << 3) ? true : false; - let revert = flags & (1 << 4) ? true : false; - let peer = await TLObject.read(_data); - let wallpaper = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let settings = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let id = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.SetChatWallPaper({ - forBoth: forBoth, - revert: revert, - peer: peer, - wallpaper: wallpaper, - settings: settings, - id: id, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forBoth ? 1 << 3 : 0; - flags |= this.revert ? 1 << 4 : 0; - flags |= this.wallpaper !== undefined ? 1 << 0 : 0; - flags |= this.settings !== undefined ? 1 << 2 : 0; - flags |= this.id !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchEmojiStickerSets extends TLObject { - __response__!: Raw.messages.TypeFoundStickerSets; - excludeFeatured?: boolean; - q!: string; - hash!: long; - - constructor(params: { excludeFeatured?: boolean; q: string; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SearchEmojiStickerSets'; - this.constructorId = 0x92b4494c; - this.subclassOfId = 0x40df361; - this._slots = ['excludeFeatured', 'q', 'hash']; - this.excludeFeatured = params.excludeFeatured; - this.q = params.q; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let excludeFeatured = flags & (1 << 0) ? true : false; - let q = await Primitive.String.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.SearchEmojiStickerSets({ - excludeFeatured: excludeFeatured, - q: q, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.excludeFeatured ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedDialogs extends TLObject { - __response__!: Raw.messages.TypeSavedDialogs; - excludePinned?: boolean; - parentPeer?: Raw.TypeInputPeer; - offsetDate!: int; - offsetId!: int; - offsetPeer!: Raw.TypeInputPeer; - limit!: int; - hash!: long; - - constructor(params: { - excludePinned?: boolean; - parentPeer?: Raw.TypeInputPeer; - offsetDate: int; - offsetId: int; - offsetPeer: Raw.TypeInputPeer; - limit: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSavedDialogs'; - this.constructorId = 0x1e91fc99; - this.subclassOfId = 0x614bb87e; - this._slots = [ - 'excludePinned', - 'parentPeer', - 'offsetDate', - 'offsetId', - 'offsetPeer', - 'limit', - 'hash', - ]; - this.excludePinned = params.excludePinned; - this.parentPeer = params.parentPeer; - this.offsetDate = params.offsetDate; - this.offsetId = params.offsetId; - this.offsetPeer = params.offsetPeer; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let excludePinned = flags & (1 << 0) ? true : false; - let parentPeer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let offsetDate = await Primitive.Int.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetPeer = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetSavedDialogs({ - excludePinned: excludePinned, - parentPeer: parentPeer, - offsetDate: offsetDate, - offsetId: offsetId, - offsetPeer: offsetPeer, - limit: limit, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.excludePinned ? 1 << 0 : 0; - flags |= this.parentPeer !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetPeer !== undefined) { - b.write(this.offsetPeer.write() as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedHistory extends TLObject { - __response__!: Raw.messages.TypeMessages; - parentPeer?: Raw.TypeInputPeer; - peer!: Raw.TypeInputPeer; - offsetId!: int; - offsetDate!: int; - addOffset!: int; - limit!: int; - maxId!: int; - minId!: int; - hash!: long; - - constructor(params: { - parentPeer?: Raw.TypeInputPeer; - peer: Raw.TypeInputPeer; - offsetId: int; - offsetDate: int; - addOffset: int; - limit: int; - maxId: int; - minId: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSavedHistory'; - this.constructorId = 0x998ab009; - this.subclassOfId = 0xd4b40b5e; - this._slots = [ - 'parentPeer', - 'peer', - 'offsetId', - 'offsetDate', - 'addOffset', - 'limit', - 'maxId', - 'minId', - 'hash', - ]; - this.parentPeer = params.parentPeer; - this.peer = params.peer; - this.offsetId = params.offsetId; - this.offsetDate = params.offsetDate; - this.addOffset = params.addOffset; - this.limit = params.limit; - this.maxId = params.maxId; - this.minId = params.minId; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let parentPeer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let peer = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetDate = await Primitive.Int.read(_data); - let addOffset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let maxId = await Primitive.Int.read(_data); - let minId = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetSavedHistory({ - parentPeer: parentPeer, - peer: peer, - offsetId: offsetId, - offsetDate: offsetDate, - addOffset: addOffset, - limit: limit, - maxId: maxId, - minId: minId, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.parentPeer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.addOffset !== undefined) { - b.write(Primitive.Int.write(this.addOffset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Int.write(this.minId) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteSavedHistory extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - parentPeer?: Raw.TypeInputPeer; - peer!: Raw.TypeInputPeer; - maxId!: int; - minDate?: int; - maxDate?: int; - - constructor(params: { - parentPeer?: Raw.TypeInputPeer; - peer: Raw.TypeInputPeer; - maxId: int; - minDate?: int; - maxDate?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteSavedHistory'; - this.constructorId = 0x4dc5085f; - this.subclassOfId = 0x2c49c116; - this._slots = ['parentPeer', 'peer', 'maxId', 'minDate', 'maxDate']; - this.parentPeer = params.parentPeer; - this.peer = params.peer; - this.maxId = params.maxId; - this.minDate = params.minDate; - this.maxDate = params.maxDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let parentPeer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - let minDate = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let maxDate = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.DeleteSavedHistory({ - parentPeer: parentPeer, - peer: peer, - maxId: maxId, - minDate: minDate, - maxDate: maxDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.parentPeer !== undefined ? 1 << 0 : 0; - flags |= this.minDate !== undefined ? 1 << 2 : 0; - flags |= this.maxDate !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - if (this.minDate !== undefined) { - b.write(Primitive.Int.write(this.minDate) as unknown as Buffer); - } - if (this.maxDate !== undefined) { - b.write(Primitive.Int.write(this.maxDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPinnedSavedDialogs extends TLObject { - __response__!: Raw.messages.TypeSavedDialogs; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPinnedSavedDialogs'; - this.constructorId = 0xd63d94e0; - this.subclassOfId = 0x614bb87e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetPinnedSavedDialogs(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleSavedDialogPin extends TLObject { - __response__!: Bool; - pinned?: boolean; - peer!: Raw.TypeInputDialogPeer; - - constructor(params: { pinned?: boolean; peer: Raw.TypeInputDialogPeer }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleSavedDialogPin'; - this.constructorId = 0xac81bbde; - this.subclassOfId = 0xf5b399ac; - this._slots = ['pinned', 'peer']; - this.pinned = params.pinned; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.messages.ToggleSavedDialogPin({ pinned: pinned, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderPinnedSavedDialogs extends TLObject { - __response__!: Bool; - force?: boolean; - order!: Vector; - - constructor(params: { force?: boolean; order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReorderPinnedSavedDialogs'; - this.constructorId = 0x8b716587; - this.subclassOfId = 0xf5b399ac; - this._slots = ['force', 'order']; - this.force = params.force; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let force = flags & (1 << 0) ? true : false; - let order = await TLObject.read(_data); - return new Raw.messages.ReorderPinnedSavedDialogs({ force: force, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.force ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.order) { - b.write(Primitive.Vector.write(this.order) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedReactionTags extends TLObject { - __response__!: Raw.messages.TypeSavedReactionTags; - peer?: Raw.TypeInputPeer; - hash!: long; - - constructor(params: { peer?: Raw.TypeInputPeer; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSavedReactionTags'; - this.constructorId = 0x3637e05b; - this.subclassOfId = 0xa39b5be3; - this._slots = ['peer', 'hash']; - this.peer = params.peer; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetSavedReactionTags({ peer: peer, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.peer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSavedReactionTag extends TLObject { - __response__!: Bool; - reaction!: Raw.TypeReaction; - title?: string; - - constructor(params: { reaction: Raw.TypeReaction; title?: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.UpdateSavedReactionTag'; - this.constructorId = 0x60297dec; - this.subclassOfId = 0xf5b399ac; - this._slots = ['reaction', 'title']; - this.reaction = params.reaction; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let reaction = await TLObject.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.UpdateSavedReactionTag({ reaction: reaction, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDefaultTagReactions extends TLObject { - __response__!: Raw.messages.TypeReactions; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetDefaultTagReactions'; - this.constructorId = 0xbdf93428; - this.subclassOfId = 0xadc38324; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetDefaultTagReactions({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetOutboxReadDate extends TLObject { - __response__!: Raw.TypeOutboxReadDate; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetOutboxReadDate'; - this.constructorId = 0x8c4bfe5d; - this.subclassOfId = 0x6f5183c6; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.messages.GetOutboxReadDate({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetQuickReplies extends TLObject { - __response__!: Raw.messages.TypeQuickReplies; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetQuickReplies'; - this.constructorId = 0xd483f2a8; - this.subclassOfId = 0xf737e966; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetQuickReplies({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderQuickReplies extends TLObject { - __response__!: Bool; - order!: Vector; - - constructor(params: { order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReorderQuickReplies'; - this.constructorId = 0x60331907; - this.subclassOfId = 0xf5b399ac; - this._slots = ['order']; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let order = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.ReorderQuickReplies({ order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckQuickReplyShortcut extends TLObject { - __response__!: Bool; - shortcut!: string; - - constructor(params: { shortcut: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.CheckQuickReplyShortcut'; - this.constructorId = 0xf1d0fbd3; - this.subclassOfId = 0xf5b399ac; - this._slots = ['shortcut']; - this.shortcut = params.shortcut; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcut = await Primitive.String.read(_data); - return new Raw.messages.CheckQuickReplyShortcut({ shortcut: shortcut }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcut !== undefined) { - b.write(Primitive.String.write(this.shortcut) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditQuickReplyShortcut extends TLObject { - __response__!: Bool; - shortcutId!: int; - shortcut!: string; - - constructor(params: { shortcutId: int; shortcut: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditQuickReplyShortcut'; - this.constructorId = 0x5c003cef; - this.subclassOfId = 0xf5b399ac; - this._slots = ['shortcutId', 'shortcut']; - this.shortcutId = params.shortcutId; - this.shortcut = params.shortcut; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - let shortcut = await Primitive.String.read(_data); - return new Raw.messages.EditQuickReplyShortcut({ - shortcutId: shortcutId, - shortcut: shortcut, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.shortcut !== undefined) { - b.write(Primitive.String.write(this.shortcut) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteQuickReplyShortcut extends TLObject { - __response__!: Bool; - shortcutId!: int; - - constructor(params: { shortcutId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteQuickReplyShortcut'; - this.constructorId = 0x3cc04740; - this.subclassOfId = 0xf5b399ac; - this._slots = ['shortcutId']; - this.shortcutId = params.shortcutId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - return new Raw.messages.DeleteQuickReplyShortcut({ shortcutId: shortcutId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetQuickReplyMessages extends TLObject { - __response__!: Raw.messages.TypeMessages; - shortcutId!: int; - id?: Vector; - hash!: long; - - constructor(params: { shortcutId: int; id?: Vector; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetQuickReplyMessages'; - this.constructorId = 0x94a495c3; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['shortcutId', 'id', 'hash']; - this.shortcutId = params.shortcutId; - this.id = params.id; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let shortcutId = await Primitive.Int.read(_data); - let id = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - let hash = await Primitive.Long.read(_data); - return new Raw.messages.GetQuickReplyMessages({ - shortcutId: shortcutId, - id: id, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.id ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendQuickReplyMessages extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - shortcutId!: int; - id!: Vector; - randomId!: Vector; - - constructor(params: { - peer: Raw.TypeInputPeer; - shortcutId: int; - id: Vector; - randomId: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendQuickReplyMessages'; - this.constructorId = 0x6c750de1; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'shortcutId', 'id', 'randomId']; - this.peer = params.peer; - this.shortcutId = params.shortcutId; - this.id = params.id; - this.randomId = params.randomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let shortcutId = await Primitive.Int.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - let randomId = await TLObject.read(_data, Primitive.Long); - return new Raw.messages.SendQuickReplyMessages({ - peer: peer, - shortcutId: shortcutId, - id: id, - randomId: randomId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.randomId) { - b.write(Primitive.Vector.write(this.randomId, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteQuickReplyMessages extends TLObject { - __response__!: Raw.TypeUpdates; - shortcutId!: int; - id!: Vector; - - constructor(params: { shortcutId: int; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteQuickReplyMessages'; - this.constructorId = 0xe105e910; - this.subclassOfId = 0x8af52aac; - this._slots = ['shortcutId', 'id']; - this.shortcutId = params.shortcutId; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortcutId = await Primitive.Int.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.DeleteQuickReplyMessages({ shortcutId: shortcutId, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortcutId !== undefined) { - b.write(Primitive.Int.write(this.shortcutId) as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleDialogFilterTags extends TLObject { - __response__!: Bool; - enabled!: Bool; - - constructor(params: { enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleDialogFilterTags'; - this.constructorId = 0xfd2dda49; - this.subclassOfId = 0xf5b399ac; - this._slots = ['enabled']; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let enabled = await Primitive.Bool.read(_data); - return new Raw.messages.ToggleDialogFilterTags({ enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMyStickers extends TLObject { - __response__!: Raw.messages.TypeMyStickers; - offsetId!: long; - limit!: int; - - constructor(params: { offsetId: long; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetMyStickers'; - this.constructorId = 0xd0b5e1fc; - this.subclassOfId = 0xb1b4350a; - this._slots = ['offsetId', 'limit']; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offsetId = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.messages.GetMyStickers({ offsetId: offsetId, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offsetId !== undefined) { - b.write(Primitive.Long.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetEmojiStickerGroups extends TLObject { - __response__!: Raw.messages.TypeEmojiGroups; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetEmojiStickerGroups'; - this.constructorId = 0x1dd840f5; - this.subclassOfId = 0x7eca55d9; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetEmojiStickerGroups({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAvailableEffects extends TLObject { - __response__!: Raw.messages.TypeAvailableEffects; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetAvailableEffects'; - this.constructorId = 0xdea20a39; - this.subclassOfId = 0x4470d5bd; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.messages.GetAvailableEffects({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditFactCheck extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - text!: Raw.TypeTextWithEntities; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; text: Raw.TypeTextWithEntities }) { - super(); - this.classType = 'functions'; - this.className = 'messages.EditFactCheck'; - this.constructorId = 0x589ee75; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId', 'text']; - this.peer = params.peer; - this.msgId = params.msgId; - this.text = params.text; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let text = await TLObject.read(_data); - return new Raw.messages.EditFactCheck({ peer: peer, msgId: msgId, text: text }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.text !== undefined) { - b.write(this.text.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteFactCheck extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.DeleteFactCheck'; - this.constructorId = 0xd1da940c; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.messages.DeleteFactCheck({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFactCheck extends TLObject { - __response__!: Vector; - peer!: Raw.TypeInputPeer; - msgId!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetFactCheck'; - this.constructorId = 0xb9cdc5ee; - this.subclassOfId = 0xbba61813; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.GetFactCheck({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId) { - b.write(Primitive.Vector.write(this.msgId, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestMainWebView extends TLObject { - __response__!: Raw.TypeWebViewResult; - compact?: boolean; - fullscreen?: boolean; - peer!: Raw.TypeInputPeer; - bot!: Raw.TypeInputUser; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform!: string; - - constructor(params: { - compact?: boolean; - fullscreen?: boolean; - peer: Raw.TypeInputPeer; - bot: Raw.TypeInputUser; - startParam?: string; - themeParams?: Raw.TypeDataJSON; - platform: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.RequestMainWebView'; - this.constructorId = 0xc9e01e7b; - this.subclassOfId = 0x93cea746; - this._slots = [ - 'compact', - 'fullscreen', - 'peer', - 'bot', - 'startParam', - 'themeParams', - 'platform', - ]; - this.compact = params.compact; - this.fullscreen = params.fullscreen; - this.peer = params.peer; - this.bot = params.bot; - this.startParam = params.startParam; - this.themeParams = params.themeParams; - this.platform = params.platform; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let compact = flags & (1 << 7) ? true : false; - let fullscreen = flags & (1 << 8) ? true : false; - let peer = await TLObject.read(_data); - let bot = await TLObject.read(_data); - let startParam = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let themeParams = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let platform = await Primitive.String.read(_data); - return new Raw.messages.RequestMainWebView({ - compact: compact, - fullscreen: fullscreen, - peer: peer, - bot: bot, - startParam: startParam, - themeParams: themeParams, - platform: platform, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.compact ? 1 << 7 : 0; - flags |= this.fullscreen ? 1 << 8 : 0; - flags |= this.startParam !== undefined ? 1 << 1 : 0; - flags |= this.themeParams !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.startParam !== undefined) { - b.write(Primitive.String.write(this.startParam) as unknown as Buffer); - } - if (this.themeParams !== undefined) { - b.write(this.themeParams.write() as unknown as Buffer); - } - if (this.platform !== undefined) { - b.write(Primitive.String.write(this.platform) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendPaidReaction extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - count!: int; - randomId!: long; - private?: Raw.TypePaidReactionPrivacy; - - constructor(params: { - peer: Raw.TypeInputPeer; - msgId: int; - count: int; - randomId: long; - private?: Raw.TypePaidReactionPrivacy; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SendPaidReaction'; - this.constructorId = 0x58bbcb50; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId', 'count', 'randomId', 'private']; - this.peer = params.peer; - this.msgId = params.msgId; - this.count = params.count; - this.randomId = params.randomId; - this.private = params.private; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let randomId = await Primitive.Long.read(_data); - let _private = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.messages.SendPaidReaction({ - peer: peer, - msgId: msgId, - count: count, - randomId: randomId, - private: _private, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.private !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.private !== undefined) { - b.write(this.private.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TogglePaidReactionPrivacy extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - msgId!: int; - private!: Raw.TypePaidReactionPrivacy; - - constructor(params: { - peer: Raw.TypeInputPeer; - msgId: int; - private: Raw.TypePaidReactionPrivacy; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.TogglePaidReactionPrivacy'; - this.constructorId = 0x435885b5; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'msgId', 'private']; - this.peer = params.peer; - this.msgId = params.msgId; - this.private = params.private; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let _private = await TLObject.read(_data); - return new Raw.messages.TogglePaidReactionPrivacy({ - peer: peer, - msgId: msgId, - private: _private, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.private !== undefined) { - b.write(this.private.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPaidReactionPrivacy extends TLObject { - __response__!: Raw.TypeUpdates; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPaidReactionPrivacy'; - this.constructorId = 0x472455aa; - this.subclassOfId = 0x8af52aac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.messages.GetPaidReactionPrivacy(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ViewSponsoredMessage extends TLObject { - __response__!: Bool; - randomId!: bytes; - - constructor(params: { randomId: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ViewSponsoredMessage'; - this.constructorId = 0x269e3643; - this.subclassOfId = 0xf5b399ac; - this._slots = ['randomId']; - this.randomId = params.randomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Bytes.read(_data); - return new Raw.messages.ViewSponsoredMessage({ randomId: randomId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Bytes.write(this.randomId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClickSponsoredMessage extends TLObject { - __response__!: Bool; - media?: boolean; - fullscreen?: boolean; - randomId!: bytes; - - constructor(params: { media?: boolean; fullscreen?: boolean; randomId: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ClickSponsoredMessage'; - this.constructorId = 0x8235057e; - this.subclassOfId = 0xf5b399ac; - this._slots = ['media', 'fullscreen', 'randomId']; - this.media = params.media; - this.fullscreen = params.fullscreen; - this.randomId = params.randomId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let media = flags & (1 << 0) ? true : false; - let fullscreen = flags & (1 << 1) ? true : false; - let randomId = await Primitive.Bytes.read(_data); - return new Raw.messages.ClickSponsoredMessage({ - media: media, - fullscreen: fullscreen, - randomId: randomId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.media ? 1 << 0 : 0; - flags |= this.fullscreen ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.randomId !== undefined) { - b.write(Primitive.Bytes.write(this.randomId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportSponsoredMessage extends TLObject { - __response__!: Raw.channels.TypeSponsoredMessageReportResult; - randomId!: bytes; - option!: bytes; - - constructor(params: { randomId: bytes; option: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReportSponsoredMessage'; - this.constructorId = 0x12cbf0c4; - this.subclassOfId = 0x26231822; - this._slots = ['randomId', 'option']; - this.randomId = params.randomId; - this.option = params.option; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let randomId = await Primitive.Bytes.read(_data); - let option = await Primitive.Bytes.read(_data); - return new Raw.messages.ReportSponsoredMessage({ randomId: randomId, option: option }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.randomId !== undefined) { - b.write(Primitive.Bytes.write(this.randomId) as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSponsoredMessages extends TLObject { - __response__!: Raw.messages.TypeSponsoredMessages; - peer!: Raw.TypeInputPeer; - msgId?: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId?: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSponsoredMessages'; - this.constructorId = 0x3d6ce850; - this.subclassOfId = 0x7f4169e0; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let msgId = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.messages.GetSponsoredMessages({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.msgId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavePreparedInlineMessage extends TLObject { - __response__!: Raw.messages.TypeBotPreparedInlineMessage; - result!: Raw.TypeInputBotInlineResult; - userId!: Raw.TypeInputUser; - peerTypes?: Vector; - - constructor(params: { - result: Raw.TypeInputBotInlineResult; - userId: Raw.TypeInputUser; - peerTypes?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SavePreparedInlineMessage'; - this.constructorId = 0xf21f7f2f; - this.subclassOfId = 0xef9119bb; - this._slots = ['result', 'userId', 'peerTypes']; - this.result = params.result; - this.userId = params.userId; - this.peerTypes = params.peerTypes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let result = await TLObject.read(_data); - let userId = await TLObject.read(_data); - let peerTypes = flags & (1 << 0) ? await TLObject.read(_data) : []; - return new Raw.messages.SavePreparedInlineMessage({ - result: result, - userId: userId, - peerTypes: peerTypes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.peerTypes ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.result !== undefined) { - b.write(this.result.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.peerTypes) { - b.write(Primitive.Vector.write(this.peerTypes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPreparedInlineMessage extends TLObject { - __response__!: Raw.messages.TypePreparedInlineMessage; - bot!: Raw.TypeInputUser; - id!: string; - - constructor(params: { bot: Raw.TypeInputUser; id: string }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetPreparedInlineMessage'; - this.constructorId = 0x857ebdb8; - this.subclassOfId = 0x490ddf4d; - this._slots = ['bot', 'id']; - this.bot = params.bot; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let id = await Primitive.String.read(_data); - return new Raw.messages.GetPreparedInlineMessage({ bot: bot, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchStickers extends TLObject { - __response__!: Raw.messages.TypeFoundStickers; - emojis?: boolean; - q!: string; - emoticon!: string; - langCode!: Vector; - offset!: int; - limit!: int; - hash!: long; - - constructor(params: { - emojis?: boolean; - q: string; - emoticon: string; - langCode: Vector; - offset: int; - limit: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.SearchStickers'; - this.constructorId = 0x29b1c66a; - this.subclassOfId = 0x6402151; - this._slots = ['emojis', 'q', 'emoticon', 'langCode', 'offset', 'limit', 'hash']; - this.emojis = params.emojis; - this.q = params.q; - this.emoticon = params.emoticon; - this.langCode = params.langCode; - this.offset = params.offset; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let emojis = flags & (1 << 0) ? true : false; - let q = await Primitive.String.read(_data); - let emoticon = await Primitive.String.read(_data); - let langCode = await TLObject.read(_data, Primitive.String); - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.messages.SearchStickers({ - emojis: emojis, - q: q, - emoticon: emoticon, - langCode: langCode, - offset: offset, - limit: limit, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.emojis ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.langCode) { - b.write(Primitive.Vector.write(this.langCode, Primitive.String) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportMessagesDelivery extends TLObject { - __response__!: Bool; - push?: boolean; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { push?: boolean; peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReportMessagesDelivery'; - this.constructorId = 0x5a6d7395; - this.subclassOfId = 0xf5b399ac; - this._slots = ['push', 'peer', 'id']; - this.push = params.push; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let push = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.ReportMessagesDelivery({ push: push, peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.push ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedDialogsByID extends TLObject { - __response__!: Raw.messages.TypeSavedDialogs; - parentPeer?: Raw.TypeInputPeer; - ids!: Vector; - - constructor(params: { parentPeer?: Raw.TypeInputPeer; ids: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.GetSavedDialogsByID'; - this.constructorId = 0x6f6f9c96; - this.subclassOfId = 0x614bb87e; - this._slots = ['parentPeer', 'ids']; - this.parentPeer = params.parentPeer; - this.ids = params.ids; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let parentPeer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let ids = await TLObject.read(_data); - return new Raw.messages.GetSavedDialogsByID({ parentPeer: parentPeer, ids: ids }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.parentPeer !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.ids) { - b.write(Primitive.Vector.write(this.ids) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadSavedHistory extends TLObject { - __response__!: Bool; - parentPeer!: Raw.TypeInputPeer; - peer!: Raw.TypeInputPeer; - maxId!: int; - - constructor(params: { parentPeer: Raw.TypeInputPeer; peer: Raw.TypeInputPeer; maxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ReadSavedHistory'; - this.constructorId = 0xba4a3b5b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['parentPeer', 'peer', 'maxId']; - this.parentPeer = params.parentPeer; - this.peer = params.peer; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let parentPeer = await TLObject.read(_data); - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.messages.ReadSavedHistory({ - parentPeer: parentPeer, - peer: peer, - maxId: maxId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleTodoCompleted extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - completed!: Vector; - incompleted!: Vector; - - constructor(params: { - peer: Raw.TypeInputPeer; - msgId: int; - completed: Vector; - incompleted: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleTodoCompleted'; - this.constructorId = 0xd3e03124; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId', 'completed', 'incompleted']; - this.peer = params.peer; - this.msgId = params.msgId; - this.completed = params.completed; - this.incompleted = params.incompleted; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let completed = await TLObject.read(_data, Primitive.Int); - let incompleted = await TLObject.read(_data, Primitive.Int); - return new Raw.messages.ToggleTodoCompleted({ - peer: peer, - msgId: msgId, - completed: completed, - incompleted: incompleted, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.completed) { - b.write(Primitive.Vector.write(this.completed, Primitive.Int) as unknown as Buffer); - } - if (this.incompleted) { - b.write(Primitive.Vector.write(this.incompleted, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AppendTodoList extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - msgId!: int; - list!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int; list: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'messages.AppendTodoList'; - this.constructorId = 0x21a61057; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'msgId', 'list']; - this.peer = params.peer; - this.msgId = params.msgId; - this.list = params.list; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let list = await TLObject.read(_data); - return new Raw.messages.AppendTodoList({ peer: peer, msgId: msgId, list: list }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.list) { - b.write(Primitive.Vector.write(this.list) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleSuggestedPostApproval extends TLObject { - __response__!: Raw.TypeUpdates; - reject?: boolean; - peer!: Raw.TypeInputPeer; - msgId!: int; - scheduleDate?: int; - rejectComment?: string; - - constructor(params: { - reject?: boolean; - peer: Raw.TypeInputPeer; - msgId: int; - scheduleDate?: int; - rejectComment?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'messages.ToggleSuggestedPostApproval'; - this.constructorId = 0x8107455c; - this.subclassOfId = 0x8af52aac; - this._slots = ['reject', 'peer', 'msgId', 'scheduleDate', 'rejectComment']; - this.reject = params.reject; - this.peer = params.peer; - this.msgId = params.msgId; - this.scheduleDate = params.scheduleDate; - this.rejectComment = params.rejectComment; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let reject = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let scheduleDate = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let rejectComment = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.messages.ToggleSuggestedPostApproval({ - reject: reject, - peer: peer, - msgId: msgId, - scheduleDate: scheduleDate, - rejectComment: rejectComment, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.reject ? 1 << 1 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 0 : 0; - flags |= this.rejectComment !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - if (this.rejectComment !== undefined) { - b.write(Primitive.String.write(this.rejectComment) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace updates { - export type TypeChannelDifference = - | Raw.updates.ChannelDifferenceEmpty - | Raw.updates.ChannelDifferenceTooLong - | Raw.updates.ChannelDifference; - export type TypeDifference = - | Raw.updates.DifferenceEmpty - | Raw.updates.Difference - | Raw.updates.DifferenceSlice - | Raw.updates.DifferenceTooLong; - export type TypeState = Raw.updates.State; - export class State extends TLObject { - pts!: int; - qts!: int; - date!: int; - seq!: int; - unreadCount!: int; - - constructor(params: { pts: int; qts: int; date: int; seq: int; unreadCount: int }) { - super(); - this.classType = 'types'; - this.className = 'updates.State'; - this.constructorId = 0xa56c2a3e; - this.subclassOfId = 0x23df1a01; - this._slots = ['pts', 'qts', 'date', 'seq', 'unreadCount']; - this.pts = params.pts; - this.qts = params.qts; - this.date = params.date; - this.seq = params.seq; - this.unreadCount = params.unreadCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let pts = await Primitive.Int.read(_data); - let qts = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let seq = await Primitive.Int.read(_data); - let unreadCount = await Primitive.Int.read(_data); - return new Raw.updates.State({ - pts: pts, - qts: qts, - date: date, - seq: seq, - unreadCount: unreadCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.seq !== undefined) { - b.write(Primitive.Int.write(this.seq) as unknown as Buffer); - } - if (this.unreadCount !== undefined) { - b.write(Primitive.Int.write(this.unreadCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DifferenceEmpty extends TLObject { - date!: int; - seq!: int; - - constructor(params: { date: int; seq: int }) { - super(); - this.classType = 'types'; - this.className = 'updates.DifferenceEmpty'; - this.constructorId = 0x5d75a138; - this.subclassOfId = 0x20482874; - this._slots = ['date', 'seq']; - this.date = params.date; - this.seq = params.seq; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let date = await Primitive.Int.read(_data); - let seq = await Primitive.Int.read(_data); - return new Raw.updates.DifferenceEmpty({ date: date, seq: seq }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.seq !== undefined) { - b.write(Primitive.Int.write(this.seq) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Difference extends TLObject { - newMessages!: Vector; - newEncryptedMessages!: Vector; - otherUpdates!: Vector; - chats!: Vector; - users!: Vector; - state!: Raw.updates.TypeState; - - constructor(params: { - newMessages: Vector; - newEncryptedMessages: Vector; - otherUpdates: Vector; - chats: Vector; - users: Vector; - state: Raw.updates.TypeState; - }) { - super(); - this.classType = 'types'; - this.className = 'updates.Difference'; - this.constructorId = 0xf49ca0; - this.subclassOfId = 0x20482874; - this._slots = [ - 'newMessages', - 'newEncryptedMessages', - 'otherUpdates', - 'chats', - 'users', - 'state', - ]; - this.newMessages = params.newMessages; - this.newEncryptedMessages = params.newEncryptedMessages; - this.otherUpdates = params.otherUpdates; - this.chats = params.chats; - this.users = params.users; - this.state = params.state; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newMessages = await TLObject.read(_data); - let newEncryptedMessages = await TLObject.read(_data); - let otherUpdates = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let state = await TLObject.read(_data); - return new Raw.updates.Difference({ - newMessages: newMessages, - newEncryptedMessages: newEncryptedMessages, - otherUpdates: otherUpdates, - chats: chats, - users: users, - state: state, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newMessages) { - b.write(Primitive.Vector.write(this.newMessages) as unknown as Buffer); - } - if (this.newEncryptedMessages) { - b.write(Primitive.Vector.write(this.newEncryptedMessages) as unknown as Buffer); - } - if (this.otherUpdates) { - b.write(Primitive.Vector.write(this.otherUpdates) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.state !== undefined) { - b.write(this.state.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DifferenceSlice extends TLObject { - newMessages!: Vector; - newEncryptedMessages!: Vector; - otherUpdates!: Vector; - chats!: Vector; - users!: Vector; - intermediateState!: Raw.updates.TypeState; - - constructor(params: { - newMessages: Vector; - newEncryptedMessages: Vector; - otherUpdates: Vector; - chats: Vector; - users: Vector; - intermediateState: Raw.updates.TypeState; - }) { - super(); - this.classType = 'types'; - this.className = 'updates.DifferenceSlice'; - this.constructorId = 0xa8fb1981; - this.subclassOfId = 0x20482874; - this._slots = [ - 'newMessages', - 'newEncryptedMessages', - 'otherUpdates', - 'chats', - 'users', - 'intermediateState', - ]; - this.newMessages = params.newMessages; - this.newEncryptedMessages = params.newEncryptedMessages; - this.otherUpdates = params.otherUpdates; - this.chats = params.chats; - this.users = params.users; - this.intermediateState = params.intermediateState; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let newMessages = await TLObject.read(_data); - let newEncryptedMessages = await TLObject.read(_data); - let otherUpdates = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let intermediateState = await TLObject.read(_data); - return new Raw.updates.DifferenceSlice({ - newMessages: newMessages, - newEncryptedMessages: newEncryptedMessages, - otherUpdates: otherUpdates, - chats: chats, - users: users, - intermediateState: intermediateState, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.newMessages) { - b.write(Primitive.Vector.write(this.newMessages) as unknown as Buffer); - } - if (this.newEncryptedMessages) { - b.write(Primitive.Vector.write(this.newEncryptedMessages) as unknown as Buffer); - } - if (this.otherUpdates) { - b.write(Primitive.Vector.write(this.otherUpdates) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.intermediateState !== undefined) { - b.write(this.intermediateState.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DifferenceTooLong extends TLObject { - pts!: int; - - constructor(params: { pts: int }) { - super(); - this.classType = 'types'; - this.className = 'updates.DifferenceTooLong'; - this.constructorId = 0x4afe8f6d; - this.subclassOfId = 0x20482874; - this._slots = ['pts']; - this.pts = params.pts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let pts = await Primitive.Int.read(_data); - return new Raw.updates.DifferenceTooLong({ pts: pts }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelDifferenceEmpty extends TLObject { - final?: boolean; - pts!: int; - timeout?: int; - - constructor(params: { final?: boolean; pts: int; timeout?: int }) { - super(); - this.classType = 'types'; - this.className = 'updates.ChannelDifferenceEmpty'; - this.constructorId = 0x3e11affb; - this.subclassOfId = 0x29896f5d; - this._slots = ['final', 'pts', 'timeout']; - this.final = params.final; - this.pts = params.pts; - this.timeout = params.timeout; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let final = flags & (1 << 0) ? true : false; - let pts = await Primitive.Int.read(_data); - let timeout = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.updates.ChannelDifferenceEmpty({ final: final, pts: pts, timeout: timeout }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.final ? 1 << 0 : 0; - flags |= this.timeout !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.timeout !== undefined) { - b.write(Primitive.Int.write(this.timeout) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelDifferenceTooLong extends TLObject { - final?: boolean; - timeout?: int; - dialog!: Raw.TypeDialog; - messages!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - final?: boolean; - timeout?: int; - dialog: Raw.TypeDialog; - messages: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'updates.ChannelDifferenceTooLong'; - this.constructorId = 0xa4bcc6fe; - this.subclassOfId = 0x29896f5d; - this._slots = ['final', 'timeout', 'dialog', 'messages', 'chats', 'users']; - this.final = params.final; - this.timeout = params.timeout; - this.dialog = params.dialog; - this.messages = params.messages; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let final = flags & (1 << 0) ? true : false; - let timeout = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let dialog = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.updates.ChannelDifferenceTooLong({ - final: final, - timeout: timeout, - dialog: dialog, - messages: messages, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.final ? 1 << 0 : 0; - flags |= this.timeout !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.timeout !== undefined) { - b.write(Primitive.Int.write(this.timeout) as unknown as Buffer); - } - if (this.dialog !== undefined) { - b.write(this.dialog.write() as unknown as Buffer); - } - if (this.messages) { - b.write(Primitive.Vector.write(this.messages) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelDifference extends TLObject { - final?: boolean; - pts!: int; - timeout?: int; - newMessages!: Vector; - otherUpdates!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - final?: boolean; - pts: int; - timeout?: int; - newMessages: Vector; - otherUpdates: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'updates.ChannelDifference'; - this.constructorId = 0x2064674e; - this.subclassOfId = 0x29896f5d; - this._slots = ['final', 'pts', 'timeout', 'newMessages', 'otherUpdates', 'chats', 'users']; - this.final = params.final; - this.pts = params.pts; - this.timeout = params.timeout; - this.newMessages = params.newMessages; - this.otherUpdates = params.otherUpdates; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let final = flags & (1 << 0) ? true : false; - let pts = await Primitive.Int.read(_data); - let timeout = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let newMessages = await TLObject.read(_data); - let otherUpdates = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.updates.ChannelDifference({ - final: final, - pts: pts, - timeout: timeout, - newMessages: newMessages, - otherUpdates: otherUpdates, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.final ? 1 << 0 : 0; - flags |= this.timeout !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.timeout !== undefined) { - b.write(Primitive.Int.write(this.timeout) as unknown as Buffer); - } - if (this.newMessages) { - b.write(Primitive.Vector.write(this.newMessages) as unknown as Buffer); - } - if (this.otherUpdates) { - b.write(Primitive.Vector.write(this.otherUpdates) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetState extends TLObject { - __response__!: Raw.updates.TypeState; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'updates.GetState'; - this.constructorId = 0xedd4882a; - this.subclassOfId = 0x23df1a01; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.updates.GetState(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDifference extends TLObject { - __response__!: Raw.updates.TypeDifference; - pts!: int; - ptsLimit?: int; - ptsTotalLimit?: int; - date!: int; - qts!: int; - qtsLimit?: int; - - constructor(params: { - pts: int; - ptsLimit?: int; - ptsTotalLimit?: int; - date: int; - qts: int; - qtsLimit?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'updates.GetDifference'; - this.constructorId = 0x19c2f763; - this.subclassOfId = 0x20482874; - this._slots = ['pts', 'ptsLimit', 'ptsTotalLimit', 'date', 'qts', 'qtsLimit']; - this.pts = params.pts; - this.ptsLimit = params.ptsLimit; - this.ptsTotalLimit = params.ptsTotalLimit; - this.date = params.date; - this.qts = params.qts; - this.qtsLimit = params.qtsLimit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pts = await Primitive.Int.read(_data); - let ptsLimit = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let ptsTotalLimit = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let qts = await Primitive.Int.read(_data); - let qtsLimit = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.updates.GetDifference({ - pts: pts, - ptsLimit: ptsLimit, - ptsTotalLimit: ptsTotalLimit, - date: date, - qts: qts, - qtsLimit: qtsLimit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ptsLimit !== undefined ? 1 << 1 : 0; - flags |= this.ptsTotalLimit !== undefined ? 1 << 0 : 0; - flags |= this.qtsLimit !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.ptsLimit !== undefined) { - b.write(Primitive.Int.write(this.ptsLimit) as unknown as Buffer); - } - if (this.ptsTotalLimit !== undefined) { - b.write(Primitive.Int.write(this.ptsTotalLimit) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.qts !== undefined) { - b.write(Primitive.Int.write(this.qts) as unknown as Buffer); - } - if (this.qtsLimit !== undefined) { - b.write(Primitive.Int.write(this.qtsLimit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChannelDifference extends TLObject { - __response__!: Raw.updates.TypeChannelDifference; - force?: boolean; - channel!: Raw.TypeInputChannel; - filter!: Raw.TypeChannelMessagesFilter; - pts!: int; - limit!: int; - - constructor(params: { - force?: boolean; - channel: Raw.TypeInputChannel; - filter: Raw.TypeChannelMessagesFilter; - pts: int; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'updates.GetChannelDifference'; - this.constructorId = 0x3173d78; - this.subclassOfId = 0x29896f5d; - this._slots = ['force', 'channel', 'filter', 'pts', 'limit']; - this.force = params.force; - this.channel = params.channel; - this.filter = params.filter; - this.pts = params.pts; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let force = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - let filter = await TLObject.read(_data); - let pts = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.updates.GetChannelDifference({ - force: force, - channel: channel, - filter: filter, - pts: pts, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.force ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.pts !== undefined) { - b.write(Primitive.Int.write(this.pts) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace photos { - export type TypePhotos = Raw.photos.Photos | Raw.photos.PhotosSlice; - export type TypePhoto = Raw.photos.Photo; - export class Photos extends TLObject { - photos!: Vector; - users!: Vector; - - constructor(params: { photos: Vector; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'photos.Photos'; - this.constructorId = 0x8dca6aa5; - this.subclassOfId = 0x27cfb967; - this._slots = ['photos', 'users']; - this.photos = params.photos; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let photos = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.photos.Photos({ photos: photos, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.photos) { - b.write(Primitive.Vector.write(this.photos) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PhotosSlice extends TLObject { - count!: int; - photos!: Vector; - users!: Vector; - - constructor(params: { - count: int; - photos: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'photos.PhotosSlice'; - this.constructorId = 0x15051f54; - this.subclassOfId = 0x27cfb967; - this._slots = ['count', 'photos', 'users']; - this.count = params.count; - this.photos = params.photos; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let photos = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.photos.PhotosSlice({ count: count, photos: photos, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.photos) { - b.write(Primitive.Vector.write(this.photos) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Photo extends TLObject { - photo!: Raw.TypePhoto; - users!: Vector; - - constructor(params: { photo: Raw.TypePhoto; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'photos.Photo'; - this.constructorId = 0x20212ca8; - this.subclassOfId = 0xc292bd24; - this._slots = ['photo', 'users']; - this.photo = params.photo; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let photo = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.photos.Photo({ photo: photo, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateProfilePhoto extends TLObject { - __response__!: Raw.photos.TypePhoto; - fallback?: boolean; - bot?: Raw.TypeInputUser; - id!: Raw.TypeInputPhoto; - - constructor(params: { fallback?: boolean; bot?: Raw.TypeInputUser; id: Raw.TypeInputPhoto }) { - super(); - this.classType = 'functions'; - this.className = 'photos.UpdateProfilePhoto'; - this.constructorId = 0x9e82039; - this.subclassOfId = 0xc292bd24; - this._slots = ['fallback', 'bot', 'id']; - this.fallback = params.fallback; - this.bot = params.bot; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let fallback = flags & (1 << 0) ? true : false; - let bot = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let id = await TLObject.read(_data); - return new Raw.photos.UpdateProfilePhoto({ fallback: fallback, bot: bot, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fallback ? 1 << 0 : 0; - flags |= this.bot !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadProfilePhoto extends TLObject { - __response__!: Raw.photos.TypePhoto; - fallback?: boolean; - bot?: Raw.TypeInputUser; - file?: Raw.TypeInputFile; - video?: Raw.TypeInputFile; - videoStartTs?: double; - videoEmojiMarkup?: Raw.TypeVideoSize; - - constructor(params: { - fallback?: boolean; - bot?: Raw.TypeInputUser; - file?: Raw.TypeInputFile; - video?: Raw.TypeInputFile; - videoStartTs?: double; - videoEmojiMarkup?: Raw.TypeVideoSize; - }) { - super(); - this.classType = 'functions'; - this.className = 'photos.UploadProfilePhoto'; - this.constructorId = 0x388a3b5; - this.subclassOfId = 0xc292bd24; - this._slots = ['fallback', 'bot', 'file', 'video', 'videoStartTs', 'videoEmojiMarkup']; - this.fallback = params.fallback; - this.bot = params.bot; - this.file = params.file; - this.video = params.video; - this.videoStartTs = params.videoStartTs; - this.videoEmojiMarkup = params.videoEmojiMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let fallback = flags & (1 << 3) ? true : false; - let bot = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let file = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let video = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let videoStartTs = flags & (1 << 2) ? await Primitive.Double.read(_data) : undefined; - let videoEmojiMarkup = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - return new Raw.photos.UploadProfilePhoto({ - fallback: fallback, - bot: bot, - file: file, - video: video, - videoStartTs: videoStartTs, - videoEmojiMarkup: videoEmojiMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.fallback ? 1 << 3 : 0; - flags |= this.bot !== undefined ? 1 << 5 : 0; - flags |= this.file !== undefined ? 1 << 0 : 0; - flags |= this.video !== undefined ? 1 << 1 : 0; - flags |= this.videoStartTs !== undefined ? 1 << 2 : 0; - flags |= this.videoEmojiMarkup !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.video !== undefined) { - b.write(this.video.write() as unknown as Buffer); - } - if (this.videoStartTs !== undefined) { - b.write(Primitive.Double.write(this.videoStartTs) as unknown as Buffer); - } - if (this.videoEmojiMarkup !== undefined) { - b.write(this.videoEmojiMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeletePhotos extends TLObject { - __response__!: Vector; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'photos.DeletePhotos'; - this.constructorId = 0x87cf7f2f; - this.subclassOfId = 0x8918e168; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.photos.DeletePhotos({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUserPhotos extends TLObject { - __response__!: Raw.photos.TypePhotos; - userId!: Raw.TypeInputUser; - offset!: int; - maxId!: long; - limit!: int; - - constructor(params: { userId: Raw.TypeInputUser; offset: int; maxId: long; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'photos.GetUserPhotos'; - this.constructorId = 0x91cd32a8; - this.subclassOfId = 0x27cfb967; - this._slots = ['userId', 'offset', 'maxId', 'limit']; - this.userId = params.userId; - this.offset = params.offset; - this.maxId = params.maxId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let offset = await Primitive.Int.read(_data); - let maxId = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.photos.GetUserPhotos({ - userId: userId, - offset: offset, - maxId: maxId, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Long.write(this.maxId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadContactProfilePhoto extends TLObject { - __response__!: Raw.photos.TypePhoto; - suggest?: boolean; - save?: boolean; - userId!: Raw.TypeInputUser; - file?: Raw.TypeInputFile; - video?: Raw.TypeInputFile; - videoStartTs?: double; - videoEmojiMarkup?: Raw.TypeVideoSize; - - constructor(params: { - suggest?: boolean; - save?: boolean; - userId: Raw.TypeInputUser; - file?: Raw.TypeInputFile; - video?: Raw.TypeInputFile; - videoStartTs?: double; - videoEmojiMarkup?: Raw.TypeVideoSize; - }) { - super(); - this.classType = 'functions'; - this.className = 'photos.UploadContactProfilePhoto'; - this.constructorId = 0xe14c4a71; - this.subclassOfId = 0xc292bd24; - this._slots = [ - 'suggest', - 'save', - 'userId', - 'file', - 'video', - 'videoStartTs', - 'videoEmojiMarkup', - ]; - this.suggest = params.suggest; - this.save = params.save; - this.userId = params.userId; - this.file = params.file; - this.video = params.video; - this.videoStartTs = params.videoStartTs; - this.videoEmojiMarkup = params.videoEmojiMarkup; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let suggest = flags & (1 << 3) ? true : false; - let save = flags & (1 << 4) ? true : false; - let userId = await TLObject.read(_data); - let file = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let video = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let videoStartTs = flags & (1 << 2) ? await Primitive.Double.read(_data) : undefined; - let videoEmojiMarkup = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - return new Raw.photos.UploadContactProfilePhoto({ - suggest: suggest, - save: save, - userId: userId, - file: file, - video: video, - videoStartTs: videoStartTs, - videoEmojiMarkup: videoEmojiMarkup, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.suggest ? 1 << 3 : 0; - flags |= this.save ? 1 << 4 : 0; - flags |= this.file !== undefined ? 1 << 0 : 0; - flags |= this.video !== undefined ? 1 << 1 : 0; - flags |= this.videoStartTs !== undefined ? 1 << 2 : 0; - flags |= this.videoEmojiMarkup !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.video !== undefined) { - b.write(this.video.write() as unknown as Buffer); - } - if (this.videoStartTs !== undefined) { - b.write(Primitive.Double.write(this.videoStartTs) as unknown as Buffer); - } - if (this.videoEmojiMarkup !== undefined) { - b.write(this.videoEmojiMarkup.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace upload { - export type TypeCdnFile = Raw.upload.CdnFileReuploadNeeded | Raw.upload.CdnFile; - export type TypeWebFile = Raw.upload.WebFile; - export type TypeFile = Raw.upload.File | Raw.upload.FileCdnRedirect; - export class File extends TLObject { - type!: Raw.storage.TypeFileType; - mtime!: int; - bytes!: bytes; - - constructor(params: { type: Raw.storage.TypeFileType; mtime: int; bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'upload.File'; - this.constructorId = 0x96a18d5; - this.subclassOfId = 0x6c9bd728; - this._slots = ['type', 'mtime', 'bytes']; - this.type = params.type; - this.mtime = params.mtime; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let type = await TLObject.read(_data); - let mtime = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.upload.File({ type: type, mtime: mtime, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.type !== undefined) { - b.write(this.type.write() as unknown as Buffer); - } - if (this.mtime !== undefined) { - b.write(Primitive.Int.write(this.mtime) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FileCdnRedirect extends TLObject { - dcId!: int; - fileToken!: bytes; - encryptionKey!: bytes; - encryptionIv!: bytes; - fileHashes!: Vector; - - constructor(params: { - dcId: int; - fileToken: bytes; - encryptionKey: bytes; - encryptionIv: bytes; - fileHashes: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'upload.FileCdnRedirect'; - this.constructorId = 0xf18cda44; - this.subclassOfId = 0x6c9bd728; - this._slots = ['dcId', 'fileToken', 'encryptionKey', 'encryptionIv', 'fileHashes']; - this.dcId = params.dcId; - this.fileToken = params.fileToken; - this.encryptionKey = params.encryptionKey; - this.encryptionIv = params.encryptionIv; - this.fileHashes = params.fileHashes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let dcId = await Primitive.Int.read(_data); - let fileToken = await Primitive.Bytes.read(_data); - let encryptionKey = await Primitive.Bytes.read(_data); - let encryptionIv = await Primitive.Bytes.read(_data); - let fileHashes = await TLObject.read(_data); - return new Raw.upload.FileCdnRedirect({ - dcId: dcId, - fileToken: fileToken, - encryptionKey: encryptionKey, - encryptionIv: encryptionIv, - fileHashes: fileHashes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.dcId !== undefined) { - b.write(Primitive.Int.write(this.dcId) as unknown as Buffer); - } - if (this.fileToken !== undefined) { - b.write(Primitive.Bytes.write(this.fileToken) as unknown as Buffer); - } - if (this.encryptionKey !== undefined) { - b.write(Primitive.Bytes.write(this.encryptionKey) as unknown as Buffer); - } - if (this.encryptionIv !== undefined) { - b.write(Primitive.Bytes.write(this.encryptionIv) as unknown as Buffer); - } - if (this.fileHashes) { - b.write(Primitive.Vector.write(this.fileHashes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebFile extends TLObject { - size!: int; - mimeType!: string; - fileType!: Raw.storage.TypeFileType; - mtime!: int; - bytes!: bytes; - - constructor(params: { - size: int; - mimeType: string; - fileType: Raw.storage.TypeFileType; - mtime: int; - bytes: bytes; - }) { - super(); - this.classType = 'types'; - this.className = 'upload.WebFile'; - this.constructorId = 0x21e753bc; - this.subclassOfId = 0x68f17f51; - this._slots = ['size', 'mimeType', 'fileType', 'mtime', 'bytes']; - this.size = params.size; - this.mimeType = params.mimeType; - this.fileType = params.fileType; - this.mtime = params.mtime; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let size = await Primitive.Int.read(_data); - let mimeType = await Primitive.String.read(_data); - let fileType = await TLObject.read(_data); - let mtime = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.upload.WebFile({ - size: size, - mimeType: mimeType, - fileType: fileType, - mtime: mtime, - bytes: bytes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.size !== undefined) { - b.write(Primitive.Int.write(this.size) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.fileType !== undefined) { - b.write(this.fileType.write() as unknown as Buffer); - } - if (this.mtime !== undefined) { - b.write(Primitive.Int.write(this.mtime) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CdnFileReuploadNeeded extends TLObject { - requestToken!: bytes; - - constructor(params: { requestToken: bytes }) { - super(); - this.classType = 'types'; - this.className = 'upload.CdnFileReuploadNeeded'; - this.constructorId = 0xeea8e46e; - this.subclassOfId = 0xf5ccf928; - this._slots = ['requestToken']; - this.requestToken = params.requestToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let requestToken = await Primitive.Bytes.read(_data); - return new Raw.upload.CdnFileReuploadNeeded({ requestToken: requestToken }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.requestToken !== undefined) { - b.write(Primitive.Bytes.write(this.requestToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CdnFile extends TLObject { - bytes!: bytes; - - constructor(params: { bytes: bytes }) { - super(); - this.classType = 'types'; - this.className = 'upload.CdnFile'; - this.constructorId = 0xa99fca4f; - this.subclassOfId = 0xf5ccf928; - this._slots = ['bytes']; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bytes = await Primitive.Bytes.read(_data); - return new Raw.upload.CdnFile({ bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveFilePart extends TLObject { - __response__!: Bool; - fileId!: long; - filePart!: int; - bytes!: bytes; - - constructor(params: { fileId: long; filePart: int; bytes: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'upload.SaveFilePart'; - this.constructorId = 0xb304a621; - this.subclassOfId = 0xf5b399ac; - this._slots = ['fileId', 'filePart', 'bytes']; - this.fileId = params.fileId; - this.filePart = params.filePart; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fileId = await Primitive.Long.read(_data); - let filePart = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.upload.SaveFilePart({ fileId: fileId, filePart: filePart, bytes: bytes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fileId !== undefined) { - b.write(Primitive.Long.write(this.fileId) as unknown as Buffer); - } - if (this.filePart !== undefined) { - b.write(Primitive.Int.write(this.filePart) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFile extends TLObject { - __response__!: Raw.upload.TypeFile; - precise?: boolean; - cdnSupported?: boolean; - location!: Raw.TypeInputFileLocation; - offset!: long; - limit!: int; - - constructor(params: { - precise?: boolean; - cdnSupported?: boolean; - location: Raw.TypeInputFileLocation; - offset: long; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'upload.GetFile'; - this.constructorId = 0xbe5335be; - this.subclassOfId = 0x6c9bd728; - this._slots = ['precise', 'cdnSupported', 'location', 'offset', 'limit']; - this.precise = params.precise; - this.cdnSupported = params.cdnSupported; - this.location = params.location; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let precise = flags & (1 << 0) ? true : false; - let cdnSupported = flags & (1 << 1) ? true : false; - let location = await TLObject.read(_data); - let offset = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.upload.GetFile({ - precise: precise, - cdnSupported: cdnSupported, - location: location, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.precise ? 1 << 0 : 0; - flags |= this.cdnSupported ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.location !== undefined) { - b.write(this.location.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Long.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveBigFilePart extends TLObject { - __response__!: Bool; - fileId!: long; - filePart!: int; - fileTotalParts!: int; - bytes!: bytes; - - constructor(params: { fileId: long; filePart: int; fileTotalParts: int; bytes: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'upload.SaveBigFilePart'; - this.constructorId = 0xde7b673d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['fileId', 'filePart', 'fileTotalParts', 'bytes']; - this.fileId = params.fileId; - this.filePart = params.filePart; - this.fileTotalParts = params.fileTotalParts; - this.bytes = params.bytes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fileId = await Primitive.Long.read(_data); - let filePart = await Primitive.Int.read(_data); - let fileTotalParts = await Primitive.Int.read(_data); - let bytes = await Primitive.Bytes.read(_data); - return new Raw.upload.SaveBigFilePart({ - fileId: fileId, - filePart: filePart, - fileTotalParts: fileTotalParts, - bytes: bytes, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fileId !== undefined) { - b.write(Primitive.Long.write(this.fileId) as unknown as Buffer); - } - if (this.filePart !== undefined) { - b.write(Primitive.Int.write(this.filePart) as unknown as Buffer); - } - if (this.fileTotalParts !== undefined) { - b.write(Primitive.Int.write(this.fileTotalParts) as unknown as Buffer); - } - if (this.bytes !== undefined) { - b.write(Primitive.Bytes.write(this.bytes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetWebFile extends TLObject { - __response__!: Raw.upload.TypeWebFile; - location!: Raw.TypeInputWebFileLocation; - offset!: int; - limit!: int; - - constructor(params: { location: Raw.TypeInputWebFileLocation; offset: int; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'upload.GetWebFile'; - this.constructorId = 0x24e6818d; - this.subclassOfId = 0x68f17f51; - this._slots = ['location', 'offset', 'limit']; - this.location = params.location; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let location = await TLObject.read(_data); - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.upload.GetWebFile({ location: location, offset: offset, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.location !== undefined) { - b.write(this.location.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCdnFile extends TLObject { - __response__!: Raw.upload.TypeCdnFile; - fileToken!: bytes; - offset!: long; - limit!: int; - - constructor(params: { fileToken: bytes; offset: long; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'upload.GetCdnFile'; - this.constructorId = 0x395f69da; - this.subclassOfId = 0xf5ccf928; - this._slots = ['fileToken', 'offset', 'limit']; - this.fileToken = params.fileToken; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fileToken = await Primitive.Bytes.read(_data); - let offset = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.upload.GetCdnFile({ fileToken: fileToken, offset: offset, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fileToken !== undefined) { - b.write(Primitive.Bytes.write(this.fileToken) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Long.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReuploadCdnFile extends TLObject { - __response__!: Vector; - fileToken!: bytes; - requestToken!: bytes; - - constructor(params: { fileToken: bytes; requestToken: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'upload.ReuploadCdnFile'; - this.constructorId = 0x9b2754a8; - this.subclassOfId = 0xa5940726; - this._slots = ['fileToken', 'requestToken']; - this.fileToken = params.fileToken; - this.requestToken = params.requestToken; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fileToken = await Primitive.Bytes.read(_data); - let requestToken = await Primitive.Bytes.read(_data); - return new Raw.upload.ReuploadCdnFile({ fileToken: fileToken, requestToken: requestToken }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fileToken !== undefined) { - b.write(Primitive.Bytes.write(this.fileToken) as unknown as Buffer); - } - if (this.requestToken !== undefined) { - b.write(Primitive.Bytes.write(this.requestToken) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCdnFileHashes extends TLObject { - __response__!: Vector; - fileToken!: bytes; - offset!: long; - - constructor(params: { fileToken: bytes; offset: long }) { - super(); - this.classType = 'functions'; - this.className = 'upload.GetCdnFileHashes'; - this.constructorId = 0x91dc3f31; - this.subclassOfId = 0xa5940726; - this._slots = ['fileToken', 'offset']; - this.fileToken = params.fileToken; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fileToken = await Primitive.Bytes.read(_data); - let offset = await Primitive.Long.read(_data); - return new Raw.upload.GetCdnFileHashes({ fileToken: fileToken, offset: offset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fileToken !== undefined) { - b.write(Primitive.Bytes.write(this.fileToken) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Long.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFileHashes extends TLObject { - __response__!: Vector; - location!: Raw.TypeInputFileLocation; - offset!: long; - - constructor(params: { location: Raw.TypeInputFileLocation; offset: long }) { - super(); - this.classType = 'functions'; - this.className = 'upload.GetFileHashes'; - this.constructorId = 0x9156982a; - this.subclassOfId = 0xa5940726; - this._slots = ['location', 'offset']; - this.location = params.location; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let location = await TLObject.read(_data); - let offset = await Primitive.Long.read(_data); - return new Raw.upload.GetFileHashes({ location: location, offset: offset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.location !== undefined) { - b.write(this.location.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Long.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace account { - export type TypePaidMessagesRevenue = Raw.account.PaidMessagesRevenue; - export type TypeResolvedBusinessChatLinks = Raw.account.ResolvedBusinessChatLinks; - export type TypeBusinessChatLinks = Raw.account.BusinessChatLinks; - export type TypeConnectedBots = Raw.account.ConnectedBots; - export type TypeAutoSaveSettings = Raw.account.AutoSaveSettings; - export type TypeEmojiStatuses = - | Raw.account.EmojiStatusesNotModified - | Raw.account.EmojiStatuses; - export type TypeSavedRingtone = Raw.account.SavedRingtone | Raw.account.SavedRingtoneConverted; - export type TypeSavedRingtones = - | Raw.account.SavedRingtonesNotModified - | Raw.account.SavedRingtones; - export type TypeResetPasswordResult = - | Raw.account.ResetPasswordFailedWait - | Raw.account.ResetPasswordRequestedWait - | Raw.account.ResetPasswordOk; - export type TypeContentSettings = Raw.account.ContentSettings; - export type TypeThemes = Raw.account.ThemesNotModified | Raw.account.Themes; - export type TypeAutoDownloadSettings = Raw.account.AutoDownloadSettings; - export type TypeTakeout = Raw.account.Takeout; - export type TypeEmailVerified = Raw.account.EmailVerified | Raw.account.EmailVerifiedLogin; - export type TypeSentEmailCode = Raw.account.SentEmailCode; - export type TypeAuthorizationForm = Raw.account.AuthorizationForm; - export type TypeWebAuthorizations = Raw.account.WebAuthorizations; - export type TypeTmpPassword = Raw.account.TmpPassword; - export type TypePasswordSettings = Raw.account.PasswordSettings; - export type TypePassword = Raw.account.Password; - export type TypeAuthorizations = Raw.account.Authorizations; - export type TypePrivacyRules = Raw.account.PrivacyRules; - export type TypeWallPapers = Raw.account.WallPapersNotModified | Raw.account.WallPapers; - export type TypePasswordInputSettings = Raw.account.PasswordInputSettings; - export class PrivacyRules extends TLObject { - rules!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - rules: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.PrivacyRules'; - this.constructorId = 0x50a04e45; - this.subclassOfId = 0xb55aba82; - this._slots = ['rules', 'chats', 'users']; - this.rules = params.rules; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let rules = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.account.PrivacyRules({ rules: rules, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.rules) { - b.write(Primitive.Vector.write(this.rules) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Authorizations extends TLObject { - authorizationTtlDays!: int; - authorizations!: Vector; - - constructor(params: { - authorizationTtlDays: int; - authorizations: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.Authorizations'; - this.constructorId = 0x4bff8ea0; - this.subclassOfId = 0xbf5e0ff; - this._slots = ['authorizationTtlDays', 'authorizations']; - this.authorizationTtlDays = params.authorizationTtlDays; - this.authorizations = params.authorizations; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let authorizationTtlDays = await Primitive.Int.read(_data); - let authorizations = await TLObject.read(_data); - return new Raw.account.Authorizations({ - authorizationTtlDays: authorizationTtlDays, - authorizations: authorizations, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.authorizationTtlDays !== undefined) { - b.write(Primitive.Int.write(this.authorizationTtlDays) as unknown as Buffer); - } - if (this.authorizations) { - b.write(Primitive.Vector.write(this.authorizations) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Password extends TLObject { - hasRecovery?: boolean; - hasSecureValues?: boolean; - hasPassword?: boolean; - currentAlgo?: Raw.TypePasswordKdfAlgo; - srpB?: bytes; - srpId?: long; - hint?: string; - emailUnconfirmedPattern?: string; - newAlgo!: Raw.TypePasswordKdfAlgo; - newSecureAlgo!: Raw.TypeSecurePasswordKdfAlgo; - secureRandom!: bytes; - pendingResetDate?: int; - loginEmailPattern?: string; - - constructor(params: { - hasRecovery?: boolean; - hasSecureValues?: boolean; - hasPassword?: boolean; - currentAlgo?: Raw.TypePasswordKdfAlgo; - srpB?: bytes; - srpId?: long; - hint?: string; - emailUnconfirmedPattern?: string; - newAlgo: Raw.TypePasswordKdfAlgo; - newSecureAlgo: Raw.TypeSecurePasswordKdfAlgo; - secureRandom: bytes; - pendingResetDate?: int; - loginEmailPattern?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'account.Password'; - this.constructorId = 0x957b50fb; - this.subclassOfId = 0x53a211a3; - this._slots = [ - 'hasRecovery', - 'hasSecureValues', - 'hasPassword', - 'currentAlgo', - 'srpB', - 'srpId', - 'hint', - 'emailUnconfirmedPattern', - 'newAlgo', - 'newSecureAlgo', - 'secureRandom', - 'pendingResetDate', - 'loginEmailPattern', - ]; - this.hasRecovery = params.hasRecovery; - this.hasSecureValues = params.hasSecureValues; - this.hasPassword = params.hasPassword; - this.currentAlgo = params.currentAlgo; - this.srpB = params.srpB; - this.srpId = params.srpId; - this.hint = params.hint; - this.emailUnconfirmedPattern = params.emailUnconfirmedPattern; - this.newAlgo = params.newAlgo; - this.newSecureAlgo = params.newSecureAlgo; - this.secureRandom = params.secureRandom; - this.pendingResetDate = params.pendingResetDate; - this.loginEmailPattern = params.loginEmailPattern; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasRecovery = flags & (1 << 0) ? true : false; - let hasSecureValues = flags & (1 << 1) ? true : false; - let hasPassword = flags & (1 << 2) ? true : false; - let currentAlgo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let srpB = flags & (1 << 2) ? await Primitive.Bytes.read(_data) : undefined; - let srpId = flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - let hint = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let emailUnconfirmedPattern = - flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let newAlgo = await TLObject.read(_data); - let newSecureAlgo = await TLObject.read(_data); - let secureRandom = await Primitive.Bytes.read(_data); - let pendingResetDate = flags & (1 << 5) ? await Primitive.Int.read(_data) : undefined; - let loginEmailPattern = flags & (1 << 6) ? await Primitive.String.read(_data) : undefined; - return new Raw.account.Password({ - hasRecovery: hasRecovery, - hasSecureValues: hasSecureValues, - hasPassword: hasPassword, - currentAlgo: currentAlgo, - srpB: srpB, - srpId: srpId, - hint: hint, - emailUnconfirmedPattern: emailUnconfirmedPattern, - newAlgo: newAlgo, - newSecureAlgo: newSecureAlgo, - secureRandom: secureRandom, - pendingResetDate: pendingResetDate, - loginEmailPattern: loginEmailPattern, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasRecovery ? 1 << 0 : 0; - flags |= this.hasSecureValues ? 1 << 1 : 0; - flags |= this.hasPassword ? 1 << 2 : 0; - flags |= this.currentAlgo !== undefined ? 1 << 2 : 0; - flags |= this.srpB !== undefined ? 1 << 2 : 0; - flags |= this.srpId !== undefined ? 1 << 2 : 0; - flags |= this.hint !== undefined ? 1 << 3 : 0; - flags |= this.emailUnconfirmedPattern !== undefined ? 1 << 4 : 0; - flags |= this.pendingResetDate !== undefined ? 1 << 5 : 0; - flags |= this.loginEmailPattern !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.currentAlgo !== undefined) { - b.write(this.currentAlgo.write() as unknown as Buffer); - } - if (this.srpB !== undefined) { - b.write(Primitive.Bytes.write(this.srpB) as unknown as Buffer); - } - if (this.srpId !== undefined) { - b.write(Primitive.Long.write(this.srpId) as unknown as Buffer); - } - if (this.hint !== undefined) { - b.write(Primitive.String.write(this.hint) as unknown as Buffer); - } - if (this.emailUnconfirmedPattern !== undefined) { - b.write(Primitive.String.write(this.emailUnconfirmedPattern) as unknown as Buffer); - } - if (this.newAlgo !== undefined) { - b.write(this.newAlgo.write() as unknown as Buffer); - } - if (this.newSecureAlgo !== undefined) { - b.write(this.newSecureAlgo.write() as unknown as Buffer); - } - if (this.secureRandom !== undefined) { - b.write(Primitive.Bytes.write(this.secureRandom) as unknown as Buffer); - } - if (this.pendingResetDate !== undefined) { - b.write(Primitive.Int.write(this.pendingResetDate) as unknown as Buffer); - } - if (this.loginEmailPattern !== undefined) { - b.write(Primitive.String.write(this.loginEmailPattern) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PasswordSettings extends TLObject { - email?: string; - secureSettings?: Raw.TypeSecureSecretSettings; - - constructor(params: { email?: string; secureSettings?: Raw.TypeSecureSecretSettings }) { - super(); - this.classType = 'types'; - this.className = 'account.PasswordSettings'; - this.constructorId = 0x9a5c33e5; - this.subclassOfId = 0xd23fb078; - this._slots = ['email', 'secureSettings']; - this.email = params.email; - this.secureSettings = params.secureSettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let email = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let secureSettings = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - return new Raw.account.PasswordSettings({ email: email, secureSettings: secureSettings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.email !== undefined ? 1 << 0 : 0; - flags |= this.secureSettings !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - if (this.secureSettings !== undefined) { - b.write(this.secureSettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PasswordInputSettings extends TLObject { - newAlgo?: Raw.TypePasswordKdfAlgo; - newPasswordHash?: bytes; - hint?: string; - email?: string; - newSecureSettings?: Raw.TypeSecureSecretSettings; - - constructor(params: { - newAlgo?: Raw.TypePasswordKdfAlgo; - newPasswordHash?: bytes; - hint?: string; - email?: string; - newSecureSettings?: Raw.TypeSecureSecretSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'account.PasswordInputSettings'; - this.constructorId = 0xc23727c9; - this.subclassOfId = 0xc426ca6; - this._slots = ['newAlgo', 'newPasswordHash', 'hint', 'email', 'newSecureSettings']; - this.newAlgo = params.newAlgo; - this.newPasswordHash = params.newPasswordHash; - this.hint = params.hint; - this.email = params.email; - this.newSecureSettings = params.newSecureSettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let newAlgo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let newPasswordHash = flags & (1 << 0) ? await Primitive.Bytes.read(_data) : undefined; - let hint = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let email = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let newSecureSettings = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.account.PasswordInputSettings({ - newAlgo: newAlgo, - newPasswordHash: newPasswordHash, - hint: hint, - email: email, - newSecureSettings: newSecureSettings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.newAlgo !== undefined ? 1 << 0 : 0; - flags |= this.newPasswordHash !== undefined ? 1 << 0 : 0; - flags |= this.hint !== undefined ? 1 << 0 : 0; - flags |= this.email !== undefined ? 1 << 1 : 0; - flags |= this.newSecureSettings !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.newAlgo !== undefined) { - b.write(this.newAlgo.write() as unknown as Buffer); - } - if (this.newPasswordHash !== undefined) { - b.write(Primitive.Bytes.write(this.newPasswordHash) as unknown as Buffer); - } - if (this.hint !== undefined) { - b.write(Primitive.String.write(this.hint) as unknown as Buffer); - } - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - if (this.newSecureSettings !== undefined) { - b.write(this.newSecureSettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TmpPassword extends TLObject { - tmpPassword!: bytes; - validUntil!: int; - - constructor(params: { tmpPassword: bytes; validUntil: int }) { - super(); - this.classType = 'types'; - this.className = 'account.TmpPassword'; - this.constructorId = 0xdb64fd34; - this.subclassOfId = 0xb064992d; - this._slots = ['tmpPassword', 'validUntil']; - this.tmpPassword = params.tmpPassword; - this.validUntil = params.validUntil; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let tmpPassword = await Primitive.Bytes.read(_data); - let validUntil = await Primitive.Int.read(_data); - return new Raw.account.TmpPassword({ tmpPassword: tmpPassword, validUntil: validUntil }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.tmpPassword !== undefined) { - b.write(Primitive.Bytes.write(this.tmpPassword) as unknown as Buffer); - } - if (this.validUntil !== undefined) { - b.write(Primitive.Int.write(this.validUntil) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WebAuthorizations extends TLObject { - authorizations!: Vector; - users!: Vector; - - constructor(params: { - authorizations: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.WebAuthorizations'; - this.constructorId = 0xed56c9fc; - this.subclassOfId = 0x9a365b32; - this._slots = ['authorizations', 'users']; - this.authorizations = params.authorizations; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let authorizations = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.account.WebAuthorizations({ authorizations: authorizations, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.authorizations) { - b.write(Primitive.Vector.write(this.authorizations) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AuthorizationForm extends TLObject { - requiredTypes!: Vector; - values!: Vector; - errors!: Vector; - users!: Vector; - privacyPolicyUrl?: string; - - constructor(params: { - requiredTypes: Vector; - values: Vector; - errors: Vector; - users: Vector; - privacyPolicyUrl?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'account.AuthorizationForm'; - this.constructorId = 0xad2e1cd8; - this.subclassOfId = 0x78049a94; - this._slots = ['requiredTypes', 'values', 'errors', 'users', 'privacyPolicyUrl']; - this.requiredTypes = params.requiredTypes; - this.values = params.values; - this.errors = params.errors; - this.users = params.users; - this.privacyPolicyUrl = params.privacyPolicyUrl; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let requiredTypes = await TLObject.read(_data); - let values = await TLObject.read(_data); - let errors = await TLObject.read(_data); - let users = await TLObject.read(_data); - let privacyPolicyUrl = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.account.AuthorizationForm({ - requiredTypes: requiredTypes, - values: values, - errors: errors, - users: users, - privacyPolicyUrl: privacyPolicyUrl, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.privacyPolicyUrl !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.requiredTypes) { - b.write(Primitive.Vector.write(this.requiredTypes) as unknown as Buffer); - } - if (this.values) { - b.write(Primitive.Vector.write(this.values) as unknown as Buffer); - } - if (this.errors) { - b.write(Primitive.Vector.write(this.errors) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.privacyPolicyUrl !== undefined) { - b.write(Primitive.String.write(this.privacyPolicyUrl) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SentEmailCode extends TLObject { - emailPattern!: string; - length!: int; - - constructor(params: { emailPattern: string; length: int }) { - super(); - this.classType = 'types'; - this.className = 'account.SentEmailCode'; - this.constructorId = 0x811f854f; - this.subclassOfId = 0x69f3c06e; - this._slots = ['emailPattern', 'length']; - this.emailPattern = params.emailPattern; - this.length = params.length; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emailPattern = await Primitive.String.read(_data); - let length = await Primitive.Int.read(_data); - return new Raw.account.SentEmailCode({ emailPattern: emailPattern, length: length }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emailPattern !== undefined) { - b.write(Primitive.String.write(this.emailPattern) as unknown as Buffer); - } - if (this.length !== undefined) { - b.write(Primitive.Int.write(this.length) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Takeout extends TLObject { - id!: long; - - constructor(params: { id: long }) { - super(); - this.classType = 'types'; - this.className = 'account.Takeout'; - this.constructorId = 0x4dba4501; - this.subclassOfId = 0x843ebe85; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await Primitive.Long.read(_data); - return new Raw.account.Takeout({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(Primitive.Long.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WallPapersNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'account.WallPapersNotModified'; - this.constructorId = 0x1c199183; - this.subclassOfId = 0xa2c548fd; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.WallPapersNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class WallPapers extends TLObject { - hash!: long; - wallpapers!: Vector; - - constructor(params: { hash: long; wallpapers: Vector }) { - super(); - this.classType = 'types'; - this.className = 'account.WallPapers'; - this.constructorId = 0xcdc3858c; - this.subclassOfId = 0xa2c548fd; - this._slots = ['hash', 'wallpapers']; - this.hash = params.hash; - this.wallpapers = params.wallpapers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let wallpapers = await TLObject.read(_data); - return new Raw.account.WallPapers({ hash: hash, wallpapers: wallpapers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.wallpapers) { - b.write(Primitive.Vector.write(this.wallpapers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AutoDownloadSettings extends TLObject { - low!: Raw.TypeAutoDownloadSettings; - medium!: Raw.TypeAutoDownloadSettings; - high!: Raw.TypeAutoDownloadSettings; - - constructor(params: { - low: Raw.TypeAutoDownloadSettings; - medium: Raw.TypeAutoDownloadSettings; - high: Raw.TypeAutoDownloadSettings; - }) { - super(); - this.classType = 'types'; - this.className = 'account.AutoDownloadSettings'; - this.constructorId = 0x63cacf26; - this.subclassOfId = 0x2fb85921; - this._slots = ['low', 'medium', 'high']; - this.low = params.low; - this.medium = params.medium; - this.high = params.high; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let low = await TLObject.read(_data); - let medium = await TLObject.read(_data); - let high = await TLObject.read(_data); - return new Raw.account.AutoDownloadSettings({ low: low, medium: medium, high: high }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.low !== undefined) { - b.write(this.low.write() as unknown as Buffer); - } - if (this.medium !== undefined) { - b.write(this.medium.write() as unknown as Buffer); - } - if (this.high !== undefined) { - b.write(this.high.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ThemesNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'account.ThemesNotModified'; - this.constructorId = 0xf41eb622; - this.subclassOfId = 0x7fc52204; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ThemesNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Themes extends TLObject { - hash!: long; - themes!: Vector; - - constructor(params: { hash: long; themes: Vector }) { - super(); - this.classType = 'types'; - this.className = 'account.Themes'; - this.constructorId = 0x9a3d8c6d; - this.subclassOfId = 0x7fc52204; - this._slots = ['hash', 'themes']; - this.hash = params.hash; - this.themes = params.themes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let themes = await TLObject.read(_data); - return new Raw.account.Themes({ hash: hash, themes: themes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.themes) { - b.write(Primitive.Vector.write(this.themes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ContentSettings extends TLObject { - sensitiveEnabled?: boolean; - sensitiveCanChange?: boolean; - - constructor(params: { sensitiveEnabled?: boolean; sensitiveCanChange?: boolean }) { - super(); - this.classType = 'types'; - this.className = 'account.ContentSettings'; - this.constructorId = 0x57e28221; - this.subclassOfId = 0xae3ff891; - this._slots = ['sensitiveEnabled', 'sensitiveCanChange']; - this.sensitiveEnabled = params.sensitiveEnabled; - this.sensitiveCanChange = params.sensitiveCanChange; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let sensitiveEnabled = flags & (1 << 0) ? true : false; - let sensitiveCanChange = flags & (1 << 1) ? true : false; - return new Raw.account.ContentSettings({ - sensitiveEnabled: sensitiveEnabled, - sensitiveCanChange: sensitiveCanChange, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sensitiveEnabled ? 1 << 0 : 0; - flags |= this.sensitiveCanChange ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetPasswordFailedWait extends TLObject { - retryDate!: int; - - constructor(params: { retryDate: int }) { - super(); - this.classType = 'types'; - this.className = 'account.ResetPasswordFailedWait'; - this.constructorId = 0xe3779861; - this.subclassOfId = 0x49507416; - this._slots = ['retryDate']; - this.retryDate = params.retryDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let retryDate = await Primitive.Int.read(_data); - return new Raw.account.ResetPasswordFailedWait({ retryDate: retryDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.retryDate !== undefined) { - b.write(Primitive.Int.write(this.retryDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetPasswordRequestedWait extends TLObject { - untilDate!: int; - - constructor(params: { untilDate: int }) { - super(); - this.classType = 'types'; - this.className = 'account.ResetPasswordRequestedWait'; - this.constructorId = 0xe9effc7d; - this.subclassOfId = 0x49507416; - this._slots = ['untilDate']; - this.untilDate = params.untilDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let untilDate = await Primitive.Int.read(_data); - return new Raw.account.ResetPasswordRequestedWait({ untilDate: untilDate }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.untilDate !== undefined) { - b.write(Primitive.Int.write(this.untilDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetPasswordOk extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'account.ResetPasswordOk'; - this.constructorId = 0xe926d63e; - this.subclassOfId = 0x49507416; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ResetPasswordOk(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedRingtonesNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'account.SavedRingtonesNotModified'; - this.constructorId = 0xfbf6e8b1; - this.subclassOfId = 0x27bcc95e; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.SavedRingtonesNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedRingtones extends TLObject { - hash!: long; - ringtones!: Vector; - - constructor(params: { hash: long; ringtones: Vector }) { - super(); - this.classType = 'types'; - this.className = 'account.SavedRingtones'; - this.constructorId = 0xc1e92cc5; - this.subclassOfId = 0x27bcc95e; - this._slots = ['hash', 'ringtones']; - this.hash = params.hash; - this.ringtones = params.ringtones; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let ringtones = await TLObject.read(_data); - return new Raw.account.SavedRingtones({ hash: hash, ringtones: ringtones }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.ringtones) { - b.write(Primitive.Vector.write(this.ringtones) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedRingtone extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'account.SavedRingtone'; - this.constructorId = 0xb7263f6d; - this.subclassOfId = 0xb1e28424; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.SavedRingtone(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedRingtoneConverted extends TLObject { - document!: Raw.TypeDocument; - - constructor(params: { document: Raw.TypeDocument }) { - super(); - this.classType = 'types'; - this.className = 'account.SavedRingtoneConverted'; - this.constructorId = 0x1f307eb7; - this.subclassOfId = 0xb1e28424; - this._slots = ['document']; - this.document = params.document; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let document = await TLObject.read(_data); - return new Raw.account.SavedRingtoneConverted({ document: document }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiStatusesNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'account.EmojiStatusesNotModified'; - this.constructorId = 0xd08ce645; - this.subclassOfId = 0xd3e005ca; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.EmojiStatusesNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmojiStatuses extends TLObject { - hash!: long; - statuses!: Vector; - - constructor(params: { hash: long; statuses: Vector }) { - super(); - this.classType = 'types'; - this.className = 'account.EmojiStatuses'; - this.constructorId = 0x90c467d1; - this.subclassOfId = 0xd3e005ca; - this._slots = ['hash', 'statuses']; - this.hash = params.hash; - this.statuses = params.statuses; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - let statuses = await TLObject.read(_data); - return new Raw.account.EmojiStatuses({ hash: hash, statuses: statuses }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.statuses) { - b.write(Primitive.Vector.write(this.statuses) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerified extends TLObject { - email!: string; - - constructor(params: { email: string }) { - super(); - this.classType = 'types'; - this.className = 'account.EmailVerified'; - this.constructorId = 0x2b96cd1b; - this.subclassOfId = 0x64833188; - this._slots = ['email']; - this.email = params.email; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let email = await Primitive.String.read(_data); - return new Raw.account.EmailVerified({ email: email }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EmailVerifiedLogin extends TLObject { - email!: string; - sentCode!: Raw.auth.TypeSentCode; - - constructor(params: { email: string; sentCode: Raw.auth.TypeSentCode }) { - super(); - this.classType = 'types'; - this.className = 'account.EmailVerifiedLogin'; - this.constructorId = 0xe1bb0d61; - this.subclassOfId = 0x64833188; - this._slots = ['email', 'sentCode']; - this.email = params.email; - this.sentCode = params.sentCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let email = await Primitive.String.read(_data); - let sentCode = await TLObject.read(_data); - return new Raw.account.EmailVerifiedLogin({ email: email, sentCode: sentCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - if (this.sentCode !== undefined) { - b.write(this.sentCode.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AutoSaveSettings extends TLObject { - usersSettings!: Raw.TypeAutoSaveSettings; - chatsSettings!: Raw.TypeAutoSaveSettings; - broadcastsSettings!: Raw.TypeAutoSaveSettings; - exceptions!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - usersSettings: Raw.TypeAutoSaveSettings; - chatsSettings: Raw.TypeAutoSaveSettings; - broadcastsSettings: Raw.TypeAutoSaveSettings; - exceptions: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.AutoSaveSettings'; - this.constructorId = 0x4c3e069d; - this.subclassOfId = 0x48cf2f02; - this._slots = [ - 'usersSettings', - 'chatsSettings', - 'broadcastsSettings', - 'exceptions', - 'chats', - 'users', - ]; - this.usersSettings = params.usersSettings; - this.chatsSettings = params.chatsSettings; - this.broadcastsSettings = params.broadcastsSettings; - this.exceptions = params.exceptions; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let usersSettings = await TLObject.read(_data); - let chatsSettings = await TLObject.read(_data); - let broadcastsSettings = await TLObject.read(_data); - let exceptions = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.account.AutoSaveSettings({ - usersSettings: usersSettings, - chatsSettings: chatsSettings, - broadcastsSettings: broadcastsSettings, - exceptions: exceptions, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.usersSettings !== undefined) { - b.write(this.usersSettings.write() as unknown as Buffer); - } - if (this.chatsSettings !== undefined) { - b.write(this.chatsSettings.write() as unknown as Buffer); - } - if (this.broadcastsSettings !== undefined) { - b.write(this.broadcastsSettings.write() as unknown as Buffer); - } - if (this.exceptions) { - b.write(Primitive.Vector.write(this.exceptions) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConnectedBots extends TLObject { - connectedBots!: Vector; - users!: Vector; - - constructor(params: { - connectedBots: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.ConnectedBots'; - this.constructorId = 0x17d7f87b; - this.subclassOfId = 0xe4caf7d3; - this._slots = ['connectedBots', 'users']; - this.connectedBots = params.connectedBots; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let connectedBots = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.account.ConnectedBots({ connectedBots: connectedBots, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.connectedBots) { - b.write(Primitive.Vector.write(this.connectedBots) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BusinessChatLinks extends TLObject { - links!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - links: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.BusinessChatLinks'; - this.constructorId = 0xec43a2d1; - this.subclassOfId = 0xc6ba4a31; - this._slots = ['links', 'chats', 'users']; - this.links = params.links; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let links = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.account.BusinessChatLinks({ links: links, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.links) { - b.write(Primitive.Vector.write(this.links) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResolvedBusinessChatLinks extends TLObject { - peer!: Raw.TypePeer; - message!: string; - entities?: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - peer: Raw.TypePeer; - message: string; - entities?: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'account.ResolvedBusinessChatLinks'; - this.constructorId = 0x9a23af21; - this.subclassOfId = 0x3a772c28; - this._slots = ['peer', 'message', 'entities', 'chats', 'users']; - this.peer = params.peer; - this.message = params.message; - this.entities = params.entities; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let message = await Primitive.String.read(_data); - let entities = flags & (1 << 0) ? await TLObject.read(_data) : []; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.account.ResolvedBusinessChatLinks({ - peer: peer, - message: message, - entities: entities, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.entities ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaidMessagesRevenue extends TLObject { - starsAmount!: long; - - constructor(params: { starsAmount: long }) { - super(); - this.classType = 'types'; - this.className = 'account.PaidMessagesRevenue'; - this.constructorId = 0x1e109708; - this.subclassOfId = 0x152f0c57; - this._slots = ['starsAmount']; - this.starsAmount = params.starsAmount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let starsAmount = await Primitive.Long.read(_data); - return new Raw.account.PaidMessagesRevenue({ starsAmount: starsAmount }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.starsAmount !== undefined) { - b.write(Primitive.Long.write(this.starsAmount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RegisterDevice extends TLObject { - __response__!: Bool; - noMuted?: boolean; - tokenType!: int; - token!: string; - appSandbox!: Bool; - secret!: bytes; - otherUids!: Vector; - - constructor(params: { - noMuted?: boolean; - tokenType: int; - token: string; - appSandbox: Bool; - secret: bytes; - otherUids: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.RegisterDevice'; - this.constructorId = 0xec86017a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['noMuted', 'tokenType', 'token', 'appSandbox', 'secret', 'otherUids']; - this.noMuted = params.noMuted; - this.tokenType = params.tokenType; - this.token = params.token; - this.appSandbox = params.appSandbox; - this.secret = params.secret; - this.otherUids = params.otherUids; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let noMuted = flags & (1 << 0) ? true : false; - let tokenType = await Primitive.Int.read(_data); - let token = await Primitive.String.read(_data); - let appSandbox = await Primitive.Bool.read(_data); - let secret = await Primitive.Bytes.read(_data); - let otherUids = await TLObject.read(_data, Primitive.Long); - return new Raw.account.RegisterDevice({ - noMuted: noMuted, - tokenType: tokenType, - token: token, - appSandbox: appSandbox, - secret: secret, - otherUids: otherUids, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.noMuted ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.tokenType !== undefined) { - b.write(Primitive.Int.write(this.tokenType) as unknown as Buffer); - } - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - if (this.appSandbox !== undefined) { - b.write(Primitive.Bool.write(this.appSandbox) as unknown as Buffer); - } - if (this.secret !== undefined) { - b.write(Primitive.Bytes.write(this.secret) as unknown as Buffer); - } - if (this.otherUids) { - b.write(Primitive.Vector.write(this.otherUids, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UnregisterDevice extends TLObject { - __response__!: Bool; - tokenType!: int; - token!: string; - otherUids!: Vector; - - constructor(params: { tokenType: int; token: string; otherUids: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'account.UnregisterDevice'; - this.constructorId = 0x6a0d3206; - this.subclassOfId = 0xf5b399ac; - this._slots = ['tokenType', 'token', 'otherUids']; - this.tokenType = params.tokenType; - this.token = params.token; - this.otherUids = params.otherUids; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let tokenType = await Primitive.Int.read(_data); - let token = await Primitive.String.read(_data); - let otherUids = await TLObject.read(_data, Primitive.Long); - return new Raw.account.UnregisterDevice({ - tokenType: tokenType, - token: token, - otherUids: otherUids, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.tokenType !== undefined) { - b.write(Primitive.Int.write(this.tokenType) as unknown as Buffer); - } - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - if (this.otherUids) { - b.write(Primitive.Vector.write(this.otherUids, Primitive.Long) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateNotifySettings extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputNotifyPeer; - settings!: Raw.TypeInputPeerNotifySettings; - - constructor(params: { - peer: Raw.TypeInputNotifyPeer; - settings: Raw.TypeInputPeerNotifySettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateNotifySettings'; - this.constructorId = 0x84be5b93; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'settings']; - this.peer = params.peer; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.UpdateNotifySettings({ peer: peer, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetNotifySettings extends TLObject { - __response__!: Raw.TypePeerNotifySettings; - peer!: Raw.TypeInputNotifyPeer; - - constructor(params: { peer: Raw.TypeInputNotifyPeer }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetNotifySettings'; - this.constructorId = 0x12b3ad31; - this.subclassOfId = 0xcf20c074; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.account.GetNotifySettings({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetNotifySettings extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.ResetNotifySettings'; - this.constructorId = 0xdb7e1747; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ResetNotifySettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateProfile extends TLObject { - __response__!: Raw.TypeUser; - firstName?: string; - lastName?: string; - about?: string; - - constructor(params: { firstName?: string; lastName?: string; about?: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateProfile'; - this.constructorId = 0x78515775; - this.subclassOfId = 0x2da17977; - this._slots = ['firstName', 'lastName', 'about']; - this.firstName = params.firstName; - this.lastName = params.lastName; - this.about = params.about; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let firstName = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let lastName = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let about = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.account.UpdateProfile({ - firstName: firstName, - lastName: lastName, - about: about, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.firstName !== undefined ? 1 << 0 : 0; - flags |= this.lastName !== undefined ? 1 << 1 : 0; - flags |= this.about !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.firstName !== undefined) { - b.write(Primitive.String.write(this.firstName) as unknown as Buffer); - } - if (this.lastName !== undefined) { - b.write(Primitive.String.write(this.lastName) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStatus extends TLObject { - __response__!: Bool; - offline!: Bool; - - constructor(params: { offline: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateStatus'; - this.constructorId = 0x6628562c; - this.subclassOfId = 0xf5b399ac; - this._slots = ['offline']; - this.offline = params.offline; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offline = await Primitive.Bool.read(_data); - return new Raw.account.UpdateStatus({ offline: offline }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offline !== undefined) { - b.write(Primitive.Bool.write(this.offline) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetWallPapers extends TLObject { - __response__!: Raw.account.TypeWallPapers; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetWallPapers'; - this.constructorId = 0x7967d36; - this.subclassOfId = 0xa2c548fd; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetWallPapers({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportPeer extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - reason!: Raw.TypeReportReason; - message!: string; - - constructor(params: { - peer: Raw.TypeInputPeer; - reason: Raw.TypeReportReason; - message: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.ReportPeer'; - this.constructorId = 0xc5ba3d86; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'reason', 'message']; - this.peer = params.peer; - this.reason = params.reason; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let reason = await TLObject.read(_data); - let message = await Primitive.String.read(_data); - return new Raw.account.ReportPeer({ peer: peer, reason: reason, message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(this.reason.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckUsername extends TLObject { - __response__!: Bool; - username!: string; - - constructor(params: { username: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.CheckUsername'; - this.constructorId = 0x2714d86c; - this.subclassOfId = 0xf5b399ac; - this._slots = ['username']; - this.username = params.username; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let username = await Primitive.String.read(_data); - return new Raw.account.CheckUsername({ username: username }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUsername extends TLObject { - __response__!: Raw.TypeUser; - username!: string; - - constructor(params: { username: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateUsername'; - this.constructorId = 0x3e0bdd7c; - this.subclassOfId = 0x2da17977; - this._slots = ['username']; - this.username = params.username; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let username = await Primitive.String.read(_data); - return new Raw.account.UpdateUsername({ username: username }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPrivacy extends TLObject { - __response__!: Raw.account.TypePrivacyRules; - key!: Raw.TypeInputPrivacyKey; - - constructor(params: { key: Raw.TypeInputPrivacyKey }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetPrivacy'; - this.constructorId = 0xdadbc950; - this.subclassOfId = 0xb55aba82; - this._slots = ['key']; - this.key = params.key; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let key = await TLObject.read(_data); - return new Raw.account.GetPrivacy({ key: key }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.key !== undefined) { - b.write(this.key.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetPrivacy extends TLObject { - __response__!: Raw.account.TypePrivacyRules; - key!: Raw.TypeInputPrivacyKey; - rules!: Vector; - - constructor(params: { - key: Raw.TypeInputPrivacyKey; - rules: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetPrivacy'; - this.constructorId = 0xc9f81ce8; - this.subclassOfId = 0xb55aba82; - this._slots = ['key', 'rules']; - this.key = params.key; - this.rules = params.rules; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let key = await TLObject.read(_data); - let rules = await TLObject.read(_data); - return new Raw.account.SetPrivacy({ key: key, rules: rules }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.key !== undefined) { - b.write(this.key.write() as unknown as Buffer); - } - if (this.rules) { - b.write(Primitive.Vector.write(this.rules) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteAccount extends TLObject { - __response__!: Bool; - reason!: string; - password?: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { reason: string; password?: Raw.TypeInputCheckPasswordSRP }) { - super(); - this.classType = 'functions'; - this.className = 'account.DeleteAccount'; - this.constructorId = 0xa2c0cf74; - this.subclassOfId = 0xf5b399ac; - this._slots = ['reason', 'password']; - this.reason = params.reason; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let reason = await Primitive.String.read(_data); - let password = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.DeleteAccount({ reason: reason, password: password }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.password !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.reason !== undefined) { - b.write(Primitive.String.write(this.reason) as unknown as Buffer); - } - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAccountTTL extends TLObject { - __response__!: Raw.TypeAccountDaysTTL; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetAccountTTL'; - this.constructorId = 0x8fc711d; - this.subclassOfId = 0xbaa39d88; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetAccountTTL(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetAccountTTL extends TLObject { - __response__!: Bool; - ttl!: Raw.TypeAccountDaysTTL; - - constructor(params: { ttl: Raw.TypeAccountDaysTTL }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetAccountTTL'; - this.constructorId = 0x2442485e; - this.subclassOfId = 0xf5b399ac; - this._slots = ['ttl']; - this.ttl = params.ttl; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let ttl = await TLObject.read(_data); - return new Raw.account.SetAccountTTL({ ttl: ttl }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.ttl !== undefined) { - b.write(this.ttl.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendChangePhoneCode extends TLObject { - __response__!: Raw.auth.TypeSentCode; - phoneNumber!: string; - settings!: Raw.TypeCodeSettings; - - constructor(params: { phoneNumber: string; settings: Raw.TypeCodeSettings }) { - super(); - this.classType = 'functions'; - this.className = 'account.SendChangePhoneCode'; - this.constructorId = 0x82574ae5; - this.subclassOfId = 0x6ce87081; - this._slots = ['phoneNumber', 'settings']; - this.phoneNumber = params.phoneNumber; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.SendChangePhoneCode({ - phoneNumber: phoneNumber, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChangePhone extends TLObject { - __response__!: Raw.TypeUser; - phoneNumber!: string; - phoneCodeHash!: string; - phoneCode!: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string; phoneCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.ChangePhone'; - this.constructorId = 0x70c32edb; - this.subclassOfId = 0x2da17977; - this._slots = ['phoneNumber', 'phoneCodeHash', 'phoneCode']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.phoneCode = params.phoneCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let phoneCode = await Primitive.String.read(_data); - return new Raw.account.ChangePhone({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - phoneCode: phoneCode, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.phoneCode !== undefined) { - b.write(Primitive.String.write(this.phoneCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateDeviceLocked extends TLObject { - __response__!: Bool; - period!: int; - - constructor(params: { period: int }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateDeviceLocked'; - this.constructorId = 0x38df3532; - this.subclassOfId = 0xf5b399ac; - this._slots = ['period']; - this.period = params.period; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let period = await Primitive.Int.read(_data); - return new Raw.account.UpdateDeviceLocked({ period: period }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAuthorizations extends TLObject { - __response__!: Raw.account.TypeAuthorizations; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetAuthorizations'; - this.constructorId = 0xe320c158; - this.subclassOfId = 0xbf5e0ff; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetAuthorizations(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetAuthorization extends TLObject { - __response__!: Bool; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.ResetAuthorization'; - this.constructorId = 0xdf77f3bc; - this.subclassOfId = 0xf5b399ac; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.ResetAuthorization({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPassword extends TLObject { - __response__!: Raw.account.TypePassword; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetPassword'; - this.constructorId = 0x548a30f5; - this.subclassOfId = 0x53a211a3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetPassword(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPasswordSettings extends TLObject { - __response__!: Raw.account.TypePasswordSettings; - password!: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { password: Raw.TypeInputCheckPasswordSRP }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetPasswordSettings'; - this.constructorId = 0x9cd4eaf9; - this.subclassOfId = 0xd23fb078; - this._slots = ['password']; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let password = await TLObject.read(_data); - return new Raw.account.GetPasswordSettings({ password: password }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePasswordSettings extends TLObject { - __response__!: Bool; - password!: Raw.TypeInputCheckPasswordSRP; - newSettings!: Raw.account.TypePasswordInputSettings; - - constructor(params: { - password: Raw.TypeInputCheckPasswordSRP; - newSettings: Raw.account.TypePasswordInputSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdatePasswordSettings'; - this.constructorId = 0xa59b102f; - this.subclassOfId = 0xf5b399ac; - this._slots = ['password', 'newSettings']; - this.password = params.password; - this.newSettings = params.newSettings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let password = await TLObject.read(_data); - let newSettings = await TLObject.read(_data); - return new Raw.account.UpdatePasswordSettings({ - password: password, - newSettings: newSettings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - if (this.newSettings !== undefined) { - b.write(this.newSettings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendConfirmPhoneCode extends TLObject { - __response__!: Raw.auth.TypeSentCode; - hash!: string; - settings!: Raw.TypeCodeSettings; - - constructor(params: { hash: string; settings: Raw.TypeCodeSettings }) { - super(); - this.classType = 'functions'; - this.className = 'account.SendConfirmPhoneCode'; - this.constructorId = 0x1b3faa88; - this.subclassOfId = 0x6ce87081; - this._slots = ['hash', 'settings']; - this.hash = params.hash; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.String.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.SendConfirmPhoneCode({ hash: hash, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.String.write(this.hash) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConfirmPhone extends TLObject { - __response__!: Bool; - phoneCodeHash!: string; - phoneCode!: string; - - constructor(params: { phoneCodeHash: string; phoneCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.ConfirmPhone'; - this.constructorId = 0x5f2178c3; - this.subclassOfId = 0xf5b399ac; - this._slots = ['phoneCodeHash', 'phoneCode']; - this.phoneCodeHash = params.phoneCodeHash; - this.phoneCode = params.phoneCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneCodeHash = await Primitive.String.read(_data); - let phoneCode = await Primitive.String.read(_data); - return new Raw.account.ConfirmPhone({ phoneCodeHash: phoneCodeHash, phoneCode: phoneCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.phoneCode !== undefined) { - b.write(Primitive.String.write(this.phoneCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetTmpPassword extends TLObject { - __response__!: Raw.account.TypeTmpPassword; - password!: Raw.TypeInputCheckPasswordSRP; - period!: int; - - constructor(params: { password: Raw.TypeInputCheckPasswordSRP; period: int }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetTmpPassword'; - this.constructorId = 0x449e0b51; - this.subclassOfId = 0xb064992d; - this._slots = ['password', 'period']; - this.password = params.password; - this.period = params.period; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let password = await TLObject.read(_data); - let period = await Primitive.Int.read(_data); - return new Raw.account.GetTmpPassword({ password: password, period: period }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetWebAuthorizations extends TLObject { - __response__!: Raw.account.TypeWebAuthorizations; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetWebAuthorizations'; - this.constructorId = 0x182e6d6f; - this.subclassOfId = 0x9a365b32; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetWebAuthorizations(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetWebAuthorization extends TLObject { - __response__!: Bool; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.ResetWebAuthorization'; - this.constructorId = 0x2d01b9ef; - this.subclassOfId = 0xf5b399ac; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.ResetWebAuthorization({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetWebAuthorizations extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.ResetWebAuthorizations'; - this.constructorId = 0x682d2594; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ResetWebAuthorizations(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAllSecureValues extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetAllSecureValues'; - this.constructorId = 0xb288bc7d; - this.subclassOfId = 0xe82e4121; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetAllSecureValues(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSecureValue extends TLObject { - __response__!: Vector; - types!: Vector; - - constructor(params: { types: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetSecureValue'; - this.constructorId = 0x73665bc2; - this.subclassOfId = 0xe82e4121; - this._slots = ['types']; - this.types = params.types; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let types = await TLObject.read(_data); - return new Raw.account.GetSecureValue({ types: types }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.types) { - b.write(Primitive.Vector.write(this.types) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveSecureValue extends TLObject { - __response__!: Raw.TypeSecureValue; - value!: Raw.TypeInputSecureValue; - secureSecretId!: long; - - constructor(params: { value: Raw.TypeInputSecureValue; secureSecretId: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.SaveSecureValue'; - this.constructorId = 0x899fe31d; - this.subclassOfId = 0x51138ae; - this._slots = ['value', 'secureSecretId']; - this.value = params.value; - this.secureSecretId = params.secureSecretId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let value = await TLObject.read(_data); - let secureSecretId = await Primitive.Long.read(_data); - return new Raw.account.SaveSecureValue({ value: value, secureSecretId: secureSecretId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.value !== undefined) { - b.write(this.value.write() as unknown as Buffer); - } - if (this.secureSecretId !== undefined) { - b.write(Primitive.Long.write(this.secureSecretId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteSecureValue extends TLObject { - __response__!: Bool; - types!: Vector; - - constructor(params: { types: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'account.DeleteSecureValue'; - this.constructorId = 0xb880bc4b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['types']; - this.types = params.types; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let types = await TLObject.read(_data); - return new Raw.account.DeleteSecureValue({ types: types }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.types) { - b.write(Primitive.Vector.write(this.types) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAuthorizationForm extends TLObject { - __response__!: Raw.account.TypeAuthorizationForm; - botId!: long; - scope!: string; - publicKey!: string; - - constructor(params: { botId: long; scope: string; publicKey: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetAuthorizationForm'; - this.constructorId = 0xa929597a; - this.subclassOfId = 0x78049a94; - this._slots = ['botId', 'scope', 'publicKey']; - this.botId = params.botId; - this.scope = params.scope; - this.publicKey = params.publicKey; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let botId = await Primitive.Long.read(_data); - let scope = await Primitive.String.read(_data); - let publicKey = await Primitive.String.read(_data); - return new Raw.account.GetAuthorizationForm({ - botId: botId, - scope: scope, - publicKey: publicKey, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.scope !== undefined) { - b.write(Primitive.String.write(this.scope) as unknown as Buffer); - } - if (this.publicKey !== undefined) { - b.write(Primitive.String.write(this.publicKey) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptAuthorization extends TLObject { - __response__!: Bool; - botId!: long; - scope!: string; - publicKey!: string; - valueHashes!: Vector; - credentials!: Raw.TypeSecureCredentialsEncrypted; - - constructor(params: { - botId: long; - scope: string; - publicKey: string; - valueHashes: Vector; - credentials: Raw.TypeSecureCredentialsEncrypted; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.AcceptAuthorization'; - this.constructorId = 0xf3ed4c73; - this.subclassOfId = 0xf5b399ac; - this._slots = ['botId', 'scope', 'publicKey', 'valueHashes', 'credentials']; - this.botId = params.botId; - this.scope = params.scope; - this.publicKey = params.publicKey; - this.valueHashes = params.valueHashes; - this.credentials = params.credentials; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let botId = await Primitive.Long.read(_data); - let scope = await Primitive.String.read(_data); - let publicKey = await Primitive.String.read(_data); - let valueHashes = await TLObject.read(_data); - let credentials = await TLObject.read(_data); - return new Raw.account.AcceptAuthorization({ - botId: botId, - scope: scope, - publicKey: publicKey, - valueHashes: valueHashes, - credentials: credentials, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.scope !== undefined) { - b.write(Primitive.String.write(this.scope) as unknown as Buffer); - } - if (this.publicKey !== undefined) { - b.write(Primitive.String.write(this.publicKey) as unknown as Buffer); - } - if (this.valueHashes) { - b.write(Primitive.Vector.write(this.valueHashes) as unknown as Buffer); - } - if (this.credentials !== undefined) { - b.write(this.credentials.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendVerifyPhoneCode extends TLObject { - __response__!: Raw.auth.TypeSentCode; - phoneNumber!: string; - settings!: Raw.TypeCodeSettings; - - constructor(params: { phoneNumber: string; settings: Raw.TypeCodeSettings }) { - super(); - this.classType = 'functions'; - this.className = 'account.SendVerifyPhoneCode'; - this.constructorId = 0xa5a356f9; - this.subclassOfId = 0x6ce87081; - this._slots = ['phoneNumber', 'settings']; - this.phoneNumber = params.phoneNumber; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.SendVerifyPhoneCode({ - phoneNumber: phoneNumber, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class VerifyPhone extends TLObject { - __response__!: Bool; - phoneNumber!: string; - phoneCodeHash!: string; - phoneCode!: string; - - constructor(params: { phoneNumber: string; phoneCodeHash: string; phoneCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.VerifyPhone'; - this.constructorId = 0x4dd3a7f6; - this.subclassOfId = 0xf5b399ac; - this._slots = ['phoneNumber', 'phoneCodeHash', 'phoneCode']; - this.phoneNumber = params.phoneNumber; - this.phoneCodeHash = params.phoneCodeHash; - this.phoneCode = params.phoneCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneNumber = await Primitive.String.read(_data); - let phoneCodeHash = await Primitive.String.read(_data); - let phoneCode = await Primitive.String.read(_data); - return new Raw.account.VerifyPhone({ - phoneNumber: phoneNumber, - phoneCodeHash: phoneCodeHash, - phoneCode: phoneCode, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneNumber !== undefined) { - b.write(Primitive.String.write(this.phoneNumber) as unknown as Buffer); - } - if (this.phoneCodeHash !== undefined) { - b.write(Primitive.String.write(this.phoneCodeHash) as unknown as Buffer); - } - if (this.phoneCode !== undefined) { - b.write(Primitive.String.write(this.phoneCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendVerifyEmailCode extends TLObject { - __response__!: Raw.account.TypeSentEmailCode; - purpose!: Raw.TypeEmailVerifyPurpose; - email!: string; - - constructor(params: { purpose: Raw.TypeEmailVerifyPurpose; email: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.SendVerifyEmailCode'; - this.constructorId = 0x98e037bb; - this.subclassOfId = 0x69f3c06e; - this._slots = ['purpose', 'email']; - this.purpose = params.purpose; - this.email = params.email; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let purpose = await TLObject.read(_data); - let email = await Primitive.String.read(_data); - return new Raw.account.SendVerifyEmailCode({ purpose: purpose, email: email }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - if (this.email !== undefined) { - b.write(Primitive.String.write(this.email) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class VerifyEmail extends TLObject { - __response__!: Raw.account.TypeEmailVerified; - purpose!: Raw.TypeEmailVerifyPurpose; - verification!: Raw.TypeEmailVerification; - - constructor(params: { - purpose: Raw.TypeEmailVerifyPurpose; - verification: Raw.TypeEmailVerification; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.VerifyEmail'; - this.constructorId = 0x32da4cf; - this.subclassOfId = 0x64833188; - this._slots = ['purpose', 'verification']; - this.purpose = params.purpose; - this.verification = params.verification; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let purpose = await TLObject.read(_data); - let verification = await TLObject.read(_data); - return new Raw.account.VerifyEmail({ purpose: purpose, verification: verification }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - if (this.verification !== undefined) { - b.write(this.verification.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InitTakeoutSession extends TLObject { - __response__!: Raw.account.TypeTakeout; - contacts?: boolean; - messageUsers?: boolean; - messageChats?: boolean; - messageMegagroups?: boolean; - messageChannels?: boolean; - files?: boolean; - fileMaxSize?: long; - - constructor(params: { - contacts?: boolean; - messageUsers?: boolean; - messageChats?: boolean; - messageMegagroups?: boolean; - messageChannels?: boolean; - files?: boolean; - fileMaxSize?: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.InitTakeoutSession'; - this.constructorId = 0x8ef3eab0; - this.subclassOfId = 0x843ebe85; - this._slots = [ - 'contacts', - 'messageUsers', - 'messageChats', - 'messageMegagroups', - 'messageChannels', - 'files', - 'fileMaxSize', - ]; - this.contacts = params.contacts; - this.messageUsers = params.messageUsers; - this.messageChats = params.messageChats; - this.messageMegagroups = params.messageMegagroups; - this.messageChannels = params.messageChannels; - this.files = params.files; - this.fileMaxSize = params.fileMaxSize; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let contacts = flags & (1 << 0) ? true : false; - let messageUsers = flags & (1 << 1) ? true : false; - let messageChats = flags & (1 << 2) ? true : false; - let messageMegagroups = flags & (1 << 3) ? true : false; - let messageChannels = flags & (1 << 4) ? true : false; - let files = flags & (1 << 5) ? true : false; - let fileMaxSize = flags & (1 << 5) ? await Primitive.Long.read(_data) : undefined; - return new Raw.account.InitTakeoutSession({ - contacts: contacts, - messageUsers: messageUsers, - messageChats: messageChats, - messageMegagroups: messageMegagroups, - messageChannels: messageChannels, - files: files, - fileMaxSize: fileMaxSize, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.contacts ? 1 << 0 : 0; - flags |= this.messageUsers ? 1 << 1 : 0; - flags |= this.messageChats ? 1 << 2 : 0; - flags |= this.messageMegagroups ? 1 << 3 : 0; - flags |= this.messageChannels ? 1 << 4 : 0; - flags |= this.files ? 1 << 5 : 0; - flags |= this.fileMaxSize !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.fileMaxSize !== undefined) { - b.write(Primitive.Long.write(this.fileMaxSize) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FinishTakeoutSession extends TLObject { - __response__!: Bool; - success?: boolean; - - constructor(params: { success?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'account.FinishTakeoutSession'; - this.constructorId = 0x1d2652ee; - this.subclassOfId = 0xf5b399ac; - this._slots = ['success']; - this.success = params.success; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let success = flags & (1 << 0) ? true : false; - return new Raw.account.FinishTakeoutSession({ success: success }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.success ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConfirmPasswordEmail extends TLObject { - __response__!: Bool; - code!: string; - - constructor(params: { code: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.ConfirmPasswordEmail'; - this.constructorId = 0x8fdf1920; - this.subclassOfId = 0xf5b399ac; - this._slots = ['code']; - this.code = params.code; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let code = await Primitive.String.read(_data); - return new Raw.account.ConfirmPasswordEmail({ code: code }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.code !== undefined) { - b.write(Primitive.String.write(this.code) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResendPasswordEmail extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.ResendPasswordEmail'; - this.constructorId = 0x7a7f2a15; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ResendPasswordEmail(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CancelPasswordEmail extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.CancelPasswordEmail'; - this.constructorId = 0xc1cbd5b6; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.CancelPasswordEmail(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetContactSignUpNotification extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetContactSignUpNotification'; - this.constructorId = 0x9f07c728; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetContactSignUpNotification(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetContactSignUpNotification extends TLObject { - __response__!: Bool; - silent!: Bool; - - constructor(params: { silent: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetContactSignUpNotification'; - this.constructorId = 0xcff43f61; - this.subclassOfId = 0xf5b399ac; - this._slots = ['silent']; - this.silent = params.silent; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let silent = await Primitive.Bool.read(_data); - return new Raw.account.SetContactSignUpNotification({ silent: silent }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.silent !== undefined) { - b.write(Primitive.Bool.write(this.silent) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetNotifyExceptions extends TLObject { - __response__!: Raw.TypeUpdates; - compareSound?: boolean; - compareStories?: boolean; - peer?: Raw.TypeInputNotifyPeer; - - constructor(params: { - compareSound?: boolean; - compareStories?: boolean; - peer?: Raw.TypeInputNotifyPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetNotifyExceptions'; - this.constructorId = 0x53577479; - this.subclassOfId = 0x8af52aac; - this._slots = ['compareSound', 'compareStories', 'peer']; - this.compareSound = params.compareSound; - this.compareStories = params.compareStories; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let compareSound = flags & (1 << 1) ? true : false; - let compareStories = flags & (1 << 2) ? true : false; - let peer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.GetNotifyExceptions({ - compareSound: compareSound, - compareStories: compareStories, - peer: peer, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.compareSound ? 1 << 1 : 0; - flags |= this.compareStories ? 1 << 2 : 0; - flags |= this.peer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetWallPaper extends TLObject { - __response__!: Raw.TypeWallPaper; - wallpaper!: Raw.TypeInputWallPaper; - - constructor(params: { wallpaper: Raw.TypeInputWallPaper }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetWallPaper'; - this.constructorId = 0xfc8ddbea; - this.subclassOfId = 0x96a2c98b; - this._slots = ['wallpaper']; - this.wallpaper = params.wallpaper; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let wallpaper = await TLObject.read(_data); - return new Raw.account.GetWallPaper({ wallpaper: wallpaper }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadWallPaper extends TLObject { - __response__!: Raw.TypeWallPaper; - forChat?: boolean; - file!: Raw.TypeInputFile; - mimeType!: string; - settings!: Raw.TypeWallPaperSettings; - - constructor(params: { - forChat?: boolean; - file: Raw.TypeInputFile; - mimeType: string; - settings: Raw.TypeWallPaperSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.UploadWallPaper'; - this.constructorId = 0xe39a8f03; - this.subclassOfId = 0x96a2c98b; - this._slots = ['forChat', 'file', 'mimeType', 'settings']; - this.forChat = params.forChat; - this.file = params.file; - this.mimeType = params.mimeType; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forChat = flags & (1 << 0) ? true : false; - let file = await TLObject.read(_data); - let mimeType = await Primitive.String.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.UploadWallPaper({ - forChat: forChat, - file: file, - mimeType: mimeType, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forChat ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveWallPaper extends TLObject { - __response__!: Bool; - wallpaper!: Raw.TypeInputWallPaper; - unsave!: Bool; - settings!: Raw.TypeWallPaperSettings; - - constructor(params: { - wallpaper: Raw.TypeInputWallPaper; - unsave: Bool; - settings: Raw.TypeWallPaperSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.SaveWallPaper'; - this.constructorId = 0x6c5a5b37; - this.subclassOfId = 0xf5b399ac; - this._slots = ['wallpaper', 'unsave', 'settings']; - this.wallpaper = params.wallpaper; - this.unsave = params.unsave; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let wallpaper = await TLObject.read(_data); - let unsave = await Primitive.Bool.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.SaveWallPaper({ - wallpaper: wallpaper, - unsave: unsave, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - if (this.unsave !== undefined) { - b.write(Primitive.Bool.write(this.unsave) as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InstallWallPaper extends TLObject { - __response__!: Bool; - wallpaper!: Raw.TypeInputWallPaper; - settings!: Raw.TypeWallPaperSettings; - - constructor(params: { - wallpaper: Raw.TypeInputWallPaper; - settings: Raw.TypeWallPaperSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.InstallWallPaper'; - this.constructorId = 0xfeed5769; - this.subclassOfId = 0xf5b399ac; - this._slots = ['wallpaper', 'settings']; - this.wallpaper = params.wallpaper; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let wallpaper = await TLObject.read(_data); - let settings = await TLObject.read(_data); - return new Raw.account.InstallWallPaper({ wallpaper: wallpaper, settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.wallpaper !== undefined) { - b.write(this.wallpaper.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetWallPapers extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.ResetWallPapers'; - this.constructorId = 0xbb3b9804; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ResetWallPapers(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAutoDownloadSettings extends TLObject { - __response__!: Raw.account.TypeAutoDownloadSettings; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetAutoDownloadSettings'; - this.constructorId = 0x56da0b3f; - this.subclassOfId = 0x2fb85921; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetAutoDownloadSettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveAutoDownloadSettings extends TLObject { - __response__!: Bool; - low?: boolean; - high?: boolean; - settings!: Raw.TypeAutoDownloadSettings; - - constructor(params: { - low?: boolean; - high?: boolean; - settings: Raw.TypeAutoDownloadSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.SaveAutoDownloadSettings'; - this.constructorId = 0x76f36233; - this.subclassOfId = 0xf5b399ac; - this._slots = ['low', 'high', 'settings']; - this.low = params.low; - this.high = params.high; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let low = flags & (1 << 0) ? true : false; - let high = flags & (1 << 1) ? true : false; - let settings = await TLObject.read(_data); - return new Raw.account.SaveAutoDownloadSettings({ - low: low, - high: high, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.low ? 1 << 0 : 0; - flags |= this.high ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadTheme extends TLObject { - __response__!: Raw.TypeDocument; - file!: Raw.TypeInputFile; - thumb?: Raw.TypeInputFile; - fileName!: string; - mimeType!: string; - - constructor(params: { - file: Raw.TypeInputFile; - thumb?: Raw.TypeInputFile; - fileName: string; - mimeType: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.UploadTheme'; - this.constructorId = 0x1c3db333; - this.subclassOfId = 0x211fe820; - this._slots = ['file', 'thumb', 'fileName', 'mimeType']; - this.file = params.file; - this.thumb = params.thumb; - this.fileName = params.fileName; - this.mimeType = params.mimeType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let file = await TLObject.read(_data); - let thumb = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let fileName = await Primitive.String.read(_data); - let mimeType = await Primitive.String.read(_data); - return new Raw.account.UploadTheme({ - file: file, - thumb: thumb, - fileName: fileName, - mimeType: mimeType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.thumb !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.fileName !== undefined) { - b.write(Primitive.String.write(this.fileName) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateTheme extends TLObject { - __response__!: Raw.TypeTheme; - slug!: string; - title!: string; - document?: Raw.TypeInputDocument; - settings?: Vector; - - constructor(params: { - slug: string; - title: string; - document?: Raw.TypeInputDocument; - settings?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.CreateTheme'; - this.constructorId = 0x652e4400; - this.subclassOfId = 0x56b4c80c; - this._slots = ['slug', 'title', 'document', 'settings']; - this.slug = params.slug; - this.title = params.title; - this.document = params.document; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let slug = await Primitive.String.read(_data); - let title = await Primitive.String.read(_data); - let document = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let settings = flags & (1 << 3) ? await TLObject.read(_data) : []; - return new Raw.account.CreateTheme({ - slug: slug, - title: title, - document: document, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.document !== undefined ? 1 << 2 : 0; - flags |= this.settings ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.settings) { - b.write(Primitive.Vector.write(this.settings) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateTheme extends TLObject { - __response__!: Raw.TypeTheme; - format!: string; - theme!: Raw.TypeInputTheme; - slug?: string; - title?: string; - document?: Raw.TypeInputDocument; - settings?: Vector; - - constructor(params: { - format: string; - theme: Raw.TypeInputTheme; - slug?: string; - title?: string; - document?: Raw.TypeInputDocument; - settings?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateTheme'; - this.constructorId = 0x2bf40ccc; - this.subclassOfId = 0x56b4c80c; - this._slots = ['format', 'theme', 'slug', 'title', 'document', 'settings']; - this.format = params.format; - this.theme = params.theme; - this.slug = params.slug; - this.title = params.title; - this.document = params.document; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let format = await Primitive.String.read(_data); - let theme = await TLObject.read(_data); - let slug = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let document = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let settings = flags & (1 << 3) ? await TLObject.read(_data) : []; - return new Raw.account.UpdateTheme({ - format: format, - theme: theme, - slug: slug, - title: title, - document: document, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.slug !== undefined ? 1 << 0 : 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.document !== undefined ? 1 << 2 : 0; - flags |= this.settings ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.format !== undefined) { - b.write(Primitive.String.write(this.format) as unknown as Buffer); - } - if (this.theme !== undefined) { - b.write(this.theme.write() as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.document !== undefined) { - b.write(this.document.write() as unknown as Buffer); - } - if (this.settings) { - b.write(Primitive.Vector.write(this.settings) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveTheme extends TLObject { - __response__!: Bool; - theme!: Raw.TypeInputTheme; - unsave!: Bool; - - constructor(params: { theme: Raw.TypeInputTheme; unsave: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.SaveTheme'; - this.constructorId = 0xf257106c; - this.subclassOfId = 0xf5b399ac; - this._slots = ['theme', 'unsave']; - this.theme = params.theme; - this.unsave = params.unsave; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let theme = await TLObject.read(_data); - let unsave = await Primitive.Bool.read(_data); - return new Raw.account.SaveTheme({ theme: theme, unsave: unsave }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.theme !== undefined) { - b.write(this.theme.write() as unknown as Buffer); - } - if (this.unsave !== undefined) { - b.write(Primitive.Bool.write(this.unsave) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InstallTheme extends TLObject { - __response__!: Bool; - dark?: boolean; - theme?: Raw.TypeInputTheme; - format?: string; - baseTheme?: Raw.TypeBaseTheme; - - constructor(params: { - dark?: boolean; - theme?: Raw.TypeInputTheme; - format?: string; - baseTheme?: Raw.TypeBaseTheme; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.InstallTheme'; - this.constructorId = 0xc727bb3b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['dark', 'theme', 'format', 'baseTheme']; - this.dark = params.dark; - this.theme = params.theme; - this.format = params.format; - this.baseTheme = params.baseTheme; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let theme = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let format = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let baseTheme = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - return new Raw.account.InstallTheme({ - dark: dark, - theme: theme, - format: format, - baseTheme: baseTheme, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - flags |= this.theme !== undefined ? 1 << 1 : 0; - flags |= this.format !== undefined ? 1 << 2 : 0; - flags |= this.baseTheme !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.theme !== undefined) { - b.write(this.theme.write() as unknown as Buffer); - } - if (this.format !== undefined) { - b.write(Primitive.String.write(this.format) as unknown as Buffer); - } - if (this.baseTheme !== undefined) { - b.write(this.baseTheme.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetTheme extends TLObject { - __response__!: Raw.TypeTheme; - format!: string; - theme!: Raw.TypeInputTheme; - - constructor(params: { format: string; theme: Raw.TypeInputTheme }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetTheme'; - this.constructorId = 0x3a5869ec; - this.subclassOfId = 0x56b4c80c; - this._slots = ['format', 'theme']; - this.format = params.format; - this.theme = params.theme; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let format = await Primitive.String.read(_data); - let theme = await TLObject.read(_data); - return new Raw.account.GetTheme({ format: format, theme: theme }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.format !== undefined) { - b.write(Primitive.String.write(this.format) as unknown as Buffer); - } - if (this.theme !== undefined) { - b.write(this.theme.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetThemes extends TLObject { - __response__!: Raw.account.TypeThemes; - format!: string; - hash!: long; - - constructor(params: { format: string; hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetThemes'; - this.constructorId = 0x7206e458; - this.subclassOfId = 0x7fc52204; - this._slots = ['format', 'hash']; - this.format = params.format; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let format = await Primitive.String.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetThemes({ format: format, hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.format !== undefined) { - b.write(Primitive.String.write(this.format) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetContentSettings extends TLObject { - __response__!: Bool; - sensitiveEnabled?: boolean; - - constructor(params: { sensitiveEnabled?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetContentSettings'; - this.constructorId = 0xb574b16b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['sensitiveEnabled']; - this.sensitiveEnabled = params.sensitiveEnabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let sensitiveEnabled = flags & (1 << 0) ? true : false; - return new Raw.account.SetContentSettings({ sensitiveEnabled: sensitiveEnabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sensitiveEnabled ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetContentSettings extends TLObject { - __response__!: Raw.account.TypeContentSettings; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetContentSettings'; - this.constructorId = 0x8b9b4dae; - this.subclassOfId = 0xae3ff891; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetContentSettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMultiWallPapers extends TLObject { - __response__!: Vector; - wallpapers!: Vector; - - constructor(params: { wallpapers: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetMultiWallPapers'; - this.constructorId = 0x65ad71dc; - this.subclassOfId = 0x8ec35283; - this._slots = ['wallpapers']; - this.wallpapers = params.wallpapers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let wallpapers = await TLObject.read(_data); - return new Raw.account.GetMultiWallPapers({ wallpapers: wallpapers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.wallpapers) { - b.write(Primitive.Vector.write(this.wallpapers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGlobalPrivacySettings extends TLObject { - __response__!: Raw.TypeGlobalPrivacySettings; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetGlobalPrivacySettings'; - this.constructorId = 0xeb2b4cf6; - this.subclassOfId = 0xc90e5770; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetGlobalPrivacySettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetGlobalPrivacySettings extends TLObject { - __response__!: Raw.TypeGlobalPrivacySettings; - settings!: Raw.TypeGlobalPrivacySettings; - - constructor(params: { settings: Raw.TypeGlobalPrivacySettings }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetGlobalPrivacySettings'; - this.constructorId = 0x1edaaac2; - this.subclassOfId = 0xc90e5770; - this._slots = ['settings']; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let settings = await TLObject.read(_data); - return new Raw.account.SetGlobalPrivacySettings({ settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportProfilePhoto extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - photoId!: Raw.TypeInputPhoto; - reason!: Raw.TypeReportReason; - message!: string; - - constructor(params: { - peer: Raw.TypeInputPeer; - photoId: Raw.TypeInputPhoto; - reason: Raw.TypeReportReason; - message: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.ReportProfilePhoto'; - this.constructorId = 0xfa8cc6f5; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'photoId', 'reason', 'message']; - this.peer = params.peer; - this.photoId = params.photoId; - this.reason = params.reason; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let photoId = await TLObject.read(_data); - let reason = await TLObject.read(_data); - let message = await Primitive.String.read(_data); - return new Raw.account.ReportProfilePhoto({ - peer: peer, - photoId: photoId, - reason: reason, - message: message, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.photoId !== undefined) { - b.write(this.photoId.write() as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(this.reason.write() as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetPassword extends TLObject { - __response__!: Raw.account.TypeResetPasswordResult; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.ResetPassword'; - this.constructorId = 0x9308ce1b; - this.subclassOfId = 0x49507416; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ResetPassword(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeclinePasswordReset extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.DeclinePasswordReset'; - this.constructorId = 0x4c9409f6; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.DeclinePasswordReset(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChatThemes extends TLObject { - __response__!: Raw.account.TypeThemes; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetChatThemes'; - this.constructorId = 0xd638de89; - this.subclassOfId = 0x7fc52204; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetChatThemes({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetAuthorizationTTL extends TLObject { - __response__!: Bool; - authorizationTtlDays!: int; - - constructor(params: { authorizationTtlDays: int }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetAuthorizationTTL'; - this.constructorId = 0xbf899aa0; - this.subclassOfId = 0xf5b399ac; - this._slots = ['authorizationTtlDays']; - this.authorizationTtlDays = params.authorizationTtlDays; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let authorizationTtlDays = await Primitive.Int.read(_data); - return new Raw.account.SetAuthorizationTTL({ authorizationTtlDays: authorizationTtlDays }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.authorizationTtlDays !== undefined) { - b.write(Primitive.Int.write(this.authorizationTtlDays) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChangeAuthorizationSettings extends TLObject { - __response__!: Bool; - confirmed?: boolean; - hash!: long; - encryptedRequestsDisabled?: Bool; - callRequestsDisabled?: Bool; - - constructor(params: { - confirmed?: boolean; - hash: long; - encryptedRequestsDisabled?: Bool; - callRequestsDisabled?: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.ChangeAuthorizationSettings'; - this.constructorId = 0x40f48462; - this.subclassOfId = 0xf5b399ac; - this._slots = ['confirmed', 'hash', 'encryptedRequestsDisabled', 'callRequestsDisabled']; - this.confirmed = params.confirmed; - this.hash = params.hash; - this.encryptedRequestsDisabled = params.encryptedRequestsDisabled; - this.callRequestsDisabled = params.callRequestsDisabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let confirmed = flags & (1 << 3) ? true : false; - let hash = await Primitive.Long.read(_data); - let encryptedRequestsDisabled = - flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - let callRequestsDisabled = flags & (1 << 1) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.account.ChangeAuthorizationSettings({ - confirmed: confirmed, - hash: hash, - encryptedRequestsDisabled: encryptedRequestsDisabled, - callRequestsDisabled: callRequestsDisabled, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.confirmed ? 1 << 3 : 0; - flags |= this.encryptedRequestsDisabled !== undefined ? 1 << 0 : 0; - flags |= this.callRequestsDisabled !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - if (this.encryptedRequestsDisabled !== undefined) { - b.write(Primitive.Bool.write(this.encryptedRequestsDisabled) as unknown as Buffer); - } - if (this.callRequestsDisabled !== undefined) { - b.write(Primitive.Bool.write(this.callRequestsDisabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedRingtones extends TLObject { - __response__!: Raw.account.TypeSavedRingtones; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetSavedRingtones'; - this.constructorId = 0xe1902288; - this.subclassOfId = 0x27bcc95e; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetSavedRingtones({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveRingtone extends TLObject { - __response__!: Raw.account.TypeSavedRingtone; - id!: Raw.TypeInputDocument; - unsave!: Bool; - - constructor(params: { id: Raw.TypeInputDocument; unsave: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.SaveRingtone'; - this.constructorId = 0x3dea5b03; - this.subclassOfId = 0xb1e28424; - this._slots = ['id', 'unsave']; - this.id = params.id; - this.unsave = params.unsave; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - let unsave = await Primitive.Bool.read(_data); - return new Raw.account.SaveRingtone({ id: id, unsave: unsave }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.unsave !== undefined) { - b.write(Primitive.Bool.write(this.unsave) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UploadRingtone extends TLObject { - __response__!: Raw.TypeDocument; - file!: Raw.TypeInputFile; - fileName!: string; - mimeType!: string; - - constructor(params: { file: Raw.TypeInputFile; fileName: string; mimeType: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.UploadRingtone'; - this.constructorId = 0x831a83a2; - this.subclassOfId = 0x211fe820; - this._slots = ['file', 'fileName', 'mimeType']; - this.file = params.file; - this.fileName = params.fileName; - this.mimeType = params.mimeType; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let file = await TLObject.read(_data); - let fileName = await Primitive.String.read(_data); - let mimeType = await Primitive.String.read(_data); - return new Raw.account.UploadRingtone({ - file: file, - fileName: fileName, - mimeType: mimeType, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - if (this.fileName !== undefined) { - b.write(Primitive.String.write(this.fileName) as unknown as Buffer); - } - if (this.mimeType !== undefined) { - b.write(Primitive.String.write(this.mimeType) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEmojiStatus extends TLObject { - __response__!: Bool; - emojiStatus!: Raw.TypeEmojiStatus; - - constructor(params: { emojiStatus: Raw.TypeEmojiStatus }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateEmojiStatus'; - this.constructorId = 0xfbd3de6b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['emojiStatus']; - this.emojiStatus = params.emojiStatus; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let emojiStatus = await TLObject.read(_data); - return new Raw.account.UpdateEmojiStatus({ emojiStatus: emojiStatus }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.emojiStatus !== undefined) { - b.write(this.emojiStatus.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDefaultEmojiStatuses extends TLObject { - __response__!: Raw.account.TypeEmojiStatuses; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetDefaultEmojiStatuses'; - this.constructorId = 0xd6753386; - this.subclassOfId = 0xd3e005ca; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetDefaultEmojiStatuses({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetRecentEmojiStatuses extends TLObject { - __response__!: Raw.account.TypeEmojiStatuses; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetRecentEmojiStatuses'; - this.constructorId = 0xf578105; - this.subclassOfId = 0xd3e005ca; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetRecentEmojiStatuses({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClearRecentEmojiStatuses extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.ClearRecentEmojiStatuses'; - this.constructorId = 0x18201aae; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.ClearRecentEmojiStatuses(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderUsernames extends TLObject { - __response__!: Bool; - order!: Vector; - - constructor(params: { order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'account.ReorderUsernames'; - this.constructorId = 0xef500eab; - this.subclassOfId = 0xf5b399ac; - this._slots = ['order']; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let order = await TLObject.read(_data, Primitive.String); - return new Raw.account.ReorderUsernames({ order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleUsername extends TLObject { - __response__!: Bool; - username!: string; - active!: Bool; - - constructor(params: { username: string; active: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.ToggleUsername'; - this.constructorId = 0x58d6b376; - this.subclassOfId = 0xf5b399ac; - this._slots = ['username', 'active']; - this.username = params.username; - this.active = params.active; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let username = await Primitive.String.read(_data); - let active = await Primitive.Bool.read(_data); - return new Raw.account.ToggleUsername({ username: username, active: active }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.active !== undefined) { - b.write(Primitive.Bool.write(this.active) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDefaultProfilePhotoEmojis extends TLObject { - __response__!: Raw.TypeEmojiList; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetDefaultProfilePhotoEmojis'; - this.constructorId = 0xe2750328; - this.subclassOfId = 0xbcef6aba; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetDefaultProfilePhotoEmojis({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDefaultGroupPhotoEmojis extends TLObject { - __response__!: Raw.TypeEmojiList; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetDefaultGroupPhotoEmojis'; - this.constructorId = 0x915860ae; - this.subclassOfId = 0xbcef6aba; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetDefaultGroupPhotoEmojis({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAutoSaveSettings extends TLObject { - __response__!: Raw.account.TypeAutoSaveSettings; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetAutoSaveSettings'; - this.constructorId = 0xadcbbcda; - this.subclassOfId = 0x48cf2f02; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetAutoSaveSettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveAutoSaveSettings extends TLObject { - __response__!: Bool; - users?: boolean; - chats?: boolean; - broadcasts?: boolean; - peer?: Raw.TypeInputPeer; - settings!: Raw.TypeAutoSaveSettings; - - constructor(params: { - users?: boolean; - chats?: boolean; - broadcasts?: boolean; - peer?: Raw.TypeInputPeer; - settings: Raw.TypeAutoSaveSettings; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.SaveAutoSaveSettings'; - this.constructorId = 0xd69b8361; - this.subclassOfId = 0xf5b399ac; - this._slots = ['users', 'chats', 'broadcasts', 'peer', 'settings']; - this.users = params.users; - this.chats = params.chats; - this.broadcasts = params.broadcasts; - this.peer = params.peer; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let users = flags & (1 << 0) ? true : false; - let chats = flags & (1 << 1) ? true : false; - let broadcasts = flags & (1 << 2) ? true : false; - let peer = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - let settings = await TLObject.read(_data); - return new Raw.account.SaveAutoSaveSettings({ - users: users, - chats: chats, - broadcasts: broadcasts, - peer: peer, - settings: settings, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.users ? 1 << 0 : 0; - flags |= this.chats ? 1 << 1 : 0; - flags |= this.broadcasts ? 1 << 2 : 0; - flags |= this.peer !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteAutoSaveExceptions extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.DeleteAutoSaveExceptions'; - this.constructorId = 0x53bc0020; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.DeleteAutoSaveExceptions(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvalidateSignInCodes extends TLObject { - __response__!: Bool; - codes!: Vector; - - constructor(params: { codes: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'account.InvalidateSignInCodes'; - this.constructorId = 0xca8ae8ba; - this.subclassOfId = 0xf5b399ac; - this._slots = ['codes']; - this.codes = params.codes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let codes = await TLObject.read(_data, Primitive.String); - return new Raw.account.InvalidateSignInCodes({ codes: codes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.codes) { - b.write(Primitive.Vector.write(this.codes, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateColor extends TLObject { - __response__!: Bool; - forProfile?: boolean; - color?: int; - backgroundEmojiId?: long; - - constructor(params: { forProfile?: boolean; color?: int; backgroundEmojiId?: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateColor'; - this.constructorId = 0x7cefa15d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['forProfile', 'color', 'backgroundEmojiId']; - this.forProfile = params.forProfile; - this.color = params.color; - this.backgroundEmojiId = params.backgroundEmojiId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forProfile = flags & (1 << 1) ? true : false; - let color = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let backgroundEmojiId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.account.UpdateColor({ - forProfile: forProfile, - color: color, - backgroundEmojiId: backgroundEmojiId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forProfile ? 1 << 1 : 0; - flags |= this.color !== undefined ? 1 << 2 : 0; - flags |= this.backgroundEmojiId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - if (this.backgroundEmojiId !== undefined) { - b.write(Primitive.Long.write(this.backgroundEmojiId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDefaultBackgroundEmojis extends TLObject { - __response__!: Raw.TypeEmojiList; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetDefaultBackgroundEmojis'; - this.constructorId = 0xa60ab9ce; - this.subclassOfId = 0xbcef6aba; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetDefaultBackgroundEmojis({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChannelDefaultEmojiStatuses extends TLObject { - __response__!: Raw.account.TypeEmojiStatuses; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetChannelDefaultEmojiStatuses'; - this.constructorId = 0x7727a7d5; - this.subclassOfId = 0xd3e005ca; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetChannelDefaultEmojiStatuses({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChannelRestrictedStatusEmojis extends TLObject { - __response__!: Raw.TypeEmojiList; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetChannelRestrictedStatusEmojis'; - this.constructorId = 0x35a9e0d5; - this.subclassOfId = 0xbcef6aba; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetChannelRestrictedStatusEmojis({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBusinessWorkHours extends TLObject { - __response__!: Bool; - businessWorkHours?: Raw.TypeBusinessWorkHours; - - constructor(params: { businessWorkHours?: Raw.TypeBusinessWorkHours }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateBusinessWorkHours'; - this.constructorId = 0x4b00e066; - this.subclassOfId = 0xf5b399ac; - this._slots = ['businessWorkHours']; - this.businessWorkHours = params.businessWorkHours; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let businessWorkHours = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.UpdateBusinessWorkHours({ businessWorkHours: businessWorkHours }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.businessWorkHours !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.businessWorkHours !== undefined) { - b.write(this.businessWorkHours.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBusinessLocation extends TLObject { - __response__!: Bool; - geoPoint?: Raw.TypeInputGeoPoint; - address?: string; - - constructor(params: { geoPoint?: Raw.TypeInputGeoPoint; address?: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateBusinessLocation'; - this.constructorId = 0x9e6b131a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['geoPoint', 'address']; - this.geoPoint = params.geoPoint; - this.address = params.address; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let geoPoint = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let address = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.account.UpdateBusinessLocation({ geoPoint: geoPoint, address: address }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.geoPoint !== undefined ? 1 << 1 : 0; - flags |= this.address !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBusinessGreetingMessage extends TLObject { - __response__!: Bool; - message?: Raw.TypeInputBusinessGreetingMessage; - - constructor(params: { message?: Raw.TypeInputBusinessGreetingMessage }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateBusinessGreetingMessage'; - this.constructorId = 0x66cdafc4; - this.subclassOfId = 0xf5b399ac; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let message = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.UpdateBusinessGreetingMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.message !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBusinessAwayMessage extends TLObject { - __response__!: Bool; - message?: Raw.TypeInputBusinessAwayMessage; - - constructor(params: { message?: Raw.TypeInputBusinessAwayMessage }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateBusinessAwayMessage'; - this.constructorId = 0xa26a7fa5; - this.subclassOfId = 0xf5b399ac; - this._slots = ['message']; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let message = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.UpdateBusinessAwayMessage({ message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.message !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.message !== undefined) { - b.write(this.message.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateConnectedBot extends TLObject { - __response__!: Raw.TypeUpdates; - deleted?: boolean; - rights?: Raw.TypeBusinessBotRights; - bot!: Raw.TypeInputUser; - recipients!: Raw.TypeInputBusinessBotRecipients; - - constructor(params: { - deleted?: boolean; - rights?: Raw.TypeBusinessBotRights; - bot: Raw.TypeInputUser; - recipients: Raw.TypeInputBusinessBotRecipients; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateConnectedBot'; - this.constructorId = 0x66a08c7e; - this.subclassOfId = 0x8af52aac; - this._slots = ['deleted', 'rights', 'bot', 'recipients']; - this.deleted = params.deleted; - this.rights = params.rights; - this.bot = params.bot; - this.recipients = params.recipients; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let deleted = flags & (1 << 1) ? true : false; - let rights = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let bot = await TLObject.read(_data); - let recipients = await TLObject.read(_data); - return new Raw.account.UpdateConnectedBot({ - deleted: deleted, - rights: rights, - bot: bot, - recipients: recipients, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.deleted ? 1 << 1 : 0; - flags |= this.rights !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.rights !== undefined) { - b.write(this.rights.write() as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.recipients !== undefined) { - b.write(this.recipients.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetConnectedBots extends TLObject { - __response__!: Raw.account.TypeConnectedBots; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetConnectedBots'; - this.constructorId = 0x4ea4c80f; - this.subclassOfId = 0xe4caf7d3; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetConnectedBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotBusinessConnection extends TLObject { - __response__!: Raw.TypeUpdates; - connectionId!: string; - - constructor(params: { connectionId: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetBotBusinessConnection'; - this.constructorId = 0x76a86270; - this.subclassOfId = 0x8af52aac; - this._slots = ['connectionId']; - this.connectionId = params.connectionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let connectionId = await Primitive.String.read(_data); - return new Raw.account.GetBotBusinessConnection({ connectionId: connectionId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.connectionId !== undefined) { - b.write(Primitive.String.write(this.connectionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBusinessIntro extends TLObject { - __response__!: Bool; - intro?: Raw.TypeInputBusinessIntro; - - constructor(params: { intro?: Raw.TypeInputBusinessIntro }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateBusinessIntro'; - this.constructorId = 0xa614d034; - this.subclassOfId = 0xf5b399ac; - this._slots = ['intro']; - this.intro = params.intro; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let intro = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.UpdateBusinessIntro({ intro: intro }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.intro !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.intro !== undefined) { - b.write(this.intro.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleConnectedBotPaused extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - paused!: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; paused: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.ToggleConnectedBotPaused'; - this.constructorId = 0x646e1097; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'paused']; - this.peer = params.peer; - this.paused = params.paused; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let paused = await Primitive.Bool.read(_data); - return new Raw.account.ToggleConnectedBotPaused({ peer: peer, paused: paused }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.paused !== undefined) { - b.write(Primitive.Bool.write(this.paused) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DisablePeerConnectedBot extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'account.DisablePeerConnectedBot'; - this.constructorId = 0x5e437ed9; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.account.DisablePeerConnectedBot({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateBirthday extends TLObject { - __response__!: Bool; - birthday?: Raw.TypeBirthday; - - constructor(params: { birthday?: Raw.TypeBirthday }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdateBirthday'; - this.constructorId = 0xcc6e0c11; - this.subclassOfId = 0xf5b399ac; - this._slots = ['birthday']; - this.birthday = params.birthday; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let birthday = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.account.UpdateBirthday({ birthday: birthday }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.birthday !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.birthday !== undefined) { - b.write(this.birthday.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateBusinessChatLink extends TLObject { - __response__!: Raw.TypeBusinessChatLink; - link!: Raw.TypeInputBusinessChatLink; - - constructor(params: { link: Raw.TypeInputBusinessChatLink }) { - super(); - this.classType = 'functions'; - this.className = 'account.CreateBusinessChatLink'; - this.constructorId = 0x8851e68e; - this.subclassOfId = 0x3c0d4a8b; - this._slots = ['link']; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let link = await TLObject.read(_data); - return new Raw.account.CreateBusinessChatLink({ link: link }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.link !== undefined) { - b.write(this.link.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditBusinessChatLink extends TLObject { - __response__!: Raw.TypeBusinessChatLink; - slug!: string; - link!: Raw.TypeInputBusinessChatLink; - - constructor(params: { slug: string; link: Raw.TypeInputBusinessChatLink }) { - super(); - this.classType = 'functions'; - this.className = 'account.EditBusinessChatLink'; - this.constructorId = 0x8c3410af; - this.subclassOfId = 0x3c0d4a8b; - this._slots = ['slug', 'link']; - this.slug = params.slug; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - let link = await TLObject.read(_data); - return new Raw.account.EditBusinessChatLink({ slug: slug, link: link }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(this.link.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteBusinessChatLink extends TLObject { - __response__!: Bool; - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.DeleteBusinessChatLink'; - this.constructorId = 0x60073674; - this.subclassOfId = 0xf5b399ac; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.account.DeleteBusinessChatLink({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBusinessChatLinks extends TLObject { - __response__!: Raw.account.TypeBusinessChatLinks; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetBusinessChatLinks'; - this.constructorId = 0x6f70dde1; - this.subclassOfId = 0xc6ba4a31; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetBusinessChatLinks(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResolveBusinessChatLink extends TLObject { - __response__!: Raw.account.TypeResolvedBusinessChatLinks; - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'account.ResolveBusinessChatLink'; - this.constructorId = 0x5492e5ee; - this.subclassOfId = 0x3a772c28; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.account.ResolveBusinessChatLink({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePersonalChannel extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'account.UpdatePersonalChannel'; - this.constructorId = 0xd94305e0; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.account.UpdatePersonalChannel({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleSponsoredMessages extends TLObject { - __response__!: Bool; - enabled!: Bool; - - constructor(params: { enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'account.ToggleSponsoredMessages'; - this.constructorId = 0xb9d9a38d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['enabled']; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let enabled = await Primitive.Bool.read(_data); - return new Raw.account.ToggleSponsoredMessages({ enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetReactionsNotifySettings extends TLObject { - __response__!: Raw.TypeReactionsNotifySettings; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'account.GetReactionsNotifySettings'; - this.constructorId = 0x6dd654c; - this.subclassOfId = 0x8dff0851; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.account.GetReactionsNotifySettings(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetReactionsNotifySettings extends TLObject { - __response__!: Raw.TypeReactionsNotifySettings; - settings!: Raw.TypeReactionsNotifySettings; - - constructor(params: { settings: Raw.TypeReactionsNotifySettings }) { - super(); - this.classType = 'functions'; - this.className = 'account.SetReactionsNotifySettings'; - this.constructorId = 0x316ce548; - this.subclassOfId = 0x8dff0851; - this._slots = ['settings']; - this.settings = params.settings; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let settings = await TLObject.read(_data); - return new Raw.account.SetReactionsNotifySettings({ settings: settings }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.settings !== undefined) { - b.write(this.settings.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCollectibleEmojiStatuses extends TLObject { - __response__!: Raw.account.TypeEmojiStatuses; - hash!: long; - - constructor(params: { hash: long }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetCollectibleEmojiStatuses'; - this.constructorId = 0x2e7b4543; - this.subclassOfId = 0xd3e005ca; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Long.read(_data); - return new Raw.account.GetCollectibleEmojiStatuses({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPaidMessagesRevenue extends TLObject { - __response__!: Raw.account.TypePaidMessagesRevenue; - parentPeer?: Raw.TypeInputPeer; - userId!: Raw.TypeInputUser; - - constructor(params: { parentPeer?: Raw.TypeInputPeer; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'account.GetPaidMessagesRevenue'; - this.constructorId = 0x19ba4a67; - this.subclassOfId = 0x152f0c57; - this._slots = ['parentPeer', 'userId']; - this.parentPeer = params.parentPeer; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let parentPeer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let userId = await TLObject.read(_data); - return new Raw.account.GetPaidMessagesRevenue({ parentPeer: parentPeer, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.parentPeer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleNoPaidMessagesException extends TLObject { - __response__!: Bool; - refundCharged?: boolean; - requirePayment?: boolean; - parentPeer?: Raw.TypeInputPeer; - userId!: Raw.TypeInputUser; - - constructor(params: { - refundCharged?: boolean; - requirePayment?: boolean; - parentPeer?: Raw.TypeInputPeer; - userId: Raw.TypeInputUser; - }) { - super(); - this.classType = 'functions'; - this.className = 'account.ToggleNoPaidMessagesException'; - this.constructorId = 0xfe2eda76; - this.subclassOfId = 0xf5b399ac; - this._slots = ['refundCharged', 'requirePayment', 'parentPeer', 'userId']; - this.refundCharged = params.refundCharged; - this.requirePayment = params.requirePayment; - this.parentPeer = params.parentPeer; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let refundCharged = flags & (1 << 0) ? true : false; - let requirePayment = flags & (1 << 2) ? true : false; - let parentPeer = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let userId = await TLObject.read(_data); - return new Raw.account.ToggleNoPaidMessagesException({ - refundCharged: refundCharged, - requirePayment: requirePayment, - parentPeer: parentPeer, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.refundCharged ? 1 << 0 : 0; - flags |= this.requirePayment ? 1 << 2 : 0; - flags |= this.parentPeer !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.parentPeer !== undefined) { - b.write(this.parentPeer.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace channels { - export type TypeSendAsPeers = Raw.channels.SendAsPeers; - export type TypeAdminLogResults = Raw.channels.AdminLogResults; - export type TypeChannelParticipant = Raw.channels.ChannelParticipant; - export type TypeChannelParticipants = - | Raw.channels.ChannelParticipants - | Raw.channels.ChannelParticipantsNotModified; - export type TypeSponsoredMessageReportResult = - | Raw.channels.SponsoredMessageReportResultChooseOption - | Raw.channels.SponsoredMessageReportResultAdsHidden - | Raw.channels.SponsoredMessageReportResultReported; - export class ChannelParticipants extends TLObject { - count!: int; - participants!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - participants: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'channels.ChannelParticipants'; - this.constructorId = 0x9ab0feaf; - this.subclassOfId = 0xe60a6e64; - this._slots = ['count', 'participants', 'chats', 'users']; - this.count = params.count; - this.participants = params.participants; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let participants = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.channels.ChannelParticipants({ - count: count, - participants: participants, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.participants) { - b.write(Primitive.Vector.write(this.participants) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipantsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'channels.ChannelParticipantsNotModified'; - this.constructorId = 0xf0173fe9; - this.subclassOfId = 0xe60a6e64; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.channels.ChannelParticipantsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChannelParticipant extends TLObject { - participant!: Raw.TypeChannelParticipant; - chats!: Vector; - users!: Vector; - - constructor(params: { - participant: Raw.TypeChannelParticipant; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'channels.ChannelParticipant'; - this.constructorId = 0xdfb80317; - this.subclassOfId = 0x6658151a; - this._slots = ['participant', 'chats', 'users']; - this.participant = params.participant; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let participant = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.channels.ChannelParticipant({ - participant: participant, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AdminLogResults extends TLObject { - events!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - events: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'channels.AdminLogResults'; - this.constructorId = 0xed8af74d; - this.subclassOfId = 0x51f076bc; - this._slots = ['events', 'chats', 'users']; - this.events = params.events; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let events = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.channels.AdminLogResults({ events: events, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.events) { - b.write(Primitive.Vector.write(this.events) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendAsPeers extends TLObject { - peers!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - peers: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'channels.SendAsPeers'; - this.constructorId = 0xf496b0c6; - this.subclassOfId = 0x38cb8d21; - this._slots = ['peers', 'chats', 'users']; - this.peers = params.peers; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peers = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.channels.SendAsPeers({ peers: peers, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessageReportResultChooseOption extends TLObject { - title!: string; - options!: Vector; - - constructor(params: { - title: string; - options: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'channels.SponsoredMessageReportResultChooseOption'; - this.constructorId = 0x846f9e42; - this.subclassOfId = 0x26231822; - this._slots = ['title', 'options']; - this.title = params.title; - this.options = params.options; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let options = await TLObject.read(_data); - return new Raw.channels.SponsoredMessageReportResultChooseOption({ - title: title, - options: options, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.options) { - b.write(Primitive.Vector.write(this.options) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessageReportResultAdsHidden extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'channels.SponsoredMessageReportResultAdsHidden'; - this.constructorId = 0x3e3bcf2f; - this.subclassOfId = 0x26231822; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.channels.SponsoredMessageReportResultAdsHidden(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SponsoredMessageReportResultReported extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'channels.SponsoredMessageReportResultReported'; - this.constructorId = 0xad798849; - this.subclassOfId = 0x26231822; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.channels.SponsoredMessageReportResultReported(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadHistory extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - maxId!: int; - - constructor(params: { channel: Raw.TypeInputChannel; maxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ReadHistory'; - this.constructorId = 0xcc104937; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'maxId']; - this.channel = params.channel; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.channels.ReadHistory({ channel: channel, maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteMessages extends TLObject { - __response__!: Raw.messages.TypeAffectedMessages; - channel!: Raw.TypeInputChannel; - id!: Vector; - - constructor(params: { channel: Raw.TypeInputChannel; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.DeleteMessages'; - this.constructorId = 0x84c1fd4e; - this.subclassOfId = 0xced3c06e; - this._slots = ['channel', 'id']; - this.channel = params.channel; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.channels.DeleteMessages({ channel: channel, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportSpam extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - participant!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { - channel: Raw.TypeInputChannel; - participant: Raw.TypeInputPeer; - id: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ReportSpam'; - this.constructorId = 0xf44a8315; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'participant', 'id']; - this.channel = params.channel; - this.participant = params.participant; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let participant = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.channels.ReportSpam({ channel: channel, participant: participant, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessages extends TLObject { - __response__!: Raw.messages.TypeMessages; - channel!: Raw.TypeInputChannel; - id!: Vector; - - constructor(params: { channel: Raw.TypeInputChannel; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetMessages'; - this.constructorId = 0xad8c9a23; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['channel', 'id']; - this.channel = params.channel; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let id = await TLObject.read(_data); - return new Raw.channels.GetMessages({ channel: channel, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetParticipants extends TLObject { - __response__!: Raw.channels.TypeChannelParticipants; - channel!: Raw.TypeInputChannel; - filter!: Raw.TypeChannelParticipantsFilter; - offset!: int; - limit!: int; - hash!: long; - - constructor(params: { - channel: Raw.TypeInputChannel; - filter: Raw.TypeChannelParticipantsFilter; - offset: int; - limit: int; - hash: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetParticipants'; - this.constructorId = 0x77ced9d0; - this.subclassOfId = 0xe60a6e64; - this._slots = ['channel', 'filter', 'offset', 'limit', 'hash']; - this.channel = params.channel; - this.filter = params.filter; - this.offset = params.offset; - this.limit = params.limit; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let filter = await TLObject.read(_data); - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - let hash = await Primitive.Long.read(_data); - return new Raw.channels.GetParticipants({ - channel: channel, - filter: filter, - offset: offset, - limit: limit, - hash: hash, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - if (this.hash !== undefined) { - b.write(Primitive.Long.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetParticipant extends TLObject { - __response__!: Raw.channels.TypeChannelParticipant; - channel!: Raw.TypeInputChannel; - participant!: Raw.TypeInputPeer; - - constructor(params: { channel: Raw.TypeInputChannel; participant: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetParticipant'; - this.constructorId = 0xa0ab6cc6; - this.subclassOfId = 0x6658151a; - this._slots = ['channel', 'participant']; - this.channel = params.channel; - this.participant = params.participant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let participant = await TLObject.read(_data); - return new Raw.channels.GetParticipant({ channel: channel, participant: participant }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChannels extends TLObject { - __response__!: Raw.messages.TypeChats; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetChannels'; - this.constructorId = 0xa7f6bbb; - this.subclassOfId = 0x99d5cb14; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.channels.GetChannels({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFullChannel extends TLObject { - __response__!: Raw.messages.TypeChatFull; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetFullChannel'; - this.constructorId = 0x8736a09; - this.subclassOfId = 0x225a5109; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.channels.GetFullChannel({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateChannel extends TLObject { - __response__!: Raw.TypeUpdates; - broadcast?: boolean; - megagroup?: boolean; - forImport?: boolean; - forum?: boolean; - title!: string; - about!: string; - geoPoint?: Raw.TypeInputGeoPoint; - address?: string; - ttlPeriod?: int; - - constructor(params: { - broadcast?: boolean; - megagroup?: boolean; - forImport?: boolean; - forum?: boolean; - title: string; - about: string; - geoPoint?: Raw.TypeInputGeoPoint; - address?: string; - ttlPeriod?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.CreateChannel'; - this.constructorId = 0x91006707; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'broadcast', - 'megagroup', - 'forImport', - 'forum', - 'title', - 'about', - 'geoPoint', - 'address', - 'ttlPeriod', - ]; - this.broadcast = params.broadcast; - this.megagroup = params.megagroup; - this.forImport = params.forImport; - this.forum = params.forum; - this.title = params.title; - this.about = params.about; - this.geoPoint = params.geoPoint; - this.address = params.address; - this.ttlPeriod = params.ttlPeriod; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let broadcast = flags & (1 << 0) ? true : false; - let megagroup = flags & (1 << 1) ? true : false; - let forImport = flags & (1 << 3) ? true : false; - let forum = flags & (1 << 5) ? true : false; - let title = await Primitive.String.read(_data); - let about = await Primitive.String.read(_data); - let geoPoint = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let address = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let ttlPeriod = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - return new Raw.channels.CreateChannel({ - broadcast: broadcast, - megagroup: megagroup, - forImport: forImport, - forum: forum, - title: title, - about: about, - geoPoint: geoPoint, - address: address, - ttlPeriod: ttlPeriod, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.broadcast ? 1 << 0 : 0; - flags |= this.megagroup ? 1 << 1 : 0; - flags |= this.forImport ? 1 << 3 : 0; - flags |= this.forum ? 1 << 5 : 0; - flags |= this.geoPoint !== undefined ? 1 << 2 : 0; - flags |= this.address !== undefined ? 1 << 2 : 0; - flags |= this.ttlPeriod !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - if (this.ttlPeriod !== undefined) { - b.write(Primitive.Int.write(this.ttlPeriod) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditAdmin extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - userId!: Raw.TypeInputUser; - adminRights!: Raw.TypeChatAdminRights; - rank!: string; - - constructor(params: { - channel: Raw.TypeInputChannel; - userId: Raw.TypeInputUser; - adminRights: Raw.TypeChatAdminRights; - rank: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditAdmin'; - this.constructorId = 0xd33c8902; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'userId', 'adminRights', 'rank']; - this.channel = params.channel; - this.userId = params.userId; - this.adminRights = params.adminRights; - this.rank = params.rank; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let userId = await TLObject.read(_data); - let adminRights = await TLObject.read(_data); - let rank = await Primitive.String.read(_data); - return new Raw.channels.EditAdmin({ - channel: channel, - userId: userId, - adminRights: adminRights, - rank: rank, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - if (this.rank !== undefined) { - b.write(Primitive.String.write(this.rank) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditTitle extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - title!: string; - - constructor(params: { channel: Raw.TypeInputChannel; title: string }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditTitle'; - this.constructorId = 0x566decd0; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'title']; - this.channel = params.channel; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.channels.EditTitle({ channel: channel, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditPhoto extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - photo!: Raw.TypeInputChatPhoto; - - constructor(params: { channel: Raw.TypeInputChannel; photo: Raw.TypeInputChatPhoto }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditPhoto'; - this.constructorId = 0xf12e57c9; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'photo']; - this.channel = params.channel; - this.photo = params.photo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let photo = await TLObject.read(_data); - return new Raw.channels.EditPhoto({ channel: channel, photo: photo }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckUsername extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - username!: string; - - constructor(params: { channel: Raw.TypeInputChannel; username: string }) { - super(); - this.classType = 'functions'; - this.className = 'channels.CheckUsername'; - this.constructorId = 0x10e6bd2c; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'username']; - this.channel = params.channel; - this.username = params.username; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let username = await Primitive.String.read(_data); - return new Raw.channels.CheckUsername({ channel: channel, username: username }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUsername extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - username!: string; - - constructor(params: { channel: Raw.TypeInputChannel; username: string }) { - super(); - this.classType = 'functions'; - this.className = 'channels.UpdateUsername'; - this.constructorId = 0x3514b3de; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'username']; - this.channel = params.channel; - this.username = params.username; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let username = await Primitive.String.read(_data); - return new Raw.channels.UpdateUsername({ channel: channel, username: username }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JoinChannel extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.JoinChannel'; - this.constructorId = 0x24b524c5; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.channels.JoinChannel({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LeaveChannel extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.LeaveChannel'; - this.constructorId = 0xf836aa95; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.channels.LeaveChannel({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InviteToChannel extends TLObject { - __response__!: Raw.messages.TypeInvitedUsers; - channel!: Raw.TypeInputChannel; - users!: Vector; - - constructor(params: { channel: Raw.TypeInputChannel; users: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.InviteToChannel'; - this.constructorId = 0xc9e33d54; - this.subclassOfId = 0x3dbe90a1; - this._slots = ['channel', 'users']; - this.channel = params.channel; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.channels.InviteToChannel({ channel: channel, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteChannel extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.DeleteChannel'; - this.constructorId = 0xc0111fe3; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.channels.DeleteChannel({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportMessageLink extends TLObject { - __response__!: Raw.TypeExportedMessageLink; - grouped?: boolean; - thread?: boolean; - channel!: Raw.TypeInputChannel; - id!: int; - - constructor(params: { - grouped?: boolean; - thread?: boolean; - channel: Raw.TypeInputChannel; - id: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ExportMessageLink'; - this.constructorId = 0xe63fadeb; - this.subclassOfId = 0xdee644cc; - this._slots = ['grouped', 'thread', 'channel', 'id']; - this.grouped = params.grouped; - this.thread = params.thread; - this.channel = params.channel; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let grouped = flags & (1 << 0) ? true : false; - let thread = flags & (1 << 1) ? true : false; - let channel = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.channels.ExportMessageLink({ - grouped: grouped, - thread: thread, - channel: channel, - id: id, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.grouped ? 1 << 0 : 0; - flags |= this.thread ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleSignatures extends TLObject { - __response__!: Raw.TypeUpdates; - signaturesEnabled?: boolean; - profilesEnabled?: boolean; - channel!: Raw.TypeInputChannel; - - constructor(params: { - signaturesEnabled?: boolean; - profilesEnabled?: boolean; - channel: Raw.TypeInputChannel; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleSignatures'; - this.constructorId = 0x418d549c; - this.subclassOfId = 0x8af52aac; - this._slots = ['signaturesEnabled', 'profilesEnabled', 'channel']; - this.signaturesEnabled = params.signaturesEnabled; - this.profilesEnabled = params.profilesEnabled; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let signaturesEnabled = flags & (1 << 0) ? true : false; - let profilesEnabled = flags & (1 << 1) ? true : false; - let channel = await TLObject.read(_data); - return new Raw.channels.ToggleSignatures({ - signaturesEnabled: signaturesEnabled, - profilesEnabled: profilesEnabled, - channel: channel, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.signaturesEnabled ? 1 << 0 : 0; - flags |= this.profilesEnabled ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAdminedPublicChannels extends TLObject { - __response__!: Raw.messages.TypeChats; - byLocation?: boolean; - checkLimit?: boolean; - forPersonal?: boolean; - - constructor(params: { byLocation?: boolean; checkLimit?: boolean; forPersonal?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetAdminedPublicChannels'; - this.constructorId = 0xf8b036af; - this.subclassOfId = 0x99d5cb14; - this._slots = ['byLocation', 'checkLimit', 'forPersonal']; - this.byLocation = params.byLocation; - this.checkLimit = params.checkLimit; - this.forPersonal = params.forPersonal; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let byLocation = flags & (1 << 0) ? true : false; - let checkLimit = flags & (1 << 1) ? true : false; - let forPersonal = flags & (1 << 2) ? true : false; - return new Raw.channels.GetAdminedPublicChannels({ - byLocation: byLocation, - checkLimit: checkLimit, - forPersonal: forPersonal, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.byLocation ? 1 << 0 : 0; - flags |= this.checkLimit ? 1 << 1 : 0; - flags |= this.forPersonal ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditBanned extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - participant!: Raw.TypeInputPeer; - bannedRights!: Raw.TypeChatBannedRights; - - constructor(params: { - channel: Raw.TypeInputChannel; - participant: Raw.TypeInputPeer; - bannedRights: Raw.TypeChatBannedRights; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditBanned'; - this.constructorId = 0x96e6cd81; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'participant', 'bannedRights']; - this.channel = params.channel; - this.participant = params.participant; - this.bannedRights = params.bannedRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let participant = await TLObject.read(_data); - let bannedRights = await TLObject.read(_data); - return new Raw.channels.EditBanned({ - channel: channel, - participant: participant, - bannedRights: bannedRights, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - if (this.bannedRights !== undefined) { - b.write(this.bannedRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAdminLog extends TLObject { - __response__!: Raw.channels.TypeAdminLogResults; - channel!: Raw.TypeInputChannel; - q!: string; - eventsFilter?: Raw.TypeChannelAdminLogEventsFilter; - admins?: Vector; - maxId!: long; - minId!: long; - limit!: int; - - constructor(params: { - channel: Raw.TypeInputChannel; - q: string; - eventsFilter?: Raw.TypeChannelAdminLogEventsFilter; - admins?: Vector; - maxId: long; - minId: long; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetAdminLog'; - this.constructorId = 0x33ddf480; - this.subclassOfId = 0x51f076bc; - this._slots = ['channel', 'q', 'eventsFilter', 'admins', 'maxId', 'minId', 'limit']; - this.channel = params.channel; - this.q = params.q; - this.eventsFilter = params.eventsFilter; - this.admins = params.admins; - this.maxId = params.maxId; - this.minId = params.minId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channel = await TLObject.read(_data); - let q = await Primitive.String.read(_data); - let eventsFilter = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let admins = flags & (1 << 1) ? await TLObject.read(_data) : []; - let maxId = await Primitive.Long.read(_data); - let minId = await Primitive.Long.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.channels.GetAdminLog({ - channel: channel, - q: q, - eventsFilter: eventsFilter, - admins: admins, - maxId: maxId, - minId: minId, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.eventsFilter !== undefined ? 1 << 0 : 0; - flags |= this.admins ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.eventsFilter !== undefined) { - b.write(this.eventsFilter.write() as unknown as Buffer); - } - if (this.admins) { - b.write(Primitive.Vector.write(this.admins) as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Long.write(this.maxId) as unknown as Buffer); - } - if (this.minId !== undefined) { - b.write(Primitive.Long.write(this.minId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetStickers extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - stickerset!: Raw.TypeInputStickerSet; - - constructor(params: { channel: Raw.TypeInputChannel; stickerset: Raw.TypeInputStickerSet }) { - super(); - this.classType = 'functions'; - this.className = 'channels.SetStickers'; - this.constructorId = 0xea8ca4f9; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'stickerset']; - this.channel = params.channel; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let stickerset = await TLObject.read(_data); - return new Raw.channels.SetStickers({ channel: channel, stickerset: stickerset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadMessageContents extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - id!: Vector; - - constructor(params: { channel: Raw.TypeInputChannel; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ReadMessageContents'; - this.constructorId = 0xeab5dc38; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'id']; - this.channel = params.channel; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.channels.ReadMessageContents({ channel: channel, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteHistory extends TLObject { - __response__!: Raw.TypeUpdates; - forEveryone?: boolean; - channel!: Raw.TypeInputChannel; - maxId!: int; - - constructor(params: { forEveryone?: boolean; channel: Raw.TypeInputChannel; maxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.DeleteHistory'; - this.constructorId = 0x9baa9647; - this.subclassOfId = 0x8af52aac; - this._slots = ['forEveryone', 'channel', 'maxId']; - this.forEveryone = params.forEveryone; - this.channel = params.channel; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forEveryone = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.channels.DeleteHistory({ - forEveryone: forEveryone, - channel: channel, - maxId: maxId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forEveryone ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TogglePreHistoryHidden extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.TogglePreHistoryHidden'; - this.constructorId = 0xeabbb94c; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.TogglePreHistoryHidden({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetLeftChannels extends TLObject { - __response__!: Raw.messages.TypeChats; - offset!: int; - - constructor(params: { offset: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetLeftChannels'; - this.constructorId = 0x8341ecc0; - this.subclassOfId = 0x99d5cb14; - this._slots = ['offset']; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.Int.read(_data); - return new Raw.channels.GetLeftChannels({ offset: offset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupsForDiscussion extends TLObject { - __response__!: Raw.messages.TypeChats; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'channels.GetGroupsForDiscussion'; - this.constructorId = 0xf5dad378; - this.subclassOfId = 0x99d5cb14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.channels.GetGroupsForDiscussion(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetDiscussionGroup extends TLObject { - __response__!: Bool; - broadcast!: Raw.TypeInputChannel; - group!: Raw.TypeInputChannel; - - constructor(params: { broadcast: Raw.TypeInputChannel; group: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.SetDiscussionGroup'; - this.constructorId = 0x40582bb2; - this.subclassOfId = 0xf5b399ac; - this._slots = ['broadcast', 'group']; - this.broadcast = params.broadcast; - this.group = params.group; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let broadcast = await TLObject.read(_data); - let group = await TLObject.read(_data); - return new Raw.channels.SetDiscussionGroup({ broadcast: broadcast, group: group }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.broadcast !== undefined) { - b.write(this.broadcast.write() as unknown as Buffer); - } - if (this.group !== undefined) { - b.write(this.group.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditCreator extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - userId!: Raw.TypeInputUser; - password!: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { - channel: Raw.TypeInputChannel; - userId: Raw.TypeInputUser; - password: Raw.TypeInputCheckPasswordSRP; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditCreator'; - this.constructorId = 0x8f38cd1f; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'userId', 'password']; - this.channel = params.channel; - this.userId = params.userId; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let userId = await TLObject.read(_data); - let password = await TLObject.read(_data); - return new Raw.channels.EditCreator({ - channel: channel, - userId: userId, - password: password, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditLocation extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - geoPoint!: Raw.TypeInputGeoPoint; - address!: string; - - constructor(params: { - channel: Raw.TypeInputChannel; - geoPoint: Raw.TypeInputGeoPoint; - address: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditLocation'; - this.constructorId = 0x58e63f6d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'geoPoint', 'address']; - this.channel = params.channel; - this.geoPoint = params.geoPoint; - this.address = params.address; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let geoPoint = await TLObject.read(_data); - let address = await Primitive.String.read(_data); - return new Raw.channels.EditLocation({ - channel: channel, - geoPoint: geoPoint, - address: address, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.geoPoint !== undefined) { - b.write(this.geoPoint.write() as unknown as Buffer); - } - if (this.address !== undefined) { - b.write(Primitive.String.write(this.address) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleSlowMode extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - seconds!: int; - - constructor(params: { channel: Raw.TypeInputChannel; seconds: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleSlowMode'; - this.constructorId = 0xedd49ef0; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'seconds']; - this.channel = params.channel; - this.seconds = params.seconds; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let seconds = await Primitive.Int.read(_data); - return new Raw.channels.ToggleSlowMode({ channel: channel, seconds: seconds }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.seconds !== undefined) { - b.write(Primitive.Int.write(this.seconds) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetInactiveChannels extends TLObject { - __response__!: Raw.messages.TypeInactiveChats; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'channels.GetInactiveChannels'; - this.constructorId = 0x11e831ee; - this.subclassOfId = 0x8bf3d7d4; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.channels.GetInactiveChannels(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConvertToGigagroup extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ConvertToGigagroup'; - this.constructorId = 0xb290c69; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.channels.ConvertToGigagroup({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSendAs extends TLObject { - __response__!: Raw.channels.TypeSendAsPeers; - forPaidReactions?: boolean; - peer!: Raw.TypeInputPeer; - - constructor(params: { forPaidReactions?: boolean; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetSendAs'; - this.constructorId = 0xe785a43f; - this.subclassOfId = 0x38cb8d21; - this._slots = ['forPaidReactions', 'peer']; - this.forPaidReactions = params.forPaidReactions; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forPaidReactions = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.channels.GetSendAs({ forPaidReactions: forPaidReactions, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forPaidReactions ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteParticipantHistory extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - channel!: Raw.TypeInputChannel; - participant!: Raw.TypeInputPeer; - - constructor(params: { channel: Raw.TypeInputChannel; participant: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'channels.DeleteParticipantHistory'; - this.constructorId = 0x367544db; - this.subclassOfId = 0x2c49c116; - this._slots = ['channel', 'participant']; - this.channel = params.channel; - this.participant = params.participant; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let participant = await TLObject.read(_data); - return new Raw.channels.DeleteParticipantHistory({ - channel: channel, - participant: participant, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleJoinToSend extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleJoinToSend'; - this.constructorId = 0xe4cb9580; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleJoinToSend({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleJoinRequest extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleJoinRequest'; - this.constructorId = 0x4c2985b6; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleJoinRequest({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderUsernames extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - order!: Vector; - - constructor(params: { channel: Raw.TypeInputChannel; order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ReorderUsernames'; - this.constructorId = 0xb45ced1d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'order']; - this.channel = params.channel; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let order = await TLObject.read(_data, Primitive.String); - return new Raw.channels.ReorderUsernames({ channel: channel, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleUsername extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - username!: string; - active!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; username: string; active: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleUsername'; - this.constructorId = 0x50f24105; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'username', 'active']; - this.channel = params.channel; - this.username = params.username; - this.active = params.active; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let username = await Primitive.String.read(_data); - let active = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleUsername({ - channel: channel, - username: username, - active: active, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.active !== undefined) { - b.write(Primitive.Bool.write(this.active) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeactivateAllUsernames extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - - constructor(params: { channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.DeactivateAllUsernames'; - this.constructorId = 0xa245dd3; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - return new Raw.channels.DeactivateAllUsernames({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleForum extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - tabs!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool; tabs: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleForum'; - this.constructorId = 0x3ff75734; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled', 'tabs']; - this.channel = params.channel; - this.enabled = params.enabled; - this.tabs = params.tabs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - let tabs = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleForum({ channel: channel, enabled: enabled, tabs: tabs }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - if (this.tabs !== undefined) { - b.write(Primitive.Bool.write(this.tabs) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateForumTopic extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - title!: string; - iconColor?: int; - iconEmojiId?: long; - randomId!: long; - sendAs?: Raw.TypeInputPeer; - - constructor(params: { - channel: Raw.TypeInputChannel; - title: string; - iconColor?: int; - iconEmojiId?: long; - randomId: long; - sendAs?: Raw.TypeInputPeer; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.CreateForumTopic'; - this.constructorId = 0xf40c0224; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'title', 'iconColor', 'iconEmojiId', 'randomId', 'sendAs']; - this.channel = params.channel; - this.title = params.title; - this.iconColor = params.iconColor; - this.iconEmojiId = params.iconEmojiId; - this.randomId = params.randomId; - this.sendAs = params.sendAs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channel = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let iconColor = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let iconEmojiId = flags & (1 << 3) ? await Primitive.Long.read(_data) : undefined; - let randomId = await Primitive.Long.read(_data); - let sendAs = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - return new Raw.channels.CreateForumTopic({ - channel: channel, - title: title, - iconColor: iconColor, - iconEmojiId: iconEmojiId, - randomId: randomId, - sendAs: sendAs, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.iconColor !== undefined ? 1 << 0 : 0; - flags |= this.iconEmojiId !== undefined ? 1 << 3 : 0; - flags |= this.sendAs !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconColor !== undefined) { - b.write(Primitive.Int.write(this.iconColor) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.sendAs !== undefined) { - b.write(this.sendAs.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetForumTopics extends TLObject { - __response__!: Raw.messages.TypeForumTopics; - channel!: Raw.TypeInputChannel; - q?: string; - offsetDate!: int; - offsetId!: int; - offsetTopic!: int; - limit!: int; - - constructor(params: { - channel: Raw.TypeInputChannel; - q?: string; - offsetDate: int; - offsetId: int; - offsetTopic: int; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetForumTopics'; - this.constructorId = 0xde560d1; - this.subclassOfId = 0x8e1d3e1e; - this._slots = ['channel', 'q', 'offsetDate', 'offsetId', 'offsetTopic', 'limit']; - this.channel = params.channel; - this.q = params.q; - this.offsetDate = params.offsetDate; - this.offsetId = params.offsetId; - this.offsetTopic = params.offsetTopic; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channel = await TLObject.read(_data); - let q = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let offsetDate = await Primitive.Int.read(_data); - let offsetId = await Primitive.Int.read(_data); - let offsetTopic = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.channels.GetForumTopics({ - channel: channel, - q: q, - offsetDate: offsetDate, - offsetId: offsetId, - offsetTopic: offsetTopic, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.q !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.offsetTopic !== undefined) { - b.write(Primitive.Int.write(this.offsetTopic) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetForumTopicsByID extends TLObject { - __response__!: Raw.messages.TypeForumTopics; - channel!: Raw.TypeInputChannel; - topics!: Vector; - - constructor(params: { channel: Raw.TypeInputChannel; topics: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetForumTopicsByID'; - this.constructorId = 0xb0831eb9; - this.subclassOfId = 0x8e1d3e1e; - this._slots = ['channel', 'topics']; - this.channel = params.channel; - this.topics = params.topics; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let topics = await TLObject.read(_data, Primitive.Int); - return new Raw.channels.GetForumTopicsByID({ channel: channel, topics: topics }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.topics) { - b.write(Primitive.Vector.write(this.topics, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditForumTopic extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - topicId!: int; - title?: string; - iconEmojiId?: long; - closed?: Bool; - hidden?: Bool; - - constructor(params: { - channel: Raw.TypeInputChannel; - topicId: int; - title?: string; - iconEmojiId?: long; - closed?: Bool; - hidden?: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.EditForumTopic'; - this.constructorId = 0xf4dfa185; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'topicId', 'title', 'iconEmojiId', 'closed', 'hidden']; - this.channel = params.channel; - this.topicId = params.topicId; - this.title = params.title; - this.iconEmojiId = params.iconEmojiId; - this.closed = params.closed; - this.hidden = params.hidden; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channel = await TLObject.read(_data); - let topicId = await Primitive.Int.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let iconEmojiId = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - let closed = flags & (1 << 2) ? await Primitive.Bool.read(_data) : undefined; - let hidden = flags & (1 << 3) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.channels.EditForumTopic({ - channel: channel, - topicId: topicId, - title: title, - iconEmojiId: iconEmojiId, - closed: closed, - hidden: hidden, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.iconEmojiId !== undefined ? 1 << 1 : 0; - flags |= this.closed !== undefined ? 1 << 2 : 0; - flags |= this.hidden !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.topicId !== undefined) { - b.write(Primitive.Int.write(this.topicId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.iconEmojiId !== undefined) { - b.write(Primitive.Long.write(this.iconEmojiId) as unknown as Buffer); - } - if (this.closed !== undefined) { - b.write(Primitive.Bool.write(this.closed) as unknown as Buffer); - } - if (this.hidden !== undefined) { - b.write(Primitive.Bool.write(this.hidden) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePinnedForumTopic extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - topicId!: int; - pinned!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; topicId: int; pinned: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.UpdatePinnedForumTopic'; - this.constructorId = 0x6c2d9026; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'topicId', 'pinned']; - this.channel = params.channel; - this.topicId = params.topicId; - this.pinned = params.pinned; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let topicId = await Primitive.Int.read(_data); - let pinned = await Primitive.Bool.read(_data); - return new Raw.channels.UpdatePinnedForumTopic({ - channel: channel, - topicId: topicId, - pinned: pinned, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.topicId !== undefined) { - b.write(Primitive.Int.write(this.topicId) as unknown as Buffer); - } - if (this.pinned !== undefined) { - b.write(Primitive.Bool.write(this.pinned) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteTopicHistory extends TLObject { - __response__!: Raw.messages.TypeAffectedHistory; - channel!: Raw.TypeInputChannel; - topMsgId!: int; - - constructor(params: { channel: Raw.TypeInputChannel; topMsgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.DeleteTopicHistory'; - this.constructorId = 0x34435f2d; - this.subclassOfId = 0x2c49c116; - this._slots = ['channel', 'topMsgId']; - this.channel = params.channel; - this.topMsgId = params.topMsgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let topMsgId = await Primitive.Int.read(_data); - return new Raw.channels.DeleteTopicHistory({ channel: channel, topMsgId: topMsgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.topMsgId !== undefined) { - b.write(Primitive.Int.write(this.topMsgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderPinnedForumTopics extends TLObject { - __response__!: Raw.TypeUpdates; - force?: boolean; - channel!: Raw.TypeInputChannel; - order!: Vector; - - constructor(params: { force?: boolean; channel: Raw.TypeInputChannel; order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ReorderPinnedForumTopics'; - this.constructorId = 0x2950a18f; - this.subclassOfId = 0x8af52aac; - this._slots = ['force', 'channel', 'order']; - this.force = params.force; - this.channel = params.channel; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let force = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - let order = await TLObject.read(_data, Primitive.Int); - return new Raw.channels.ReorderPinnedForumTopics({ - force: force, - channel: channel, - order: order, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.force ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleAntiSpam extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleAntiSpam'; - this.constructorId = 0x68f3e4eb; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleAntiSpam({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReportAntiSpamFalsePositive extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - msgId!: int; - - constructor(params: { channel: Raw.TypeInputChannel; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ReportAntiSpamFalsePositive'; - this.constructorId = 0xa850a693; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'msgId']; - this.channel = params.channel; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.channels.ReportAntiSpamFalsePositive({ channel: channel, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleParticipantsHidden extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleParticipantsHidden'; - this.constructorId = 0x6a6e7854; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleParticipantsHidden({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateColor extends TLObject { - __response__!: Raw.TypeUpdates; - forProfile?: boolean; - channel!: Raw.TypeInputChannel; - color?: int; - backgroundEmojiId?: long; - - constructor(params: { - forProfile?: boolean; - channel: Raw.TypeInputChannel; - color?: int; - backgroundEmojiId?: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.UpdateColor'; - this.constructorId = 0xd8aa3671; - this.subclassOfId = 0x8af52aac; - this._slots = ['forProfile', 'channel', 'color', 'backgroundEmojiId']; - this.forProfile = params.forProfile; - this.channel = params.channel; - this.color = params.color; - this.backgroundEmojiId = params.backgroundEmojiId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forProfile = flags & (1 << 1) ? true : false; - let channel = await TLObject.read(_data); - let color = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let backgroundEmojiId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.channels.UpdateColor({ - forProfile: forProfile, - channel: channel, - color: color, - backgroundEmojiId: backgroundEmojiId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forProfile ? 1 << 1 : 0; - flags |= this.color !== undefined ? 1 << 2 : 0; - flags |= this.backgroundEmojiId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.color !== undefined) { - b.write(Primitive.Int.write(this.color) as unknown as Buffer); - } - if (this.backgroundEmojiId !== undefined) { - b.write(Primitive.Long.write(this.backgroundEmojiId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleViewForumAsMessages extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleViewForumAsMessages'; - this.constructorId = 0x9738bb15; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleViewForumAsMessages({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChannelRecommendations extends TLObject { - __response__!: Raw.messages.TypeChats; - channel?: Raw.TypeInputChannel; - - constructor(params: { channel?: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetChannelRecommendations'; - this.constructorId = 0x25a71742; - this.subclassOfId = 0x99d5cb14; - this._slots = ['channel']; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let channel = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.channels.GetChannelRecommendations({ channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.channel !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateEmojiStatus extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - emojiStatus!: Raw.TypeEmojiStatus; - - constructor(params: { channel: Raw.TypeInputChannel; emojiStatus: Raw.TypeEmojiStatus }) { - super(); - this.classType = 'functions'; - this.className = 'channels.UpdateEmojiStatus'; - this.constructorId = 0xf0d3e6a8; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'emojiStatus']; - this.channel = params.channel; - this.emojiStatus = params.emojiStatus; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let emojiStatus = await TLObject.read(_data); - return new Raw.channels.UpdateEmojiStatus({ channel: channel, emojiStatus: emojiStatus }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.emojiStatus !== undefined) { - b.write(this.emojiStatus.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBoostsToUnblockRestrictions extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - boosts!: int; - - constructor(params: { channel: Raw.TypeInputChannel; boosts: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.SetBoostsToUnblockRestrictions'; - this.constructorId = 0xad399cee; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'boosts']; - this.channel = params.channel; - this.boosts = params.boosts; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let boosts = await Primitive.Int.read(_data); - return new Raw.channels.SetBoostsToUnblockRestrictions({ - channel: channel, - boosts: boosts, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.boosts !== undefined) { - b.write(Primitive.Int.write(this.boosts) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetEmojiStickers extends TLObject { - __response__!: Bool; - channel!: Raw.TypeInputChannel; - stickerset!: Raw.TypeInputStickerSet; - - constructor(params: { channel: Raw.TypeInputChannel; stickerset: Raw.TypeInputStickerSet }) { - super(); - this.classType = 'functions'; - this.className = 'channels.SetEmojiStickers'; - this.constructorId = 0x3cd930b7; - this.subclassOfId = 0xf5b399ac; - this._slots = ['channel', 'stickerset']; - this.channel = params.channel; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let stickerset = await TLObject.read(_data); - return new Raw.channels.SetEmojiStickers({ channel: channel, stickerset: stickerset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RestrictSponsoredMessages extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - restricted!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; restricted: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.RestrictSponsoredMessages'; - this.constructorId = 0x9ae91519; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'restricted']; - this.channel = params.channel; - this.restricted = params.restricted; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let restricted = await Primitive.Bool.read(_data); - return new Raw.channels.RestrictSponsoredMessages({ - channel: channel, - restricted: restricted, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.restricted !== undefined) { - b.write(Primitive.Bool.write(this.restricted) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchPosts extends TLObject { - __response__!: Raw.messages.TypeMessages; - hashtag!: string; - offsetRate!: int; - offsetPeer!: Raw.TypeInputPeer; - offsetId!: int; - limit!: int; - - constructor(params: { - hashtag: string; - offsetRate: int; - offsetPeer: Raw.TypeInputPeer; - offsetId: int; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.SearchPosts'; - this.constructorId = 0xd19f987b; - this.subclassOfId = 0xd4b40b5e; - this._slots = ['hashtag', 'offsetRate', 'offsetPeer', 'offsetId', 'limit']; - this.hashtag = params.hashtag; - this.offsetRate = params.offsetRate; - this.offsetPeer = params.offsetPeer; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hashtag = await Primitive.String.read(_data); - let offsetRate = await Primitive.Int.read(_data); - let offsetPeer = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.channels.SearchPosts({ - hashtag: hashtag, - offsetRate: offsetRate, - offsetPeer: offsetPeer, - offsetId: offsetId, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hashtag !== undefined) { - b.write(Primitive.String.write(this.hashtag) as unknown as Buffer); - } - if (this.offsetRate !== undefined) { - b.write(Primitive.Int.write(this.offsetRate) as unknown as Buffer); - } - if (this.offsetPeer !== undefined) { - b.write(this.offsetPeer.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdatePaidMessagesPrice extends TLObject { - __response__!: Raw.TypeUpdates; - broadcastMessagesAllowed?: boolean; - channel!: Raw.TypeInputChannel; - sendPaidMessagesStars!: long; - - constructor(params: { - broadcastMessagesAllowed?: boolean; - channel: Raw.TypeInputChannel; - sendPaidMessagesStars: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'channels.UpdatePaidMessagesPrice'; - this.constructorId = 0x4b12327b; - this.subclassOfId = 0x8af52aac; - this._slots = ['broadcastMessagesAllowed', 'channel', 'sendPaidMessagesStars']; - this.broadcastMessagesAllowed = params.broadcastMessagesAllowed; - this.channel = params.channel; - this.sendPaidMessagesStars = params.sendPaidMessagesStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let broadcastMessagesAllowed = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - let sendPaidMessagesStars = await Primitive.Long.read(_data); - return new Raw.channels.UpdatePaidMessagesPrice({ - broadcastMessagesAllowed: broadcastMessagesAllowed, - channel: channel, - sendPaidMessagesStars: sendPaidMessagesStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.broadcastMessagesAllowed ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.sendPaidMessagesStars !== undefined) { - b.write(Primitive.Long.write(this.sendPaidMessagesStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleAutotranslation extends TLObject { - __response__!: Raw.TypeUpdates; - channel!: Raw.TypeInputChannel; - enabled!: Bool; - - constructor(params: { channel: Raw.TypeInputChannel; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'channels.ToggleAutotranslation'; - this.constructorId = 0x167fc0a1; - this.subclassOfId = 0x8af52aac; - this._slots = ['channel', 'enabled']; - this.channel = params.channel; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.channels.ToggleAutotranslation({ channel: channel, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessageAuthor extends TLObject { - __response__!: Raw.TypeUser; - channel!: Raw.TypeInputChannel; - id!: int; - - constructor(params: { channel: Raw.TypeInputChannel; id: int }) { - super(); - this.classType = 'functions'; - this.className = 'channels.GetMessageAuthor'; - this.constructorId = 0xece2a0e6; - this.subclassOfId = 0x2da17977; - this._slots = ['channel', 'id']; - this.channel = params.channel; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.channels.GetMessageAuthor({ channel: channel, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace payments { - export type TypeResaleStarGifts = Raw.payments.ResaleStarGifts; - export type TypeStarGiftWithdrawalUrl = Raw.payments.StarGiftWithdrawalUrl; - export type TypeSavedStarGifts = Raw.payments.SavedStarGifts; - export type TypeUniqueStarGift = Raw.payments.UniqueStarGift; - export type TypeStarGiftUpgradePreview = Raw.payments.StarGiftUpgradePreview; - export type TypeSuggestedStarRefBots = Raw.payments.SuggestedStarRefBots; - export type TypeConnectedStarRefBots = Raw.payments.ConnectedStarRefBots; - export type TypeStarGifts = Raw.payments.StarGiftsNotModified | Raw.payments.StarGifts; - export type TypeStarsRevenueAdsAccountUrl = Raw.payments.StarsRevenueAdsAccountUrl; - export type TypeStarsRevenueWithdrawalUrl = Raw.payments.StarsRevenueWithdrawalUrl; - export type TypeStarsRevenueStats = Raw.payments.StarsRevenueStats; - export type TypeStarsStatus = Raw.payments.StarsStatus; - export type TypeGiveawayInfo = Raw.payments.GiveawayInfo | Raw.payments.GiveawayInfoResults; - export type TypeCheckedGiftCode = Raw.payments.CheckedGiftCode; - export type TypeExportedInvoice = Raw.payments.ExportedInvoice; - export type TypeBankCardData = Raw.payments.BankCardData; - export type TypeSavedInfo = Raw.payments.SavedInfo; - export type TypePaymentResult = - | Raw.payments.PaymentResult - | Raw.payments.PaymentVerificationNeeded; - export type TypeValidatedRequestedInfo = Raw.payments.ValidatedRequestedInfo; - export type TypePaymentReceipt = Raw.payments.PaymentReceipt | Raw.payments.PaymentReceiptStars; - export type TypePaymentForm = - | Raw.payments.PaymentForm - | Raw.payments.PaymentFormStars - | Raw.payments.PaymentFormStarGift; - export class PaymentForm extends TLObject { - canSaveCredentials?: boolean; - passwordMissing?: boolean; - formId!: long; - botId!: long; - title!: string; - description!: string; - photo?: Raw.TypeWebDocument; - invoice!: Raw.TypeInvoice; - providerId!: long; - url!: string; - nativeProvider?: string; - nativeParams?: Raw.TypeDataJSON; - additionalMethods?: Vector; - savedInfo?: Raw.TypePaymentRequestedInfo; - savedCredentials?: Vector; - users!: Vector; - - constructor(params: { - canSaveCredentials?: boolean; - passwordMissing?: boolean; - formId: long; - botId: long; - title: string; - description: string; - photo?: Raw.TypeWebDocument; - invoice: Raw.TypeInvoice; - providerId: long; - url: string; - nativeProvider?: string; - nativeParams?: Raw.TypeDataJSON; - additionalMethods?: Vector; - savedInfo?: Raw.TypePaymentRequestedInfo; - savedCredentials?: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentForm'; - this.constructorId = 0xa0058751; - this.subclassOfId = 0xa0483f19; - this._slots = [ - 'canSaveCredentials', - 'passwordMissing', - 'formId', - 'botId', - 'title', - 'description', - 'photo', - 'invoice', - 'providerId', - 'url', - 'nativeProvider', - 'nativeParams', - 'additionalMethods', - 'savedInfo', - 'savedCredentials', - 'users', - ]; - this.canSaveCredentials = params.canSaveCredentials; - this.passwordMissing = params.passwordMissing; - this.formId = params.formId; - this.botId = params.botId; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.invoice = params.invoice; - this.providerId = params.providerId; - this.url = params.url; - this.nativeProvider = params.nativeProvider; - this.nativeParams = params.nativeParams; - this.additionalMethods = params.additionalMethods; - this.savedInfo = params.savedInfo; - this.savedCredentials = params.savedCredentials; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canSaveCredentials = flags & (1 << 2) ? true : false; - let passwordMissing = flags & (1 << 3) ? true : false; - let formId = await Primitive.Long.read(_data); - let botId = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let invoice = await TLObject.read(_data); - let providerId = await Primitive.Long.read(_data); - let url = await Primitive.String.read(_data); - let nativeProvider = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - let nativeParams = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let additionalMethods = flags & (1 << 6) ? await TLObject.read(_data) : []; - let savedInfo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let savedCredentials = flags & (1 << 1) ? await TLObject.read(_data) : []; - let users = await TLObject.read(_data); - return new Raw.payments.PaymentForm({ - canSaveCredentials: canSaveCredentials, - passwordMissing: passwordMissing, - formId: formId, - botId: botId, - title: title, - description: description, - photo: photo, - invoice: invoice, - providerId: providerId, - url: url, - nativeProvider: nativeProvider, - nativeParams: nativeParams, - additionalMethods: additionalMethods, - savedInfo: savedInfo, - savedCredentials: savedCredentials, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canSaveCredentials ? 1 << 2 : 0; - flags |= this.passwordMissing ? 1 << 3 : 0; - flags |= this.photo !== undefined ? 1 << 5 : 0; - flags |= this.nativeProvider !== undefined ? 1 << 4 : 0; - flags |= this.nativeParams !== undefined ? 1 << 4 : 0; - flags |= this.additionalMethods ? 1 << 6 : 0; - flags |= this.savedInfo !== undefined ? 1 << 0 : 0; - flags |= this.savedCredentials ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.formId !== undefined) { - b.write(Primitive.Long.write(this.formId) as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.providerId !== undefined) { - b.write(Primitive.Long.write(this.providerId) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.nativeProvider !== undefined) { - b.write(Primitive.String.write(this.nativeProvider) as unknown as Buffer); - } - if (this.nativeParams !== undefined) { - b.write(this.nativeParams.write() as unknown as Buffer); - } - if (this.additionalMethods) { - b.write(Primitive.Vector.write(this.additionalMethods) as unknown as Buffer); - } - if (this.savedInfo !== undefined) { - b.write(this.savedInfo.write() as unknown as Buffer); - } - if (this.savedCredentials) { - b.write(Primitive.Vector.write(this.savedCredentials) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentFormStars extends TLObject { - formId!: long; - botId!: long; - title!: string; - description!: string; - photo?: Raw.TypeWebDocument; - invoice!: Raw.TypeInvoice; - users!: Vector; - - constructor(params: { - formId: long; - botId: long; - title: string; - description: string; - photo?: Raw.TypeWebDocument; - invoice: Raw.TypeInvoice; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentFormStars'; - this.constructorId = 0x7bf6b15c; - this.subclassOfId = 0xa0483f19; - this._slots = ['formId', 'botId', 'title', 'description', 'photo', 'invoice', 'users']; - this.formId = params.formId; - this.botId = params.botId; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.invoice = params.invoice; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let formId = await Primitive.Long.read(_data); - let botId = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 5) ? await TLObject.read(_data) : undefined; - let invoice = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.PaymentFormStars({ - formId: formId, - botId: botId, - title: title, - description: description, - photo: photo, - invoice: invoice, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photo !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.formId !== undefined) { - b.write(Primitive.Long.write(this.formId) as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentFormStarGift extends TLObject { - formId!: long; - invoice!: Raw.TypeInvoice; - - constructor(params: { formId: long; invoice: Raw.TypeInvoice }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentFormStarGift'; - this.constructorId = 0xb425cfe1; - this.subclassOfId = 0xa0483f19; - this._slots = ['formId', 'invoice']; - this.formId = params.formId; - this.invoice = params.invoice; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let formId = await Primitive.Long.read(_data); - let invoice = await TLObject.read(_data); - return new Raw.payments.PaymentFormStarGift({ formId: formId, invoice: invoice }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.formId !== undefined) { - b.write(Primitive.Long.write(this.formId) as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ValidatedRequestedInfo extends TLObject { - id?: string; - shippingOptions?: Vector; - - constructor(params: { id?: string; shippingOptions?: Vector }) { - super(); - this.classType = 'types'; - this.className = 'payments.ValidatedRequestedInfo'; - this.constructorId = 0xd1451883; - this.subclassOfId = 0x8f8044b7; - this._slots = ['id', 'shippingOptions']; - this.id = params.id; - this.shippingOptions = params.shippingOptions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let id = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let shippingOptions = flags & (1 << 1) ? await TLObject.read(_data) : []; - return new Raw.payments.ValidatedRequestedInfo({ - id: id, - shippingOptions: shippingOptions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.id !== undefined ? 1 << 0 : 0; - flags |= this.shippingOptions ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.id !== undefined) { - b.write(Primitive.String.write(this.id) as unknown as Buffer); - } - if (this.shippingOptions) { - b.write(Primitive.Vector.write(this.shippingOptions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentResult extends TLObject { - updates!: Raw.TypeUpdates; - - constructor(params: { updates: Raw.TypeUpdates }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentResult'; - this.constructorId = 0x4e5f810d; - this.subclassOfId = 0x8ae16a9d; - this._slots = ['updates']; - this.updates = params.updates; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let updates = await TLObject.read(_data); - return new Raw.payments.PaymentResult({ updates: updates }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.updates !== undefined) { - b.write(this.updates.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentVerificationNeeded extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentVerificationNeeded'; - this.constructorId = 0xd8411139; - this.subclassOfId = 0x8ae16a9d; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.payments.PaymentVerificationNeeded({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentReceipt extends TLObject { - date!: int; - botId!: long; - providerId!: long; - title!: string; - description!: string; - photo?: Raw.TypeWebDocument; - invoice!: Raw.TypeInvoice; - info?: Raw.TypePaymentRequestedInfo; - shipping?: Raw.TypeShippingOption; - tipAmount?: long; - currency!: string; - totalAmount!: long; - credentialsTitle!: string; - users!: Vector; - - constructor(params: { - date: int; - botId: long; - providerId: long; - title: string; - description: string; - photo?: Raw.TypeWebDocument; - invoice: Raw.TypeInvoice; - info?: Raw.TypePaymentRequestedInfo; - shipping?: Raw.TypeShippingOption; - tipAmount?: long; - currency: string; - totalAmount: long; - credentialsTitle: string; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentReceipt'; - this.constructorId = 0x70c4fe03; - this.subclassOfId = 0x590093c9; - this._slots = [ - 'date', - 'botId', - 'providerId', - 'title', - 'description', - 'photo', - 'invoice', - 'info', - 'shipping', - 'tipAmount', - 'currency', - 'totalAmount', - 'credentialsTitle', - 'users', - ]; - this.date = params.date; - this.botId = params.botId; - this.providerId = params.providerId; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.invoice = params.invoice; - this.info = params.info; - this.shipping = params.shipping; - this.tipAmount = params.tipAmount; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.credentialsTitle = params.credentialsTitle; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let botId = await Primitive.Long.read(_data); - let providerId = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let invoice = await TLObject.read(_data); - let info = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let shipping = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let tipAmount = flags & (1 << 3) ? await Primitive.Long.read(_data) : undefined; - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let credentialsTitle = await Primitive.String.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.PaymentReceipt({ - date: date, - botId: botId, - providerId: providerId, - title: title, - description: description, - photo: photo, - invoice: invoice, - info: info, - shipping: shipping, - tipAmount: tipAmount, - currency: currency, - totalAmount: totalAmount, - credentialsTitle: credentialsTitle, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photo !== undefined ? 1 << 2 : 0; - flags |= this.info !== undefined ? 1 << 0 : 0; - flags |= this.shipping !== undefined ? 1 << 1 : 0; - flags |= this.tipAmount !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.providerId !== undefined) { - b.write(Primitive.Long.write(this.providerId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.info !== undefined) { - b.write(this.info.write() as unknown as Buffer); - } - if (this.shipping !== undefined) { - b.write(this.shipping.write() as unknown as Buffer); - } - if (this.tipAmount !== undefined) { - b.write(Primitive.Long.write(this.tipAmount) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.credentialsTitle !== undefined) { - b.write(Primitive.String.write(this.credentialsTitle) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PaymentReceiptStars extends TLObject { - date!: int; - botId!: long; - title!: string; - description!: string; - photo?: Raw.TypeWebDocument; - invoice!: Raw.TypeInvoice; - currency!: string; - totalAmount!: long; - transactionId!: string; - users!: Vector; - - constructor(params: { - date: int; - botId: long; - title: string; - description: string; - photo?: Raw.TypeWebDocument; - invoice: Raw.TypeInvoice; - currency: string; - totalAmount: long; - transactionId: string; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.PaymentReceiptStars'; - this.constructorId = 0xdabbf83a; - this.subclassOfId = 0x590093c9; - this._slots = [ - 'date', - 'botId', - 'title', - 'description', - 'photo', - 'invoice', - 'currency', - 'totalAmount', - 'transactionId', - 'users', - ]; - this.date = params.date; - this.botId = params.botId; - this.title = params.title; - this.description = params.description; - this.photo = params.photo; - this.invoice = params.invoice; - this.currency = params.currency; - this.totalAmount = params.totalAmount; - this.transactionId = params.transactionId; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let date = await Primitive.Int.read(_data); - let botId = await Primitive.Long.read(_data); - let title = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - let photo = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let invoice = await TLObject.read(_data); - let currency = await Primitive.String.read(_data); - let totalAmount = await Primitive.Long.read(_data); - let transactionId = await Primitive.String.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.PaymentReceiptStars({ - date: date, - botId: botId, - title: title, - description: description, - photo: photo, - invoice: invoice, - currency: currency, - totalAmount: totalAmount, - transactionId: transactionId, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.photo !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.botId !== undefined) { - b.write(Primitive.Long.write(this.botId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - if (this.photo !== undefined) { - b.write(this.photo.write() as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.totalAmount !== undefined) { - b.write(Primitive.Long.write(this.totalAmount) as unknown as Buffer); - } - if (this.transactionId !== undefined) { - b.write(Primitive.String.write(this.transactionId) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedInfo extends TLObject { - hasSavedCredentials?: boolean; - savedInfo?: Raw.TypePaymentRequestedInfo; - - constructor(params: { - hasSavedCredentials?: boolean; - savedInfo?: Raw.TypePaymentRequestedInfo; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.SavedInfo'; - this.constructorId = 0xfb8fe43c; - this.subclassOfId = 0xad3cf146; - this._slots = ['hasSavedCredentials', 'savedInfo']; - this.hasSavedCredentials = params.hasSavedCredentials; - this.savedInfo = params.savedInfo; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasSavedCredentials = flags & (1 << 1) ? true : false; - let savedInfo = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.payments.SavedInfo({ - hasSavedCredentials: hasSavedCredentials, - savedInfo: savedInfo, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasSavedCredentials ? 1 << 1 : 0; - flags |= this.savedInfo !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.savedInfo !== undefined) { - b.write(this.savedInfo.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BankCardData extends TLObject { - title!: string; - openUrls!: Vector; - - constructor(params: { title: string; openUrls: Vector }) { - super(); - this.classType = 'types'; - this.className = 'payments.BankCardData'; - this.constructorId = 0x3e24e573; - this.subclassOfId = 0x8c6dd68b; - this._slots = ['title', 'openUrls']; - this.title = params.title; - this.openUrls = params.openUrls; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - let openUrls = await TLObject.read(_data); - return new Raw.payments.BankCardData({ title: title, openUrls: openUrls }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.openUrls) { - b.write(Primitive.Vector.write(this.openUrls) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedInvoice extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'payments.ExportedInvoice'; - this.constructorId = 0xaed0cbd9; - this.subclassOfId = 0x36105432; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.payments.ExportedInvoice({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckedGiftCode extends TLObject { - viaGiveaway?: boolean; - fromId?: Raw.TypePeer; - giveawayMsgId?: int; - toId?: long; - date!: int; - months!: int; - usedDate?: int; - chats!: Vector; - users!: Vector; - - constructor(params: { - viaGiveaway?: boolean; - fromId?: Raw.TypePeer; - giveawayMsgId?: int; - toId?: long; - date: int; - months: int; - usedDate?: int; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.CheckedGiftCode'; - this.constructorId = 0x284a1096; - this.subclassOfId = 0x5b2997e8; - this._slots = [ - 'viaGiveaway', - 'fromId', - 'giveawayMsgId', - 'toId', - 'date', - 'months', - 'usedDate', - 'chats', - 'users', - ]; - this.viaGiveaway = params.viaGiveaway; - this.fromId = params.fromId; - this.giveawayMsgId = params.giveawayMsgId; - this.toId = params.toId; - this.date = params.date; - this.months = params.months; - this.usedDate = params.usedDate; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let viaGiveaway = flags & (1 << 2) ? true : false; - let fromId = flags & (1 << 4) ? await TLObject.read(_data) : undefined; - let giveawayMsgId = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let toId = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let date = await Primitive.Int.read(_data); - let months = await Primitive.Int.read(_data); - let usedDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.CheckedGiftCode({ - viaGiveaway: viaGiveaway, - fromId: fromId, - giveawayMsgId: giveawayMsgId, - toId: toId, - date: date, - months: months, - usedDate: usedDate, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.viaGiveaway ? 1 << 2 : 0; - flags |= this.fromId !== undefined ? 1 << 4 : 0; - flags |= this.giveawayMsgId !== undefined ? 1 << 3 : 0; - flags |= this.toId !== undefined ? 1 << 0 : 0; - flags |= this.usedDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.fromId !== undefined) { - b.write(this.fromId.write() as unknown as Buffer); - } - if (this.giveawayMsgId !== undefined) { - b.write(Primitive.Int.write(this.giveawayMsgId) as unknown as Buffer); - } - if (this.toId !== undefined) { - b.write(Primitive.Long.write(this.toId) as unknown as Buffer); - } - if (this.date !== undefined) { - b.write(Primitive.Int.write(this.date) as unknown as Buffer); - } - if (this.months !== undefined) { - b.write(Primitive.Int.write(this.months) as unknown as Buffer); - } - if (this.usedDate !== undefined) { - b.write(Primitive.Int.write(this.usedDate) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GiveawayInfo extends TLObject { - participating?: boolean; - preparingResults?: boolean; - startDate!: int; - joinedTooEarlyDate?: int; - adminDisallowedChatId?: long; - disallowedCountry?: string; - - constructor(params: { - participating?: boolean; - preparingResults?: boolean; - startDate: int; - joinedTooEarlyDate?: int; - adminDisallowedChatId?: long; - disallowedCountry?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.GiveawayInfo'; - this.constructorId = 0x4367daa0; - this.subclassOfId = 0x96a377bd; - this._slots = [ - 'participating', - 'preparingResults', - 'startDate', - 'joinedTooEarlyDate', - 'adminDisallowedChatId', - 'disallowedCountry', - ]; - this.participating = params.participating; - this.preparingResults = params.preparingResults; - this.startDate = params.startDate; - this.joinedTooEarlyDate = params.joinedTooEarlyDate; - this.adminDisallowedChatId = params.adminDisallowedChatId; - this.disallowedCountry = params.disallowedCountry; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let participating = flags & (1 << 0) ? true : false; - let preparingResults = flags & (1 << 3) ? true : false; - let startDate = await Primitive.Int.read(_data); - let joinedTooEarlyDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let adminDisallowedChatId = flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - let disallowedCountry = flags & (1 << 4) ? await Primitive.String.read(_data) : undefined; - return new Raw.payments.GiveawayInfo({ - participating: participating, - preparingResults: preparingResults, - startDate: startDate, - joinedTooEarlyDate: joinedTooEarlyDate, - adminDisallowedChatId: adminDisallowedChatId, - disallowedCountry: disallowedCountry, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.participating ? 1 << 0 : 0; - flags |= this.preparingResults ? 1 << 3 : 0; - flags |= this.joinedTooEarlyDate !== undefined ? 1 << 1 : 0; - flags |= this.adminDisallowedChatId !== undefined ? 1 << 2 : 0; - flags |= this.disallowedCountry !== undefined ? 1 << 4 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.startDate !== undefined) { - b.write(Primitive.Int.write(this.startDate) as unknown as Buffer); - } - if (this.joinedTooEarlyDate !== undefined) { - b.write(Primitive.Int.write(this.joinedTooEarlyDate) as unknown as Buffer); - } - if (this.adminDisallowedChatId !== undefined) { - b.write(Primitive.Long.write(this.adminDisallowedChatId) as unknown as Buffer); - } - if (this.disallowedCountry !== undefined) { - b.write(Primitive.String.write(this.disallowedCountry) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GiveawayInfoResults extends TLObject { - winner?: boolean; - refunded?: boolean; - startDate!: int; - giftCodeSlug?: string; - starsPrize?: long; - finishDate!: int; - winnersCount!: int; - activatedCount?: int; - - constructor(params: { - winner?: boolean; - refunded?: boolean; - startDate: int; - giftCodeSlug?: string; - starsPrize?: long; - finishDate: int; - winnersCount: int; - activatedCount?: int; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.GiveawayInfoResults'; - this.constructorId = 0xe175e66f; - this.subclassOfId = 0x96a377bd; - this._slots = [ - 'winner', - 'refunded', - 'startDate', - 'giftCodeSlug', - 'starsPrize', - 'finishDate', - 'winnersCount', - 'activatedCount', - ]; - this.winner = params.winner; - this.refunded = params.refunded; - this.startDate = params.startDate; - this.giftCodeSlug = params.giftCodeSlug; - this.starsPrize = params.starsPrize; - this.finishDate = params.finishDate; - this.winnersCount = params.winnersCount; - this.activatedCount = params.activatedCount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let winner = flags & (1 << 0) ? true : false; - let refunded = flags & (1 << 1) ? true : false; - let startDate = await Primitive.Int.read(_data); - let giftCodeSlug = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let starsPrize = flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let finishDate = await Primitive.Int.read(_data); - let winnersCount = await Primitive.Int.read(_data); - let activatedCount = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - return new Raw.payments.GiveawayInfoResults({ - winner: winner, - refunded: refunded, - startDate: startDate, - giftCodeSlug: giftCodeSlug, - starsPrize: starsPrize, - finishDate: finishDate, - winnersCount: winnersCount, - activatedCount: activatedCount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.winner ? 1 << 0 : 0; - flags |= this.refunded ? 1 << 1 : 0; - flags |= this.giftCodeSlug !== undefined ? 1 << 3 : 0; - flags |= this.starsPrize !== undefined ? 1 << 4 : 0; - flags |= this.activatedCount !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.startDate !== undefined) { - b.write(Primitive.Int.write(this.startDate) as unknown as Buffer); - } - if (this.giftCodeSlug !== undefined) { - b.write(Primitive.String.write(this.giftCodeSlug) as unknown as Buffer); - } - if (this.starsPrize !== undefined) { - b.write(Primitive.Long.write(this.starsPrize) as unknown as Buffer); - } - if (this.finishDate !== undefined) { - b.write(Primitive.Int.write(this.finishDate) as unknown as Buffer); - } - if (this.winnersCount !== undefined) { - b.write(Primitive.Int.write(this.winnersCount) as unknown as Buffer); - } - if (this.activatedCount !== undefined) { - b.write(Primitive.Int.write(this.activatedCount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsStatus extends TLObject { - balance!: Raw.TypeStarsAmount; - subscriptions?: Vector; - subscriptionsNextOffset?: string; - subscriptionsMissingBalance?: long; - history?: Vector; - nextOffset?: string; - chats!: Vector; - users!: Vector; - - constructor(params: { - balance: Raw.TypeStarsAmount; - subscriptions?: Vector; - subscriptionsNextOffset?: string; - subscriptionsMissingBalance?: long; - history?: Vector; - nextOffset?: string; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarsStatus'; - this.constructorId = 0x6c9ce8ed; - this.subclassOfId = 0x6e9c1d6f; - this._slots = [ - 'balance', - 'subscriptions', - 'subscriptionsNextOffset', - 'subscriptionsMissingBalance', - 'history', - 'nextOffset', - 'chats', - 'users', - ]; - this.balance = params.balance; - this.subscriptions = params.subscriptions; - this.subscriptionsNextOffset = params.subscriptionsNextOffset; - this.subscriptionsMissingBalance = params.subscriptionsMissingBalance; - this.history = params.history; - this.nextOffset = params.nextOffset; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let balance = await TLObject.read(_data); - let subscriptions = flags & (1 << 1) ? await TLObject.read(_data) : []; - let subscriptionsNextOffset = - flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let subscriptionsMissingBalance = - flags & (1 << 4) ? await Primitive.Long.read(_data) : undefined; - let history = flags & (1 << 3) ? await TLObject.read(_data) : []; - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.StarsStatus({ - balance: balance, - subscriptions: subscriptions, - subscriptionsNextOffset: subscriptionsNextOffset, - subscriptionsMissingBalance: subscriptionsMissingBalance, - history: history, - nextOffset: nextOffset, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.subscriptions ? 1 << 1 : 0; - flags |= this.subscriptionsNextOffset !== undefined ? 1 << 2 : 0; - flags |= this.subscriptionsMissingBalance !== undefined ? 1 << 4 : 0; - flags |= this.history ? 1 << 3 : 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.balance !== undefined) { - b.write(this.balance.write() as unknown as Buffer); - } - if (this.subscriptions) { - b.write(Primitive.Vector.write(this.subscriptions) as unknown as Buffer); - } - if (this.subscriptionsNextOffset !== undefined) { - b.write(Primitive.String.write(this.subscriptionsNextOffset) as unknown as Buffer); - } - if (this.subscriptionsMissingBalance !== undefined) { - b.write(Primitive.Long.write(this.subscriptionsMissingBalance) as unknown as Buffer); - } - if (this.history) { - b.write(Primitive.Vector.write(this.history) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsRevenueStats extends TLObject { - topHoursGraph?: Raw.TypeStatsGraph; - revenueGraph!: Raw.TypeStatsGraph; - status!: Raw.TypeStarsRevenueStatus; - usdRate!: double; - - constructor(params: { - topHoursGraph?: Raw.TypeStatsGraph; - revenueGraph: Raw.TypeStatsGraph; - status: Raw.TypeStarsRevenueStatus; - usdRate: double; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarsRevenueStats'; - this.constructorId = 0x6c207376; - this.subclassOfId = 0xa54755f3; - this._slots = ['topHoursGraph', 'revenueGraph', 'status', 'usdRate']; - this.topHoursGraph = params.topHoursGraph; - this.revenueGraph = params.revenueGraph; - this.status = params.status; - this.usdRate = params.usdRate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let topHoursGraph = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let revenueGraph = await TLObject.read(_data); - let status = await TLObject.read(_data); - let usdRate = await Primitive.Double.read(_data); - return new Raw.payments.StarsRevenueStats({ - topHoursGraph: topHoursGraph, - revenueGraph: revenueGraph, - status: status, - usdRate: usdRate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.topHoursGraph !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.topHoursGraph !== undefined) { - b.write(this.topHoursGraph.write() as unknown as Buffer); - } - if (this.revenueGraph !== undefined) { - b.write(this.revenueGraph.write() as unknown as Buffer); - } - if (this.status !== undefined) { - b.write(this.status.write() as unknown as Buffer); - } - if (this.usdRate !== undefined) { - b.write(Primitive.Double.write(this.usdRate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsRevenueWithdrawalUrl extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarsRevenueWithdrawalUrl'; - this.constructorId = 0x1dab80b7; - this.subclassOfId = 0x8466a0ee; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.payments.StarsRevenueWithdrawalUrl({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarsRevenueAdsAccountUrl extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarsRevenueAdsAccountUrl'; - this.constructorId = 0x394e7f21; - this.subclassOfId = 0x4a228b15; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.payments.StarsRevenueAdsAccountUrl({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftsNotModified extends TLObject { - constructor() { - super(); - this.classType = 'types'; - this.className = 'payments.StarGiftsNotModified'; - this.constructorId = 0xa388a368; - this.subclassOfId = 0x6178d9a4; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.payments.StarGiftsNotModified(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGifts extends TLObject { - hash!: int; - gifts!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - hash: int; - gifts: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarGifts'; - this.constructorId = 0x2ed82995; - this.subclassOfId = 0x6178d9a4; - this._slots = ['hash', 'gifts', 'chats', 'users']; - this.hash = params.hash; - this.gifts = params.gifts; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - let gifts = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.StarGifts({ hash: hash, gifts: gifts, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - if (this.gifts) { - b.write(Primitive.Vector.write(this.gifts) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConnectedStarRefBots extends TLObject { - count!: int; - connectedBots!: Vector; - users!: Vector; - - constructor(params: { - count: int; - connectedBots: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.ConnectedStarRefBots'; - this.constructorId = 0x98d5ea1d; - this.subclassOfId = 0x235e1a67; - this._slots = ['count', 'connectedBots', 'users']; - this.count = params.count; - this.connectedBots = params.connectedBots; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let connectedBots = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.ConnectedStarRefBots({ - count: count, - connectedBots: connectedBots, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.connectedBots) { - b.write(Primitive.Vector.write(this.connectedBots) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SuggestedStarRefBots extends TLObject { - count!: int; - suggestedBots!: Vector; - users!: Vector; - nextOffset?: string; - - constructor(params: { - count: int; - suggestedBots: Vector; - users: Vector; - nextOffset?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.SuggestedStarRefBots'; - this.constructorId = 0xb4d5d859; - this.subclassOfId = 0x70189243; - this._slots = ['count', 'suggestedBots', 'users', 'nextOffset']; - this.count = params.count; - this.suggestedBots = params.suggestedBots; - this.users = params.users; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let suggestedBots = await TLObject.read(_data); - let users = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.payments.SuggestedStarRefBots({ - count: count, - suggestedBots: suggestedBots, - users: users, - nextOffset: nextOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.suggestedBots) { - b.write(Primitive.Vector.write(this.suggestedBots) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftUpgradePreview extends TLObject { - sampleAttributes!: Vector; - - constructor(params: { sampleAttributes: Vector }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarGiftUpgradePreview'; - this.constructorId = 0x167bd90b; - this.subclassOfId = 0x5e2b68c7; - this._slots = ['sampleAttributes']; - this.sampleAttributes = params.sampleAttributes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sampleAttributes = await TLObject.read(_data); - return new Raw.payments.StarGiftUpgradePreview({ sampleAttributes: sampleAttributes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sampleAttributes) { - b.write(Primitive.Vector.write(this.sampleAttributes) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UniqueStarGift extends TLObject { - gift!: Raw.TypeStarGift; - users!: Vector; - - constructor(params: { gift: Raw.TypeStarGift; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'payments.UniqueStarGift'; - this.constructorId = 0xcaa2f60b; - this.subclassOfId = 0x78b0c5fb; - this._slots = ['gift', 'users']; - this.gift = params.gift; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let gift = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.UniqueStarGift({ gift: gift, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.gift !== undefined) { - b.write(this.gift.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SavedStarGifts extends TLObject { - count!: int; - chatNotificationsEnabled?: Bool; - gifts!: Vector; - nextOffset?: string; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - chatNotificationsEnabled?: Bool; - gifts: Vector; - nextOffset?: string; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.SavedStarGifts'; - this.constructorId = 0x95f389b1; - this.subclassOfId = 0xd5112897; - this._slots = [ - 'count', - 'chatNotificationsEnabled', - 'gifts', - 'nextOffset', - 'chats', - 'users', - ]; - this.count = params.count; - this.chatNotificationsEnabled = params.chatNotificationsEnabled; - this.gifts = params.gifts; - this.nextOffset = params.nextOffset; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let chatNotificationsEnabled = - flags & (1 << 1) ? await Primitive.Bool.read(_data) : undefined; - let gifts = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.payments.SavedStarGifts({ - count: count, - chatNotificationsEnabled: chatNotificationsEnabled, - gifts: gifts, - nextOffset: nextOffset, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.chatNotificationsEnabled !== undefined ? 1 << 1 : 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.chatNotificationsEnabled !== undefined) { - b.write(Primitive.Bool.write(this.chatNotificationsEnabled) as unknown as Buffer); - } - if (this.gifts) { - b.write(Primitive.Vector.write(this.gifts) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StarGiftWithdrawalUrl extends TLObject { - url!: string; - - constructor(params: { url: string }) { - super(); - this.classType = 'types'; - this.className = 'payments.StarGiftWithdrawalUrl'; - this.constructorId = 0x84aa3a9c; - this.subclassOfId = 0xa2822dc5; - this._slots = ['url']; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - return new Raw.payments.StarGiftWithdrawalUrl({ url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResaleStarGifts extends TLObject { - count!: int; - gifts!: Vector; - nextOffset?: string; - attributes?: Vector; - attributesHash?: long; - chats!: Vector; - counters?: Vector; - users!: Vector; - - constructor(params: { - count: int; - gifts: Vector; - nextOffset?: string; - attributes?: Vector; - attributesHash?: long; - chats: Vector; - counters?: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'payments.ResaleStarGifts'; - this.constructorId = 0x947a12df; - this.subclassOfId = 0xb2dbb7e3; - this._slots = [ - 'count', - 'gifts', - 'nextOffset', - 'attributes', - 'attributesHash', - 'chats', - 'counters', - 'users', - ]; - this.count = params.count; - this.gifts = params.gifts; - this.nextOffset = params.nextOffset; - this.attributes = params.attributes; - this.attributesHash = params.attributesHash; - this.chats = params.chats; - this.counters = params.counters; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let gifts = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let attributes = flags & (1 << 1) ? await TLObject.read(_data) : []; - let attributesHash = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - let chats = await TLObject.read(_data); - let counters = flags & (1 << 2) ? await TLObject.read(_data) : []; - let users = await TLObject.read(_data); - return new Raw.payments.ResaleStarGifts({ - count: count, - gifts: gifts, - nextOffset: nextOffset, - attributes: attributes, - attributesHash: attributesHash, - chats: chats, - counters: counters, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - flags |= this.attributes ? 1 << 1 : 0; - flags |= this.attributesHash !== undefined ? 1 << 1 : 0; - flags |= this.counters ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.gifts) { - b.write(Primitive.Vector.write(this.gifts) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - if (this.attributesHash !== undefined) { - b.write(Primitive.Long.write(this.attributesHash) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.counters) { - b.write(Primitive.Vector.write(this.counters) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPaymentForm extends TLObject { - __response__!: Raw.payments.TypePaymentForm; - invoice!: Raw.TypeInputInvoice; - themeParams?: Raw.TypeDataJSON; - - constructor(params: { invoice: Raw.TypeInputInvoice; themeParams?: Raw.TypeDataJSON }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetPaymentForm'; - this.constructorId = 0x37148dbb; - this.subclassOfId = 0xa0483f19; - this._slots = ['invoice', 'themeParams']; - this.invoice = params.invoice; - this.themeParams = params.themeParams; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let invoice = await TLObject.read(_data); - let themeParams = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.payments.GetPaymentForm({ invoice: invoice, themeParams: themeParams }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.themeParams !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.themeParams !== undefined) { - b.write(this.themeParams.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPaymentReceipt extends TLObject { - __response__!: Raw.payments.TypePaymentReceipt; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetPaymentReceipt'; - this.constructorId = 0x2478d1cc; - this.subclassOfId = 0x590093c9; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.payments.GetPaymentReceipt({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ValidateRequestedInfo extends TLObject { - __response__!: Raw.payments.TypeValidatedRequestedInfo; - save?: boolean; - invoice!: Raw.TypeInputInvoice; - info!: Raw.TypePaymentRequestedInfo; - - constructor(params: { - save?: boolean; - invoice: Raw.TypeInputInvoice; - info: Raw.TypePaymentRequestedInfo; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ValidateRequestedInfo'; - this.constructorId = 0xb6c8f12b; - this.subclassOfId = 0x8f8044b7; - this._slots = ['save', 'invoice', 'info']; - this.save = params.save; - this.invoice = params.invoice; - this.info = params.info; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let save = flags & (1 << 0) ? true : false; - let invoice = await TLObject.read(_data); - let info = await TLObject.read(_data); - return new Raw.payments.ValidateRequestedInfo({ save: save, invoice: invoice, info: info }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.save ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.info !== undefined) { - b.write(this.info.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendPaymentForm extends TLObject { - __response__!: Raw.payments.TypePaymentResult; - formId!: long; - invoice!: Raw.TypeInputInvoice; - requestedInfoId?: string; - shippingOptionId?: string; - credentials!: Raw.TypeInputPaymentCredentials; - tipAmount?: long; - - constructor(params: { - formId: long; - invoice: Raw.TypeInputInvoice; - requestedInfoId?: string; - shippingOptionId?: string; - credentials: Raw.TypeInputPaymentCredentials; - tipAmount?: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.SendPaymentForm'; - this.constructorId = 0x2d03522f; - this.subclassOfId = 0x8ae16a9d; - this._slots = [ - 'formId', - 'invoice', - 'requestedInfoId', - 'shippingOptionId', - 'credentials', - 'tipAmount', - ]; - this.formId = params.formId; - this.invoice = params.invoice; - this.requestedInfoId = params.requestedInfoId; - this.shippingOptionId = params.shippingOptionId; - this.credentials = params.credentials; - this.tipAmount = params.tipAmount; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let formId = await Primitive.Long.read(_data); - let invoice = await TLObject.read(_data); - let requestedInfoId = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let shippingOptionId = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let credentials = await TLObject.read(_data); - let tipAmount = flags & (1 << 2) ? await Primitive.Long.read(_data) : undefined; - return new Raw.payments.SendPaymentForm({ - formId: formId, - invoice: invoice, - requestedInfoId: requestedInfoId, - shippingOptionId: shippingOptionId, - credentials: credentials, - tipAmount: tipAmount, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.requestedInfoId !== undefined ? 1 << 0 : 0; - flags |= this.shippingOptionId !== undefined ? 1 << 1 : 0; - flags |= this.tipAmount !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.formId !== undefined) { - b.write(Primitive.Long.write(this.formId) as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - if (this.requestedInfoId !== undefined) { - b.write(Primitive.String.write(this.requestedInfoId) as unknown as Buffer); - } - if (this.shippingOptionId !== undefined) { - b.write(Primitive.String.write(this.shippingOptionId) as unknown as Buffer); - } - if (this.credentials !== undefined) { - b.write(this.credentials.write() as unknown as Buffer); - } - if (this.tipAmount !== undefined) { - b.write(Primitive.Long.write(this.tipAmount) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedInfo extends TLObject { - __response__!: Raw.payments.TypeSavedInfo; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'payments.GetSavedInfo'; - this.constructorId = 0x227d824b; - this.subclassOfId = 0xad3cf146; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.payments.GetSavedInfo(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ClearSavedInfo extends TLObject { - __response__!: Bool; - credentials?: boolean; - info?: boolean; - - constructor(params: { credentials?: boolean; info?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ClearSavedInfo'; - this.constructorId = 0xd83d70c1; - this.subclassOfId = 0xf5b399ac; - this._slots = ['credentials', 'info']; - this.credentials = params.credentials; - this.info = params.info; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let credentials = flags & (1 << 0) ? true : false; - let info = flags & (1 << 1) ? true : false; - return new Raw.payments.ClearSavedInfo({ credentials: credentials, info: info }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.credentials ? 1 << 0 : 0; - flags |= this.info ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBankCardData extends TLObject { - __response__!: Raw.payments.TypeBankCardData; - number!: string; - - constructor(params: { number: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetBankCardData'; - this.constructorId = 0x2e79d779; - this.subclassOfId = 0x8c6dd68b; - this._slots = ['number']; - this.number = params.number; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let number = await Primitive.String.read(_data); - return new Raw.payments.GetBankCardData({ number: number }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.number !== undefined) { - b.write(Primitive.String.write(this.number) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportInvoice extends TLObject { - __response__!: Raw.payments.TypeExportedInvoice; - invoiceMedia!: Raw.TypeInputMedia; - - constructor(params: { invoiceMedia: Raw.TypeInputMedia }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ExportInvoice'; - this.constructorId = 0xf91b065; - this.subclassOfId = 0x36105432; - this._slots = ['invoiceMedia']; - this.invoiceMedia = params.invoiceMedia; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invoiceMedia = await TLObject.read(_data); - return new Raw.payments.ExportInvoice({ invoiceMedia: invoiceMedia }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invoiceMedia !== undefined) { - b.write(this.invoiceMedia.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AssignAppStoreTransaction extends TLObject { - __response__!: Raw.TypeUpdates; - receipt!: bytes; - purpose!: Raw.TypeInputStorePaymentPurpose; - - constructor(params: { receipt: bytes; purpose: Raw.TypeInputStorePaymentPurpose }) { - super(); - this.classType = 'functions'; - this.className = 'payments.AssignAppStoreTransaction'; - this.constructorId = 0x80ed747d; - this.subclassOfId = 0x8af52aac; - this._slots = ['receipt', 'purpose']; - this.receipt = params.receipt; - this.purpose = params.purpose; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let receipt = await Primitive.Bytes.read(_data); - let purpose = await TLObject.read(_data); - return new Raw.payments.AssignAppStoreTransaction({ receipt: receipt, purpose: purpose }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.receipt !== undefined) { - b.write(Primitive.Bytes.write(this.receipt) as unknown as Buffer); - } - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AssignPlayMarketTransaction extends TLObject { - __response__!: Raw.TypeUpdates; - receipt!: Raw.TypeDataJSON; - purpose!: Raw.TypeInputStorePaymentPurpose; - - constructor(params: { - receipt: Raw.TypeDataJSON; - purpose: Raw.TypeInputStorePaymentPurpose; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.AssignPlayMarketTransaction'; - this.constructorId = 0xdffd50d3; - this.subclassOfId = 0x8af52aac; - this._slots = ['receipt', 'purpose']; - this.receipt = params.receipt; - this.purpose = params.purpose; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let receipt = await TLObject.read(_data); - let purpose = await TLObject.read(_data); - return new Raw.payments.AssignPlayMarketTransaction({ receipt: receipt, purpose: purpose }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.receipt !== undefined) { - b.write(this.receipt.write() as unknown as Buffer); - } - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPremiumGiftCodeOptions extends TLObject { - __response__!: Vector; - boostPeer?: Raw.TypeInputPeer; - - constructor(params: { boostPeer?: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetPremiumGiftCodeOptions'; - this.constructorId = 0x2757ba54; - this.subclassOfId = 0xaa92583; - this._slots = ['boostPeer']; - this.boostPeer = params.boostPeer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let boostPeer = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.payments.GetPremiumGiftCodeOptions({ boostPeer: boostPeer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.boostPeer !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.boostPeer !== undefined) { - b.write(this.boostPeer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckGiftCode extends TLObject { - __response__!: Raw.payments.TypeCheckedGiftCode; - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.CheckGiftCode'; - this.constructorId = 0x8e51b4c1; - this.subclassOfId = 0x5b2997e8; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.payments.CheckGiftCode({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ApplyGiftCode extends TLObject { - __response__!: Raw.TypeUpdates; - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ApplyGiftCode'; - this.constructorId = 0xf6e26854; - this.subclassOfId = 0x8af52aac; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.payments.ApplyGiftCode({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGiveawayInfo extends TLObject { - __response__!: Raw.payments.TypeGiveawayInfo; - peer!: Raw.TypeInputPeer; - msgId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetGiveawayInfo'; - this.constructorId = 0xf4239425; - this.subclassOfId = 0x96a377bd; - this._slots = ['peer', 'msgId']; - this.peer = params.peer; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.payments.GetGiveawayInfo({ peer: peer, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LaunchPrepaidGiveaway extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - giveawayId!: long; - purpose!: Raw.TypeInputStorePaymentPurpose; - - constructor(params: { - peer: Raw.TypeInputPeer; - giveawayId: long; - purpose: Raw.TypeInputStorePaymentPurpose; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.LaunchPrepaidGiveaway'; - this.constructorId = 0x5ff58f20; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'giveawayId', 'purpose']; - this.peer = params.peer; - this.giveawayId = params.giveawayId; - this.purpose = params.purpose; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let giveawayId = await Primitive.Long.read(_data); - let purpose = await TLObject.read(_data); - return new Raw.payments.LaunchPrepaidGiveaway({ - peer: peer, - giveawayId: giveawayId, - purpose: purpose, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.giveawayId !== undefined) { - b.write(Primitive.Long.write(this.giveawayId) as unknown as Buffer); - } - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsTopupOptions extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsTopupOptions'; - this.constructorId = 0xc00ec7d3; - this.subclassOfId = 0xd4fe8a99; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.payments.GetStarsTopupOptions(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsStatus extends TLObject { - __response__!: Raw.payments.TypeStarsStatus; - ton?: boolean; - peer!: Raw.TypeInputPeer; - - constructor(params: { ton?: boolean; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsStatus'; - this.constructorId = 0x4ea9b3bf; - this.subclassOfId = 0x6e9c1d6f; - this._slots = ['ton', 'peer']; - this.ton = params.ton; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let ton = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.payments.GetStarsStatus({ ton: ton, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ton ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsTransactions extends TLObject { - __response__!: Raw.payments.TypeStarsStatus; - inbound?: boolean; - outbound?: boolean; - ascending?: boolean; - ton?: boolean; - subscriptionId?: string; - peer!: Raw.TypeInputPeer; - offset!: string; - limit!: int; - - constructor(params: { - inbound?: boolean; - outbound?: boolean; - ascending?: boolean; - ton?: boolean; - subscriptionId?: string; - peer: Raw.TypeInputPeer; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsTransactions'; - this.constructorId = 0x69da4557; - this.subclassOfId = 0x6e9c1d6f; - this._slots = [ - 'inbound', - 'outbound', - 'ascending', - 'ton', - 'subscriptionId', - 'peer', - 'offset', - 'limit', - ]; - this.inbound = params.inbound; - this.outbound = params.outbound; - this.ascending = params.ascending; - this.ton = params.ton; - this.subscriptionId = params.subscriptionId; - this.peer = params.peer; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let inbound = flags & (1 << 0) ? true : false; - let outbound = flags & (1 << 1) ? true : false; - let ascending = flags & (1 << 2) ? true : false; - let ton = flags & (1 << 4) ? true : false; - let subscriptionId = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let peer = await TLObject.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.payments.GetStarsTransactions({ - inbound: inbound, - outbound: outbound, - ascending: ascending, - ton: ton, - subscriptionId: subscriptionId, - peer: peer, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.inbound ? 1 << 0 : 0; - flags |= this.outbound ? 1 << 1 : 0; - flags |= this.ascending ? 1 << 2 : 0; - flags |= this.ton ? 1 << 4 : 0; - flags |= this.subscriptionId !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.subscriptionId !== undefined) { - b.write(Primitive.String.write(this.subscriptionId) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendStarsForm extends TLObject { - __response__!: Raw.payments.TypePaymentResult; - formId!: long; - invoice!: Raw.TypeInputInvoice; - - constructor(params: { formId: long; invoice: Raw.TypeInputInvoice }) { - super(); - this.classType = 'functions'; - this.className = 'payments.SendStarsForm'; - this.constructorId = 0x7998c914; - this.subclassOfId = 0x8ae16a9d; - this._slots = ['formId', 'invoice']; - this.formId = params.formId; - this.invoice = params.invoice; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let formId = await Primitive.Long.read(_data); - let invoice = await TLObject.read(_data); - return new Raw.payments.SendStarsForm({ formId: formId, invoice: invoice }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.formId !== undefined) { - b.write(Primitive.Long.write(this.formId) as unknown as Buffer); - } - if (this.invoice !== undefined) { - b.write(this.invoice.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RefundStarsCharge extends TLObject { - __response__!: Raw.TypeUpdates; - userId!: Raw.TypeInputUser; - chargeId!: string; - - constructor(params: { userId: Raw.TypeInputUser; chargeId: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.RefundStarsCharge'; - this.constructorId = 0x25ae8f4a; - this.subclassOfId = 0x8af52aac; - this._slots = ['userId', 'chargeId']; - this.userId = params.userId; - this.chargeId = params.chargeId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let chargeId = await Primitive.String.read(_data); - return new Raw.payments.RefundStarsCharge({ userId: userId, chargeId: chargeId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.chargeId !== undefined) { - b.write(Primitive.String.write(this.chargeId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsRevenueStats extends TLObject { - __response__!: Raw.payments.TypeStarsRevenueStats; - dark?: boolean; - ton?: boolean; - peer!: Raw.TypeInputPeer; - - constructor(params: { dark?: boolean; ton?: boolean; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsRevenueStats'; - this.constructorId = 0xd91ffad6; - this.subclassOfId = 0xa54755f3; - this._slots = ['dark', 'ton', 'peer']; - this.dark = params.dark; - this.ton = params.ton; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let ton = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.payments.GetStarsRevenueStats({ dark: dark, ton: ton, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - flags |= this.ton ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsRevenueWithdrawalUrl extends TLObject { - __response__!: Raw.payments.TypeStarsRevenueWithdrawalUrl; - ton?: boolean; - peer!: Raw.TypeInputPeer; - amount?: long; - password!: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { - ton?: boolean; - peer: Raw.TypeInputPeer; - amount?: long; - password: Raw.TypeInputCheckPasswordSRP; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsRevenueWithdrawalUrl'; - this.constructorId = 0x2433dc92; - this.subclassOfId = 0x8466a0ee; - this._slots = ['ton', 'peer', 'amount', 'password']; - this.ton = params.ton; - this.peer = params.peer; - this.amount = params.amount; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let ton = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let amount = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - let password = await TLObject.read(_data); - return new Raw.payments.GetStarsRevenueWithdrawalUrl({ - ton: ton, - peer: peer, - amount: amount, - password: password, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ton ? 1 << 0 : 0; - flags |= this.amount !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsRevenueAdsAccountUrl extends TLObject { - __response__!: Raw.payments.TypeStarsRevenueAdsAccountUrl; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsRevenueAdsAccountUrl'; - this.constructorId = 0xd1d7efc5; - this.subclassOfId = 0x4a228b15; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.payments.GetStarsRevenueAdsAccountUrl({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsTransactionsByID extends TLObject { - __response__!: Raw.payments.TypeStarsStatus; - ton?: boolean; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { - ton?: boolean; - peer: Raw.TypeInputPeer; - id: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsTransactionsByID'; - this.constructorId = 0x2dca16b8; - this.subclassOfId = 0x6e9c1d6f; - this._slots = ['ton', 'peer', 'id']; - this.ton = params.ton; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let ton = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data); - return new Raw.payments.GetStarsTransactionsByID({ ton: ton, peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.ton ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsGiftOptions extends TLObject { - __response__!: Vector; - userId?: Raw.TypeInputUser; - - constructor(params: { userId?: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsGiftOptions'; - this.constructorId = 0xd3c96bc8; - this.subclassOfId = 0xe9a3b7d5; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userId = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - return new Raw.payments.GetStarsGiftOptions({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.userId !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsSubscriptions extends TLObject { - __response__!: Raw.payments.TypeStarsStatus; - missingBalance?: boolean; - peer!: Raw.TypeInputPeer; - offset!: string; - - constructor(params: { missingBalance?: boolean; peer: Raw.TypeInputPeer; offset: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsSubscriptions'; - this.constructorId = 0x32512c5; - this.subclassOfId = 0x6e9c1d6f; - this._slots = ['missingBalance', 'peer', 'offset']; - this.missingBalance = params.missingBalance; - this.peer = params.peer; - this.offset = params.offset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let missingBalance = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let offset = await Primitive.String.read(_data); - return new Raw.payments.GetStarsSubscriptions({ - missingBalance: missingBalance, - peer: peer, - offset: offset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.missingBalance ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChangeStarsSubscription extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - subscriptionId!: string; - canceled?: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; subscriptionId: string; canceled?: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ChangeStarsSubscription'; - this.constructorId = 0xc7770878; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'subscriptionId', 'canceled']; - this.peer = params.peer; - this.subscriptionId = params.subscriptionId; - this.canceled = params.canceled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let subscriptionId = await Primitive.String.read(_data); - let canceled = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.payments.ChangeStarsSubscription({ - peer: peer, - subscriptionId: subscriptionId, - canceled: canceled, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canceled !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.subscriptionId !== undefined) { - b.write(Primitive.String.write(this.subscriptionId) as unknown as Buffer); - } - if (this.canceled !== undefined) { - b.write(Primitive.Bool.write(this.canceled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FulfillStarsSubscription extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - subscriptionId!: string; - - constructor(params: { peer: Raw.TypeInputPeer; subscriptionId: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.FulfillStarsSubscription'; - this.constructorId = 0xcc5bebb3; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'subscriptionId']; - this.peer = params.peer; - this.subscriptionId = params.subscriptionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let subscriptionId = await Primitive.String.read(_data); - return new Raw.payments.FulfillStarsSubscription({ - peer: peer, - subscriptionId: subscriptionId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.subscriptionId !== undefined) { - b.write(Primitive.String.write(this.subscriptionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarsGiveawayOptions extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarsGiveawayOptions'; - this.constructorId = 0xbd1efd3e; - this.subclassOfId = 0xf8db30a9; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.payments.GetStarsGiveawayOptions(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarGifts extends TLObject { - __response__!: Raw.payments.TypeStarGifts; - hash!: int; - - constructor(params: { hash: int }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarGifts'; - this.constructorId = 0xc4563590; - this.subclassOfId = 0x6178d9a4; - this._slots = ['hash']; - this.hash = params.hash; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hash = await Primitive.Int.read(_data); - return new Raw.payments.GetStarGifts({ hash: hash }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hash !== undefined) { - b.write(Primitive.Int.write(this.hash) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveStarGift extends TLObject { - __response__!: Bool; - unsave?: boolean; - stargift!: Raw.TypeInputSavedStarGift; - - constructor(params: { unsave?: boolean; stargift: Raw.TypeInputSavedStarGift }) { - super(); - this.classType = 'functions'; - this.className = 'payments.SaveStarGift'; - this.constructorId = 0x2a2a697c; - this.subclassOfId = 0xf5b399ac; - this._slots = ['unsave', 'stargift']; - this.unsave = params.unsave; - this.stargift = params.stargift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let unsave = flags & (1 << 0) ? true : false; - let stargift = await TLObject.read(_data); - return new Raw.payments.SaveStarGift({ unsave: unsave, stargift: stargift }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.unsave ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConvertStarGift extends TLObject { - __response__!: Bool; - stargift!: Raw.TypeInputSavedStarGift; - - constructor(params: { stargift: Raw.TypeInputSavedStarGift }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ConvertStarGift'; - this.constructorId = 0x74bf076b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['stargift']; - this.stargift = params.stargift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stargift = await TLObject.read(_data); - return new Raw.payments.ConvertStarGift({ stargift: stargift }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BotCancelStarsSubscription extends TLObject { - __response__!: Bool; - restore?: boolean; - userId!: Raw.TypeInputUser; - chargeId!: string; - - constructor(params: { restore?: boolean; userId: Raw.TypeInputUser; chargeId: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.BotCancelStarsSubscription'; - this.constructorId = 0x6dfa0622; - this.subclassOfId = 0xf5b399ac; - this._slots = ['restore', 'userId', 'chargeId']; - this.restore = params.restore; - this.userId = params.userId; - this.chargeId = params.chargeId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let restore = flags & (1 << 0) ? true : false; - let userId = await TLObject.read(_data); - let chargeId = await Primitive.String.read(_data); - return new Raw.payments.BotCancelStarsSubscription({ - restore: restore, - userId: userId, - chargeId: chargeId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.restore ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.chargeId !== undefined) { - b.write(Primitive.String.write(this.chargeId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetConnectedStarRefBots extends TLObject { - __response__!: Raw.payments.TypeConnectedStarRefBots; - peer!: Raw.TypeInputPeer; - offsetDate?: int; - offsetLink?: string; - limit!: int; - - constructor(params: { - peer: Raw.TypeInputPeer; - offsetDate?: int; - offsetLink?: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetConnectedStarRefBots'; - this.constructorId = 0x5869a553; - this.subclassOfId = 0x235e1a67; - this._slots = ['peer', 'offsetDate', 'offsetLink', 'limit']; - this.peer = params.peer; - this.offsetDate = params.offsetDate; - this.offsetLink = params.offsetLink; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let offsetDate = flags & (1 << 2) ? await Primitive.Int.read(_data) : undefined; - let offsetLink = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - let limit = await Primitive.Int.read(_data); - return new Raw.payments.GetConnectedStarRefBots({ - peer: peer, - offsetDate: offsetDate, - offsetLink: offsetLink, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.offsetDate !== undefined ? 1 << 2 : 0; - flags |= this.offsetLink !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offsetDate !== undefined) { - b.write(Primitive.Int.write(this.offsetDate) as unknown as Buffer); - } - if (this.offsetLink !== undefined) { - b.write(Primitive.String.write(this.offsetLink) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetConnectedStarRefBot extends TLObject { - __response__!: Raw.payments.TypeConnectedStarRefBots; - peer!: Raw.TypeInputPeer; - bot!: Raw.TypeInputUser; - - constructor(params: { peer: Raw.TypeInputPeer; bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetConnectedStarRefBot'; - this.constructorId = 0xb7d998f0; - this.subclassOfId = 0x235e1a67; - this._slots = ['peer', 'bot']; - this.peer = params.peer; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let bot = await TLObject.read(_data); - return new Raw.payments.GetConnectedStarRefBot({ peer: peer, bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSuggestedStarRefBots extends TLObject { - __response__!: Raw.payments.TypeSuggestedStarRefBots; - orderByRevenue?: boolean; - orderByDate?: boolean; - peer!: Raw.TypeInputPeer; - offset!: string; - limit!: int; - - constructor(params: { - orderByRevenue?: boolean; - orderByDate?: boolean; - peer: Raw.TypeInputPeer; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetSuggestedStarRefBots'; - this.constructorId = 0xd6b48f7; - this.subclassOfId = 0x70189243; - this._slots = ['orderByRevenue', 'orderByDate', 'peer', 'offset', 'limit']; - this.orderByRevenue = params.orderByRevenue; - this.orderByDate = params.orderByDate; - this.peer = params.peer; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let orderByRevenue = flags & (1 << 0) ? true : false; - let orderByDate = flags & (1 << 1) ? true : false; - let peer = await TLObject.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.payments.GetSuggestedStarRefBots({ - orderByRevenue: orderByRevenue, - orderByDate: orderByDate, - peer: peer, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.orderByRevenue ? 1 << 0 : 0; - flags |= this.orderByDate ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConnectStarRefBot extends TLObject { - __response__!: Raw.payments.TypeConnectedStarRefBots; - peer!: Raw.TypeInputPeer; - bot!: Raw.TypeInputUser; - - constructor(params: { peer: Raw.TypeInputPeer; bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ConnectStarRefBot'; - this.constructorId = 0x7ed5348a; - this.subclassOfId = 0x235e1a67; - this._slots = ['peer', 'bot']; - this.peer = params.peer; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let bot = await TLObject.read(_data); - return new Raw.payments.ConnectStarRefBot({ peer: peer, bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditConnectedStarRefBot extends TLObject { - __response__!: Raw.payments.TypeConnectedStarRefBots; - revoked?: boolean; - peer!: Raw.TypeInputPeer; - link!: string; - - constructor(params: { revoked?: boolean; peer: Raw.TypeInputPeer; link: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.EditConnectedStarRefBot'; - this.constructorId = 0xe4fca4a3; - this.subclassOfId = 0x235e1a67; - this._slots = ['revoked', 'peer', 'link']; - this.revoked = params.revoked; - this.peer = params.peer; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let revoked = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let link = await Primitive.String.read(_data); - return new Raw.payments.EditConnectedStarRefBot({ - revoked: revoked, - peer: peer, - link: link, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.revoked ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarGiftUpgradePreview extends TLObject { - __response__!: Raw.payments.TypeStarGiftUpgradePreview; - giftId!: long; - - constructor(params: { giftId: long }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarGiftUpgradePreview'; - this.constructorId = 0x9c9abcb1; - this.subclassOfId = 0x5e2b68c7; - this._slots = ['giftId']; - this.giftId = params.giftId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let giftId = await Primitive.Long.read(_data); - return new Raw.payments.GetStarGiftUpgradePreview({ giftId: giftId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.giftId !== undefined) { - b.write(Primitive.Long.write(this.giftId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpgradeStarGift extends TLObject { - __response__!: Raw.TypeUpdates; - keepOriginalDetails?: boolean; - stargift!: Raw.TypeInputSavedStarGift; - - constructor(params: { keepOriginalDetails?: boolean; stargift: Raw.TypeInputSavedStarGift }) { - super(); - this.classType = 'functions'; - this.className = 'payments.UpgradeStarGift'; - this.constructorId = 0xaed6e4f5; - this.subclassOfId = 0x8af52aac; - this._slots = ['keepOriginalDetails', 'stargift']; - this.keepOriginalDetails = params.keepOriginalDetails; - this.stargift = params.stargift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let keepOriginalDetails = flags & (1 << 0) ? true : false; - let stargift = await TLObject.read(_data); - return new Raw.payments.UpgradeStarGift({ - keepOriginalDetails: keepOriginalDetails, - stargift: stargift, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.keepOriginalDetails ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TransferStarGift extends TLObject { - __response__!: Raw.TypeUpdates; - stargift!: Raw.TypeInputSavedStarGift; - toId!: Raw.TypeInputPeer; - - constructor(params: { stargift: Raw.TypeInputSavedStarGift; toId: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'payments.TransferStarGift'; - this.constructorId = 0x7f18176a; - this.subclassOfId = 0x8af52aac; - this._slots = ['stargift', 'toId']; - this.stargift = params.stargift; - this.toId = params.toId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stargift = await TLObject.read(_data); - let toId = await TLObject.read(_data); - return new Raw.payments.TransferStarGift({ stargift: stargift, toId: toId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - if (this.toId !== undefined) { - b.write(this.toId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUniqueStarGift extends TLObject { - __response__!: Raw.payments.TypeUniqueStarGift; - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetUniqueStarGift'; - this.constructorId = 0xa1974d72; - this.subclassOfId = 0x78b0c5fb; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.payments.GetUniqueStarGift({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedStarGifts extends TLObject { - __response__!: Raw.payments.TypeSavedStarGifts; - excludeUnsaved?: boolean; - excludeSaved?: boolean; - excludeUnlimited?: boolean; - excludeLimited?: boolean; - excludeUnique?: boolean; - sortByValue?: boolean; - peer!: Raw.TypeInputPeer; - offset!: string; - limit!: int; - - constructor(params: { - excludeUnsaved?: boolean; - excludeSaved?: boolean; - excludeUnlimited?: boolean; - excludeLimited?: boolean; - excludeUnique?: boolean; - sortByValue?: boolean; - peer: Raw.TypeInputPeer; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetSavedStarGifts'; - this.constructorId = 0x23830de9; - this.subclassOfId = 0xd5112897; - this._slots = [ - 'excludeUnsaved', - 'excludeSaved', - 'excludeUnlimited', - 'excludeLimited', - 'excludeUnique', - 'sortByValue', - 'peer', - 'offset', - 'limit', - ]; - this.excludeUnsaved = params.excludeUnsaved; - this.excludeSaved = params.excludeSaved; - this.excludeUnlimited = params.excludeUnlimited; - this.excludeLimited = params.excludeLimited; - this.excludeUnique = params.excludeUnique; - this.sortByValue = params.sortByValue; - this.peer = params.peer; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let excludeUnsaved = flags & (1 << 0) ? true : false; - let excludeSaved = flags & (1 << 1) ? true : false; - let excludeUnlimited = flags & (1 << 2) ? true : false; - let excludeLimited = flags & (1 << 3) ? true : false; - let excludeUnique = flags & (1 << 4) ? true : false; - let sortByValue = flags & (1 << 5) ? true : false; - let peer = await TLObject.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.payments.GetSavedStarGifts({ - excludeUnsaved: excludeUnsaved, - excludeSaved: excludeSaved, - excludeUnlimited: excludeUnlimited, - excludeLimited: excludeLimited, - excludeUnique: excludeUnique, - sortByValue: sortByValue, - peer: peer, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.excludeUnsaved ? 1 << 0 : 0; - flags |= this.excludeSaved ? 1 << 1 : 0; - flags |= this.excludeUnlimited ? 1 << 2 : 0; - flags |= this.excludeLimited ? 1 << 3 : 0; - flags |= this.excludeUnique ? 1 << 4 : 0; - flags |= this.sortByValue ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSavedStarGift extends TLObject { - __response__!: Raw.payments.TypeSavedStarGifts; - stargift!: Vector; - - constructor(params: { stargift: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetSavedStarGift'; - this.constructorId = 0xb455a106; - this.subclassOfId = 0xd5112897; - this._slots = ['stargift']; - this.stargift = params.stargift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stargift = await TLObject.read(_data); - return new Raw.payments.GetSavedStarGift({ stargift: stargift }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stargift) { - b.write(Primitive.Vector.write(this.stargift) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStarGiftWithdrawalUrl extends TLObject { - __response__!: Raw.payments.TypeStarGiftWithdrawalUrl; - stargift!: Raw.TypeInputSavedStarGift; - password!: Raw.TypeInputCheckPasswordSRP; - - constructor(params: { - stargift: Raw.TypeInputSavedStarGift; - password: Raw.TypeInputCheckPasswordSRP; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetStarGiftWithdrawalUrl'; - this.constructorId = 0xd06e93a8; - this.subclassOfId = 0xa2822dc5; - this._slots = ['stargift', 'password']; - this.stargift = params.stargift; - this.password = params.password; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stargift = await TLObject.read(_data); - let password = await TLObject.read(_data); - return new Raw.payments.GetStarGiftWithdrawalUrl({ - stargift: stargift, - password: password, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - if (this.password !== undefined) { - b.write(this.password.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleChatStarGiftNotifications extends TLObject { - __response__!: Bool; - enabled?: boolean; - peer!: Raw.TypeInputPeer; - - constructor(params: { enabled?: boolean; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ToggleChatStarGiftNotifications'; - this.constructorId = 0x60eaefa1; - this.subclassOfId = 0xf5b399ac; - this._slots = ['enabled', 'peer']; - this.enabled = params.enabled; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let enabled = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - return new Raw.payments.ToggleChatStarGiftNotifications({ enabled: enabled, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.enabled ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleStarGiftsPinnedToTop extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - stargift!: Vector; - - constructor(params: { - peer: Raw.TypeInputPeer; - stargift: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.ToggleStarGiftsPinnedToTop'; - this.constructorId = 0x1513e7b0; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'stargift']; - this.peer = params.peer; - this.stargift = params.stargift; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let stargift = await TLObject.read(_data); - return new Raw.payments.ToggleStarGiftsPinnedToTop({ peer: peer, stargift: stargift }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.stargift) { - b.write(Primitive.Vector.write(this.stargift) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CanPurchaseStore extends TLObject { - __response__!: Bool; - purpose!: Raw.TypeInputStorePaymentPurpose; - - constructor(params: { purpose: Raw.TypeInputStorePaymentPurpose }) { - super(); - this.classType = 'functions'; - this.className = 'payments.CanPurchaseStore'; - this.constructorId = 0x4fdc5ea7; - this.subclassOfId = 0xf5b399ac; - this._slots = ['purpose']; - this.purpose = params.purpose; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let purpose = await TLObject.read(_data); - return new Raw.payments.CanPurchaseStore({ purpose: purpose }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.purpose !== undefined) { - b.write(this.purpose.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetResaleStarGifts extends TLObject { - __response__!: Raw.payments.TypeResaleStarGifts; - sortByPrice?: boolean; - sortByNum?: boolean; - attributesHash?: long; - giftId!: long; - attributes?: Vector; - offset!: string; - limit!: int; - - constructor(params: { - sortByPrice?: boolean; - sortByNum?: boolean; - attributesHash?: long; - giftId: long; - attributes?: Vector; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'payments.GetResaleStarGifts'; - this.constructorId = 0x7a5fa236; - this.subclassOfId = 0xb2dbb7e3; - this._slots = [ - 'sortByPrice', - 'sortByNum', - 'attributesHash', - 'giftId', - 'attributes', - 'offset', - 'limit', - ]; - this.sortByPrice = params.sortByPrice; - this.sortByNum = params.sortByNum; - this.attributesHash = params.attributesHash; - this.giftId = params.giftId; - this.attributes = params.attributes; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let sortByPrice = flags & (1 << 1) ? true : false; - let sortByNum = flags & (1 << 2) ? true : false; - let attributesHash = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - let giftId = await Primitive.Long.read(_data); - let attributes = flags & (1 << 3) ? await TLObject.read(_data) : []; - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.payments.GetResaleStarGifts({ - sortByPrice: sortByPrice, - sortByNum: sortByNum, - attributesHash: attributesHash, - giftId: giftId, - attributes: attributes, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.sortByPrice ? 1 << 1 : 0; - flags |= this.sortByNum ? 1 << 2 : 0; - flags |= this.attributesHash !== undefined ? 1 << 0 : 0; - flags |= this.attributes ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.attributesHash !== undefined) { - b.write(Primitive.Long.write(this.attributesHash) as unknown as Buffer); - } - if (this.giftId !== undefined) { - b.write(Primitive.Long.write(this.giftId) as unknown as Buffer); - } - if (this.attributes) { - b.write(Primitive.Vector.write(this.attributes) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStarGiftPrice extends TLObject { - __response__!: Raw.TypeUpdates; - stargift!: Raw.TypeInputSavedStarGift; - resellStars!: long; - - constructor(params: { stargift: Raw.TypeInputSavedStarGift; resellStars: long }) { - super(); - this.classType = 'functions'; - this.className = 'payments.UpdateStarGiftPrice'; - this.constructorId = 0x3baea4e1; - this.subclassOfId = 0x8af52aac; - this._slots = ['stargift', 'resellStars']; - this.stargift = params.stargift; - this.resellStars = params.resellStars; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stargift = await TLObject.read(_data); - let resellStars = await Primitive.Long.read(_data); - return new Raw.payments.UpdateStarGiftPrice({ - stargift: stargift, - resellStars: resellStars, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stargift !== undefined) { - b.write(this.stargift.write() as unknown as Buffer); - } - if (this.resellStars !== undefined) { - b.write(Primitive.Long.write(this.resellStars) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace phone { - export type TypeGroupCallStreamRtmpUrl = Raw.phone.GroupCallStreamRtmpUrl; - export type TypeGroupCallStreamChannels = Raw.phone.GroupCallStreamChannels; - export type TypeExportedGroupCallInvite = Raw.phone.ExportedGroupCallInvite; - export type TypeJoinAsPeers = Raw.phone.JoinAsPeers; - export type TypeGroupParticipants = Raw.phone.GroupParticipants; - export type TypeGroupCall = Raw.phone.GroupCall; - export type TypePhoneCall = Raw.phone.PhoneCall; - export class PhoneCall extends TLObject { - phoneCall!: Raw.TypePhoneCall; - users!: Vector; - - constructor(params: { phoneCall: Raw.TypePhoneCall; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'phone.PhoneCall'; - this.constructorId = 0xec82e140; - this.subclassOfId = 0xd48afe4f; - this._slots = ['phoneCall', 'users']; - this.phoneCall = params.phoneCall; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let phoneCall = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.phone.PhoneCall({ phoneCall: phoneCall, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.phoneCall !== undefined) { - b.write(this.phoneCall.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCall extends TLObject { - call!: Raw.TypeGroupCall; - participants!: Vector; - participantsNextOffset!: string; - chats!: Vector; - users!: Vector; - - constructor(params: { - call: Raw.TypeGroupCall; - participants: Vector; - participantsNextOffset: string; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'phone.GroupCall'; - this.constructorId = 0x9e727aad; - this.subclassOfId = 0x304116be; - this._slots = ['call', 'participants', 'participantsNextOffset', 'chats', 'users']; - this.call = params.call; - this.participants = params.participants; - this.participantsNextOffset = params.participantsNextOffset; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let participants = await TLObject.read(_data); - let participantsNextOffset = await Primitive.String.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.phone.GroupCall({ - call: call, - participants: participants, - participantsNextOffset: participantsNextOffset, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.participants) { - b.write(Primitive.Vector.write(this.participants) as unknown as Buffer); - } - if (this.participantsNextOffset !== undefined) { - b.write(Primitive.String.write(this.participantsNextOffset) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupParticipants extends TLObject { - count!: int; - participants!: Vector; - nextOffset!: string; - chats!: Vector; - users!: Vector; - version!: int; - - constructor(params: { - count: int; - participants: Vector; - nextOffset: string; - chats: Vector; - users: Vector; - version: int; - }) { - super(); - this.classType = 'types'; - this.className = 'phone.GroupParticipants'; - this.constructorId = 0xf47751b6; - this.subclassOfId = 0x72d304f4; - this._slots = ['count', 'participants', 'nextOffset', 'chats', 'users', 'version']; - this.count = params.count; - this.participants = params.participants; - this.nextOffset = params.nextOffset; - this.chats = params.chats; - this.users = params.users; - this.version = params.version; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let participants = await TLObject.read(_data); - let nextOffset = await Primitive.String.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let version = await Primitive.Int.read(_data); - return new Raw.phone.GroupParticipants({ - count: count, - participants: participants, - nextOffset: nextOffset, - chats: chats, - users: users, - version: version, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.participants) { - b.write(Primitive.Vector.write(this.participants) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.version !== undefined) { - b.write(Primitive.Int.write(this.version) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JoinAsPeers extends TLObject { - peers!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - peers: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'phone.JoinAsPeers'; - this.constructorId = 0xafe5623f; - this.subclassOfId = 0xb4b770fb; - this._slots = ['peers', 'chats', 'users']; - this.peers = params.peers; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peers = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.phone.JoinAsPeers({ peers: peers, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedGroupCallInvite extends TLObject { - link!: string; - - constructor(params: { link: string }) { - super(); - this.classType = 'types'; - this.className = 'phone.ExportedGroupCallInvite'; - this.constructorId = 0x204bd158; - this.subclassOfId = 0x3b3bfe8f; - this._slots = ['link']; - this.link = params.link; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let link = await Primitive.String.read(_data); - return new Raw.phone.ExportedGroupCallInvite({ link: link }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.link !== undefined) { - b.write(Primitive.String.write(this.link) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallStreamChannels extends TLObject { - channels!: Vector; - - constructor(params: { channels: Vector }) { - super(); - this.classType = 'types'; - this.className = 'phone.GroupCallStreamChannels'; - this.constructorId = 0xd0e482b2; - this.subclassOfId = 0x9157c5e4; - this._slots = ['channels']; - this.channels = params.channels; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channels = await TLObject.read(_data); - return new Raw.phone.GroupCallStreamChannels({ channels: channels }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channels) { - b.write(Primitive.Vector.write(this.channels) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GroupCallStreamRtmpUrl extends TLObject { - url!: string; - key!: string; - - constructor(params: { url: string; key: string }) { - super(); - this.classType = 'types'; - this.className = 'phone.GroupCallStreamRtmpUrl'; - this.constructorId = 0x2dbf3432; - this.subclassOfId = 0xd1f515cb; - this._slots = ['url', 'key']; - this.url = params.url; - this.key = params.key; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let url = await Primitive.String.read(_data); - let key = await Primitive.String.read(_data); - return new Raw.phone.GroupCallStreamRtmpUrl({ url: url, key: key }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - if (this.key !== undefined) { - b.write(Primitive.String.write(this.key) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCallConfig extends TLObject { - __response__!: Raw.TypeDataJSON; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'phone.GetCallConfig'; - this.constructorId = 0x55451fa9; - this.subclassOfId = 0xad0352e8; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.phone.GetCallConfig(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RequestCall extends TLObject { - __response__!: Raw.phone.TypePhoneCall; - video?: boolean; - userId!: Raw.TypeInputUser; - randomId!: int; - gAHash!: bytes; - protocol!: Raw.TypePhoneCallProtocol; - - constructor(params: { - video?: boolean; - userId: Raw.TypeInputUser; - randomId: int; - gAHash: bytes; - protocol: Raw.TypePhoneCallProtocol; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.RequestCall'; - this.constructorId = 0x42ff96ed; - this.subclassOfId = 0xd48afe4f; - this._slots = ['video', 'userId', 'randomId', 'gAHash', 'protocol']; - this.video = params.video; - this.userId = params.userId; - this.randomId = params.randomId; - this.gAHash = params.gAHash; - this.protocol = params.protocol; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 0) ? true : false; - let userId = await TLObject.read(_data); - let randomId = await Primitive.Int.read(_data); - let gAHash = await Primitive.Bytes.read(_data); - let protocol = await TLObject.read(_data); - return new Raw.phone.RequestCall({ - video: video, - userId: userId, - randomId: randomId, - gAHash: gAHash, - protocol: protocol, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Int.write(this.randomId) as unknown as Buffer); - } - if (this.gAHash !== undefined) { - b.write(Primitive.Bytes.write(this.gAHash) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AcceptCall extends TLObject { - __response__!: Raw.phone.TypePhoneCall; - peer!: Raw.TypeInputPhoneCall; - gB!: bytes; - protocol!: Raw.TypePhoneCallProtocol; - - constructor(params: { - peer: Raw.TypeInputPhoneCall; - gB: bytes; - protocol: Raw.TypePhoneCallProtocol; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.AcceptCall'; - this.constructorId = 0x3bd2b4a0; - this.subclassOfId = 0xd48afe4f; - this._slots = ['peer', 'gB', 'protocol']; - this.peer = params.peer; - this.gB = params.gB; - this.protocol = params.protocol; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let gB = await Primitive.Bytes.read(_data); - let protocol = await TLObject.read(_data); - return new Raw.phone.AcceptCall({ peer: peer, gB: gB, protocol: protocol }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.gB !== undefined) { - b.write(Primitive.Bytes.write(this.gB) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ConfirmCall extends TLObject { - __response__!: Raw.phone.TypePhoneCall; - peer!: Raw.TypeInputPhoneCall; - gA!: bytes; - keyFingerprint!: long; - protocol!: Raw.TypePhoneCallProtocol; - - constructor(params: { - peer: Raw.TypeInputPhoneCall; - gA: bytes; - keyFingerprint: long; - protocol: Raw.TypePhoneCallProtocol; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.ConfirmCall'; - this.constructorId = 0x2efe1722; - this.subclassOfId = 0xd48afe4f; - this._slots = ['peer', 'gA', 'keyFingerprint', 'protocol']; - this.peer = params.peer; - this.gA = params.gA; - this.keyFingerprint = params.keyFingerprint; - this.protocol = params.protocol; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let gA = await Primitive.Bytes.read(_data); - let keyFingerprint = await Primitive.Long.read(_data); - let protocol = await TLObject.read(_data); - return new Raw.phone.ConfirmCall({ - peer: peer, - gA: gA, - keyFingerprint: keyFingerprint, - protocol: protocol, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.gA !== undefined) { - b.write(Primitive.Bytes.write(this.gA) as unknown as Buffer); - } - if (this.keyFingerprint !== undefined) { - b.write(Primitive.Long.write(this.keyFingerprint) as unknown as Buffer); - } - if (this.protocol !== undefined) { - b.write(this.protocol.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReceivedCall extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPhoneCall; - - constructor(params: { peer: Raw.TypeInputPhoneCall }) { - super(); - this.classType = 'functions'; - this.className = 'phone.ReceivedCall'; - this.constructorId = 0x17d54f61; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.phone.ReceivedCall({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DiscardCall extends TLObject { - __response__!: Raw.TypeUpdates; - video?: boolean; - peer!: Raw.TypeInputPhoneCall; - duration!: int; - reason!: Raw.TypePhoneCallDiscardReason; - connectionId!: long; - - constructor(params: { - video?: boolean; - peer: Raw.TypeInputPhoneCall; - duration: int; - reason: Raw.TypePhoneCallDiscardReason; - connectionId: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.DiscardCall'; - this.constructorId = 0xb2cbc1c0; - this.subclassOfId = 0x8af52aac; - this._slots = ['video', 'peer', 'duration', 'reason', 'connectionId']; - this.video = params.video; - this.peer = params.peer; - this.duration = params.duration; - this.reason = params.reason; - this.connectionId = params.connectionId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let duration = await Primitive.Int.read(_data); - let reason = await TLObject.read(_data); - let connectionId = await Primitive.Long.read(_data); - return new Raw.phone.DiscardCall({ - video: video, - peer: peer, - duration: duration, - reason: reason, - connectionId: connectionId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.duration !== undefined) { - b.write(Primitive.Int.write(this.duration) as unknown as Buffer); - } - if (this.reason !== undefined) { - b.write(this.reason.write() as unknown as Buffer); - } - if (this.connectionId !== undefined) { - b.write(Primitive.Long.write(this.connectionId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetCallRating extends TLObject { - __response__!: Raw.TypeUpdates; - userInitiative?: boolean; - peer!: Raw.TypeInputPhoneCall; - rating!: int; - comment!: string; - - constructor(params: { - userInitiative?: boolean; - peer: Raw.TypeInputPhoneCall; - rating: int; - comment: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.SetCallRating'; - this.constructorId = 0x59ead627; - this.subclassOfId = 0x8af52aac; - this._slots = ['userInitiative', 'peer', 'rating', 'comment']; - this.userInitiative = params.userInitiative; - this.peer = params.peer; - this.rating = params.rating; - this.comment = params.comment; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let userInitiative = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let rating = await Primitive.Int.read(_data); - let comment = await Primitive.String.read(_data); - return new Raw.phone.SetCallRating({ - userInitiative: userInitiative, - peer: peer, - rating: rating, - comment: comment, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.userInitiative ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.rating !== undefined) { - b.write(Primitive.Int.write(this.rating) as unknown as Buffer); - } - if (this.comment !== undefined) { - b.write(Primitive.String.write(this.comment) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveCallDebug extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPhoneCall; - debug!: Raw.TypeDataJSON; - - constructor(params: { peer: Raw.TypeInputPhoneCall; debug: Raw.TypeDataJSON }) { - super(); - this.classType = 'functions'; - this.className = 'phone.SaveCallDebug'; - this.constructorId = 0x277add7e; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'debug']; - this.peer = params.peer; - this.debug = params.debug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let debug = await TLObject.read(_data); - return new Raw.phone.SaveCallDebug({ peer: peer, debug: debug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.debug !== undefined) { - b.write(this.debug.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendSignalingData extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPhoneCall; - data!: bytes; - - constructor(params: { peer: Raw.TypeInputPhoneCall; data: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'phone.SendSignalingData'; - this.constructorId = 0xff7a9383; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'data']; - this.peer = params.peer; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let data = await Primitive.Bytes.read(_data); - return new Raw.phone.SendSignalingData({ peer: peer, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(Primitive.Bytes.write(this.data) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateGroupCall extends TLObject { - __response__!: Raw.TypeUpdates; - rtmpStream?: boolean; - peer!: Raw.TypeInputPeer; - randomId!: int; - title?: string; - scheduleDate?: int; - - constructor(params: { - rtmpStream?: boolean; - peer: Raw.TypeInputPeer; - randomId: int; - title?: string; - scheduleDate?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.CreateGroupCall'; - this.constructorId = 0x48cdc6d8; - this.subclassOfId = 0x8af52aac; - this._slots = ['rtmpStream', 'peer', 'randomId', 'title', 'scheduleDate']; - this.rtmpStream = params.rtmpStream; - this.peer = params.peer; - this.randomId = params.randomId; - this.title = params.title; - this.scheduleDate = params.scheduleDate; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let rtmpStream = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let randomId = await Primitive.Int.read(_data); - let title = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let scheduleDate = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - return new Raw.phone.CreateGroupCall({ - rtmpStream: rtmpStream, - peer: peer, - randomId: randomId, - title: title, - scheduleDate: scheduleDate, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.rtmpStream ? 1 << 2 : 0; - flags |= this.title !== undefined ? 1 << 0 : 0; - flags |= this.scheduleDate !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Int.write(this.randomId) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.scheduleDate !== undefined) { - b.write(Primitive.Int.write(this.scheduleDate) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JoinGroupCall extends TLObject { - __response__!: Raw.TypeUpdates; - muted?: boolean; - videoStopped?: boolean; - call!: Raw.TypeInputGroupCall; - joinAs!: Raw.TypeInputPeer; - inviteHash?: string; - publicKey?: int256; - block?: bytes; - params!: Raw.TypeDataJSON; - - constructor(params: { - muted?: boolean; - videoStopped?: boolean; - call: Raw.TypeInputGroupCall; - joinAs: Raw.TypeInputPeer; - inviteHash?: string; - publicKey?: int256; - block?: bytes; - params: Raw.TypeDataJSON; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.JoinGroupCall'; - this.constructorId = 0x8fb53057; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'muted', - 'videoStopped', - 'call', - 'joinAs', - 'inviteHash', - 'publicKey', - 'block', - 'params', - ]; - this.muted = params.muted; - this.videoStopped = params.videoStopped; - this.call = params.call; - this.joinAs = params.joinAs; - this.inviteHash = params.inviteHash; - this.publicKey = params.publicKey; - this.block = params.block; - this.params = params.params; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let muted = flags & (1 << 0) ? true : false; - let videoStopped = flags & (1 << 2) ? true : false; - let call = await TLObject.read(_data); - let joinAs = await TLObject.read(_data); - let inviteHash = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let publicKey = flags & (1 << 3) ? await Primitive.Int256.read(_data) : undefined; - let block = flags & (1 << 3) ? await Primitive.Bytes.read(_data) : undefined; - let params = await TLObject.read(_data); - return new Raw.phone.JoinGroupCall({ - muted: muted, - videoStopped: videoStopped, - call: call, - joinAs: joinAs, - inviteHash: inviteHash, - publicKey: publicKey, - block: block, - params: params, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.muted ? 1 << 0 : 0; - flags |= this.videoStopped ? 1 << 2 : 0; - flags |= this.inviteHash !== undefined ? 1 << 1 : 0; - flags |= this.publicKey !== undefined ? 1 << 3 : 0; - flags |= this.block !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.joinAs !== undefined) { - b.write(this.joinAs.write() as unknown as Buffer); - } - if (this.inviteHash !== undefined) { - b.write(Primitive.String.write(this.inviteHash) as unknown as Buffer); - } - if (this.publicKey !== undefined) { - b.write(Primitive.Int256.write(this.publicKey) as unknown as Buffer); - } - if (this.block !== undefined) { - b.write(Primitive.Bytes.write(this.block) as unknown as Buffer); - } - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LeaveGroupCall extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - source!: int; - - constructor(params: { call: Raw.TypeInputGroupCall; source: int }) { - super(); - this.classType = 'functions'; - this.className = 'phone.LeaveGroupCall'; - this.constructorId = 0x500377f9; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'source']; - this.call = params.call; - this.source = params.source; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let source = await Primitive.Int.read(_data); - return new Raw.phone.LeaveGroupCall({ call: call, source: source }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.source !== undefined) { - b.write(Primitive.Int.write(this.source) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InviteToGroupCall extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - users!: Vector; - - constructor(params: { call: Raw.TypeInputGroupCall; users: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'phone.InviteToGroupCall'; - this.constructorId = 0x7b393160; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'users']; - this.call = params.call; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.phone.InviteToGroupCall({ call: call, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DiscardGroupCall extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - - constructor(params: { call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'functions'; - this.className = 'phone.DiscardGroupCall'; - this.constructorId = 0x7a777135; - this.subclassOfId = 0x8af52aac; - this._slots = ['call']; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - return new Raw.phone.DiscardGroupCall({ call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleGroupCallSettings extends TLObject { - __response__!: Raw.TypeUpdates; - resetInviteHash?: boolean; - call!: Raw.TypeInputGroupCall; - joinMuted?: Bool; - - constructor(params: { - resetInviteHash?: boolean; - call: Raw.TypeInputGroupCall; - joinMuted?: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.ToggleGroupCallSettings'; - this.constructorId = 0x74bbb43d; - this.subclassOfId = 0x8af52aac; - this._slots = ['resetInviteHash', 'call', 'joinMuted']; - this.resetInviteHash = params.resetInviteHash; - this.call = params.call; - this.joinMuted = params.joinMuted; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let resetInviteHash = flags & (1 << 1) ? true : false; - let call = await TLObject.read(_data); - let joinMuted = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.phone.ToggleGroupCallSettings({ - resetInviteHash: resetInviteHash, - call: call, - joinMuted: joinMuted, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.resetInviteHash ? 1 << 1 : 0; - flags |= this.joinMuted !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.joinMuted !== undefined) { - b.write(Primitive.Bool.write(this.joinMuted) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupCall extends TLObject { - __response__!: Raw.phone.TypeGroupCall; - call!: Raw.TypeInputGroupCall; - limit!: int; - - constructor(params: { call: Raw.TypeInputGroupCall; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'phone.GetGroupCall'; - this.constructorId = 0x41845db; - this.subclassOfId = 0x304116be; - this._slots = ['call', 'limit']; - this.call = params.call; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.phone.GetGroupCall({ call: call, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupParticipants extends TLObject { - __response__!: Raw.phone.TypeGroupParticipants; - call!: Raw.TypeInputGroupCall; - ids!: Vector; - sources!: Vector; - offset!: string; - limit!: int; - - constructor(params: { - call: Raw.TypeInputGroupCall; - ids: Vector; - sources: Vector; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.GetGroupParticipants'; - this.constructorId = 0xc558d8ab; - this.subclassOfId = 0x72d304f4; - this._slots = ['call', 'ids', 'sources', 'offset', 'limit']; - this.call = params.call; - this.ids = params.ids; - this.sources = params.sources; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let ids = await TLObject.read(_data); - let sources = await TLObject.read(_data, Primitive.Int); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.phone.GetGroupParticipants({ - call: call, - ids: ids, - sources: sources, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.ids) { - b.write(Primitive.Vector.write(this.ids) as unknown as Buffer); - } - if (this.sources) { - b.write(Primitive.Vector.write(this.sources, Primitive.Int) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckGroupCall extends TLObject { - __response__!: Vector; - call!: Raw.TypeInputGroupCall; - sources!: Vector; - - constructor(params: { call: Raw.TypeInputGroupCall; sources: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'phone.CheckGroupCall'; - this.constructorId = 0xb59cf977; - this.subclassOfId = 0x5026710f; - this._slots = ['call', 'sources']; - this.call = params.call; - this.sources = params.sources; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let sources = await TLObject.read(_data, Primitive.Int); - return new Raw.phone.CheckGroupCall({ call: call, sources: sources }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.sources) { - b.write(Primitive.Vector.write(this.sources, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleGroupCallRecord extends TLObject { - __response__!: Raw.TypeUpdates; - start?: boolean; - video?: boolean; - call!: Raw.TypeInputGroupCall; - title?: string; - videoPortrait?: Bool; - - constructor(params: { - start?: boolean; - video?: boolean; - call: Raw.TypeInputGroupCall; - title?: string; - videoPortrait?: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.ToggleGroupCallRecord'; - this.constructorId = 0xf128c708; - this.subclassOfId = 0x8af52aac; - this._slots = ['start', 'video', 'call', 'title', 'videoPortrait']; - this.start = params.start; - this.video = params.video; - this.call = params.call; - this.title = params.title; - this.videoPortrait = params.videoPortrait; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let start = flags & (1 << 0) ? true : false; - let video = flags & (1 << 2) ? true : false; - let call = await TLObject.read(_data); - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let videoPortrait = flags & (1 << 2) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.phone.ToggleGroupCallRecord({ - start: start, - video: video, - call: call, - title: title, - videoPortrait: videoPortrait, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.start ? 1 << 0 : 0; - flags |= this.video ? 1 << 2 : 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.videoPortrait !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.videoPortrait !== undefined) { - b.write(Primitive.Bool.write(this.videoPortrait) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditGroupCallParticipant extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - participant!: Raw.TypeInputPeer; - muted?: Bool; - volume?: int; - raiseHand?: Bool; - videoStopped?: Bool; - videoPaused?: Bool; - presentationPaused?: Bool; - - constructor(params: { - call: Raw.TypeInputGroupCall; - participant: Raw.TypeInputPeer; - muted?: Bool; - volume?: int; - raiseHand?: Bool; - videoStopped?: Bool; - videoPaused?: Bool; - presentationPaused?: Bool; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.EditGroupCallParticipant'; - this.constructorId = 0xa5273abf; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'call', - 'participant', - 'muted', - 'volume', - 'raiseHand', - 'videoStopped', - 'videoPaused', - 'presentationPaused', - ]; - this.call = params.call; - this.participant = params.participant; - this.muted = params.muted; - this.volume = params.volume; - this.raiseHand = params.raiseHand; - this.videoStopped = params.videoStopped; - this.videoPaused = params.videoPaused; - this.presentationPaused = params.presentationPaused; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let call = await TLObject.read(_data); - let participant = await TLObject.read(_data); - let muted = flags & (1 << 0) ? await Primitive.Bool.read(_data) : undefined; - let volume = flags & (1 << 1) ? await Primitive.Int.read(_data) : undefined; - let raiseHand = flags & (1 << 2) ? await Primitive.Bool.read(_data) : undefined; - let videoStopped = flags & (1 << 3) ? await Primitive.Bool.read(_data) : undefined; - let videoPaused = flags & (1 << 4) ? await Primitive.Bool.read(_data) : undefined; - let presentationPaused = flags & (1 << 5) ? await Primitive.Bool.read(_data) : undefined; - return new Raw.phone.EditGroupCallParticipant({ - call: call, - participant: participant, - muted: muted, - volume: volume, - raiseHand: raiseHand, - videoStopped: videoStopped, - videoPaused: videoPaused, - presentationPaused: presentationPaused, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.muted !== undefined ? 1 << 0 : 0; - flags |= this.volume !== undefined ? 1 << 1 : 0; - flags |= this.raiseHand !== undefined ? 1 << 2 : 0; - flags |= this.videoStopped !== undefined ? 1 << 3 : 0; - flags |= this.videoPaused !== undefined ? 1 << 4 : 0; - flags |= this.presentationPaused !== undefined ? 1 << 5 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.participant !== undefined) { - b.write(this.participant.write() as unknown as Buffer); - } - if (this.muted !== undefined) { - b.write(Primitive.Bool.write(this.muted) as unknown as Buffer); - } - if (this.volume !== undefined) { - b.write(Primitive.Int.write(this.volume) as unknown as Buffer); - } - if (this.raiseHand !== undefined) { - b.write(Primitive.Bool.write(this.raiseHand) as unknown as Buffer); - } - if (this.videoStopped !== undefined) { - b.write(Primitive.Bool.write(this.videoStopped) as unknown as Buffer); - } - if (this.videoPaused !== undefined) { - b.write(Primitive.Bool.write(this.videoPaused) as unknown as Buffer); - } - if (this.presentationPaused !== undefined) { - b.write(Primitive.Bool.write(this.presentationPaused) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditGroupCallTitle extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - title!: string; - - constructor(params: { call: Raw.TypeInputGroupCall; title: string }) { - super(); - this.classType = 'functions'; - this.className = 'phone.EditGroupCallTitle'; - this.constructorId = 0x1ca6ac0a; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'title']; - this.call = params.call; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.phone.EditGroupCallTitle({ call: call, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupCallJoinAs extends TLObject { - __response__!: Raw.phone.TypeJoinAsPeers; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'phone.GetGroupCallJoinAs'; - this.constructorId = 0xef7c213a; - this.subclassOfId = 0xb4b770fb; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.phone.GetGroupCallJoinAs({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportGroupCallInvite extends TLObject { - __response__!: Raw.phone.TypeExportedGroupCallInvite; - canSelfUnmute?: boolean; - call!: Raw.TypeInputGroupCall; - - constructor(params: { canSelfUnmute?: boolean; call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'functions'; - this.className = 'phone.ExportGroupCallInvite'; - this.constructorId = 0xe6aa647f; - this.subclassOfId = 0x3b3bfe8f; - this._slots = ['canSelfUnmute', 'call']; - this.canSelfUnmute = params.canSelfUnmute; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let canSelfUnmute = flags & (1 << 0) ? true : false; - let call = await TLObject.read(_data); - return new Raw.phone.ExportGroupCallInvite({ canSelfUnmute: canSelfUnmute, call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.canSelfUnmute ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleGroupCallStartSubscription extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - subscribed!: Bool; - - constructor(params: { call: Raw.TypeInputGroupCall; subscribed: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'phone.ToggleGroupCallStartSubscription'; - this.constructorId = 0x219c34e6; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'subscribed']; - this.call = params.call; - this.subscribed = params.subscribed; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let subscribed = await Primitive.Bool.read(_data); - return new Raw.phone.ToggleGroupCallStartSubscription({ - call: call, - subscribed: subscribed, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.subscribed !== undefined) { - b.write(Primitive.Bool.write(this.subscribed) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StartScheduledGroupCall extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - - constructor(params: { call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'functions'; - this.className = 'phone.StartScheduledGroupCall'; - this.constructorId = 0x5680e342; - this.subclassOfId = 0x8af52aac; - this._slots = ['call']; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - return new Raw.phone.StartScheduledGroupCall({ call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveDefaultGroupCallJoinAs extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - joinAs!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer; joinAs: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'phone.SaveDefaultGroupCallJoinAs'; - this.constructorId = 0x575e1f8c; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'joinAs']; - this.peer = params.peer; - this.joinAs = params.joinAs; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let joinAs = await TLObject.read(_data); - return new Raw.phone.SaveDefaultGroupCallJoinAs({ peer: peer, joinAs: joinAs }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.joinAs !== undefined) { - b.write(this.joinAs.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JoinGroupCallPresentation extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - params!: Raw.TypeDataJSON; - - constructor(params: { call: Raw.TypeInputGroupCall; params: Raw.TypeDataJSON }) { - super(); - this.classType = 'functions'; - this.className = 'phone.JoinGroupCallPresentation'; - this.constructorId = 0xcbea6bc4; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'params']; - this.call = params.call; - this.params = params.params; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let params = await TLObject.read(_data); - return new Raw.phone.JoinGroupCallPresentation({ call: call, params: params }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LeaveGroupCallPresentation extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - - constructor(params: { call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'functions'; - this.className = 'phone.LeaveGroupCallPresentation'; - this.constructorId = 0x1c50d144; - this.subclassOfId = 0x8af52aac; - this._slots = ['call']; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - return new Raw.phone.LeaveGroupCallPresentation({ call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupCallStreamChannels extends TLObject { - __response__!: Raw.phone.TypeGroupCallStreamChannels; - call!: Raw.TypeInputGroupCall; - - constructor(params: { call: Raw.TypeInputGroupCall }) { - super(); - this.classType = 'functions'; - this.className = 'phone.GetGroupCallStreamChannels'; - this.constructorId = 0x1ab21940; - this.subclassOfId = 0x9157c5e4; - this._slots = ['call']; - this.call = params.call; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - return new Raw.phone.GetGroupCallStreamChannels({ call: call }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupCallStreamRtmpUrl extends TLObject { - __response__!: Raw.phone.TypeGroupCallStreamRtmpUrl; - peer!: Raw.TypeInputPeer; - revoke!: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; revoke: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'phone.GetGroupCallStreamRtmpUrl'; - this.constructorId = 0xdeb3abbf; - this.subclassOfId = 0xd1f515cb; - this._slots = ['peer', 'revoke']; - this.peer = params.peer; - this.revoke = params.revoke; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let revoke = await Primitive.Bool.read(_data); - return new Raw.phone.GetGroupCallStreamRtmpUrl({ peer: peer, revoke: revoke }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.revoke !== undefined) { - b.write(Primitive.Bool.write(this.revoke) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SaveCallLog extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPhoneCall; - file!: Raw.TypeInputFile; - - constructor(params: { peer: Raw.TypeInputPhoneCall; file: Raw.TypeInputFile }) { - super(); - this.classType = 'functions'; - this.className = 'phone.SaveCallLog'; - this.constructorId = 0x41248786; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'file']; - this.peer = params.peer; - this.file = params.file; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let file = await TLObject.read(_data); - return new Raw.phone.SaveCallLog({ peer: peer, file: file }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.file !== undefined) { - b.write(this.file.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateConferenceCall extends TLObject { - __response__!: Raw.TypeUpdates; - muted?: boolean; - videoStopped?: boolean; - join?: boolean; - randomId!: int; - publicKey?: int256; - block?: bytes; - params?: Raw.TypeDataJSON; - - constructor(params: { - muted?: boolean; - videoStopped?: boolean; - join?: boolean; - randomId: int; - publicKey?: int256; - block?: bytes; - params?: Raw.TypeDataJSON; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.CreateConferenceCall'; - this.constructorId = 0x7d0444bb; - this.subclassOfId = 0x8af52aac; - this._slots = ['muted', 'videoStopped', 'join', 'randomId', 'publicKey', 'block', 'params']; - this.muted = params.muted; - this.videoStopped = params.videoStopped; - this.join = params.join; - this.randomId = params.randomId; - this.publicKey = params.publicKey; - this.block = params.block; - this.params = params.params; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let muted = flags & (1 << 0) ? true : false; - let videoStopped = flags & (1 << 2) ? true : false; - let join = flags & (1 << 3) ? true : false; - let randomId = await Primitive.Int.read(_data); - let publicKey = flags & (1 << 3) ? await Primitive.Int256.read(_data) : undefined; - let block = flags & (1 << 3) ? await Primitive.Bytes.read(_data) : undefined; - let params = flags & (1 << 3) ? await TLObject.read(_data) : undefined; - return new Raw.phone.CreateConferenceCall({ - muted: muted, - videoStopped: videoStopped, - join: join, - randomId: randomId, - publicKey: publicKey, - block: block, - params: params, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.muted ? 1 << 0 : 0; - flags |= this.videoStopped ? 1 << 2 : 0; - flags |= this.join ? 1 << 3 : 0; - flags |= this.publicKey !== undefined ? 1 << 3 : 0; - flags |= this.block !== undefined ? 1 << 3 : 0; - flags |= this.params !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.randomId !== undefined) { - b.write(Primitive.Int.write(this.randomId) as unknown as Buffer); - } - if (this.publicKey !== undefined) { - b.write(Primitive.Int256.write(this.publicKey) as unknown as Buffer); - } - if (this.block !== undefined) { - b.write(Primitive.Bytes.write(this.block) as unknown as Buffer); - } - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteConferenceCallParticipants extends TLObject { - __response__!: Raw.TypeUpdates; - onlyLeft?: boolean; - kick?: boolean; - call!: Raw.TypeInputGroupCall; - ids!: Vector; - block!: bytes; - - constructor(params: { - onlyLeft?: boolean; - kick?: boolean; - call: Raw.TypeInputGroupCall; - ids: Vector; - block: bytes; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.DeleteConferenceCallParticipants'; - this.constructorId = 0x8ca60525; - this.subclassOfId = 0x8af52aac; - this._slots = ['onlyLeft', 'kick', 'call', 'ids', 'block']; - this.onlyLeft = params.onlyLeft; - this.kick = params.kick; - this.call = params.call; - this.ids = params.ids; - this.block = params.block; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let onlyLeft = flags & (1 << 0) ? true : false; - let kick = flags & (1 << 1) ? true : false; - let call = await TLObject.read(_data); - let ids = await TLObject.read(_data, Primitive.Long); - let block = await Primitive.Bytes.read(_data); - return new Raw.phone.DeleteConferenceCallParticipants({ - onlyLeft: onlyLeft, - kick: kick, - call: call, - ids: ids, - block: block, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.onlyLeft ? 1 << 0 : 0; - flags |= this.kick ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.ids) { - b.write(Primitive.Vector.write(this.ids, Primitive.Long) as unknown as Buffer); - } - if (this.block !== undefined) { - b.write(Primitive.Bytes.write(this.block) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendConferenceCallBroadcast extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - block!: bytes; - - constructor(params: { call: Raw.TypeInputGroupCall; block: bytes }) { - super(); - this.classType = 'functions'; - this.className = 'phone.SendConferenceCallBroadcast'; - this.constructorId = 0xc6701900; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'block']; - this.call = params.call; - this.block = params.block; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let block = await Primitive.Bytes.read(_data); - return new Raw.phone.SendConferenceCallBroadcast({ call: call, block: block }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.block !== undefined) { - b.write(Primitive.Bytes.write(this.block) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InviteConferenceCallParticipant extends TLObject { - __response__!: Raw.TypeUpdates; - video?: boolean; - call!: Raw.TypeInputGroupCall; - userId!: Raw.TypeInputUser; - - constructor(params: { - video?: boolean; - call: Raw.TypeInputGroupCall; - userId: Raw.TypeInputUser; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.InviteConferenceCallParticipant'; - this.constructorId = 0xbcf22685; - this.subclassOfId = 0x8af52aac; - this._slots = ['video', 'call', 'userId']; - this.video = params.video; - this.call = params.call; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let video = flags & (1 << 0) ? true : false; - let call = await TLObject.read(_data); - let userId = await TLObject.read(_data); - return new Raw.phone.InviteConferenceCallParticipant({ - video: video, - call: call, - userId: userId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.video ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeclineConferenceCallInvite extends TLObject { - __response__!: Raw.TypeUpdates; - msgId!: int; - - constructor(params: { msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'phone.DeclineConferenceCallInvite'; - this.constructorId = 0x3c479971; - this.subclassOfId = 0x8af52aac; - this._slots = ['msgId']; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let msgId = await Primitive.Int.read(_data); - return new Raw.phone.DeclineConferenceCallInvite({ msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetGroupCallChainBlocks extends TLObject { - __response__!: Raw.TypeUpdates; - call!: Raw.TypeInputGroupCall; - subChainId!: int; - offset!: int; - limit!: int; - - constructor(params: { - call: Raw.TypeInputGroupCall; - subChainId: int; - offset: int; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'phone.GetGroupCallChainBlocks'; - this.constructorId = 0xee9f88a6; - this.subclassOfId = 0x8af52aac; - this._slots = ['call', 'subChainId', 'offset', 'limit']; - this.call = params.call; - this.subChainId = params.subChainId; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let call = await TLObject.read(_data); - let subChainId = await Primitive.Int.read(_data); - let offset = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.phone.GetGroupCallChainBlocks({ - call: call, - subChainId: subChainId, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.call !== undefined) { - b.write(this.call.write() as unknown as Buffer); - } - if (this.subChainId !== undefined) { - b.write(Primitive.Int.write(this.subChainId) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.Int.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace stats { - export type TypeStoryStats = Raw.stats.StoryStats; - export type TypeMessageStats = Raw.stats.MessageStats; - export type TypePublicForwards = Raw.stats.PublicForwards; - export type TypeMegagroupStats = Raw.stats.MegagroupStats; - export type TypeBroadcastStats = Raw.stats.BroadcastStats; - export class BroadcastStats extends TLObject { - period!: Raw.TypeStatsDateRangeDays; - followers!: Raw.TypeStatsAbsValueAndPrev; - viewsPerPost!: Raw.TypeStatsAbsValueAndPrev; - sharesPerPost!: Raw.TypeStatsAbsValueAndPrev; - reactionsPerPost!: Raw.TypeStatsAbsValueAndPrev; - viewsPerStory!: Raw.TypeStatsAbsValueAndPrev; - sharesPerStory!: Raw.TypeStatsAbsValueAndPrev; - reactionsPerStory!: Raw.TypeStatsAbsValueAndPrev; - enabledNotifications!: Raw.TypeStatsPercentValue; - growthGraph!: Raw.TypeStatsGraph; - followersGraph!: Raw.TypeStatsGraph; - muteGraph!: Raw.TypeStatsGraph; - topHoursGraph!: Raw.TypeStatsGraph; - interactionsGraph!: Raw.TypeStatsGraph; - ivInteractionsGraph!: Raw.TypeStatsGraph; - viewsBySourceGraph!: Raw.TypeStatsGraph; - newFollowersBySourceGraph!: Raw.TypeStatsGraph; - languagesGraph!: Raw.TypeStatsGraph; - reactionsByEmotionGraph!: Raw.TypeStatsGraph; - storyInteractionsGraph!: Raw.TypeStatsGraph; - storyReactionsByEmotionGraph!: Raw.TypeStatsGraph; - recentPostsInteractions!: Vector; - - constructor(params: { - period: Raw.TypeStatsDateRangeDays; - followers: Raw.TypeStatsAbsValueAndPrev; - viewsPerPost: Raw.TypeStatsAbsValueAndPrev; - sharesPerPost: Raw.TypeStatsAbsValueAndPrev; - reactionsPerPost: Raw.TypeStatsAbsValueAndPrev; - viewsPerStory: Raw.TypeStatsAbsValueAndPrev; - sharesPerStory: Raw.TypeStatsAbsValueAndPrev; - reactionsPerStory: Raw.TypeStatsAbsValueAndPrev; - enabledNotifications: Raw.TypeStatsPercentValue; - growthGraph: Raw.TypeStatsGraph; - followersGraph: Raw.TypeStatsGraph; - muteGraph: Raw.TypeStatsGraph; - topHoursGraph: Raw.TypeStatsGraph; - interactionsGraph: Raw.TypeStatsGraph; - ivInteractionsGraph: Raw.TypeStatsGraph; - viewsBySourceGraph: Raw.TypeStatsGraph; - newFollowersBySourceGraph: Raw.TypeStatsGraph; - languagesGraph: Raw.TypeStatsGraph; - reactionsByEmotionGraph: Raw.TypeStatsGraph; - storyInteractionsGraph: Raw.TypeStatsGraph; - storyReactionsByEmotionGraph: Raw.TypeStatsGraph; - recentPostsInteractions: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'stats.BroadcastStats'; - this.constructorId = 0x396ca5fc; - this.subclassOfId = 0x7ff25428; - this._slots = [ - 'period', - 'followers', - 'viewsPerPost', - 'sharesPerPost', - 'reactionsPerPost', - 'viewsPerStory', - 'sharesPerStory', - 'reactionsPerStory', - 'enabledNotifications', - 'growthGraph', - 'followersGraph', - 'muteGraph', - 'topHoursGraph', - 'interactionsGraph', - 'ivInteractionsGraph', - 'viewsBySourceGraph', - 'newFollowersBySourceGraph', - 'languagesGraph', - 'reactionsByEmotionGraph', - 'storyInteractionsGraph', - 'storyReactionsByEmotionGraph', - 'recentPostsInteractions', - ]; - this.period = params.period; - this.followers = params.followers; - this.viewsPerPost = params.viewsPerPost; - this.sharesPerPost = params.sharesPerPost; - this.reactionsPerPost = params.reactionsPerPost; - this.viewsPerStory = params.viewsPerStory; - this.sharesPerStory = params.sharesPerStory; - this.reactionsPerStory = params.reactionsPerStory; - this.enabledNotifications = params.enabledNotifications; - this.growthGraph = params.growthGraph; - this.followersGraph = params.followersGraph; - this.muteGraph = params.muteGraph; - this.topHoursGraph = params.topHoursGraph; - this.interactionsGraph = params.interactionsGraph; - this.ivInteractionsGraph = params.ivInteractionsGraph; - this.viewsBySourceGraph = params.viewsBySourceGraph; - this.newFollowersBySourceGraph = params.newFollowersBySourceGraph; - this.languagesGraph = params.languagesGraph; - this.reactionsByEmotionGraph = params.reactionsByEmotionGraph; - this.storyInteractionsGraph = params.storyInteractionsGraph; - this.storyReactionsByEmotionGraph = params.storyReactionsByEmotionGraph; - this.recentPostsInteractions = params.recentPostsInteractions; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let period = await TLObject.read(_data); - let followers = await TLObject.read(_data); - let viewsPerPost = await TLObject.read(_data); - let sharesPerPost = await TLObject.read(_data); - let reactionsPerPost = await TLObject.read(_data); - let viewsPerStory = await TLObject.read(_data); - let sharesPerStory = await TLObject.read(_data); - let reactionsPerStory = await TLObject.read(_data); - let enabledNotifications = await TLObject.read(_data); - let growthGraph = await TLObject.read(_data); - let followersGraph = await TLObject.read(_data); - let muteGraph = await TLObject.read(_data); - let topHoursGraph = await TLObject.read(_data); - let interactionsGraph = await TLObject.read(_data); - let ivInteractionsGraph = await TLObject.read(_data); - let viewsBySourceGraph = await TLObject.read(_data); - let newFollowersBySourceGraph = await TLObject.read(_data); - let languagesGraph = await TLObject.read(_data); - let reactionsByEmotionGraph = await TLObject.read(_data); - let storyInteractionsGraph = await TLObject.read(_data); - let storyReactionsByEmotionGraph = await TLObject.read(_data); - let recentPostsInteractions = await TLObject.read(_data); - return new Raw.stats.BroadcastStats({ - period: period, - followers: followers, - viewsPerPost: viewsPerPost, - sharesPerPost: sharesPerPost, - reactionsPerPost: reactionsPerPost, - viewsPerStory: viewsPerStory, - sharesPerStory: sharesPerStory, - reactionsPerStory: reactionsPerStory, - enabledNotifications: enabledNotifications, - growthGraph: growthGraph, - followersGraph: followersGraph, - muteGraph: muteGraph, - topHoursGraph: topHoursGraph, - interactionsGraph: interactionsGraph, - ivInteractionsGraph: ivInteractionsGraph, - viewsBySourceGraph: viewsBySourceGraph, - newFollowersBySourceGraph: newFollowersBySourceGraph, - languagesGraph: languagesGraph, - reactionsByEmotionGraph: reactionsByEmotionGraph, - storyInteractionsGraph: storyInteractionsGraph, - storyReactionsByEmotionGraph: storyReactionsByEmotionGraph, - recentPostsInteractions: recentPostsInteractions, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.period !== undefined) { - b.write(this.period.write() as unknown as Buffer); - } - if (this.followers !== undefined) { - b.write(this.followers.write() as unknown as Buffer); - } - if (this.viewsPerPost !== undefined) { - b.write(this.viewsPerPost.write() as unknown as Buffer); - } - if (this.sharesPerPost !== undefined) { - b.write(this.sharesPerPost.write() as unknown as Buffer); - } - if (this.reactionsPerPost !== undefined) { - b.write(this.reactionsPerPost.write() as unknown as Buffer); - } - if (this.viewsPerStory !== undefined) { - b.write(this.viewsPerStory.write() as unknown as Buffer); - } - if (this.sharesPerStory !== undefined) { - b.write(this.sharesPerStory.write() as unknown as Buffer); - } - if (this.reactionsPerStory !== undefined) { - b.write(this.reactionsPerStory.write() as unknown as Buffer); - } - if (this.enabledNotifications !== undefined) { - b.write(this.enabledNotifications.write() as unknown as Buffer); - } - if (this.growthGraph !== undefined) { - b.write(this.growthGraph.write() as unknown as Buffer); - } - if (this.followersGraph !== undefined) { - b.write(this.followersGraph.write() as unknown as Buffer); - } - if (this.muteGraph !== undefined) { - b.write(this.muteGraph.write() as unknown as Buffer); - } - if (this.topHoursGraph !== undefined) { - b.write(this.topHoursGraph.write() as unknown as Buffer); - } - if (this.interactionsGraph !== undefined) { - b.write(this.interactionsGraph.write() as unknown as Buffer); - } - if (this.ivInteractionsGraph !== undefined) { - b.write(this.ivInteractionsGraph.write() as unknown as Buffer); - } - if (this.viewsBySourceGraph !== undefined) { - b.write(this.viewsBySourceGraph.write() as unknown as Buffer); - } - if (this.newFollowersBySourceGraph !== undefined) { - b.write(this.newFollowersBySourceGraph.write() as unknown as Buffer); - } - if (this.languagesGraph !== undefined) { - b.write(this.languagesGraph.write() as unknown as Buffer); - } - if (this.reactionsByEmotionGraph !== undefined) { - b.write(this.reactionsByEmotionGraph.write() as unknown as Buffer); - } - if (this.storyInteractionsGraph !== undefined) { - b.write(this.storyInteractionsGraph.write() as unknown as Buffer); - } - if (this.storyReactionsByEmotionGraph !== undefined) { - b.write(this.storyReactionsByEmotionGraph.write() as unknown as Buffer); - } - if (this.recentPostsInteractions) { - b.write(Primitive.Vector.write(this.recentPostsInteractions) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MegagroupStats extends TLObject { - period!: Raw.TypeStatsDateRangeDays; - members!: Raw.TypeStatsAbsValueAndPrev; - messages!: Raw.TypeStatsAbsValueAndPrev; - viewers!: Raw.TypeStatsAbsValueAndPrev; - posters!: Raw.TypeStatsAbsValueAndPrev; - growthGraph!: Raw.TypeStatsGraph; - membersGraph!: Raw.TypeStatsGraph; - newMembersBySourceGraph!: Raw.TypeStatsGraph; - languagesGraph!: Raw.TypeStatsGraph; - messagesGraph!: Raw.TypeStatsGraph; - actionsGraph!: Raw.TypeStatsGraph; - topHoursGraph!: Raw.TypeStatsGraph; - weekdaysGraph!: Raw.TypeStatsGraph; - topPosters!: Vector; - topAdmins!: Vector; - topInviters!: Vector; - users!: Vector; - - constructor(params: { - period: Raw.TypeStatsDateRangeDays; - members: Raw.TypeStatsAbsValueAndPrev; - messages: Raw.TypeStatsAbsValueAndPrev; - viewers: Raw.TypeStatsAbsValueAndPrev; - posters: Raw.TypeStatsAbsValueAndPrev; - growthGraph: Raw.TypeStatsGraph; - membersGraph: Raw.TypeStatsGraph; - newMembersBySourceGraph: Raw.TypeStatsGraph; - languagesGraph: Raw.TypeStatsGraph; - messagesGraph: Raw.TypeStatsGraph; - actionsGraph: Raw.TypeStatsGraph; - topHoursGraph: Raw.TypeStatsGraph; - weekdaysGraph: Raw.TypeStatsGraph; - topPosters: Vector; - topAdmins: Vector; - topInviters: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'stats.MegagroupStats'; - this.constructorId = 0xef7ff916; - this.subclassOfId = 0x5b59be8d; - this._slots = [ - 'period', - 'members', - 'messages', - 'viewers', - 'posters', - 'growthGraph', - 'membersGraph', - 'newMembersBySourceGraph', - 'languagesGraph', - 'messagesGraph', - 'actionsGraph', - 'topHoursGraph', - 'weekdaysGraph', - 'topPosters', - 'topAdmins', - 'topInviters', - 'users', - ]; - this.period = params.period; - this.members = params.members; - this.messages = params.messages; - this.viewers = params.viewers; - this.posters = params.posters; - this.growthGraph = params.growthGraph; - this.membersGraph = params.membersGraph; - this.newMembersBySourceGraph = params.newMembersBySourceGraph; - this.languagesGraph = params.languagesGraph; - this.messagesGraph = params.messagesGraph; - this.actionsGraph = params.actionsGraph; - this.topHoursGraph = params.topHoursGraph; - this.weekdaysGraph = params.weekdaysGraph; - this.topPosters = params.topPosters; - this.topAdmins = params.topAdmins; - this.topInviters = params.topInviters; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let period = await TLObject.read(_data); - let members = await TLObject.read(_data); - let messages = await TLObject.read(_data); - let viewers = await TLObject.read(_data); - let posters = await TLObject.read(_data); - let growthGraph = await TLObject.read(_data); - let membersGraph = await TLObject.read(_data); - let newMembersBySourceGraph = await TLObject.read(_data); - let languagesGraph = await TLObject.read(_data); - let messagesGraph = await TLObject.read(_data); - let actionsGraph = await TLObject.read(_data); - let topHoursGraph = await TLObject.read(_data); - let weekdaysGraph = await TLObject.read(_data); - let topPosters = await TLObject.read(_data); - let topAdmins = await TLObject.read(_data); - let topInviters = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.stats.MegagroupStats({ - period: period, - members: members, - messages: messages, - viewers: viewers, - posters: posters, - growthGraph: growthGraph, - membersGraph: membersGraph, - newMembersBySourceGraph: newMembersBySourceGraph, - languagesGraph: languagesGraph, - messagesGraph: messagesGraph, - actionsGraph: actionsGraph, - topHoursGraph: topHoursGraph, - weekdaysGraph: weekdaysGraph, - topPosters: topPosters, - topAdmins: topAdmins, - topInviters: topInviters, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.period !== undefined) { - b.write(this.period.write() as unknown as Buffer); - } - if (this.members !== undefined) { - b.write(this.members.write() as unknown as Buffer); - } - if (this.messages !== undefined) { - b.write(this.messages.write() as unknown as Buffer); - } - if (this.viewers !== undefined) { - b.write(this.viewers.write() as unknown as Buffer); - } - if (this.posters !== undefined) { - b.write(this.posters.write() as unknown as Buffer); - } - if (this.growthGraph !== undefined) { - b.write(this.growthGraph.write() as unknown as Buffer); - } - if (this.membersGraph !== undefined) { - b.write(this.membersGraph.write() as unknown as Buffer); - } - if (this.newMembersBySourceGraph !== undefined) { - b.write(this.newMembersBySourceGraph.write() as unknown as Buffer); - } - if (this.languagesGraph !== undefined) { - b.write(this.languagesGraph.write() as unknown as Buffer); - } - if (this.messagesGraph !== undefined) { - b.write(this.messagesGraph.write() as unknown as Buffer); - } - if (this.actionsGraph !== undefined) { - b.write(this.actionsGraph.write() as unknown as Buffer); - } - if (this.topHoursGraph !== undefined) { - b.write(this.topHoursGraph.write() as unknown as Buffer); - } - if (this.weekdaysGraph !== undefined) { - b.write(this.weekdaysGraph.write() as unknown as Buffer); - } - if (this.topPosters) { - b.write(Primitive.Vector.write(this.topPosters) as unknown as Buffer); - } - if (this.topAdmins) { - b.write(Primitive.Vector.write(this.topAdmins) as unknown as Buffer); - } - if (this.topInviters) { - b.write(Primitive.Vector.write(this.topInviters) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MessageStats extends TLObject { - viewsGraph!: Raw.TypeStatsGraph; - reactionsByEmotionGraph!: Raw.TypeStatsGraph; - - constructor(params: { - viewsGraph: Raw.TypeStatsGraph; - reactionsByEmotionGraph: Raw.TypeStatsGraph; - }) { - super(); - this.classType = 'types'; - this.className = 'stats.MessageStats'; - this.constructorId = 0x7fe91c14; - this.subclassOfId = 0x9604a322; - this._slots = ['viewsGraph', 'reactionsByEmotionGraph']; - this.viewsGraph = params.viewsGraph; - this.reactionsByEmotionGraph = params.reactionsByEmotionGraph; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let viewsGraph = await TLObject.read(_data); - let reactionsByEmotionGraph = await TLObject.read(_data); - return new Raw.stats.MessageStats({ - viewsGraph: viewsGraph, - reactionsByEmotionGraph: reactionsByEmotionGraph, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.viewsGraph !== undefined) { - b.write(this.viewsGraph.write() as unknown as Buffer); - } - if (this.reactionsByEmotionGraph !== undefined) { - b.write(this.reactionsByEmotionGraph.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryStats extends TLObject { - viewsGraph!: Raw.TypeStatsGraph; - reactionsByEmotionGraph!: Raw.TypeStatsGraph; - - constructor(params: { - viewsGraph: Raw.TypeStatsGraph; - reactionsByEmotionGraph: Raw.TypeStatsGraph; - }) { - super(); - this.classType = 'types'; - this.className = 'stats.StoryStats'; - this.constructorId = 0x50cd067c; - this.subclassOfId = 0x8b4d43d4; - this._slots = ['viewsGraph', 'reactionsByEmotionGraph']; - this.viewsGraph = params.viewsGraph; - this.reactionsByEmotionGraph = params.reactionsByEmotionGraph; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let viewsGraph = await TLObject.read(_data); - let reactionsByEmotionGraph = await TLObject.read(_data); - return new Raw.stats.StoryStats({ - viewsGraph: viewsGraph, - reactionsByEmotionGraph: reactionsByEmotionGraph, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.viewsGraph !== undefined) { - b.write(this.viewsGraph.write() as unknown as Buffer); - } - if (this.reactionsByEmotionGraph !== undefined) { - b.write(this.reactionsByEmotionGraph.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PublicForwards extends TLObject { - count!: int; - forwards!: Vector; - nextOffset?: string; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - forwards: Vector; - nextOffset?: string; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'stats.PublicForwards'; - this.constructorId = 0x93037e20; - this.subclassOfId = 0xa7283211; - this._slots = ['count', 'forwards', 'nextOffset', 'chats', 'users']; - this.count = params.count; - this.forwards = params.forwards; - this.nextOffset = params.nextOffset; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let forwards = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.stats.PublicForwards({ - count: count, - forwards: forwards, - nextOffset: nextOffset, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.forwards) { - b.write(Primitive.Vector.write(this.forwards) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBroadcastStats extends TLObject { - __response__!: Raw.stats.TypeBroadcastStats; - dark?: boolean; - channel!: Raw.TypeInputChannel; - - constructor(params: { dark?: boolean; channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'stats.GetBroadcastStats'; - this.constructorId = 0xab42441a; - this.subclassOfId = 0x7ff25428; - this._slots = ['dark', 'channel']; - this.dark = params.dark; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - return new Raw.stats.GetBroadcastStats({ dark: dark, channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LoadAsyncGraph extends TLObject { - __response__!: Raw.TypeStatsGraph; - token!: string; - x?: long; - - constructor(params: { token: string; x?: long }) { - super(); - this.classType = 'functions'; - this.className = 'stats.LoadAsyncGraph'; - this.constructorId = 0x621d5fa0; - this.subclassOfId = 0x9b903153; - this._slots = ['token', 'x']; - this.token = params.token; - this.x = params.x; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let token = await Primitive.String.read(_data); - let x = flags & (1 << 0) ? await Primitive.Long.read(_data) : undefined; - return new Raw.stats.LoadAsyncGraph({ token: token, x: x }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.x !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.token !== undefined) { - b.write(Primitive.String.write(this.token) as unknown as Buffer); - } - if (this.x !== undefined) { - b.write(Primitive.Long.write(this.x) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMegagroupStats extends TLObject { - __response__!: Raw.stats.TypeMegagroupStats; - dark?: boolean; - channel!: Raw.TypeInputChannel; - - constructor(params: { dark?: boolean; channel: Raw.TypeInputChannel }) { - super(); - this.classType = 'functions'; - this.className = 'stats.GetMegagroupStats'; - this.constructorId = 0xdcdf8607; - this.subclassOfId = 0x5b59be8d; - this._slots = ['dark', 'channel']; - this.dark = params.dark; - this.channel = params.channel; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - return new Raw.stats.GetMegagroupStats({ dark: dark, channel: channel }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessagePublicForwards extends TLObject { - __response__!: Raw.stats.TypePublicForwards; - channel!: Raw.TypeInputChannel; - msgId!: int; - offset!: string; - limit!: int; - - constructor(params: { - channel: Raw.TypeInputChannel; - msgId: int; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'stats.GetMessagePublicForwards'; - this.constructorId = 0x5f150144; - this.subclassOfId = 0xa7283211; - this._slots = ['channel', 'msgId', 'offset', 'limit']; - this.channel = params.channel; - this.msgId = params.msgId; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let channel = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.stats.GetMessagePublicForwards({ - channel: channel, - msgId: msgId, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMessageStats extends TLObject { - __response__!: Raw.stats.TypeMessageStats; - dark?: boolean; - channel!: Raw.TypeInputChannel; - msgId!: int; - - constructor(params: { dark?: boolean; channel: Raw.TypeInputChannel; msgId: int }) { - super(); - this.classType = 'functions'; - this.className = 'stats.GetMessageStats'; - this.constructorId = 0xb6e0a3f5; - this.subclassOfId = 0x9604a322; - this._slots = ['dark', 'channel', 'msgId']; - this.dark = params.dark; - this.channel = params.channel; - this.msgId = params.msgId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let channel = await TLObject.read(_data); - let msgId = await Primitive.Int.read(_data); - return new Raw.stats.GetMessageStats({ dark: dark, channel: channel, msgId: msgId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.channel !== undefined) { - b.write(this.channel.write() as unknown as Buffer); - } - if (this.msgId !== undefined) { - b.write(Primitive.Int.write(this.msgId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoryStats extends TLObject { - __response__!: Raw.stats.TypeStoryStats; - dark?: boolean; - peer!: Raw.TypeInputPeer; - id!: int; - - constructor(params: { dark?: boolean; peer: Raw.TypeInputPeer; id: int }) { - super(); - this.classType = 'functions'; - this.className = 'stats.GetStoryStats'; - this.constructorId = 0x374fef40; - this.subclassOfId = 0x8b4d43d4; - this._slots = ['dark', 'peer', 'id']; - this.dark = params.dark; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let dark = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.stats.GetStoryStats({ dark: dark, peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.dark ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoryPublicForwards extends TLObject { - __response__!: Raw.stats.TypePublicForwards; - peer!: Raw.TypeInputPeer; - id!: int; - offset!: string; - limit!: int; - - constructor(params: { peer: Raw.TypeInputPeer; id: int; offset: string; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'stats.GetStoryPublicForwards'; - this.constructorId = 0xa6437ef6; - this.subclassOfId = 0xa7283211; - this._slots = ['peer', 'id', 'offset', 'limit']; - this.peer = params.peer; - this.id = params.id; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.stats.GetStoryPublicForwards({ - peer: peer, - id: id, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace stickers { - export type TypeSuggestedShortName = Raw.stickers.SuggestedShortName; - export class SuggestedShortName extends TLObject { - shortName!: string; - - constructor(params: { shortName: string }) { - super(); - this.classType = 'types'; - this.className = 'stickers.SuggestedShortName'; - this.constructorId = 0x85fea03f; - this.subclassOfId = 0xc44a4b21; - this._slots = ['shortName']; - this.shortName = params.shortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortName = await Primitive.String.read(_data); - return new Raw.stickers.SuggestedShortName({ shortName: shortName }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CreateStickerSet extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - masks?: boolean; - emojis?: boolean; - textColor?: boolean; - userId!: Raw.TypeInputUser; - title!: string; - shortName!: string; - thumb?: Raw.TypeInputDocument; - stickers!: Vector; - software?: string; - - constructor(params: { - masks?: boolean; - emojis?: boolean; - textColor?: boolean; - userId: Raw.TypeInputUser; - title: string; - shortName: string; - thumb?: Raw.TypeInputDocument; - stickers: Vector; - software?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.CreateStickerSet'; - this.constructorId = 0x9021ab67; - this.subclassOfId = 0x9b704a5a; - this._slots = [ - 'masks', - 'emojis', - 'textColor', - 'userId', - 'title', - 'shortName', - 'thumb', - 'stickers', - 'software', - ]; - this.masks = params.masks; - this.emojis = params.emojis; - this.textColor = params.textColor; - this.userId = params.userId; - this.title = params.title; - this.shortName = params.shortName; - this.thumb = params.thumb; - this.stickers = params.stickers; - this.software = params.software; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let masks = flags & (1 << 0) ? true : false; - let emojis = flags & (1 << 5) ? true : false; - let textColor = flags & (1 << 6) ? true : false; - let userId = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let shortName = await Primitive.String.read(_data); - let thumb = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let stickers = await TLObject.read(_data); - let software = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - return new Raw.stickers.CreateStickerSet({ - masks: masks, - emojis: emojis, - textColor: textColor, - userId: userId, - title: title, - shortName: shortName, - thumb: thumb, - stickers: stickers, - software: software, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.masks ? 1 << 0 : 0; - flags |= this.emojis ? 1 << 5 : 0; - flags |= this.textColor ? 1 << 6 : 0; - flags |= this.thumb !== undefined ? 1 << 2 : 0; - flags |= this.software !== undefined ? 1 << 3 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.stickers) { - b.write(Primitive.Vector.write(this.stickers) as unknown as Buffer); - } - if (this.software !== undefined) { - b.write(Primitive.String.write(this.software) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RemoveStickerFromSet extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - sticker!: Raw.TypeInputDocument; - - constructor(params: { sticker: Raw.TypeInputDocument }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.RemoveStickerFromSet'; - this.constructorId = 0xf7760f51; - this.subclassOfId = 0x9b704a5a; - this._slots = ['sticker']; - this.sticker = params.sticker; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sticker = await TLObject.read(_data); - return new Raw.stickers.RemoveStickerFromSet({ sticker: sticker }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChangeStickerPosition extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - sticker!: Raw.TypeInputDocument; - position!: int; - - constructor(params: { sticker: Raw.TypeInputDocument; position: int }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.ChangeStickerPosition'; - this.constructorId = 0xffb6d4ca; - this.subclassOfId = 0x9b704a5a; - this._slots = ['sticker', 'position']; - this.sticker = params.sticker; - this.position = params.position; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sticker = await TLObject.read(_data); - let position = await Primitive.Int.read(_data); - return new Raw.stickers.ChangeStickerPosition({ sticker: sticker, position: position }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - if (this.position !== undefined) { - b.write(Primitive.Int.write(this.position) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AddStickerToSet extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - stickerset!: Raw.TypeInputStickerSet; - sticker!: Raw.TypeInputStickerSetItem; - - constructor(params: { - stickerset: Raw.TypeInputStickerSet; - sticker: Raw.TypeInputStickerSetItem; - }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.AddStickerToSet'; - this.constructorId = 0x8653febe; - this.subclassOfId = 0x9b704a5a; - this._slots = ['stickerset', 'sticker']; - this.stickerset = params.stickerset; - this.sticker = params.sticker; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - let sticker = await TLObject.read(_data); - return new Raw.stickers.AddStickerToSet({ stickerset: stickerset, sticker: sticker }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetStickerSetThumb extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - stickerset!: Raw.TypeInputStickerSet; - thumb?: Raw.TypeInputDocument; - thumbDocumentId?: long; - - constructor(params: { - stickerset: Raw.TypeInputStickerSet; - thumb?: Raw.TypeInputDocument; - thumbDocumentId?: long; - }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.SetStickerSetThumb'; - this.constructorId = 0xa76a5392; - this.subclassOfId = 0x9b704a5a; - this._slots = ['stickerset', 'thumb', 'thumbDocumentId']; - this.stickerset = params.stickerset; - this.thumb = params.thumb; - this.thumbDocumentId = params.thumbDocumentId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let stickerset = await TLObject.read(_data); - let thumb = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let thumbDocumentId = flags & (1 << 1) ? await Primitive.Long.read(_data) : undefined; - return new Raw.stickers.SetStickerSetThumb({ - stickerset: stickerset, - thumb: thumb, - thumbDocumentId: thumbDocumentId, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.thumb !== undefined ? 1 << 0 : 0; - flags |= this.thumbDocumentId !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.thumb !== undefined) { - b.write(this.thumb.write() as unknown as Buffer); - } - if (this.thumbDocumentId !== undefined) { - b.write(Primitive.Long.write(this.thumbDocumentId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckShortName extends TLObject { - __response__!: Bool; - shortName!: string; - - constructor(params: { shortName: string }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.CheckShortName'; - this.constructorId = 0x284b3639; - this.subclassOfId = 0xf5b399ac; - this._slots = ['shortName']; - this.shortName = params.shortName; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let shortName = await Primitive.String.read(_data); - return new Raw.stickers.CheckShortName({ shortName: shortName }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.shortName !== undefined) { - b.write(Primitive.String.write(this.shortName) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SuggestShortName extends TLObject { - __response__!: Raw.stickers.TypeSuggestedShortName; - title!: string; - - constructor(params: { title: string }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.SuggestShortName'; - this.constructorId = 0x4dafc503; - this.subclassOfId = 0xc44a4b21; - this._slots = ['title']; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let title = await Primitive.String.read(_data); - return new Raw.stickers.SuggestShortName({ title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChangeSticker extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - sticker!: Raw.TypeInputDocument; - emoji?: string; - maskCoords?: Raw.TypeMaskCoords; - keywords?: string; - - constructor(params: { - sticker: Raw.TypeInputDocument; - emoji?: string; - maskCoords?: Raw.TypeMaskCoords; - keywords?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.ChangeSticker'; - this.constructorId = 0xf5537ebc; - this.subclassOfId = 0x9b704a5a; - this._slots = ['sticker', 'emoji', 'maskCoords', 'keywords']; - this.sticker = params.sticker; - this.emoji = params.emoji; - this.maskCoords = params.maskCoords; - this.keywords = params.keywords; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let sticker = await TLObject.read(_data); - let emoji = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let maskCoords = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let keywords = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.stickers.ChangeSticker({ - sticker: sticker, - emoji: emoji, - maskCoords: maskCoords, - keywords: keywords, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.emoji !== undefined ? 1 << 0 : 0; - flags |= this.maskCoords !== undefined ? 1 << 1 : 0; - flags |= this.keywords !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - if (this.emoji !== undefined) { - b.write(Primitive.String.write(this.emoji) as unknown as Buffer); - } - if (this.maskCoords !== undefined) { - b.write(this.maskCoords.write() as unknown as Buffer); - } - if (this.keywords !== undefined) { - b.write(Primitive.String.write(this.keywords) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class RenameStickerSet extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - stickerset!: Raw.TypeInputStickerSet; - title!: string; - - constructor(params: { stickerset: Raw.TypeInputStickerSet; title: string }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.RenameStickerSet'; - this.constructorId = 0x124b1c00; - this.subclassOfId = 0x9b704a5a; - this._slots = ['stickerset', 'title']; - this.stickerset = params.stickerset; - this.title = params.title; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - return new Raw.stickers.RenameStickerSet({ stickerset: stickerset, title: title }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteStickerSet extends TLObject { - __response__!: Bool; - stickerset!: Raw.TypeInputStickerSet; - - constructor(params: { stickerset: Raw.TypeInputStickerSet }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.DeleteStickerSet'; - this.constructorId = 0x87704394; - this.subclassOfId = 0xf5b399ac; - this._slots = ['stickerset']; - this.stickerset = params.stickerset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stickerset = await TLObject.read(_data); - return new Raw.stickers.DeleteStickerSet({ stickerset: stickerset }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stickerset !== undefined) { - b.write(this.stickerset.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReplaceSticker extends TLObject { - __response__!: Raw.messages.TypeStickerSet; - sticker!: Raw.TypeInputDocument; - newSticker!: Raw.TypeInputStickerSetItem; - - constructor(params: { - sticker: Raw.TypeInputDocument; - newSticker: Raw.TypeInputStickerSetItem; - }) { - super(); - this.classType = 'functions'; - this.className = 'stickers.ReplaceSticker'; - this.constructorId = 0x4696459a; - this.subclassOfId = 0x9b704a5a; - this._slots = ['sticker', 'newSticker']; - this.sticker = params.sticker; - this.newSticker = params.newSticker; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let sticker = await TLObject.read(_data); - let newSticker = await TLObject.read(_data); - return new Raw.stickers.ReplaceSticker({ sticker: sticker, newSticker: newSticker }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.sticker !== undefined) { - b.write(this.sticker.write() as unknown as Buffer); - } - if (this.newSticker !== undefined) { - b.write(this.newSticker.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace users { - export type TypeUsers = Raw.users.Users | Raw.users.UsersSlice; - export type TypeUserFull = Raw.users.UserFull; - export class UserFull extends TLObject { - fullUser!: Raw.TypeUserFull; - chats!: Vector; - users!: Vector; - - constructor(params: { - fullUser: Raw.TypeUserFull; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'users.UserFull'; - this.constructorId = 0x3b6d152e; - this.subclassOfId = 0x83df9df5; - this._slots = ['fullUser', 'chats', 'users']; - this.fullUser = params.fullUser; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let fullUser = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.users.UserFull({ fullUser: fullUser, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.fullUser !== undefined) { - b.write(this.fullUser.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Users extends TLObject { - users!: Vector; - - constructor(params: { users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'users.Users'; - this.constructorId = 0x62d706b8; - this.subclassOfId = 0xf24bf0c0; - this._slots = ['users']; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let users = await TLObject.read(_data); - return new Raw.users.Users({ users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UsersSlice extends TLObject { - count!: int; - users!: Vector; - - constructor(params: { count: int; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'users.UsersSlice'; - this.constructorId = 0x315a4974; - this.subclassOfId = 0xf24bf0c0; - this._slots = ['count', 'users']; - this.count = params.count; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let count = await Primitive.Int.read(_data); - let users = await TLObject.read(_data); - return new Raw.users.UsersSlice({ count: count, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUsers extends TLObject { - __response__!: Vector; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'users.GetUsers'; - this.constructorId = 0xd91a548; - this.subclassOfId = 0x406da4d; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.users.GetUsers({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetFullUser extends TLObject { - __response__!: Raw.users.TypeUserFull; - id!: Raw.TypeInputUser; - - constructor(params: { id: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'users.GetFullUser'; - this.constructorId = 0xb60f5918; - this.subclassOfId = 0x83df9df5; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.users.GetFullUser({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetSecureValueErrors extends TLObject { - __response__!: Bool; - id!: Raw.TypeInputUser; - errors!: Vector; - - constructor(params: { id: Raw.TypeInputUser; errors: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'users.SetSecureValueErrors'; - this.constructorId = 0x90c894b5; - this.subclassOfId = 0xf5b399ac; - this._slots = ['id', 'errors']; - this.id = params.id; - this.errors = params.errors; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - let errors = await TLObject.read(_data); - return new Raw.users.SetSecureValueErrors({ id: id, errors: errors }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id !== undefined) { - b.write(this.id.write() as unknown as Buffer); - } - if (this.errors) { - b.write(Primitive.Vector.write(this.errors) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetRequirementsToContact extends TLObject { - __response__!: Vector; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'users.GetRequirementsToContact'; - this.constructorId = 0xd89a83a3; - this.subclassOfId = 0x322623c3; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.users.GetRequirementsToContact({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace chatlists { - export type TypeChatlistUpdates = Raw.chatlists.ChatlistUpdates; - export type TypeChatlistInvite = - | Raw.chatlists.ChatlistInviteAlready - | Raw.chatlists.ChatlistInvite; - export type TypeExportedInvites = Raw.chatlists.ExportedInvites; - export type TypeExportedChatlistInvite = Raw.chatlists.ExportedChatlistInvite; - export class ExportedChatlistInvite extends TLObject { - filter!: Raw.TypeDialogFilter; - invite!: Raw.TypeExportedChatlistInvite; - - constructor(params: { - filter: Raw.TypeDialogFilter; - invite: Raw.TypeExportedChatlistInvite; - }) { - super(); - this.classType = 'types'; - this.className = 'chatlists.ExportedChatlistInvite'; - this.constructorId = 0x10e6e3a6; - this.subclassOfId = 0xc2694ee9; - this._slots = ['filter', 'invite']; - this.filter = params.filter; - this.invite = params.invite; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let filter = await TLObject.read(_data); - let invite = await TLObject.read(_data); - return new Raw.chatlists.ExportedChatlistInvite({ filter: filter, invite: invite }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.filter !== undefined) { - b.write(this.filter.write() as unknown as Buffer); - } - if (this.invite !== undefined) { - b.write(this.invite.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportedInvites extends TLObject { - invites!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - invites: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'chatlists.ExportedInvites'; - this.constructorId = 0x10ab6dc7; - this.subclassOfId = 0xe6c209c0; - this._slots = ['invites', 'chats', 'users']; - this.invites = params.invites; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let invites = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.chatlists.ExportedInvites({ invites: invites, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.invites) { - b.write(Primitive.Vector.write(this.invites) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatlistInviteAlready extends TLObject { - filterId!: int; - missingPeers!: Vector; - alreadyPeers!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - filterId: int; - missingPeers: Vector; - alreadyPeers: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'chatlists.ChatlistInviteAlready'; - this.constructorId = 0xfa87f659; - this.subclassOfId = 0x41720e75; - this._slots = ['filterId', 'missingPeers', 'alreadyPeers', 'chats', 'users']; - this.filterId = params.filterId; - this.missingPeers = params.missingPeers; - this.alreadyPeers = params.alreadyPeers; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let filterId = await Primitive.Int.read(_data); - let missingPeers = await TLObject.read(_data); - let alreadyPeers = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.chatlists.ChatlistInviteAlready({ - filterId: filterId, - missingPeers: missingPeers, - alreadyPeers: alreadyPeers, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.filterId !== undefined) { - b.write(Primitive.Int.write(this.filterId) as unknown as Buffer); - } - if (this.missingPeers) { - b.write(Primitive.Vector.write(this.missingPeers) as unknown as Buffer); - } - if (this.alreadyPeers) { - b.write(Primitive.Vector.write(this.alreadyPeers) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatlistInvite extends TLObject { - titleNoanimate?: boolean; - title!: Raw.TypeTextWithEntities; - emoticon?: string; - peers!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - titleNoanimate?: boolean; - title: Raw.TypeTextWithEntities; - emoticon?: string; - peers: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'chatlists.ChatlistInvite'; - this.constructorId = 0xf10ece2f; - this.subclassOfId = 0x41720e75; - this._slots = ['titleNoanimate', 'title', 'emoticon', 'peers', 'chats', 'users']; - this.titleNoanimate = params.titleNoanimate; - this.title = params.title; - this.emoticon = params.emoticon; - this.peers = params.peers; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let titleNoanimate = flags & (1 << 1) ? true : false; - let title = await TLObject.read(_data); - let emoticon = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let peers = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.chatlists.ChatlistInvite({ - titleNoanimate: titleNoanimate, - title: title, - emoticon: emoticon, - peers: peers, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.titleNoanimate ? 1 << 1 : 0; - flags |= this.emoticon !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.title !== undefined) { - b.write(this.title.write() as unknown as Buffer); - } - if (this.emoticon !== undefined) { - b.write(Primitive.String.write(this.emoticon) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ChatlistUpdates extends TLObject { - missingPeers!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - missingPeers: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'chatlists.ChatlistUpdates'; - this.constructorId = 0x93bd878d; - this.subclassOfId = 0x7d1641ea; - this._slots = ['missingPeers', 'chats', 'users']; - this.missingPeers = params.missingPeers; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let missingPeers = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.chatlists.ChatlistUpdates({ - missingPeers: missingPeers, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.missingPeers) { - b.write(Primitive.Vector.write(this.missingPeers) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportChatlistInvite extends TLObject { - __response__!: Raw.chatlists.TypeExportedChatlistInvite; - chatlist!: Raw.TypeInputChatlist; - title!: string; - peers!: Vector; - - constructor(params: { - chatlist: Raw.TypeInputChatlist; - title: string; - peers: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.ExportChatlistInvite'; - this.constructorId = 0x8472478e; - this.subclassOfId = 0xc2694ee9; - this._slots = ['chatlist', 'title', 'peers']; - this.chatlist = params.chatlist; - this.title = params.title; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - let title = await Primitive.String.read(_data); - let peers = await TLObject.read(_data); - return new Raw.chatlists.ExportChatlistInvite({ - chatlist: chatlist, - title: title, - peers: peers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteExportedInvite extends TLObject { - __response__!: Bool; - chatlist!: Raw.TypeInputChatlist; - slug!: string; - - constructor(params: { chatlist: Raw.TypeInputChatlist; slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.DeleteExportedInvite'; - this.constructorId = 0x719c5c5e; - this.subclassOfId = 0xf5b399ac; - this._slots = ['chatlist', 'slug']; - this.chatlist = params.chatlist; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - let slug = await Primitive.String.read(_data); - return new Raw.chatlists.DeleteExportedInvite({ chatlist: chatlist, slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditExportedInvite extends TLObject { - __response__!: Raw.TypeExportedChatlistInvite; - chatlist!: Raw.TypeInputChatlist; - slug!: string; - title?: string; - peers?: Vector; - - constructor(params: { - chatlist: Raw.TypeInputChatlist; - slug: string; - title?: string; - peers?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.EditExportedInvite'; - this.constructorId = 0x653db63d; - this.subclassOfId = 0x7711f8ff; - this._slots = ['chatlist', 'slug', 'title', 'peers']; - this.chatlist = params.chatlist; - this.slug = params.slug; - this.title = params.title; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let chatlist = await TLObject.read(_data); - let slug = await Primitive.String.read(_data); - let title = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let peers = flags & (1 << 2) ? await TLObject.read(_data) : []; - return new Raw.chatlists.EditExportedInvite({ - chatlist: chatlist, - slug: slug, - title: title, - peers: peers, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.title !== undefined ? 1 << 1 : 0; - flags |= this.peers ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.title !== undefined) { - b.write(Primitive.String.write(this.title) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetExportedInvites extends TLObject { - __response__!: Raw.chatlists.TypeExportedInvites; - chatlist!: Raw.TypeInputChatlist; - - constructor(params: { chatlist: Raw.TypeInputChatlist }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.GetExportedInvites'; - this.constructorId = 0xce03da83; - this.subclassOfId = 0xe6c209c0; - this._slots = ['chatlist']; - this.chatlist = params.chatlist; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - return new Raw.chatlists.GetExportedInvites({ chatlist: chatlist }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckChatlistInvite extends TLObject { - __response__!: Raw.chatlists.TypeChatlistInvite; - slug!: string; - - constructor(params: { slug: string }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.CheckChatlistInvite'; - this.constructorId = 0x41c10fff; - this.subclassOfId = 0x41720e75; - this._slots = ['slug']; - this.slug = params.slug; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - return new Raw.chatlists.CheckChatlistInvite({ slug: slug }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JoinChatlistInvite extends TLObject { - __response__!: Raw.TypeUpdates; - slug!: string; - peers!: Vector; - - constructor(params: { slug: string; peers: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.JoinChatlistInvite'; - this.constructorId = 0xa6b1e39a; - this.subclassOfId = 0x8af52aac; - this._slots = ['slug', 'peers']; - this.slug = params.slug; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let slug = await Primitive.String.read(_data); - let peers = await TLObject.read(_data); - return new Raw.chatlists.JoinChatlistInvite({ slug: slug, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.slug !== undefined) { - b.write(Primitive.String.write(this.slug) as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChatlistUpdates extends TLObject { - __response__!: Raw.chatlists.TypeChatlistUpdates; - chatlist!: Raw.TypeInputChatlist; - - constructor(params: { chatlist: Raw.TypeInputChatlist }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.GetChatlistUpdates'; - this.constructorId = 0x89419521; - this.subclassOfId = 0x7d1641ea; - this._slots = ['chatlist']; - this.chatlist = params.chatlist; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - return new Raw.chatlists.GetChatlistUpdates({ chatlist: chatlist }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class JoinChatlistUpdates extends TLObject { - __response__!: Raw.TypeUpdates; - chatlist!: Raw.TypeInputChatlist; - peers!: Vector; - - constructor(params: { chatlist: Raw.TypeInputChatlist; peers: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.JoinChatlistUpdates'; - this.constructorId = 0xe089f8f5; - this.subclassOfId = 0x8af52aac; - this._slots = ['chatlist', 'peers']; - this.chatlist = params.chatlist; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - let peers = await TLObject.read(_data); - return new Raw.chatlists.JoinChatlistUpdates({ chatlist: chatlist, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class HideChatlistUpdates extends TLObject { - __response__!: Bool; - chatlist!: Raw.TypeInputChatlist; - - constructor(params: { chatlist: Raw.TypeInputChatlist }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.HideChatlistUpdates'; - this.constructorId = 0x66e486fb; - this.subclassOfId = 0xf5b399ac; - this._slots = ['chatlist']; - this.chatlist = params.chatlist; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - return new Raw.chatlists.HideChatlistUpdates({ chatlist: chatlist }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetLeaveChatlistSuggestions extends TLObject { - __response__!: Vector; - chatlist!: Raw.TypeInputChatlist; - - constructor(params: { chatlist: Raw.TypeInputChatlist }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.GetLeaveChatlistSuggestions'; - this.constructorId = 0xfdbcd714; - this.subclassOfId = 0xb9945d7e; - this._slots = ['chatlist']; - this.chatlist = params.chatlist; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - return new Raw.chatlists.GetLeaveChatlistSuggestions({ chatlist: chatlist }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class LeaveChatlist extends TLObject { - __response__!: Raw.TypeUpdates; - chatlist!: Raw.TypeInputChatlist; - peers!: Vector; - - constructor(params: { chatlist: Raw.TypeInputChatlist; peers: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'chatlists.LeaveChatlist'; - this.constructorId = 0x74fae13a; - this.subclassOfId = 0x8af52aac; - this._slots = ['chatlist', 'peers']; - this.chatlist = params.chatlist; - this.peers = params.peers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let chatlist = await TLObject.read(_data); - let peers = await TLObject.read(_data); - return new Raw.chatlists.LeaveChatlist({ chatlist: chatlist, peers: peers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.chatlist !== undefined) { - b.write(this.chatlist.write() as unknown as Buffer); - } - if (this.peers) { - b.write(Primitive.Vector.write(this.peers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace bots { - export type TypePreviewInfo = Raw.bots.PreviewInfo; - export type TypePopularAppBots = Raw.bots.PopularAppBots; - export type TypeBotInfo = Raw.bots.BotInfo; - export class BotInfo extends TLObject { - name!: string; - about!: string; - description!: string; - - constructor(params: { name: string; about: string; description: string }) { - super(); - this.classType = 'types'; - this.className = 'bots.BotInfo'; - this.constructorId = 0xe8a775b0; - this.subclassOfId = 0xca7b2235; - this._slots = ['name', 'about', 'description']; - this.name = params.name; - this.about = params.about; - this.description = params.description; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - let name = await Primitive.String.read(_data); - let about = await Primitive.String.read(_data); - let description = await Primitive.String.read(_data); - return new Raw.bots.BotInfo({ name: name, about: about, description: description }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PopularAppBots extends TLObject { - nextOffset?: string; - users!: Vector; - - constructor(params: { nextOffset?: string; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'bots.PopularAppBots'; - this.constructorId = 0x1991b13b; - this.subclassOfId = 0x7b64be7d; - this._slots = ['nextOffset', 'users']; - this.nextOffset = params.nextOffset; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let users = await TLObject.read(_data); - return new Raw.bots.PopularAppBots({ nextOffset: nextOffset, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PreviewInfo extends TLObject { - media!: Vector; - langCodes!: Vector; - - constructor(params: { media: Vector; langCodes: Vector }) { - super(); - this.classType = 'types'; - this.className = 'bots.PreviewInfo'; - this.constructorId = 0xca71d64; - this.subclassOfId = 0xf0c27f35; - this._slots = ['media', 'langCodes']; - this.media = params.media; - this.langCodes = params.langCodes; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let media = await TLObject.read(_data); - let langCodes = await TLObject.read(_data, Primitive.String); - return new Raw.bots.PreviewInfo({ media: media, langCodes: langCodes }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.media) { - b.write(Primitive.Vector.write(this.media) as unknown as Buffer); - } - if (this.langCodes) { - b.write(Primitive.Vector.write(this.langCodes, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendCustomRequest extends TLObject { - __response__!: Raw.TypeDataJSON; - customMethod!: string; - params!: Raw.TypeDataJSON; - - constructor(params: { customMethod: string; params: Raw.TypeDataJSON }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SendCustomRequest'; - this.constructorId = 0xaa2769ed; - this.subclassOfId = 0xad0352e8; - this._slots = ['customMethod', 'params']; - this.customMethod = params.customMethod; - this.params = params.params; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let customMethod = await Primitive.String.read(_data); - let params = await TLObject.read(_data); - return new Raw.bots.SendCustomRequest({ customMethod: customMethod, params: params }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.customMethod !== undefined) { - b.write(Primitive.String.write(this.customMethod) as unknown as Buffer); - } - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AnswerWebhookJSONQuery extends TLObject { - __response__!: Bool; - queryId!: long; - data!: Raw.TypeDataJSON; - - constructor(params: { queryId: long; data: Raw.TypeDataJSON }) { - super(); - this.classType = 'functions'; - this.className = 'bots.AnswerWebhookJSONQuery'; - this.constructorId = 0xe6213f4d; - this.subclassOfId = 0xf5b399ac; - this._slots = ['queryId', 'data']; - this.queryId = params.queryId; - this.data = params.data; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let queryId = await Primitive.Long.read(_data); - let data = await TLObject.read(_data); - return new Raw.bots.AnswerWebhookJSONQuery({ queryId: queryId, data: data }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.queryId !== undefined) { - b.write(Primitive.Long.write(this.queryId) as unknown as Buffer); - } - if (this.data !== undefined) { - b.write(this.data.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotCommands extends TLObject { - __response__!: Bool; - scope!: Raw.TypeBotCommandScope; - langCode!: string; - commands!: Vector; - - constructor(params: { - scope: Raw.TypeBotCommandScope; - langCode: string; - commands: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SetBotCommands'; - this.constructorId = 0x517165a; - this.subclassOfId = 0xf5b399ac; - this._slots = ['scope', 'langCode', 'commands']; - this.scope = params.scope; - this.langCode = params.langCode; - this.commands = params.commands; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let scope = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - let commands = await TLObject.read(_data); - return new Raw.bots.SetBotCommands({ - scope: scope, - langCode: langCode, - commands: commands, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.scope !== undefined) { - b.write(this.scope.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.commands) { - b.write(Primitive.Vector.write(this.commands) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ResetBotCommands extends TLObject { - __response__!: Bool; - scope!: Raw.TypeBotCommandScope; - langCode!: string; - - constructor(params: { scope: Raw.TypeBotCommandScope; langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'bots.ResetBotCommands'; - this.constructorId = 0x3d8de0f9; - this.subclassOfId = 0xf5b399ac; - this._slots = ['scope', 'langCode']; - this.scope = params.scope; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let scope = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - return new Raw.bots.ResetBotCommands({ scope: scope, langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.scope !== undefined) { - b.write(this.scope.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotCommands extends TLObject { - __response__!: Vector; - scope!: Raw.TypeBotCommandScope; - langCode!: string; - - constructor(params: { scope: Raw.TypeBotCommandScope; langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetBotCommands'; - this.constructorId = 0xe34c0dd6; - this.subclassOfId = 0xfae91529; - this._slots = ['scope', 'langCode']; - this.scope = params.scope; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let scope = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - return new Raw.bots.GetBotCommands({ scope: scope, langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.scope !== undefined) { - b.write(this.scope.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotMenuButton extends TLObject { - __response__!: Bool; - userId!: Raw.TypeInputUser; - button!: Raw.TypeBotMenuButton; - - constructor(params: { userId: Raw.TypeInputUser; button: Raw.TypeBotMenuButton }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SetBotMenuButton'; - this.constructorId = 0x4504d54f; - this.subclassOfId = 0xf5b399ac; - this._slots = ['userId', 'button']; - this.userId = params.userId; - this.button = params.button; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let button = await TLObject.read(_data); - return new Raw.bots.SetBotMenuButton({ userId: userId, button: button }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.button !== undefined) { - b.write(this.button.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotMenuButton extends TLObject { - __response__!: Raw.TypeBotMenuButton; - userId!: Raw.TypeInputUser; - - constructor(params: { userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetBotMenuButton'; - this.constructorId = 0x9c60eb28; - this.subclassOfId = 0x4c71bd3c; - this._slots = ['userId']; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - return new Raw.bots.GetBotMenuButton({ userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotBroadcastDefaultAdminRights extends TLObject { - __response__!: Bool; - adminRights!: Raw.TypeChatAdminRights; - - constructor(params: { adminRights: Raw.TypeChatAdminRights }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SetBotBroadcastDefaultAdminRights'; - this.constructorId = 0x788464e1; - this.subclassOfId = 0xf5b399ac; - this._slots = ['adminRights']; - this.adminRights = params.adminRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let adminRights = await TLObject.read(_data); - return new Raw.bots.SetBotBroadcastDefaultAdminRights({ adminRights: adminRights }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotGroupDefaultAdminRights extends TLObject { - __response__!: Bool; - adminRights!: Raw.TypeChatAdminRights; - - constructor(params: { adminRights: Raw.TypeChatAdminRights }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SetBotGroupDefaultAdminRights'; - this.constructorId = 0x925ec9ea; - this.subclassOfId = 0xf5b399ac; - this._slots = ['adminRights']; - this.adminRights = params.adminRights; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let adminRights = await TLObject.read(_data); - return new Raw.bots.SetBotGroupDefaultAdminRights({ adminRights: adminRights }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.adminRights !== undefined) { - b.write(this.adminRights.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetBotInfo extends TLObject { - __response__!: Bool; - bot?: Raw.TypeInputUser; - langCode!: string; - name?: string; - about?: string; - description?: string; - - constructor(params: { - bot?: Raw.TypeInputUser; - langCode: string; - name?: string; - about?: string; - description?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SetBotInfo'; - this.constructorId = 0x10cf3123; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'langCode', 'name', 'about', 'description']; - this.bot = params.bot; - this.langCode = params.langCode; - this.name = params.name; - this.about = params.about; - this.description = params.description; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let bot = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let langCode = await Primitive.String.read(_data); - let name = flags & (1 << 3) ? await Primitive.String.read(_data) : undefined; - let about = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let description = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - return new Raw.bots.SetBotInfo({ - bot: bot, - langCode: langCode, - name: name, - about: about, - description: description, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.bot !== undefined ? 1 << 2 : 0; - flags |= this.name !== undefined ? 1 << 3 : 0; - flags |= this.about !== undefined ? 1 << 0 : 0; - flags |= this.description !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.name !== undefined) { - b.write(Primitive.String.write(this.name) as unknown as Buffer); - } - if (this.about !== undefined) { - b.write(Primitive.String.write(this.about) as unknown as Buffer); - } - if (this.description !== undefined) { - b.write(Primitive.String.write(this.description) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotInfo extends TLObject { - __response__!: Raw.bots.TypeBotInfo; - bot?: Raw.TypeInputUser; - langCode!: string; - - constructor(params: { bot?: Raw.TypeInputUser; langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetBotInfo'; - this.constructorId = 0xdcd914fd; - this.subclassOfId = 0xca7b2235; - this._slots = ['bot', 'langCode']; - this.bot = params.bot; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let bot = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let langCode = await Primitive.String.read(_data); - return new Raw.bots.GetBotInfo({ bot: bot, langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.bot !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderUsernames extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - order!: Vector; - - constructor(params: { bot: Raw.TypeInputUser; order: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'bots.ReorderUsernames'; - this.constructorId = 0x9709b1c2; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'order']; - this.bot = params.bot; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let order = await TLObject.read(_data, Primitive.String); - return new Raw.bots.ReorderUsernames({ bot: bot, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleUsername extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - username!: string; - active!: Bool; - - constructor(params: { bot: Raw.TypeInputUser; username: string; active: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'bots.ToggleUsername'; - this.constructorId = 0x53ca973; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'username', 'active']; - this.bot = params.bot; - this.username = params.username; - this.active = params.active; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let username = await Primitive.String.read(_data); - let active = await Primitive.Bool.read(_data); - return new Raw.bots.ToggleUsername({ bot: bot, username: username, active: active }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.username !== undefined) { - b.write(Primitive.String.write(this.username) as unknown as Buffer); - } - if (this.active !== undefined) { - b.write(Primitive.Bool.write(this.active) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CanSendMessage extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - - constructor(params: { bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'bots.CanSendMessage'; - this.constructorId = 0x1359f4e6; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot']; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - return new Raw.bots.CanSendMessage({ bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AllowSendMessage extends TLObject { - __response__!: Raw.TypeUpdates; - bot!: Raw.TypeInputUser; - - constructor(params: { bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'bots.AllowSendMessage'; - this.constructorId = 0xf132e3ef; - this.subclassOfId = 0x8af52aac; - this._slots = ['bot']; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - return new Raw.bots.AllowSendMessage({ bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class InvokeWebViewCustomMethod extends TLObject { - __response__!: Raw.TypeDataJSON; - bot!: Raw.TypeInputUser; - customMethod!: string; - params!: Raw.TypeDataJSON; - - constructor(params: { - bot: Raw.TypeInputUser; - customMethod: string; - params: Raw.TypeDataJSON; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.InvokeWebViewCustomMethod'; - this.constructorId = 0x87fc5e7; - this.subclassOfId = 0xad0352e8; - this._slots = ['bot', 'customMethod', 'params']; - this.bot = params.bot; - this.customMethod = params.customMethod; - this.params = params.params; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let customMethod = await Primitive.String.read(_data); - let params = await TLObject.read(_data); - return new Raw.bots.InvokeWebViewCustomMethod({ - bot: bot, - customMethod: customMethod, - params: params, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.customMethod !== undefined) { - b.write(Primitive.String.write(this.customMethod) as unknown as Buffer); - } - if (this.params !== undefined) { - b.write(this.params.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPopularAppBots extends TLObject { - __response__!: Raw.bots.TypePopularAppBots; - offset!: string; - limit!: int; - - constructor(params: { offset: string; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetPopularAppBots'; - this.constructorId = 0xc2510192; - this.subclassOfId = 0x7b64be7d; - this._slots = ['offset', 'limit']; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.bots.GetPopularAppBots({ offset: offset, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AddPreviewMedia extends TLObject { - __response__!: Raw.TypeBotPreviewMedia; - bot!: Raw.TypeInputUser; - langCode!: string; - media!: Raw.TypeInputMedia; - - constructor(params: { bot: Raw.TypeInputUser; langCode: string; media: Raw.TypeInputMedia }) { - super(); - this.classType = 'functions'; - this.className = 'bots.AddPreviewMedia'; - this.constructorId = 0x17aeb75a; - this.subclassOfId = 0x562abc2d; - this._slots = ['bot', 'langCode', 'media']; - this.bot = params.bot; - this.langCode = params.langCode; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - return new Raw.bots.AddPreviewMedia({ bot: bot, langCode: langCode, media: media }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditPreviewMedia extends TLObject { - __response__!: Raw.TypeBotPreviewMedia; - bot!: Raw.TypeInputUser; - langCode!: string; - media!: Raw.TypeInputMedia; - newMedia!: Raw.TypeInputMedia; - - constructor(params: { - bot: Raw.TypeInputUser; - langCode: string; - media: Raw.TypeInputMedia; - newMedia: Raw.TypeInputMedia; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.EditPreviewMedia'; - this.constructorId = 0x8525606f; - this.subclassOfId = 0x562abc2d; - this._slots = ['bot', 'langCode', 'media', 'newMedia']; - this.bot = params.bot; - this.langCode = params.langCode; - this.media = params.media; - this.newMedia = params.newMedia; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - let newMedia = await TLObject.read(_data); - return new Raw.bots.EditPreviewMedia({ - bot: bot, - langCode: langCode, - media: media, - newMedia: newMedia, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.newMedia !== undefined) { - b.write(this.newMedia.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeletePreviewMedia extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - langCode!: string; - media!: Vector; - - constructor(params: { - bot: Raw.TypeInputUser; - langCode: string; - media: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.DeletePreviewMedia'; - this.constructorId = 0x2d0135b3; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'langCode', 'media']; - this.bot = params.bot; - this.langCode = params.langCode; - this.media = params.media; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - let media = await TLObject.read(_data); - return new Raw.bots.DeletePreviewMedia({ bot: bot, langCode: langCode, media: media }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.media) { - b.write(Primitive.Vector.write(this.media) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReorderPreviewMedias extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - langCode!: string; - order!: Vector; - - constructor(params: { - bot: Raw.TypeInputUser; - langCode: string; - order: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.ReorderPreviewMedias'; - this.constructorId = 0xb627f3aa; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'langCode', 'order']; - this.bot = params.bot; - this.langCode = params.langCode; - this.order = params.order; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - let order = await TLObject.read(_data); - return new Raw.bots.ReorderPreviewMedias({ bot: bot, langCode: langCode, order: order }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.order) { - b.write(Primitive.Vector.write(this.order) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPreviewInfo extends TLObject { - __response__!: Raw.bots.TypePreviewInfo; - bot!: Raw.TypeInputUser; - langCode!: string; - - constructor(params: { bot: Raw.TypeInputUser; langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetPreviewInfo'; - this.constructorId = 0x423ab3ad; - this.subclassOfId = 0xf0c27f35; - this._slots = ['bot', 'langCode']; - this.bot = params.bot; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let langCode = await Primitive.String.read(_data); - return new Raw.bots.GetPreviewInfo({ bot: bot, langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPreviewMedias extends TLObject { - __response__!: Vector; - bot!: Raw.TypeInputUser; - - constructor(params: { bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetPreviewMedias'; - this.constructorId = 0xa2a5594d; - this.subclassOfId = 0xf9862a78; - this._slots = ['bot']; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - return new Raw.bots.GetPreviewMedias({ bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateUserEmojiStatus extends TLObject { - __response__!: Bool; - userId!: Raw.TypeInputUser; - emojiStatus!: Raw.TypeEmojiStatus; - - constructor(params: { userId: Raw.TypeInputUser; emojiStatus: Raw.TypeEmojiStatus }) { - super(); - this.classType = 'functions'; - this.className = 'bots.UpdateUserEmojiStatus'; - this.constructorId = 0xed9f30c5; - this.subclassOfId = 0xf5b399ac; - this._slots = ['userId', 'emojiStatus']; - this.userId = params.userId; - this.emojiStatus = params.emojiStatus; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let userId = await TLObject.read(_data); - let emojiStatus = await TLObject.read(_data); - return new Raw.bots.UpdateUserEmojiStatus({ userId: userId, emojiStatus: emojiStatus }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - if (this.emojiStatus !== undefined) { - b.write(this.emojiStatus.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleUserEmojiStatusPermission extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - enabled!: Bool; - - constructor(params: { bot: Raw.TypeInputUser; enabled: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'bots.ToggleUserEmojiStatusPermission'; - this.constructorId = 0x6de6392; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'enabled']; - this.bot = params.bot; - this.enabled = params.enabled; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let enabled = await Primitive.Bool.read(_data); - return new Raw.bots.ToggleUserEmojiStatusPermission({ bot: bot, enabled: enabled }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.enabled !== undefined) { - b.write(Primitive.Bool.write(this.enabled) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CheckDownloadFileParams extends TLObject { - __response__!: Bool; - bot!: Raw.TypeInputUser; - fileName!: string; - url!: string; - - constructor(params: { bot: Raw.TypeInputUser; fileName: string; url: string }) { - super(); - this.classType = 'functions'; - this.className = 'bots.CheckDownloadFileParams'; - this.constructorId = 0x50077589; - this.subclassOfId = 0xf5b399ac; - this._slots = ['bot', 'fileName', 'url']; - this.bot = params.bot; - this.fileName = params.fileName; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - let fileName = await Primitive.String.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.bots.CheckDownloadFileParams({ bot: bot, fileName: fileName, url: url }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.fileName !== undefined) { - b.write(Primitive.String.write(this.fileName) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAdminedBots extends TLObject { - __response__!: Vector; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'bots.GetAdminedBots'; - this.constructorId = 0xb0711d83; - this.subclassOfId = 0x406da4d; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.bots.GetAdminedBots(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateStarRefProgram extends TLObject { - __response__!: Raw.TypeStarRefProgram; - bot!: Raw.TypeInputUser; - commissionPermille!: int; - durationMonths?: int; - - constructor(params: { - bot: Raw.TypeInputUser; - commissionPermille: int; - durationMonths?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.UpdateStarRefProgram'; - this.constructorId = 0x778b5ab3; - this.subclassOfId = 0x9888e002; - this._slots = ['bot', 'commissionPermille', 'durationMonths']; - this.bot = params.bot; - this.commissionPermille = params.commissionPermille; - this.durationMonths = params.durationMonths; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let bot = await TLObject.read(_data); - let commissionPermille = await Primitive.Int.read(_data); - let durationMonths = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - return new Raw.bots.UpdateStarRefProgram({ - bot: bot, - commissionPermille: commissionPermille, - durationMonths: durationMonths, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.durationMonths !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.commissionPermille !== undefined) { - b.write(Primitive.Int.write(this.commissionPermille) as unknown as Buffer); - } - if (this.durationMonths !== undefined) { - b.write(Primitive.Int.write(this.durationMonths) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SetCustomVerification extends TLObject { - __response__!: Bool; - enabled?: boolean; - bot?: Raw.TypeInputUser; - peer!: Raw.TypeInputPeer; - customDescription?: string; - - constructor(params: { - enabled?: boolean; - bot?: Raw.TypeInputUser; - peer: Raw.TypeInputPeer; - customDescription?: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'bots.SetCustomVerification'; - this.constructorId = 0x8b89dfbd; - this.subclassOfId = 0xf5b399ac; - this._slots = ['enabled', 'bot', 'peer', 'customDescription']; - this.enabled = params.enabled; - this.bot = params.bot; - this.peer = params.peer; - this.customDescription = params.customDescription; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let enabled = flags & (1 << 1) ? true : false; - let bot = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let peer = await TLObject.read(_data); - let customDescription = flags & (1 << 2) ? await Primitive.String.read(_data) : undefined; - return new Raw.bots.SetCustomVerification({ - enabled: enabled, - bot: bot, - peer: peer, - customDescription: customDescription, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.enabled ? 1 << 1 : 0; - flags |= this.bot !== undefined ? 1 << 0 : 0; - flags |= this.customDescription !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.customDescription !== undefined) { - b.write(Primitive.String.write(this.customDescription) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBotRecommendations extends TLObject { - __response__!: Raw.users.TypeUsers; - bot!: Raw.TypeInputUser; - - constructor(params: { bot: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'bots.GetBotRecommendations'; - this.constructorId = 0xa1b70815; - this.subclassOfId = 0xf24bf0c0; - this._slots = ['bot']; - this.bot = params.bot; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let bot = await TLObject.read(_data); - return new Raw.bots.GetBotRecommendations({ bot: bot }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.bot !== undefined) { - b.write(this.bot.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace stories { - export type TypeFoundStories = Raw.stories.FoundStories; - export type TypeStoryReactionsList = Raw.stories.StoryReactionsList; - export type TypePeerStories = Raw.stories.PeerStories; - export type TypeStoryViews = Raw.stories.StoryViews; - export type TypeStoryViewsList = Raw.stories.StoryViewsList; - export type TypeStories = Raw.stories.Stories; - export type TypeAllStories = Raw.stories.AllStoriesNotModified | Raw.stories.AllStories; - export type TypeCanSendStoryCount = Raw.stories.CanSendStoryCount; - export class AllStoriesNotModified extends TLObject { - state!: string; - stealthMode!: Raw.TypeStoriesStealthMode; - - constructor(params: { state: string; stealthMode: Raw.TypeStoriesStealthMode }) { - super(); - this.classType = 'types'; - this.className = 'stories.AllStoriesNotModified'; - this.constructorId = 0x1158fe3e; - this.subclassOfId = 0x7e60d0cd; - this._slots = ['state', 'stealthMode']; - this.state = params.state; - this.stealthMode = params.stealthMode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let state = await Primitive.String.read(_data); - let stealthMode = await TLObject.read(_data); - return new Raw.stories.AllStoriesNotModified({ state: state, stealthMode: stealthMode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.state !== undefined) { - b.write(Primitive.String.write(this.state) as unknown as Buffer); - } - if (this.stealthMode !== undefined) { - b.write(this.stealthMode.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class AllStories extends TLObject { - hasMore?: boolean; - count!: int; - state!: string; - peerStories!: Vector; - chats!: Vector; - users!: Vector; - stealthMode!: Raw.TypeStoriesStealthMode; - - constructor(params: { - hasMore?: boolean; - count: int; - state: string; - peerStories: Vector; - chats: Vector; - users: Vector; - stealthMode: Raw.TypeStoriesStealthMode; - }) { - super(); - this.classType = 'types'; - this.className = 'stories.AllStories'; - this.constructorId = 0x6efc5e81; - this.subclassOfId = 0x7e60d0cd; - this._slots = ['hasMore', 'count', 'state', 'peerStories', 'chats', 'users', 'stealthMode']; - this.hasMore = params.hasMore; - this.count = params.count; - this.state = params.state; - this.peerStories = params.peerStories; - this.chats = params.chats; - this.users = params.users; - this.stealthMode = params.stealthMode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hasMore = flags & (1 << 0) ? true : false; - let count = await Primitive.Int.read(_data); - let state = await Primitive.String.read(_data); - let peerStories = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let stealthMode = await TLObject.read(_data); - return new Raw.stories.AllStories({ - hasMore: hasMore, - count: count, - state: state, - peerStories: peerStories, - chats: chats, - users: users, - stealthMode: stealthMode, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hasMore ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.state !== undefined) { - b.write(Primitive.String.write(this.state) as unknown as Buffer); - } - if (this.peerStories) { - b.write(Primitive.Vector.write(this.peerStories) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.stealthMode !== undefined) { - b.write(this.stealthMode.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Stories extends TLObject { - count!: int; - stories!: Vector; - pinnedToTop?: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - stories: Vector; - pinnedToTop?: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'stories.Stories'; - this.constructorId = 0x63c3dd0a; - this.subclassOfId = 0x251c0c2c; - this._slots = ['count', 'stories', 'pinnedToTop', 'chats', 'users']; - this.count = params.count; - this.stories = params.stories; - this.pinnedToTop = params.pinnedToTop; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let stories = await TLObject.read(_data); - let pinnedToTop = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.stories.Stories({ - count: count, - stories: stories, - pinnedToTop: pinnedToTop, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinnedToTop ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.stories) { - b.write(Primitive.Vector.write(this.stories) as unknown as Buffer); - } - if (this.pinnedToTop) { - b.write(Primitive.Vector.write(this.pinnedToTop, Primitive.Int) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryViewsList extends TLObject { - count!: int; - viewsCount!: int; - forwardsCount!: int; - reactionsCount!: int; - views!: Vector; - chats!: Vector; - users!: Vector; - nextOffset?: string; - - constructor(params: { - count: int; - viewsCount: int; - forwardsCount: int; - reactionsCount: int; - views: Vector; - chats: Vector; - users: Vector; - nextOffset?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'stories.StoryViewsList'; - this.constructorId = 0x59d78fc5; - this.subclassOfId = 0xb9437560; - this._slots = [ - 'count', - 'viewsCount', - 'forwardsCount', - 'reactionsCount', - 'views', - 'chats', - 'users', - 'nextOffset', - ]; - this.count = params.count; - this.viewsCount = params.viewsCount; - this.forwardsCount = params.forwardsCount; - this.reactionsCount = params.reactionsCount; - this.views = params.views; - this.chats = params.chats; - this.users = params.users; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let viewsCount = await Primitive.Int.read(_data); - let forwardsCount = await Primitive.Int.read(_data); - let reactionsCount = await Primitive.Int.read(_data); - let views = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.stories.StoryViewsList({ - count: count, - viewsCount: viewsCount, - forwardsCount: forwardsCount, - reactionsCount: reactionsCount, - views: views, - chats: chats, - users: users, - nextOffset: nextOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.viewsCount !== undefined) { - b.write(Primitive.Int.write(this.viewsCount) as unknown as Buffer); - } - if (this.forwardsCount !== undefined) { - b.write(Primitive.Int.write(this.forwardsCount) as unknown as Buffer); - } - if (this.reactionsCount !== undefined) { - b.write(Primitive.Int.write(this.reactionsCount) as unknown as Buffer); - } - if (this.views) { - b.write(Primitive.Vector.write(this.views) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryViews extends TLObject { - views!: Vector; - users!: Vector; - - constructor(params: { views: Vector; users: Vector }) { - super(); - this.classType = 'types'; - this.className = 'stories.StoryViews'; - this.constructorId = 0xde9eed1d; - this.subclassOfId = 0x4b3fc4ba; - this._slots = ['views', 'users']; - this.views = params.views; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let views = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.stories.StoryViews({ views: views, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.views) { - b.write(Primitive.Vector.write(this.views) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class PeerStories extends TLObject { - stories!: Raw.TypePeerStories; - chats!: Vector; - users!: Vector; - - constructor(params: { - stories: Raw.TypePeerStories; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'stories.PeerStories'; - this.constructorId = 0xcae68768; - this.subclassOfId = 0x9d56cfd0; - this._slots = ['stories', 'chats', 'users']; - this.stories = params.stories; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let stories = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.stories.PeerStories({ stories: stories, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.stories !== undefined) { - b.write(this.stories.write() as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class StoryReactionsList extends TLObject { - count!: int; - reactions!: Vector; - chats!: Vector; - users!: Vector; - nextOffset?: string; - - constructor(params: { - count: int; - reactions: Vector; - chats: Vector; - users: Vector; - nextOffset?: string; - }) { - super(); - this.classType = 'types'; - this.className = 'stories.StoryReactionsList'; - this.constructorId = 0xaa5f789c; - this.subclassOfId = 0x46f91e3; - this._slots = ['count', 'reactions', 'chats', 'users', 'nextOffset']; - this.count = params.count; - this.reactions = params.reactions; - this.chats = params.chats; - this.users = params.users; - this.nextOffset = params.nextOffset; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let reactions = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.stories.StoryReactionsList({ - count: count, - reactions: reactions, - chats: chats, - users: users, - nextOffset: nextOffset, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.reactions) { - b.write(Primitive.Vector.write(this.reactions) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FoundStories extends TLObject { - count!: int; - stories!: Vector; - nextOffset?: string; - chats!: Vector; - users!: Vector; - - constructor(params: { - count: int; - stories: Vector; - nextOffset?: string; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'stories.FoundStories'; - this.constructorId = 0xe2de7737; - this.subclassOfId = 0x17790b35; - this._slots = ['count', 'stories', 'nextOffset', 'chats', 'users']; - this.count = params.count; - this.stories = params.stories; - this.nextOffset = params.nextOffset; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let stories = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.stories.FoundStories({ - count: count, - stories: stories, - nextOffset: nextOffset, - chats: chats, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.stories) { - b.write(Primitive.Vector.write(this.stories) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CanSendStoryCount extends TLObject { - countRemains!: int; - - constructor(params: { countRemains: int }) { - super(); - this.classType = 'types'; - this.className = 'stories.CanSendStoryCount'; - this.constructorId = 0xc387c04e; - this.subclassOfId = 0xcb53a298; - this._slots = ['countRemains']; - this.countRemains = params.countRemains; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let countRemains = await Primitive.Int.read(_data); - return new Raw.stories.CanSendStoryCount({ countRemains: countRemains }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.countRemains !== undefined) { - b.write(Primitive.Int.write(this.countRemains) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class CanSendStory extends TLObject { - __response__!: Raw.stories.TypeCanSendStoryCount; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'stories.CanSendStory'; - this.constructorId = 0x30eb63f0; - this.subclassOfId = 0xcb53a298; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.stories.CanSendStory({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendStory extends TLObject { - __response__!: Raw.TypeUpdates; - pinned?: boolean; - noforwards?: boolean; - fwdModified?: boolean; - peer!: Raw.TypeInputPeer; - media!: Raw.TypeInputMedia; - mediaAreas?: Vector; - caption?: string; - entities?: Vector; - privacyRules!: Vector; - randomId!: long; - period?: int; - fwdFromId?: Raw.TypeInputPeer; - fwdFromStory?: int; - - constructor(params: { - pinned?: boolean; - noforwards?: boolean; - fwdModified?: boolean; - peer: Raw.TypeInputPeer; - media: Raw.TypeInputMedia; - mediaAreas?: Vector; - caption?: string; - entities?: Vector; - privacyRules: Vector; - randomId: long; - period?: int; - fwdFromId?: Raw.TypeInputPeer; - fwdFromStory?: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.SendStory'; - this.constructorId = 0xe4e6694b; - this.subclassOfId = 0x8af52aac; - this._slots = [ - 'pinned', - 'noforwards', - 'fwdModified', - 'peer', - 'media', - 'mediaAreas', - 'caption', - 'entities', - 'privacyRules', - 'randomId', - 'period', - 'fwdFromId', - 'fwdFromStory', - ]; - this.pinned = params.pinned; - this.noforwards = params.noforwards; - this.fwdModified = params.fwdModified; - this.peer = params.peer; - this.media = params.media; - this.mediaAreas = params.mediaAreas; - this.caption = params.caption; - this.entities = params.entities; - this.privacyRules = params.privacyRules; - this.randomId = params.randomId; - this.period = params.period; - this.fwdFromId = params.fwdFromId; - this.fwdFromStory = params.fwdFromStory; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let pinned = flags & (1 << 2) ? true : false; - let noforwards = flags & (1 << 4) ? true : false; - let fwdModified = flags & (1 << 7) ? true : false; - let peer = await TLObject.read(_data); - let media = await TLObject.read(_data); - let mediaAreas = flags & (1 << 5) ? await TLObject.read(_data) : []; - let caption = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let privacyRules = await TLObject.read(_data); - let randomId = await Primitive.Long.read(_data); - let period = flags & (1 << 3) ? await Primitive.Int.read(_data) : undefined; - let fwdFromId = flags & (1 << 6) ? await TLObject.read(_data) : undefined; - let fwdFromStory = flags & (1 << 6) ? await Primitive.Int.read(_data) : undefined; - return new Raw.stories.SendStory({ - pinned: pinned, - noforwards: noforwards, - fwdModified: fwdModified, - peer: peer, - media: media, - mediaAreas: mediaAreas, - caption: caption, - entities: entities, - privacyRules: privacyRules, - randomId: randomId, - period: period, - fwdFromId: fwdFromId, - fwdFromStory: fwdFromStory, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.pinned ? 1 << 2 : 0; - flags |= this.noforwards ? 1 << 4 : 0; - flags |= this.fwdModified ? 1 << 7 : 0; - flags |= this.mediaAreas ? 1 << 5 : 0; - flags |= this.caption !== undefined ? 1 << 0 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.period !== undefined ? 1 << 3 : 0; - flags |= this.fwdFromId !== undefined ? 1 << 6 : 0; - flags |= this.fwdFromStory !== undefined ? 1 << 6 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.mediaAreas) { - b.write(Primitive.Vector.write(this.mediaAreas) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.privacyRules) { - b.write(Primitive.Vector.write(this.privacyRules) as unknown as Buffer); - } - if (this.randomId !== undefined) { - b.write(Primitive.Long.write(this.randomId) as unknown as Buffer); - } - if (this.period !== undefined) { - b.write(Primitive.Int.write(this.period) as unknown as Buffer); - } - if (this.fwdFromId !== undefined) { - b.write(this.fwdFromId.write() as unknown as Buffer); - } - if (this.fwdFromStory !== undefined) { - b.write(Primitive.Int.write(this.fwdFromStory) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class EditStory extends TLObject { - __response__!: Raw.TypeUpdates; - peer!: Raw.TypeInputPeer; - id!: int; - media?: Raw.TypeInputMedia; - mediaAreas?: Vector; - caption?: string; - entities?: Vector; - privacyRules?: Vector; - - constructor(params: { - peer: Raw.TypeInputPeer; - id: int; - media?: Raw.TypeInputMedia; - mediaAreas?: Vector; - caption?: string; - entities?: Vector; - privacyRules?: Vector; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.EditStory'; - this.constructorId = 0xb583ba46; - this.subclassOfId = 0x8af52aac; - this._slots = ['peer', 'id', 'media', 'mediaAreas', 'caption', 'entities', 'privacyRules']; - this.peer = params.peer; - this.id = params.id; - this.media = params.media; - this.mediaAreas = params.mediaAreas; - this.caption = params.caption; - this.entities = params.entities; - this.privacyRules = params.privacyRules; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let media = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let mediaAreas = flags & (1 << 3) ? await TLObject.read(_data) : []; - let caption = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let entities = flags & (1 << 1) ? await TLObject.read(_data) : []; - let privacyRules = flags & (1 << 2) ? await TLObject.read(_data) : []; - return new Raw.stories.EditStory({ - peer: peer, - id: id, - media: media, - mediaAreas: mediaAreas, - caption: caption, - entities: entities, - privacyRules: privacyRules, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.media !== undefined ? 1 << 0 : 0; - flags |= this.mediaAreas ? 1 << 3 : 0; - flags |= this.caption !== undefined ? 1 << 1 : 0; - flags |= this.entities ? 1 << 1 : 0; - flags |= this.privacyRules ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.media !== undefined) { - b.write(this.media.write() as unknown as Buffer); - } - if (this.mediaAreas) { - b.write(Primitive.Vector.write(this.mediaAreas) as unknown as Buffer); - } - if (this.caption !== undefined) { - b.write(Primitive.String.write(this.caption) as unknown as Buffer); - } - if (this.entities) { - b.write(Primitive.Vector.write(this.entities) as unknown as Buffer); - } - if (this.privacyRules) { - b.write(Primitive.Vector.write(this.privacyRules) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class DeleteStories extends TLObject { - __response__!: Vector; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'stories.DeleteStories'; - this.constructorId = 0xae59db5f; - this.subclassOfId = 0x5026710f; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.stories.DeleteStories({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TogglePinned extends TLObject { - __response__!: Vector; - peer!: Raw.TypeInputPeer; - id!: Vector; - pinned!: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector; pinned: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'stories.TogglePinned'; - this.constructorId = 0x9a75a1ef; - this.subclassOfId = 0x5026710f; - this._slots = ['peer', 'id', 'pinned']; - this.peer = params.peer; - this.id = params.id; - this.pinned = params.pinned; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - let pinned = await Primitive.Bool.read(_data); - return new Raw.stories.TogglePinned({ peer: peer, id: id, pinned: pinned }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.pinned !== undefined) { - b.write(Primitive.Bool.write(this.pinned) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAllStories extends TLObject { - __response__!: Raw.stories.TypeAllStories; - next?: boolean; - hidden?: boolean; - state?: string; - - constructor(params: { next?: boolean; hidden?: boolean; state?: string }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetAllStories'; - this.constructorId = 0xeeb0d625; - this.subclassOfId = 0x7e60d0cd; - this._slots = ['next', 'hidden', 'state']; - this.next = params.next; - this.hidden = params.hidden; - this.state = params.state; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let next = flags & (1 << 1) ? true : false; - let hidden = flags & (1 << 2) ? true : false; - let state = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.stories.GetAllStories({ next: next, hidden: hidden, state: state }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.next ? 1 << 1 : 0; - flags |= this.hidden ? 1 << 2 : 0; - flags |= this.state !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.state !== undefined) { - b.write(Primitive.String.write(this.state) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPinnedStories extends TLObject { - __response__!: Raw.stories.TypeStories; - peer!: Raw.TypeInputPeer; - offsetId!: int; - limit!: int; - - constructor(params: { peer: Raw.TypeInputPeer; offsetId: int; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetPinnedStories'; - this.constructorId = 0x5821a5dc; - this.subclassOfId = 0x251c0c2c; - this._slots = ['peer', 'offsetId', 'limit']; - this.peer = params.peer; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.stories.GetPinnedStories({ peer: peer, offsetId: offsetId, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoriesArchive extends TLObject { - __response__!: Raw.stories.TypeStories; - peer!: Raw.TypeInputPeer; - offsetId!: int; - limit!: int; - - constructor(params: { peer: Raw.TypeInputPeer; offsetId: int; limit: int }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetStoriesArchive'; - this.constructorId = 0xb4352016; - this.subclassOfId = 0x251c0c2c; - this._slots = ['peer', 'offsetId', 'limit']; - this.peer = params.peer; - this.offsetId = params.offsetId; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let offsetId = await Primitive.Int.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.stories.GetStoriesArchive({ peer: peer, offsetId: offsetId, limit: limit }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offsetId !== undefined) { - b.write(Primitive.Int.write(this.offsetId) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoriesByID extends TLObject { - __response__!: Raw.stories.TypeStories; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetStoriesByID'; - this.constructorId = 0x5774ca74; - this.subclassOfId = 0x251c0c2c; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.stories.GetStoriesByID({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ToggleAllStoriesHidden extends TLObject { - __response__!: Bool; - hidden!: Bool; - - constructor(params: { hidden: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'stories.ToggleAllStoriesHidden'; - this.constructorId = 0x7c2557c4; - this.subclassOfId = 0xf5b399ac; - this._slots = ['hidden']; - this.hidden = params.hidden; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let hidden = await Primitive.Bool.read(_data); - return new Raw.stories.ToggleAllStoriesHidden({ hidden: hidden }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.hidden !== undefined) { - b.write(Primitive.Bool.write(this.hidden) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ReadStories extends TLObject { - __response__!: Vector; - peer!: Raw.TypeInputPeer; - maxId!: int; - - constructor(params: { peer: Raw.TypeInputPeer; maxId: int }) { - super(); - this.classType = 'functions'; - this.className = 'stories.ReadStories'; - this.constructorId = 0xa556dac8; - this.subclassOfId = 0x5026710f; - this._slots = ['peer', 'maxId']; - this.peer = params.peer; - this.maxId = params.maxId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let maxId = await Primitive.Int.read(_data); - return new Raw.stories.ReadStories({ peer: peer, maxId: maxId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.maxId !== undefined) { - b.write(Primitive.Int.write(this.maxId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class IncrementStoryViews extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'stories.IncrementStoryViews'; - this.constructorId = 0xb2028afb; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.stories.IncrementStoryViews({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoryViewsList extends TLObject { - __response__!: Raw.stories.TypeStoryViewsList; - justContacts?: boolean; - reactionsFirst?: boolean; - forwardsFirst?: boolean; - peer!: Raw.TypeInputPeer; - q?: string; - id!: int; - offset!: string; - limit!: int; - - constructor(params: { - justContacts?: boolean; - reactionsFirst?: boolean; - forwardsFirst?: boolean; - peer: Raw.TypeInputPeer; - q?: string; - id: int; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetStoryViewsList'; - this.constructorId = 0x7ed23c57; - this.subclassOfId = 0xb9437560; - this._slots = [ - 'justContacts', - 'reactionsFirst', - 'forwardsFirst', - 'peer', - 'q', - 'id', - 'offset', - 'limit', - ]; - this.justContacts = params.justContacts; - this.reactionsFirst = params.reactionsFirst; - this.forwardsFirst = params.forwardsFirst; - this.peer = params.peer; - this.q = params.q; - this.id = params.id; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let justContacts = flags & (1 << 0) ? true : false; - let reactionsFirst = flags & (1 << 2) ? true : false; - let forwardsFirst = flags & (1 << 3) ? true : false; - let peer = await TLObject.read(_data); - let q = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let id = await Primitive.Int.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.stories.GetStoryViewsList({ - justContacts: justContacts, - reactionsFirst: reactionsFirst, - forwardsFirst: forwardsFirst, - peer: peer, - q: q, - id: id, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.justContacts ? 1 << 0 : 0; - flags |= this.reactionsFirst ? 1 << 2 : 0; - flags |= this.forwardsFirst ? 1 << 3 : 0; - flags |= this.q !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.q !== undefined) { - b.write(Primitive.String.write(this.q) as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoriesViews extends TLObject { - __response__!: Raw.stories.TypeStoryViews; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetStoriesViews'; - this.constructorId = 0x28e16cc8; - this.subclassOfId = 0x4b3fc4ba; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.stories.GetStoriesViews({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ExportStoryLink extends TLObject { - __response__!: Raw.TypeExportedStoryLink; - peer!: Raw.TypeInputPeer; - id!: int; - - constructor(params: { peer: Raw.TypeInputPeer; id: int }) { - super(); - this.classType = 'functions'; - this.className = 'stories.ExportStoryLink'; - this.constructorId = 0x7b8def20; - this.subclassOfId = 0xfc541a6; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - return new Raw.stories.ExportStoryLink({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Report extends TLObject { - __response__!: Raw.TypeReportResult; - peer!: Raw.TypeInputPeer; - id!: Vector; - option!: bytes; - message!: string; - - constructor(params: { - peer: Raw.TypeInputPeer; - id: Vector; - option: bytes; - message: string; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.Report'; - this.constructorId = 0x19d8eb45; - this.subclassOfId = 0xacd3f438; - this._slots = ['peer', 'id', 'option', 'message']; - this.peer = params.peer; - this.id = params.id; - this.option = params.option; - this.message = params.message; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - let option = await Primitive.Bytes.read(_data); - let message = await Primitive.String.read(_data); - return new Raw.stories.Report({ peer: peer, id: id, option: option, message: message }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - if (this.option !== undefined) { - b.write(Primitive.Bytes.write(this.option) as unknown as Buffer); - } - if (this.message !== undefined) { - b.write(Primitive.String.write(this.message) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ActivateStealthMode extends TLObject { - __response__!: Raw.TypeUpdates; - past?: boolean; - future?: boolean; - - constructor(params: { past?: boolean; future?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'stories.ActivateStealthMode'; - this.constructorId = 0x57bbd166; - this.subclassOfId = 0x8af52aac; - this._slots = ['past', 'future']; - this.past = params.past; - this.future = params.future; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let past = flags & (1 << 0) ? true : false; - let future = flags & (1 << 1) ? true : false; - return new Raw.stories.ActivateStealthMode({ past: past, future: future }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.past ? 1 << 0 : 0; - flags |= this.future ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SendReaction extends TLObject { - __response__!: Raw.TypeUpdates; - addToRecent?: boolean; - peer!: Raw.TypeInputPeer; - storyId!: int; - reaction!: Raw.TypeReaction; - - constructor(params: { - addToRecent?: boolean; - peer: Raw.TypeInputPeer; - storyId: int; - reaction: Raw.TypeReaction; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.SendReaction'; - this.constructorId = 0x7fd736b2; - this.subclassOfId = 0x8af52aac; - this._slots = ['addToRecent', 'peer', 'storyId', 'reaction']; - this.addToRecent = params.addToRecent; - this.peer = params.peer; - this.storyId = params.storyId; - this.reaction = params.reaction; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let addToRecent = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let storyId = await Primitive.Int.read(_data); - let reaction = await TLObject.read(_data); - return new Raw.stories.SendReaction({ - addToRecent: addToRecent, - peer: peer, - storyId: storyId, - reaction: reaction, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.addToRecent ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.storyId !== undefined) { - b.write(Primitive.Int.write(this.storyId) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPeerStories extends TLObject { - __response__!: Raw.stories.TypePeerStories; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetPeerStories'; - this.constructorId = 0x2c4ada50; - this.subclassOfId = 0x9d56cfd0; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.stories.GetPeerStories({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetAllReadPeerStories extends TLObject { - __response__!: Raw.TypeUpdates; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'stories.GetAllReadPeerStories'; - this.constructorId = 0x9b5ae7f9; - this.subclassOfId = 0x8af52aac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.stories.GetAllReadPeerStories(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetPeerMaxIDs extends TLObject { - __response__!: Vector; - id!: Vector; - - constructor(params: { id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetPeerMaxIDs'; - this.constructorId = 0x535983c3; - this.subclassOfId = 0x5026710f; - this._slots = ['id']; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let id = await TLObject.read(_data); - return new Raw.stories.GetPeerMaxIDs({ id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.id) { - b.write(Primitive.Vector.write(this.id) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetChatsToSend extends TLObject { - __response__!: Raw.messages.TypeChats; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'stories.GetChatsToSend'; - this.constructorId = 0xa56a8b60; - this.subclassOfId = 0x99d5cb14; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.stories.GetChatsToSend(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TogglePeerStoriesHidden extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - hidden!: Bool; - - constructor(params: { peer: Raw.TypeInputPeer; hidden: Bool }) { - super(); - this.classType = 'functions'; - this.className = 'stories.TogglePeerStoriesHidden'; - this.constructorId = 0xbd0415c4; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'hidden']; - this.peer = params.peer; - this.hidden = params.hidden; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let hidden = await Primitive.Bool.read(_data); - return new Raw.stories.TogglePeerStoriesHidden({ peer: peer, hidden: hidden }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.hidden !== undefined) { - b.write(Primitive.Bool.write(this.hidden) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStoryReactionsList extends TLObject { - __response__!: Raw.stories.TypeStoryReactionsList; - forwardsFirst?: boolean; - peer!: Raw.TypeInputPeer; - id!: int; - reaction?: Raw.TypeReaction; - offset?: string; - limit!: int; - - constructor(params: { - forwardsFirst?: boolean; - peer: Raw.TypeInputPeer; - id: int; - reaction?: Raw.TypeReaction; - offset?: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.GetStoryReactionsList'; - this.constructorId = 0xb9b2881f; - this.subclassOfId = 0x46f91e3; - this._slots = ['forwardsFirst', 'peer', 'id', 'reaction', 'offset', 'limit']; - this.forwardsFirst = params.forwardsFirst; - this.peer = params.peer; - this.id = params.id; - this.reaction = params.reaction; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let forwardsFirst = flags & (1 << 2) ? true : false; - let peer = await TLObject.read(_data); - let id = await Primitive.Int.read(_data); - let reaction = flags & (1 << 0) ? await TLObject.read(_data) : undefined; - let offset = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let limit = await Primitive.Int.read(_data); - return new Raw.stories.GetStoryReactionsList({ - forwardsFirst: forwardsFirst, - peer: peer, - id: id, - reaction: reaction, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.forwardsFirst ? 1 << 2 : 0; - flags |= this.reaction !== undefined ? 1 << 0 : 0; - flags |= this.offset !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id !== undefined) { - b.write(Primitive.Int.write(this.id) as unknown as Buffer); - } - if (this.reaction !== undefined) { - b.write(this.reaction.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class TogglePinnedToTop extends TLObject { - __response__!: Bool; - peer!: Raw.TypeInputPeer; - id!: Vector; - - constructor(params: { peer: Raw.TypeInputPeer; id: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'stories.TogglePinnedToTop'; - this.constructorId = 0xb297e9b; - this.subclassOfId = 0xf5b399ac; - this._slots = ['peer', 'id']; - this.peer = params.peer; - this.id = params.id; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let id = await TLObject.read(_data, Primitive.Int); - return new Raw.stories.TogglePinnedToTop({ peer: peer, id: id }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.id) { - b.write(Primitive.Vector.write(this.id, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class SearchPosts extends TLObject { - __response__!: Raw.stories.TypeFoundStories; - hashtag?: string; - area?: Raw.TypeMediaArea; - peer?: Raw.TypeInputPeer; - offset!: string; - limit!: int; - - constructor(params: { - hashtag?: string; - area?: Raw.TypeMediaArea; - peer?: Raw.TypeInputPeer; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'stories.SearchPosts'; - this.constructorId = 0xd1810907; - this.subclassOfId = 0x17790b35; - this._slots = ['hashtag', 'area', 'peer', 'offset', 'limit']; - this.hashtag = params.hashtag; - this.area = params.area; - this.peer = params.peer; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let hashtag = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let area = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let peer = flags & (1 << 2) ? await TLObject.read(_data) : undefined; - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.stories.SearchPosts({ - hashtag: hashtag, - area: area, - peer: peer, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.hashtag !== undefined ? 1 << 0 : 0; - flags |= this.area !== undefined ? 1 << 1 : 0; - flags |= this.peer !== undefined ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.hashtag !== undefined) { - b.write(Primitive.String.write(this.hashtag) as unknown as Buffer); - } - if (this.area !== undefined) { - b.write(this.area.write() as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace premium { - export type TypeBoostsStatus = Raw.premium.BoostsStatus; - export type TypeMyBoosts = Raw.premium.MyBoosts; - export type TypeBoostsList = Raw.premium.BoostsList; - export class BoostsList extends TLObject { - count!: int; - boosts!: Vector; - nextOffset?: string; - users!: Vector; - - constructor(params: { - count: int; - boosts: Vector; - nextOffset?: string; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'premium.BoostsList'; - this.constructorId = 0x86f8613c; - this.subclassOfId = 0x2235a8bd; - this._slots = ['count', 'boosts', 'nextOffset', 'users']; - this.count = params.count; - this.boosts = params.boosts; - this.nextOffset = params.nextOffset; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let count = await Primitive.Int.read(_data); - let boosts = await TLObject.read(_data); - let nextOffset = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - let users = await TLObject.read(_data); - return new Raw.premium.BoostsList({ - count: count, - boosts: boosts, - nextOffset: nextOffset, - users: users, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.nextOffset !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.count !== undefined) { - b.write(Primitive.Int.write(this.count) as unknown as Buffer); - } - if (this.boosts) { - b.write(Primitive.Vector.write(this.boosts) as unknown as Buffer); - } - if (this.nextOffset !== undefined) { - b.write(Primitive.String.write(this.nextOffset) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class MyBoosts extends TLObject { - myBoosts!: Vector; - chats!: Vector; - users!: Vector; - - constructor(params: { - myBoosts: Vector; - chats: Vector; - users: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'premium.MyBoosts'; - this.constructorId = 0x9ae228e2; - this.subclassOfId = 0xad3512db; - this._slots = ['myBoosts', 'chats', 'users']; - this.myBoosts = params.myBoosts; - this.chats = params.chats; - this.users = params.users; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let myBoosts = await TLObject.read(_data); - let chats = await TLObject.read(_data); - let users = await TLObject.read(_data); - return new Raw.premium.MyBoosts({ myBoosts: myBoosts, chats: chats, users: users }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.myBoosts) { - b.write(Primitive.Vector.write(this.myBoosts) as unknown as Buffer); - } - if (this.chats) { - b.write(Primitive.Vector.write(this.chats) as unknown as Buffer); - } - if (this.users) { - b.write(Primitive.Vector.write(this.users) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class BoostsStatus extends TLObject { - myBoost?: boolean; - level!: int; - currentLevelBoosts!: int; - boosts!: int; - giftBoosts?: int; - nextLevelBoosts?: int; - premiumAudience?: Raw.TypeStatsPercentValue; - boostUrl!: string; - prepaidGiveaways?: Vector; - myBoostSlots?: Vector; - - constructor(params: { - myBoost?: boolean; - level: int; - currentLevelBoosts: int; - boosts: int; - giftBoosts?: int; - nextLevelBoosts?: int; - premiumAudience?: Raw.TypeStatsPercentValue; - boostUrl: string; - prepaidGiveaways?: Vector; - myBoostSlots?: Vector; - }) { - super(); - this.classType = 'types'; - this.className = 'premium.BoostsStatus'; - this.constructorId = 0x4959427a; - this.subclassOfId = 0xc31b1ab9; - this._slots = [ - 'myBoost', - 'level', - 'currentLevelBoosts', - 'boosts', - 'giftBoosts', - 'nextLevelBoosts', - 'premiumAudience', - 'boostUrl', - 'prepaidGiveaways', - 'myBoostSlots', - ]; - this.myBoost = params.myBoost; - this.level = params.level; - this.currentLevelBoosts = params.currentLevelBoosts; - this.boosts = params.boosts; - this.giftBoosts = params.giftBoosts; - this.nextLevelBoosts = params.nextLevelBoosts; - this.premiumAudience = params.premiumAudience; - this.boostUrl = params.boostUrl; - this.prepaidGiveaways = params.prepaidGiveaways; - this.myBoostSlots = params.myBoostSlots; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let myBoost = flags & (1 << 2) ? true : false; - let level = await Primitive.Int.read(_data); - let currentLevelBoosts = await Primitive.Int.read(_data); - let boosts = await Primitive.Int.read(_data); - let giftBoosts = flags & (1 << 4) ? await Primitive.Int.read(_data) : undefined; - let nextLevelBoosts = flags & (1 << 0) ? await Primitive.Int.read(_data) : undefined; - let premiumAudience = flags & (1 << 1) ? await TLObject.read(_data) : undefined; - let boostUrl = await Primitive.String.read(_data); - let prepaidGiveaways = flags & (1 << 3) ? await TLObject.read(_data) : []; - let myBoostSlots = flags & (1 << 2) ? await TLObject.read(_data, Primitive.Int) : []; - return new Raw.premium.BoostsStatus({ - myBoost: myBoost, - level: level, - currentLevelBoosts: currentLevelBoosts, - boosts: boosts, - giftBoosts: giftBoosts, - nextLevelBoosts: nextLevelBoosts, - premiumAudience: premiumAudience, - boostUrl: boostUrl, - prepaidGiveaways: prepaidGiveaways, - myBoostSlots: myBoostSlots, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.myBoost ? 1 << 2 : 0; - flags |= this.giftBoosts !== undefined ? 1 << 4 : 0; - flags |= this.nextLevelBoosts !== undefined ? 1 << 0 : 0; - flags |= this.premiumAudience !== undefined ? 1 << 1 : 0; - flags |= this.prepaidGiveaways ? 1 << 3 : 0; - flags |= this.myBoostSlots ? 1 << 2 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.level !== undefined) { - b.write(Primitive.Int.write(this.level) as unknown as Buffer); - } - if (this.currentLevelBoosts !== undefined) { - b.write(Primitive.Int.write(this.currentLevelBoosts) as unknown as Buffer); - } - if (this.boosts !== undefined) { - b.write(Primitive.Int.write(this.boosts) as unknown as Buffer); - } - if (this.giftBoosts !== undefined) { - b.write(Primitive.Int.write(this.giftBoosts) as unknown as Buffer); - } - if (this.nextLevelBoosts !== undefined) { - b.write(Primitive.Int.write(this.nextLevelBoosts) as unknown as Buffer); - } - if (this.premiumAudience !== undefined) { - b.write(this.premiumAudience.write() as unknown as Buffer); - } - if (this.boostUrl !== undefined) { - b.write(Primitive.String.write(this.boostUrl) as unknown as Buffer); - } - if (this.prepaidGiveaways) { - b.write(Primitive.Vector.write(this.prepaidGiveaways) as unknown as Buffer); - } - if (this.myBoostSlots) { - b.write(Primitive.Vector.write(this.myBoostSlots, Primitive.Int) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBoostsList extends TLObject { - __response__!: Raw.premium.TypeBoostsList; - gifts?: boolean; - peer!: Raw.TypeInputPeer; - offset!: string; - limit!: int; - - constructor(params: { - gifts?: boolean; - peer: Raw.TypeInputPeer; - offset: string; - limit: int; - }) { - super(); - this.classType = 'functions'; - this.className = 'premium.GetBoostsList'; - this.constructorId = 0x60f67660; - this.subclassOfId = 0x2235a8bd; - this._slots = ['gifts', 'peer', 'offset', 'limit']; - this.gifts = params.gifts; - this.peer = params.peer; - this.offset = params.offset; - this.limit = params.limit; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let gifts = flags & (1 << 0) ? true : false; - let peer = await TLObject.read(_data); - let offset = await Primitive.String.read(_data); - let limit = await Primitive.Int.read(_data); - return new Raw.premium.GetBoostsList({ - gifts: gifts, - peer: peer, - offset: offset, - limit: limit, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.gifts ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.offset !== undefined) { - b.write(Primitive.String.write(this.offset) as unknown as Buffer); - } - if (this.limit !== undefined) { - b.write(Primitive.Int.write(this.limit) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetMyBoosts extends TLObject { - __response__!: Raw.premium.TypeMyBoosts; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'premium.GetMyBoosts'; - this.constructorId = 0xbe77b4a; - this.subclassOfId = 0xad3512db; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.premium.GetMyBoosts(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class ApplyBoost extends TLObject { - __response__!: Raw.premium.TypeMyBoosts; - slots?: Vector; - peer!: Raw.TypeInputPeer; - - constructor(params: { slots?: Vector; peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'premium.ApplyBoost'; - this.constructorId = 0x6b7da746; - this.subclassOfId = 0xad3512db; - this._slots = ['slots', 'peer']; - this.slots = params.slots; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let slots = flags & (1 << 0) ? await TLObject.read(_data, Primitive.Int) : []; - let peer = await TLObject.read(_data); - return new Raw.premium.ApplyBoost({ slots: slots, peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.slots ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.slots) { - b.write(Primitive.Vector.write(this.slots, Primitive.Int) as unknown as Buffer); - } - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetBoostsStatus extends TLObject { - __response__!: Raw.premium.TypeBoostsStatus; - peer!: Raw.TypeInputPeer; - - constructor(params: { peer: Raw.TypeInputPeer }) { - super(); - this.classType = 'functions'; - this.className = 'premium.GetBoostsStatus'; - this.constructorId = 0x42f1f61; - this.subclassOfId = 0xc31b1ab9; - this._slots = ['peer']; - this.peer = params.peer; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - return new Raw.premium.GetBoostsStatus({ peer: peer }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetUserBoosts extends TLObject { - __response__!: Raw.premium.TypeBoostsList; - peer!: Raw.TypeInputPeer; - userId!: Raw.TypeInputUser; - - constructor(params: { peer: Raw.TypeInputPeer; userId: Raw.TypeInputUser }) { - super(); - this.classType = 'functions'; - this.className = 'premium.GetUserBoosts'; - this.constructorId = 0x39854d1f; - this.subclassOfId = 0x2235a8bd; - this._slots = ['peer', 'userId']; - this.peer = params.peer; - this.userId = params.userId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let peer = await TLObject.read(_data); - let userId = await TLObject.read(_data); - return new Raw.premium.GetUserBoosts({ peer: peer, userId: userId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.peer !== undefined) { - b.write(this.peer.write() as unknown as Buffer); - } - if (this.userId !== undefined) { - b.write(this.userId.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace smsjobs { - export type TypeStatus = Raw.smsjobs.Status; - export type TypeEligibilityToJoin = Raw.smsjobs.EligibleToJoin; - export class EligibleToJoin extends TLObject { - termsUrl!: string; - monthlySentSms!: int; - - constructor(params: { termsUrl: string; monthlySentSms: int }) { - super(); - this.classType = 'types'; - this.className = 'smsjobs.EligibleToJoin'; - this.constructorId = 0xdc8b44cf; - this.subclassOfId = 0x5eb760a6; - this._slots = ['termsUrl', 'monthlySentSms']; - this.termsUrl = params.termsUrl; - this.monthlySentSms = params.monthlySentSms; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let termsUrl = await Primitive.String.read(_data); - let monthlySentSms = await Primitive.Int.read(_data); - return new Raw.smsjobs.EligibleToJoin({ - termsUrl: termsUrl, - monthlySentSms: monthlySentSms, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.termsUrl !== undefined) { - b.write(Primitive.String.write(this.termsUrl) as unknown as Buffer); - } - if (this.monthlySentSms !== undefined) { - b.write(Primitive.Int.write(this.monthlySentSms) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Status extends TLObject { - allowInternational?: boolean; - recentSent!: int; - recentSince!: int; - recentRemains!: int; - totalSent!: int; - totalSince!: int; - lastGiftSlug?: string; - termsUrl!: string; - - constructor(params: { - allowInternational?: boolean; - recentSent: int; - recentSince: int; - recentRemains: int; - totalSent: int; - totalSince: int; - lastGiftSlug?: string; - termsUrl: string; - }) { - super(); - this.classType = 'types'; - this.className = 'smsjobs.Status'; - this.constructorId = 0x2aee9191; - this.subclassOfId = 0xcd8f2b25; - this._slots = [ - 'allowInternational', - 'recentSent', - 'recentSince', - 'recentRemains', - 'totalSent', - 'totalSince', - 'lastGiftSlug', - 'termsUrl', - ]; - this.allowInternational = params.allowInternational; - this.recentSent = params.recentSent; - this.recentSince = params.recentSince; - this.recentRemains = params.recentRemains; - this.totalSent = params.totalSent; - this.totalSince = params.totalSince; - this.lastGiftSlug = params.lastGiftSlug; - this.termsUrl = params.termsUrl; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let allowInternational = flags & (1 << 0) ? true : false; - let recentSent = await Primitive.Int.read(_data); - let recentSince = await Primitive.Int.read(_data); - let recentRemains = await Primitive.Int.read(_data); - let totalSent = await Primitive.Int.read(_data); - let totalSince = await Primitive.Int.read(_data); - let lastGiftSlug = flags & (1 << 1) ? await Primitive.String.read(_data) : undefined; - let termsUrl = await Primitive.String.read(_data); - return new Raw.smsjobs.Status({ - allowInternational: allowInternational, - recentSent: recentSent, - recentSince: recentSince, - recentRemains: recentRemains, - totalSent: totalSent, - totalSince: totalSince, - lastGiftSlug: lastGiftSlug, - termsUrl: termsUrl, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.allowInternational ? 1 << 0 : 0; - flags |= this.lastGiftSlug !== undefined ? 1 << 1 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.recentSent !== undefined) { - b.write(Primitive.Int.write(this.recentSent) as unknown as Buffer); - } - if (this.recentSince !== undefined) { - b.write(Primitive.Int.write(this.recentSince) as unknown as Buffer); - } - if (this.recentRemains !== undefined) { - b.write(Primitive.Int.write(this.recentRemains) as unknown as Buffer); - } - if (this.totalSent !== undefined) { - b.write(Primitive.Int.write(this.totalSent) as unknown as Buffer); - } - if (this.totalSince !== undefined) { - b.write(Primitive.Int.write(this.totalSince) as unknown as Buffer); - } - if (this.lastGiftSlug !== undefined) { - b.write(Primitive.String.write(this.lastGiftSlug) as unknown as Buffer); - } - if (this.termsUrl !== undefined) { - b.write(Primitive.String.write(this.termsUrl) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class IsEligibleToJoin extends TLObject { - __response__!: Raw.smsjobs.TypeEligibilityToJoin; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.IsEligibleToJoin'; - this.constructorId = 0xedc39d0; - this.subclassOfId = 0x5eb760a6; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.smsjobs.IsEligibleToJoin(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Join extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.Join'; - this.constructorId = 0xa74ece2d; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.smsjobs.Join(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class Leave extends TLObject { - __response__!: Bool; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.Leave'; - this.constructorId = 0x9898ad73; - this.subclassOfId = 0xf5b399ac; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read(_data: BytesIO, ..._args: Array): Promise { - // no flags - return new Raw.smsjobs.Leave(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class UpdateSettings extends TLObject { - __response__!: Bool; - allowInternational?: boolean; - - constructor(params: { allowInternational?: boolean }) { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.UpdateSettings'; - this.constructorId = 0x93fa0bf; - this.subclassOfId = 0xf5b399ac; - this._slots = ['allowInternational']; - this.allowInternational = params.allowInternational; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let allowInternational = flags & (1 << 0) ? true : false; - return new Raw.smsjobs.UpdateSettings({ allowInternational: allowInternational }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.allowInternational ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStatus extends TLObject { - __response__!: Raw.smsjobs.TypeStatus; - - constructor() { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.GetStatus'; - this.constructorId = 0x10a698e8; - this.subclassOfId = 0xcd8f2b25; - this._slots = []; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - return new Raw.smsjobs.GetStatus(); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetSmsJob extends TLObject { - __response__!: Raw.TypeSmsJob; - jobId!: string; - - constructor(params: { jobId: string }) { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.GetSmsJob'; - this.constructorId = 0x778d902f; - this.subclassOfId = 0x1f24187e; - this._slots = ['jobId']; - this.jobId = params.jobId; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let jobId = await Primitive.String.read(_data); - return new Raw.smsjobs.GetSmsJob({ jobId: jobId }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.jobId !== undefined) { - b.write(Primitive.String.write(this.jobId) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class FinishJob extends TLObject { - __response__!: Bool; - jobId!: string; - error?: string; - - constructor(params: { jobId: string; error?: string }) { - super(); - this.classType = 'functions'; - this.className = 'smsjobs.FinishJob'; - this.constructorId = 0x4f1ebf24; - this.subclassOfId = 0xf5b399ac; - this._slots = ['jobId', 'error']; - this.jobId = params.jobId; - this.error = params.error; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // @ts-ignore - let flags = await Primitive.Int.read(_data); - let jobId = await Primitive.String.read(_data); - let error = flags & (1 << 0) ? await Primitive.String.read(_data) : undefined; - return new Raw.smsjobs.FinishJob({ jobId: jobId, error: error }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - - // @ts-ignore - let flags = 0; - flags |= this.error !== undefined ? 1 << 0 : 0; - b.write(Primitive.Int.write(flags) as unknown as Buffer); - - if (this.jobId !== undefined) { - b.write(Primitive.String.write(this.jobId) as unknown as Buffer); - } - if (this.error !== undefined) { - b.write(Primitive.String.write(this.error) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace fragment { - export type TypeCollectibleInfo = Raw.fragment.CollectibleInfo; - export class CollectibleInfo extends TLObject { - purchaseDate!: int; - currency!: string; - amount!: long; - cryptoCurrency!: string; - cryptoAmount!: long; - url!: string; - - constructor(params: { - purchaseDate: int; - currency: string; - amount: long; - cryptoCurrency: string; - cryptoAmount: long; - url: string; - }) { - super(); - this.classType = 'types'; - this.className = 'fragment.CollectibleInfo'; - this.constructorId = 0x6ebdff91; - this.subclassOfId = 0xd4ea5790; - this._slots = [ - 'purchaseDate', - 'currency', - 'amount', - 'cryptoCurrency', - 'cryptoAmount', - 'url', - ]; - this.purchaseDate = params.purchaseDate; - this.currency = params.currency; - this.amount = params.amount; - this.cryptoCurrency = params.cryptoCurrency; - this.cryptoAmount = params.cryptoAmount; - this.url = params.url; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let purchaseDate = await Primitive.Int.read(_data); - let currency = await Primitive.String.read(_data); - let amount = await Primitive.Long.read(_data); - let cryptoCurrency = await Primitive.String.read(_data); - let cryptoAmount = await Primitive.Long.read(_data); - let url = await Primitive.String.read(_data); - return new Raw.fragment.CollectibleInfo({ - purchaseDate: purchaseDate, - currency: currency, - amount: amount, - cryptoCurrency: cryptoCurrency, - cryptoAmount: cryptoAmount, - url: url, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.purchaseDate !== undefined) { - b.write(Primitive.Int.write(this.purchaseDate) as unknown as Buffer); - } - if (this.currency !== undefined) { - b.write(Primitive.String.write(this.currency) as unknown as Buffer); - } - if (this.amount !== undefined) { - b.write(Primitive.Long.write(this.amount) as unknown as Buffer); - } - if (this.cryptoCurrency !== undefined) { - b.write(Primitive.String.write(this.cryptoCurrency) as unknown as Buffer); - } - if (this.cryptoAmount !== undefined) { - b.write(Primitive.Long.write(this.cryptoAmount) as unknown as Buffer); - } - if (this.url !== undefined) { - b.write(Primitive.String.write(this.url) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetCollectibleInfo extends TLObject { - __response__!: Raw.fragment.TypeCollectibleInfo; - collectible!: Raw.TypeInputCollectible; - - constructor(params: { collectible: Raw.TypeInputCollectible }) { - super(); - this.classType = 'functions'; - this.className = 'fragment.GetCollectibleInfo'; - this.constructorId = 0xbe1e85ba; - this.subclassOfId = 0xd4ea5790; - this._slots = ['collectible']; - this.collectible = params.collectible; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let collectible = await TLObject.read(_data); - return new Raw.fragment.GetCollectibleInfo({ collectible: collectible }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.collectible !== undefined) { - b.write(this.collectible.write() as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace langpack { - export class GetLangPack extends TLObject { - __response__!: Raw.TypeLangPackDifference; - langPack!: string; - langCode!: string; - - constructor(params: { langPack: string; langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'langpack.GetLangPack'; - this.constructorId = 0xf2f2330a; - this.subclassOfId = 0x52662d55; - this._slots = ['langPack', 'langCode']; - this.langPack = params.langPack; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langPack = await Primitive.String.read(_data); - let langCode = await Primitive.String.read(_data); - return new Raw.langpack.GetLangPack({ langPack: langPack, langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langPack !== undefined) { - b.write(Primitive.String.write(this.langPack) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetStrings extends TLObject { - __response__!: Vector; - langPack!: string; - langCode!: string; - keys!: Vector; - - constructor(params: { langPack: string; langCode: string; keys: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'langpack.GetStrings'; - this.constructorId = 0xefea3803; - this.subclassOfId = 0xc7b7353d; - this._slots = ['langPack', 'langCode', 'keys']; - this.langPack = params.langPack; - this.langCode = params.langCode; - this.keys = params.keys; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langPack = await Primitive.String.read(_data); - let langCode = await Primitive.String.read(_data); - let keys = await TLObject.read(_data, Primitive.String); - return new Raw.langpack.GetStrings({ langPack: langPack, langCode: langCode, keys: keys }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langPack !== undefined) { - b.write(Primitive.String.write(this.langPack) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.keys) { - b.write(Primitive.Vector.write(this.keys, Primitive.String) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetDifference extends TLObject { - __response__!: Raw.TypeLangPackDifference; - langPack!: string; - langCode!: string; - fromVersion!: int; - - constructor(params: { langPack: string; langCode: string; fromVersion: int }) { - super(); - this.classType = 'functions'; - this.className = 'langpack.GetDifference'; - this.constructorId = 0xcd984aa5; - this.subclassOfId = 0x52662d55; - this._slots = ['langPack', 'langCode', 'fromVersion']; - this.langPack = params.langPack; - this.langCode = params.langCode; - this.fromVersion = params.fromVersion; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langPack = await Primitive.String.read(_data); - let langCode = await Primitive.String.read(_data); - let fromVersion = await Primitive.Int.read(_data); - return new Raw.langpack.GetDifference({ - langPack: langPack, - langCode: langCode, - fromVersion: fromVersion, - }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langPack !== undefined) { - b.write(Primitive.String.write(this.langPack) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - if (this.fromVersion !== undefined) { - b.write(Primitive.Int.write(this.fromVersion) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetLanguages extends TLObject { - __response__!: Vector; - langPack!: string; - - constructor(params: { langPack: string }) { - super(); - this.classType = 'functions'; - this.className = 'langpack.GetLanguages'; - this.constructorId = 0x42c6978f; - this.subclassOfId = 0x280912c9; - this._slots = ['langPack']; - this.langPack = params.langPack; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langPack = await Primitive.String.read(_data); - return new Raw.langpack.GetLanguages({ langPack: langPack }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langPack !== undefined) { - b.write(Primitive.String.write(this.langPack) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - export class GetLanguage extends TLObject { - __response__!: Raw.TypeLangPackLanguage; - langPack!: string; - langCode!: string; - - constructor(params: { langPack: string; langCode: string }) { - super(); - this.classType = 'functions'; - this.className = 'langpack.GetLanguage'; - this.constructorId = 0x6a596502; - this.subclassOfId = 0xabac89b7; - this._slots = ['langPack', 'langCode']; - this.langPack = params.langPack; - this.langCode = params.langCode; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let langPack = await Primitive.String.read(_data); - let langCode = await Primitive.String.read(_data); - return new Raw.langpack.GetLanguage({ langPack: langPack, langCode: langCode }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.langPack !== undefined) { - b.write(Primitive.String.write(this.langPack) as unknown as Buffer); - } - if (this.langCode !== undefined) { - b.write(Primitive.String.write(this.langCode) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - export namespace folders { - export class EditPeerFolders extends TLObject { - __response__!: Raw.TypeUpdates; - folderPeers!: Vector; - - constructor(params: { folderPeers: Vector }) { - super(); - this.classType = 'functions'; - this.className = 'folders.EditPeerFolders'; - this.constructorId = 0x6847d0ab; - this.subclassOfId = 0x8af52aac; - this._slots = ['folderPeers']; - this.folderPeers = params.folderPeers; - } - /** - * Generate the TLObject from buffer. - * @param {Object} _data - BytesIO class from TLObject will be convert to TLObject class. - */ - static override async read( - _data: BytesIO, - ..._args: Array - ): Promise { - // no flags - let folderPeers = await TLObject.read(_data); - return new Raw.folders.EditPeerFolders({ folderPeers: folderPeers }); - } - /** - * Generate buffer from TLObject. - */ - override write(): Buffer { - const b: BytesIO = new BytesIO(); - b.write(Primitive.Int.write(this.constructorId, false) as unknown as Buffer); - // no flags - if (this.folderPeers) { - b.write(Primitive.Vector.write(this.folderPeers) as unknown as Buffer); - } - return Buffer.from(b.buffer as unknown as Uint8Array); - } - } - } - // End telegram schema -} diff --git a/src/raw/core/BytesIO.ts b/src/raw/core/BytesIO.ts deleted file mode 100644 index d3a819506..000000000 --- a/src/raw/core/BytesIO.ts +++ /dev/null @@ -1,157 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ -import { Buffer } from '../../platform.deno.ts'; - -export class BytesIO { - private _buffer!: Buffer; - private _post!: number; - constructor(buffer: Buffer = Buffer.alloc(0)) { - this._post = 0; - this._buffer = buffer; - return this; - } - // class method - seek(offset: number, whence: number = 0): number { - if (whence === 0) { - if (offset < 0) { - throw new Error(`offset of BytesIO.seek must be zero or positive value when whence is 0`); - } - this._post = whence; - } else if (whence === 1) { - this._post += offset; - } else if (whence === 2) { - if (offset >= 0) { - throw new Error( - `offset of BytesIO.seek must be less than zero or negative value when whence is 2`, - ); - } - if (Buffer.byteLength(this._buffer) + offset < 0) { - throw new Error( - `offset out of range, offset ${offset} is less than the available buffer length.`, - ); - } - this._post = Buffer.byteLength(this._buffer) + offset; - } else { - throw new Error(`whence must be 0 or 1 or 2, but receive ${whence}`); - } - return this._post; - } - slice(...args: Array): BytesIO { - return new BytesIO(this._buffer.subarray(...args)); - } - toJSON() { - return this._buffer.toJSON(); - } - toString(...args: Array) { - return this._buffer.toString(...args); - } - // read - read(length?: number): Buffer { - if (length === undefined) { - const results = this._buffer.subarray(this._post); - this.seek(Buffer.byteLength(results), 1); - return results; - } - if (length >= 1 && this._post <= Buffer.byteLength(this._buffer)) { - const results = this._buffer.subarray(this._post, this._post + length); - this.seek(length, 1); - return results; - } - return Buffer.alloc(0); - } - readInt32LE(size: number = 4): number { - const results = this._buffer.readInt32LE(this._post); - this.seek(size, 1); - return results; - } - readInt32BE(size: number = 4): number { - const results = this._buffer.readInt32BE(this._post); - this.seek(size, 1); - return results; - } - readUInt32LE(size: number = 4): number { - const results = this._buffer.readUInt32LE(this._post); - this.seek(size, 1); - return results; - } - readUInt32BE(size: number = 4): number { - const results = this._buffer.readInt32BE(this._post); - this.seek(size, 1); - return results; - } - readBigInt64LE(size: number = 8): bigint { - const results = this._buffer.readBigInt64LE(this._post); - this.seek(size, 1); - return results; - } - readBigInt64BE(size: number = 8): bigint { - const results = this._buffer.readBigInt64BE(this._post); - this.seek(size, 1); - return results; - } - readBigUInt64LE(size: number = 8): bigint { - const results = this._buffer.readBigUInt64LE(this._post); - this.seek(size, 1); - return results; - } - readBigUInt64BE(size: number = 8): bigint { - const results = this._buffer.readBigUInt64BE(this._post); - this.seek(size, 1); - return results; - } - readDoubleLE(size: number = 8): number { - const results = this._buffer.readDoubleLE(this._post); - this.seek(size, 1); - return results; - } - readDoubleBE(size: number = 8): number { - const results = this._buffer.readDoubleBE(this._post); - this.seek(size, 1); - return results; - } - readFloatLE(size: number = 4): number { - const results = this._buffer.readFloatLE(this._post); - this.seek(size, 1); - return results; - } - readFloatBE(size: number = 4): number { - const results = this._buffer.readFloatBE(this._post); - this.seek(size, 1); - return results; - } - // write - write(data: Buffer): BytesIO { - this._buffer = Buffer.concat([ - this._buffer as unknown as Uint8Array, - data as unknown as Uint8Array, - ]); - return this; - } - // static method - static alloc(size: number): BytesIO { - return new BytesIO(Buffer.alloc(size)); - } - static from(input: any, encode?: any): BytesIO { - return new BytesIO(Buffer.from(input, encode)); - } - static concat(data: Array): BytesIO { - return new BytesIO(Buffer.concat(data as unknown as Array)); - } - // getters - get length(): number { - return Buffer.byteLength(this._buffer); - } - get buffer(): Buffer { - return this._buffer; - } - get post(): number { - return this._post; - } -} diff --git a/src/raw/core/GzipPacked.ts b/src/raw/core/GzipPacked.ts deleted file mode 100644 index 79bfbeeaf..000000000 --- a/src/raw/core/GzipPacked.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { BytesIO } from './BytesIO.ts'; -import { TLObject } from './TLObject.ts'; -import * as Primitive from './primitive/index.ts'; -import { gzipSync, gunzipSync, Buffer } from '../../platform.deno.ts'; - -export class GzipPacked extends TLObject { - static ID: number = 0x3072cfa1; - packedData!: TLObject; - constructor(packedData: TLObject) { - super(); - this.className = 'GzipPacked'; - this._slots = ['packedData']; - this.packedData = packedData; - } - static override async read(data: BytesIO, ..._args: Array) { - return (await TLObject.read( - new BytesIO(gunzipSync(await Primitive.Bytes.read(data))), - )) as unknown as GzipPacked; - } - override write(): Buffer { - const bytes = new BytesIO(); - bytes.write(Primitive.Int.write(GzipPacked.ID, false)); - bytes.write(Primitive.Bytes.write(gzipSync(this.packedData.write()))); - return Buffer.from(bytes.buffer as unknown as Uint8Array); - } -} diff --git a/src/raw/core/Message.ts b/src/raw/core/Message.ts deleted file mode 100644 index b7746ea58..000000000 --- a/src/raw/core/Message.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { BytesIO } from './BytesIO.ts'; -import { TLObject } from './TLObject.ts'; -import * as Primitive from './primitive/index.ts'; -import { Buffer } from '../../platform.deno.ts'; - -function toBytes(value: bigint) { - const bytesArray: Array = []; - for (let i = 0; i < 8; i++) { - let shift = value >> BigInt(8 * i); - shift &= BigInt(255); - bytesArray[i] = Number(String(shift)); - } - return Buffer.from(bytesArray); -} -export class Message extends TLObject { - static ID: number = 0x5bb8e511; // hex(crc32(b"message msg_id:long seqno:int bytes:int body:Object = Message")) - msgId!: bigint; - seqNo!: number; - length!: number; - body!: TLObject; - constructor(body: TLObject, msgId: bigint, seqNo: number, length: number) { - super(); - this.className = 'Message'; - this._slots = ['body', 'msgId', 'seqNo', 'length']; - this.msgId = msgId; - this.seqNo = seqNo; - this.length = length; - this.body = body; - } - static override async read(data: BytesIO, ..._args: Array): Promise { - const msgId = await Primitive.Long.read(data); - const seqNo = await Primitive.Int.read(data); - const length = await Primitive.Int.read(data); - const body = data.read(length); - return new Message(await TLObject.read(new BytesIO(body)), msgId, seqNo, length); - } - override write(): Buffer { - const bytes = new BytesIO(); - bytes.write(toBytes(this.msgId)); - bytes.write(Primitive.Int.write(this.seqNo)); - bytes.write(Primitive.Int.write(this.length)); - bytes.write(this.body.write()); - return Buffer.from(bytes.buffer as unknown as Uint8Array); - } -} diff --git a/src/raw/core/MsgContainer.ts b/src/raw/core/MsgContainer.ts deleted file mode 100644 index a98af93cb..000000000 --- a/src/raw/core/MsgContainer.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { BytesIO } from './BytesIO.ts'; -import { TLObject } from './TLObject.ts'; -import * as Primitive from './primitive/index.ts'; -import { Message } from './Message.ts'; -import { Buffer } from '../../platform.deno.ts'; - -export class MsgContainer extends TLObject { - static ID: number = 0x73f1f8dc; - messages!: Array; - constructor(messages: Array) { - super(); - this._slots = ['messages']; - this.className = 'MsgContainer'; - this.messages = messages; - } - static override async read(data: BytesIO, ..._args: Array): Promise { - const count = await Primitive.Int.read(data); - const messages: Array = []; - for (let i = 0; i < count; i++) { - messages.push(await Message.read(data)); - } - return new MsgContainer(messages); - } - override write(): Buffer { - const bytes = new BytesIO(); - bytes.write(Primitive.Int.write(MsgContainer.ID, false)); - bytes.write(Primitive.Int.write(this.messages.length)); - for (const message of this.messages) { - bytes.write(message.write()); - } - return Buffer.from(bytes.buffer as unknown as Uint8Array); - } -} diff --git a/src/raw/core/TLObject.ts b/src/raw/core/TLObject.ts deleted file mode 100644 index 590bbb4d4..000000000 --- a/src/raw/core/TLObject.ts +++ /dev/null @@ -1,138 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { AllTLObject } from '../All.ts'; -import { BytesIO } from './BytesIO.ts'; -import { Logger } from '../../Logger.ts'; -import { inspect, Buffer } from '../../platform.deno.ts'; -import { Raw, Message, GzipPacked, Primitive, MsgContainer } from '../index.ts'; - -interface RawIndexSignature { - [key: string]: any; -} -interface PrimitiveIndexSignature { - Int: typeof Primitive.Int; - Long: typeof Primitive.Long; - Int128: typeof Primitive.Int128; - Int256: typeof Primitive.Int256; - Bytes: typeof Primitive.Bytes; - String: typeof Primitive.String; - Bool: typeof Primitive.Bool; - BoolFalse: typeof Primitive.BoolFalse; - BoolTrue: typeof Primitive.BoolTrue; - Vector: typeof Primitive.Vector; - Double: typeof Primitive.Double; - Float: typeof Primitive.Float; - [key: string]: any; -} - -function getModule( - name: string, -): typeof TLObject | typeof Message | typeof GzipPacked | typeof MsgContainer { - if (!name) { - throw new Error("name of module can't be undefined"); - } - if (name === 'Message') { - return Message; - } else if (name === 'GzipPacked') { - return GzipPacked; - } else if (name === 'MsgContainer') { - return MsgContainer; - } else if (name.startsWith('Primitive')) { - return (Primitive as PrimitiveIndexSignature)[name.split('.')[1]]; - } else { - const split = name.split('.'); - if (split.length == 3) { - return (Raw as RawIndexSignature)[split[1]][split[2]]; - } - return (Raw as RawIndexSignature)[split[1]]; - } -} - -export class TLObject { - _slots!: Array; - // reference python cls -> typescript cls https://stackoverflow.com/questions/38138428/late-static-binding-and-instance-methods-in-typescript - cls: any = this.constructor; - constructorId!: number; - subclassOfId!: number; - className!: string; - classType!: string; - constructor() { - this._slots = []; - this.constructorId = this.cls.ID ?? 0; - this.className = 'TLObject'; - } - static async read(data: BytesIO, ...args: Array): Promise { - const id = data.readUInt32LE(4); - Logger.debug( - `[10] Reading TLObject with id: ${id.toString(16)} (${AllTLObject[id as unknown as keyof typeof AllTLObject]})`, - ); - const _class = getModule(AllTLObject[id as unknown as keyof typeof AllTLObject]); - return await _class.read(data, ...args); - } - static write(..._args: Array): Buffer { - return Buffer.alloc(0); - } - read(data: BytesIO, ...args: Array): Promise { - return this.cls.read(data, ...args); - } - write(...args: Array): Buffer { - return this.cls.write(...args); - } - /** @ignore */ - [Symbol.for('nodejs.util.inspect.custom')](): { [key: string]: any } { - const toPrint: { [key: string]: any } = { - _: this.className, - }; - const ignore = ['slots', 'className', 'constructorId', 'subclassOfId', 'classType', 'cls']; - for (const key in this) { - if (Object.prototype.hasOwnProperty.call(this, key)) { - const value = this[key]; - if (ignore.includes(key)) continue; - if (!key.startsWith('_') && value !== undefined && value !== null) { - toPrint[key] = value; - } - } - } - return toPrint; - } - /** @ignore */ - [Symbol.for('Deno.customInspect')](): string { - // @ts-ignore: deno compatibility - return String(inspect(this[Symbol.for('nodejs.util.inspect.custom')](), { colors: true })); - } - /** @ignore */ - toJSON(): { [key: string]: any } { - const toPrint: { [key: string]: any } = { - _: this.className, - }; - const ignore = ['slots', 'className', 'constructorId', 'subclassOfId', 'classType', 'cls']; - for (const key in this) { - if (Object.prototype.hasOwnProperty.call(this, key)) { - const value = this[key]; - if (ignore.includes(key)) continue; - if (!key.startsWith('_') && value !== undefined && value !== null) { - if (typeof value === 'bigint') { - toPrint[key] = String(value); - } else if (Array.isArray(value)) { - toPrint[key] = value.map((v) => (typeof v === 'bigint' ? String(v) : v)); - } else { - toPrint[key] = value; - } - } - } - } - return toPrint; - } - /** @ignore */ - toString() { - return `[constructor of ${this.className}] ${JSON.stringify(this, null, 2)}`; - } -} diff --git a/src/raw/core/UpdateSecretChat.ts b/src/raw/core/UpdateSecretChat.ts deleted file mode 100644 index 8ca91ed61..000000000 --- a/src/raw/core/UpdateSecretChat.ts +++ /dev/null @@ -1,126 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { Raw } from '../Raw.ts'; -import type { SecretChat } from '../../session/secretChats/SecretChat.ts'; -import { TLObject } from './TLObject.ts'; -/** - * Modified class of UpdateNewEncryptedMessage. - * The update object should be left as received but should be decrypted already. Therefore this modification was made to facilitate management so there is no need to manually decrypt. - */ -export class UpdateSecretChatMessage extends TLObject { - message!: SecretChatMessage | SecretChatMessageService; - qts!: number; - _original!: Raw.UpdateNewEncryptedMessage; - constructor(params: { - message: SecretChatMessage | SecretChatMessageService; - qts: number; - original: Raw.UpdateNewEncryptedMessage; - }) { - super(); - this.classType = 'modified_types_UpdateNewEncryptedMessage'; - this.className = 'UpdateSecretChatMessage'; - this.constructorId = 1; - this.subclassOfId = 0x9f89304e; - this._slots = ['message', 'qts']; - this.message = params.message; - this.qts = params.qts; - this._original = params.original; - } - static async generate( - update: Raw.UpdateNewEncryptedMessage, - secretChat: SecretChat, - ): Promise { - const decrypted = await secretChat.decrypt(update.message); - if (update.message instanceof Raw.EncryptedMessageService) { - return new UpdateSecretChatMessage({ - message: new SecretChatMessageService({ - randomId: update.message.randomId, - chatId: update.message.chatId, - date: update.message.date, - // @ts-ignore: TS doesn't know that decrypted is a DecryptedMessageService - message: decrypted!, - }), - qts: update.qts, - original: update, - }); - } - return new UpdateSecretChatMessage({ - message: new SecretChatMessage({ - randomId: update.message.randomId, - chatId: update.message.chatId, - date: update.message.date, - file: update.message.file, - // @ts-ignore: TS doesn't know that decrypted is a DecryptedMessage - message: decrypted!, - }), - qts: update.qts, - original: update, - }); - } -} -export class SecretChatMessage extends TLObject { - randomId!: bigint; - chatId!: number; - date!: number; - message!: - | Raw.DecryptedMessage8 - | Raw.DecryptedMessage17 - | Raw.DecryptedMessage45 - | Raw.DecryptedMessage73; - file!: Raw.TypeEncryptedFile; - - constructor(params: { - randomId: bigint; - chatId: number; - date: number; - message: - | Raw.DecryptedMessage8 - | Raw.DecryptedMessage17 - | Raw.DecryptedMessage45 - | Raw.DecryptedMessage73; - file: Raw.TypeEncryptedFile; - }) { - super(); - this.classType = 'modified_types_EncryptedMessage'; - this.className = 'SecretChatMessage'; - this.constructorId = 2; - this.subclassOfId = 0x239f2e51; - this._slots = ['randomId', 'chatId', 'date', 'message', 'file']; - this.randomId = params.randomId; - this.chatId = params.chatId; - this.date = params.date; - this.message = params.message; - this.file = params.file; - } -} -export class SecretChatMessageService extends TLObject { - randomId!: bigint; - chatId!: number; - date!: number; - message!: Raw.DecryptedMessageService8 | Raw.DecryptedMessageService17; - constructor(params: { - randomId: bigint; - chatId: number; - date: number; - message: Raw.DecryptedMessageService8 | Raw.DecryptedMessageService17; - }) { - super(); - this.classType = 'modified_types_EncryptedMessageService'; - this.className = 'SecretChatMessageService'; - this.constructorId = 3; - this.subclassOfId = 0x239f2e51; - this._slots = ['randomId', 'chatId', 'date', 'message']; - this.randomId = params.randomId; - this.chatId = params.chatId; - this.date = params.date; - this.message = params.message; - } -} diff --git a/src/raw/core/index.ts b/src/raw/core/index.ts deleted file mode 100644 index 3060eb11c..000000000 --- a/src/raw/core/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import * as Primitive from './primitive/index.ts'; -export { Primitive }; -export { BytesIO } from './BytesIO.ts'; -export { TLObject } from './TLObject.ts'; -export { GzipPacked } from './GzipPacked.ts'; -export { Message } from './Message.ts'; -export { MsgContainer } from './MsgContainer.ts'; -export { - UpdateSecretChatMessage, - SecretChatMessage, - SecretChatMessageService, -} from './UpdateSecretChat.ts'; diff --git a/src/raw/core/primitive/Bool.ts b/src/raw/core/primitive/Bool.ts deleted file mode 100644 index fbf217716..000000000 --- a/src/raw/core/primitive/Bool.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { Buffer } from '../../../platform.deno.ts'; -export class BoolFalse extends TLObject { - static ID: number = 0xbc799737; - static value: boolean = false; - static override write(): Buffer { - const buff = Buffer.alloc(4); - buff.writeUInt32LE(BoolFalse.ID); - return buff; - } - static override async read(_data: BytesIO, ..._arg: Array): Promise { - return BoolFalse.value; - } -} -export class BoolTrue extends BoolFalse { - static override ID: number = 0x997275b5; - static override value: boolean = true; - static override write(): Buffer { - const buff = Buffer.alloc(4); - buff.writeUInt32LE(BoolTrue.ID); - return buff; - } - static override async read(_data: BytesIO, ..._arg: Array): Promise { - return BoolTrue.value; - } -} -export class Bool extends TLObject { - override className: string = 'Bool'; - static override write(value: boolean): Buffer { - return value ? BoolTrue.write() : BoolFalse.write(); - } - static override async read(data: BytesIO, ..._arg: Array): Promise { - return data.readUInt32LE(4) === BoolTrue.ID; - } -} diff --git a/src/raw/core/primitive/Bytes.ts b/src/raw/core/primitive/Bytes.ts deleted file mode 100644 index cb18bf020..000000000 --- a/src/raw/core/primitive/Bytes.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { bufferToBigint, bigintToBuffer, mod } from '../../../helpers.ts'; -import { Buffer } from '../../../platform.deno.ts'; - -export class Bytes extends TLObject { - static override write(value: Buffer): Buffer { - const length = Buffer.byteLength(value); - if (length <= 253) { - return Buffer.concat([ - Buffer.from([length]) as unknown as Uint8Array, - value as unknown as Uint8Array, - Buffer.alloc(mod(-(length + 1), 4)) as unknown as Uint8Array, - ]); - } else { - return Buffer.concat([ - Buffer.from([254]) as unknown as Uint8Array, - bigintToBuffer(BigInt(length), 3) as unknown as Uint8Array, - value as unknown as Uint8Array, - Buffer.alloc(mod(-length, 4)) as unknown as Uint8Array, - ]); - } - } - static override async read(data: BytesIO, ..._args: Array): Promise { - let length = (data.read(1) as unknown as Uint8Array)[0]; - if (length <= 253) { - const x = data.read(length); - data.read(mod(-(length + 1), 4)); - return x; - } else { - length = Number(bufferToBigint(data.read(3))); - const x = data.read(length); - data.read(mod(-length, 4)); - return x; - } - } -} diff --git a/src/raw/core/primitive/Double.ts b/src/raw/core/primitive/Double.ts deleted file mode 100644 index 33a0285b3..000000000 --- a/src/raw/core/primitive/Double.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { Buffer } from '../../../platform.deno.ts'; - -export class Double extends TLObject { - static override write(value: number, little: boolean = true): Buffer { - const buffer = Buffer.alloc(8); - if (little) { - buffer.writeDoubleLE(value); - } else { - buffer.writeDoubleBE(value); - } - return buffer; - } - static override async read(data: BytesIO, little: boolean = true): Promise { - if (little) { - return data.readDoubleLE(); - } - return data.readDoubleBE(); - } -} diff --git a/src/raw/core/primitive/Float.ts b/src/raw/core/primitive/Float.ts deleted file mode 100644 index ea59317c7..000000000 --- a/src/raw/core/primitive/Float.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { Buffer } from '../../../platform.deno.ts'; - -export class Float extends TLObject { - static override write(value: number, little: boolean = true): Buffer { - const buffer = Buffer.alloc(4); - if (little) { - buffer.writeFloatLE(value); - } else { - buffer.writeFloatBE(value); - } - return buffer; - } - static override async read(data: BytesIO, little: boolean = true): Promise { - if (little) { - return data.readFloatLE(); - } - return data.readFloatBE(); - } -} diff --git a/src/raw/core/primitive/Int.ts b/src/raw/core/primitive/Int.ts deleted file mode 100644 index 04ff73445..000000000 --- a/src/raw/core/primitive/Int.ts +++ /dev/null @@ -1,140 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { bufferToBigint as toBigint } from '../../../helpers.ts'; -import { Buffer } from '../../../platform.deno.ts'; - -export class Int extends TLObject { - static SIZE: number = 4; - static override write( - value: number | bigint, - signed: boolean = true, - little: boolean = true, - ): Buffer { - const buffer = Buffer.alloc(Int.SIZE); - if (signed) { - if (little) { - buffer.writeInt32LE(Number(value)); - } else { - buffer.writeInt32BE(Number(value)); - } - } else { - if (little) { - buffer.writeUInt32LE(Number(value)); - } else { - buffer.writeUInt32BE(Number(value)); - } - } - return buffer; - } - static override async read( - data: BytesIO, - signed: boolean = true, - little: boolean = true, - size: number = Int.SIZE, - ): Promise { - if (signed) { - if (little) { - return data.readInt32LE(size); - } else { - return data.readInt32BE(size); - } - } else { - if (little) { - return data.readUInt32LE(size); - } else { - return data.readUInt32BE(size); - } - } - } -} - -export class Long extends TLObject { - static SIZE: number = 8; - static override async read( - data: BytesIO, - signed: boolean = true, - little: boolean = true, - size: number = Long.SIZE, - ): Promise { - if (signed) { - if (little) { - return data.readBigInt64LE(size); - } else { - return data.readBigInt64BE(size); - } - } else { - if (little) { - return data.readBigUInt64LE(size); - } else { - return data.readBigUInt64BE(size); - } - } - } - static override write(value: bigint, signed: boolean = true, little: boolean = true): Buffer { - const buffer = Buffer.alloc(Long.SIZE); - if (signed) { - if (little) { - buffer.writeBigInt64LE(BigInt(value)); - } else { - buffer.writeBigInt64BE(BigInt(value)); - } - } else { - if (little) { - buffer.writeBigUInt64LE(BigInt(value)); - } else { - buffer.writeBigUInt64BE(BigInt(value)); - } - } - return buffer; - } -} -export class Int128 extends Long { - static override SIZE: number = 16; - static override async read( - data: BytesIO, - signed: boolean = true, - little: boolean = true, - size: number = Int128.SIZE, - ): Promise { - return toBigint(data.read(size), little, signed); - } - static override write(value: bigint, _signed: boolean = true, _little: boolean = true): Buffer { - const bytesArray: Array = []; - for (let i = 0; i < Int128.SIZE; i++) { - let shift = value >> BigInt(Long.SIZE * i); - shift &= BigInt(255); - bytesArray[i] = Number(String(shift)); - } - return Buffer.from(bytesArray); - } -} -export class Int256 extends Long { - static override SIZE: number = 32; - static override async read( - data: BytesIO, - signed: boolean = true, - little: boolean = true, - size: number = Int256.SIZE, - ): Promise { - return Int128.read(data, signed, little, size); - } - static override write(value: bigint, _signed: boolean = true, _little: boolean = true): Buffer { - const bytesArray: Array = []; - for (let i = 0; i < Int256.SIZE; i++) { - let shift = value >> BigInt(Long.SIZE * i); - shift &= BigInt(255); - bytesArray[i] = Number(String(shift)); - } - return Buffer.from(bytesArray); - } -} diff --git a/src/raw/core/primitive/String.ts b/src/raw/core/primitive/String.ts deleted file mode 100644 index 137a09dbf..000000000 --- a/src/raw/core/primitive/String.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { Bytes } from './Bytes.ts'; -import { Buffer } from '../../../platform.deno.ts'; - -export class String extends TLObject { - static override write(value: string): Buffer { - return Bytes.write(Buffer.from(value, 'utf8')) as unknown as Buffer; - } - static override async read(data: BytesIO, ..._args: Array): Promise { - return (await Bytes.read(data)).toString('utf8'); - } -} diff --git a/src/raw/core/primitive/Vector.ts b/src/raw/core/primitive/Vector.ts deleted file mode 100644 index f6de2b075..000000000 --- a/src/raw/core/primitive/Vector.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -import { TLObject } from '../TLObject.ts'; -import { BytesIO } from '../BytesIO.ts'; -import { Int, Long } from './Int.ts'; -import { Buffer } from '../../../platform.deno.ts'; - -export class Vector extends TLObject { - static ID: number = 0x1cb5c415; - static override write(value: Array, tl?: any): Buffer { - const bytes = new BytesIO(); - bytes.write(Int.write(Vector.ID, false) as unknown as Buffer); - bytes.write(Int.write(value.length) as unknown as Buffer); - for (const i of value) { - if (tl) { - bytes.write(tl.write(i)); - } else { - bytes.write(i.write()); - } - } - return Buffer.from(bytes.buffer as unknown as Uint8Array); - } - static async readBare(data: BytesIO, size: number): Promise { - if (size === 4) { - return await Int.read(data); - } - if (size === 8) { - return await Long.read(data); - } - return await TLObject.read(data); - } - static override async read(data: BytesIO, tl?: any): Promise> { - const results: Array = []; - const count = await Int.read(data); - const left = Buffer.byteLength(data.read()); - const size = count ? left / count : 0; - data.seek(-left, 1); - for (let i = 0; i < count; i++) { - if (tl) { - results.push(await tl.read(data)); - } else { - results.push(await Vector.readBare(data, size)); - } - } - return results; - } -} diff --git a/src/raw/core/primitive/index.ts b/src/raw/core/primitive/index.ts deleted file mode 100644 index 89091a4f3..000000000 --- a/src/raw/core/primitive/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -export { Int, Long, Int128, Int256 } from './Int.ts'; -export { Bytes } from './Bytes.ts'; -export { String } from './String.ts'; -export { Bool, BoolTrue, BoolFalse } from './Bool.ts'; -export { Vector } from './Vector.ts'; -export { Double } from './Double.ts'; -export { Float } from './Float.ts'; diff --git a/src/raw/index.ts b/src/raw/index.ts deleted file mode 100644 index 582f0ac6d..000000000 --- a/src/raw/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake - * - * THIS FILE IS PART OF TGSNAKE - * - * tgsnake is a free software : you can redistribute it and/or modify - * it under the terms of the GPL v3 License as published. - */ - -export { Raw } from './Raw.ts'; -export { AllTLObject } from './All.ts'; -export { - BytesIO, - Primitive, - TLObject, - GzipPacked, - Message, - MsgContainer, - UpdateSecretChatMessage, - SecretChatMessage, - SecretChatMessageService, -} from './core/index.ts'; diff --git a/src/session/Auth.ts b/src/session/Auth.ts old mode 100644 new mode 100755 index 086605a18..8bb361f9b --- a/src/session/Auth.ts +++ b/src/session/Auth.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,22 +8,14 @@ * it under the terms of the GPL v3 License as published. */ -import { Connection } from '../connection/connection.ts'; -import * as AES from '../crypto/Aes.ts'; -import * as Prime from '../crypto/Prime.ts'; -import * as RSA from '../crypto/RSA.ts'; -import { crypto, Buffer } from '../platform.deno.ts'; -import { SecurityCheckMismatch } from '../errors/index.ts'; -import { TLObject, Primitive, Raw, BytesIO } from '../raw/index.ts'; -import { MsgId } from './internals/MsgId.ts'; -import { - sleep, - mod, - bufferToBigint as toBigint, - bigintToBuffer as toBuffer, - bigIntPow, -} from '../helpers.ts'; -import { Logger } from '../Logger.ts'; +import { Connection } from '../connection/connection.js'; +import * as AES from '../crypto/Aes.js'; +import * as Prime from '../crypto/Prime.js'; +import * as RSA from '../crypto/RSA.js'; +import { crypto, Buffer, BytesIO, Skema } from '../deps.js'; +import { MsgId } from './internals/MsgId.js'; +import { sleep } from '../helpers.js'; +import { Logger } from '../Logger.js'; export class Auth { MAX_RETRIES: number = 5; @@ -36,25 +28,25 @@ export class Auth { this.testMode = testMode; this.ipv6 = ipv6; } - static pack(data: TLObject): Buffer { + static pack(data: Skema.TLObject): Buffer { return Buffer.concat([ Buffer.alloc(8) as unknown as Uint8Array, - Primitive.Long.write(BigInt(new MsgId().getMsgId())) as unknown as Uint8Array, - Primitive.Int.write(Buffer.byteLength(data.write())) as unknown as Uint8Array, + Skema.Primitive.Long.write(BigInt(new MsgId().getMsgId())) as unknown as Uint8Array, + Skema.Primitive.Int.write(Buffer.byteLength(data.write())) as unknown as Uint8Array, data.write() as unknown as Uint8Array, ]); } - static async unpack(b: BytesIO) { + static async unpack(b: BytesIO): Promise { b.seek(20, 1); // Skip auth_key_id (8), message_id (8) and message_length (4) - return await TLObject.read(b); + return await Skema.TLObject.read(b); } - async invoke(data: TLObject) { + async invoke(data: Skema.TLObject): Promise { const content = Auth.pack(data); await this.connection.send(content); const response = new BytesIO(await this.connection.recv()); return await Auth.unpack(response); } - async create() { + async create(): Promise { // https://core.telegram.org/mtproto/auth_key // https://core.telegram.org/mtproto/samples-auth_key let retries = this.MAX_RETRIES; @@ -64,35 +56,39 @@ export class Auth { // using TCPIntermediate this.connection = new Connection(this.dcId, this.testMode, this.ipv6); try { - Logger.debug(`[11] Start creating a new auth key on DC${this.dcId}`); + Logger.debug(`[1.session.Auth] Start creating a new auth key on DC${this.dcId}`); await this.connection.connect(); // step 1 - 2 - const nonce = toBigint( + const nonce = Skema.bufferToBigint( Buffer.from(crypto.randomBytes(16) as unknown as Uint8Array), false, true, ); - Logger.debug(`[12] Send ResPq: ${nonce}`); - const resPq: Raw.ResPQ = await this.invoke(new Raw.ReqPqMulti({ nonce })); - Logger.debug(`[13] Got ResPq: ${resPq.serverNonce}`); - Logger.debug(`[14] Server public key fingerprints: ${resPq.serverPublicKeyFingerprints}`); + Logger.debug(`[2.session.Auth] Send ResPq: ${nonce}`); + const resPq: Skema.Raw.ResPQ = (await this.invoke( + new Skema.Raw.ReqPqMulti({ nonce }), + )) as Skema.Raw.ResPQ; + Logger.debug(`[3.session.Auth] Got ResPq: ${resPq.serverNonce}`); + Logger.debug( + `[4.session.Auth] Server public key fingerprints: ${resPq.serverPublicKeyFingerprints}`, + ); let fingerprints; if (!resPq.serverPublicKeyFingerprints || !resPq.serverPublicKeyFingerprints.length) throw new Error('Public key not found'); for (const i of resPq.serverPublicKeyFingerprints) { if (RSA.PublicKey.get(BigInt(i))) { - Logger.debug(`[15] Using fingerprint: ${i}`); + Logger.debug(`[5.session.Auth] Using fingerprint: ${i}`); fingerprints = BigInt(i); break; } else { - Logger.debug(`[16] Fingerprint unknown: ${i}`); + Logger.debug(`[6.session.Auth] Fingerprint unknown: ${i}`); } } // step 3 - const pq = toBigint(resPq.pq, false); - Logger.debug(`[17] Start PQ factorization: ${pq}`); + const pq = Skema.bufferToBigint(resPq.pq, false, true); + Logger.debug(`[7.session.Auth] Start PQ factorization: ${pq}`); const start = Math.floor(Date.now() / 1000); const g = Prime.decompose(pq); const [p, q] = [BigInt(g), BigInt(pq / g)].sort((a: bigint, b: bigint) => { @@ -101,20 +97,20 @@ export class Auth { return 0; }); Logger.debug( - `[18] Done PQ factorization (${Math.round( + `[8.session.Auth] Done PQ factorization (${Math.round( Math.floor(Date.now() / 1000) - start, )}s): ${p} ${q}`, ); // step 4 - const newNonce = toBigint( + const newNonce = Skema.bufferToBigint( Buffer.from(crypto.randomBytes(32) as unknown as Uint8Array), true, true, ); - const pBytes = toBuffer(BigInt(p), 4, false); - const qBytes = toBuffer(BigInt(q), 4, false); - let data = new Raw.PQInnerData({ + const pBytes = Skema.bigintToBuffer(BigInt(p), 4, false); + const qBytes = Skema.bigintToBuffer(BigInt(q), 4, false); + let data = new Skema.Raw.PQInnerData({ pq: resPq.pq, p: pBytes, q: qBytes, @@ -125,7 +121,7 @@ export class Auth { let sha = crypto.createHash('sha1').update(data).digest(); let padding = Buffer.from( crypto.randomBytes( - mod(-(Buffer.byteLength(data) + Buffer.byteLength(sha)), 255), + Skema.mod(-(Buffer.byteLength(data) + Buffer.byteLength(sha)), 255), ) as unknown as Uint8Array, ); let hash = Buffer.concat([ @@ -134,13 +130,15 @@ export class Auth { padding as unknown as Uint8Array, ]); let encryptedData: Buffer = RSA.encrypt(hash, fingerprints as bigint); - Logger.debug(`[19] Length of encrypted data: ${Buffer.byteLength(encryptedData)}`); - Logger.debug(`[20] Done encrypt data with RSA`); + Logger.debug( + `[9.session.Auth] Length of encrypted data: ${Buffer.byteLength(encryptedData)}`, + ); + Logger.debug(`[10.session.Auth] Done encrypt data with RSA`); // Step 5. TODO: Handle "ServerDhParamsFail". Code assumes response is ok - Logger.debug(`[21] Send ReqDhParams`); - const serverDh = await this.invoke( - new Raw.ReqDhParams({ + Logger.debug(`[11.session.Auth] Send ReqDhParams`); + const serverDh: Skema.Raw.ServerDhParamsOk = (await this.invoke( + new Skema.Raw.ReqDhParams({ nonce: nonce, serverNonce: resPq.serverNonce, encryptedData: encryptedData, @@ -148,14 +146,14 @@ export class Auth { q: qBytes, publicKeyFingerprint: fingerprints!, }), - ); + )) as Skema.Raw.ServerDhParamsOk; const tempAesKey = Buffer.concat([ crypto .createHash('sha1') .update( Buffer.concat([ - Primitive.Int256.write(newNonce) as unknown as Uint8Array, - Primitive.Int128.write(resPq.serverNonce) as unknown as Uint8Array, + Skema.Primitive.Int256.write(newNonce) as unknown as Uint8Array, + Skema.Primitive.Int128.write(resPq.serverNonce) as unknown as Uint8Array, ]), ) .digest() as unknown as Uint8Array, @@ -163,8 +161,8 @@ export class Auth { .createHash('sha1') .update( Buffer.concat([ - Primitive.Int128.write(resPq.serverNonce) as unknown as Uint8Array, - Primitive.Int256.write(newNonce) as unknown as Uint8Array, + Skema.Primitive.Int128.write(resPq.serverNonce) as unknown as Uint8Array, + Skema.Primitive.Int256.write(newNonce) as unknown as Uint8Array, ]), ) .digest() @@ -175,8 +173,8 @@ export class Auth { .createHash('sha1') .update( Buffer.concat([ - Primitive.Int128.write(resPq.serverNonce) as unknown as Uint8Array, - Primitive.Int256.write(newNonce) as unknown as Uint8Array, + Skema.Primitive.Int128.write(resPq.serverNonce) as unknown as Uint8Array, + Skema.Primitive.Int256.write(newNonce) as unknown as Uint8Array, ]), ) .digest() @@ -185,36 +183,39 @@ export class Auth { .createHash('sha1') .update( Buffer.concat([ - Primitive.Int256.write(newNonce) as unknown as Uint8Array, - Primitive.Int256.write(newNonce) as unknown as Uint8Array, + Skema.Primitive.Int256.write(newNonce) as unknown as Uint8Array, + Skema.Primitive.Int256.write(newNonce) as unknown as Uint8Array, ]), ) .digest() as unknown as Uint8Array, - Primitive.Int256.write(newNonce).subarray(0, 4) as unknown as Uint8Array, + Skema.Primitive.Int256.write(newNonce).subarray(0, 4) as unknown as Uint8Array, ]); const answerWithHash = AES.ige256Decrypt(serverDh.encryptedAnswer, tempAesKey, tempAesIv); const answer = new BytesIO(answerWithHash); answer.seek(20, 1); // skip hash - const serverDhInnerData = await TLObject.read(answer); - Logger.debug('[22] Done decrypting answer'); + const serverDhInnerData: Skema.Raw.ServerDhInnerData = await Skema.TLObject.read(answer); + Logger.debug('[12.session.Auth] Done decrypting answer'); - const dhPrime = toBigint(serverDhInnerData.dhPrime, false); + const dhPrime = Skema.bufferToBigint(serverDhInnerData.dhPrime, false); const deltaTime = serverDhInnerData.serverTime - Math.floor(Date.now() / 1000); - Logger.debug(`[23] Delta time: ${deltaTime}`); + Logger.debug(`[13.session.Auth] Delta time: ${deltaTime}`); // step 6 - const b = toBigint(Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), false); - const gB = bigIntPow(BigInt(serverDhInnerData.g), b, dhPrime); - data = new Raw.ClientDhInnerData({ + const b = Skema.bufferToBigint( + Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), + false, + ); + const gB = Skema.bigIntPow(BigInt(serverDhInnerData.g), b, dhPrime); + data = new Skema.Raw.ClientDhInnerData({ nonce: resPq.nonce, serverNonce: resPq.serverNonce, retryId: BigInt(0), - gB: toBuffer(gB, 256, false), + gB: Skema.bigintToBuffer(gB, 256, false), }).write(); sha = crypto.createHash('sha1').update(data).digest(); padding = Buffer.from( crypto.randomBytes( - mod(-(Buffer.byteLength(data) + Buffer.byteLength(sha)), 16), + Skema.mod(-(Buffer.byteLength(data) + Buffer.byteLength(sha)), 16), ) as unknown as Uint8Array, ); hash = Buffer.concat([ @@ -223,40 +224,42 @@ export class Auth { padding as unknown as Uint8Array, ]); encryptedData = AES.ige256Encrypt(hash, tempAesKey, tempAesIv); - Logger.debug(`[24] Length of encrypted data: ${Buffer.byteLength(encryptedData)}`); - Logger.debug(`[25] Send SetClientDhParams`); + Logger.debug( + `[14.session.Auth] Length of encrypted data: ${Buffer.byteLength(encryptedData)}`, + ); + Logger.debug(`[15.session.Auth] Send SetClientDhParams`); - const setClientDhParamsAnswer = await this.invoke( - new Raw.SetClientDhParams({ + const setClientDhParamsAnswer: Skema.Raw.TypeSetClientDhParamsAnswer = (await this.invoke( + new Skema.Raw.SetClientDhParams({ nonce: resPq.nonce, serverNonce: resPq.serverNonce, encryptedData: encryptedData, }), - ); + )) as Skema.Raw.TypeSetClientDhParamsAnswer; // TODO: Handle "authKeyAuHash" if the previous step fails // Step 7; Step 8 - const gA = toBigint(serverDhInnerData.gA, false); - const authKey: Buffer = toBuffer(bigIntPow(gA, b, dhPrime), 256, false); + const gA = Skema.bufferToBigint(serverDhInnerData.gA, false); + const authKey: Buffer = Skema.bigintToBuffer(Skema.bigIntPow(gA, b, dhPrime), 256, false); // Security Check - SecurityCheckMismatch.check(dhPrime === Prime.CURRENT_DH_PRIME); - Logger.debug('[26] DH parameters check: OK'); + Skema.SecurityCheckMismatch.check(dhPrime === Prime.CURRENT_DH_PRIME); + Logger.debug('[16.session.Auth] DH parameters check: OK'); // https://core.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation // TSError : Operator '<' cannot be applied to types 'boolean' and 'bigint'. - SecurityCheckMismatch.check(BigInt(1) < g && g < dhPrime - BigInt(1)); - SecurityCheckMismatch.check(BigInt(1) < gA && gA < dhPrime - BigInt(1)); - SecurityCheckMismatch.check(BigInt(1) < gB && gB < dhPrime - BigInt(1)); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check(BigInt(1) < g && g < dhPrime - BigInt(1)); + Skema.SecurityCheckMismatch.check(BigInt(1) < gA && gA < dhPrime - BigInt(1)); + Skema.SecurityCheckMismatch.check(BigInt(1) < gB && gB < dhPrime - BigInt(1)); + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gA && gA < dhPrime - BigInt(2) ** BigInt(2048 - 64), ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gB && gB < dhPrime - BigInt(2) ** BigInt(2048 - 64), ); - Logger.debug('[27] gA and gB validation: OK'); + Logger.debug('[17.session.Auth] gA and gB validation: OK'); // https://core.telegram.org/mtproto/security_guidelines#checking-sha1-hash-values - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( answerWithHash .subarray(0, 20) .equals( @@ -266,26 +269,30 @@ export class Auth { .digest() as unknown as Uint8Array, ), ); - Logger.debug('[28] SHA1 hash values check: OK'); + Logger.debug('[18.session.Auth] SHA1 hash values check: OK'); //https://core.telegram.org/mtproto/security_guidelines#checking-nonce-server-nonce-and-new-nonce-fields - SecurityCheckMismatch.check(nonce === resPq.nonce); - SecurityCheckMismatch.check(resPq.nonce === serverDh.nonce); - SecurityCheckMismatch.check(resPq.serverNonce === serverDh.serverNonce); - SecurityCheckMismatch.check(resPq.nonce === setClientDhParamsAnswer.nonce); - SecurityCheckMismatch.check(resPq.serverNonce === setClientDhParamsAnswer.serverNonce); - Logger.debug('[29] Nonce fields check: OK'); + Skema.SecurityCheckMismatch.check(nonce === resPq.nonce); + Skema.SecurityCheckMismatch.check(resPq.nonce === serverDh.nonce); + Skema.SecurityCheckMismatch.check(resPq.serverNonce === serverDh.serverNonce); + Skema.SecurityCheckMismatch.check(resPq.nonce === setClientDhParamsAnswer.nonce); + Skema.SecurityCheckMismatch.check( + resPq.serverNonce === setClientDhParamsAnswer.serverNonce, + ); + Logger.debug('[19.session.Auth] Nonce fields check: OK'); // Step 9 const serverSalt = AES.xor( - toBuffer(newNonce, 32, true, true).subarray(0, 8), - toBuffer(resPq.serverNonce, 16, true, true).subarray(0, 8), + Skema.bigintToBuffer(newNonce, 32, true, true).subarray(0, 8), + Skema.bigintToBuffer(resPq.serverNonce, 16, true, true).subarray(0, 8), + ); + Logger.debug(`[20.session.Auth] Server salt: ${Skema.bufferToBigint(serverSalt, true)}`); + Logger.debug( + `[21.session.Auth] Done auth key exchange: ${setClientDhParamsAnswer.className}`, ); - Logger.debug(`[30] Server salt: ${toBigint(serverSalt, true)}`); - Logger.debug(`[31] Done auth key exchange: ${setClientDhParamsAnswer.className}`); return authKey; } catch (error: unknown) { - Logger.error('[32] Error when trying to make auth key: ', error); + Logger.error('[22.session.Auth] Error when trying to make auth key: ', error); if (retries > 0) { retries--; } else { diff --git a/src/session/Session.ts b/src/session/Session.ts old mode 100644 new mode 100755 index 0d564ccfd..087d0f862 --- a/src/session/Session.ts +++ b/src/session/Session.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,18 +8,16 @@ * it under the terms of the GPL v3 License as published. */ -import { crypto, Mutex, inspect, Buffer } from '../platform.deno.ts'; -import { Logger } from '../Logger.ts'; -import { Connection, ProxyInterface } from '../connection/connection.ts'; -import { Raw, BytesIO, TLObject, MsgContainer, Message } from '../raw/index.ts'; -import * as Mtproto from '../crypto/Mtproto.ts'; -import * as Errors from '../errors/index.ts'; -import { MsgId } from './internals/MsgId.ts'; -import { MsgFactory } from './internals/MsgFactory.ts'; -import { sleep } from '../helpers.ts'; -import { Timeout } from '../Timeout.ts'; -import type { Client } from '../client/Client.ts'; -import { Auth } from './Auth.ts'; +import { crypto, Mutex, inspect, Buffer, Skema, BytesIO } from '../deps.js'; +import { Logger } from '../Logger.js'; +import { Connection, ProxyInterface } from '../connection/connection.js'; +import * as Mtproto from '../crypto/Mtproto.js'; +import { MsgId } from './internals/MsgId.js'; +import { MsgFactory } from './internals/MsgFactory.js'; +import { sleep } from '../helpers.js'; +import { Timeout } from '../Timeout.js'; +import type { Client } from '../client/Client.js'; +import { Auth } from './Auth.js'; export class Results { value!: Promise; @@ -53,7 +51,7 @@ export class Session { private _client!: Client; private _sessionId: Buffer = Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array); - private _msgFactory: { (body: TLObject, msgId: MsgId): Message } = MsgFactory(); + private _msgFactory: { (body: Skema.TLObject, msgId: MsgId): Skema.Message } = MsgFactory(); private _msgId: MsgId = new MsgId(); private _salt: bigint = BigInt(0); private _storedMsgId: Array = []; @@ -85,7 +83,7 @@ export class Session { } private async _handlePacket(packet: Buffer) { - Logger.debug(`[33] Unpacking ${Buffer.byteLength(packet)} bytes packet.`); + Logger.debug(`[1.session.Session] Unpacking ${Buffer.byteLength(packet)} bytes packet.`); try { const data = await Mtproto.unpack( new BytesIO(packet), @@ -94,56 +92,67 @@ export class Session { this._authKeyId, this._storedMsgId, ); - const message = data.body instanceof MsgContainer ? data.body.messages : [data]; - Logger.debug(`[34] Reveive ${message.length} data.`); + const message = data.body instanceof Skema.MsgContainer ? data.body.messages : [data]; + Logger.debug(`[2.session.Session] Reveive ${message.length} data.`); for (const msg of message) { if (msg.seqNo % 2 === 0) { - Logger.debug(`[35] Setting server time: ${msg.msgId / BigInt(2 ** 32)}.`); + Logger.debug(`[3.session.Session] Setting server time: ${msg.msgId / BigInt(2 ** 32)}.`); this._msgId.setServerTime(msg.msgId / BigInt(2 ** 32)); } else { if (this._pendingAcks.has(msg.msgId)) { - Logger.debug(`[36] Skiping pending acks msg id: ${msg.msgId}.`); + Logger.debug(`[4.session.Session] Skiping pending acks msg id: ${msg.msgId}.`); continue; } else { - Logger.debug(`[37] Add msg id ${msg.msgId} to pending acks.`); + Logger.debug(`[5.session.Session] Add msg id ${msg.msgId} to pending acks.`); this._pendingAcks.add(msg.msgId); } } - if (msg.body instanceof Raw.MsgDetailedInfo || msg.body instanceof Raw.MsgNewDetailedInfo) { + if ( + msg.body instanceof Skema.Raw.MsgDetailedInfo || + msg.body instanceof Skema.Raw.MsgNewDetailedInfo + ) { Logger.debug( - `[38] Got ${msg.body.constructor.name} and adding to pending acks: ${msg.body.answerMsgId}.`, + `[6.session.Session] Got ${msg.body.constructor.name} and adding to pending acks: ${msg.body.answerMsgId}.`, ); this._pendingAcks.add(msg.body.answerMsgId); continue; } - if (msg.body instanceof Raw.NewSessionCreated) { - Logger.debug(`[39] Got ${msg.body.constructor.name} and skiping.`); + if (msg.body instanceof Skema.Raw.NewSessionCreated) { + Logger.debug(`[7.session.Session] Got ${msg.body.constructor.name} and skiping.`); continue; } let msgId; - if (msg.body instanceof Raw.BadMsgNotification || msg.body instanceof Raw.BadServerSalt) { + if ( + msg.body instanceof Skema.Raw.BadMsgNotification || + msg.body instanceof Skema.Raw.BadServerSalt + ) { Logger.debug( - `[40] Got ${msg.body.constructor.name} and msg id is: ${msg.body.badMsgId}.`, + `[8.session.Session] Got ${msg.body.constructor.name} and msg id is: ${msg.body.badMsgId}.`, ); msgId = msg.body.badMsgId; - if (msg.body instanceof Raw.BadServerSalt) { - this._salt = (msg.body as Raw.BadServerSalt).newServerSalt; + if (msg.body instanceof Skema.Raw.BadServerSalt) { + this._salt = (msg.body as Skema.Raw.BadServerSalt).newServerSalt; } - } else if (msg.body instanceof Raw.FutureSalts || msg.body instanceof Raw.RpcResult) { + } else if ( + msg.body instanceof Skema.Raw.FutureSalts || + msg.body instanceof Skema.Raw.RpcResult + ) { Logger.debug( - `[41] Got ${msg.body.constructor.name} and msg id is: ${msg.body.reqMsgId}.`, + `[9.session.Session] Got ${msg.body.constructor.name} and msg id is: ${msg.body.reqMsgId}.`, ); msgId = msg.body.reqMsgId; - if (msg.body instanceof Raw.RpcResult) { - msg.body as Raw.RpcResult; + if (msg.body instanceof Skema.Raw.RpcResult) { + msg.body as Skema.Raw.RpcResult; msg.body = msg.body.result; } - } else if (msg.body instanceof Raw.Pong) { - Logger.debug(`[42] Got ${msg.body.constructor.name} and msg id is: ${msg.body.msgId}.`); + } else if (msg.body instanceof Skema.Raw.Pong) { + Logger.debug( + `[10.session.Session] Got ${msg.body.constructor.name} and msg id is: ${msg.body.msgId}.`, + ); msgId = msg.body.msgId; } else { - Logger.debug(`[43] Handling update ${msg.body.constructor.name}.`); + Logger.debug(`[11.session.Session] Handling update ${msg.body.constructor.name}.`); this._client.handleUpdate(msg.body); } @@ -151,36 +160,36 @@ export class Session { const promises = this._results.get(BigInt(msgId)); if (promises !== undefined) { Logger.debug( - `[44] Setting results of msg id ${msgId} with ${msg.body.constructor.name}.`, + `[12.session.Session] Setting results of msg id ${msgId} with ${msg.body.constructor.name}.`, ); promises.resolve(msg.body); } } } if (this._pendingAcks.size >= this.ACKS_THRESHOLD) { - Logger.debug(`[45] Sending ${this._pendingAcks.size} pending aks.`); + Logger.debug(`[13.session.Session] Sending ${this._pendingAcks.size} pending aks.`); try { await this._send( - new Raw.MsgsAck({ + new Skema.Raw.MsgsAck({ msgIds: Array.from(this._pendingAcks), }), false, ); - Logger.debug(`[46] Clearing all pending acks`); + Logger.debug(`[14.session.Session] Clearing all pending acks`); this._pendingAcks.clear(); } catch (error: unknown) { - if (!(error instanceof Errors.TimeoutError)) { - Logger.debug(`[47] Clearing all pending acks`); + if (!(error instanceof Skema.TimeoutError)) { + Logger.debug(`[15.session.Session] Clearing all pending acks`); this._pendingAcks.clear(); } - Logger.error(`[48] Got error when sending pending acks:`, error); + Logger.error(`[16.session.Session] Got error when sending pending acks:`, error); } } } catch (error: unknown) { - if (error instanceof Errors.SecurityCheckMismatch) { + if (error instanceof Skema.SecurityCheckMismatch) { Logger.error( - `[49] Invalid to unpack ${Buffer.byteLength(packet)} bytes packet cause: ${ - error.description ?? error.message + `[17.session.Session] Invalid to unpack ${Buffer.byteLength(packet)} bytes packet cause: ${ + (error as Skema.SecurityCheckMismatch).description ?? (error as Error).message }`, ); return await this.stop(); @@ -189,37 +198,39 @@ export class Session { } } private async _send( - data: TLObject, + data: Skema.TLObject, waitResponse: boolean = true, timeout: number = this.WAIT_TIMEOUT, - ): Promise { + ): Promise { const msg = await this._msgFactory(data, this._msgId); const msgId = msg.msgId; if (waitResponse) { this._results.set(BigInt(msgId), new Results()); } if (msgId === undefined) { - Logger.error(`[107] Can't send request ${data.className} when msgId is undefined.`); + Logger.error( + `[18.session.Session] Can't send request ${data.className} when msgId is undefined.`, + ); return; } Logger.debug( - `[50] Sending msg id ${msgId} (${data.className}), has ${Buffer.byteLength(msg.write())} bytes message.`, + `[19.session.Session] Sending msg id ${msgId} (${data.className}), has ${Buffer.byteLength(msg.write())} bytes message.`, ); const payload = Mtproto.pack(msg, this._salt, this._sessionId, this._authKey, this._authKeyId); try { - Logger.debug(`[51] Sending ${Buffer.byteLength(payload)} bytes payload.`); + Logger.debug(`[20.session.Session] Sending ${Buffer.byteLength(payload)} bytes payload.`); await this._connection.send(payload); } catch (error: unknown) { Logger.error( - `[52] Got error when trying to send ${Buffer.byteLength(payload)} bytes payload:`, + `[21.session.Session] Got error when trying to send ${Buffer.byteLength(payload)} bytes payload:`, error, ); if ( - error instanceof Errors.WSError.ReadClosed || - error instanceof Errors.WSError.Disconnected || - error instanceof Errors.ClientError.ClientDisconnected + error instanceof Skema.WSError.ReadClosed || + error instanceof Skema.WSError.Disconnected || + error instanceof Skema.ClientError.ClientDisconnected ) { - Logger.debug(`[108] Restarting client due to disconnected`); + Logger.debug(`[22.session.Session] Restarting client due to disconnected`); if (this._client._maxReconnectRetries) { return this.retriesReconnect(); } else { @@ -239,30 +250,32 @@ export class Session { response = await this._task.run(promises.value, timeout); // response = await promises.value } catch (error: unknown) { - Logger.error(`[53] Got error when waiting response:`, error); + Logger.error(`[23.session.Session] Got error when waiting response:`, error); } if (response) { this._results.delete(BigInt(msgId)); - Logger.debug(`[54] Got response from msg id ${msgId}: ${response.constructor.name}`); - if (response instanceof Raw.RpcError) { + Logger.debug( + `[24.session.Session] Got response from msg id ${msgId}: ${response.constructor.name}`, + ); + if (response instanceof Skema.Raw.RpcError) { // response as Raw.RpcError; if ( - data instanceof Raw.InvokeWithoutUpdates || - data instanceof Raw.InvokeWithTakeout || - data instanceof Raw.InvokeWithTakeout || - data instanceof Raw.InvokeWithBusinessConnection || - data instanceof Raw.InvokeWithGooglePlayIntegrity || - data instanceof Raw.InvokeWithApnsSecret || - data instanceof Raw.InvokeWithMessagesRange + data instanceof Skema.Raw.InvokeWithoutUpdates || + data instanceof Skema.Raw.InvokeWithTakeout || + data instanceof Skema.Raw.InvokeWithTakeout || + data instanceof Skema.Raw.InvokeWithBusinessConnection || + data instanceof Skema.Raw.InvokeWithGooglePlayIntegrity || + data instanceof Skema.Raw.InvokeWithApnsSecret || + data instanceof Skema.Raw.InvokeWithMessagesRange ) { //@ts-ignore data = data.query; } - await Errors.RPCError.raise(response, data); - } else if (response instanceof Raw.BadMsgNotification) { + await Skema.RPCError.raise(response, data); + } else if (response instanceof Skema.Raw.BadMsgNotification) { // response as Raw.BadMsgNotification; - throw new Errors.BadMsgNotification(response.errorCode); - } else if (response instanceof Raw.BadServerSalt) { + throw new Skema.BadMsgNotification(response.errorCode); + } else if (response instanceof Skema.Raw.BadServerSalt) { // response as Raw.BadServerSalt; this._salt = response.newServerSalt; return await this._send(data, waitResponse, timeout); @@ -270,7 +283,7 @@ export class Session { return response; } } else { - throw new Errors.TimeoutError(timeout); + throw new Skema.TimeoutError(timeout); } } } @@ -278,16 +291,16 @@ export class Session { const ping = async () => { try { if (!this._isConnected) return; // kill the ping worker when client is disconnected - Logger.debug(`[55] Ping to telegram server.`); + Logger.debug(`[25.session.Session] Ping to telegram server.`); await this._send( - new Raw.PingDelayDisconnect({ + new Skema.Raw.PingDelayDisconnect({ pingId: BigInt(0), disconnectDelay: this.WAIT_TIMEOUT + 10000, }), false, ); } catch (error: unknown) { - Logger.error(`[56] Get error when trying ping to telegram :`, error); + Logger.error(`[26.session.Session] Get error when trying ping to telegram :`, error); } return this._pingWorker(); }; @@ -295,11 +308,11 @@ export class Session { return this._pingTask; } private async _networkWorker() { - Logger.debug(`[57] Network worker started.`); + Logger.debug(`[27.session.Session] Network worker started.`); let waiting = false; while (true) { if (!this._networkTask) { - Logger.debug(`[58] Network worker ended`); + Logger.debug(`[28.session.Session] Network worker ended`); return; } if (!waiting) { @@ -316,20 +329,20 @@ export class Session { waiting = false; // unblock the network task } else { if (packet) { - Logger.warning(`[59] Server sent "${packet.readInt32LE(0)}"`); + Logger.warning(`[29.session.Session] Server sent "${packet.readInt32LE(0)}"`); } if (this._isConnected) { return this.restart(); } } } catch (error: unknown) { - Logger.error('[139] Network worker error:', error); + Logger.error('[30.session.Session] Network worker error:', error); if (!this._isConnected) { break; } else if ( - (error instanceof Errors.WSError.ReadClosed || - error instanceof Errors.WSError.Disconnected || - error instanceof Errors.ClientError.ClientDisconnected) && + (error instanceof Skema.WSError.ReadClosed || + error instanceof Skema.WSError.Disconnected || + error instanceof Skema.ClientError.ClientDisconnected) && this._client._maxReconnectRetries ) { return this.retriesReconnect(); // disable networkWorker and try to reconnecting @@ -345,8 +358,8 @@ export class Session { */ async retriesReconnect(retries = this._client._maxReconnectRetries): Promise { try { - Logger.info('[136] Reconnecting to Telegram Server.'); - Logger.debug('[137] Stop ping task.'); + Logger.info('[31.session.Session] Reconnecting to Telegram Server.'); + Logger.debug('[32.session.Session] Stop ping task.'); clearTimeout(this._pingTask); this._isConnected = false; // disable invoke method when client is disconnected await this._connection.close().catch(() => {}); // force close current connection. @@ -357,21 +370,21 @@ export class Session { this._isConnected = true; this._pingWorker(); if (!this._client._storage.isBot && this._client._takeout) { - const takeout = await this.invoke(new Raw.account.InitTakeoutSession({})); - this._client._takeoutId = (takeout as Raw.account.TypeTakeout).id; + const takeout = await this.invoke(new Skema.Raw.account.InitTakeoutSession({})); + this._client._takeoutId = (takeout as Skema.Raw.account.TypeTakeout).id; } - await this.invoke(new Raw.updates.GetState()); + await this.invoke(new Skema.Raw.updates.GetState()); const me = await this.invoke( - new Raw.users.GetFullUser({ - id: new Raw.InputUserSelf(), + new Skema.Raw.users.GetFullUser({ + id: new Skema.Raw.InputUserSelf(), }), ); - this._client._me = me as Raw.users.UserFull; + this._client._me = me as Skema.Raw.users.UserFull; return me; } } catch (e) { Logger.error( - `[138] Got error when trying to reconnecting to Telegram Server, retries ${retries}:`, + `[33.session.Session] Got error when trying to reconnecting to Telegram Server, retries ${retries}:`, e, ); if (!retries) { @@ -393,7 +406,7 @@ export class Session { await this._connection.close().catch(() => {}); this._results.clear(); this._task.clear(); - Logger.info(`[60] Session stopped.`); + Logger.info(`[34.session.Session] Session stopped.`); } finally { release(); } @@ -403,7 +416,7 @@ export class Session { */ restart() { try { - Logger.debug(`[61] Restarting client`); + Logger.debug(`[35.session.Session] Restarting client`); this.stop(); this.start(); } catch (_error) { @@ -414,30 +427,30 @@ export class Session { * Send data to the telegram server as an executable function. */ async invoke( - data: TLObject, + data: Skema.TLObject, retries: number = this.MAX_RETRIES, timeout: number = this.WAIT_TIMEOUT, sleepThreshold: number = this.SLEEP_THRESHOLD, - ): Promise { + ): Promise { Logger.debug( - `[62] Invoking ${data.className} with parameters: ${retries} retries, ${timeout}ms timeout, ${sleepThreshold}ms sleep threshold.`, + `[36.session.Session] Invoking ${data.className} with parameters: ${retries} retries, ${timeout}ms timeout, ${sleepThreshold}ms sleep threshold.`, ); if (!this._isConnected) { - Logger.error(`[63] Can't sending request when client is unconnected.`); - throw new Errors.ClientError.ClientDisconnected(); + Logger.error(`[37.session.Session] Can't sending request when client is unconnected.`); + throw new Skema.ClientError.ClientDisconnected(); } if (data.classType !== 'functions') { - throw new Errors.NotAFunctionClass(data.className); + throw new Skema.NotAFunctionClass(data.className); } let className = data.className; if ( - data instanceof Raw.InvokeWithLayer || - data instanceof Raw.InvokeWithoutUpdates || - data instanceof Raw.InvokeWithTakeout || - data instanceof Raw.InvokeWithBusinessConnection || - data instanceof Raw.InvokeWithGooglePlayIntegrity || - data instanceof Raw.InvokeWithApnsSecret || - data instanceof Raw.InvokeWithMessagesRange + data instanceof Skema.Raw.InvokeWithLayer || + data instanceof Skema.Raw.InvokeWithoutUpdates || + data instanceof Skema.Raw.InvokeWithTakeout || + data instanceof Skema.Raw.InvokeWithBusinessConnection || + data instanceof Skema.Raw.InvokeWithGooglePlayIntegrity || + data instanceof Skema.Raw.InvokeWithApnsSecret || + data instanceof Skema.Raw.InvokeWithMessagesRange ) { // @ts-ignore className = data.query.className; @@ -453,30 +466,30 @@ export class Session { } await sleep(1000); } catch (error: any) { - Logger.error(`[64] Got error when trying invoking ${className}:`, error); - if (error instanceof Errors.Exceptions.Flood.FloodWait) { - error as Errors.Exceptions.Flood.FloodWait; + Logger.error(`[38.session.Session] Got error when trying invoking ${className}:`, error); + if (error instanceof Skema.Exceptions.Flood.FloodWait) { + error as Skema.Exceptions.Flood.FloodWait; const amount = Number(error.value ?? 2000); // if undefined, make it as 2s // @ts-ignore if (amount > sleepThreshold >= 0) { throw error; } Logger.info( - `[65] Waiting for ${amount} seconds before continuing (caused by ${className})`, + `[39.session.Session] Waiting for ${amount} seconds before continuing (caused by ${className})`, ); await sleep(amount as number); } else if ( - (error instanceof Errors.Exceptions.SeeOther.FileMigrate || - error instanceof Errors.Exceptions.SeeOther.StatsMigrate || - error instanceof Errors.Exceptions.SeeOther.NetworkMigrate) && + (error instanceof Skema.Exceptions.SeeOther.FileMigrate || + error instanceof Skema.Exceptions.SeeOther.StatsMigrate || + error instanceof Skema.Exceptions.SeeOther.NetworkMigrate) && typeof error.value !== 'undefined' ) { Logger.error( - `[156] Got error when trying invoking ${className}: ${error.message}. Try to reconnecting.`, + `[40.session.Session] Got error when trying invoking ${className}: ${error.message}. Try to reconnecting.`, ); - const exportedAuthKey: Raw.auth.ExportedAuthorization = (await this.invoke( - new Raw.auth.ExportAuthorization({ dcId: error.value as unknown as number }), - )) as Raw.auth.ExportedAuthorization; + const exportedAuthKey: Skema.Raw.auth.ExportedAuthorization = (await this.invoke( + new Skema.Raw.auth.ExportAuthorization({ dcId: error.value as unknown as number }), + )) as Skema.Raw.auth.ExportedAuthorization; const newAuthKey: Buffer = await new Auth( error.value as unknown as number, this._testMode, @@ -491,18 +504,18 @@ export class Session { this._isMedia, this._isCdn, ); - Logger.debug(`[157] Reconnecting to telegram server`); + Logger.debug(`[41.session.Session] Reconnecting to telegram server`); await newSession.start(); - Logger.debug(`[158] Importing auth key`); + Logger.debug(`[42.session.Session] Importing auth key`); await newSession.invoke( - new Raw.auth.ImportAuthorization({ + new Skema.Raw.auth.ImportAuthorization({ id: exportedAuthKey.id, bytes: exportedAuthKey.bytes, }), ); - Logger.debug(`[159] Session imported, resend the query`); + Logger.debug(`[43.session.Session] Session imported, resend the query`); const result = await newSession.invoke(data, retries, timeout, sleepThreshold); - Logger.debug(`[160] Closing session in DC${error.value}`); + Logger.debug(`[44.session.Session] Closing session in DC${error.value}`); await newSession.stop(); return result; } else { @@ -511,13 +524,13 @@ export class Session { } if (retries < 2) { Logger.info( - `[66] [${this.MAX_RETRIES - retries + 1}] Retrying "${className}" due to ${ + `[45.session.Session] [${this.MAX_RETRIES - retries + 1}] Retrying "${className}" due to ${ error.message }`, ); } else { Logger.info( - `[67] [${this.MAX_RETRIES - retries + 1}] Retrying "${className}" due to ${ + `[46.session.Session] [${this.MAX_RETRIES - retries + 1}] Retrying "${className}" due to ${ error.message }`, error, @@ -529,7 +542,7 @@ export class Session { } } else { // break loop when client is unconnected - throw new Errors.ClientError.ClientDisconnected(); + throw new Skema.ClientError.ClientDisconnected(); } } } @@ -550,25 +563,27 @@ export class Session { ); this._networkTask = true; try { - Logger.debug(`[68] Connecting to telegram server`); + Logger.debug(`[47.session.Session] Connecting to telegram server`); await this._connection.connect(); this._networkWorker(); await this.initConnection(); - Logger.info(`[69] Session initialized: Layer ${Raw.Layer}`); - Logger.info(`[70] Device: ${this._client._deviceModel} - ${this._client._appVersion}`); + Logger.info(`[48.session.Session] Session initialized: Layer ${Skema.Raw.Layer}`); + Logger.info( + `[49.session.Session] Device: ${this._client._deviceModel} - ${this._client._appVersion}`, + ); Logger.info( - `[71] System: ${this._client._systemVersion} (${this._client._langCode.toUpperCase()})`, + `[50.session.Session] System: ${this._client._systemVersion} (${this._client._langCode.toUpperCase()})`, ); - Logger.info(`[135] Getting Update State`); + Logger.info(`[51.session.Session] Getting Update State`); this._pingWorker(); this._isConnected = true; - Logger.info('[72] Session Started'); + Logger.info('[52.session.Session] Session Started'); break; } catch (error) { - if (error instanceof Errors.Exceptions.NotAcceptable.AuthKeyDuplicated) { + if (error instanceof Skema.Exceptions.NotAcceptable.AuthKeyDuplicated) { await this.stop(); throw error; - } else if (error instanceof Errors.TimeoutError || error instanceof Errors.RPCError) { + } else if (error instanceof Skema.TimeoutError || error instanceof Skema.RPCError) { await sleep(1000); await this.stop(); } else { @@ -580,9 +595,9 @@ export class Session { /** * Initiation of connection. Call the ping function and send the layer information used by the client to the telegram server. */ - async initConnection() { + async initConnection(): Promise { const ping = await this._send( - new Raw.Ping({ + new Skema.Raw.Ping({ pingId: BigInt(0), }), true, @@ -590,9 +605,9 @@ export class Session { ); if (!this._isCdn) { const initData = await this._send( - new Raw.InvokeWithLayer({ - layer: Raw.Layer, - query: new Raw.InitConnection({ + new Skema.Raw.InvokeWithLayer({ + layer: Skema.Raw.Layer, + query: new Skema.Raw.InitConnection({ apiId: this._client._apiId, appVersion: this._client._appVersion, deviceModel: this._client._deviceModel, @@ -600,22 +615,25 @@ export class Session { systemLangCode: this._client._systemLangCode, langCode: this._client._langCode, langPack: '', - query: new Raw.help.GetConfig(), + query: new Skema.Raw.help.GetConfig(), proxy: this._proxy && 'secret' in this._proxy && 'port' in this._proxy && 'server' in this._proxy - ? new Raw.InputClientProxy({ address: this._proxy.server, port: this._proxy.port }) + ? new Skema.Raw.InputClientProxy({ + address: this._proxy.server, + port: this._proxy.port, + }) : undefined, }), }), true, this.START_TIMEOUT, ); - return initData; + return initData!; } - return ping; + return ping!; } /** @ignore */ [Symbol.for('nodejs.util.inspect.custom')](): { [key: string]: any } { diff --git a/src/session/index.ts b/src/session/index.ts old mode 100644 new mode 100755 index c213a934b..773363802 --- a/src/session/index.ts +++ b/src/session/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,10 +8,10 @@ * it under the terms of the GPL v3 License as published. */ -import * as DataCenter from './internals/DataCenter.ts'; -export { SeqNo } from './internals/SeqNo.ts'; +import * as DataCenter from './internals/DataCenter.js'; +export { SeqNo } from './internals/SeqNo.js'; export { DataCenter }; -export { Auth } from './Auth.ts'; -export { Session, Results } from './Session.ts'; -export { MsgFactory } from './internals/MsgFactory.ts'; -export { MsgId } from './internals/MsgId.ts'; +export { Auth } from './Auth.js'; +export { Session, Results } from './Session.js'; +export { MsgFactory } from './internals/MsgFactory.js'; +export { MsgId } from './internals/MsgId.js'; diff --git a/src/session/internals/DataCenter.ts b/src/session/internals/DataCenter.ts old mode 100644 new mode 100755 index 3e8182838..890b60d0e --- a/src/session/internals/DataCenter.ts +++ b/src/session/internals/DataCenter.ts @@ -1,13 +1,13 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { isBrowser } from '../../platform.deno.ts'; +import { platform } from '../../deps.js'; export const DCTest = { 1: '149.154.175.10', @@ -57,7 +57,7 @@ export function DataCenter( media: boolean, ): [ip: string, port: number] { // @ts-ignore: browser compatibility - if (isBrowser) { + if (platform === 'Browser') { return [ `${WebDC[dcId as keyof typeof WebDC] as string}:$PORT/apiws${testMode ? '_test' : ''}`, 443, diff --git a/src/session/internals/MsgFactory.ts b/src/session/internals/MsgFactory.ts old mode 100644 new mode 100755 index 19ff537bc..c5d66d640 --- a/src/session/internals/MsgFactory.ts +++ b/src/session/internals/MsgFactory.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,22 +8,21 @@ * it under the terms of the GPL v3 License as published. */ -import { SeqNo } from './SeqNo.ts'; -import { MsgId } from './MsgId.ts'; -import { Raw, Message, MsgContainer, TLObject } from '../../raw/index.ts'; -import { Buffer } from '../../platform.deno.ts'; +import { SeqNo } from './SeqNo.js'; +import { MsgId } from './MsgId.js'; +import { Buffer, Skema } from '../../deps.js'; -export function MsgFactory() { +export function MsgFactory(): (body: Skema.TLObject, msgId: MsgId) => Skema.Message { const seqNo = new SeqNo(); - const notRelatedContent = (content: TLObject) => { - if (content instanceof Raw.Ping) return true; - if (content instanceof Raw.HttpWait) return true; - if (content instanceof Raw.MsgsAck) return true; - if (content instanceof MsgContainer) return true; + const notRelatedContent = (content: Skema.TLObject) => { + if (content instanceof Skema.Raw.Ping) return true; + if (content instanceof Skema.Raw.HttpWait) return true; + if (content instanceof Skema.Raw.MsgsAck) return true; + if (content instanceof Skema.MsgContainer) return true; return false; }; - return (body: TLObject, msgId: MsgId) => { - return new Message( + return (body: Skema.TLObject, msgId: MsgId) => { + return new Skema.Message( body, BigInt(msgId.getMsgId()), seqNo.getSeqNo(!notRelatedContent(body)), diff --git a/src/session/internals/MsgId.ts b/src/session/internals/MsgId.ts old mode 100644 new mode 100755 index 7a3d9e686..8f7d7f1f2 --- a/src/session/internals/MsgId.ts +++ b/src/session/internals/MsgId.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * diff --git a/src/session/internals/SeqNo.ts b/src/session/internals/SeqNo.ts old mode 100644 new mode 100755 index 6f55baced..49bb916bd --- a/src/session/internals/SeqNo.ts +++ b/src/session/internals/SeqNo.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -15,7 +15,7 @@ export class SeqNo { this.contentRMsgSend = 0; this.seqNo = 0; } - getSeqNo(isContentRelated: boolean) { + getSeqNo(isContentRelated: boolean): number { this.seqNo = this.contentRMsgSend * 2 + (isContentRelated ? 1 : 0); if (isContentRelated) this.contentRMsgSend += 1; return this.seqNo; diff --git a/src/session/secretChats/SecretChat.ts b/src/session/secretChats/SecretChat.ts old mode 100644 new mode 100755 index 25d0e6bc0..b2dd7c0db --- a/src/session/secretChats/SecretChat.ts +++ b/src/session/secretChats/SecretChat.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,18 +8,11 @@ * it under the terms of the GPL v3 License as published. */ -import { Raw } from '../../raw/index.ts'; -import { type AbstractSession, SecretChat as TempChat } from '../../storage/index.ts'; -import { Mutex, inspect, crypto, Buffer } from '../../platform.deno.ts'; -import { Logger } from '../../Logger.ts'; -import { SecurityCheckMismatch, SecretChatError } from '../../errors/index.ts'; -import { SecretChats } from '../../crypto/index.ts'; -import { - bufferToBigint as toBigint, - bigintToBuffer as toBuffer, - bigIntPow, -} from '../../helpers.ts'; -import type { Client } from '../../client/Client.ts'; +import { type AbstractSession, SecretChat as TempChat } from '../../storage/index.js'; +import { Mutex, inspect, crypto, Buffer, Skema } from '../../deps.js'; +import { Logger } from '../../Logger.js'; +import { SecretChats } from '../../crypto/index.js'; +import type { Client } from '../../client/Client.js'; // Adapted from: // https://github.com/danog/MadelineProto/blob/v8/src/SecretChats/AuthKeyHandler.php @@ -32,7 +25,7 @@ function sha1(data: Buffer): Buffer { export class SecretChat { private _storage!: AbstractSession; private _client!: Client; - private _dhConfig!: Raw.messages.DhConfig; + private _dhConfig!: Skema.Raw.messages.DhConfig; // private _dhP!: bigint; private _mutex!: Mutex; private _tempAuthKey!: Map; @@ -55,17 +48,17 @@ export class SecretChat { try { let version = 0; if (this._dhConfig) { - if (this._dhConfig instanceof Raw.messages.DhConfig) { - version = (this._dhConfig as Raw.messages.DhConfig).version; + if (this._dhConfig instanceof Skema.Raw.messages.DhConfig) { + version = (this._dhConfig as Skema.Raw.messages.DhConfig).version; } } const dh = await this._client.invoke( - new Raw.messages.GetDhConfig({ + new Skema.Raw.messages.GetDhConfig({ randomLength: 0, version: version, }), ); - if (dh instanceof Raw.messages.DhConfigNotModified) { + if (dh instanceof Skema.Raw.messages.DhConfigNotModified) { return this._dhConfig; } this._dhConfig = dh; @@ -78,27 +71,30 @@ export class SecretChat { * Send a request to specific user to start the secret chat. * @param {BigInt | String} userId - UserId will be sent the request for secret chat. */ - async start(userId: bigint | string) { - Logger.debug(`[127] starting secret chat for ${userId}`); + async start(userId: bigint | string): Promise { + Logger.debug(`[1.session.secretChats.SecretChat] starting secret chat for ${userId}`); const peer = await this._client.resolvePeer(userId); const dh = await this.reqDHConfig(); - const p = await toBigint(dh.p, false); - const a = await toBigint(Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), false); - const gA = bigIntPow(BigInt(dh.g), a, p); + const p = await Skema.bufferToBigint(dh.p, false); + const a = await Skema.bufferToBigint( + Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), + false, + ); + const gA = Skema.bigIntPow(BigInt(dh.g), a, p); // https://corefork.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gA && gA < p - BigInt(1), 'gA must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gA && gA < p - BigInt(2) ** BigInt(2048 - 64), 'gA must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - Logger.debug('[111] gA validation: OK'); + Logger.debug('[2.session.secretChats.SecretChat] gA validation: OK'); const res = await this._client.invoke( - new Raw.messages.RequestEncryption({ + new Skema.Raw.messages.RequestEncryption({ userId: peer, - gA: await toBuffer(gA, 256, false), + gA: await Skema.bigintToBuffer(gA, 256, false), randomId: Buffer.from(crypto.randomBytes(4) as unknown as Uint8Array).readInt32LE(), }), ); @@ -107,7 +103,7 @@ export class SecretChat { await TempChat.save(this._storage, { id: res.id, accessHash: BigInt(0), - authKey: await toBuffer(a, 256, false), + authKey: await Skema.bigintToBuffer(a, 256, false), isAdmin: false, // set false in here, because we not finished to create the secret chat. }); } finally { @@ -120,36 +116,39 @@ export class SecretChat { * Accepting a request for secret chat. * https://core.telegram.org/api/end-to-end#accepting-a-request */ - async accept(request: Raw.EncryptedChatRequested) { - Logger.debug(`[125] accepting secret chat from ${request.id}`); + async accept(request: Skema.Raw.EncryptedChatRequested): Promise { + Logger.debug(`[3.session.secretChats.SecretChat] accepting secret chat from ${request.id}`); if (request.id === 0) { - throw new SecretChatError.AlreadyAccepted(); + throw new Skema.SecretChatError.AlreadyAccepted(); } const dh = await this.reqDHConfig(); - const p = await toBigint(dh.p, false); - const b = await toBigint(Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), false); - const gA = toBigint(request.gA, false); - const gB = bigIntPow(BigInt(dh.g), b, p); - const authKey = await toBuffer(bigIntPow(gA, b, p), 256, false); + const p = await Skema.bufferToBigint(dh.p, false); + const b = await Skema.bufferToBigint( + Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), + false, + ); + const gA = Skema.bufferToBigint(request.gA, false); + const gB = Skema.bigIntPow(BigInt(dh.g), b, p); + const authKey = await Skema.bigintToBuffer(Skema.bigIntPow(gA, b, p), 256, false); const fingerprint = sha1(authKey).subarray(-8).readBigInt64LE(); // https://corefork.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gA && gA < p - BigInt(1), 'gA must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gA && gA < p - BigInt(2) ** BigInt(2048 - 64), 'gA must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gB && gB < p - BigInt(1), 'gB must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gB && gB < p - BigInt(2) ** BigInt(2048 - 64), 'gB must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - Logger.debug('[126] gA and gB validation: OK'); + Logger.debug('[4.session.secretChats.SecretChat] gA and gB validation: OK'); const release = await this._mutex.acquire(); try { await TempChat.save(this._storage, { @@ -162,42 +161,42 @@ export class SecretChat { release(); } const res = await this._client.invoke( - new Raw.messages.AcceptEncryption({ - peer: new Raw.InputEncryptedChat({ + new Skema.Raw.messages.AcceptEncryption({ + peer: new Skema.Raw.InputEncryptedChat({ chatId: request.id, accessHash: request.accessHash, }), - gB: await toBuffer(gB, 256, false), + gB: await Skema.bigintToBuffer(gB, 256, false), keyFingerprint: fingerprint, }), ); await this.notifyLayer(request.id); return res; } - async finish(chat: Raw.EncryptedChat) { - Logger.debug(`[129] finishing creating secret chat ${chat.id}`); + async finish(chat: Skema.Raw.EncryptedChat): Promise { + Logger.debug(`[5.session.secretChats.SecretChat] finishing creating secret chat ${chat.id}`); const dh = await this.reqDHConfig(); - const p = await toBigint(dh.p, false); - const gAOrB = await toBigint(chat.gAOrB, false); + const p = await Skema.bufferToBigint(dh.p, false); + const gAOrB = await Skema.bufferToBigint(chat.gAOrB, false); // https://corefork.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gAOrB && gAOrB < p - BigInt(1), 'gAOrB must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gAOrB && gAOrB < p - BigInt(2) ** BigInt(2048 - 64), 'gAOrB must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - Logger.debug('[128] gAOrB validation: OK'); + Logger.debug('[6.session.secretChats.SecretChat] gAOrB validation: OK'); const peer = await this._storage.getSecretChatById(chat.id); if (!peer) { - throw new SecretChatError.ChatNotFound(chat.id); + throw new Skema.SecretChatError.ChatNotFound(chat.id); } - const a = await toBigint(peer.authKey, false); - const authKey = await toBuffer(bigIntPow(gAOrB, a, p), 256, false); + const a = await Skema.bufferToBigint(peer.authKey, false); + const authKey = await Skema.bigintToBuffer(Skema.bigIntPow(gAOrB, a, p), 256, false); const fingerprint = sha1(authKey).subarray(-8).readBigInt64LE(); if (fingerprint !== chat.keyFingerprint) { - throw new SecretChatError.FingerprintMismatch(); + throw new Skema.SecretChatError.FingerprintMismatch(); } const release = await this._mutex.acquire(); try { @@ -217,26 +216,26 @@ export class SecretChat { } return this.notifyLayer(chat.id); } - async notifyLayer(chatId: number) { - Logger.debug(`[130] notify layer for ${chatId}`); + async notifyLayer(chatId: number): Promise { + Logger.debug(`[7.session.secretChats.SecretChat] notify layer for ${chatId}`); const peer = await this._storage.getSecretChatById(chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(chatId); + throw new Skema.SecretChatError.ChatNotFound(chatId); } if (peer.layer !== 8) { return this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService8({ + new Skema.Raw.DecryptedMessageService8({ randomId: Buffer.from( crypto.randomBytes(8) as unknown as Uint8Array, ).readBigInt64LE(), randomBytes: crypto.randomBytes(15 + 4 * Math.floor(Math.random() * 2)), - action: new Raw.DecryptedMessageActionNotifyLayer17({ - layer: Math.min(peer.layer, Raw.Layer), + action: new Skema.Raw.DecryptedMessageActionNotifyLayer17({ + layer: Math.min(peer.layer, Skema.Raw.Layer), }), }), ), @@ -245,25 +244,25 @@ export class SecretChat { } return; } - async destroy(chatId: number) { - Logger.debug(`[131] destroying secret chat ${chatId}`); + async destroy(chatId: number): Promise { + Logger.debug(`[8.session.secretChats.SecretChat] destroying secret chat ${chatId}`); const release = await this._mutex.acquire(); try { await this._storage.removeSecretChatById(chatId); } finally { release(); } - Logger.debug(`[132] ${chatId} was removed from session`); + Logger.debug(`[9.session.secretChats.SecretChat] ${chatId} was removed from session`); try { await this._client.invoke( - new Raw.messages.DiscardEncryption({ + new Skema.Raw.messages.DiscardEncryption({ chatId: chatId, }), ); } catch (_error: unknown) { // ignore error } - Logger.debug(`[133] ${chatId} already destroyed`); + Logger.debug(`[10.session.secretChats.SecretChat] ${chatId} already destroyed`); return true; } // Perfect Forward Secrecy : https://corefork.telegram.org/api/end-to-end/pfs @@ -272,46 +271,49 @@ export class SecretChat { * https://core.telegram.org/api/end-to-end/pfs#1-decryptedmessageactionrequestkey * @param {Number} chatId - Secret chat id which will be request re-keying */ - async rekeying(chatId: number) { - Logger.debug(`[114] re-keying ${chatId}: initiator`); + async rekeying(chatId: number): Promise { + Logger.debug(`[11.session.secretChats.SecretChat] re-keying ${chatId}: initiator`); const peer = await this._storage.getSecretChatById(chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(chatId); + throw new Skema.SecretChatError.ChatNotFound(chatId); } const dh = await this.reqDHConfig(); - const p = await toBigint(dh.p, false); - const a = await toBigint(Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), false); - const gA = bigIntPow(BigInt(dh.g), a, p); + const p = await Skema.bufferToBigint(dh.p, false); + const a = await Skema.bufferToBigint( + Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), + false, + ); + const gA = Skema.bigIntPow(BigInt(dh.g), a, p); let e = Buffer.from(crypto.randomBytes(64) as unknown as Uint8Array).readBigInt64LE(); peer.rekeyStep = 1; peer.rekeyExchange = e; // https://corefork.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gA && gA < p - BigInt(1), 'gA must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gA && gA < p - BigInt(2) ** BigInt(2048 - 64), 'gA must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - Logger.debug('[115] gA validation: OK'); + Logger.debug('[12.session.secretChats.SecretChat] gA validation: OK'); const release = await this._mutex.acquire(); try { await peer.update(this._storage); // keep it sync! - this._tempAuthKey.set(e, await toBuffer(a, 256, false)); + this._tempAuthKey.set(e, await Skema.bigintToBuffer(a, 256, false)); } finally { release(); } return this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService17({ + new Skema.Raw.DecryptedMessageService17({ randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), - action: new Raw.DecryptedMessageActionRequestKey20({ - gA: await toBuffer(gA, 256, false), + action: new Skema.Raw.DecryptedMessageActionRequestKey20({ + gA: await Skema.bigintToBuffer(gA, 256, false), exchangeId: e, }), }), @@ -325,20 +327,27 @@ export class SecretChat { * @param {Number} chatId - Secret chat id which will be accept re-keying * @param {Raw.DecryptedMessageActionRequestKey20} - An action used to accept and create new authKey. */ - async acceptRekeying(chatId: number, action: Raw.DecryptedMessageActionRequestKey20) { - Logger.debug(`[116] re-keying ${chatId}: accepting`); + async acceptRekeying( + chatId: number, + action: Skema.Raw.DecryptedMessageActionRequestKey20, + ): Promise { + Logger.debug(`[13.session.secretChats.SecretChat] re-keying ${chatId}: accepting`); const peer = await this._storage.getSecretChatById(chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(chatId); + throw new Skema.SecretChatError.ChatNotFound(chatId); } // https://core.telegram.org/api/end-to-end/pfs#concurrent-re-keying if (peer.rekeyStep) { if (peer.rekeyExchange > action.exchangeId) { - Logger.info(`[117] Aborting rekeying: received exchangeId smaller than our exchangeId`); + Logger.info( + `[14.session.secretChats.SecretChat] Aborting rekeying: received exchangeId smaller than our exchangeId`, + ); return; } if (peer.rekeyExchange === action.exchangeId) { - Logger.info(`[118] Aborting rekeying: received exchangeId equal with our exchangeId`); + Logger.info( + `[15.session.secretChats.SecretChat] Aborting rekeying: received exchangeId equal with our exchangeId`, + ); const release = await this._mutex.acquire(); try { peer.rekeyStep = 0; @@ -351,22 +360,25 @@ export class SecretChat { } } const dh = await this.reqDHConfig(); - const p = await toBigint(dh.p, false); - const b = await toBigint(Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), false); - const gA = toBigint(action.gA, false); - const gB = bigIntPow(BigInt(dh.g), b, p); - const authKey = await toBuffer(bigIntPow(gA, b, p), 256, false); + const p = await Skema.bufferToBigint(dh.p, false); + const b = await Skema.bufferToBigint( + Buffer.from(crypto.randomBytes(256) as unknown as Uint8Array), + false, + ); + const gA = Skema.bufferToBigint(action.gA, false); + const gB = Skema.bigIntPow(BigInt(dh.g), b, p); + const authKey = await Skema.bigintToBuffer(Skema.bigIntPow(gA, b, p), 256, false); const fingerprint = sha1(authKey).subarray(-8); // https://corefork.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gB && gB < p - BigInt(1), 'gB must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gB && gB < p - BigInt(2) ** BigInt(2048 - 64), 'gB must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - Logger.debug('[119] gB validation: OK'); + Logger.debug('[16.session.secretChats.SecretChat] gB validation: OK'); const release = await this._mutex.acquire(); try { this._tempAuthKey.set(action.exchangeId, authKey); @@ -377,15 +389,15 @@ export class SecretChat { release(); } return this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService17({ + new Skema.Raw.DecryptedMessageService17({ randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), - action: new Raw.DecryptedMessageActionAcceptKey20({ - gB: await toBuffer(gB, 256, false), + action: new Skema.Raw.DecryptedMessageActionAcceptKey20({ + gB: await Skema.bigintToBuffer(gB, 256, false), exchangeId: action.exchangeId, keyFingerprint: fingerprint.readBigInt64LE(), }), @@ -400,11 +412,14 @@ export class SecretChat { * @param {Number} chatId - Secret chat id which will be changed the auth key. * @param {Raw.DecryptedMessageActionRequestKey20} action - An action used to commit the new authKey. */ - async commitRekeying(chatId: number, action: Raw.DecryptedMessageActionAcceptKey20) { - Logger.debug(`[120] re-keying ${chatId}: commiting`); + async commitRekeying( + chatId: number, + action: Skema.Raw.DecryptedMessageActionAcceptKey20, + ): Promise { + Logger.debug(`[17.session.secretChats.SecretChat] re-keying ${chatId}: commiting`); const peer = await this._storage.getSecretChatById(chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(chatId); + throw new Skema.SecretChatError.ChatNotFound(chatId); } if (peer.rekeyStep !== 1 || !this._tempAuthKey.has(action.exchangeId)) { const release = await this._mutex.acquire(); @@ -418,54 +433,60 @@ export class SecretChat { return; } const dh = await this.reqDHConfig(); - const p = await toBigint(dh.p, false); - const gB = await toBigint(action.gB, false); - const authKey = await toBuffer( - bigIntPow(gB, await toBigint(this._tempAuthKey.get(action.exchangeId) as Buffer), p), + const p = await Skema.bufferToBigint(dh.p, false); + const gB = await Skema.bufferToBigint(action.gB, false); + const authKey = await Skema.bigintToBuffer( + Skema.bigIntPow( + gB, + await Skema.bufferToBigint(this._tempAuthKey.get(action.exchangeId) as Buffer), + p, + ), 256, false, ); const fingerprint = sha1(authKey).subarray(-8).readBigInt64LE(); // https://corefork.telegram.org/mtproto/security_guidelines#g-a-and-g-b-validation - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(1) < gB && gB < p - BigInt(1), 'gB must be greater than one and smaller than p-1', ); - SecurityCheckMismatch.check( + Skema.SecurityCheckMismatch.check( BigInt(2) ** BigInt(2048 - 64) < gB && gB < p - BigInt(2) ** BigInt(2048 - 64), 'gB must be greater than 2^{2048 - 64} and smaller than p-2^{2048 -64}', ); - Logger.debug('[121] gB validation: OK'); + Logger.debug('[18.session.secretChats.SecretChat] gB validation: OK'); if (fingerprint !== action.keyFingerprint) { - Logger.error(`[122] re-keying ${chatId}: Aborting due mismatched fingerprint`); + Logger.error( + `[19.session.secretChats.SecretChat] re-keying ${chatId}: Aborting due mismatched fingerprint`, + ); await this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService17({ + new Skema.Raw.DecryptedMessageService17({ randomId: Buffer.from( crypto.randomBytes(8) as unknown as Uint8Array, ).readBigInt64LE(), - action: new Raw.DecryptedMessageActionAbortKey20({ + action: new Skema.Raw.DecryptedMessageActionAbortKey20({ exchangeId: action.exchangeId, }), }), ), }), ); - throw new SecretChatError.FingerprintMismatch(); + throw new Skema.SecretChatError.FingerprintMismatch(); } const response = await this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService17({ + new Skema.Raw.DecryptedMessageService17({ randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), - action: new Raw.DecryptedMessageActionCommitKey20({ + action: new Skema.Raw.DecryptedMessageActionCommitKey20({ exchangeId: action.exchangeId, keyFingerprint: action.keyFingerprint, }), @@ -493,11 +514,14 @@ export class SecretChat { * @param {Number} chatId - Secret chat id which will be Completing the re-keying. * @param {Raw.DecryptedMessageActionCommitKey20} action - An action used to completed re-keying. */ - async finalRekeying(chatId: number, action: Raw.DecryptedMessageActionCommitKey20) { - Logger.debug(`[123] re-keying ${chatId}: finishing`); + async finalRekeying( + chatId: number, + action: Skema.Raw.DecryptedMessageActionCommitKey20, + ): Promise { + Logger.debug(`[20.session.secretChats.SecretChat] re-keying ${chatId}: finishing`); const peer = await this._storage.getSecretChatById(chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(chatId); + throw new Skema.SecretChatError.ChatNotFound(chatId); } if (peer.rekeyStep !== 2 || !this._tempAuthKey.has(action.exchangeId)) { return; @@ -506,25 +530,27 @@ export class SecretChat { .subarray(-8) .readBigInt64LE(); if (fingerprint !== action.keyFingerprint) { - Logger.error(`[124] re-keying ${chatId}: Aborting due mismatched fingerprint`); + Logger.error( + `[21.session.secretChats.SecretChat] re-keying ${chatId}: Aborting due mismatched fingerprint`, + ); await this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService17({ + new Skema.Raw.DecryptedMessageService17({ randomId: Buffer.from( crypto.randomBytes(8) as unknown as Uint8Array, ).readBigInt64LE(), - action: new Raw.DecryptedMessageActionAbortKey20({ + action: new Skema.Raw.DecryptedMessageActionAbortKey20({ exchangeId: action.exchangeId, }), }), ), }), ); - throw new SecretChatError.FingerprintMismatch(); + throw new Skema.SecretChatError.FingerprintMismatch(); } const release = await this._mutex.acquire(); try { @@ -539,14 +565,14 @@ export class SecretChat { release(); } return this._client.invoke( - new Raw.messages.SendEncryptedService({ + new Skema.Raw.messages.SendEncryptedService({ peer: peer.input, randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), data: await this.encrypt( chatId, - new Raw.DecryptedMessageService17({ + new Skema.Raw.DecryptedMessageService17({ randomId: Buffer.from(crypto.randomBytes(8) as unknown as Uint8Array).readBigInt64LE(), - action: new Raw.DecryptedMessageActionNoop20(), + action: new Skema.Raw.DecryptedMessageActionNoop20(), }), ), }), @@ -555,36 +581,40 @@ export class SecretChat { /** * Decrypt encrypted message */ - async decrypt(message: Raw.TypeEncryptedMessage) { + async decrypt(message: Skema.Raw.TypeEncryptedMessage): Promise { let decrypted; if (!this._waiting.includes(message.chatId)) { const peer = await this._storage.getSecretChatById(message.chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(message.chatId); + throw new Skema.SecretChatError.ChatNotFound(message.chatId); } if (peer.mtproto === 2) { try { decrypted = await SecretChats.unpack(message, peer.authKey, peer.isAdmin, peer.mtproto); } catch (error) { - if (error instanceof SecretChatError.FingerprintMismatch) { + if (error instanceof Skema.SecretChatError.FingerprintMismatch) { await this.destroy(message.chatId); throw error; } decrypted = await SecretChats.unpack(message, peer.authKey, peer.isAdmin, 1); peer.mtproto = 1; - Logger.debug(`[112] Switch MTProto version for ${message.chatId} to ${peer.mtproto}`); + Logger.debug( + `[22.session.secretChats.SecretChat] Switch MTProto version for ${message.chatId} to ${peer.mtproto}`, + ); } } else { try { decrypted = await SecretChats.unpack(message, peer.authKey, peer.isAdmin, peer.mtproto); } catch (error) { - if (error instanceof SecretChatError.FingerprintMismatch) { + if (error instanceof Skema.SecretChatError.FingerprintMismatch) { await this.destroy(message.chatId); throw error; } decrypted = await SecretChats.unpack(message, peer.authKey, peer.isAdmin, 2); peer.mtproto = 2; - Logger.debug(`[113] Switch MTProto version for ${message.chatId} to ${peer.mtproto}`); + Logger.debug( + `[23.session.secretChats.SecretChat] Switch MTProto version for ${message.chatId} to ${peer.mtproto}`, + ); } } const release = await this._mutex.acquire(); @@ -606,10 +636,10 @@ export class SecretChat { /** * Encrypt decrypted message */ - async encrypt(chatId: number, message: Raw.TypeDecryptedMessage) { + async encrypt(chatId: number, message: Skema.Raw.TypeDecryptedMessage): Promise { const peer = await this._storage.getSecretChatById(chatId); if (!peer) { - throw new SecretChatError.ChatNotFound(chatId); + throw new Skema.SecretChatError.ChatNotFound(chatId); } const release = await this._mutex.acquire(); const inSeqNo = peer.inSeqNo * 2 + peer.inSeqNoX; diff --git a/src/session/secretChats/index.ts b/src/session/secretChats/index.ts old mode 100644 new mode 100755 index b82a7550f..145862fe6 --- a/src/session/secretChats/index.ts +++ b/src/session/secretChats/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,4 +8,4 @@ * it under the terms of the GPL v3 License as published. */ -export { SecretChat } from './SecretChat.ts'; +export { SecretChat } from './SecretChat.js'; diff --git a/src/storage/Abstract.ts b/src/storage/Abstract.ts old mode 100644 new mode 100755 index 94f2f1882..8caf70c35 --- a/src/storage/Abstract.ts +++ b/src/storage/Abstract.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,68 +8,49 @@ * it under the terms of the GPL v3 License as published. */ -import { Raw } from '../raw/index.ts'; -import { type SecretChat } from './SecretChat.ts'; -// @ts-ignore -import { type Buffer } from '../platform.deno.ts'; +import { type SecretChat } from './SecretChat.js'; +import { type Buffer, Skema } from '../deps.js'; type MaybePromise = T | Promise; /** - * @class AbstractSession - * Schema of a valid session. Creating a class session must extend this class so that the class is valid. + * Represents the interface contract and base schema for session persistence. + * + * Any custom backend storage driver (e.g. StringSession, MemorySession, SQLSession) + * must extend this class to ensure API compatibility within the `@tgsnake/core` library. */ export abstract class AbstractSession { - /** - * Telegram Server IP address. - */ + /** Telegram Server IP address. */ protected abstract _ip: string; - /** - * DcId where the user connected. - */ + /** Data center ID configured for this session. */ protected abstract _dcId: number; - /** - * Required port for create connection to telegram server. - */ + /** Port required to establish a TCP socket. */ protected abstract _port: number; - /** - * Collective peers. - */ + /** Cache holding resolved peer details indexed by ID. */ protected abstract _peers: Map< bigint, [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] >; - /** - * Collective of secret chat. - */ + /** Cache holding resolved secret chat records. */ protected abstract _secretChats: Map; - /** - * Bytes Authkey for user login. - */ + /** The raw cryptographic authorization key. */ protected abstract _authKey: Buffer; - /** - * If set, it make user login in test telegram server. - */ + /** Indicates if session runs on Telegram's test environment. */ protected abstract _testMode: boolean; - /** - * The user appId, got it from my.telegram.org. - */ + /** The developer's unique Telegram API ID. */ protected abstract _apiId: number; - /** - * Id of current logined user. - */ + /** The unique Telegram User ID of the logged-in entity. */ protected abstract _userId: bigint; - /** - * User is bot or not. - */ + /** Indicates if the logged-in entity is a bot. */ protected abstract _isBot: boolean; + /** - * Sets the information of the data center address, port, and test mode.
- * The library should connect to, as well as the data center ID. - * @param {Number} dcId - * @param {String} ip - * @param {Number} port - * @param {Boolean} testMode + * Sets the core data center network coordinate parameters. + * + * @param {number} dcId - The target Telegram DC ID. + * @param {string} ip - The target IP address or domain. + * @param {number} port - The target port number. + * @param {boolean} testMode - Connects to testing environment when set to `true`. */ abstract setAddress( dcId: number, @@ -77,141 +58,196 @@ export abstract class AbstractSession { port: number, testMode: boolean, ): MaybePromise; + /** - * Set user AuthKey. - * @param {Buffer} authKey - * @param {Number} dcId + * Configures the authorization key. + * + * @param {Buffer} authKey - Cryptographic authentication key buffer. + * @param {number} dcId - Association data center index. */ abstract setAuthKey(authKey: Buffer, dcId: number): MaybePromise; + /** - * Set apiId, got it from my.telegram.org. - * @param {Number} apiId + * Sets the API ID. + * + * @param {number} apiId - The application API ID. */ abstract setApiId(apiId: number): MaybePromise; + /** - * Set the user type, is bot or not. - * @param {Boolean} isbot + * Defines whether the authorized entity is a bot. + * + * @param {boolean} isbot - Set `true` if authorized as bot. */ abstract setIsBot(isbot: boolean): MaybePromise; + /** - * Set the id of logined user. - * @param {BigInt} userId + * Sets the current logged-in User/Bot ID. + * + * @param {bigint} userId - The unique user identifier. */ abstract setUserId(userId: bigint): MaybePromise; + /** - * Return the current AuthKey + * Retrieves the current cryptographic authentication key. */ abstract get authKey(): Buffer; + /** - * Return type of user, is bot or not. + * Indicates if the active entity is a Telegram bot. */ abstract get isBot(): boolean; + /** - * Return user is login on test server or not. + * Indicates if the session connects to test server targets. */ abstract get testMode(): boolean; + /** - * Return the current logined user id. + * Gets the authorized user identifier. */ abstract get userId(): bigint; + /** - * Return api id which is using by user. + * Gets the active application API ID. */ abstract get apiId(): number; + /** - * Return Dc Id where the user connected. + * Gets the target connection DC ID. */ abstract get dcId(): number; + /** - * Return port for connecting to telegram server. + * Gets the target network port. */ abstract get port(): number; + /** - * Return IP address for connecting to telegram server. + * Gets the target network IP address. */ abstract get ip(): string; + /** - * Return cache of peers. + * Gets the active cache map holding peer records. */ abstract get peers(): Map< bigint, [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] >; + + /** + * Gets the active cache map holding secret chat wrappers. + */ abstract get secretChats(): Map; + /** - * Load the session + * Loads the session credentials from the underlying backend storage. */ abstract load(): MaybePromise; + /** - * Delete the session from storage + * Purges the session credentials from the storage backend. */ abstract delete(): MaybePromise; + /** - * Save the session to storage + * Saves the session state to the persistence layer. */ abstract save(): MaybePromise; + /** - * Move session from instance to another instance. - * @param {object} session - Another instance which will be migrated there. + * Copies and migrates session credentials to another session target driver instance. + * + * @param {AbstractSession} session - The target session instance. */ abstract move(session: AbstractSession): MaybePromise; + /** - * Save peer into cache. - * @param {Array} peers - Collection of peers will be saved to cache. + * Updates multiple cached peer coordinates within the persistence record. + * + * @param {Array<[bigint, bigint, string, Array?, string?]>} peers - Array of peer tuples. */ abstract updatePeers( peers: Array< [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] >, ): MaybePromise; + /** - * Save secret chat into cache. - * @param {array} chats - Collection of secret chats will be saved to cache. + * Updates cached secret chat instances. + * + * @param {Array} chats - Collection of active secret chats. */ abstract updateSecretChats(chats: Array): MaybePromise; + /** - * Get the input secret chat or secret chat info with given id. - * @param {number} id - Chat Id which will be used to find input secret chat or secret chat object. + * Resolves a cached secret chat wrapper by its identifier. + * + * @param {number} id - Target secret chat ID. + * @returns {MaybePromise} Resolves to secret chat instance if found. */ abstract getSecretChatById(id: number): MaybePromise; + /** - * Get peer by their given id from cache. - * @param {bigint} id - User id will be search on cache. + * Resolves cached peer input entities using their ID coordinates. + * + * @param {bigint} id - Target user, group, or channel ID. + * @returns {MaybePromise} Resolves to correct InputPeer wrapper. */ abstract getPeerById( id: bigint, - ): MaybePromise; + ): MaybePromise< + Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel | undefined + >; + /** - * Get peer by their given username from cache. - * @param {string} username - Username will be search on cache. + * Resolves cached peer input entities using their username handle. + * + * @param {string} username - Target handle. + * @returns {MaybePromise} */ abstract getPeerByUsername( username: string, - ): MaybePromise; + ): MaybePromise< + Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel | undefined + >; + /** - * Get peer by their given phone number from cache. - * @param {string} phoneNumber - Phone number will be search on cache. + * Resolves cached peer input entities using their phone number identifier. + * + * @param {string} phoneNumber - Target phone number. + * @returns {MaybePromise} */ abstract getPeerByPhoneNumber( phoneNumber: string, - ): MaybePromise; + ): MaybePromise< + Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel | undefined + >; + /** - * Remove secret chat by id. - * @param {number} id - secret chat id which will removed. + * Removes secret chat caching from the persistence record. + * + * @param {number} id - Target secret chat ID. + * @returns {MaybePromise} Resolves to `true` when successfully deleted. */ abstract removeSecretChatById(id: number): MaybePromise; + /** - * Update the pts state. - * @param {number} pts - pts state. - * @param {number} date - pts date. + * Synchronizes the session update stream PTS state checkpoints. + * + * @param {number} pts - Current PTS. + * @param {number} date - Checkpoint timestamp. */ abstract updatePts(pts: number, date: number): MaybePromise; + /** - * Get saved pts state + * Fetches the persisted PTS stream checkpoints. */ abstract getPts(): Promise<[pts: number, date: number]>; + /** - * Export session to valid string. + * Serializes the active session details into a portable string format. */ abstract exportString(): string; /** @hidden */ diff --git a/src/storage/SecretChat.ts b/src/storage/SecretChat.ts old mode 100644 new mode 100755 index f055d2f18..b747bafa7 --- a/src/storage/SecretChat.ts +++ b/src/storage/SecretChat.ts @@ -1,15 +1,14 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * * tgsnake is a free software : you can redistribute it and/or modify * it under the terms of the GPL v3 License as published. */ -import { inspect, Mutex, Buffer } from '../platform.deno.ts'; -import { Raw } from '../raw/index.ts'; -import { type AbstractSession } from './Abstract.ts'; +import { inspect, Mutex, Buffer, Skema } from '../deps.js'; +import { type AbstractSession } from './Abstract.js'; export class SecretChat { id!: number; @@ -48,7 +47,7 @@ export class SecretChat { this.created = Date.now() / 1000; this.changed = 0; this.mtproto = 2; - this.layer = Raw.Layer; + this.layer = Skema.Raw.Layer; this.ttl = 0; this.timeRekey = 100; // 100 messages this.outSeqNoX = isAdmin ? 1 : 0; @@ -59,7 +58,7 @@ export class SecretChat { * Update this secret chat in session. * @param {AbstractSession} storage - Secret chat object will be saved to session */ - async update(storage: AbstractSession) { + async update(storage: AbstractSession): Promise { const release = await this._mutex.acquire(); try { storage.updateSecretChats([this]); @@ -97,8 +96,8 @@ export class SecretChat { /** * Get the InputEncryptedChat from SecretChat class */ - get input() { - return new Raw.InputEncryptedChat({ + get input(): Skema.Raw.InputEncryptedChat { + return new Skema.Raw.InputEncryptedChat({ chatId: this.id, accessHash: this.accessHash, }); diff --git a/src/storage/Session.ts b/src/storage/Session.ts old mode 100644 new mode 100755 index 02d44d4fb..b4e084398 --- a/src/storage/Session.ts +++ b/src/storage/Session.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,12 +8,11 @@ * it under the terms of the GPL v3 License as published. */ -import { Logger } from '../Logger.ts'; -import { AbstractSession } from './Abstract.ts'; -import { Raw } from '../raw/index.ts'; -import { getChannelId } from '../helpers.ts'; -import { inspect, Buffer } from '../platform.deno.ts'; -import type { SecretChat } from './SecretChat.ts'; +import { Logger } from '../Logger.js'; +import { AbstractSession } from './Abstract.js'; +import { getChannelId } from '../helpers.js'; +import { inspect, Buffer, Skema } from '../deps.js'; +import type { SecretChat } from './SecretChat.js'; /** * Get a valid InputPeer from the available data session. @@ -21,18 +20,33 @@ import type { SecretChat } from './SecretChat.ts'; * @param {BigInt} accessHash - access hash of user or channel or group or bot which will be changed to a valid InputPeer. * @param {Boolean} type - Type of InputPeer to be assigned. The type must be `user` or `bot` or `group` or `channel` or `supergroup` */ -export function getInputPeer(id: bigint, accessHash: bigint, type: string) { +/** + * Converts raw entity identifiers into standard, structured Telegram `InputPeer` class instances. + * + * Maps IDs and access hashes depending on the peer's resolved entity type. + * + * @param {bigint} id - The unique user or chat identifier. + * @param {bigint} accessHash - The entity's associated access hash. + * @param {string} type - The entity type, must be user, bot, group, channel, or supergroup. + * @returns {InputPeerUser | InputPeerChat | InputPeerChannel} The structured InputPeer TL object. + * @throws {Error} Thrown if type is unrecognized. + */ +export function getInputPeer( + id: bigint, + accessHash: bigint, + type: string, +): Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel { if (type === 'bot' || type === 'user') { - return new Raw.InputPeerUser({ + return new Skema.Raw.InputPeerUser({ userId: id, accessHash: accessHash, }); } else if (type === 'group') { - return new Raw.InputPeerChat({ + return new Skema.Raw.InputPeerChat({ chatId: -id, }); } else if (type === 'channel' || type === 'supergroup') { - return new Raw.InputPeerChannel({ + return new Skema.Raw.InputPeerChannel({ channelId: getChannelId(id), accessHash: accessHash, }); @@ -42,13 +56,19 @@ export function getInputPeer(id: bigint, accessHash: bigint, type: string) { } /** - * @class BaseSession - * A class that is the parent of all existing session classes.Any session class can extend this class to get all the functionality it needs. + * Serves as the concrete base implementation driver for Session storage engines. + * + * Provides runtime cache lookups for peers and secret chats, portable string serialization formats, + * and session state migration triggers. */ export class BaseSession extends AbstractSession { + /** The target Telegram network IP address. */ protected _ip!: string; + /** The target Telegram network DC ID. Default is 2. */ protected _dcId: number = 2; + /** The target Telegram network port number. */ protected _port!: number; + /** Inner map cache for active peer details. */ protected _peers: Map< bigint, [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] @@ -56,12 +76,22 @@ export class BaseSession extends AbstractSession { bigint, [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] >(); + /** Inner map cache for secret chats. */ protected _secretChats: Map = new Map(); + /** The cryptographic authorization key. */ protected _authKey!: Buffer; + /** Connects to Telegram test environments when set to `true`. */ protected _testMode: boolean = false; + /** The developer's application API ID. */ protected _apiId!: number; + /** The authorized entity User/Bot ID. */ protected _userId!: bigint; + /** Indicates if the active entity is a bot. */ protected _isBot!: boolean; + + /** + * Initializes a BaseSession instance. + */ constructor() { super(); } @@ -84,34 +114,34 @@ export class BaseSession extends AbstractSession { setUserId(userId: bigint) { this._userId = userId; } - get authKey() { + get authKey(): Buffer { return this._authKey; } - get isBot() { + get isBot(): boolean { return this._isBot; } - get testMode() { + get testMode(): boolean { return this._testMode; } - get userId() { + get userId(): bigint { return this._userId; } - get apiId() { + get apiId(): number { return this._apiId; } - get dcId() { + get dcId(): number { return this._dcId; } - get port() { + get port(): number { return this._port; } - get ip() { + get ip(): string { return this._ip; } - get peers() { + get peers(): Map { return this._peers; } - get secretChats() { + get secretChats(): Map { return this._secretChats; } async load() {} @@ -124,7 +154,7 @@ export class BaseSession extends AbstractSession { } async move(session: AbstractSession) { Logger.info( - `[73] Moving session from ${this.constructor.name} to ${session.constructor.name}.`, + `[1.storage.Session] Moving session from ${this.constructor.name} to ${session.constructor.name}.`, ); await session.setAddress(this._dcId, this._ip, this._port, this._testMode); await session.setAuthKey(this._authKey, this._dcId); @@ -132,10 +162,10 @@ export class BaseSession extends AbstractSession { await session.setIsBot(this._isBot); await session.setUserId(this._userId); Logger.info( - `[74] Successfully move session from ${this.constructor.name} to ${session.constructor.name}.`, + `[2.storage.Session] Successfully move session from ${this.constructor.name} to ${session.constructor.name}.`, ); Logger.debug( - `[75] Deleting current session, cause: moved to another instance (${session.constructor.name}).`, + `[3.storage.Session] Deleting current session, cause: moved to another instance (${session.constructor.name}).`, ); await this.delete(); } @@ -144,33 +174,41 @@ export class BaseSession extends AbstractSession { [id: bigint, accessHash: bigint, type: string, username?: Array, phoneNumber?: string] >, ) { - Logger.debug(`[76] Updating ${peers.length} peers`); + Logger.debug(`[4.storage.Session] Updating ${peers.length} peers`); for (let peer of peers) { this._peers.set(peer[0], peer); } } async updateSecretChats(chats: Array) { - Logger.debug(`[109] Updating ${chats.length} secret chats`); + Logger.debug(`[5.storage.Session] Updating ${chats.length} secret chats`); for (let chat of chats) { this._secretChats.set(chat.id, chat); } } - async getSecretChatById(id: number) { - Logger.debug(`[110] Getting secret chat by id: ${id}`); + async getSecretChatById(id: number): Promise { + Logger.debug(`[6.storage.Session] Getting secret chat by id: ${id}`); let chat = this._secretChats.get(id); if (chat) { return chat; } } - async getPeerById(id: bigint) { - Logger.debug(`[77] Getting peer by id: ${id}`); + async getPeerById( + id: bigint, + ): Promise< + Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel | undefined + > { + Logger.debug(`[7.storage.Session] Getting peer by id: ${id}`); let peer = this._peers.get(id); if (peer) { return getInputPeer(peer[0], peer[1], peer[2]); } } - async getPeerByUsername(username: string) { - Logger.debug(`[78] Getting peer by username: ${username}`); + async getPeerByUsername( + username: string, + ): Promise< + Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel | undefined + > { + Logger.debug(`[8.storage.Session] Getting peer by username: ${username}`); for (let [, peer] of this._peers) { if (peer[3]) { if (Array.isArray(peer[3]) && peer[3].includes(username.toLowerCase())) { @@ -179,21 +217,25 @@ export class BaseSession extends AbstractSession { } } } - async getPeerByPhoneNumber(phoneNumber: string) { - Logger.debug(`[79] Getting peer by phone number: ${phoneNumber}`); + async getPeerByPhoneNumber( + phoneNumber: string, + ): Promise< + Skema.Raw.InputPeerUser | Skema.Raw.InputPeerChat | Skema.Raw.InputPeerChannel | undefined + > { + Logger.debug(`[9.storage.Session] Getting peer by phone number: ${phoneNumber}`); for (let [, peer] of this._peers) { if (peer[4] && peer[4] === phoneNumber) { return getInputPeer(peer[0], peer[1], peer[2]); } } } - async removeSecretChatById(id: number) { + async removeSecretChatById(id: number): Promise { if (this._secretChats.has(id)) { this._secretChats.delete(id); } return true; } - exportString() { + exportString(): string { // >BI?256sQ? let bytes = Buffer.alloc(6); bytes.writeUInt8(this._dcId, 0); // 1 @@ -209,7 +251,7 @@ export class BaseSession extends AbstractSession { Buffer.alloc(1) as unknown as Uint8Array, ]); bytes.writeUInt8(this._isBot ? 1 : 0, 270); // 271 - Logger.debug(`[80] Exporting ${Buffer.byteLength(bytes)} bytes of session`); + Logger.debug(`[10.storage.Session] Exporting ${Buffer.byteLength(bytes)} bytes of session`); try { return bytes.toString('base64url').replace(/=+$/g, ''); } catch (_error) { diff --git a/src/storage/StringSession.ts b/src/storage/StringSession.ts old mode 100644 new mode 100755 index bf7168d50..9b3cb466d --- a/src/storage/StringSession.ts +++ b/src/storage/StringSession.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,37 +8,47 @@ * it under the terms of the GPL v3 License as published. */ -import { Logger } from '../Logger.ts'; -import { BaseSession } from './Session.ts'; -import { BytesIO } from '../raw/index.ts'; -import { base64urlTobase64 } from '../helpers.ts'; -import { Buffer } from '../platform.deno.ts'; +import { Logger } from '../Logger.js'; +import { BaseSession } from './Session.js'; +import { base64urlTobase64 } from '../helpers.js'; +import { Buffer, BytesIO } from '../deps.js'; /** - * @class StringSession - * Convert valid base64 string to telegram session. - * This class supports several session strings from popular frameworks. Such as Telethon, Pyrogram, and GramJS. + * persistence driver class that deserializes and imports a portable Base64 session string. + * + * Supports parsing session string formats from popular libraries such as: + * - Telethon / GramJS (formats beginning with '1') + * - Pyrogram (latest versions) + * - native `@tgsnake/core` session formats (length of 271 bytes) */ export class StringSession extends BaseSession { + /** + * Parses and creates a Session from a serialized Base64 session string. + * + * @param {string} session - The serialized session string to import. + * @throws {Error} Thrown if the string format is unrecognized or corrupted. + */ constructor(session: string) { super(); if (session.length) { - Logger.debug(`[81] Starting parsing string session, length is: ${session.length}`); + Logger.debug( + `[1.storage.StringSession] Starting parsing string session, length is: ${session.length}`, + ); const start = Math.floor(Date.now() / 1000); // Telethon or gramjs string session if (session[0] === '1') { Logger.debug( - `[82] The string session look like telethon or gramjs string session, start parsing.`, + `[2.storage.StringSession] The string session look like telethon or gramjs string session, start parsing.`, ); // https://github.com/gram-js/gramjs/blob/master/gramjs/sessions/StringSession.ts session = session.slice(1); const bytes = new BytesIO(Buffer.from(base64urlTobase64(session), 'base64')); this._dcId = bytes.read(1).readUInt8(); - Logger.debug(`[84] Found dcId: ${this._dcId}.`); + Logger.debug(`[3.storage.StringSession] Found dcId: ${this._dcId}.`); if (session.length === 352) { const ipv4 = bytes.read(4); this._ip = `${(ipv4 as unknown as Uint8Array)[0]}.${(ipv4 as unknown as Uint8Array)[1]}.${(ipv4 as unknown as Uint8Array)[2]}.${(ipv4 as unknown as Uint8Array)[3]}`; - Logger.debug(`[85] Found ip: ${this._ip}.`); + Logger.debug(`[4.storage.StringSession] Found ip: ${this._ip}.`); } else { const serverAddressLen = bytes.read(2).readInt16BE(); if (serverAddressLen > 1000) { @@ -51,43 +61,49 @@ export class StringSession extends BaseSession { .join(':') .replace(/0000\:/g, ':') .replace(/:{2,}/g, '::'); - Logger.debug(`[86] Found ip: ${this._ip}.`); + Logger.debug(`[5.storage.StringSession] Found ip: ${this._ip}.`); } else { this._ip = bytes.read(serverAddressLen).toString(); - Logger.debug(`[87] Found ip: ${this._ip}.`); + Logger.debug(`[6.storage.StringSession] Found ip: ${this._ip}.`); } } this._port = bytes.read(2).readInt16BE(); - Logger.debug(`[88] Found port: ${this._port}.`); + Logger.debug(`[7.storage.StringSession] Found port: ${this._port}.`); this._authKey = bytes.read(); - Logger.debug(`[89] Found authKey: ${Buffer.byteLength(this._authKey)} bytes.`); + Logger.debug( + `[8.storage.StringSession] Found authKey: ${Buffer.byteLength(this._authKey)} bytes.`, + ); } else { const bytes = Buffer.from(base64urlTobase64(session), 'base64'); // Pyrogram (the old version of string session doesn't supported) or tgsnake string session. // The length of bytes must be 271 if (Buffer.byteLength(bytes) === 271) { Logger.debug( - `[90] The string session look like pyrogram or tgsnake string session, start parsing.`, + `[9.storage.StringSession] The string session look like pyrogram or tgsnake string session, start parsing.`, + ); + Logger.debug( + `[10.storage.StringSession] String session have a ${Buffer.byteLength(bytes)} bytes`, ); - Logger.debug(`[91] String session have a ${Buffer.byteLength(bytes)} bytes`); this._dcId = bytes.readUInt8(0); // 1 - Logger.debug(`[92] Found dcId: ${this._dcId}.`); + Logger.debug(`[11.storage.StringSession] Found dcId: ${this._dcId}.`); this._apiId = bytes.readUInt32LE(1); // 5 - Logger.debug(`[93] Found apiId: ${this._apiId}.`); + Logger.debug(`[12.storage.StringSession] Found apiId: ${this._apiId}.`); this._testMode = bytes.readUInt8(5) ? true : false; // 6 - Logger.debug(`[94] Found testMode: ${this._testMode}.`); + Logger.debug(`[13.storage.StringSession] Found testMode: ${this._testMode}.`); this._authKey = bytes.subarray(6, 262); // 262 - Logger.debug(`[95] Found authKey: ${Buffer.byteLength(this._authKey)} bytes.`); + Logger.debug( + `[14.storage.StringSession] Found authKey: ${Buffer.byteLength(this._authKey)} bytes.`, + ); this._userId = BigInt(`0x${bytes.subarray(262, 270).toString('hex')}`); // 270 - Logger.debug(`[96] Found userId: ${this._userId}.`); + Logger.debug(`[15.storage.StringSession] Found userId: ${this._userId}.`); this._isBot = bytes.readUInt8(270) ? true : false; // 271 - Logger.debug(`[97] Found isBot: ${this._isBot}.`); + Logger.debug(`[16.storage.StringSession] Found isBot: ${this._isBot}.`); Logger.debug( - `[98] Done parsing string session (${Math.floor(Date.now() / 1000) - start}s)`, + `[17.storage.StringSession] Done parsing string session (${Math.floor(Date.now() / 1000) - start}s)`, ); } else { Logger.error( - `[99] Can't parsing ${Buffer.byteLength(bytes)} bytes of string session, we only supported string session from telethon,gramjs,tgsnake, and pyrogram (latest version, old version doesn't supported)`, + `[18.storage.StringSession] Can't parsing ${Buffer.byteLength(bytes)} bytes of string session, we only supported string session from telethon,gramjs,tgsnake, and pyrogram (latest version, old version doesn't supported)`, ); throw new Error(`Invalid String Session`); } diff --git a/src/storage/index.ts b/src/storage/index.ts old mode 100644 new mode 100755 index 0b31f23da..6125d68b8 --- a/src/storage/index.ts +++ b/src/storage/index.ts @@ -1,6 +1,6 @@ /** * tgsnake - Telegram MTProto library for javascript or typescript. - * Copyright (C) 2025 tgsnake + * Copyright (C) 2026 tgsnake * * THIS FILE IS PART OF TGSNAKE * @@ -8,7 +8,7 @@ * it under the terms of the GPL v3 License as published. */ -export { AbstractSession } from './Abstract.ts'; -export { BaseSession, getInputPeer } from './Session.ts'; -export { StringSession } from './StringSession.ts'; -export { SecretChat } from './SecretChat.ts'; +export { AbstractSession } from './Abstract.js'; +export { BaseSession, getInputPeer } from './Session.js'; +export { StringSession } from './StringSession.js'; +export { SecretChat } from './SecretChat.js'; diff --git a/tsconfig.browser.json b/tsconfig.browser.json old mode 100644 new mode 100755 index 9df5065cf..acbc15b31 --- a/tsconfig.browser.json +++ b/tsconfig.browser.json @@ -7,7 +7,6 @@ "checkJs": true, "declaration": true, "outDir": "browser", - "downlevelIteration": true, "strict": true, "noImplicitAny": false, "strictNullChecks": true, @@ -17,7 +16,7 @@ "alwaysStrict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "moduleResolution": "node", + "moduleResolution": "nodenext", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "resolveJsonModule": true, diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755 index 3f2a57396..e7a1257de --- a/tsconfig.json +++ b/tsconfig.json @@ -3,10 +3,10 @@ /* Visit https://aka.ms/tsconfig.json to read more about this file */ /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ - "target": "ES2023" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "CommonJS" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, + "target": "es2024" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "module": "nodenext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "lib": [ - "ES2020", + "ES2025", "DOM", "ESNext" ] /* Specify library files to be included in the compilation. */, @@ -17,14 +17,14 @@ // "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, // "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "lib" /* Redirect output structure to the directory. */, + "outDir": "dist" /* Redirect output structure to the directory. */, //"rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ //"composite": true, /* Enable project compilation */ //"tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - "removeComments": true /* Do not emit comments to output. */, + // "removeComments": true /* Do not emit comments to output. */, // "noEmit": true, /* Do not emit outputs. */ // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - "downlevelIteration": true /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */, + // "downlevelIteration": true /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */, // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, @@ -43,12 +43,14 @@ // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ /* Module Resolution Options */ - "moduleResolution": "Node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + "moduleResolution": "nodenext" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, + // "baseUrl": "./" /* Base directory to resolve non-absolute module names. */, + // "paths": { + // "@/*": ["./src/*"] + // } /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */, // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ + "types": ["node", "bun"] /* Type declaration files to be included in compilation. */, "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ @@ -66,7 +68,7 @@ "skipLibCheck": true /* Skip type checking of declaration files. */, "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ }, - "include": ["src"], - "exclude": ["node_modules", "test", "lib", "example", "**/*.browser.ts"], + "include": ["src", "./mod.ts"], + "exclude": ["node_modules", "test", "dist", "example", "**/*.browser.ts", "**/*.node.ts"], "ignoreCompilerErrors": true } diff --git a/typedoc.json b/typedoc.json old mode 100644 new mode 100755 diff --git a/yarn.lock b/yarn.lock old mode 100644 new mode 100755 index 4394dbb6a..03623c411 --- a/yarn.lock +++ b/yarn.lock @@ -2,33 +2,13 @@ # Manual changes might be lost - proceed with caution! __metadata: - version: 8 + version: 10 cacheKey: 10c0 -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 +"@tgsnake/bytesio@npm:^2.0.0, @tgsnake/bytesio@npm:^2.0.1": + version: 2.0.1 + resolution: "@tgsnake/bytesio@npm:2.0.1" + checksum: 10c0/f904cb3785d583ebab33c74275557414187b8f53d5205a1d8a1b70e2933bcad935ec42b5d4fd3d8056e35becf02d61705942d3aa30ced9884cd15c296cc14dd8 languageName: node linkType: hard @@ -36,55 +16,70 @@ __metadata: version: 0.0.0-use.local resolution: "@tgsnake/core@workspace:." dependencies: - "@tgsnake/log": "npm:latest" - "@types/node": "npm:22.14.0" - async-mutex: "npm:0.5.0" - big-integer: "npm:1.6.52" - deno2node: "npm:1.15.0" - prettier: "npm:3.5.3" - socks: "npm:2.8.4" + "@tgsnake/bytesio": "npm:^2.0.1" + "@tgsnake/log": "npm:^2.0.1" + "@tgsnake/skema": "npm:^2.0.0" + "@types/bun": "npm:^1.3.14" + "@types/node": "npm:^25.9.3" + async-mutex: "npm:^0.5.0" + big-integer: "npm:^1.6.52" + prettier: "npm:^3.8.4" + socks: "npm:^2.8.9" + typescript: "npm:^6.0.3" + peerDependencies: + "@tgsnake/skema": ^1.13.0 languageName: unknown linkType: soft -"@tgsnake/log@npm:latest": - version: 1.6.4 - resolution: "@tgsnake/log@npm:1.6.4" +"@tgsnake/log@npm:^2.0.0, @tgsnake/log@npm:^2.0.1": + version: 2.0.1 + resolution: "@tgsnake/log@npm:2.0.1" + dependencies: + chalk: "npm:^5.6.2" + color-convert: "npm:^3.1.3" + checksum: 10c0/baf04400033760c3babb0ff96914f665d511dd13ce09f16ceccf87cd1cd15dccbe3fc25d76c61490e5532e2bc6e0c304a058fef37b481fcc6b5db2dbaaaa990e + languageName: node + linkType: hard + +"@tgsnake/skema@npm:^2.0.0": + version: 2.0.0 + resolution: "@tgsnake/skema@npm:2.0.0" dependencies: - chalk: "npm:4.1.2" - checksum: 10c0/f5afd8607721c136e0cbe55b3e5a20341f6898ea0cdd8e947576ee8253b4afb41452faa2aa9db95e45da73f2cb699497af6401dd994bb549990b1fd9294e4fc3 + "@tgsnake/bytesio": "npm:^2.0.0" + "@tgsnake/log": "npm:^2.0.0" + big-integer: "npm:^1.6.52" + checksum: 10c0/de9b53495a75e55cfb6372e6fbf5119b57c974013967b08f08dff4fafc56efbbfa3b5e460e8185d1830b38cb311abc12d4daf3ea7aa76d8635bc5a21d82e75d4 languageName: node linkType: hard -"@ts-morph/common@npm:~0.26.0": - version: 0.26.1 - resolution: "@ts-morph/common@npm:0.26.1" +"@types/bun@npm:^1.3.14": + version: 1.3.14 + resolution: "@types/bun@npm:1.3.14" dependencies: - fast-glob: "npm:^3.3.2" - minimatch: "npm:^9.0.4" - path-browserify: "npm:^1.0.1" - checksum: 10c0/49d33162de3f09fb2a242e38c04a7fa30966977a5282d97d0e27c1d68541956e917ac4de9aac6b41182dbae188482665da6e919c3f6ef0dcb90cea24e4d637e0 + bun-types: "npm:1.3.14" + checksum: 10c0/5531e17062f48da00d7d1e70bae8252fb5b61f6d699505ace74e60a1cecbafd624cc9d1694500857f261822c00e75fcbad9269f91adee790d6240875d46bb3f9 languageName: node linkType: hard -"@types/node@npm:22.14.0": - version: 22.14.0 - resolution: "@types/node@npm:22.14.0" +"@types/node@npm:*": + version: 25.3.0 + resolution: "@types/node@npm:25.3.0" dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/9d79f3fa1af9c2c869514f419c4a4905b34c10e12915582fd1784868ac4e74c6d306cf5eb47ef889b6750ab85a31be96618227b86739c4a3e0b1c15063f384c6 + undici-types: "npm:~7.18.0" + checksum: 10c0/7b2b18c9d68047157367fc2f786d4f166d22dc0ad9f82331ca02fb16f2f391854123dbe604dcb938cda119c87051e4bb71dcb9ece44a579f483a6f96d4bd41de languageName: node linkType: hard -"ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" +"@types/node@npm:^25.9.3": + version: 25.9.3 + resolution: "@types/node@npm:25.9.3" dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + undici-types: "npm:>=7.24.0 <7.24.7" + checksum: 10c0/72d3aece9d42c2c641bcd3f3cb2dc2828b4bd384dfcbd910c404b8859a68bd69d50c4769ce7defd4ff5e049768e23e615f09407ea2cbbb5f44b90d75a7c6b8ca languageName: node linkType: hard -"async-mutex@npm:0.5.0": +"async-mutex@npm:^0.5.0": version: 0.5.0 resolution: "async-mutex@npm:0.5.0" dependencies: @@ -93,238 +88,58 @@ __metadata: languageName: node linkType: hard -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"big-integer@npm:1.6.52": +"big-integer@npm:^1.6.52": version: 1.6.52 resolution: "big-integer@npm:1.6.52" checksum: 10c0/9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 languageName: node linkType: hard -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.3": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"chalk@npm:4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"code-block-writer@npm:^13.0.3": - version: 13.0.3 - resolution: "code-block-writer@npm:13.0.3" - checksum: 10c0/87db97b37583f71cfd7eced8bf3f0a0a0ca53af912751a734372b36c08cd27f3e8a4878ec05591c0cd9ae11bea8add1423e132d660edd86aab952656dd41fd66 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"deno2node@npm:1.15.0": - version: 1.15.0 - resolution: "deno2node@npm:1.15.0" - dependencies: - ts-morph: "npm:^25.0.1" - bin: - deno2node: lib/cli.js - checksum: 10c0/e7107e4cbd7f41b4ebc08deed9d744c338b08b23beb1413468baf87923191c68be7128fd241987c88f1e6a7966b9686423cc9324b42da4f4b84c59da8d63fa4c - languageName: node - linkType: hard - -"fast-glob@npm:^3.3.2": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.19.1 - resolution: "fastq@npm:1.19.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" +"bun-types@npm:1.3.14": + version: 1.3.14 + resolution: "bun-types@npm:1.3.14" dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + "@types/node": "npm:*" + checksum: 10c0/5aef8b13d6a0c0f218b5995aa74148c6a2536639a94560bbc80ee1b50a6ce05f011c93052340c7bf3469b9705af70737ff9d5cd7eb8ebbd49dbb8f55ed3eaeaf languageName: node linkType: hard -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 +"chalk@npm:^5.6.2": + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 languageName: node linkType: hard -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" +"color-convert@npm:^3.1.3": + version: 3.1.3 + resolution: "color-convert@npm:3.1.3" dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + color-name: "npm:^2.0.0" + checksum: 10c0/427648b442c6ea6dab5ba03f4962201ee59f128c80b25d5a0f7d9aab0ef52519a9db8a9bb3cf40b73f86eb19b5ca6aeb0ab930665f3d14973ce776d7d0448a15 languageName: node linkType: hard -"path-browserify@npm:^1.0.1": - version: 1.0.1 - resolution: "path-browserify@npm:1.0.1" - checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 +"color-name@npm:^2.0.0": + version: 2.1.0 + resolution: "color-name@npm:2.1.0" + checksum: 10c0/9c953caba99557fce472232ded438c56b902c569cb15d66fcfbdf6374206126eef52ab66459f3984d4074b4aa8ab95e6f4b31a8e4f228dea57d0afecf94281fa languageName: node linkType: hard -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be +"ip-address@npm:^10.1.1": + version: 10.2.0 + resolution: "ip-address@npm:10.2.0" + checksum: 10c0/5a00aada6e922c9c69dfc800ed5d0fa3348675ebdeed0e1575f503f27ca385b5f534363c9af7ad1daf64c1f1409388cdd3cc2e9b9b0fe1c924a431378d55075a languageName: node linkType: hard -"prettier@npm:3.5.3": - version: 3.5.3 - resolution: "prettier@npm:3.5.3" +"prettier@npm:^3.8.4": + version: 3.8.4 + resolution: "prettier@npm:3.8.4" bin: prettier: bin/prettier.cjs - checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + checksum: 10c0/b90a0cbe75b88ac0af9c13fe0f359bd19926fabccd88483227b21f71f0c1cc42da056fc1ac3a361e665577c568371d5ccfb2c62c31c8a1186f8d1bd531a063e9 languageName: node linkType: hard @@ -335,61 +150,53 @@ __metadata: languageName: node linkType: hard -"socks@npm:2.8.4": - version: 2.8.4 - resolution: "socks@npm:2.8.4" +"socks@npm:^2.8.9": + version: 2.8.9 + resolution: "socks@npm:2.8.9" dependencies: - ip-address: "npm:^9.0.5" + ip-address: "npm:^10.1.1" smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + checksum: 10c0/2d4350c31142b0931eb1758825b426bcbf4bfb5eed682ca48bc46dc9e7d1930ec366ea574ad49fc6c1fd9e9e17ce243be0ef13e31fc4b0319d9093f1fb19743c languageName: node linkType: hard -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 +"tslib@npm:^2.4.0": + version: 2.4.1 + resolution: "tslib@npm:2.4.1" + checksum: 10c0/9ac0e4fd1033861f0b4f0d848dc3009ebcc3aa4757a06e8602a2d8a7aed252810e3540e54e70709f06c0f95311faa8584f769bcbede48aff785eb7e4d399b9ec languageName: node linkType: hard -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 +"typescript@npm:^6.0.3": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 languageName: node linkType: hard -"ts-morph@npm:^25.0.1": - version: 25.0.1 - resolution: "ts-morph@npm:25.0.1" - dependencies: - "@ts-morph/common": "npm:~0.26.0" - code-block-writer: "npm:^13.0.3" - checksum: 10c0/4e8b67d7fc521d5dcc7e4e6dfb2e10bc63fcaaef8c31b91d3c9eb98eacd42db70bde3359075dcb8e988a5510f02e2ee6f98a02f89045d648bfda72a5207d78ba +"typescript@patch:typescript@npm%3A^6.0.3#optional!builtin": + version: 6.0.3 + resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2f25c74e65663c248fa1ade2b8459d9ce5372ff9dad07067310f132966ebec1d93f6c42f0baf77a6b6a7a91460463f708e6887013aaade22111037457c6b25df languageName: node linkType: hard -"tslib@npm:^2.4.0": - version: 2.4.1 - resolution: "tslib@npm:2.4.1" - checksum: 10c0/9ac0e4fd1033861f0b4f0d848dc3009ebcc3aa4757a06e8602a2d8a7aed252810e3540e54e70709f06c0f95311faa8584f769bcbede48aff785eb7e4d399b9ec +"undici-types@npm:>=7.24.0 <7.24.7": + version: 7.24.6 + resolution: "undici-types@npm:7.24.6" + checksum: 10c0/d9cd8befb643ac904615c280a095ba4240531f6bb4a5e75a22a7483630ca8d3f1016d2ab6ace6ceda1f63b3a2db2fe037fafe121d6917a0187573aa548ff78ca languageName: node linkType: hard -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 +"undici-types@npm:~7.18.0": + version: 7.18.2 + resolution: "undici-types@npm:7.18.2" + checksum: 10c0/85a79189113a238959d7a647368e4f7c5559c3a404ebdb8fc4488145ce9426fcd82252a844a302798dfc0e37e6fb178ff481ed03bc4caf634c5757d9ef43521d languageName: node linkType: hard