@bipopush/cli 0.3.0-beta.3 → 0.3.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,8 @@ Installed as a dev dependency, the binary is `bipopush`.
15
15
  | Command | |
16
16
  |---|---|
17
17
  | `login` / `logout` / `whoami` | Browser login (PKCE + localhost callback); token stored in `~/.config/bipopush/credentials.json` (0600). `whoami` lists your organizations with role and plan |
18
- | `init [--name] [--scheme] [--org <slug>] [--app <id>] [--new-signing-key]` | Detects Expo vs React Native, reads the iOS bundle id, Android package, native versions and URL scheme, creates the app in your organization (`--org` when you can create apps in more than one) (or links an existing one with `--app`), generates the ed25519 signing key, writes `bipopush.json` and puts `BipoPushAppKey` / `BipoPushPublicKey` (and the scheme) in `Info.plist` and `AndroidManifest.xml` (Expo: the plugin entry in `app.json`). `--new-signing-key` replaces a lost key (installed builds need a store update) |
18
+ | `init [--name] [--scheme] [--org <slug>] [--app <id>] [--new-signing-key]` | Detects Expo vs React Native, reads the iOS bundle id, Android package, native versions and URL scheme, creates the app in your organization (a list to pick from when you can create apps in several, or `--org <id|slug>`; links an existing one with `--app`), generates the ed25519 signing key, writes `bipopush.json` and puts `BipoPushAppKey` / `BipoPushPublicKey` (and the scheme) in `Info.plist` and `AndroidManifest.xml` (Expo: the plugin entry in `app.json`). Then it shows, side by side, the lines to add to `AppDelegate.swift` and `MainApplication.kt` (it never edits them). `--new-signing-key` replaces a lost key (installed builds need a store update) |
19
+ | `doctor` | Checks the project: SDK installed, other OTA libraries, app on the server, app and public keys in Info.plist / AndroidManifest / app.json, signing key matches, native setup (with the side-by-side change when something is missing), iOS pod, URL scheme. Exit code 1 when something must be fixed |
19
20
  | `release [-p ios\|android\|all] [-c <channel>] [-m text] [--mandatory] [--dry-run]` | Builds and publishes one release (counts as one, whatever the platforms). `-c` defaults to `production`; a new channel name is created if the plan allows. `--mandatory`: devices with auto update install it right away, also when they skip to a later version |
20
21
  | `promote [--from staging] [--to production] [-p …] [--number n]` | Re-publishes a tested version (default: newest live one) in another channel — same bundle and assets, new version number there, doesn't count toward the daily limit |
21
22
  | `apps` | Lists your apps by organization, with MAU and release usage |
@@ -28,7 +29,7 @@ For each platform:
28
29
  2. **Compile** to Hermes bytecode with the app's `hermesc` (delta-optimized against the previous release when there is one).
29
30
  3. **Hash** (SHA-256) the bundle and every asset, and **sign** with the app's ed25519 key (a manifest of all hashes when there are assets).
30
31
  4. **Compress** with brotli (quality 11).
31
- 5. **Diff** against the previous release of the same channel + native version (bsdiff); the patch is kept only when it is under 60% of the compressed full bundle.
32
+ 5. **Diff** against the previous release of the same channel + native version (BIPOPAT1, `core/diff`, brotli); the patch is kept only when it is under 60% of the compressed full bundle.
32
33
  6. **Upload** straight to storage with presigned URLs (files never pass through the API server) — assets the app already has in storage are skipped — then **publish**. The API assigns `v1, v2, …` per channel, platform and native version.
33
34
 
34
35
  Example output for a 2 MB app where only an image changed:
@@ -46,7 +47,7 @@ Published iOS 1.0 v7 to production.
46
47
 
47
48
  - The signing key is saved at `~/.config/bipopush/keys/<appId>.pem`. Keep it private — whoever has it can ship code to your users.
48
49
  - In CI set `BIPOPUSH_TOKEN` (a CLI token) and `BIPOPUSH_SIGNING_KEY` (the PEM, or its base64).
49
- - Patches are made by `bsdiff-wasm` (Debian's bsdiff 4.3 compiled to WebAssembly, BSDIFF40): nothing is compiled on install.
50
+ - Patches are made by BipoPush's own diff engine, shipped as WebAssembly (`core/diff.wasm`): no dependencies, nothing compiled on install.
50
51
 
51
52
  ## Environment
52
53
 
@@ -61,5 +62,5 @@ Published iOS 1.0 v7 to production.
61
62
  ## Develop
62
63
 
63
64
  ```bash
64
- npm test # runs the real hermesc, brotli and bsdiff on sample bundles
65
+ npm test # runs the real hermesc, brotli and the diff/patch engine on sample bundles
65
66
  ```
package/dist/diff.wasm ADDED
Binary file
package/dist/index.js CHANGED
@@ -1,225 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import { createRequire } from "node:module";
3
- import { parseArgs } from "node:util";
4
- import { disable, init, listApps, patchRelease, promote, release, rollout } from "./commands.js";
5
- import { parseCompat, percent } from "./compat.js";
6
- import { migrate } from "./migrate.js";
7
- import { API_URL, CREDENTIALS_FILE, clearCredentials, loadCredentials } from "./config.js";
8
- import { ApiError, request } from "./http.js";
9
- import { login } from "./login.js";
10
- const HELP = `BipoPush CLI
11
-
12
- Usage:
13
- bipopush login Log in through your browser
14
- bipopush whoami Show the logged-in account, organizations and plans
15
- bipopush init Register this React Native / Expo project as an app
16
- --name <name> App name (default: project name)
17
- --scheme <scheme> URL scheme for deeplinks, if the project has none
18
- --org <slug> Organization for the new app (needed if you belong to several)
19
- --app <id> Link to an existing app instead of creating one
20
- --new-signing-key Replace a lost signing key (installed builds need a store update)
21
- bipopush release Bundle, sign, compress, diff and publish an OTA update
22
- -p, --platform ios|android|all (default: all detected)
23
- -c, --channel <name> production (default), staging, beta… — created if the plan allows
24
- -m, --message <text> Release note
25
- --mandatory Devices install it right away (critical fix)
26
- --rollout <percent> Only this share of devices gets it at first (e.g. 10; Plus and above)
27
- --dry-run Build and show sizes without uploading
28
- bipopush rollout <percent> Change how many devices get the newest version (100 finishes; Plus and above)
29
- -c, --channel <name> -p, --platform ios|android|all --number <n>
30
- bipopush disable Disable the newest version (or --number); devices get the newest enabled one
31
- -c, --channel <name> -p, --platform ios|android|all --number <n>
32
- bipopush promote Re-publish a tested version in another channel (same bundle)
33
- --from <channel> --to <channel> (default: staging → production)
34
- -p, --platform ios|android|all (default: all)
35
- --number <n> Version to promote, e.g. 3 for v3 (default: newest live one)
36
- bipopush apps List your apps by organization
37
- bipopush migrate Steps to move this project from CodePush, RevoPush or expo-updates
38
- bipopush logout Revoke this CLI's token and forget it
39
-
40
- Coming from CodePush, RevoPush or Expo? Their commands work too, e.g.
41
- bipopush release-react MyApp ios -d Production --description "Fix" -m -r 25
42
- bipopush promote MyApp Staging Production bipopush rollback MyApp Production
43
- bipopush patch MyApp Production -m true -r 50
44
- bipopush update --channel production --message "Fix" --rollout-percentage 10
45
-
46
- Environment:
47
- BIPOPUSH_API_URL API base URL (default https://api.bipopush.com)
48
- BIPOPUSH_SIGN_URL Sign-in URL (default https://sign.bipopush.com)
49
- BIPOPUSH_TOKEN Use this token instead of the saved login (CI)
50
- BIPOPUSH_SIGNING_KEY Release signing key, PEM or base64 of the PEM (CI)
51
- `;
52
- async function requireToken() {
53
- const creds = await loadCredentials();
54
- if (!creds) {
55
- throw new Error(`Not logged in to ${API_URL}. Run: bipopush login`);
56
- }
57
- return creds.token;
58
- }
59
- function describeUsage(usage) {
60
- const next = usage.nextAvailableAt ? ` Resets at ${new Date(usage.nextAvailableAt).toLocaleString()}.` : "";
61
- return `${usage.used}/${usage.limit} releases used for this app in the last 24h.${next}`;
62
- }
63
- async function whoami() {
64
- const token = await requireToken();
65
- const me = await request("/me", { token });
66
- console.log(me.user.email);
67
- for (const org of me.organizations) {
68
- const plan = me.plans.find((p) => p.id === org.plan);
69
- const channels = plan?.unlimitedChannels ? `unlimited channels (fair use ${plan.maxChannels})` : `${plan?.maxChannels} channel(s) per app`;
70
- const limits = plan ? ` — ${plan.maxApps ?? "unlimited"} app(s), ${channels}, ${plan.mau.toLocaleString()} MAU` : "";
71
- console.log(` ${org.name} (--org ${org.slug.current}) · ${org.role.name} · ${plan?.name ?? org.plan} plan${limits}`);
72
- }
73
- }
74
- async function logout() {
75
- const creds = await loadCredentials();
76
- if (creds) {
77
- await request("/auth/logout", { method: "POST", token: creds.token }).catch(() => undefined);
78
- }
79
- await clearCredentials();
80
- console.log("Logged out.");
81
- }
82
- function channelArg(value, fallback, flag) {
83
- const name = (value ?? fallback).trim().toLowerCase();
84
- if (!/^[a-z][a-z0-9-]{1,31}$/.test(name))
85
- throw new Error(`${flag} must be a channel name like production, staging or beta`);
86
- return name;
87
- }
88
- function oneOf(value, allowed, fallback, flag) {
89
- if (value === undefined)
90
- return fallback;
91
- if (!allowed.includes(value))
92
- throw new Error(`${flag} must be one of: ${allowed.join(", ")}`);
93
- return value;
94
- }
95
- async function runCompat(compat) {
96
- const cwd = process.cwd();
97
- const token = await requireToken();
98
- switch (compat.kind) {
99
- case "release":
100
- return release(token, { cwd, platform: compat.platform, channel: compat.channel, message: compat.message, mandatory: compat.mandatory, rollout: compat.rollout });
101
- case "promote":
102
- return promote(token, { cwd, from: compat.from, to: compat.to, platform: "all" });
103
- case "rollback":
104
- return disable(token, { cwd, channel: compat.channel, platform: "all" });
105
- case "patch":
106
- return patchRelease(token, { cwd, channel: compat.channel, platform: "all", mandatory: compat.mandatory, percent: compat.rollout });
107
- case "rollout":
108
- return rollout(token, { cwd, channel: compat.channel, platform: compat.platform, percent: compat.percent });
109
- }
110
- }
111
- async function main() {
112
- const compat = parseCompat(process.argv.slice(2));
113
- if (compat)
114
- return runCompat(compat);
115
- const { positionals, values } = parseArgs({
116
- allowPositionals: true,
117
- options: {
118
- help: { type: "boolean", short: "h" },
119
- version: { type: "boolean", short: "v" },
120
- platform: { type: "string", short: "p" },
121
- channel: { type: "string", short: "c" },
122
- message: { type: "string", short: "m" },
123
- "dry-run": { type: "boolean" },
124
- mandatory: { type: "boolean" },
125
- name: { type: "string" },
126
- scheme: { type: "string" },
127
- app: { type: "string" },
128
- org: { type: "string" },
129
- "new-signing-key": { type: "boolean" },
130
- from: { type: "string" },
131
- to: { type: "string" },
132
- number: { type: "string" },
133
- rollout: { type: "string" },
134
- },
135
- });
136
- const [command] = positionals;
137
- if (values.version)
138
- return console.log(createRequire(import.meta.url)("../package.json").version);
139
- if (values.help || !command)
140
- return console.log(HELP);
141
- const cwd = process.cwd();
142
- switch (command) {
143
- case "login":
144
- return login();
145
- case "whoami":
146
- return whoami();
147
- case "init":
148
- return init(await requireToken(), {
149
- cwd,
150
- name: values.name,
151
- scheme: values.scheme,
152
- appId: values.app,
153
- org: values.org,
154
- newSigningKey: values["new-signing-key"],
155
- });
156
- case "release":
157
- return release(await requireToken(), {
158
- cwd,
159
- platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
160
- channel: channelArg(values.channel, "production", "--channel"),
161
- message: values.message,
162
- mandatory: values.mandatory,
163
- rollout: percent(values.rollout, "--rollout"),
164
- dryRun: values["dry-run"],
165
- });
166
- case "rollout": {
167
- const share = percent(positionals[1], "rollout <percent>");
168
- if (share === undefined)
169
- throw new Error("Usage: bipopush rollout <percent> [-c channel]");
170
- return rollout(await requireToken(), {
171
- cwd,
172
- channel: channelArg(values.channel, "production", "--channel"),
173
- platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
174
- version: values.number ? Number(values.number.replace(/^v/i, "")) : undefined,
175
- percent: share,
176
- });
177
- }
178
- case "disable":
179
- case "rollback": // CodePush's name for it
180
- return disable(await requireToken(), {
181
- cwd,
182
- channel: channelArg(values.channel, "production", "--channel"),
183
- platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
184
- version: values.number ? Number(values.number.replace(/^v/i, "")) : undefined,
185
- });
186
- case "promote":
187
- return promote(await requireToken(), {
188
- cwd,
189
- from: channelArg(values.from, "staging", "--from"),
190
- to: channelArg(values.to, "production", "--to"),
191
- platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
192
- version: values.number ? Number(values.number.replace(/^v/i, "")) : undefined,
193
- });
194
- case "apps":
195
- return listApps(await requireToken());
196
- case "migrate":
197
- return migrate(cwd);
198
- case "logout":
199
- return logout();
200
- default:
201
- console.log(HELP);
202
- process.exitCode = 1;
203
- }
204
- }
205
- main().catch((err) => {
206
- if (err instanceof ApiError) {
207
- if (err.status === 401) {
208
- console.error(`Your login expired or was revoked. Run: bipopush login (credentials: ${CREDENTIALS_FILE})`);
209
- }
210
- else if (err.body.error === "release_limit_reached") {
211
- console.error(`Daily limit reached: ${err.message}`);
212
- const usage = err.body.usage;
213
- if (usage)
214
- console.error(describeUsage(usage));
215
- console.error("Upgrade your plan at https://app.bipopush.com");
216
- }
217
- else {
218
- console.error(`Error (${err.status}): ${err.message}`);
219
- }
220
- }
221
- else {
222
- console.error(`Error: ${err.message}`);
223
- }
224
- process.exitCode = 1;
225
- });
2
+ const _0x43c0b7=_0x2028;(function(_0x5a9a3c,_0x47c29a){const _0x1f8e47=_0x2028,_0x329407=_0x5a9a3c();while(!![]){try{const _0x3d0862=parseInt(_0x1f8e47(0x29a))/0x1+parseInt(_0x1f8e47(0x2eb))/0x2*(-parseInt(_0x1f8e47(0x1ce))/0x3)+parseInt(_0x1f8e47(0x2c2))/0x4*(-parseInt(_0x1f8e47(0x1dc))/0x5)+parseInt(_0x1f8e47(0x259))/0x6+-parseInt(_0x1f8e47(0x21d))/0x7+parseInt(_0x1f8e47(0x1b3))/0x8+-parseInt(_0x1f8e47(0x1ec))/0x9;if(_0x3d0862===_0x47c29a)break;else _0x329407['push'](_0x329407['shift']());}catch(_0x2aa87e){_0x329407['push'](_0x329407['shift']());}}}(_0x360d,0x8b7e9));import{createRequire as _0x411657}from'node:module';import{parseArgs as _0x20a54d}from'node:util';import _0x1a99d5 from'node:path';import{chmod as _0x4fca63,mkdir as _0x1248f2,readFile as _0x30fdca,rm as _0xe68b60,writeFile as _0x5a2738}from'node:fs/promises';import{homedir as _0x326c6b}from'node:os';import _0x938637 from'node:path';var b=(process['env'][_0x43c0b7(0x106)]??'https://api.bipopush.com')[_0x43c0b7(0x2fc)](/\/$/,''),Be=(process[_0x43c0b7(0x170)][_0x43c0b7(0x230)]??_0x43c0b7(0x178))[_0x43c0b7(0x2fc)](/\/$/,''),ie=_0x938637[_0x43c0b7(0x280)](process[_0x43c0b7(0x170)][_0x43c0b7(0x150)]??_0x938637[_0x43c0b7(0x280)](_0x326c6b(),_0x43c0b7(0x23c)),'bipopush'),Ne=ie,k=_0x938637[_0x43c0b7(0x280)](Ne,_0x43c0b7(0x216));async function L(){const _0x226344=_0x43c0b7;if(process[_0x226344(0x170)][_0x226344(0x168)])return{'apiUrl':b,'token':process[_0x226344(0x170)][_0x226344(0x168)],'email':_0x226344(0x2ce)};try{let _0x2ccdb4=JSON[_0x226344(0x30d)](await _0x30fdca(k,_0x226344(0x1a2)));return _0x2ccdb4[_0x226344(0x114)]===b?_0x2ccdb4:null;}catch{return null;}}async function Ee(_0x444d92){await _0x1248f2(Ne,{'recursive':!0x0,'mode':0x1c0}),await _0x5a2738(k,JSON['stringify'](_0x444d92,null,0x2),{'mode':0x180}),await _0x4fca63(k,0x180);}async function Ce(){await _0xe68b60(k,{'force':!0x0});}import{existsSync as _0x4873d9,readFileSync as _0x164bfc}from'node:fs';import _0x4bfe82 from'node:path';import{fileURLToPath as _0x2c5eb4}from'node:url';import{brotliCompressSync as _0x453c2b,brotliDecompressSync as _0x53c8ce,constants as _0x2d2ba6}from'node:zlib';var Oe=_0x43c0b7(0x2df),_=null;function In(){const _0x391275=_0x43c0b7;let _0x5d9d57=_0x4bfe82[_0x391275(0x234)](_0x2c5eb4(import.meta.url)),_0x46a9ec=[_0x4bfe82[_0x391275(0x280)](_0x5d9d57,_0x391275(0x315)),_0x4bfe82[_0x391275(0x280)](_0x5d9d57,_0x391275(0x2f5),_0x391275(0x315)),_0x4bfe82['join'](_0x5d9d57,'..','..',_0x391275(0x2f5),'diff.wasm')][_0x391275(0x26f)](_0x44e3fe=>_0x4873d9(_0x44e3fe));if(!_0x46a9ec)throw new Error(_0x391275(0x1bd));return _0x46a9ec;}function _0x2028(_0x17527b,_0x20976a){_0x17527b=_0x17527b-0xf7;const _0x360d17=_0x360d();let _0x202854=_0x360d17[_0x17527b];if(_0x2028['TTWvdb']===undefined){var _0x1f852b=function(_0x2b96df){const _0x30f84a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x411657='',_0x20a54d='';for(let _0x1a99d5=0x0,_0x4fca63,_0x1248f2,_0x30fdca=0x0;_0x1248f2=_0x2b96df['charAt'](_0x30fdca++);~_0x1248f2&&(_0x4fca63=_0x1a99d5%0x4?_0x4fca63*0x40+_0x1248f2:_0x1248f2,_0x1a99d5++%0x4)?_0x411657+=String['fromCharCode'](0xff&_0x4fca63>>(-0x2*_0x1a99d5&0x6)):0x0){_0x1248f2=_0x30f84a['indexOf'](_0x1248f2);}for(let _0xe68b60=0x0,_0x5a2738=_0x411657['length'];_0xe68b60<_0x5a2738;_0xe68b60++){_0x20a54d+='%'+('00'+_0x411657['charCodeAt'](_0xe68b60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20a54d);};_0x2028['UkaUBY']=_0x1f852b,_0x2028['XptvmU']={},_0x2028['TTWvdb']=!![];}const _0x2d2649=_0x360d17[0x0],_0x59ee41=_0x17527b+_0x2d2649,_0x53f1ed=_0x2028['XptvmU'][_0x59ee41];return!_0x53f1ed?(_0x202854=_0x2028['UkaUBY'](_0x202854),_0x2028['XptvmU'][_0x59ee41]=_0x202854):_0x202854=_0x53f1ed,_0x202854;}function kn(){const _0x46df46=_0x43c0b7;if(_)return _;let _0x3ac29a=new WebAssembly[(_0x46df46(0x214))](_0x164bfc(In()));return _=new WebAssembly['Instance'](_0x3ac29a,{'env':{'emscripten_notify_memory_growth':()=>{}}})[_0x46df46(0x286)],_[_0x46df46(0x1d6)]?.(),_;}function Ue(_0x80d7ec,_0x293709){const _0x563dc9=_0x43c0b7;let _0x290c1b=_0x80d7ec['malloc'](_0x293709[_0x563dc9(0xf8)]||0x1);return new Uint8Array(_0x80d7ec['memory'][_0x563dc9(0x322)],_0x290c1b,_0x293709[_0x563dc9(0xf8)])[_0x563dc9(0x18e)](_0x293709),_0x290c1b;}function jn(_0x29d756,_0x5d74d0){const _0x2baf1a=_0x43c0b7;let _0x115d34=kn(),_0x532fd4=Ue(_0x115d34,_0x29d756),_0x5baafb=Ue(_0x115d34,_0x5d74d0),_0x2aa0ce=_0x115d34['malloc'](0x8);try{let _0x319387=_0x115d34[_0x2baf1a(0x1c5)](_0x532fd4,_0x29d756[_0x2baf1a(0xf8)],_0x5baafb,_0x5d74d0[_0x2baf1a(0xf8)],_0x2aa0ce,_0x2aa0ce+0x4);if(_0x319387!==0x0)throw new Error(_0x2baf1a(0x2a0)+(_0x319387===0x1?_0x2baf1a(0x305):'out\x20of\x20memory')+')');let _0x36c75e=new DataView(_0x115d34[_0x2baf1a(0x108)][_0x2baf1a(0x322)]),_0x2f581c=_0x36c75e['getUint32'](_0x2aa0ce,!0x0),_0x401b5c=_0x36c75e['getUint32'](_0x2aa0ce+0x4,!0x0),_0x21e0c4=Buffer[_0x2baf1a(0x204)](new Uint8Array(_0x115d34[_0x2baf1a(0x108)][_0x2baf1a(0x322)],_0x2f581c,_0x401b5c));return _0x115d34[_0x2baf1a(0x2bf)](_0x2f581c),_0x21e0c4;}finally{_0x115d34[_0x2baf1a(0x1a1)](_0x532fd4),_0x115d34[_0x2baf1a(0x1a1)](_0x5baafb),_0x115d34[_0x2baf1a(0x1a1)](_0x2aa0ce);}}var Bn=_0xf33a26=>_0x453c2b(_0xf33a26,{'params':{[_0x2d2ba6['BROTLI_PARAM_QUALITY']]:0xb,[_0x2d2ba6[_0x43c0b7(0x203)]]:0x18,[_0x2d2ba6[_0x43c0b7(0x1f8)]]:_0xf33a26[_0x43c0b7(0xf8)]}});function Te(_0x4d646a,_0x35b635){return Bn(jn(_0x4d646a,_0x35b635));}import{existsSync as _0x2e0fe0,readdirSync as _0x2dd83d,readFileSync as _0x1ee47b,statSync as _0x12d793}from'node:fs';import _0x4a0228 from'node:path';var Cn=_0x43c0b7(0x195),Un='import\x20com.bipopush.updater.BipoPushStore\x0a\x0a//\x20In\x20getDefaultReactHost(…),\x20after\x20packageList:\x0ajsBundleFilePath\x20=\x20BipoPushStore.bundleFilePath(applicationContext),\x0a\x0a//\x20In\x20onCreate(),\x20before\x20loadReactNative(this):\x0aBipoPushStore.recoverIfNeeded(this)';function Le(_0x1a572b){const _0x16b637=_0x43c0b7;let _0x5500b=_0x1a572b;return _0x5500b[_0x16b637(0x165)]('import\x20BipoPushUpdater')||(_0x5500b=_0x5500b[_0x16b637(0x2fc)](/^import React$/m,_0x16b637(0x2ec))),_0x5500b[_0x16b637(0x165)](_0x16b637(0x238))||(_0x5500b=_0x5500b[_0x16b637(0x2fc)](/(\n(\s*)let delegate = ReactNativeDelegate\(\))/,_0x16b637(0x24f))),_0x5500b[_0x16b637(0x165)](_0x16b637(0x25b))||(_0x5500b=_0x5500b[_0x16b637(0x2fc)](/Bundle\.main\.url\(forResource: "main", withExtension: "jsbundle"\)/,_0x16b637(0x320))),_0x5500b[_0x16b637(0x165)](_0x16b637(0x246))||(_0x5500b=_0x5500b['replace'](/(\n\s*return true\n(\s*)\}\n)/,_0x16b637(0x1c8))),{'suggested':_0x5500b,'missing':[[_0x16b637(0x143),'import\x20BipoPushUpdater'],[_0x16b637(0x238),_0x16b637(0x29d)],['BipoPushStore.activeBundleURL()',_0x16b637(0x2b4)],[_0x16b637(0x246),'pairing\x20links:\x20forward\x20open\x20url\x20to\x20RCTLinkingManager']][_0x16b637(0x213)](([_0x158145])=>!_0x1a572b[_0x16b637(0x165)](_0x158145))[_0x16b637(0x1ca)](([,_0x10a813])=>_0x10a813)};}function _e(_0x1df72f){const _0x5e510c=_0x43c0b7;let _0x5b4ed0=_0x1df72f;return _0x5b4ed0[_0x5e510c(0x165)](_0x5e510c(0x1bc))||(_0x5b4ed0=_0x5b4ed0['replace'](/^(import com\.facebook\.react\.ReactApplication)$/m,_0x5e510c(0x146))),_0x5b4ed0['includes'](_0x5e510c(0x31a))||(_0x5b4ed0=_0x5b4ed0[_0x5e510c(0x2fc)](/(getDefaultReactHost\(\s*\n[\s\S]*?PackageList\(this\)\.packages\.apply \{[\s\S]*?\n\s*\})(,?)(\n(\s*)\))/,_0x5e510c(0x2d2))),_0x5b4ed0[_0x5e510c(0x165)](_0x5e510c(0x20c))||(_0x5b4ed0=_0x5b4ed0['replace'](/\n(\s*)loadReactNative\(this\)/,'\x0a$1//\x20Roll\x20back\x20an\x20OTA\x20bundle\x20that\x20crashed\x20before\x20confirming\x20notifyAppReady().\x0a$1BipoPushStore.recoverIfNeeded(this)\x0a$1loadReactNative(this)')),{'suggested':_0x5b4ed0,'missing':[[_0x5e510c(0x1bc),_0x5e510c(0x1bc)],['BipoPushStore.bundleFilePath(',_0x5e510c(0x118)],[_0x5e510c(0x20c),_0x5e510c(0x309)]]['filter'](([_0xe57bb7])=>!_0x1df72f[_0x5e510c(0x165)](_0xe57bb7))[_0x5e510c(0x1ca)](([,_0x5e3dd4])=>_0x5e3dd4)};}function pe(_0x2ccb58,_0x4213bb,_0x1f57f2=0x8){const _0x14da6b=_0x43c0b7;if(_0x1f57f2<0x0||!_0x2e0fe0(_0x2ccb58))return null;for(let _0x2b5ae8 of _0x2dd83d(_0x2ccb58)){if(_0x2b5ae8===_0x14da6b(0x2b0)||_0x2b5ae8===_0x14da6b(0x2cc)||_0x2b5ae8[_0x14da6b(0x13a)]('.'))continue;let _0x24ec7f=_0x4a0228['join'](_0x2ccb58,_0x2b5ae8);if(_0x2b5ae8===_0x4213bb)return _0x24ec7f;if(_0x12d793(_0x24ec7f)[_0x14da6b(0x1f1)]()){let _0x1c752b=pe(_0x24ec7f,_0x4213bb,_0x1f57f2-0x1);if(_0x1c752b)return _0x1c752b;}}return null;}function J(_0x2c0605){const _0x530dc0=_0x43c0b7;let _0x57b518=[],_0x32bd2c=pe(_0x4a0228['join'](_0x2c0605,_0x530dc0(0x15e)),_0x530dc0(0x116),0x2);if(_0x2e0fe0(_0x4a0228[_0x530dc0(0x280)](_0x2c0605,_0x530dc0(0x15e)))){let _0x331d39=_0x32bd2c?Le(_0x1ee47b(_0x32bd2c,_0x530dc0(0x1a2))):null,_0x537880=_0x331d39&&_0x331d39[_0x530dc0(0x125)][_0x530dc0(0xf8)]>0x0&&Le(_0x331d39['suggested'])[_0x530dc0(0x125)][_0x530dc0(0xf8)]===0x0;_0x57b518[_0x530dc0(0x2e4)]({'platform':_0x530dc0(0x15e),'file':_0x32bd2c,'missing':_0x331d39?_0x331d39[_0x530dc0(0x125)]:[_0x530dc0(0x302)],'suggested':_0x537880?_0x331d39['suggested']:null,'snippet':Cn});}let _0x2538ba=pe(_0x4a0228[_0x530dc0(0x280)](_0x2c0605,_0x530dc0(0x10d),_0x530dc0(0x151),'src',_0x530dc0(0x219)),_0x530dc0(0x2b8));if(_0x2e0fe0(_0x4a0228[_0x530dc0(0x280)](_0x2c0605,_0x530dc0(0x10d)))){let _0x5c8936=_0x2538ba?_e(_0x1ee47b(_0x2538ba,_0x530dc0(0x1a2))):null,_0x431bcd=_0x5c8936&&_0x5c8936[_0x530dc0(0x125)]['length']>0x0&&_e(_0x5c8936[_0x530dc0(0x10b)])[_0x530dc0(0x125)][_0x530dc0(0xf8)]===0x0;_0x57b518[_0x530dc0(0x2e4)]({'platform':'android','file':_0x2538ba,'missing':_0x5c8936?_0x5c8936[_0x530dc0(0x125)]:['MainApplication.kt\x20not\x20found\x20(Java\x20MainApplication\x20needs\x20the\x20same\x20calls)'],'suggested':_0x431bcd?_0x5c8936['suggested']:null,'snippet':Un});}return _0x57b518;}function On(_0x4db508,_0x4a2842){const _0x1885f1=_0x43c0b7;let _0x597a32=_0x4db508[_0x1885f1(0xf8)],_0x8708ae=_0x4a2842['length'],_0x27356b=Array['from']({'length':_0x597a32+0x1},()=>new Int32Array(_0x8708ae+0x1));for(let _0x2645d0=_0x597a32-0x1;_0x2645d0>=0x0;_0x2645d0--)for(let _0x2ba9df=_0x8708ae-0x1;_0x2ba9df>=0x0;_0x2ba9df--)_0x27356b[_0x2645d0][_0x2ba9df]=_0x4db508[_0x2645d0]===_0x4a2842[_0x2ba9df]?_0x27356b[_0x2645d0+0x1][_0x2ba9df+0x1]+0x1:Math['max'](_0x27356b[_0x2645d0+0x1][_0x2ba9df],_0x27356b[_0x2645d0][_0x2ba9df+0x1]);let _0x147f83=[],_0x685e26=0x0,_0x51c56d=0x0,_0x5305da=[],_0x5629a3=[],_0x516bec=()=>{const _0x446cda=_0x1885f1;for(let _0x125fa9=0x0;_0x125fa9<Math[_0x446cda(0x1a4)](_0x5305da[_0x446cda(0xf8)],_0x5629a3[_0x446cda(0xf8)]);_0x125fa9++)_0x147f83[_0x446cda(0x2e4)]({'left':_0x5305da[_0x125fa9]??null,'right':_0x5629a3[_0x125fa9]??null,'changed':!0x0});_0x5305da=[],_0x5629a3=[];};for(;_0x685e26<_0x597a32||_0x51c56d<_0x8708ae;)_0x685e26<_0x597a32&&_0x51c56d<_0x8708ae&&_0x4db508[_0x685e26]===_0x4a2842[_0x51c56d]?(_0x516bec(),_0x147f83[_0x1885f1(0x2e4)]({'left':{'n':_0x685e26+0x1,'text':_0x4db508[_0x685e26]},'right':{'n':_0x51c56d+0x1,'text':_0x4a2842[_0x51c56d]},'changed':!0x1}),_0x685e26++,_0x51c56d++):_0x51c56d<_0x8708ae&&(_0x685e26===_0x597a32||_0x27356b[_0x685e26][_0x51c56d+0x1]>=_0x27356b[_0x685e26+0x1][_0x51c56d])?_0x5629a3[_0x1885f1(0x2e4)]({'n':++_0x51c56d,'text':_0x4a2842[_0x51c56d-0x1]}):_0x5305da[_0x1885f1(0x2e4)]({'n':++_0x685e26,'text':_0x4db508[_0x685e26-0x1]});return _0x516bec(),_0x147f83;}var S=(_0x40cec0,_0x303172)=>process['stdout'][_0x43c0b7(0x308)]?'\x1b['+_0x40cec0+'m'+_0x303172+_0x43c0b7(0x2ee):_0x303172,se=(_0x88f370,_0x5715b4)=>_0x88f370['length']>_0x5715b4?_0x88f370['slice'](0x0,_0x5715b4-0x1)+'…':_0x88f370[_0x43c0b7(0x23a)](_0x5715b4);function Tn(_0x41a261,_0x15a36f,_0x5077cb){const _0xb7c97d=_0x43c0b7;let _0x7662b2=On(_0x41a261[_0xb7c97d(0x26d)]('\x0a'),_0x15a36f['split']('\x0a')),_0x64c18b=_0x7662b2['map']((_0x3680a6,_0x2e6a07)=>_0x7662b2[_0xb7c97d(0x325)](Math[_0xb7c97d(0x1a4)](0x0,_0x2e6a07-0x2),_0x2e6a07+0x3)[_0xb7c97d(0x31c)](_0x463ce8=>_0x463ce8['changed'])),_0x142249=process[_0xb7c97d(0x258)][_0xb7c97d(0x15d)]||0x78,_0x9062d9=[];if(_0x142249<0x64)return _0x7662b2[_0xb7c97d(0x2f7)]((_0x4179f1,_0x2c8cf7)=>{const _0x50faa5=_0xb7c97d;_0x64c18b[_0x2c8cf7]&&(_0x2c8cf7>0x0&&!_0x64c18b[_0x2c8cf7-0x1]&&_0x9062d9[_0x50faa5(0x2e4)](S(0x2,'\x20\x20…')),_0x4179f1[_0x50faa5(0x1b8)]?(_0x4179f1[_0x50faa5(0x157)]&&_0x9062d9['push'](S(0x1f,'-\x20'+_0x4179f1[_0x50faa5(0x157)][_0x50faa5(0x2c1)])),_0x4179f1[_0x50faa5(0x1d9)]&&_0x9062d9[_0x50faa5(0x2e4)](S(0x20,'+\x20'+_0x4179f1[_0x50faa5(0x1d9)][_0x50faa5(0x2c1)]))):_0x9062d9['push']('\x20\x20'+_0x4179f1[_0x50faa5(0x157)]['text']));}),_0x9062d9['join']('\x0a');let _0x2dfc6a=Math[_0xb7c97d(0x1b5)]((_0x142249-0x3)/0x2),_0x431261=_0x2dfc6a-0x6,_0x17f50a=(_0x55ddff,_0x3076a6,_0x3a0a38)=>{const _0x4ea4f1=_0xb7c97d;let _0x14cca8=_0x55ddff?String(_0x55ddff['n'])['padStart'](0x4)+'\x20'+_0x3076a6+se(_0x55ddff[_0x4ea4f1(0x2c1)],_0x431261-0x1):'\x20'[_0x4ea4f1(0x263)](_0x2dfc6a);return _0x3a0a38&&_0x55ddff?S(_0x3a0a38,_0x14cca8):_0x14cca8;};return _0x9062d9[_0xb7c97d(0x2e4)](S(0x2,se(_0x5077cb[0x0],_0x2dfc6a)+'\x20│\x20'+_0x5077cb[0x1])),_0x9062d9[_0xb7c97d(0x2e4)](S(0x2,'─'['repeat'](_0x2dfc6a)+_0xb7c97d(0x253)+'─'[_0xb7c97d(0x263)](_0x2dfc6a))),_0x7662b2[_0xb7c97d(0x2f7)]((_0x484227,_0x5f2b77)=>{const _0xea4347=_0xb7c97d;if(!_0x64c18b[_0x5f2b77])return;_0x5f2b77>0x0&&!_0x64c18b[_0x5f2b77-0x1]&&_0x9062d9[_0xea4347(0x2e4)](S(0x2,se(_0xea4347(0x30b),_0x2dfc6a)+_0xea4347(0x274)));let _0x5f0923=_0x17f50a(_0x484227['left'],_0x484227['changed']?'-':'\x20',_0x484227[_0xea4347(0x1b8)]?0x1f:null),_0x4c1221=_0x17f50a(_0x484227[_0xea4347(0x1d9)],_0x484227['changed']?'+':'\x20',_0x484227[_0xea4347(0x1b8)]?0x20:null);_0x9062d9[_0xea4347(0x2e4)](_0x5f0923+'\x20│\x20'+_0x4c1221);}),_0x9062d9[_0xb7c97d(0x280)]('\x0a');}function K(_0x59bbdd,_0x204191){const _0x147928=_0x43c0b7;let _0x2e3809=_0x59bbdd[_0x147928(0x228)]===_0x147928(0x15e)?_0x147928(0x2c6):_0x147928(0x2fa),_0x24650d=_0x59bbdd[_0x147928(0x323)]?_0x4a0228[_0x147928(0x1da)](_0x204191,_0x59bbdd['file']):_0x59bbdd[_0x147928(0x228)]===_0x147928(0x15e)?'AppDelegate.swift':'MainApplication.kt';if(_0x59bbdd['missing']['length']===0x0)return S(0x20,'✓')+'\x20'+_0x2e3809+':\x20'+_0x24650d+_0x147928(0x1d3);let _0x5e99f5=S(0x21,'!')+'\x20'+_0x2e3809+':\x20'+_0x24650d+_0x147928(0x298)+_0x59bbdd[_0x147928(0x125)][_0x147928(0xf8)]+_0x147928(0x289)+(_0x59bbdd[_0x147928(0x125)][_0x147928(0xf8)]>0x1?'s':'')+':\x0a'+_0x59bbdd['missing'][_0x147928(0x1ca)](_0x3adea9=>_0x147928(0x295)+_0x3adea9)[_0x147928(0x280)]('\x0a');return _0x59bbdd[_0x147928(0x10b)]&&_0x59bbdd['file']?_0x5e99f5+'\x0a\x0a'+Tn(_0x1ee47b(_0x59bbdd['file'],_0x147928(0x1a2)),_0x59bbdd[_0x147928(0x10b)],[_0x24650d+_0x147928(0xfa),'with\x20BipoPush'])+'\x0a':_0x5e99f5+_0x147928(0x244)+_0x59bbdd[_0x147928(0x227)][_0x147928(0x26d)]('\x0a')[_0x147928(0x1ca)](_0x3cd5c2=>'\x20\x20\x20\x20'+_0x3cd5c2)[_0x147928(0x280)]('\x0a')+'\x0a';}import{emitKeypressEvents as _0x8a2f88}from'node:readline';var Ke=()=>!!(process['stdin'][_0x43c0b7(0x308)]&&process[_0x43c0b7(0x258)][_0x43c0b7(0x308)]&&!process['env']['CI']);function Fe(_0x5bfe3d,_0x46182f){return new Promise((_0xfa4be9,_0x102086)=>{const _0x180e24=_0x2028;let _0x57ce63=process['stdout'],_0x558acf=0x0,_0x5428b7=(_0x2b9843=!0x1)=>{const _0x150bc7=_0x2028;_0x2b9843||_0x57ce63['write']('\x1b['+_0x46182f[_0x150bc7(0xf8)]+'A');for(let [_0x48dca5,_0x244132]of _0x46182f[_0x150bc7(0x1bf)]())_0x57ce63[_0x150bc7(0x160)](_0x150bc7(0x1aa)+(_0x48dca5===_0x558acf?_0x150bc7(0x27f):'\x20\x20')+_0x244132+'\x1b[0m\x0a');};_0x57ce63[_0x180e24(0x160)](_0x5bfe3d+_0x180e24(0x1f9)),_0x5428b7(!0x0),_0x8a2f88(process['stdin']),process[_0x180e24(0xf7)][_0x180e24(0x264)](!0x0),process[_0x180e24(0xf7)]['resume']();let _0x41d9ae=_0x51623a=>{const _0x28d81f=_0x180e24;process['stdin']['off'](_0x28d81f(0x19e),_0xe3d37c),process[_0x28d81f(0xf7)][_0x28d81f(0x264)](!0x1),process['stdin']['pause'](),_0x57ce63[_0x28d81f(0x160)]('\x1b[?25h'),_0x51623a();},_0xe3d37c=(_0x4d53b5,_0x39a54f)=>{const _0x116d66=_0x180e24;if(_0x39a54f[_0x116d66(0x105)]&&_0x39a54f['name']==='c'||_0x39a54f[_0x116d66(0x2f4)]==='escape')return _0x41d9ae(()=>_0x102086(new Error(_0x116d66(0x194))));if(_0x39a54f[_0x116d66(0x2f4)]==='up'||_0x39a54f['name']==='k')_0x558acf=(_0x558acf-0x1+_0x46182f[_0x116d66(0xf8)])%_0x46182f[_0x116d66(0xf8)];else{if(_0x39a54f['name']===_0x116d66(0x166)||_0x39a54f[_0x116d66(0x2f4)]==='j')_0x558acf=(_0x558acf+0x1)%_0x46182f[_0x116d66(0xf8)];else{if(_0x39a54f['name']==='return')return _0x41d9ae(()=>_0xfa4be9(_0x558acf));}}_0x5428b7();};process[_0x180e24(0xf7)]['on'](_0x180e24(0x19e),_0xe3d37c);});}var R=class extends Error{constructor(_0x5c71e7,_0x545948){const _0x34cce8=_0x43c0b7;super(_0x545948[_0x34cce8(0x11b)]??_0x34cce8(0x22a)+_0x5c71e7),this[_0x34cce8(0x149)]=_0x5c71e7,this[_0x34cce8(0x111)]=_0x545948;}[_0x43c0b7(0x149)];['body'];},_n=new Set([_0x43c0b7(0x215),_0x43c0b7(0x1e5),_0x43c0b7(0x1e7)]);async function h(_0x27c15e,_0x477dea={}){const _0x329cdb=_0x43c0b7;let _0x3eb1f2=new Headers(_0x477dea['headers']);_0x3eb1f2[_0x329cdb(0x18e)](_0x329cdb(0x29e),_0x329cdb(0x250)+process['versions']['node']+'\x20'+process[_0x329cdb(0x228)]),_0x477dea['token']&&_0x3eb1f2[_0x329cdb(0x18e)]('authorization',_0x329cdb(0x252)+_0x477dea['token']);let _0x389eec;for(let _0x48c544=0x0;!_0x389eec;_0x48c544++)try{_0x389eec=await fetch(''+b+_0x27c15e,{..._0x477dea,'headers':_0x3eb1f2});}catch(_0x52847b){let _0x47b6a1=_0x52847b[_0x329cdb(0x2e5)];if(_0x48c544===0x0&&_0x47b6a1?.['code']&&_n[_0x329cdb(0x255)](_0x47b6a1[_0x329cdb(0x115)]))continue;throw new Error('Could\x20not\x20reach\x20'+b+'\x20('+(_0x47b6a1?.[_0x329cdb(0x115)]??_0x47b6a1?.[_0x329cdb(0x11b)]??_0x52847b[_0x329cdb(0x11b)])+')');}let _0x54e4cc=await _0x389eec[_0x329cdb(0x2c1)](),_0x57331b={};try{_0x57331b=_0x54e4cc?JSON[_0x329cdb(0x30d)](_0x54e4cc):{};}catch{_0x57331b={'message':_0x54e4cc[_0x329cdb(0x325)](0x0,0xc8)};}if(!_0x389eec['ok'])throw new R(_0x389eec[_0x329cdb(0x149)],_0x57331b);return _0x57331b;}import{createPrivateKey as _0xefce2f,createPublicKey as _0x49057f,generateKeyPairSync as _0x22ae52,sign as _0x5e3397}from'node:crypto';import{chmodSync as _0x1807b3,existsSync as _0x42c9de,mkdirSync as _0x3a9acf,readFileSync as _0x579a43,writeFileSync as _0x44ffef}from'node:fs';import _0x606a3c from'node:path';function G(_0x5a5776){const _0x353163=_0x43c0b7;return _0x606a3c[_0x353163(0x280)](ie,_0x353163(0xfc),_0x5a5776+'.pem');}function ce(_0x5bb556){const _0x12eb21=_0x43c0b7;return _0x49057f(_0x5bb556)[_0x12eb21(0x1f6)]({'format':_0x12eb21(0x217),'type':_0x12eb21(0x237)})[_0x12eb21(0x2ea)](-0x20)[_0x12eb21(0x2ff)](_0x12eb21(0x262));}function ue(){const _0x3fece7=_0x43c0b7;let {privateKey:_0x22856d}=_0x22ae52(_0x3fece7(0x1ef));return{'privateKey':_0x22856d,'publicKey':ce(_0x22856d)};}function de(_0xc81049,_0x48f6c7){const _0x55c30d=_0x43c0b7;let _0x4ded5d=G(_0xc81049);return _0x3a9acf(_0x606a3c[_0x55c30d(0x234)](_0x4ded5d),{'recursive':!0x0,'mode':0x1c0}),_0x44ffef(_0x4ded5d,_0x48f6c7[_0x55c30d(0x1f6)]({'format':_0x55c30d(0x132),'type':_0x55c30d(0x27a)}),{'mode':0x180}),_0x1807b3(_0x4ded5d,0x180),_0x4ded5d;}function F(_0x1843b7){const _0xbe383b=_0x43c0b7;let _0x4d895b=process[_0xbe383b(0x170)][_0xbe383b(0x1fc)];if(_0x4d895b){let _0x3186fb=_0x4d895b[_0xbe383b(0x165)](_0xbe383b(0x297))?_0x4d895b:Buffer[_0xbe383b(0x204)](_0x4d895b,_0xbe383b(0x262))[_0xbe383b(0x2ff)]('utf8');return _0xefce2f(_0x3186fb);}let _0x2d8003=G(_0x1843b7);if(!_0x42c9de(_0x2d8003))throw new Error(_0xbe383b(0x15c)+_0x2d8003+_0xbe383b(0x138));return _0xefce2f(_0x579a43(_0x2d8003));}function ze(_0x60fc6b,_0x2b7874){const _0x1da5a3=_0x43c0b7;return _0x5e3397(null,Buffer['from'](_0x2b7874,_0x1da5a3(0x1a3)),_0x60fc6b)[_0x1da5a3(0x2ff)](_0x1da5a3(0x262));}import{execFileSync as _0x4527c6}from'node:child_process';import{createHash as _0x19ebec}from'node:crypto';import{existsSync as _0x5c4e13,mkdirSync as _0x4fa9c1,mkdtempSync as _0xbfc9ce,readdirSync as _0x2630f1,readFileSync as _0x412d59,rmSync as _0x5b6809,statSync as _0x24aac2,writeFileSync as _0x206c12}from'node:fs';import{createRequire as _0x57daff}from'node:module';import{tmpdir as _0x361f62}from'node:os';import _0x13c08f from'node:path';import{brotliCompressSync as _0x3116b9,brotliDecompressSync as _0x3939ed,constants as _0x1046cc}from'node:zlib';var He=0.6,bo=_0x57daff(import.meta.url);function he(_0x662747,_0x4f3817){const _0x3d71df=_0x43c0b7;return _0x57daff(_0x13c08f[_0x3d71df(0x280)](_0x662747,_0x3d71df(0x1e1)))[_0x3d71df(0x1cf)](_0x4f3817);}function ot(_0x56fd00){const _0x1a0fe7=_0x43c0b7;let _0x576047=process[_0x1a0fe7(0x228)]===_0x1a0fe7(0x1ad)?_0x1a0fe7(0x27e):process['platform']===_0x1a0fe7(0x28a)?'win64-bin':_0x1a0fe7(0x2cf),_0x39dd5b=process['platform']===_0x1a0fe7(0x28a)?_0x1a0fe7(0x1a8):'hermesc',_0x2e75ae=[];for(let _0xe0028a of['hermes-compiler/package.json',_0x1a0fe7(0x2ad)])try{let _0x2f5bf3=_0x13c08f[_0x1a0fe7(0x234)](he(_0x56fd00,_0xe0028a));_0x2e75ae[_0x1a0fe7(0x2e4)](_0x13c08f['join'](_0x2f5bf3,_0x1a0fe7(0x198),_0x576047,_0x39dd5b),_0x13c08f[_0x1a0fe7(0x280)](_0x2f5bf3,_0x1a0fe7(0x270),_0x1a0fe7(0x198),_0x576047,_0x39dd5b));}catch{}let _0x421077=_0x2e75ae[_0x1a0fe7(0x26f)](_0x5c4e13);if(!_0x421077)throw new Error('hermesc\x20not\x20found\x20—\x20install\x20the\x20app\x20dependencies\x20first\x20(npm\x20install)');return _0x421077;}function M(_0x3753f2){const _0x2527f6=_0x43c0b7;return _0x19ebec(_0x2527f6(0x273))[_0x2527f6(0x126)](_0x3753f2)[_0x2527f6(0x317)](_0x2527f6(0x1a3));}function it(_0x88656){const _0x1c3526=_0x43c0b7;return _0x3116b9(_0x88656,{'params':{[_0x1046cc[_0x1c3526(0x179)]]:0xb,[_0x1046cc[_0x1c3526(0x203)]]:0x18,[_0x1046cc['BROTLI_PARAM_SIZE_HINT']]:_0x88656['length']}});}function Ge(_0x528022){return _0x3939ed(_0x528022);}function rt(_0x9fab4b,_0x57546a){const _0x1e626a=_0x43c0b7;let _0x32b9e7=[..._0x57546a][_0x1e626a(0x279)]((_0x7801ff,_0x59d392)=>_0x7801ff[_0x1e626a(0x148)]<_0x59d392['path']?-0x1:_0x7801ff['path']>_0x59d392[_0x1e626a(0x148)]?0x1:0x0)['map'](_0x39c705=>_0x39c705['sha256']+'\x20'+_0x39c705[_0x1e626a(0x148)]+'\x0a');return M(Buffer['from']('bipopush-manifest-v1\x0abundle\x20'+_0x9fab4b+'\x0a'+_0x32b9e7[_0x1e626a(0x280)]('')));}function st(_0x3228d5){const _0x5f2a64=_0x43c0b7;let _0x3e4265=[],_0x13a247=new Map(),_0x77ae49=_0x3a8add=>{const _0x33ded6=_0x2028;for(let _0x4db74f of _0x2630f1(_0x3a8add)){if(_0x4db74f===_0x33ded6(0x172))continue;let _0x4113af=_0x13c08f[_0x33ded6(0x280)](_0x3a8add,_0x4db74f);if(_0x24aac2(_0x4113af)[_0x33ded6(0x1f1)]())_0x77ae49(_0x4113af);else{let _0x478d3d=_0x412d59(_0x4113af),_0x23cb8e=M(_0x478d3d);_0x3e4265['push']({'path':_0x13c08f['relative'](_0x3228d5,_0x4113af)[_0x33ded6(0x26d)](_0x13c08f[_0x33ded6(0x209)])[_0x33ded6(0x280)]('/'),'sha256':_0x23cb8e,'size':_0x478d3d[_0x33ded6(0xf8)]}),_0x13a247[_0x33ded6(0x18e)](_0x23cb8e,_0x478d3d);}}};return _0x5c4e13(_0x3228d5)&&_0x77ae49(_0x3228d5),_0x3e4265['sort']((_0xa1dd76,_0x1b66a8)=>_0xa1dd76['path']<_0x1b66a8[_0x5f2a64(0x148)]?-0x1:0x1),{'assets':_0x3e4265,'files':_0x13a247};}function Ye(_0x1ba4cf){const _0x17e81f=_0x43c0b7;return _0x13c08f[_0x17e81f(0x280)](_0x1ba4cf,_0x17e81f(0x2d4));}function at(_0x367497,_0x24edff,_0x46149a,_0x14e74f){const _0xf8bad2=_0x43c0b7;let _0x394e39=_0x13c08f[_0xf8bad2(0x280)](_0x14e74f,_0xf8bad2(0x23e)+_0x24edff+_0xf8bad2(0x247)),_0x4279f6=Ye(_0x14e74f);if(_0x4fa9c1(_0x4279f6,{'recursive':!0x0}),_0x367497[_0xf8bad2(0x193)]===_0xf8bad2(0x211)){let _0x14a7ed=he(_0x367497[_0xf8bad2(0x103)],_0xf8bad2(0x2e2));_0x4527c6(process[_0xf8bad2(0x11a)],[_0x14a7ed,_0xf8bad2(0x291),_0xf8bad2(0x191),_0x24edff,_0xf8bad2(0x2fd),'false',_0xf8bad2(0x1e3),_0xf8bad2(0x22c),_0xf8bad2(0x301),_0x46149a,_0xf8bad2(0x1cb),_0x394e39,'--assets-dest',_0x4279f6],{'cwd':_0x367497[_0xf8bad2(0x103)],'stdio':'inherit'});}else{let _0x4cc130=he(_0x367497[_0xf8bad2(0x103)],_0xf8bad2(0x1ee));_0x4527c6(process['execPath'],[_0x4cc130,_0xf8bad2(0x2c8),_0xf8bad2(0x191),_0x24edff,'--dev',_0xf8bad2(0x22c),'--minify',_0xf8bad2(0x22c),_0xf8bad2(0x301),_0x46149a,_0xf8bad2(0x1cb),_0x394e39,_0xf8bad2(0x1de),_0x4279f6],{'cwd':_0x367497[_0xf8bad2(0x103)],'stdio':_0xf8bad2(0x281)});}return _0x394e39;}function lt(_0x1f9945,_0x2161ce,_0x25c24b,_0x1c1823){const _0x4f0fc9=_0x43c0b7;let _0x562348=_0x13c08f['join'](_0x25c24b,'index.hbc'),_0x36e610=['-O','-w',_0x4f0fc9(0x104),'-out='+_0x562348];return _0x1c1823&&_0x36e610[_0x4f0fc9(0x2e4)](_0x4f0fc9(0x269)+_0x1c1823),_0x36e610['push'](_0x2161ce),_0x4527c6(_0x1f9945,_0x36e610,{'stdio':['ignore',_0x4f0fc9(0x281),_0x4f0fc9(0x281)]}),_0x562348;}async function We(_0x18354e){const _0xe987e=_0x43c0b7;let _0xb757f3=_0xbfc9ce(_0x13c08f[_0xe987e(0x280)](_0x361f62(),_0xe987e(0x22b)+_0x18354e['platform']+'-'));try{return await pt(_0xb757f3,_0x18354e);}finally{_0x5b6809(_0xb757f3,{'recursive':!0x0,'force':!0x0});}}function _0x360d(){const _0x2c8f32=['CgfJA2fNzs5QC29U','u2LNBMLUzYbRzxKGzM91BMq','ls1TAw5PzNK','ChjVzhvJDgLVBG','rvbjueu','icb2zxjZAw9Uia','vu5ex0vsuL9tt0nlrvq','yMLWB3b1C2GGAw5PDcaTlxnJAgvTzsb5B3vYyxbW','tM8GyxbWCYb5zxqUifj1BJOGyMLWB3b1C2GGAw5PDa','CgX1DgLS','ifjLC2v0CYbHDca','nJu1mJm2q0XXDLHX','igfUzca','CMvHy3qTBMf0AxzLl2nSAs5QCW','zwqYntuXoq','icHVCIaXmdaGDg8GzMLUAxnOkq','AxneAxjLy3rVCNK','cK5HDgL2zsbZzxr1CdOGDgHLignVBMzPzYbWBhvNAw4GywrKCYbPDcbVBIbUChGGzxHWBYbWCMvIDwLSzc4','tM90igXVz2DLzcbPBIb0BYa','y2f0y2G','ihrVigzPEc4','zxHWB3j0','CMv0CNLbzNrLCLnLy29Uzhm','qLjpveXjx1bbuKfnx1njwKvFseLova','ibTBmM0O4OArl+kgKYWGrw50zxiPg1SWBqOBwZ8YnwW','rxjYB3iGka','DMvYC2LVBIbPBIa','qKLqt1bvu0HFu0LhtKLor19lrvK','DxbKyxrLoMvKAxqGBMvLzhmGls1YB2XSB3v0lxbLCMnLBNrHz2u','zgvZ','igzPBgvZlca','l2fZC2v0CW','tM8GCgfJA2fNzs5QC29UigHLCMu','CM9SBg91Dca8CgvYy2vUDd4','qLjpveXjx1bbuKfnx0Xhv0Lo','zNjVBq','lI4VCgfJA2fNzs5QC29U','jcHquK9evunux05btuu','qhjLDM9WDxnOl3jLywn0lw5HDgL2zs1JB2rLlxb1C2G','Dw5SAw1PDgvK','C2vW','Cgf0y2GG','yxbWlMPZB24','qMLWB1b1C2HtDg9Yzs5YzwnVDMvYswzozwvKzwqO','icbty2HLBwuGica','l3vZCI9SAwjLEgvJl1bSAxn0qNvKzhK','cLb1yMXPC2HLzca','u2LNBMLUzYbRzxK6ia','zxHWBW','icaGAu9toIbdB2rLuhvZAc5IDw5KBgvvuKWOksbPBIbbChbezwXLz2f0zsbHBMqGq29Kzvb1C2HezxbSB3LTzw50s2v5igLUieLUzM8UCgXPC3q','zMLSDgvY','tw9KDwXL','runptK5srvnfva','y3jLzgvUDgLHBhmUANnVBG','zgvY','icaBwZjT','BwfPBG','ls1MCM9TigfUzcaTlxrVig11C3qGyMuGzgLMzMvYzw50ignOyw5UzwXZ','Dg9Rzw4','yNvUzgXLswrLBNrPzMLLCG','mZG3nZmZnuXLqwryBW','C3rYAw5NAwz5','Aw9Zsw5MB1bSAxn0','y29Kzxb1C2G','pc90AxrSzt48yM9KEsbZDhLSzt0IzM9UDc1Myw1PBhK6C3LZDgvTlxvPo2rPC3bSyxK6z3jPzdTWBgfJzs1PDgvTCZPJzw50zxi7AgvPz2H0oJeWmhzOo21HCMDPBJOWiJ48zgL2ihn0EwXLpsj0zxH0lwfSAwDUoMnLBNrLCIi+pgGXpG','ANngAwXL','vgHPCYbPCYbUB3qGysbszwfJDcboyxrPDMuGChjVAMvJDcaOCMvHy3qTBMf0AxzLigLZig5VDcbHigrLCgvUzgvUy3KP','Bwf0y2G','s2vLCcb5B3vYignVzgu6ignOyw5Nzsb0AguGAw1WB3j0ihrVicjayMLWB3b1C2GVCMvHy3qTBMf0AxzLlW','uMvHy3qGtMf0AxzL','C25PChbLDa','CgXHDgzVCM0','icHTyw5KyxrVCNKP','uMvXDwvZDcbMywLSzwqGD2L0AcbZDgf0DxmG','yMLWB3b1C2GT','zMfSC2u','tM8GBgL2zsa','Bwf1','yMLWB3b1C2GGBg9NAw4','qKLqt1bvu0HFu0LhtL9vuKW','Bgv2zwW','ue9tva','q0zcDw5KBgvtAg9YDfzLCNnPB25tDhjPBMC','zgLYBMfTzq','qMLWB1b1C2GGq0XjigLZigXVz2DLzcbPBG','CMvKDwnL','C3bRAq','qMLWB1b1C2HtDg9Yzs5YzwnVDMvYswzozwvKzwqOkq','yxbWswq','CgfKrw5K','u2v0iejjue9qvvnix1njr05jtKDFs0vzig9Yihj1BIbVBIb0AguGBwfJAgLUzsb0Agf0ihjHBIbIAxbVChvZAcbPBML0','lMnVBMzPzW','CgLWzq','Aw5KzxGU','zxHWB1vWzgf0zxm6ihrYDwu','Aw5KzxGUANm','zxHPC3rPBMCGA2v5ia','CgXHBG','Cgf0y2HvCMW','cGOGifLVDxiGzMLSzsbKAwzMzxjZigzYB20GDgHLifjLywn0ie5HDgL2zsb0zw1WBgf0ztSGywrKihrOzxnLigXPBMvZihDOzxjLihrOzxKGzML0oGOk','ihbYB2PLy3qGzM91BMqGDg8GCMvSzwfZzsbMB3i','uKnutgLUA2LUz01HBMfNzxiUyxbWBgLJyxrPB24O','lMj1BMrSzq','ie1bvq','BNb4igv4Cg8GAw5ZDgfSBcbayMLWB3b1C2GVCMvHy3qTBMf0AxzL','q291BgqGBM90igzPBMqGDgHLigXHDw5JAgvYigfJDgL2Axr5igLUia','CM9SBgjHy2S','DMvYC2LVBKnVzgu','ihbYB2PLy3qGiG','iIbHBMrYB2LKoNzHBhvLpsi','cIqYlY8GuM9SBcbIywnRigfUie9uqsbIDw5KBguGDgHHDcbJCMfZAgvKigjLzM9YzsbJB25MAxjTAw5Nig5VDgLMEufWCfjLywr5kcKUcIqYqMLWB1b1C2HtDg9Yzs5YzwnVDMvYswzozwvKzwqOkqOKmq','yMLWB3b1C2GTy2XPlZaUms4Wig5VzguV','ChjVAMvJDa','qMvHCMvYia','4Psa4Ps84Psa','rxHWBYbvCgrHDgvZ','AgfZ','yxnZzxrgAwXLCW','lwv4DhjHy3q','C3rKB3v0','mtqWota0mfjmshLzzG','AxnbCNjHEq','qMLWB1b1C2HtDg9Yzs5Hy3rPDMvcDw5KBgvvuKWOkq','tM8GBMf0AxzLia','igHHCYbHBIbVBgqGyxbWigTLEsaOAxqGD2fZihjVDgf0zwqP','B3jNyw5PEMf0Aw9UCW','zgf0yq','ifDHAxrPBMCG','igfSCMvHzhKGC3rVCMvKlG','yMfZzty0','CMvWzwf0','C2v0uMf3tw9Kzq','swyGAxqGzg9LC24NDcbVCgvUlcb2AxnPDdOkica','l2nSAt8','icdIHPiG','Dw5SAw1PDgvKignOyw5UzwXZicHMywLYihvZzsa','lwjHC2uTyNL0zwnVzgu9','t3bLBMLUzYb5B3vYigjYB3DZzxiGDg8GBg9NigLU4OcM','zMLSzurLBgv0zwq','AgjJ','C3bSAxq','DxnLza','zMLUza','C2rRCW','yxbWBgLJyxrPB24VANnVBG','ihrVia','C2HHmJu2','iokuGIaGicdIGky','ig5VDcbYzwfJAgfIBguGB24G','igfWChmP','lIbsDw46igjPCg9WDxnOigXVz2LU','qxbWigTLEq','C29YDa','CgTJCZG','Cgf0y2HoB3rL','yNvPBgqUz3jHzgXL','CMvSzwfZzq','B3n4lwjPBG','g1SZnM3INA8G','AM9PBG','Aw5OzxjPDa','AgvSCa','ls1YB2XSB3v0lxbLCMnLBNrHz2u','sw5ZDgfSBcb0AguGu0rloIbUCg0GAw5ZDgfSBcbayMLWB3b1C2GVCMvHy3qTBMf0AxzL','yMLWB3b1C2GGAw5PDa','zxHWB3j0CW','uhvIBgLJigTLEq','u2LNBMLUzYbRzxKGzg9LCYbUB3qGBwf0y2GGDgHLigfWCcDZihb1yMXPyYbRzxK6igrLDMLJzxmGD291BgqGCMvQzwn0ihLVDxiGCMvSzwfZzxm','ignOyw5Nzq','D2LUmZi','tg9NAw4GzMfPBgvK','yMLWB3b1C2GUANnVBG','DxbKyxrLoMvKAxq','iIbPBIa','iokaLcbJB21TAxqGAxqGkgL0igHHCYbUBYbZzwnYzxrZks4','Ahr0Chm6lY9HCgKUyMLWB3b1C2GUy29T','zxHWB3j0oMvTyMvK','qgjPCg9WDxnOl3jLywn0lw5HDgL2zq','zMfPBa','ls1YB2XSB3v0','icaGiokaOIa','tg9NAw4Gy2fUy2vSBgvK','qKvhsu4','ig5LzwrZia','Dg9gAxHLza','odu5nZiYsvDZBLP5','tufss0vusu5hx1zfuLnjt04','qxbWici','y3jHC2GGz3vHCMq6iejPCg9qDxnOu3rVCMuUCMvJB3zLCKLMtMvLzgvKkcKGyxqGBgf1BMnO','DxnLCI1Hz2vUDa','qMLWB1b1C2HqDwjSAwnlzxK','zgLMzIbMywLSzwqGka','zgv2rgvWzw5Kzw5JAwvZ','icGTlw9YzYa','C3jJ','yxj0AwzHy3rjza','yxjYyxLcDwzMzxi','yMfZzq','cLLVDxiGruftignVBw1HBMrZig1HCcb0B286igjPCg9WDxnOihvWzgf0zsaTlwnOyw5UzwWGChjVzhvJDgLVBIaTlw1LC3nHz2uGiUkaPIiGls1YB2XSB3v0lxbLCMnLBNrHz2uGmtaU','C2nOzw1L','id0GiJ8Ow14Io10Rksi/oW','DhjPBq','BNvTyMvY','Bg9N','CMvHy3qTBMf0AxzLl3bHy2THz2uUANnVBG','icaTlw9YzYa','CM9Szq','yNvPBgq','v3jVDguGqMLWB1b1C2HbChblzxKGlYbcAxbVuhvZAfb1yMXPy0TLEsb0BYa','iIb0BYa','B3jNyw5PEMf0Aw9U','Bg9Hzcb0AguGt1rbigj1BMrSztOGqMLWB1b1C2HtDg9Yzs5Hy3rPDMvcDw5KBgvvuKWOksbPBIbIDw5KBgvvuKWOkq','l3jLBgvHC2vZlW','cLjLywr5lcb3AxrOig5VDgvZigfIB3zLlG','y2XVC2u','twfPBKfWCgXPy2f0Aw9UlMT0','Bg9NAw4','uNvUihrOAxmGAw4GEw91CIbszwfJDcboyxrPDMuGlYbfEhbVihbYB2PLy3qGzM9SzgvYicHUBYbWywnRywDLlMPZB24GAgvYzsK','cKnYzwf0zwqGyxbWici','AgfZAa','B3jN','tM8GB3jNyw5PEMf0Aw9Uici','yMLWB19MCMvL','CgvYy2vUDa','Dgv4Da','mJG3ndHlB2DkAeG','pcfKB2n0ExbLigH0BwW+pg1LDgeGy2HHCNnLDd0IDxrMltGIpJX0AxrSzt4','iokgKIbizxjTzxmG','ChjVBw90zq','Au9t','tg9Nz2vKig91Dc4','yNvUzgXL','zgLZywjSzwq','Dw5SAw1PDgvKq2HHBM5LBhm','qgjPCg9WDxnOl3jLywn0lw5HDgL2zsbPCYbUB3qGAw5ZDgfSBgvK','ug9KCW','zg9JDg9Y','kejjue9qvvnix1rps0vokq','BgLUDxG2nc1IAw4','zgvWzw5Kzw5JAwvZ','zgvWBg95BwvUDe5HBwu','jdeScIq0icaVlYbpveeGyNvUzgXLigrVD25SB2fKzwqGyNKGqMLWB1b1C2GSig9Yig51BgWGzM9YihrOzsbIDw5KBguGAw5ZAwrLihrOzsbbueSUcIq0icbQC0j1BMrSzuzPBgvqyxrOid0GqMLWB1b1C2HtDg9Yzs5IDw5KBgvgAwXLugf0AcHHChbSAwnHDgLVBKnVBNrLEhqPlcqZ','uhjVBw90zwqG','yxnZzxrZlw91Da','BMv3lxnPz25PBMCTA2v5','C3rHDgu','zgvZy3jPChrPB24','BgLTAxq','ww91CIbSB2DPBIbLEhbPCMvKig9YihDHCYbYzxzVA2vKlIbsDw46igjPCg9WDxnOigXVz2LUicHJCMvKzw50AwfSCZOG','qwrKidPdrKj1BMrSzvvstfr5CgvZigfYCMf5','BwfUzgf0B3j5','su5gt1bmsvnux0zjteu','zw1HAwW','cKrYEsbYDw46ig5VDgHPBMCGDxbSB2fKzwqU','yMLWBZe','yxbWvMvYC2LVBG','z2v0','zxHWBY9IAw4Vy2XP','ktOG','ChvZAa','y2f1C2u','y3vYCMvUDa','qgjPCg9WDxnOl3jLywn0lw5HDgL2zsa','u2f2zwqG','yxnZzxrZuM9VDa','C3vIyxjYyxK','mJjbuvfXzgq','Aw1WB3j0ifjLywn0cMLTCg9YDcbcAxbVuhvZAfvWzgf0zxi','ChjVAMvJDc5WyNHWCM9Q','g1SWBq','C2X1zW','ls1JAgfUBMvS','ieTc','y3DK','icbZAgeYntyG','BMfTzq','y29Yzq','ig9Uia','zM9YrwfJAa','icbHC3nLDhmG','l2f1DgGVBg9NB3v0','qw5KCM9Pza','rxHWBW','CMvWBgfJzq','ls1Kzxy','DxbSB2fKCW','Dg9tDhjPBMC','pc9Omt48Cd4','ls1LBNrYEs1MAwXL','qxbWrgvSzwDHDguUC3DPzNqGBM90igzVDw5KicHpyMPLy3rPDMuTqYbbChbezwXLz2f0zxmGBMvLzcb0AguGC2fTzsbJywXSCYK','zw5K','zxjYB3i','Aw5WDxqGDg9VigXHCMDL','pc9RzxK+xhmQphn0CMLUzZ4Ow148xsOPpc9ZDhjPBMC+','iIaVpGOGicaGicaGidWVAw50zw50lwzPBhrLCJ4','AxnuvfK','y3jHC2GGz3vHCMq6iejPCg9qDxnOu3rVCMuUCMvJB3zLCKLMtMvLzgvKkhrOAxmPigLUig9Uq3jLyxrLkcK','rgvWBg95BwvUDhmGyMvJB21LignOyw5UzwXZoIbqCM9KDwn0Aw9UiokgKIbWCM9KDwn0Aw9UlcbtDgfNAw5NiokgKIbZDgfNAw5NlG','icaG4OcM','zxHWBY11CgrHDgvZ','CgfYC2u','l3jLBgvHC2vZ','zhj5uNvU','C2vHCMnOugfYyw1Z','uhjPBNqGoKngqNvUzgXLvvjmvhLWzxm','jsbZBwfSBgvYihrOyw4GzNvSBcK','icHSB2DNzwqGAw4GyxmG','q0zcDw5KBgvwzxjZAw9U','zgLMzI53yxnT','CgfJA2fNzq','zgLNzxn0','igzPBgu','icaG','qMLWB1b1C2HtDg9Yzs5IDw5KBgvgAwXLugf0AcG','y2qGAw9ZicyMihbVzcbPBNn0ywXS','C29Tzq','l2nSAs90B2TLBG','ihjLBgvHC2vZihrVzgf5','DxjS','qMLWB1b1C2HtDg9Yzs5Hy3rPDMvcDw5KBgvvuKWOksa/pYbcDw5KBguUBwfPBI51CMWOzM9YuMvZB3vYy2u6icjTywLUiIWGD2L0Aev4DgvUC2LVBJOGiMPZyNvUzgXLiIK','lxjLCgXHy2u','yNvMzMvY','zMLSzq','Bg9NB3v0','C2XPy2u','jsbVzIbMDwXS','C3rKAw4','BgvUz3rO','pgTLEt4','icHUB3CP','cIaGicaGicaGpgLUDgvUDc1MAwX0zxi+cIaGicaGicaGicaGidXHy3rPB24Gyw5KCM9PzdPUyw1LpsjHBMrYB2LKlMLUDgvUDc5Hy3rPB24UvKLfvYiGlZ4kicaGicaGicaGicaGpgnHDgvNB3j5igfUzhjVAwq6BMfTzt0Iyw5KCM9Pzc5PBNrLBNqUy2f0zwDVCNKUrevgqvvmvciGlZ4kicaGicaGicaGicaGpgnHDgvNB3j5igfUzhjVAwq6BMfTzt0Iyw5KCM9Pzc5PBNrLBNqUy2f0zwDVCNKUqLjpv1nbqKXfiIaVpGOGicaGicaGicaGica8zgf0ysbHBMrYB2LKoNnJAgvTzt0I','A2v5CW','ChvIBgLJs2v5','C3rYAw5N','lcb0BYa','Aw5MBW','zxHPDenVzgu','cKfZC2v0CZOG','CM9VDa','lwvTAxqTyMLUyxj5','y3rYBa','qKLqt1bvu0HFqvbjx1vsta','icHTyw5PzMvZDcbZAwDUzwqP','BwvTB3j5','CgXHBNm','BMv4Def2ywLSywjSzuf0','C3vNz2vZDgvK','DxnLCG','yw5KCM9Pza','zNvSBa','igfWCcHZksWG','Aw5PDa','yM9KEq','y2HHBM5LBa','ww91ignHBIbJBg9Zzsb0AgLZihrHyIbHBMqGCMv0DxjUihrVihLVDxiGDgvYBwLUywWU','yxbPvxjS','y29Kzq','qxbWrgvSzwDHDguUC3DPzNq','icdcTYaG','Bg9Hzcb0AguGt1rbigj1BMrSztOGANncDw5KBgvgAwXLugf0Aca9iejPCg9qDxnOu3rVCMuUyNvUzgXLrMLSzvbHDgGO4OcMkq','zgLZywjSzq','zxHLy1bHDgG','BwvZC2fNzq','4OcuicHKzwvWBgLUA3mGBMvLzcbVBMu6ic0TC2nOzw1LidXUyw1LpIK','l2fWChmV','ig11C3qGyMuGysbJAgfUBMvSig5HBwuGBgLRzsbWCM9KDwn0Aw9UlcbZDgfNAw5Nig9YigjLDge','rM91BMqG','tMv4DdOGCMvIDwLSzcb0AguGBMf0AxzLigfWCcbVBMnLlcbJAgvJAYb3AxrOigjPCg9WDxnOigrVy3rVCIWGDgHLBIbZAgLWihDPDgGGyMLWB3b1C2GGCMvSzwfZzq','CgXPC3q','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','CM9SBg91Dc1WzxjJzw50ywDL','ls1MCM9T','BwLZC2LUzW','DxbKyxrL','vxnHz2u6igjPCg9WDxnOihjVBgXVDxqGphbLCMnLBNq+ifSTyYbJAgfUBMvSxq','yMfZzty0DxjS','yNjHBMnO','ANntAxPL','ihjLBgvHC2u','jsbZBwfSBgvYkq','yNvPBgroDw1Izxi','yNvPBgqUz3jHzgXLlMT0CW','y3vZDg9T','yM9VBgvHBG','AwDUB3jL','CgvT','D3jPDgvizwfK','icbPt1mGicaGica','q0zcDw5KBgvvuKXuExbLCY4WlKngqNvUzgXLvvjmu2nOzw1LCY4W','q29Kzvb1C2G','ww91ignHBIbJBg9Zzsb0AgLZihrHyI4','lIbtzxqGqKLqt1bvu0HFu0LhtKLor19lrvKGB3iGCNvUigjPCg9WDxnOigLUAxqGB24GDgHLig1Hy2HPBMuGDgHHDcbOyxmGDgHLigTLEs4','tM8G','C3rHCNrZv2L0Aa','qMLWB1b1C2HbChblzxK','uhjVAMvJDdOGia','Cgf0Ag5HBwu','ihbYB2jSzw0','cKfSBcbZzxq6ihnOAxaGD2L0AcbIAxbVChvZAcbYzwXLyxnLlG','uMv2B1b1C2G','AxnjBNrLz2vY','igHLCMuUifj1BJOGyMLWB3b1C2GGAw5PDa','Aw1WB3j0iejPCg9qDxnOvxbKyxrLCG','yMfZzufYDgLMywn0swq','Au9tihbVzcbPBNn0ywXSzwq','jdekAw1WB3j0ignVBs5IAxbVChvZAc51CgrHDgvYlKjPCg9qDxnOu3rVCMu','icaGyxbWlMPZB246ihrOzsaIDxbKyxrLCYiGyMXVy2SGyw5KicjYDw50Aw1LvMvYC2LVBIiGkgv4Cg8TDxbKyxrLCYK7igTLzxaGEw91CIbVDgHLCIbWBhvNAw5Z','Cgf0Aa','C3rHDhvZ','C3rHz2LUzW','yw5KCM9Pze1HBMLMzxn0','DMvYC2LVBG','pc9WpJWVzgL2pG','rxjYB3i6ia','BNbTigKGqgjPCg9WDxnOl3jLywn0lw5HDgL2zq','werhx0nptKzjr19it01f','yxbW','tg9Nz2vKigLUigfZia','cIaGicbRzxKG','4OcMicbZAwDUzwqG4PYt','CM9SBg91DfbLCMnLBNq','vxbNCMfKzsb5B3vYihbSyw4GyxqGAhr0Chm6lY9HChaUyMLWB3b1C2GUy29T','BgvMDa','l21L','qwrKidPdrKj1BMrSzvvstfr5CgvZoJaGzgLJDa','iIbVBIa','ksdcTYa','u2LNBMLUzYbRzxKGBM90igzVDw5Kigf0ia','y29SDw1UCW','Aw9Z','ihjLBgvHC2vZihvZzwqGzM9YihrOAxmGyxbWigLUihrOzsbSyxn0idi0Ac4','D3jPDgu','icbWyxrJAca','uefuq0G','yw5KCM9PzdPUyw1Lpsi','vgLTzwqGB3v0ihDHAxrPBMCGzM9YihrOzsbICM93C2vYicG1ig1PBNv0zxmP','Aw5JBhvKzxm','zg93BG','l2nHBgXIywnR','qKLqt1bvu0HFve9lru4','BM9Kzv9TB2r1BgvZ','qgnVzguTChvZAc1UzxH0l3jLywn0lw5HDgL2zs1JB2rLlxb1C2G','icbbBMrYB2LKica','iIb3AgvYzsb5B3uGy2fUignYzwf0zsbHChbZlIbsDw46igjPCg9WDxnOihDOB2fTAq','BwLNCMf0zq','zhj5lxj1BG','CMvHy3qTBMf0AxzL','zw52','ufvu','lKrtx1n0B3jL','lIbuBYbTB3zLihrViejPCg9qDxnOoGO','ih0P','qwrKzwqGvvjmihnJAgvTzsaI','tM8GvvjmihnJAgvTztOGDgvZDcbKzxzPy2vZignHBID0igPVAw4GysbJAgfUBMvSigj5igXPBMS','rgLZywjSzwqG','Ahr0Chm6lY9ZAwDUlMjPCg9WDxnOlMnVBq','qLjpveXjx1bbuKfnx1fvquXjvfK','uMvIDwLSzcb0AguGBMf0AxzLigfWCcbVBMnLicHPDcbUB3CGzw1IzwrZiejPCg9qDxnOksWGDgHLBIbZAgLWihvWzgf0zxm6ig5WEcbayMLWB3b1C2GVy2XPihjLBgvHC2u','q29UzMLNDxjLzcb0AguGqgjPCg9WDxnOl3jLywn0lw5HDgL2zsbWBhvNAw4GAw4GyxbWlMPZB24Gkhj1BIbUChGGzxHWBYbWCMvIDwLSzcb0BYbHChbSEsKU','Bwf0y2HbBgW','qwrKidPdrKj1BMrSzvvstfr5CgvZoJa6q0zcDw5KBgvvuKXty2HLBwvZigfYCMf5','yxbWlMPZB24GCgX1z2LU','CgX1z2LUCW','ig1PC3nPBMCGAw4G','ywXS','igLZig5VDcb0AgLZigfWCcDZ','icaGqw5KCM9PzdOGq29Kzvb1C2GGAw4GtwfPBKfWCgXPy2f0Aw9UigfUzcbdB2rLuhvZAerLCgXVEw1LBNrlzxKGAw4GC3rYAw5NCY54BwW','yMLWB3b1C2GGAw5PDcaTlwfWCca8Awq+ihrVigXPBMSGyw5VDgHLCIbHCha','CMf3','cK5HDgL2zsbZzxr1CcaOqMLWB1b1C2GGBMv2zxiGzwrPDhmGDgHLC2uGzMLSzxm7ignOyw5Nzsb0AgvTigfZihnOB3DUktOk','Bwf4q2HHBM5LBhm','igfUzcbTyxrJAgvZihrOzsbHCha','yxnZzxrZ','rgfPBhKGBgLTAxqGCMvHy2HLzdOG','CMvSzwfZzuLK','D2HVyw1P','Dg9mB2nHBgvtDhjPBMC','C2v0','u3rHz2LUzW','yxbWlMPZB24GAgfZig5Vigv4Cg8GC2vJDgLVBG','ls1WBgf0zM9YBq','ww91CIbYB2XLignHBID0ignYzwf0zsbHChbZigLUigfUEsbVCMDHBML6yxrPB24UiefZAYbHBIbVD25LCIbVCIbHzg1PBI4','DhLWzq','q2fUy2vSBgvK','Aw1WB3j0iejPCg9qDxnOvxbKyxrLCGOklY8Gsw4GyxbWBgLJyxrPB24OxZPKAwrgAw5PC2HmyxvUy2HPBMDxAxrOt3b0Aw9UCZOPlcbIzwzVCMuGuMvHy3qGtMf0AxzLihn0yxj0CZOkqMLWB1b1C2HtDg9Yzs5YzwnVDMvYswzozwvKzwqOkqOklY8Gsw4GEw91CIbszwfJDe5HDgL2zurLBgvNyxrLicHsq1rezwzHDwX0uMvHy3royxrPDMvgywn0B3j5rgvSzwDHDguPlcbszwXLyxnLigjYyw5JAcbVzIbIDw5KBgvvuKWOktOkqMLWB1b1C2HtDg9Yzs5Hy3rPDMvcDw5KBgvvuKWOksa/pYbcDw5KBguUBwfPBI51CMWOzM9YuMvZB3vYy2u6icjTywLUiIWGD2L0Aev4DgvUC2LVBJOGiMPZyNvUzgXLiIKkcI8VieLUiefWCerLBgvNyxrLlcbZBYbWywLYAw5NigXPBMTZicG8C2nOzw1LpJOVl2jPCg9WDxnOl2PVAw4/Dg9Rzw494OcMksbYzwfJAcb0AguGyxbWoGPMDw5JigfWCgXPy2f0Aw9Ukf8GyxbWoIbvsufWCgXPy2f0Aw9UlcbVCgvUihvYBdOGvvjmlcbVChrPB25ZoIbBvuLbChbSAwnHDgLVBI5pCgvUvvjmt3b0Aw9UC0TLEtOGqw55xsa9ifS6xsKGlt4GqM9VBcb7cIaGuKnutgLUA2LUz01HBMfNzxiUyxbWBgLJyxrPB24OyxbWlcbVCgvUoIb1CMWSig9WDgLVBNm6ig9WDgLVBNmPcN0','yxbWs2v5','DMfSDwvZ','AgvYBwvZyW','Cgf0y2G','q1vsuKvovf9quK9krunux1zfuLnjt04','zgv0ywLS','zMXHDe1HCa','CM9SBg91Da','A2v5ChjLC3m','oI8VigLUDgvUDc1MAwX0zxiGyNKGAgfUzc4','DgvZDa','zNjLzq','DxrMoa','Agv4','Bwf4','ieiGAxmGBM90ihnTywXSzxiGDgHHBIa','icHYB2XSB3v0ignVBxbSzxrLkq','iokgKIa','AgvYBwvZyY5LEgu','ywrKCMvZCW','g1SYsW','l3b1yMXPC2G','yMfZzs1PBNb1Dc5OyMm','zgfYD2LU','C2L6zq','ig5LDYb1CgXVywrLzcaO','icaO','l2jHC2u/','yxj0AwzHy3rZ','nda5ndm5mLbNvhHtsW','Bwf4qxbWCW','zMXVB3i','BgLZDgvU','uMvTB3zLia','y2HHBMDLza','icaGkev4Cg86ig5WEcbLEhbVigLUC3rHBgWGqgjPCg9WDxnOl3jLywn0lw5HDgL2zsK','yNvUzgXLu2L6zq','tM8GCgfJA2fNzs5QC29UigLUia','Aw1WB3j0ignVBs5IAxbVChvZAc51CgrHDgvYlKjPCg9qDxnOu3rVCMu','y29Yzs9KAwzMlNDHC20GAxmGBwLZC2LUzYbMCM9TihrOzsbdteKGCgfJA2fNzq','l2fWChm','zw50CMLLCW','oYbHzgqGDgHLia','CMvHy3qTBMf0AxzLlwnVzguTChvZAa','zw50CNLgAwXL','Dg9mB3DLCKnHC2u','ihbSyw4','yMLWB19KAwzM','zw5KC1DPDgG','z3jHzhvHBfjVBgXVDxrZ','jdekjdiVlYbgB3j3yxjKCYa8C2nOzw1LpJOVlYbSAw5RCYaOqMLWB1b1C2GGCgfPCMLUzYbPBNzPDgvZksb0BYbszwfJDcboyxrPDMuNCYbmAw5RAw5Niefqss4kjdjMDw5JigfWCgXPy2f0Aw9Ukf8GyxbWoIbvsufWCgXPy2f0Aw9UlcbVCgvUihvYBdOGvvjmlcbVChrPB25ZoIbBvuLbChbSAwnHDgLVBI5pCgvUvvjmt3b0Aw9UC0TLEtOGqw55xsa9ifS6xsKGlt4GqM9VBcb7cIqYicbsq1rmAw5RAw5NtwfUywDLCI5HChbSAwnHDgLVBIHHChaSig9Wzw46ihvYBcWGB3b0Aw9UCZOGB3b0Aw9UCYKkjdj9cG','DxnHz2u','BwfW','ls1IDw5KBguTB3v0Chv0','jcHtuKnst09uks8','y21K','nZaXodHKuK9KvNi','CMvZB2X2zq','l2fYDgLMywn0CY8','lIbezxzPy2vZigDLDcb0AguGBMv3zxn0igvUywjSzwqGDMvYC2LVBIbVBIb0AgvPCIbUzxH0ignOzwnRlG','C3rHCNq','igLZihnLDcb1Ca','v2HPy2GGB3jNyw5PEMf0Aw9UihnOB3vSzcb0AgLZigfWCcbIzwXVBMCGDg8/','BM8GChjLDMLVDxmGCMvSzwfZzsbMB3iGDgHPCYbJAgfUBMvSigfUzcb2zxjZAw9U','x2LUAxrPywXPEMu','B3bLBG','l3bYB21VDgu','CMLNAhq','CMvSyxrPDMu','iLXZk2fUzhjVAwq6DMfSDwu9iIHBxIjDkIKI','mta1z015q0Xo','zNvSBfvYBa','ls1HC3nLDhmTzgvZDa','igLUia','D2fYBG'];_0x360d=function(){return _0x2c8f32;};return _0x360d();}async function pt(_0x7eb7c0,_0x4495bc){const _0x3ee4e5=_0x43c0b7;let _0x152344=_0x4495bc[_0x3ee4e5(0x222)]??at(_0x4495bc[_0x3ee4e5(0x251)],_0x4495bc['platform'],_0x4495bc['entryFile'],_0x7eb7c0),_0x2df198=ot(_0x4495bc[_0x3ee4e5(0x251)][_0x3ee4e5(0x103)]),_0x9e717b=null;_0x4495bc[_0x3ee4e5(0x2a6)]&&(_0x9e717b=_0x13c08f[_0x3ee4e5(0x280)](_0x7eb7c0,_0x3ee4e5(0x1ac)),_0x206c12(_0x9e717b,_0x4495bc[_0x3ee4e5(0x2a6)][_0x3ee4e5(0x26c)]));let _0x552036=_0x412d59(lt(_0x2df198,_0x152344,_0x7eb7c0,_0x9e717b)),_0x4249d0=M(_0x552036),_0x5cfcd8=it(_0x552036),{assets:_0x4fb7c2,files:_0x1f1647}=st(_0x4495bc[_0x3ee4e5(0x2e9)]??Ye(_0x7eb7c0)),_0x310dc1=_0x4fb7c2['length']>0x0?rt(_0x4249d0,_0x4fb7c2):_0x4249d0,_0x37bf5d=null,_0x378d05=_0x3ee4e5(0x1d5);if(_0x4495bc[_0x3ee4e5(0x2a6)]){let _0x467040=Te(_0x4495bc['base']['hbc'],_0x552036);_0x467040[_0x3ee4e5(0xf8)]>=_0x5cfcd8[_0x3ee4e5(0xf8)]*He?_0x378d05=_0x3ee4e5(0x20a)+_0x467040[_0x3ee4e5(0xf8)]+_0x3ee4e5(0x1a5)+He*0x64+_0x3ee4e5(0x326):(_0x37bf5d={'baseArtifactId':_0x4495bc[_0x3ee4e5(0x2a6)][_0x3ee4e5(0x2a4)],'data':_0x467040},_0x378d05='');}return{'platform':_0x4495bc[_0x3ee4e5(0x228)],'appVersion':_0x4495bc[_0x3ee4e5(0x2e0)],'jsSize':_0x412d59(_0x152344)['length'],'bundleSize':_0x552036['length'],'sha256':_0x4249d0,'signature':ze(_0x4495bc['privateKey'],_0x310dc1),'full':_0x5cfcd8,'patch':_0x37bf5d,'patchNote':_0x378d05,'assets':_0x4fb7c2,'assetFiles':_0x1f1647};}import{execFileSync as _0x166a85}from'node:child_process';import{existsSync as _0x7e7850,readdirSync as _0x49e4d7,readFileSync as _0x279ea8,writeFileSync as _0x39183e}from'node:fs';import _0x352af7 from'node:path';var P=_0x43c0b7(0x28c);function Z(_0xd91121){const _0x5c3118=_0x43c0b7;try{return JSON['parse'](_0x279ea8(_0xd91121,_0x5c3118(0x1a2)));}catch{return null;}}function I(_0x57aabd){const _0x42ec69=_0x43c0b7;return Z(_0x352af7[_0x42ec69(0x280)](_0x57aabd,P));}function qe(_0x3f149f,_0x157f89){const _0x45581e=_0x43c0b7;_0x39183e(_0x352af7[_0x45581e(0x280)](_0x3f149f,P),JSON['stringify'](_0x157f89,null,0x2)+'\x0a');}function Y(_0x350e03,_0x9babbc){const _0x195169=_0x43c0b7;let _0x481f4d=[..._0x350e03[_0x195169(0x17c)](new RegExp(_0x9babbc+_0x195169(0x2a9),'g'))][_0x195169(0x1ca)](_0x2326ea=>_0x2326ea[0x1][_0x195169(0x2aa)]());return _0x481f4d['find'](_0x663def=>!_0x663def[_0x195169(0x165)]('$('))??_0x481f4d[0x0]??null;}function W(_0x3ddc4c,_0x246175){const _0x536b61=_0x43c0b7;try{return _0x166a85(_0x536b61(0x1ea),[_0x536b61(0x257),_0x246175,_0x536b61(0x185),'-o','-',_0x3ddc4c],{'stdio':['ignore',_0x536b61(0x23d),'ignore']})[_0x536b61(0x2ff)]()[_0x536b61(0x2aa)]();}catch{return null;}}function ut(_0x4fb367){const _0x4864c5=_0x43c0b7;let _0x34f31b=_0x352af7[_0x4864c5(0x280)](_0x4fb367,_0x4864c5(0x15e)),_0x4e7fff={'info':{'id':null,'version':null,'build':null,'scheme':null},'plist':null};if(!_0x7e7850(_0x34f31b))return _0x4e7fff;let _0x4558bb=_0x49e4d7(_0x34f31b)[_0x4864c5(0x26f)](_0x2df4a9=>_0x2df4a9[_0x4864c5(0x1c6)]('.xcodeproj'));if(!_0x4558bb)return _0x4e7fff;let _0x4c4cc1=_0x279ea8(_0x352af7[_0x4864c5(0x280)](_0x34f31b,_0x4558bb,_0x4864c5(0x2ed)),_0x4864c5(0x1a2)),_0x361d7c=_0x4558bb['replace'](/\.xcodeproj$/,''),_0x4a2757=Y(_0x4c4cc1,'PRODUCT_BUNDLE_IDENTIFIER');_0x4a2757?.[_0x4864c5(0x165)](_0x4864c5(0x206))&&(_0x4a2757=_0x4a2757[_0x4864c5(0x2fc)](/\$\(PRODUCT_NAME[^)]*\)/,_0x361d7c[_0x4864c5(0x2fc)](/[^A-Za-z0-9-]/g,'-')));let _0x4c33da=Y(_0x4c4cc1,_0x4864c5(0x2dc)),_0xa9935a=_0x4c33da?_0x352af7[_0x4864c5(0x280)](_0x34f31b,_0x4c33da[_0x4864c5(0x2fc)](_0x4864c5(0x1cc),'')):null,_0x64cfa2=_0xa9935a?W(_0xa9935a,_0x4864c5(0x135)):null,_0x38693e=_0xa9935a?W(_0xa9935a,_0x4864c5(0x233)):null,_0x1b2c02=_0x38693e&&!_0x38693e[_0x4864c5(0x165)]('$(')?_0x38693e:Y(_0x4c4cc1,_0x4864c5(0x29b)),_0x379f79=_0xa9935a?W(_0xa9935a,_0x4864c5(0x314)):null,_0x123bc2=_0x379f79&&!_0x379f79[_0x4864c5(0x165)]('$(')?_0x379f79:Y(_0x4c4cc1,_0x4864c5(0x19a));return{'info':{'id':_0x4a2757,'version':_0x1b2c02,'build':_0x123bc2,'scheme':_0x64cfa2},'plist':_0xa9935a&&_0x7e7850(_0xa9935a)?_0xa9935a:null};}function dt(_0x1249af){const _0x205eeb=_0x43c0b7;let _0x20939a=_0x352af7['join'](_0x1249af,_0x205eeb(0x10d),_0x205eeb(0x151),'src',_0x205eeb(0x219),'AndroidManifest.xml');return _0x7e7850(_0x20939a)?_0x20939a:null;}function ft(_0x45508c){const _0x558944=_0x43c0b7;let _0x1cc16b=[_0x558944(0x27c),_0x558944(0x12e)][_0x558944(0x1ca)](_0x5612fa=>_0x352af7[_0x558944(0x280)](_0x45508c,_0x558944(0x10d),_0x558944(0x151),_0x5612fa))['find'](_0x7e7850);if(!_0x1cc16b)return{'id':null,'version':null,'build':null,'scheme':null};let _0x51e2fb=_0x279ea8(_0x1cc16b,_0x558944(0x1a2)),_0x3e13c3=_0x51e2fb[_0x558944(0x224)](/applicationId\s*=?\s*["']([^"']+)["']/)?.[0x1]??null,_0xa1dd7c=_0x51e2fb[_0x558944(0x224)](/versionName\s*=?\s*["']([^"']+)["']/)?.[0x1]??null,_0x40febb=_0x51e2fb[_0x558944(0x224)](/versionCode\s*=?\s*(\d+)/)?.[0x1]??null,_0x57fe36=_0x352af7[_0x558944(0x280)](_0x45508c,_0x558944(0x10d),_0x558944(0x151),_0x558944(0x2a3),_0x558944(0x219),'AndroidManifest.xml'),_0x971c=(_0x7e7850(_0x57fe36)?_0x279ea8(_0x57fe36,_0x558944(0x1a2)):'')[_0x558944(0x224)](/<data[^>]*android:scheme="([^"]+)"/)?.[0x1]??null;return{'id':_0x3e13c3,'version':_0xa1dd7c,'build':_0x40febb,'scheme':_0x971c};}function D(_0x499263){const _0x23634b=_0x43c0b7;let _0x4421dc=Z(_0x352af7['join'](_0x499263,_0x23634b(0x1e1)));if(!_0x4421dc)throw new Error(_0x23634b(0x1bb)+_0x499263);if(!_0x4421dc[_0x23634b(0x2d0)]?.[_0x23634b(0x16f)])throw new Error(_0x23634b(0x223));let _0x189b98=Z(_0x352af7['join'](_0x499263,_0x23634b(0x20b))),_0x54024f=!!(_0x4421dc['dependencies']?.[_0x23634b(0x211)]&&_0x189b98?.[_0x23634b(0x211)]),_0x7dde9f=ut(_0x499263),_0x16e6ff=ft(_0x499263),_0x43b50c=_0x4421dc[_0x23634b(0x219)]&&_0x7e7850(_0x352af7[_0x23634b(0x280)](_0x499263,_0x4421dc[_0x23634b(0x219)]))?_0x4421dc[_0x23634b(0x219)]:_0x23634b(0x240);if(_0x54024f&&!_0x7dde9f['info']['id']){let _0x1584f7=_0x189b98[_0x23634b(0x211)],_0x4f96e2=Array[_0x23634b(0x25a)](_0x1584f7['scheme'])?_0x1584f7[_0x23634b(0x2a8)][0x0]:_0x1584f7[_0x23634b(0x2a8)]??null;return{'root':_0x499263,'type':_0x23634b(0x211),'name':_0x1584f7[_0x23634b(0x2f4)]??_0x4421dc[_0x23634b(0x2f4)]??_0x23634b(0x151),'entryFile':_0x43b50c,'ios':{'id':_0x1584f7[_0x23634b(0x15e)]?.[_0x23634b(0x21c)]??null,'version':_0x1584f7[_0x23634b(0x15e)]?.[_0x23634b(0x14c)]??_0x1584f7[_0x23634b(0x14c)]??null,'build':_0x1584f7[_0x23634b(0x15e)]?.[_0x23634b(0x12d)]!=null?String(_0x1584f7[_0x23634b(0x15e)][_0x23634b(0x12d)]):null,'scheme':_0x4f96e2},'android':{'id':_0x1584f7['android']?.[_0x23634b(0x316)]??null,'version':_0x1584f7[_0x23634b(0x14c)]??null,'build':_0x1584f7[_0x23634b(0x10d)]?.[_0x23634b(0x24c)]!=null?String(_0x1584f7['android'][_0x23634b(0x24c)]):null,'scheme':_0x4f96e2},'iosInfoPlist':null,'androidManifest':null};}return{'root':_0x499263,'type':_0x54024f?_0x23634b(0x211):_0x23634b(0x16f),'name':_0x189b98?.[_0x23634b(0x211)]?.['name']??_0x4421dc[_0x23634b(0x2f4)]??_0x23634b(0x151),'entryFile':_0x43b50c,'ios':_0x7dde9f[_0x23634b(0x100)],'android':_0x16e6ff,'iosInfoPlist':_0x7dde9f[_0x23634b(0x121)],'androidManifest':_0x54024f?null:dt(_0x499263)};}function Ze(_0x4e2bcb,_0x2e7dcc){const _0x34c95d=_0x43c0b7;let _0xb5bbdb=_0x279ea8(_0x4e2bcb,'utf8');for(let [_0x19f961,_0x704286]of Object[_0x34c95d(0x1bf)](_0x2e7dcc)){let _0x6142e3=new RegExp('\x5cs*<meta-data\x5cs+android:name=\x22'+_0x19f961+'\x22[^>]*/>','g');_0xb5bbdb=_0xb5bbdb[_0x34c95d(0x2fc)](_0x6142e3,''),_0x704286!==null&&(_0xb5bbdb=_0xb5bbdb['replace'](/(<application\b[^>]*>)/,_0x4ce390=>_0x4ce390+'\x0a\x20\x20\x20\x20\x20\x20<meta-data\x20android:name=\x22'+_0x19f961+_0x34c95d(0x24e)+_0x704286+'\x22\x20/>'));}_0x39183e(_0x4e2bcb,_0xb5bbdb);}function Qe(_0x24162d,_0x5756a0){const _0x14f9c1=_0x43c0b7;let _0x34f849=_0x279ea8(_0x24162d,_0x14f9c1(0x1a2)),_0xe18f6c=_0x14f9c1(0xfb)+_0x5756a0+_0x14f9c1(0x307),_0x1a7038=/(<category android:name="android\.intent\.category\.LAUNCHER"\s*\/>\s*<\/intent-filter>)/;if(!_0x1a7038['test'](_0x34f849))throw new Error(_0x14f9c1(0x24a)+_0x24162d+_0x14f9c1(0x1c0)+_0x5756a0+_0x14f9c1(0x19f));_0x39183e(_0x24162d,_0x34f849[_0x14f9c1(0x2fc)](_0x1a7038,_0x135bce=>''+_0x135bce+_0xe18f6c));}function Xe(_0x3d193e,_0x53b5a1){const _0xc77526=_0x43c0b7;for(let [_0x2d2f8b,_0x5f5572]of Object[_0xc77526(0x1bf)](_0x53b5a1))_0x5f5572!==null?_0x166a85('plutil',[_0xc77526(0x321),_0x2d2f8b,'-string',_0x5f5572,_0x3d193e]):W(_0x3d193e,_0x2d2f8b)!==null&&_0x166a85(_0xc77526(0x1ea),['-remove',_0x2d2f8b,_0x3d193e]);}function en(_0x4a78e9,_0x1a4754){const _0x5d4eb1=_0x43c0b7;let _0x20bd87=_0xf1fca6=>_0x166a85(_0x5d4eb1(0x20e),['-c',_0xf1fca6,_0x4a78e9],{'stdio':[_0x5d4eb1(0x131),'ignore',_0x5d4eb1(0x131)]});try{_0x20bd87(_0x5d4eb1(0x311));}catch{_0x20bd87(_0x5d4eb1(0x2da));}_0x20bd87(_0x5d4eb1(0x159)),_0x20bd87(_0x5d4eb1(0x17d)),_0x20bd87('Add\x20:CFBundleURLTypes:0:CFBundleURLSchemes:0\x20string\x20'+_0x1a4754);}function nn(_0x18f8e1,_0x521963,_0x270baa){const _0x435ef8=_0x43c0b7;let _0x174223=_0x352af7[_0x435ef8(0x280)](_0x18f8e1,_0x435ef8(0x20b)),_0x2d6af6=Z(_0x174223);if(!_0x2d6af6?.[_0x435ef8(0x211)])throw new Error(_0x435ef8(0x190));let _0xde4e1f=_0x2d6af6[_0x435ef8(0x211)],_0x297e34=Array[_0x435ef8(0x25a)](_0xde4e1f[_0x435ef8(0x17f)])?_0xde4e1f[_0x435ef8(0x17f)]:[],_0x44d807=_0x435ef8(0x292),_0x450bd8=_0x297e34[_0x435ef8(0x213)](_0x3f6e1d=>(Array[_0x435ef8(0x25a)](_0x3f6e1d)?_0x3f6e1d[0x0]:_0x3f6e1d)!==_0x44d807);_0xde4e1f['plugins']=[..._0x450bd8,[_0x44d807,_0x521963]],_0x270baa&&!_0xde4e1f[_0x435ef8(0x2a8)]&&(_0xde4e1f[_0x435ef8(0x2a8)]=_0x270baa),_0x39183e(_0x174223,JSON[_0x435ef8(0x21e)](_0x2d6af6,null,0x2)+'\x0a');}var E=_0x5082aa=>(_0x5082aa/0x400)[_0x43c0b7(0x299)](0x1)+_0x43c0b7(0x2f1);function tn(_0x4f399b,_0x27b932){const _0x32a3ce=_0x43c0b7;return{'iosBundleId':_0x4f399b['ios']['id'],'androidPackage':_0x4f399b[_0x32a3ce(0x10d)]['id'],'scheme':_0x27b932??_0x4f399b[_0x32a3ce(0x15e)]['scheme']??_0x4f399b[_0x32a3ce(0x10d)]['scheme']};}function gt(_0x5e6828){const _0x64a8da=_0x43c0b7;console[_0x64a8da(0x2ac)](_0x64a8da(0x13c)+_0x5e6828[_0x64a8da(0x2f4)]+'\x20('+(_0x5e6828['type']===_0x64a8da(0x211)?_0x64a8da(0x2fb):_0x64a8da(0x226))+')'),console[_0x64a8da(0x2ac)](_0x64a8da(0x134)+(_0x5e6828['ios']['id']??'—')+_0x64a8da(0x1e6)+(_0x5e6828['ios'][_0x64a8da(0x14c)]??'—')),console[_0x64a8da(0x2ac)](_0x64a8da(0x16b)+(_0x5e6828[_0x64a8da(0x10d)]['id']??'—')+_0x64a8da(0x1e6)+(_0x5e6828[_0x64a8da(0x10d)][_0x64a8da(0x14c)]??'—')),console['log'](_0x64a8da(0x20d)+(_0x5e6828['ios'][_0x64a8da(0x2a8)]??_0x5e6828[_0x64a8da(0x10d)][_0x64a8da(0x2a8)]??_0x64a8da(0x11c)));}async function rn(_0x4bac29,_0xfc0ce9){const _0x128769=_0x43c0b7;let _0x5607db=D(_0xfc0ce9['cwd']);_0xfc0ce9[_0x128769(0x2a8)]&&_0x5607db[_0x128769(0x193)]===_0x128769(0x211)&&!_0x5607db[_0x128769(0x15e)][_0x128769(0x2a8)]?(_0x5607db[_0x128769(0x15e)][_0x128769(0x2a8)]=_0xfc0ce9[_0x128769(0x2a8)],_0x5607db[_0x128769(0x10d)][_0x128769(0x2a8)]=_0xfc0ce9['scheme']):_0xfc0ce9[_0x128769(0x2a8)]&&_0x5607db['iosInfoPlist']&&!_0x5607db[_0x128769(0x15e)][_0x128769(0x2a8)]&&(en(_0x5607db[_0x128769(0x21f)],_0xfc0ce9['scheme']),_0x5607db['ios'][_0x128769(0x2a8)]=_0xfc0ce9['scheme'],console[_0x128769(0x2ac)](_0x128769(0x175)+_0xfc0ce9['scheme']+'\x22\x20to\x20'+_0x1a99d5[_0x128769(0x1da)](_0xfc0ce9[_0x128769(0x2f2)],_0x5607db[_0x128769(0x21f)]))),gt(_0x5607db);let _0x371a4a=I(_0xfc0ce9[_0x128769(0x2f2)]),_0x35dff8=_0xfc0ce9[_0x128769(0x239)]??_0x371a4a?.['appId'],_0x94a72a,_0x18a784;if(_0x35dff8){if({app:_0x94a72a}=await h(_0x128769(0x11d)+_0x35dff8,{'token':_0x4bac29}),{app:_0x94a72a}=await h(_0x128769(0x11d)+_0x94a72a['id'],{'method':_0x128769(0x162),'token':_0x4bac29,'headers':{'content-type':'application/json'},'body':JSON[_0x128769(0x21e)](tn(_0x5607db,_0xfc0ce9[_0x128769(0x2a8)]??null))}),_0xfc0ce9['newSigningKey']){let {privateKey:_0x229b8b,publicKey:_0x264bca}=ue();({app:_0x94a72a}=await h(_0x128769(0x11d)+_0x94a72a['id'],{'method':'PATCH','token':_0x4bac29,'headers':{'content-type':_0x128769(0x271)},'body':JSON[_0x128769(0x21e)]({'publicKey':_0x264bca})}),_0x18a784=de(_0x94a72a['id'],_0x229b8b),console[_0x128769(0x2ac)]('\x0aNew\x20signing\x20key\x20registered.\x20Ship\x20a\x20new\x20store\x20build:\x20installed\x20builds\x20only\x20trust\x20the\x20old\x20key.'));}else F(_0x94a72a['id']),_0x18a784=_0x128769(0x241)+G(_0x94a72a['id']);console[_0x128769(0x2ac)]('\x0aLinked\x20to\x20existing\x20app\x20\x22'+_0x94a72a['name']+'\x22.');}else{let _0x352a07=await bt(_0x4bac29,_0xfc0ce9[_0x128769(0x2bd)]),{privateKey:_0xa6b31,publicKey:_0x4841f9}=ue();({app:_0x94a72a}=await h(_0x128769(0x1be),{'method':'POST','token':_0x4bac29,'headers':{'content-type':'application/json'},'body':JSON['stringify']({'organizationId':_0x352a07['id'],'name':_0xfc0ce9[_0x128769(0x2f4)]??_0x5607db[_0x128769(0x2f4)],'publicKey':_0x4841f9,...tn(_0x5607db,_0xfc0ce9[_0x128769(0x2a8)]??null)})}),_0x18a784=de(_0x94a72a['id'],_0xa6b31),console[_0x128769(0x2ac)](_0x128769(0x2bb)+_0x94a72a['name']+_0x128769(0x28e)+_0x352a07['name']+'.'));}let _0x12c23b={'appId':_0x94a72a['id'],'appKey':_0x94a72a[_0x128769(0x196)],'type':_0x5607db[_0x128769(0x193)],'entryFile':_0x5607db['entryFile']};if(qe(_0xfc0ce9['cwd'],_0x12c23b),_0x5607db[_0x128769(0x193)]===_0x128769(0x211)){let _0x63a5bb={'appKey':_0x94a72a[_0x128769(0x196)],'publicKey':_0x94a72a[_0x128769(0xfd)]};b!=='https://api.bipopush.com'&&(_0x63a5bb[_0x128769(0x114)]=b),nn(_0xfc0ce9[_0x128769(0x2f2)],_0x63a5bb,_0xfc0ce9['scheme']),console[_0x128769(0x2ac)](_0x128769(0x17b));}else{let _0xcb48d6={'BipoPushAppKey':_0x94a72a[_0x128769(0x196)],'BipoPushPublicKey':_0x94a72a[_0x128769(0xfd)]};if(b!==_0x128769(0x290)&&(_0xcb48d6['BipoPushApiUrl']=b),_0x5607db['iosInfoPlist']&&(Xe(_0x5607db[_0x128769(0x21f)],{'BipoPushApiUrl':null,..._0xcb48d6}),console[_0x128769(0x2ac)](_0x128769(0x2b1)+_0x1a99d5[_0x128769(0x1da)](_0xfc0ce9[_0x128769(0x2f2)],_0x5607db[_0x128769(0x21f)]))),_0x5607db[_0x128769(0x14b)]){Ze(_0x5607db[_0x128769(0x14b)],{'BipoPushApiUrl':null,..._0xcb48d6}),console[_0x128769(0x2ac)]('Wrote\x20BipoPushAppKey\x20/\x20BipoPushPublicKey\x20to\x20'+_0x1a99d5[_0x128769(0x1da)](_0xfc0ce9['cwd'],_0x5607db[_0x128769(0x14b)]));let _0x25cb89=_0xfc0ce9[_0x128769(0x2a8)]??_0x5607db[_0x128769(0x15e)][_0x128769(0x2a8)];_0x25cb89&&!_0x5607db[_0x128769(0x10d)][_0x128769(0x2a8)]&&(Qe(_0x5607db[_0x128769(0x14b)],_0x25cb89),_0x5607db[_0x128769(0x10d)]['scheme']=_0x25cb89,console[_0x128769(0x2ac)]('Added\x20URL\x20scheme\x20\x22'+_0x25cb89+_0x128769(0x2b2)+_0x1a99d5[_0x128769(0x1da)](_0xfc0ce9[_0x128769(0x2f2)],_0x5607db[_0x128769(0x14b)])));}}if(console['log']('\x0aApp\x20key:\x20\x20\x20\x20\x20'+_0x94a72a[_0x128769(0x196)]),console['log']('Public\x20key:\x20\x20'+_0x94a72a['publicKey']),console[_0x128769(0x2ac)](_0x128769(0x210)+_0x18a784),console['log']('\x0aKeep\x20the\x20signing\x20key\x20private.\x20In\x20CI,\x20set\x20BIPOPUSH_SIGNING_KEY\x20to\x20the\x20base64\x20of\x20that\x20file.'),console[_0x128769(0x2ac)](_0x128769(0x2e8)+P+_0x128769(0x28f)),_0x5607db['type']==='expo')console[_0x128769(0x2ac)](_0x128769(0x1f2));else{console[_0x128769(0x2ac)](_0x128769(0x186));for(let _0x4fb28b of J(_0xfc0ce9[_0x128769(0x2f2)]))console['log'](K(_0x4fb28b,_0xfc0ce9[_0x128769(0x2f2)])+'\x0a');}console['log'](_0x128769(0x120));}async function mt(_0x39512a,_0x33a1e3,_0x44c9cf,_0x2b9b50,_0xd4b779){const _0x1f8a38=_0x43c0b7;let {base:_0x329166}=await h(_0x1f8a38(0x11d)+_0x33a1e3+_0x1f8a38(0x1b1)+new URLSearchParams({'channel':_0x44c9cf,'platform':_0x2b9b50,'appVersion':_0xd4b779}),{'token':_0x39512a});if(!_0x329166)return null;let _0x156853=await fetch(_0x329166[_0x1f8a38(0x31f)]);if(!_0x156853['ok'])throw new Error('Could\x20not\x20download\x20the\x20previous\x20release\x20('+_0x156853[_0x1f8a38(0x149)]+')');let _0x30d90a=Ge(Buffer['from'](await _0x156853[_0x1f8a38(0x2a5)]()));if(M(_0x30d90a)!==_0x329166[_0x1f8a38(0x273)])throw new Error('Previous\x20release\x20failed\x20its\x20integrity\x20check');return{'artifactId':_0x329166[_0x1f8a38(0x2a4)],'sha256':_0x329166[_0x1f8a38(0x273)],'hbc':_0x30d90a};}async function ye(_0x17035c,_0x1281a4){const _0x579fcb=_0x43c0b7;let _0x384598=await fetch(_0x17035c,{'method':_0x579fcb(0x171),'headers':{'content-type':'application/octet-stream','content-length':String(_0x1281a4[_0x579fcb(0xf8)])},'body':new Uint8Array(_0x1281a4)});if(!_0x384598['ok'])throw new Error('Upload\x20failed\x20('+_0x384598[_0x579fcb(0x149)]+'):\x20'+(await _0x384598[_0x579fcb(0x2c1)]())[_0x579fcb(0x325)](0x0,0xc8));}function ht(_0x45cff6){const _0x26b8f7=_0x43c0b7;let _0x2746ff=0x64-_0x45cff6[_0x26b8f7(0x10e)][_0x26b8f7(0xf8)]/_0x45cff6[_0x26b8f7(0x12a)]*0x64;console['log']('\x0a'+_0x45cff6[_0x26b8f7(0x228)]+'\x20'+_0x45cff6[_0x26b8f7(0x2e0)]),console[_0x26b8f7(0x2ac)]('\x20\x20JS\x20'+E(_0x45cff6['jsSize'])+_0x26b8f7(0x2c4)+E(_0x45cff6['bundleSize'])+'\x20→\x20brotli\x20'+E(_0x45cff6['full'][_0x26b8f7(0xf8)])+_0x26b8f7(0x1b0)+_0x2746ff[_0x26b8f7(0x299)](0x0)+_0x26b8f7(0x12c)),_0x45cff6[_0x26b8f7(0x199)]?console['log'](_0x26b8f7(0x161)+E(_0x45cff6[_0x26b8f7(0x199)]['data'][_0x26b8f7(0xf8)])+'\x20vs\x20previous\x20release\x20('+(0x64-_0x45cff6[_0x26b8f7(0x199)][_0x26b8f7(0x25f)][_0x26b8f7(0xf8)]/_0x45cff6[_0x26b8f7(0x10e)]['length']*0x64)[_0x26b8f7(0x299)](0x0)+_0x26b8f7(0x312)):console['log']('\x20\x20no\x20patch:\x20'+_0x45cff6[_0x26b8f7(0x27b)]),_0x45cff6[_0x26b8f7(0x189)][_0x26b8f7(0xf8)]>0x0&&console['log'](_0x26b8f7(0x2f8)+_0x45cff6[_0x26b8f7(0x189)]['length']+_0x26b8f7(0x1ff)+E(_0x45cff6[_0x26b8f7(0x189)][_0x26b8f7(0x236)]((_0x1a221d,_0x31c2f2)=>_0x1a221d+_0x31c2f2[_0x26b8f7(0x1ae)],0x0))+_0x26b8f7(0x107)),console['log'](_0x26b8f7(0x2f3)+_0x45cff6['sha256'][_0x26b8f7(0x325)](0x0,0x10)+_0x26b8f7(0x154));}async function be(_0x7b0f83,_0xe02375){const _0x3ffff4=_0x43c0b7;let _0x1b3bb1=I(_0xe02375[_0x3ffff4(0x2f2)]);if(!_0x1b3bb1)throw new Error('No\x20'+P+_0x3ffff4(0x142));let _0x59cb23=D(_0xe02375[_0x3ffff4(0x2f2)]),_0x287e6d=F(_0x1b3bb1[_0x3ffff4(0x239)]),{app:_0x73d0b7,plan:_0x8a94f0}=await h(_0x3ffff4(0x11d)+_0x1b3bb1[_0x3ffff4(0x239)],{'token':_0x7b0f83});if(_0xe02375[_0x3ffff4(0x19d)]!==void 0x0&&_0xe02375[_0x3ffff4(0x19d)]<0x64&&_0x8a94f0?.[_0x3ffff4(0x1c7)]===!0x1)throw new Error('Gradual\x20rollouts\x20are\x20on\x20Plus\x20and\x20above.\x20Release\x20to\x20everyone\x20(no\x20--rollout),\x20or\x20upgrade\x20in\x20the\x20dashboard:\x20Subscription.');let _0x123682=_0xe02375['platform']===_0x3ffff4(0x181)?[_0x3ffff4(0x15e),_0x3ffff4(0x10d)]:[_0xe02375[_0x3ffff4(0x228)]],_0x138c43=_0x123682[_0x3ffff4(0x213)](_0x4b182d=>_0x59cb23[_0x4b182d]['id']&&_0x59cb23[_0x4b182d]['version']);if(_0x138c43[_0x3ffff4(0xf8)]===0x0)throw new Error(_0x3ffff4(0x25c)+_0x123682[_0x3ffff4(0x280)]('/')+_0x3ffff4(0x245));console[_0x3ffff4(0x2ac)]('Releasing\x20'+_0x73d0b7[_0x3ffff4(0x2f4)]+_0x3ffff4(0x1a7)+_0xe02375[_0x3ffff4(0x112)]+'\x20('+_0x138c43[_0x3ffff4(0x280)](',\x20')+')');let _0x3af337=[];for(let _0x31737a of _0x138c43){let _0x11ab09=_0x59cb23[_0x31737a][_0x3ffff4(0x14c)],_0x31105a=await mt(_0x7b0f83,_0x73d0b7['id'],_0xe02375[_0x3ffff4(0x112)],_0x31737a,_0x11ab09);_0x3af337['push'](await We({'project':_0x59cb23,'platform':_0x31737a,'appVersion':_0x11ab09,'entryFile':_0x1b3bb1[_0x3ffff4(0x1c2)]??_0x59cb23['entryFile'],'privateKey':_0x287e6d,'base':_0x31105a}));}if(_0x3af337['forEach'](ht),_0xe02375[_0x3ffff4(0x30f)]){console[_0x3ffff4(0x2ac)](_0x3ffff4(0x2de));return;}let _0x16e591=new Map();for(let _0x15d56f of _0x3af337)for(let _0x5c799c of _0x15d56f[_0x3ffff4(0x189)])_0x16e591[_0x3ffff4(0x18e)](_0x5c799c['sha256'],{'sha256':_0x5c799c[_0x3ffff4(0x273)],'size':_0x5c799c[_0x3ffff4(0x1ae)],'data':_0x15d56f[_0x3ffff4(0x256)][_0x3ffff4(0x2e1)](_0x5c799c[_0x3ffff4(0x273)])});if(_0x16e591[_0x3ffff4(0x1ae)]>0x0){let {uploads:_0x4e7f92}=await h(_0x3ffff4(0x11d)+_0x73d0b7['id']+_0x3ffff4(0x200),{'method':_0x3ffff4(0x232),'token':_0x7b0f83,'headers':{'content-type':_0x3ffff4(0x271)},'body':JSON[_0x3ffff4(0x21e)]({'assets':[..._0x16e591[_0x3ffff4(0x197)]()]['map'](({sha256:_0x16d6f6,size:_0x5eaa21})=>({'sha256':_0x16d6f6,'size':_0x5eaa21}))})});for(let _0x2cb075 of _0x4e7f92)await ye(_0x2cb075['url'],_0x16e591[_0x3ffff4(0x2e1)](_0x2cb075['sha256'])[_0x3ffff4(0x25f)]);let _0x420119=_0x4e7f92[_0x3ffff4(0x236)]((_0x3feae1,_0x280989)=>_0x3feae1+_0x16e591[_0x3ffff4(0x2e1)](_0x280989[_0x3ffff4(0x273)])[_0x3ffff4(0x1ae)],0x0);console[_0x3ffff4(0x2ac)](_0x3ffff4(0x102)+_0x4e7f92[_0x3ffff4(0xf8)]+_0x3ffff4(0x1af)+E(_0x420119)+'),\x20'+(_0x16e591[_0x3ffff4(0x1ae)]-_0x4e7f92[_0x3ffff4(0xf8)])+_0x3ffff4(0x261));}let _0x270c99=await on(()=>h(_0x3ffff4(0x11d)+_0x73d0b7['id']+_0x3ffff4(0x30e),{'method':_0x3ffff4(0x232),'token':_0x7b0f83,'headers':{'content-type':_0x3ffff4(0x271)},'body':JSON[_0x3ffff4(0x21e)]({'channel':_0xe02375['channel'],'message':_0xe02375[_0x3ffff4(0x11b)],'mandatory':!!_0xe02375[_0x3ffff4(0x2db)],..._0xe02375[_0x3ffff4(0x19d)]!==void 0x0&&_0xe02375[_0x3ffff4(0x19d)]<0x64?{'rolloutPercent':_0xe02375[_0x3ffff4(0x19d)]}:{},'artifacts':_0x3af337[_0x3ffff4(0x1ca)](_0x530534=>({'platform':_0x530534[_0x3ffff4(0x228)],'appVersion':_0x530534[_0x3ffff4(0x2e0)],..._0x59cb23[_0x530534[_0x3ffff4(0x228)]]['build']?{'nativeBuild':_0x59cb23[_0x530534[_0x3ffff4(0x228)]]['build']}:{},'sha256':_0x530534[_0x3ffff4(0x273)],'signature':_0x530534['signature'],'bundleSize':_0x530534[_0x3ffff4(0x1ba)],'fullSize':_0x530534['full'][_0x3ffff4(0xf8)],..._0x530534[_0x3ffff4(0x199)]?{'patch':{'baseArtifactId':_0x530534[_0x3ffff4(0x199)][_0x3ffff4(0x144)],'size':_0x530534[_0x3ffff4(0x199)][_0x3ffff4(0x25f)][_0x3ffff4(0xf8)],'format':Oe}}:{},..._0x530534[_0x3ffff4(0x189)]['length']>0x0?{'assets':_0x530534[_0x3ffff4(0x189)]}:{}}))})}));for(let _0x458246 of _0x270c99[_0x3ffff4(0x2fe)]){let _0x32ba22=_0x3af337[_0x3ffff4(0x26f)](_0x468b32=>_0x468b32[_0x3ffff4(0x228)]===_0x458246[_0x3ffff4(0x228)]);await ye(_0x458246[_0x3ffff4(0x1dd)],_0x32ba22[_0x3ffff4(0x10e)]),_0x458246[_0x3ffff4(0x243)]&&_0x32ba22[_0x3ffff4(0x199)]&&await ye(_0x458246[_0x3ffff4(0x243)],_0x32ba22[_0x3ffff4(0x199)][_0x3ffff4(0x25f)]);}let {release:_0x366e0b,usage:_0x1da7f2}=await on(()=>h(_0x3ffff4(0x2b5)+_0x270c99[_0x3ffff4(0x18b)]+_0x3ffff4(0x1ab),{'method':_0x3ffff4(0x232),'token':_0x7b0f83})),_0x579b5c=_0x366e0b[_0x3ffff4(0x1b2)][_0x3ffff4(0x1ca)](_0x201d82=>(_0x201d82[_0x3ffff4(0x228)]===_0x3ffff4(0x15e)?'iOS':_0x3ffff4(0x2fa))+'\x20'+_0x201d82[_0x3ffff4(0x2e0)]+'\x20v'+_0x201d82[_0x3ffff4(0x14c)]),_0x46677d=_0xe02375[_0x3ffff4(0x19d)]!==void 0x0&&_0xe02375[_0x3ffff4(0x19d)]<0x64?_0x3ffff4(0xff)+_0xe02375[_0x3ffff4(0x19d)]+'%\x20of\x20devices':'';console[_0x3ffff4(0x2ac)](_0x3ffff4(0x20f)+_0x579b5c[_0x3ffff4(0x280)](',\x20')+_0x3ffff4(0x272)+_0xe02375[_0x3ffff4(0x112)]+(_0xe02375[_0x3ffff4(0x2db)]?_0x3ffff4(0x229):'')+_0x46677d+'.'),_0x46677d&&console[_0x3ffff4(0x2ac)]('Raise\x20it\x20later\x20with:\x20bipopush\x20rollout\x20<percent>\x20-c\x20'+_0xe02375[_0x3ffff4(0x112)]+_0x3ffff4(0x1f0)),console[_0x3ffff4(0x2ac)](_0x1da7f2['used']+_0x3ffff4(0x12b)+(_0x1da7f2[_0x3ffff4(0x26e)]===0x1?'':'s')+'\x20of\x20this\x20app\x20in\x20the\x20last\x2024h.');}async function on(_0x30ba24){const _0x51dc57=_0x43c0b7;for(;;)try{return await _0x30ba24();}catch(_0x3afc4c){if(!(_0x3afc4c instanceof R)||_0x3afc4c[_0x51dc57(0x111)][_0x51dc57(0x304)]!=='release_too_soon')throw _0x3afc4c;let _0xe84d7c=Number(_0x3afc4c[_0x51dc57(0x111)][_0x51dc57(0x1f7)]);if(!(_0xe84d7c>0x0&&_0xe84d7c<=0x744))throw _0x3afc4c;console[_0x51dc57(0x2ac)](_0x3afc4c[_0x51dc57(0x11b)]+_0x51dc57(0x260)+_0xe84d7c+'s…'),await new Promise(_0x16f778=>setTimeout(_0x16f778,_0xe84d7c*0x3e8));}}async function yt(_0x564d6d){return(await h('/me',{'token':_0x564d6d}))['organizations'];}async function bt(_0x1ff87b,_0x48ec42){const _0xa60056=_0x43c0b7;let _0x755bf=(await yt(_0x1ff87b))[_0xa60056(0x213)](_0x40d13b=>_0x40d13b[_0xa60056(0x2af)]['permissions']['includes']('app:create'));if(_0x48ec42){let _0x55cc30=_0x48ec42[_0xa60056(0x1c3)](),_0x405bbe=_0x755bf[_0xa60056(0x26f)](_0x5a5c03=>[_0x5a5c03['id'],_0x5a5c03['slug'][_0xa60056(0x2e6)],_0x5a5c03[_0xa60056(0x2ef)][_0xa60056(0x2bc)],_0x5a5c03[_0xa60056(0x2ef)][_0xa60056(0x12f)],_0x5a5c03['name'][_0xa60056(0x1c3)]()][_0xa60056(0x165)](_0x55cc30));if(!_0x405bbe)throw new Error(_0xa60056(0x2be)+_0x48ec42+_0xa60056(0x16c));return _0x405bbe;}if(_0x755bf[_0xa60056(0xf8)]===0x1)return _0x755bf[0x0];if(_0x755bf['length']===0x0)throw new Error(_0xa60056(0x192));if(Ke()){let _0x49144a=Math['max'](..._0x755bf[_0xa60056(0x1ca)](_0x4ca127=>_0x4ca127[_0xa60056(0x2f4)][_0xa60056(0xf8)])),_0x322939=await Fe(_0xa60056(0x1d4),_0x755bf[_0xa60056(0x1ca)](_0x185a30=>_0x185a30[_0xa60056(0x2f4)]['padEnd'](_0x49144a)+_0xa60056(0x218)+_0x185a30[_0xa60056(0x2ef)][_0xa60056(0x2e6)]+'\x20·\x20'+_0x185a30['plan']+_0xa60056(0x2ee)));return console[_0xa60056(0x2ac)]('Tip:\x20next\x20time,\x20skip\x20the\x20question\x20with\x20--org\x20'+_0x755bf[_0x322939][_0xa60056(0x2ef)]['current']+'\x0a'),_0x755bf[_0x322939];}let _0x35a746=_0x755bf['map'](_0x2e0f4f=>_0xa60056(0x2ae)+_0x2e0f4f[_0xa60056(0x2ef)][_0xa60056(0x2e6)]+_0xa60056(0x319)+_0x2e0f4f['name']+'\x20('+_0x2e0f4f['plan']+')')[_0xa60056(0x280)]('\x0a');throw new Error('You\x20belong\x20to\x20several\x20organizations.\x20Run\x20again\x20with\x20--org\x20ID|SLUG:\x0a'+_0x35a746);}async function sn(_0x4ebabe){const _0x442bcf=_0x43c0b7;let {apps:_0x48b5ae,organizations:_0x1f9a02}=await h(_0x442bcf(0x1be),{'token':_0x4ebabe});_0x48b5ae['length']===0x0&&console[_0x442bcf(0x2ac)](_0x442bcf(0x1e9));for(let _0x248b2f of _0x1f9a02){let _0x840678=_0x48b5ae['filter'](_0x3c39bd=>_0x3c39bd[_0x442bcf(0x2b3)]['id']===_0x248b2f['id']),_0x5d532c=_0x248b2f['maxApps']===null?_0x442bcf(0x208):_0x840678[_0x442bcf(0xf8)]+'/'+_0x248b2f['maxApps'];console['log']('\x0a'+_0x248b2f[_0x442bcf(0x2f4)]+'\x20('+_0x248b2f[_0x442bcf(0x242)]+',\x20'+_0x5d532c+_0x442bcf(0x276));for(let _0x4a0835 of _0x840678)console[_0x442bcf(0x2ac)]('\x20\x20'+_0x4a0835[_0x442bcf(0x2f4)]+'\x20\x20'+_0x4a0835['id']+_0x442bcf(0x153)+_0x4a0835[_0x442bcf(0x196)]+_0x442bcf(0x117)+_0x4a0835[_0x442bcf(0x22e)]+'\x20MAU\x20\x20·\x20\x20'+_0x4a0835[_0x442bcf(0x1c9)][_0x442bcf(0x26e)]+'/'+_0x4a0835[_0x442bcf(0x1c9)][_0x442bcf(0x2d8)]+_0x442bcf(0x31e));}}async function we(_0x2b98c5,_0xd7cdcc){const _0x1e3c38=_0x43c0b7;let _0x1262c6=I(_0xd7cdcc[_0x1e3c38(0x2f2)]);if(!_0x1262c6)throw new Error(_0x1e3c38(0x139)+P+_0x1e3c38(0x142));let {releases:_0x1c0683}=await h('/apps/'+_0x1262c6['appId']+_0x1e3c38(0x30e),{'token':_0x2b98c5}),_0x3cfe15=new Map();for(let _0x5d8227 of _0x1c0683[_0x1e3c38(0x213)](_0x287e85=>_0x287e85['channel']===_0xd7cdcc[_0x1e3c38(0x112)])[_0x1e3c38(0x19c)](_0x3346c2=>_0x3346c2[_0x1e3c38(0x1b2)])){if(_0x5d8227[_0x1e3c38(0x2c9)]||_0x5d8227[_0x1e3c38(0x26b)]||_0xd7cdcc['platform']!==_0x1e3c38(0x181)&&_0x5d8227['platform']!==_0xd7cdcc[_0x1e3c38(0x228)]||_0xd7cdcc[_0x1e3c38(0x14c)]!==void 0x0&&_0x5d8227['version']!==_0xd7cdcc[_0x1e3c38(0x14c)])continue;let _0x119176=_0x5d8227[_0x1e3c38(0x228)]+'/'+_0x5d8227[_0x1e3c38(0x2e0)];(!_0x3cfe15[_0x1e3c38(0x255)](_0x119176)||_0x3cfe15[_0x1e3c38(0x2e1)](_0x119176)['version']<_0x5d8227[_0x1e3c38(0x14c)])&&_0x3cfe15['set'](_0x119176,_0x5d8227);}if(_0x3cfe15[_0x1e3c38(0x1ae)]===0x0)throw new Error(_0x1e3c38(0x22d)+(_0xd7cdcc[_0x1e3c38(0x14c)]?'v'+_0xd7cdcc[_0x1e3c38(0x14c)]+'\x20':'')+_0x1e3c38(0x1fb)+_0xd7cdcc['channel']);return{'appId':_0x1262c6[_0x1e3c38(0x239)],'picked':[..._0x3cfe15['values']()]};}var ve=_0x523df8=>(_0x523df8[_0x43c0b7(0x228)]===_0x43c0b7(0x15e)?'iOS':_0x43c0b7(0x2fa))+'\x20'+_0x523df8['appVersion']+'\x20v'+_0x523df8[_0x43c0b7(0x14c)];function ee(_0x177f3b,_0x5c761e,_0x5f4fa6,_0x4568bd){const _0x52111f=_0x43c0b7;return h(_0x52111f(0x11d)+_0x5c761e+'/artifacts/'+_0x5f4fa6,{'method':'PATCH','token':_0x177f3b,'headers':{'content-type':_0x52111f(0x271)},'body':JSON['stringify'](_0x4568bd)});}async function xe(_0x3b9faa,_0x3c3671){const _0x1dceff=_0x43c0b7;let {appId:_0x3e8639,picked:_0x1bac47}=await we(_0x3b9faa,_0x3c3671);for(let _0x46eef2 of _0x1bac47)await ee(_0x3b9faa,_0x3e8639,_0x46eef2['id'],{'rolloutPercent':_0x3c3671[_0x1dceff(0x2c0)]}),console['log'](ve(_0x46eef2)+_0x1dceff(0x2f6)+_0x3c3671[_0x1dceff(0x112)]+':\x20'+_0x46eef2[_0x1dceff(0x155)]+'%\x20→\x20'+_0x3c3671[_0x1dceff(0x2c0)]+'%\x20of\x20devices'+(_0x3c3671[_0x1dceff(0x2c0)]===0x64?_0x1dceff(0x1a6):''));}async function $e(_0x5466fb,_0x49717b){const _0x569252=_0x43c0b7;let {appId:_0x26c1ea,picked:_0x454d84}=await we(_0x5466fb,_0x49717b);for(let _0xadc24b of _0x454d84)await ee(_0x5466fb,_0x26c1ea,_0xadc24b['id'],{'disabled':!0x0}),console[_0x569252(0x2ac)](_0x569252(0x177)+ve(_0xadc24b)+_0x569252(0x2f6)+_0x49717b['channel']+_0x569252(0x1d1));}async function an(_0x287576,_0x148050){const _0x39067=_0x43c0b7;let {appId:_0x4016f2,picked:_0x2c550e}=await we(_0x287576,_0x148050);for(let _0x5d4993 of _0x2c550e)_0x148050[_0x39067(0x2db)]!==void 0x0&&await ee(_0x287576,_0x4016f2,_0x5d4993['id'],{'mandatory':_0x148050['mandatory']}),_0x148050[_0x39067(0x2c0)]!==void 0x0&&await ee(_0x287576,_0x4016f2,_0x5d4993['id'],{'rolloutPercent':_0x148050[_0x39067(0x2c0)]}),console[_0x39067(0x2ac)]('Updated\x20'+ve(_0x5d4993)+'\x20on\x20'+_0x148050[_0x39067(0x112)]+'.');}async function Pe(_0x13411f,_0x1bebb7){const _0x21df4e=_0x43c0b7;let _0x3dcce8=I(_0x1bebb7[_0x21df4e(0x2f2)]);if(!_0x3dcce8)throw new Error(_0x21df4e(0x139)+P+_0x21df4e(0x142));if(_0x1bebb7['from']===_0x1bebb7['to'])throw new Error(_0x21df4e(0x21a));let {releases:_0x19700b}=await h(_0x21df4e(0x11d)+_0x3dcce8[_0x21df4e(0x239)]+'/releases',{'token':_0x13411f}),_0x47407d=_0x19700b[_0x21df4e(0x213)](_0x8215f8=>_0x8215f8['channel']===_0x1bebb7[_0x21df4e(0x204)])[_0x21df4e(0x19c)](_0x396425=>_0x396425[_0x21df4e(0x1b2)])[_0x21df4e(0x213)](_0x3e52e0=>!_0x3e52e0[_0x21df4e(0x2c9)]&&!_0x3e52e0[_0x21df4e(0x26b)]&&(_0x1bebb7[_0x21df4e(0x228)]==='all'||_0x3e52e0[_0x21df4e(0x228)]===_0x1bebb7[_0x21df4e(0x228)])),_0x59bad9=new Map();for(let _0x393801 of _0x47407d){if(_0x1bebb7['version']!==void 0x0&&_0x393801[_0x21df4e(0x14c)]!==_0x1bebb7[_0x21df4e(0x14c)])continue;let _0xadd96b=_0x393801[_0x21df4e(0x228)]+'/'+_0x393801[_0x21df4e(0x2e0)];(!_0x59bad9['has'](_0xadd96b)||_0x59bad9[_0x21df4e(0x2e1)](_0xadd96b)[_0x21df4e(0x14c)]<_0x393801['version'])&&_0x59bad9['set'](_0xadd96b,_0x393801);}if(_0x59bad9[_0x21df4e(0x1ae)]===0x0)throw new Error('No\x20live\x20'+(_0x1bebb7[_0x21df4e(0x14c)]?'v'+_0x1bebb7['version']+'\x20':'')+_0x21df4e(0x1fb)+_0x1bebb7[_0x21df4e(0x204)]+'\x20to\x20promote');for(let _0x1b879f of _0x59bad9['values']()){let {release:_0x3bae8a}=await h('/apps/'+_0x3dcce8[_0x21df4e(0x239)]+_0x21df4e(0x1d0)+_0x1b879f['id']+_0x21df4e(0x1d8),{'method':'POST','token':_0x13411f,'headers':{'content-type':_0x21df4e(0x271)},'body':JSON[_0x21df4e(0x21e)]({'channel':_0x1bebb7['to']})}),_0x4e5090=(_0x1b879f[_0x21df4e(0x228)]===_0x21df4e(0x15e)?_0x21df4e(0x2c6):_0x21df4e(0x2fa))+'\x20'+_0x1b879f[_0x21df4e(0x2e0)];console[_0x21df4e(0x2ac)](_0x21df4e(0x2d3)+_0x4e5090+'\x20'+_0x1bebb7['from']+'\x20v'+_0x1b879f[_0x21df4e(0x14c)]+_0x21df4e(0x1a7)+_0x1bebb7['to']+'\x20v'+_0x3bae8a['artifacts'][0x0][_0x21df4e(0x14c)]);}}import{parseArgs as _0x35cc84}from'node:util';var C=_0xa21253=>_0xa21253[_0x43c0b7(0x2aa)]()[_0x43c0b7(0x1c3)]();function U(_0x1a0521,_0x538e0b){const _0x1c9098=_0x43c0b7;if(_0x1a0521===void 0x0)return;let _0x34323b=Number(_0x1a0521['replace'](/%$/,''));if(!Number[_0x1c9098(0x141)](_0x34323b)||_0x34323b<0x1||_0x34323b>0x64)throw new Error(_0x538e0b+'\x20must\x20be\x20a\x20whole\x20number\x20from\x201\x20to\x20100');return _0x34323b;}var Ae=_0xdf880f=>{const _0x3bb933=_0x43c0b7;let _0x813070=(_0xdf880f??_0x3bb933(0x181))[_0x3bb933(0x1c3)]();if(_0x813070!==_0x3bb933(0x15e)&&_0x813070!=='android'&&_0x813070!==_0x3bb933(0x181))throw new Error('Platform\x20must\x20be\x20ios,\x20android\x20or\x20all');return _0x813070;};function ln(_0x4890c6){const _0x5662a4=_0x43c0b7;let _0x4937bb=_0x4890c6[0x0]===_0x5662a4(0x220)?_0x4890c6['slice'](0x1):_0x4890c6,_0x325d97=_0x4890c6[0x0]===_0x5662a4(0x220),_0x59789c=_0x4937bb[0x0];if(_0x59789c==='release-react'){let {positionals:_0x1545eb,values:_0x394362}=_0x35cc84({'args':_0x4937bb[_0x5662a4(0x325)](0x1),'allowPositionals':!0x0,'strict':!0x1,'options':{'deploymentName':{'type':'string','short':'d'},'description':{'type':'string'},'des':{'type':_0x5662a4(0xfe)},'mandatory':{'type':_0x5662a4(0x130),'short':'m'},'rollout':{'type':'string','short':'r'},'app':{'type':_0x5662a4(0xfe),'short':'a'},'targetBinaryVersion':{'type':'string','short':'t'}}}),_0x459e32=_0x325d97?_0x1545eb[0x1]??_0x1545eb[0x0]:_0x1545eb[0x1];return{'kind':_0x5662a4(0x27d),'platform':Ae(_0x459e32===void 0x0||/\//[_0x5662a4(0x1a0)](_0x459e32)?void 0x0:_0x459e32),'channel':C(typeof _0x394362[_0x5662a4(0x2d1)]=='string'?_0x394362[_0x5662a4(0x2d1)]:_0x5662a4(0x18f)),'message':(typeof _0x394362[_0x5662a4(0x2d7)]=='string'?_0x394362[_0x5662a4(0x2d7)]:void 0x0)??(typeof _0x394362[_0x5662a4(0x1fe)]==_0x5662a4(0xfe)?_0x394362[_0x5662a4(0x1fe)]:void 0x0),'mandatory':_0x394362[_0x5662a4(0x2db)]===!0x0,'rollout':U(typeof _0x394362['rollout']==_0x5662a4(0xfe)?_0x394362[_0x5662a4(0x19d)]:void 0x0,_0x5662a4(0x294))};}if(_0x59789c===_0x5662a4(0x2c5)||_0x59789c===_0x5662a4(0x24b)||_0x59789c===_0x5662a4(0x199)){let {positionals:_0x162da0,values:_0x2c02e4}=_0x35cc84({'args':_0x4937bb[_0x5662a4(0x325)](0x1),'allowPositionals':!0x0,'strict':!0x1,'options':{'mandatory':{'type':_0x5662a4(0xfe),'short':'m'},'rollout':{'type':'string','short':'r'},'app':{'type':'string','short':'a'}}}),_0x2e223e=typeof _0x2c02e4[_0x5662a4(0x151)]=='string'?_0x162da0:_0x162da0[_0x5662a4(0x325)](0x1);if(_0x59789c===_0x5662a4(0x2c5)&&_0x2e223e[_0x5662a4(0xf8)]>=0x2)return{'kind':_0x5662a4(0x2c5),'from':C(_0x2e223e[0x0]),'to':C(_0x2e223e[0x1])};if(_0x59789c===_0x5662a4(0x24b)&&_0x2e223e[_0x5662a4(0xf8)]>=0x1)return{'kind':_0x5662a4(0x24b),'channel':C(_0x2e223e[0x0])};if(_0x59789c===_0x5662a4(0x199)&&_0x2e223e[_0x5662a4(0xf8)]>=0x1){let _0x177649=typeof _0x2c02e4['mandatory']==_0x5662a4(0xfe)?_0x2c02e4[_0x5662a4(0x2db)]:void 0x0;return{'kind':'patch','channel':C(_0x2e223e[0x0]),'mandatory':_0x177649===void 0x0?void 0x0:_0x177649!==_0x5662a4(0x22c),'rollout':U(typeof _0x2c02e4[_0x5662a4(0x19d)]==_0x5662a4(0xfe)?_0x2c02e4[_0x5662a4(0x19d)]:void 0x0,_0x5662a4(0x294))};}return null;}if(_0x59789c===_0x5662a4(0x126)||_0x59789c===_0x5662a4(0x28d)){let {values:_0x3e425b}=_0x35cc84({'args':_0x4937bb['slice'](0x1),'strict':!0x1,'options':{'channel':{'type':_0x5662a4(0xfe)},'branch':{'type':_0x5662a4(0xfe)},'message':{'type':_0x5662a4(0xfe),'short':'m'},'platform':{'type':_0x5662a4(0xfe),'short':'p'},'rollout-percentage':{'type':'string'}}}),_0x5316d8=_0x5749e3=>typeof _0x5749e3==_0x5662a4(0xfe)?_0x5749e3:void 0x0,_0x5d0c23=C(_0x5316d8(_0x3e425b[_0x5662a4(0x112)])??_0x5316d8(_0x3e425b[_0x5662a4(0x129)])??_0x5662a4(0x1e4)),_0x466c58=U(_0x5316d8(_0x3e425b[_0x5662a4(0x123)]),_0x5662a4(0x283));if(_0x59789c==='update:edit'){if(_0x466c58===void 0x0)throw new Error(_0x5662a4(0x1fd));return{'kind':_0x5662a4(0x19d),'channel':_0x5d0c23,'platform':Ae(_0x5316d8(_0x3e425b[_0x5662a4(0x228)])),'percent':_0x466c58};}return{'kind':_0x5662a4(0x27d),'platform':Ae(_0x5316d8(_0x3e425b['platform'])),'channel':_0x5d0c23,'message':_0x5316d8(_0x3e425b[_0x5662a4(0x11b)]),'mandatory':!0x1,'rollout':_0x466c58};}return null;}import{execFileSync as _0x3ed204}from'node:child_process';import{existsSync as _0xf9cafe,readFileSync as _0x4498f3}from'node:fs';import _0x308945 from'node:path';var vt=process[_0x43c0b7(0x258)][_0x43c0b7(0x308)],ne=(_0xd790ba,_0x491023)=>vt?'\x1b['+_0xd790ba+'m'+_0x491023+_0x43c0b7(0x2ee):_0x491023,xt={'ok':ne(0x20,'✓'),'warn':ne(0x21,'!'),'fail':ne(0x1f,'✗')},$t=[_0x43c0b7(0x1c1),_0x43c0b7(0x207),_0x43c0b7(0x16a),_0x43c0b7(0x30c)];function pn(_0x2271d6,_0x42b919){const _0x176b5c=_0x43c0b7;try{return _0x3ed204('plutil',['-extract',_0x42b919,_0x176b5c(0x185),'-o','-',_0x2271d6],{'stdio':[_0x176b5c(0x131),'pipe',_0x176b5c(0x131)]})[_0x176b5c(0x2ff)]()['trim']();}catch{return _0x4498f3(_0x2271d6,_0x176b5c(0x1a2))[_0x176b5c(0x224)](new RegExp(_0x176b5c(0xf9)+_0x42b919+_0x176b5c(0x306)))?.[0x1]??null;}}function cn(_0x536235,_0x19e062){const _0x5a9941=_0x43c0b7;return _0x4498f3(_0x536235,_0x5a9941(0x1a2))[_0x5a9941(0x224)](new RegExp(_0x5a9941(0x163)+_0x19e062+_0x5a9941(0x1db)))?.[0x1]??null;}async function un(_0x25db82){const _0x146d36=_0x43c0b7;let _0x5ee8fe=[],_0x102b8e=_0x334843=>_0x5ee8fe[_0x146d36(0x2e4)](_0x334843),_0x489a4f=_0x308945[_0x146d36(0x280)](_0x25db82,_0x146d36(0x1e1));if(!_0xf9cafe(_0x489a4f))return _0x102b8e({'level':_0x146d36(0x293),'text':_0x146d36(0x201),'fix':'Run\x20bipopush\x20doctor\x20from\x20the\x20app\x27s\x20folder'}),Ie(_0x5ee8fe);let _0x1355fa=JSON[_0x146d36(0x30d)](_0x4498f3(_0x489a4f,_0x146d36(0x1a2))),_0x2743ec={..._0x1355fa[_0x146d36(0x2d0)],..._0x1355fa[_0x146d36(0x2a1)]},_0x440214=D(_0x25db82);_0x102b8e({'level':'ok','text':(_0x440214[_0x146d36(0x193)]===_0x146d36(0x211)?_0x146d36(0x2fb):'React\x20Native')+_0x146d36(0x24d)+_0x440214['name']+'\x22'});let _0x2398ed=_0x2743ec[_0x146d36(0x292)];_0x102b8e(_0x2398ed?{'level':'ok','text':_0x146d36(0x2e7)+_0x2398ed}:{'level':_0x146d36(0x293),'text':_0x146d36(0x2cb),'fix':_0x440214[_0x146d36(0x193)]===_0x146d36(0x211)?_0x146d36(0x249):_0x146d36(0x14f)});let _0x2169cf=$t['filter'](_0x31f1e6=>_0x2743ec[_0x31f1e6]);_0x2169cf[_0x146d36(0xf8)]&&_0x102b8e({'level':_0x146d36(0x1e0),'text':'Other\x20OTA\x20libraries\x20installed:\x20'+_0x2169cf[_0x146d36(0x280)](',\x20'),'fix':'Only\x20one\x20library\x20can\x20own\x20the\x20bundle:\x20bipopush\x20migrate\x20shows\x20how\x20to\x20switch'});let _0xa8fe16=I(_0x25db82);if(!_0xa8fe16)return _0x102b8e({'level':'fail','text':_0x146d36(0x139)+P,'fix':_0x146d36(0x285)}),Ie(_0x5ee8fe);let _0x247275=await L(),_0x41b1d6=null;if(!_0x247275)_0x102b8e({'level':'fail','text':_0x146d36(0x1f3)+b,'fix':_0x146d36(0x22f)});else try{_0x41b1d6=(await h('/apps/'+_0xa8fe16[_0x146d36(0x239)],{'token':_0x247275['token']}))[_0x146d36(0x151)],_0x102b8e({'level':'ok','text':_0x146d36(0x29c)+_0x41b1d6['name']+_0x146d36(0x15a)+b+_0x146d36(0x313)+_0x247275[_0x146d36(0x2dd)]+')'});}catch(_0x3d4e52){_0x102b8e({'level':_0x146d36(0x293),'text':'App\x20'+_0xa8fe16[_0x146d36(0x239)]+_0x146d36(0x275)+b+':\x20'+_0x3d4e52[_0x146d36(0x11b)],'fix':_0x146d36(0x184)});}let _0x266e11=_0x41b1d6?.['appKey']??_0xa8fe16['appKey'],_0x37b3c0=_0x41b1d6?.[_0x146d36(0xfd)]??null;_0x41b1d6&&_0x41b1d6['appKey']!==_0xa8fe16[_0x146d36(0x196)]&&_0x102b8e({'level':_0x146d36(0x293),'text':P+_0x146d36(0x25d),'fix':'bipopush\x20init\x20--app\x20'+_0xa8fe16['appId']});try{let _0x156e06=ce(F(_0xa8fe16[_0x146d36(0x239)]));_0x102b8e(_0x37b3c0&&_0x156e06!==_0x37b3c0?{'level':'fail','text':_0x146d36(0x288),'fix':'Use\x20the\x20key\x20from\x20the\x20machine\x20that\x20ran\x20init,\x20or\x20bipopush\x20init\x20--new-signing-key\x20(needs\x20a\x20store\x20build)'}:{'level':'ok','text':_0x146d36(0x1e2)+(_0x37b3c0?_0x146d36(0x188):'')});}catch(_0x4b08f0){_0x102b8e({'level':_0x146d36(0x293),'text':_0x4b08f0[_0x146d36(0x11b)]['replace'](/\. Set .*$/,''),'fix':_0x146d36(0x23b)});}let _0x3bd273=(_0x52078b,_0x81b2a2,_0x41c117,_0x4cfdfd)=>{const _0x3be179=_0x146d36;if(!_0x41c117)return _0x102b8e({'level':_0x3be179(0x293),'text':_0x4cfdfd+_0x3be179(0x180)+_0x52078b,'fix':'bipopush\x20init\x20writes\x20it'});if(_0x81b2a2&&_0x41c117!==_0x81b2a2)return _0x102b8e({'level':_0x3be179(0x293),'text':_0x4cfdfd+'\x20in\x20'+_0x52078b+_0x3be179(0x182),'fix':'bipopush\x20init\x20writes\x20it'});_0x102b8e({'level':'ok','text':_0x4cfdfd+_0x3be179(0x1df)+_0x52078b});};if(_0x440214['type']===_0x146d36(0x211)){let _0x4f89da=(JSON['parse'](_0x4498f3(_0x308945[_0x146d36(0x280)](_0x25db82,_0x146d36(0x20b)),_0x146d36(0x1a2)))[_0x146d36(0x211)]?.[_0x146d36(0x17f)]??[])['find'](_0x24d184=>Array[_0x146d36(0x25a)](_0x24d184)&&_0x24d184[0x0]===_0x146d36(0x292));_0x3bd273(_0x146d36(0x17e),_0x266e11,_0x4f89da?.[0x1]?.['appKey']??null,_0x146d36(0x278)),_0x3bd273(_0x146d36(0x17e),_0x37b3c0,_0x4f89da?.[0x1]?.['publicKey']??null,_0x146d36(0x287)),_0x102b8e({'level':'ok','text':'Native\x20setup:\x20the\x20config\x20plugin\x20applies\x20it\x20on\x20npx\x20expo\x20prebuild'});}else{if(_0x440214['iosInfoPlist']){let _0x251b84=_0x308945[_0x146d36(0x1da)](_0x25db82,_0x440214[_0x146d36(0x21f)]);_0x3bd273(_0x251b84,_0x266e11,pn(_0x440214[_0x146d36(0x21f)],'BipoPushAppKey'),_0x146d36(0x278)),_0x3bd273(_0x251b84,_0x37b3c0,pn(_0x440214[_0x146d36(0x21f)],_0x146d36(0x29f)),_0x146d36(0x287));}if(_0x440214['androidManifest']){let _0x5461dd=_0x308945[_0x146d36(0x1da)](_0x25db82,_0x440214['androidManifest']);_0x3bd273(_0x5461dd,_0x266e11,cn(_0x440214[_0x146d36(0x14b)],_0x146d36(0x13b)),_0x146d36(0x278)),_0x3bd273(_0x5461dd,_0x37b3c0,cn(_0x440214[_0x146d36(0x14b)],_0x146d36(0x29f)),_0x146d36(0x287));}for(let _0x2ca3de of J(_0x25db82))_0x102b8e(_0x2ca3de['missing'][_0x146d36(0xf8)]===0x0?{'level':'ok','text':K(_0x2ca3de,_0x25db82)['replace'](/^\S+ /,'')}:{'level':_0x146d36(0x1e0),'text':'Native\x20setup\x20('+(_0x2ca3de[_0x146d36(0x228)]==='ios'?_0x146d36(0x2c6):_0x146d36(0x2fa))+')','detail':K(_0x2ca3de,_0x25db82)});let _0x49c4a3=_0x308945[_0x146d36(0x280)](_0x25db82,_0x146d36(0x15e),'Podfile.lock');_0xf9cafe(_0x308945[_0x146d36(0x280)](_0x25db82,_0x146d36(0x15e)))&&_0x2398ed&&_0x102b8e(_0xf9cafe(_0x49c4a3)&&_0x4498f3(_0x49c4a3,_0x146d36(0x1a2))['includes']('BipoPushUpdater')?{'level':'ok','text':_0x146d36(0x145)}:{'level':_0x146d36(0x1e0),'text':'iOS\x20pod\x20not\x20installed\x20yet','fix':_0x146d36(0x31b)});}!_0x440214[_0x146d36(0x15e)][_0x146d36(0x2a8)]&&!_0x440214['android'][_0x146d36(0x2a8)]&&_0x102b8e({'level':'warn','text':_0x146d36(0x176),'fix':_0x146d36(0x1e8)}),Ie(_0x5ee8fe);}function Ie(_0x4479f7){const _0x15470f=_0x43c0b7;for(let _0x5d64f2 of _0x4479f7)_0x5d64f2[_0x15470f(0x19b)]?console[_0x15470f(0x2ac)](_0x5d64f2[_0x15470f(0x19b)]):console[_0x15470f(0x2ac)](xt[_0x5d64f2[_0x15470f(0x231)]]+'\x20'+_0x5d64f2[_0x15470f(0x2c1)]+(_0x5d64f2['fix']?ne(0x2,_0x15470f(0x267)+_0x5d64f2['fix']):''));let _0x8d63bf=_0x4479f7[_0x15470f(0x213)](_0x2cf4d8=>_0x2cf4d8[_0x15470f(0x231)]===_0x15470f(0x293))[_0x15470f(0xf8)],_0x314f18=_0x4479f7['filter'](_0x3cbbb0=>_0x3cbbb0[_0x15470f(0x231)]==='warn')[_0x15470f(0xf8)];console[_0x15470f(0x2ac)](_0x8d63bf?'\x0a'+_0x8d63bf+_0x15470f(0x13e)+(_0x8d63bf>0x1?'s':'')+_0x15470f(0x1f5):_0x314f18?_0x15470f(0x2b6):_0x15470f(0x13f)),_0x8d63bf&&(process[_0x15470f(0x101)]=0x1);}import{existsSync as _0x3ec60b,readFileSync as _0x41542c,readdirSync as _0x256555,statSync as _0x7b35aa}from'node:fs';import _0x3ceb0e from'node:path';var dn={'react-native-code-push':_0x43c0b7(0x136),'@revopush/react-native-code-push':_0x43c0b7(0x140),'@code-push-next/react-native-code-push':'CodePush\x20(code-push-next)','expo-updates':_0x43c0b7(0x254)};function Rt(_0x3d6a9b,_0x9aba59){let _0x2a23c1=[],_0x3d2504=_0x29d568=>{const _0x16fafe=_0x2028;for(let _0x195bad of _0x256555(_0x29d568)){if(_0x2a23c1[_0x16fafe(0xf8)]>=0x14||_0x195bad===_0x16fafe(0x169)||_0x195bad[_0x16fafe(0x13a)]('.')||_0x195bad==='ios'||_0x195bad===_0x16fafe(0x10d))continue;let _0x4d121e=_0x3ceb0e[_0x16fafe(0x280)](_0x29d568,_0x195bad);_0x7b35aa(_0x4d121e)['isDirectory']()?_0x3d2504(_0x4d121e):/\.(jsx?|tsx?)$/[_0x16fafe(0x1a0)](_0x195bad)&&_0x9aba59['some'](_0x4c92d6=>_0x41542c(_0x4d121e,_0x16fafe(0x1a2))[_0x16fafe(0x165)]('\x22'+_0x4c92d6+'\x22')||_0x41542c(_0x4d121e,'utf8')[_0x16fafe(0x165)]('\x27'+_0x4c92d6+'\x27'))&&_0x2a23c1[_0x16fafe(0x2e4)](_0x3ceb0e[_0x16fafe(0x1da)](_0x3d6a9b,_0x4d121e));}};return _0x3d2504(_0x3d6a9b),_0x2a23c1;}function fn(_0x9648bc){const _0x461c78=_0x43c0b7;let _0x10d76d=_0x3ceb0e['join'](_0x9648bc,_0x461c78(0x1e1));if(!_0x3ec60b(_0x10d76d))throw new Error(_0x461c78(0x2ba));let _0x48c4fe=JSON[_0x461c78(0x30d)](_0x41542c(_0x10d76d,_0x461c78(0x1a2))),_0x38265d={..._0x48c4fe[_0x461c78(0x2d0)],..._0x48c4fe[_0x461c78(0x2a1)]},_0x5b5ddf=Object[_0x461c78(0xfc)](dn)[_0x461c78(0x213)](_0x1cd9f5=>_0x38265d[_0x1cd9f5]);if(_0x5b5ddf[_0x461c78(0xf8)]===0x0){console[_0x461c78(0x2ac)]('No\x20CodePush,\x20RevoPush\x20or\x20expo-updates\x20in\x20this\x20project.\x20Start\x20with:\x20npx\x20@bipopush/cli\x20init');return;}let _0x409ce2=_0x5b5ddf[_0x461c78(0x213)](_0x5e7a4e=>_0x5e7a4e!=='expo-updates'),_0xb3d241=_0x5b5ddf[_0x461c78(0x165)](_0x461c78(0x30c));console[_0x461c78(0x2ac)](_0x461c78(0x11f)+_0x5b5ddf[_0x461c78(0x1ca)](_0x43da63=>dn[_0x43da63])[_0x461c78(0x280)](_0x461c78(0x1ed))+_0x461c78(0x173));let _0x2cc764=0x1,_0x4b6649=_0x2e3a45=>console[_0x461c78(0x2ac)](_0x2cc764++ +'.\x20'+_0x2e3a45);_0x4b6649(_0x461c78(0x284)+(_0xb3d241?_0x461c78(0x1b9):'')),_0x4b6649(_0x461c78(0x1b7)+_0x5b5ddf[_0x461c78(0x280)](',\x20')+'\x20(npm\x20uninstall),\x20and\x20its\x20native\x20setup:'),_0x409ce2['length']&&(console['log'](_0x461c78(0x212)),console[_0x461c78(0x2ac)](_0x461c78(0x183))),_0xb3d241&&console[_0x461c78(0x2ac)](_0x461c78(0x147)),_0x4b6649('Register\x20the\x20app\x20and\x20write\x20its\x20keys\x20into\x20the\x20native\x20project:\x20npx\x20@bipopush/cli\x20init');let _0x27f885=Rt(_0x9648bc,_0x5b5ddf),_0x1f7c88=_0x409ce2['length']?_0x461c78(0x220):'expo-updates';_0x4b6649(_0x461c78(0x225)+_0x1f7c88+'\x22'+(_0x27f885[_0x461c78(0xf8)]?'\x20('+_0x27f885[_0x461c78(0xf8)]+_0x461c78(0x318)+(_0x27f885['length']===0x1?'':'s')+':\x20'+_0x27f885['slice'](0x0,0x5)['join'](',\x20')+(_0x27f885[_0x461c78(0xf8)]>0x5?'…':'')+')':'')+','),console[_0x461c78(0x2ac)]('\x20\x20\x20or\x20leave\x20imports\x20alone\x20and\x20in\x20metro.config.js:\x20module.exports\x20=\x20require(\x22@bipopush/react-native/metro\x22).withBipoPush(config,\x20{\x20'+(_0x409ce2[_0x461c78(0xf8)]?'codePush:\x20true':_0x461c78(0x23f))+_0x461c78(0x174)),_0x4b6649(_0x461c78(0x17a)),_0x409ce2[_0x461c78(0xf8)]&&(console['log']('\x0aYour\x20CodePush\x20scripts\x20keep\x20working:\x20bipopush\x20release-react\x20<app>\x20<platform>\x20-d\x20Production,\x20promote,\x20rollback\x20and\x20patch.'),console['log'](_0x461c78(0x30a))),_0xb3d241&&console['log'](_0x461c78(0x2a7));}import{spawn as _0x59004f}from'node:child_process';import{createHash as _0x3bfe1e,randomBytes as _0x231a6f}from'node:crypto';import{createServer as _0x4f3794}from'node:http';var Bt=0x12c*0x3e8;function Nt(_0x56fa9d){const _0x3f8891=_0x43c0b7;if(process[_0x3f8891(0x170)]['BIPOPUSH_NO_BROWSER'])return;let [_0x441f34,_0x3a204f]=process['platform']===_0x3f8891(0x1ad)?[_0x3f8891(0x1d7),[_0x56fa9d]]:process[_0x3f8891(0x228)]==='win32'?[_0x3f8891(0x1cd),['/c',_0x3f8891(0x1d2),'',_0x56fa9d]]:['xdg-open',[_0x56fa9d]];_0x59004f(_0x441f34,_0x3a204f,{'stdio':_0x3f8891(0x131),'detached':!0x0})['on'](_0x3f8891(0x304),()=>{})['unref']();}var Et=(_0x4a9626,_0x537b85)=>_0x43c0b7(0x2c3)+_0x4a9626+_0x43c0b7(0x221)+_0x4a9626+_0x43c0b7(0x300)+_0x537b85+_0x43c0b7(0x14d);async function mn(){const _0x5b283a=_0x43c0b7;let _0x29a7c9=_0x231a6f(0x30)['toString'](_0x5b283a(0x128)),_0x44ad60=_0x3bfe1e('sha256')['update'](_0x29a7c9)[_0x5b283a(0x317)](_0x5b283a(0x128)),_0x3503bb=_0x231a6f(0x18)['toString'](_0x5b283a(0x128)),_0x167928=await new Promise((_0x409f2c,_0xf0e9c9)=>{const _0x1904ed=_0x5b283a;let _0x2360d0=_0x4f3794((_0x56d4cb,_0x12f4b0)=>{const _0x58d909=_0x2028;let _0x1296a8=new URL(_0x56d4cb[_0x58d909(0x31f)]??'/','http://127.0.0.1');if(_0x1296a8[_0x58d909(0x13d)]!==_0x58d909(0x167)){_0x12f4b0[_0x58d909(0x133)](0x194)[_0x58d909(0x303)]();return;}let _0x1f20b2=(_0x5e6316,_0x5847f1,_0x1138cd,_0x119092)=>{const _0x55509a=_0x58d909;_0x12f4b0[_0x55509a(0x133)](_0x5e6316,{'content-type':_0x55509a(0x122)})['end'](Et(_0x5847f1,_0x1138cd)),clearTimeout(_0x3d56b3),_0x2360d0['close'](),_0x119092();};if(_0x1296a8[_0x58d909(0x310)][_0x58d909(0x2e1)](_0x58d909(0x2d6))!==_0x3503bb){_0x1f20b2(0x190,_0x58d909(0x28b),'State\x20mismatch.\x20Run\x20bipopush\x20login\x20again.',()=>_0xf0e9c9(new Error('State\x20mismatch\x20—\x20possible\x20forged\x20callback')));return;}let _0x20bd2c=_0x1296a8[_0x58d909(0x310)][_0x58d909(0x2e1)](_0x58d909(0x304)),_0x20a394=_0x1296a8['searchParams'][_0x58d909(0x2e1)](_0x58d909(0x115));if(_0x20bd2c||!_0x20a394){_0x1f20b2(0x190,_0x58d909(0x296),_0x58d909(0x137),()=>_0xf0e9c9(new Error(_0x20bd2c??'No\x20code\x20received')));return;}_0x1f20b2(0xc8,_0x58d909(0x235),_0x58d909(0x113),()=>_0x409f2c(_0x20a394));}),_0x3d56b3=setTimeout(()=>{const _0x51cba9=_0x2028;_0x2360d0[_0x51cba9(0x2b7)](),_0xf0e9c9(new Error(_0x51cba9(0x164)));},Bt);_0x2360d0[_0x1904ed(0x1b6)](0x0,'127.0.0.1',()=>{const _0x58628e=_0x1904ed;let {port:_0x5029b2}=_0x2360d0[_0x58628e(0x1a9)](),_0x1ae358=Be+_0x58628e(0x266)+new URLSearchParams({'challenge':_0x44ad60,'state':_0x3503bb,'port':String(_0x5029b2)});console[_0x58628e(0x2ac)](_0x58628e(0x26a)),console[_0x58628e(0x2ac)](_0x58628e(0x265)+_0x1ae358+'\x0a'),Nt(_0x1ae358);});}),{token:_0x39b33b,user:_0x271554}=await h(_0x5b283a(0x31d),{'method':_0x5b283a(0x232),'headers':{'content-type':_0x5b283a(0x271)},'body':JSON[_0x5b283a(0x21e)]({'code':_0x167928,'codeVerifier':_0x29a7c9})});await Ee({'apiUrl':b,'token':_0x39b33b,'email':_0x271554[_0x5b283a(0x2dd)]}),console[_0x5b283a(0x2ac)](_0x5b283a(0x152)+_0x271554['email']);}var hn='BipoPush\x20CLI\x0a\x0aUsage:\x0a\x20\x20bipopush\x20login\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Log\x20in\x20through\x20your\x20browser\x0a\x20\x20bipopush\x20whoami\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20the\x20logged-in\x20account,\x20organizations\x20and\x20plans\x0a\x20\x20bipopush\x20init\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Register\x20this\x20React\x20Native\x20/\x20Expo\x20project\x20as\x20an\x20app\x0a\x20\x20\x20\x20\x20\x20--name\x20<name>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20App\x20name\x20(default:\x20project\x20name)\x0a\x20\x20\x20\x20\x20\x20--scheme\x20<scheme>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20URL\x20scheme\x20for\x20deeplinks,\x20if\x20the\x20project\x20has\x20none\x0a\x20\x20\x20\x20\x20\x20--org\x20<id|slug>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Organization\x20for\x20the\x20new\x20app\x20(asked\x20in\x20a\x20list\x20when\x20you\x20belong\x20to\x20several)\x0a\x20\x20\x20\x20\x20\x20--app\x20<id>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Link\x20to\x20an\x20existing\x20app\x20instead\x20of\x20creating\x20one\x0a\x20\x20\x20\x20\x20\x20--new-signing-key\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Replace\x20a\x20lost\x20signing\x20key\x20(installed\x20builds\x20need\x20a\x20store\x20update)\x0a\x20\x20bipopush\x20release\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Bundle,\x20sign,\x20compress,\x20diff\x20and\x20publish\x20an\x20OTA\x20update\x0a\x20\x20\x20\x20\x20\x20-p,\x20--platform\x20ios|android|all\x20\x20\x20(default:\x20all\x20detected)\x0a\x20\x20\x20\x20\x20\x20-c,\x20--channel\x20<name>\x20\x20\x20\x20\x20\x20\x20production\x20(default),\x20staging,\x20beta…\x20—\x20created\x20if\x20the\x20plan\x20allows\x0a\x20\x20\x20\x20\x20\x20-m,\x20--message\x20<text>\x20\x20\x20\x20\x20\x20\x20Release\x20note\x0a\x20\x20\x20\x20\x20\x20--mandatory\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Devices\x20install\x20it\x20right\x20away\x20(critical\x20fix)\x0a\x20\x20\x20\x20\x20\x20--rollout\x20<percent>\x20\x20\x20\x20\x20\x20\x20\x20Only\x20this\x20share\x20of\x20devices\x20gets\x20it\x20at\x20first\x20(e.g.\x2010;\x20Plus\x20and\x20above)\x0a\x20\x20\x20\x20\x20\x20--dry-run\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Build\x20and\x20show\x20sizes\x20without\x20uploading\x0a\x20\x20bipopush\x20rollout\x20<percent>\x20\x20\x20\x20\x20Change\x20how\x20many\x20devices\x20get\x20the\x20newest\x20version\x20(100\x20finishes;\x20Plus\x20and\x20above)\x0a\x20\x20\x20\x20\x20\x20-c,\x20--channel\x20<name>\x20\x20-p,\x20--platform\x20ios|android|all\x20\x20--number\x20<n>\x0a\x20\x20bipopush\x20disable\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Disable\x20the\x20newest\x20version\x20(or\x20--number);\x20devices\x20get\x20the\x20newest\x20enabled\x20one\x0a\x20\x20\x20\x20\x20\x20-c,\x20--channel\x20<name>\x20\x20-p,\x20--platform\x20ios|android|all\x20\x20--number\x20<n>\x0a\x20\x20bipopush\x20promote\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Re-publish\x20a\x20tested\x20version\x20in\x20another\x20channel\x20(same\x20bundle)\x0a\x20\x20\x20\x20\x20\x20--from\x20<channel>\x20--to\x20<channel>\x20\x20(default:\x20staging\x20→\x20production)\x0a\x20\x20\x20\x20\x20\x20-p,\x20--platform\x20ios|android|all\x20\x20\x20(default:\x20all)\x0a\x20\x20\x20\x20\x20\x20--number\x20<n>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Version\x20to\x20promote,\x20e.g.\x203\x20for\x20v3\x20(default:\x20newest\x20live\x20one)\x0a\x20\x20bipopush\x20doctor\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Check\x20this\x20project:\x20SDK,\x20keys,\x20signing\x20key,\x20native\x20setup,\x20pods\x0a\x20\x20bipopush\x20apps\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20List\x20your\x20apps\x20by\x20organization\x0a\x20\x20bipopush\x20migrate\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Steps\x20to\x20move\x20this\x20project\x20from\x20CodePush,\x20RevoPush\x20or\x20expo-updates\x0a\x20\x20bipopush\x20logout\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Revoke\x20this\x20CLI\x27s\x20token\x20and\x20forget\x20it\x0a\x0aComing\x20from\x20CodePush,\x20RevoPush\x20or\x20Expo?\x20Their\x20commands\x20work\x20too,\x20e.g.\x0a\x20\x20bipopush\x20release-react\x20MyApp\x20ios\x20-d\x20Production\x20--description\x20\x22Fix\x22\x20-m\x20-r\x2025\x0a\x20\x20bipopush\x20promote\x20MyApp\x20Staging\x20Production\x20\x20\x20\x20\x20\x20bipopush\x20rollback\x20MyApp\x20Production\x0a\x20\x20bipopush\x20patch\x20MyApp\x20Production\x20-m\x20true\x20-r\x2050\x0a\x20\x20bipopush\x20update\x20--channel\x20production\x20--message\x20\x22Fix\x22\x20--rollout-percentage\x2010\x0a\x0aEnvironment:\x0a\x20\x20BIPOPUSH_API_URL\x20\x20\x20\x20\x20\x20API\x20base\x20URL\x20(default\x20https://api.bipopush.com)\x0a\x20\x20BIPOPUSH_SIGN_URL\x20\x20\x20\x20\x20Sign-in\x20URL\x20\x20(default\x20https://sign.bipopush.com)\x0a\x20\x20BIPOPUSH_TOKEN\x20\x20\x20\x20\x20\x20\x20\x20Use\x20this\x20token\x20instead\x20of\x20the\x20saved\x20login\x20(CI)\x0a\x20\x20BIPOPUSH_SIGNING_KEY\x20\x20Release\x20signing\x20key,\x20PEM\x20or\x20base64\x20of\x20the\x20PEM\x20(CI)\x0a';async function A(){const _0x3ced0f=_0x43c0b7;let _0x40285d=await L();if(!_0x40285d)throw new Error(_0x3ced0f(0x1f3)+b+_0x3ced0f(0x277));return _0x40285d['token'];}function Ot(_0x4bc932){const _0x24b70d=_0x43c0b7;let _0x3b3d95=_0x4bc932['nextAvailableAt']?_0x24b70d(0x1eb)+new Date(_0x4bc932[_0x24b70d(0x10a)])[_0x24b70d(0x18d)]()+'.':'';return _0x4bc932[_0x24b70d(0x26e)]+'/'+_0x4bc932['limit']+_0x24b70d(0x15f)+_0x3b3d95;}async function Tt(){const _0x2e3db7=_0x43c0b7;let _0xf6d636=await A(),_0x23c15e=await h(_0x2e3db7(0x158),{'token':_0xf6d636});console[_0x2e3db7(0x2ac)](_0x23c15e[_0x2e3db7(0x10c)][_0x2e3db7(0x2dd)]);for(let _0x2f23ca of _0x23c15e[_0x2e3db7(0x25e)]){let _0x5e3c5e=_0x23c15e[_0x2e3db7(0x109)][_0x2e3db7(0x26f)](_0x51db24=>_0x51db24['id']===_0x2f23ca[_0x2e3db7(0x242)]),_0x76eeb0=_0x5e3c5e?.[_0x2e3db7(0x2ca)]?_0x2e3db7(0x268)+_0x5e3c5e[_0x2e3db7(0x187)]+')':_0x5e3c5e?.['maxChannels']+'\x20channel(s)\x20per\x20app',_0x3ae7bf=_0x5e3c5e?'\x20—\x20'+(_0x5e3c5e[_0x2e3db7(0x1b4)]??_0x2e3db7(0x208))+_0x2e3db7(0x10f)+_0x76eeb0+',\x20'+_0x5e3c5e[_0x2e3db7(0x22e)][_0x2e3db7(0x18d)]()+_0x2e3db7(0x248):'';console['log']('\x20\x20'+_0x2f23ca['name']+_0x2e3db7(0x2a2)+_0x2f23ca[_0x2e3db7(0x2ef)][_0x2e3db7(0x2e6)]+_0x2e3db7(0x15b)+_0x2f23ca[_0x2e3db7(0x2af)][_0x2e3db7(0x2f4)]+'\x20·\x20'+(_0x5e3c5e?.[_0x2e3db7(0x2f4)]??_0x2f23ca[_0x2e3db7(0x242)])+_0x2e3db7(0x1c4)+_0x3ae7bf);}}async function Lt(){const _0x3eed06=_0x43c0b7;let _0x4157f1=await L();_0x4157f1&&await h(_0x3eed06(0x2f9),{'method':_0x3eed06(0x232),'token':_0x4157f1[_0x3eed06(0x21b)]})['catch'](()=>{}),await Ce(),console[_0x3eed06(0x2ac)](_0x3eed06(0x2c7));}function H(_0x2df852,_0x447051,_0x45c626){const _0x28ed2a=_0x43c0b7;let _0x4dbfd8=(_0x2df852??_0x447051)['trim']()[_0x28ed2a(0x1c3)]();if(!/^[a-z][a-z0-9-]{1,31}$/[_0x28ed2a(0x1a0)](_0x4dbfd8))throw new Error(_0x45c626+_0x28ed2a(0x11e));return _0x4dbfd8;}function te(_0xf326a5,_0x3280f1,_0x1816f4,_0x1051ec){const _0x5405f6=_0x43c0b7;if(_0xf326a5===void 0x0)return _0x1816f4;if(!_0x3280f1[_0x5405f6(0x165)](_0xf326a5))throw new Error(_0x1051ec+'\x20must\x20be\x20one\x20of:\x20'+_0x3280f1[_0x5405f6(0x280)](',\x20'));return _0xf326a5;}async function _t(_0x1e4250){const _0x31cc25=_0x43c0b7;let _0x489387=process[_0x31cc25(0x2f2)](),_0x4ee2d2=await A();switch(_0x1e4250['kind']){case _0x31cc25(0x27d):return be(_0x4ee2d2,{'cwd':_0x489387,'platform':_0x1e4250['platform'],'channel':_0x1e4250[_0x31cc25(0x112)],'message':_0x1e4250[_0x31cc25(0x11b)],'mandatory':_0x1e4250[_0x31cc25(0x2db)],'rollout':_0x1e4250[_0x31cc25(0x19d)]});case'promote':return Pe(_0x4ee2d2,{'cwd':_0x489387,'from':_0x1e4250[_0x31cc25(0x204)],'to':_0x1e4250['to'],'platform':'all'});case'rollback':return $e(_0x4ee2d2,{'cwd':_0x489387,'channel':_0x1e4250[_0x31cc25(0x112)],'platform':_0x31cc25(0x181)});case _0x31cc25(0x199):return an(_0x4ee2d2,{'cwd':_0x489387,'channel':_0x1e4250['channel'],'platform':_0x31cc25(0x181),'mandatory':_0x1e4250['mandatory'],'percent':_0x1e4250[_0x31cc25(0x19d)]});case _0x31cc25(0x19d):return xe(_0x4ee2d2,{'cwd':_0x489387,'channel':_0x1e4250[_0x31cc25(0x112)],'platform':_0x1e4250['platform'],'percent':_0x1e4250['percent']});}}async function Kt(){const _0x45f82b=_0x43c0b7;let _0x2868bd=ln(process['argv'][_0x45f82b(0x325)](0x2));if(_0x2868bd)return _t(_0x2868bd);let {positionals:_0x58aaa9,values:_0x5c5c27}=_0x20a54d({'allowPositionals':!0x0,'options':{'help':{'type':'boolean','short':'h'},'version':{'type':_0x45f82b(0x130),'short':'v'},'platform':{'type':_0x45f82b(0xfe),'short':'p'},'channel':{'type':_0x45f82b(0xfe),'short':'c'},'message':{'type':_0x45f82b(0xfe),'short':'m'},'dry-run':{'type':'boolean'},'mandatory':{'type':_0x45f82b(0x130)},'name':{'type':_0x45f82b(0xfe)},'scheme':{'type':_0x45f82b(0xfe)},'app':{'type':_0x45f82b(0xfe)},'org':{'type':_0x45f82b(0xfe)},'new-signing-key':{'type':_0x45f82b(0x130)},'from':{'type':'string'},'to':{'type':_0x45f82b(0xfe)},'number':{'type':_0x45f82b(0xfe)},'rollout':{'type':_0x45f82b(0xfe)}}}),[_0x1b99fc]=_0x58aaa9;if(_0x5c5c27[_0x45f82b(0x14c)])return console[_0x45f82b(0x2ac)](_0x411657(import.meta.url)(_0x45f82b(0x205))[_0x45f82b(0x14c)]);if(_0x5c5c27[_0x45f82b(0x282)]||!_0x1b99fc)return console['log'](hn);let _0x463bd9=process[_0x45f82b(0x2f2)]();switch(_0x1b99fc){case _0x45f82b(0x2b9):return mn();case _0x45f82b(0x18c):return Tt();case _0x45f82b(0x110):return rn(await A(),{'cwd':_0x463bd9,'name':_0x5c5c27['name'],'scheme':_0x5c5c27[_0x45f82b(0x2a8)],'appId':_0x5c5c27[_0x45f82b(0x151)],'org':_0x5c5c27['org'],'newSigningKey':_0x5c5c27[_0x45f82b(0x2d5)]});case _0x45f82b(0x27d):return be(await A(),{'cwd':_0x463bd9,'platform':te(_0x5c5c27[_0x45f82b(0x228)],[_0x45f82b(0x15e),_0x45f82b(0x10d),_0x45f82b(0x181)],'all',_0x45f82b(0x191)),'channel':H(_0x5c5c27[_0x45f82b(0x112)],_0x45f82b(0x1e4),_0x45f82b(0x2f0)),'message':_0x5c5c27['message'],'mandatory':_0x5c5c27[_0x45f82b(0x2db)],'rollout':U(_0x5c5c27[_0x45f82b(0x19d)],_0x45f82b(0x294)),'dryRun':_0x5c5c27[_0x45f82b(0x16e)]});case _0x45f82b(0x19d):{let _0x11a5c2=U(_0x58aaa9[0x1],_0x45f82b(0x202));if(_0x11a5c2===void 0x0)throw new Error(_0x45f82b(0x127));return xe(await A(),{'cwd':_0x463bd9,'channel':H(_0x5c5c27[_0x45f82b(0x112)],_0x45f82b(0x1e4),'--channel'),'platform':te(_0x5c5c27[_0x45f82b(0x228)],[_0x45f82b(0x15e),_0x45f82b(0x10d),_0x45f82b(0x181)],'all',_0x45f82b(0x191)),'version':_0x5c5c27[_0x45f82b(0x2ab)]?Number(_0x5c5c27[_0x45f82b(0x2ab)][_0x45f82b(0x2fc)](/^v/i,'')):void 0x0,'percent':_0x11a5c2});}case _0x45f82b(0x119):case'rollback':return $e(await A(),{'cwd':_0x463bd9,'channel':H(_0x5c5c27[_0x45f82b(0x112)],_0x45f82b(0x1e4),_0x45f82b(0x2f0)),'platform':te(_0x5c5c27[_0x45f82b(0x228)],[_0x45f82b(0x15e),_0x45f82b(0x10d),_0x45f82b(0x181)],_0x45f82b(0x181),_0x45f82b(0x191)),'version':_0x5c5c27[_0x45f82b(0x2ab)]?Number(_0x5c5c27[_0x45f82b(0x2ab)][_0x45f82b(0x2fc)](/^v/i,'')):void 0x0});case _0x45f82b(0x2c5):return Pe(await A(),{'cwd':_0x463bd9,'from':H(_0x5c5c27[_0x45f82b(0x204)],_0x45f82b(0x14a),_0x45f82b(0x124)),'to':H(_0x5c5c27['to'],_0x45f82b(0x1e4),'--to'),'platform':te(_0x5c5c27[_0x45f82b(0x228)],[_0x45f82b(0x15e),_0x45f82b(0x10d),'all'],_0x45f82b(0x181),'--platform'),'version':_0x5c5c27[_0x45f82b(0x2ab)]?Number(_0x5c5c27['number'][_0x45f82b(0x2fc)](/^v/i,'')):void 0x0});case _0x45f82b(0x2cd):return un(_0x463bd9);case'apps':return sn(await A());case _0x45f82b(0x16d):return fn(_0x463bd9);case _0x45f82b(0x324):return Lt();default:console['log'](hn),process['exitCode']=0x1;}}Kt()[_0x43c0b7(0x1f4)](_0x3df061=>{const _0xb37ec9=_0x43c0b7;if(_0x3df061 instanceof R){if(_0x3df061['status']===0x191)console[_0xb37ec9(0x304)](_0xb37ec9(0x2d9)+k+')');else{if(_0x3df061[_0xb37ec9(0x111)]['error']==='release_limit_reached'){console['error'](_0xb37ec9(0x18a)+_0x3df061[_0xb37ec9(0x11b)]);let _0x4d5b4e=_0x3df061[_0xb37ec9(0x111)][_0xb37ec9(0x1c9)];_0x4d5b4e&&console[_0xb37ec9(0x304)](Ot(_0x4d5b4e)),console[_0xb37ec9(0x304)](_0xb37ec9(0x156));}else console[_0xb37ec9(0x304)](_0xb37ec9(0x1fa)+_0x3df061[_0xb37ec9(0x149)]+_0xb37ec9(0x2e3)+_0x3df061['message']);}}else console[_0xb37ec9(0x304)](_0xb37ec9(0x14e)+_0x3df061['message']);process[_0xb37ec9(0x101)]=0x1;});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bipopush/cli",
3
- "version": "0.3.0-beta.3",
3
+ "version": "0.3.0-beta.5",
4
4
  "description": "BipoPush CLI — log in and publish releases",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -34,7 +34,8 @@
34
34
  "scripts": {
35
35
  "build": "tsc",
36
36
  "typecheck": "tsc --noEmit",
37
- "test": "tsc && node --test test/*.test.mjs"
37
+ "test": "tsc && node --test test/*.test.mjs",
38
+ "prepack": "node ../scripts/publish-cli.mjs"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/node": "^26.6.3",
@@ -42,8 +43,5 @@
42
43
  },
43
44
  "publishConfig": {
44
45
  "access": "public"
45
- },
46
- "dependencies": {
47
- "bsdiff-wasm": "0.1.4"
48
46
  }
49
47
  }