"use strict";(()=>{var Ia=Object.defineProperty;var s=(e,t)=>()=>(e&&(t=e(e=0)),t);var O=(e,t)=>{for(var n in t)Ia(e,n,{get:t[n],enumerable:!0})};var de,pe,M,Qe,ke,Te,ge=s(()=>{"use strict";de=window.nativeModuleProxy,pe=de.MMKVManager;M=de.DCDFileManager??de.RTNFileManager;Qe=de.InfoDictionaryManager??de.RTNClientInfoManager;ke=de.DCDDeviceManager??de.RTNDeviceManager,Te=de.BundleUpdaterManager});var Vt={};O(Vt,{find:()=>W,findAll:()=>Ze,findByDisplayName:()=>Gt,findByDisplayNameAll:()=>Ba,findByName:()=>L,findByNameAll:()=>Da,findByProps:()=>c,findByPropsAll:()=>Pa,findByStoreName:()=>te,findByTypeName:()=>Oa,findByTypeNameAll:()=>Ma,modules:()=>Ut});var Ca,Rr,yr,Ut,W,Ze,Er,_r,br,wr,Na,c,Pa,L,Da,Gt,Ba,Oa,Ma,te,_=s(()=>{"use strict";he();Ca=window.ErrorUtils.getGlobalHandler();window.ErrorUtils.setGlobalHandler(null);Rr=function(e){return Object.defineProperty(window.modules,e,{value:window.modules[e],enumerable:!1,configurable:!0,writable:!0})};for(let e in window.modules){let t=Number(e),n=window.modules[t]?.publicModule?.exports;if(!n||n===window||n.proxygone===null){Rr(t);continue}}yr=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return function(n){let r=[];for(let o in e){let a=Number(o),i=e[a]?.publicModule?.exports;if(!e[a].isInitialized)try{if(se().discord.version>=224){let u=Function.prototype.toString;Object.defineProperty(Function.prototype,"toString",{value:u,configurable:!0,writable:!1}),__r(a),Object.defineProperty(Function.prototype,"toString",{value:u,configurable:!0,writable:!0})}window.ErrorUtils.setGlobalHandler(function(){}),__r(a),window.ErrorUtils.setGlobalHandler(Ca)}catch{}if(!i){Rr(a);continue}if(i.default&&i.__esModule&&n(i.default)){if(t)return i.default;r.push(i.default)}if(n(i)){if(t)return i;r.push(i)}}if(!t)return r}},Ut=window.modules,W=yr(Ut,!0),Ze=yr(Ut),Er=function(e){return function(t){return e.every(function(n){return t[n]!==void 0})}},_r=function(e,t){return t?function(n){return n?.name===e}:function(n){return n?.default?.name===e}},br=function(e,t){return t?function(n){return n?.displayName===e}:function(n){return n?.default?.displayName===e}},wr=function(e,t){return t?function(n){return n?.type?.name===e}:function(n){return n?.default?.type?.name===e}},Na=function(e){return function(t){return t.getName&&t.getName.length===0&&t.getName()===e}},c=function(){for(var e=arguments.length,t=new Array(e),n=0;n1&&arguments[1]!==void 0?arguments[1]:!0;return W(_r(e,t))},Da=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ze(_r(e,t))},Gt=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return W(br(e,t))},Ba=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ze(br(e,t))},Oa=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return W(wr(e,t))},Ma=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ze(wr(e,t))},te=function(e){return W(Na(e))}});function $(e,t){return Rt(e,t,{walkable:["props","children","child","sibling"]})}var xr=s(()=>{"use strict";ce()});function Ht(e,t,n,r){if(!(r>n.maxDepth)&&e){try{if(t(e))return e}catch{}if(Array.isArray(e)){for(let o of e)if(!(typeof o!="object"||o===null))try{let a=Ht(o,t,n,r+1);if(a)return a}catch{}}else if(typeof e=="object"){for(let o of Object.keys(e))if(!(typeof e[o]!="object"||e[o]===null)&&!(n.walkable.length&&!n.walkable.includes(o))&&!n.ignore.includes(o))try{let a=Ht(e[o],t,n,r+1);if(a)return a}catch{}}}}function Rt(e,t){let{walkable:n=[],ignore:r=[],maxDepth:o=100}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return Ht(e,t,{walkable:n,ignore:r,maxDepth:o},0)}var Sr=s(()=>{"use strict"});async function Re(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e4,r=await fetch(e,{signal:La(n),...t});if(!r.ok)throw new Error("Request returned non-ok");return r}function La(e){let t=new AbortController;return setTimeout(function(){return t.abort(`Timed out after ${e}ms`)},e),t.signal}var vr=s(()=>{"use strict"});function $t(e){return Object.isFrozen(e)?Object.assign({},e):e}var Tr=s(()=>{"use strict"});function K(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{"use strict"});var jt={};O(jt,{findInReactTree:()=>$,findInTree:()=>Rt,safeFetch:()=>Re,unfreeze:()=>$t,without:()=>K});var ce=s(()=>{"use strict";xr();Sr();vr();Tr();Ar()});var zt,ne,yt=s(()=>{zt=["a","b","i"],ne=new Map});function Ir(e,t,n,r,o){let a=ne.get(t)?.[e];if(!a)return o?Reflect.construct(t[e],n,r):t[e].apply(r,n);for(let u of a.b.values()){let f=u.call(r,n);Array.isArray(f)&&(n=f)}let i=[...a.i.values()].reduce(function(u,f){return function(){for(var d=arguments.length,E=new Array(d),v=0;v{yt()});function Wt(e,t,n,r){let o=ne.get(e),a=o?.[t];return a?.[r].has(n)?(a[r].delete(n),zt.every(function(i){return a[i].size===0})&&(Reflect.defineProperty(e,t,{value:a.o,writable:!0,configurable:!0})||(e[t]=a.o),delete o[t]),Object.keys(o).length==0&&ne.delete(e),!0):!1}function Nr(){for(let[e,t]of ne.entries())for(let n in t)for(let r of zt)for(let o of t[n]?.[r].keys()??[])Wt(e,n,o,r)}var Kt=s(()=>{yt()});function Et(e){return function(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(typeof n[t]!="function")throw new Error(`${t} is not a function in ${n.constructor.name}`);ne.has(n)||ne.set(n,{});let a=ne.get(n);if(!a[t]){let f=n[t];a[t]={o:f,b:new Map,i:new Map,a:new Map};let d=function(w,C,B){let ve=Ir(t,n,C,w,B);return o&&u(),ve},E=new Proxy(f,{apply:function(w,C,B){return d(C,B,!1)},construct:function(w,C){return d(f,C,!0)},get:function(w,C,B){return C=="toString"?f.toString.bind(f):Reflect.get(w,C,B)}});Reflect.defineProperty(n,t,{value:E,configurable:!0,writable:!0})||(n[t]=E)}let i=Symbol(),u=function(){return Wt(n,t,i,e)};return a[t][e].set(i,r),u}}var Pr=s(()=>{Cr();yt();Kt()});var Xt={};O(Xt,{after:()=>h,before:()=>Yt,instead:()=>le,unpatchAll:()=>Nr});var Yt,le,h,Jt=s(()=>{Pr();Kt();Yt=Et("b"),le=Et("i"),h=Et("a")});var Dr,F=s(()=>{"use strict";Jt();Jt();Dr={...Xt}});function Zt(){return{listeners:Object.values(Qt).reduce(function(e,t){return e[t]=new Set,e},{}),on(e,t){this.listeners[e].has(t)||this.listeners[e].add(t)},off(e,t){this.listeners[e].delete(t)},once(e,t){var n=this;let r=function(o,a){n.off(o,r),t(o,a)};this.on(e,r)},emit(e,t){for(let n of this.listeners[e])n(e,t)}}}var Qt,Br=s(()=>{"use strict";(function(e){e.GET="GET",e.SET="SET",e.DEL="DEL"})(Qt||(Qt={}))});var Or,qt,Mr,en,ye,Ue,Lr=s(()=>{"use strict";ge();g();Or=/[<>:"\/\\|?*]/g,qt=function(e){return l.Platform.select({default:e,ios:M.saveFileToGallery?e:`Documents/${e}`})},Mr=function(e){return Or.test(e)&&(e=e.replace(Or,"-").replace(/-+/g,"-")),`vd_mmkv/${e}`},en=async function(e){await pe.getItem(e)&&pe.removeItem(e);let t=Mr(e);await M.fileExists(`${M.getConstants().DocumentsDirPath}/${t}`)&&await M.removeFile?.("documents",t)},ye=function(e){let t=Mr(e);return Ue(t,async function(){try{let n=`${M.getConstants().DocumentsDirPath}/${t}`;if(await M.fileExists(n))return;let r=await pe.getItem(e)??"{}";if(r==="!!LARGE_VALUE!!"){let o=`${M.getConstants().CacheDirPath}/mmkv/${e}`;await M.fileExists(o)?r=await M.readFile(o,"utf8"):(console.log(`${e}: Experienced data loss :(`),r="{}")}await M.writeFile("documents",qt(t),r,"utf8"),await pe.getItem(e)!==null&&(pe.removeItem(e),console.log(`Successfully migrated ${e} store from MMKV storage to fs`))}catch(n){console.error("Failed to migrate to fs from MMKVManager ",n)}}())},Ue=function(e,t){let n;return{get:async function(){await t;let r=`${M.getConstants().DocumentsDirPath}/${e}`;return!n&&!await M.fileExists(r)?(n=!0,M.writeFile("documents",qt(e),"{}","utf8")):JSON.parse(await M.readFile(r,"utf8"))},set:async function(r){await t,await M.writeFile("documents",qt(e),JSON.stringify(r),"utf8")}}}});var nn={};O(nn,{awaitSyncWrapper:()=>Ge,createFileBackend:()=>Ue,createMMKVBackend:()=>ye,createProxy:()=>Ur,createStorage:()=>ue,purgeStorage:()=>en,useProxy:()=>G,wrapSync:()=>Ee});function Ur(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Zt();function n(r,o){return new Proxy(r,{get(a,i){if(i===Fr)return t;let u=[...o,i],f=a[i];return f!=null?(t.emit("GET",{path:u,value:f}),typeof f=="object"?n(f,u):f):f},set(a,i,u){return a[i]=u,t.emit("SET",{path:[...o,i],value:u}),!0},deleteProperty(a,i){let u=delete a[i];return u&&t.emit("DEL",{path:[...o,i]}),u}})}return{proxy:n(e,[]),emitter:t}}function G(e){if(e[tn])throw e[tn];let t=e[Fr];if(!t)throw new Error("InvalidArgumentExcpetion - storage[emitterSymbol] is "+typeof t);let[,n]=React.useReducer(function(r){return~r},0);return React.useEffect(function(){let r=function(){return n()};return t.on("SET",r),t.on("DEL",r),function(){t.off("SET",r),t.off("DEL",r)}},[]),e}async function ue(e){let t=await e.get(),{proxy:n,emitter:r}=Ur(t),o=function(){return e.set(n)};return r.on("SET",o),r.on("DEL",o),n}function Ee(e){let t,n,r=[],o=function(a){return t?a():r.push(a)};return e.then(function(a){t=a,r.forEach(function(i){return i()})}).catch(function(a){n=a}),new Proxy({},{...Object.fromEntries(Object.getOwnPropertyNames(Reflect).map(function(a){return[a,function(i){for(var u=arguments.length,f=new Array(u>1?u-1:0),d=1;d{"use strict";Br();Lr();Fr=Symbol.for("vendetta.storage.emitter"),kr=Symbol.for("vendetta.storage.accessor"),tn=Symbol.for("vendetta.storage.error");Ge=function(e){return new Promise(function(t){return e[kr](t)})}});var rn,Fa,N,Ae=s(()=>{"use strict";_();rn=c("setLogFn").default,Fa=new rn("Opti"),N=Fa});var ln={};O(ln,{color:()=>me,fetchTheme:()=>qe,getCurrentTheme:()=>bt,getThemes:()=>Va,initThemes:()=>cn,installTheme:()=>Ie,patchChatBackground:()=>an,removeTheme:()=>sn,selectTheme:()=>_t,themes:()=>P,updateThemes:()=>Vr});async function on(e){if(typeof e!="object")throw new Error("Theme must be an object");await Ue("vendetta_theme.json").set(e)}function an(){let e=bt()?.data?.background;if(!e)return;let t=L("MessagesWrapperConnected",!1);if(!t)return;let{MessagesWrapper:n}=c("MessagesWrapper");if(!n)return;let r=[h("default",t,function(o,a){return React.createElement(l.ImageBackground,{style:{flex:1,height:"100%"},source:{uri:e.url},blurRadius:typeof e.blur=="number"?e.blur:0,children:a})}),h("render",n.prototype,function(o,a){let i=$(a,function(u){return"HACK_fixModalInteraction"in u?.props&&u?.props?.style});i?i.props.style=Object.assign(l.StyleSheet.flatten(i.props.style??{}),{backgroundColor:"#0000"}):N.error("Didn't find Messages when patching MessagesWrapper!")})];return function(){return r.forEach(function(o){return o()})}}function Gr(e){if(fe.valid(e))return fe(e).hex();let t=Number(l.processColor(e));return fe.rgb(t>>16&255,t>>8&255,t&255,t>>24&255).hex()}function Ua(e){if(e.semanticColors){let t=e.semanticColors;for(let n in t)for(let r in t[n])t[n][r]&&=Gr(t[n][r])}if(e.rawColors){let t=e.rawColors;for(let n in t)e.rawColors[n]=Gr(t[n]);l.Platform.OS==="android"&&Ga(t)}return e}function Ga(e){let t={BLACK_ALPHA_60:["BLACK",.6],BRAND_NEW_360_ALPHA_20:["BRAND_360",.2],BRAND_NEW_360_ALPHA_25:["BRAND_360",.25],BRAND_NEW_500_ALPHA_20:["BRAND_500",.2],PRIMARY_DARK_500_ALPHA_20:["PRIMARY_500",.2],PRIMARY_DARK_700_ALPHA_60:["PRIMARY_700",.6],STATUS_GREEN_500_ALPHA_20:["GREEN_500",.2],STATUS_RED_500_ALPHA_20:["RED_500",.2]};for(let n in t){let[r,o]=t[n];e[r]&&(e[n]=fe(e[r]).alpha(o).hex())}}async function qe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;try{n=await(await Re(e,{cache:"no-store"})).json()}catch{throw new Error(`Failed to fetch theme at ${e}`)}P[e]={id:e,selected:t,data:Ua(n)},t&&on(P[e])}async function Ie(e){if(typeof e!="string"||e in P)throw new Error("Theme already installed");await qe(e)}async function _t(e){if(e==="default")return await on({});let t=Object.values(P).find(function(n){return n.selected})?.id;t&&(P[t].selected=!1),P[e].selected=!0,await on(P[e])}async function sn(e){let t=P[e];return t.selected&&await _t("default"),delete P[e],t.selected}function bt(){let e=window.__vendetta_loader?.features?.themes?.prop;return e&&window[e]||null}async function Vr(){await Ge(P);let e=bt();await Promise.allSettled(Object.keys(P).map(function(t){return qe(t,e?.id===t)}))}async function cn(){let e=bt();if(!e)return;let t=me.default.unsafe_rawColors;me.default.unsafe_rawColors=new Proxy(t,{get:function(n,r){return e?e.data?.rawColors?.[r]??Reflect.get(t,r):Reflect.get(t,r)}}),le("resolveSemanticColor",me.default.meta??me.default.internal,function(n,r){if(!e)return r(...n);let[o,a]=n,[i,u]=Hr(o,a),f=o==="amoled"?2:o==="light"?1:0;let d=ka[i]??i,E=(e.data?.semanticColors?.[i]??e.data?.semanticColors?.[d])?.[f];if(i==="CHAT_BACKGROUND"&&typeof e.data?.background?.alpha=="number")return fe(E||"black").alpha(1-e.data.background.alpha).hex();if(E)return E;let v=e.data?.rawColors?.[u.raw];return v?u.opacity===1?v:fe(v).alpha(u.opacity).hex():r(...n)}),await Vr()}function Hr(e,t){let n=t[Hr._sym??=Object.getOwnPropertySymbols(t)[0]],r=me.SemanticColor[n];return[n,r[e.toLowerCase()]]}function Va(){var e=0;return Object.keys(P).forEach(function(t){return e++}),e}var me,P,ka,X=s(()=>{"use strict";g();ce();_();F();Y();Ae();me=c("SemanticColor"),P=Ee(ue(ye("VENDETTA_THEMES"))),ka={BG_BACKDROP:"BACKGROUND_FLOATING",BG_BASE_PRIMARY:"BACKGROUND_PRIMARY",BG_BASE_SECONDARY:"BACKGROUND_SECONDARY",BG_BASE_TERTIARY:"BACKGROUND_SECONDARY_ALT",BG_MOD_FAINT:"BACKGROUND_MODIFIER_ACCENT",BG_MOD_STRONG:"BACKGROUND_MODIFIER_ACCENT",BG_MOD_SUBTLE:"BACKGROUND_MODIFIER_ACCENT",BG_SURFACE_OVERLAY:"BACKGROUND_FLOATING",BG_SURFACE_OVERLAY_TMP:"BACKGROUND_FLOATING",BG_SURFACE_RAISED:"BACKGROUND_MOBILE_PRIMARY"}});var wt,$r,l,fe,xt=s(()=>{"use strict";X();F();wt=function(e){for(let t in window.modules){let n=window.modules[t]?.publicModule.exports;if(n&&e(n))return n}},$r=wt(function(e){return e?.default?.name==="requireNativeComponent"});$r&&le("default",$r,function(e,t){try{return t(...e)}catch{return e[0]}});window.React=wt(function(e){return e.createElement});l=wt(function(e){return e.AppRegistry}),fe=wt(function(e){return e.brewer});if(window.__vendetta_loader?.features.themes)try{cn()}catch(e){console.error("[Opti] Failed to initialize themes...",e)}});var dn={};O(dn,{AsyncUsers:()=>nt,Flux:()=>Ka,FluxDispatcher:()=>Ya,Messages:()=>ot,NavigationNative:()=>J,Profiles:()=>Ce,React:()=>b,ReactNative:()=>l,User:()=>tt,assets:()=>rt,channels:()=>mn,chroma:()=>fe,clipboard:()=>V,commands:()=>St,constants:()=>_e,i18n:()=>re,invites:()=>ja,lodash:()=>vt,moment:()=>fn,navigation:()=>za,navigationStack:()=>Wa,stylesheet:()=>x,toasts:()=>et,url:()=>Ve,util:()=>Xa});function $a(e){if(un){for(let t in e)e[t]=new Proxy(l.StyleSheet.flatten(e[t]),{get(n,r,o){let a=Reflect.get(n,r,o);return jr.isSemanticColor(a)?jr.resolveSemanticColor(Ha.theme,a):a}});return e}}var Ha,un,jr,_e,mn,re,Ve,et,tt,nt,Ce,x,V,rt,ja,St,za,Wa,J,ot,Ka,Ya,b,fn,vt,Xa,g=s(()=>{"use strict";_();xt();xt();xt();Ha=te("ThemeStore"),un=c("colors","unsafe_rawColors"),jr=un?.internal??un?.meta;_e=c("Fonts","Permissions"),mn=c("getVoiceChannelId"),re=c("Messages"),Ve=c("openURL","openDeeplink"),et=W(function(e){return e.open&&e.close&&!e.startDrag&&!e.init&&!e.openReplay&&!e.setAlwaysOnTop&&!e.setAccountFlag}),tt=c("getCurrentUser"),nt=c("getUser","fetchProfile"),Ce=c("showUserProfile"),x={...W(function(e){return e.createStyles&&!e.ActionSheet}),createThemedStyleSheet:$a,...c("createThemedStyleSheet")},V=c("setString","getString","hasString"),rt=c("registerAsset"),ja=c("acceptInviteAndTransitionToInviteChannel"),St=c("getBuiltInCommands"),za=c("pushLazy"),Wa=c("createStackNavigator"),J=c("NavigationContainer"),ot=c("sendBotMessage"),Ka=c("connectStores"),Ya=c("_currentDispatchActionType"),b=window.React,fn=c("isMoment"),vt=c("forEachRight"),Xa=c("inspect","isNullOrUndefined")});var gn={};O(gn,{all:()=>Q,find:()=>Ja,getAssetByID:()=>Za,getAssetByName:()=>Qa,getAssetIDByName:()=>m,patchAssets:()=>pn});function pn(){let e=h("registerAsset",rt,function(t,n){let r=t[0];Q[r.name]={...r,id:n}});for(let t=1;;t++){let n=rt.getAssetByID(t);if(!n)break;Q[n.name]||(Q[n.name]={...n,id:t})}return e}var Q,Ja,Qa,Za,m,S=s(()=>{"use strict";g();F();Q={};Ja=function(e){return Object.values(Q).find(e)},Qa=function(e){return Q[e]},Za=function(e){return rt.getAssetByID(e)},m=function(e){return Q[e]?.id}});var hn={};O(hn,{showToast:()=>R});var qa,R,oe=s(()=>{"use strict";_();g();({uuid4:qa}=c("uuid4")),R=function(e,t){return et.open({key:`vd-toast-${qa()}`,content:e,source:t,icon:t})}});var En={};O(En,{connectToDebugger:()=>Rn,getDebugInfo:()=>se,patchLogHook:()=>yn,socket:()=>j,versionHash:()=>Tt});function Rn(e){if(j!==void 0&&j.readyState!==WebSocket.CLOSED&&j.close(),!e){R("Invalid debugger URL!",m("Small"));return}j=new WebSocket(`ws://${e}`),j.addEventListener("open",function(){return R("Connected to debugger.",m("Check"))}),j.addEventListener("message",function(t){try{(0,eval)(t.data)}catch(n){console.error(n)}}),j.addEventListener("error",function(t){console.log(`Debugger error: ${t.message}`),R("An error occurred with the debugger connection!",m("Small"))})}function yn(){let e=h("nativeLoggingHook",globalThis,function(t){j?.readyState===WebSocket.OPEN&&j.send(JSON.stringify({message:t[0],level:t[1]})),N.log(t[0])});return function(){j&&j.close(),e()}}function se(){let e=window.HermesInternal.getRuntimeProperties(),t=e["OSS Release Version"],n="for RN ",r=l.Platform.constants,o=r.reactNativeVersion;return{vendetta:{version:Tt,loader:window.__vendetta_loader?.name??"Unknown"},discord:{version:Qe.Version,build:Qe.Build},react:{version:React.version,nativeVersion:t.startsWith(n)?t.substring(n.length):`${o.major}.${o.minor}.${o.patch}`},hermes:{version:t,buildType:e.Build,bytecodeVersion:e["Bytecode Version"]},...l.Platform.select({android:{os:{name:"Android",version:r.Release,sdk:r.Version}},ios:{os:{name:r.systemName,version:r.osVersion}}}),...l.Platform.select({android:{device:{manufacturer:r.Manufacturer,brand:r.Brand,model:r.Model,codename:ke.device}},ios:{device:{manufacturer:ke.deviceManufacturer,brand:ke.deviceBrand,model:ke.deviceModel,codename:ke.device}}})}}var j,Tt,he=s(()=>{"use strict";g();F();ge();S();oe();Ae();Tt="a5474d4"});var be,He,zr,$e,at=s(()=>{(function(e){e.BRAND="brand",e.RED="red",e.GREEN="green",e.PRIMARY="primary",e.TRANSPARENT="transparent",e.GREY="grey",e.LIGHTGREY="lightgrey",e.WHITE="white",e.LINK="link"})(be||(be={}));(function(e){e[e.BUILT_IN=0]="BUILT_IN",e[e.BUILT_IN_TEXT=1]="BUILT_IN_TEXT",e[e.BUILT_IN_INTEGRATION=2]="BUILT_IN_INTEGRATION",e[e.BOT=3]="BOT",e[e.PLACEHOLDER=4]="PLACEHOLDER"})(He||(He={}));(function(e){e[e.SUB_COMMAND=1]="SUB_COMMAND",e[e.SUB_COMMAND_GROUP=2]="SUB_COMMAND_GROUP",e[e.STRING=3]="STRING",e[e.INTEGER=4]="INTEGER",e[e.BOOLEAN=5]="BOOLEAN",e[e.USER=6]="USER",e[e.CHANNEL=7]="CHANNEL",e[e.ROLE=8]="ROLE",e[e.MENTIONABLE=9]="MENTIONABLE",e[e.NUMBER=10]="NUMBER",e[e.ATTACHMENT=11]="ATTACHMENT"})(zr||(zr={}));(function(e){e[e.CHAT=1]="CHAT",e[e.USER=2]="USER",e[e.MESSAGE=3]="MESSAGE"})($e||($e={}))});var xn={};O(xn,{patchCommands:()=>bn,registerCommand:()=>wn});function bn(){let e=h("getBuiltInCommands",St,function(t,n){let[r]=t;if(r===$e.CHAT)return[...n,..._n]});return function(){_n=[],e()}}function wn(e){for(let t in e){let n=St.getBuiltInCommands($e.CHAT,!0,!1);n.sort(function(a,i){return parseInt(i.id)-parseInt(a.id)});let r=n[n.length-1],o=e[t];e[t]={id:(parseInt(r.id,10)-1).toString(),displayName:o.name,displayDescription:o.description,type:$e.CHAT,inputType:He.BUILT_IN,...o,__isOpti:!0}}_n.push(...e)}var _n,At=s(()=>{"use strict";at();g();F();_n=[]});var ei,ti,ni,Wr,Kr=s(()=>{"use strict";ei=function(e){return{status:"fulfilled",value:e}},ti=function(e){return{status:"rejected",reason:e}},ni=function(e){return Promise.resolve(e).then(ei,ti)},Wr=function(e){return Promise.all(Array.from(e).map(ni))}});var p,Z,z=s(()=>{"use strict";Y();p=Ee(ue(ye("VENDETTA_SETTINGS"))),Z=Ee(ue(Ue("vendetta_loader.json")))});var Dn={};O(Dn,{evalPlugin:()=>Yr,fetchPlugin:()=>je,getDisabledPlugins:()=>Nn,getPluginList:()=>Cn,getPlugins:()=>In,getSettings:()=>Pn,initPlugins:()=>An,installPlugin:()=>xe,plugins:()=>I,pluginsList:()=>Sn,removePlugin:()=>Tn,startPlugin:()=>ze,stopPlugin:()=>We,stoppedPlugins:()=>vn});async function je(e){e.endsWith("/")||(e+="/");let t=I[e],n;try{n=await(await Re(e+"manifest.json",{cache:"no-store"})).json()}catch{throw new Error(`Failed to fetch manifest for ${e}`)}let r;if(t?.manifest.hash!==n.hash)try{r=await(await Re(e+(n.main||"index.js"),{cache:"no-store"})).text()}catch{}if(!r&&!t)throw new Error(`Failed to fetch JS for ${e}`);I[e]={id:e,manifest:n,enabled:t?.enabled??!1,update:t?.update??!0,js:r??t.js}}async function xe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.endsWith("/")||(e+="/"),typeof e!="string"||e in I)throw new Error("Plugin already installed");await je(e),t&&await ze(e)}async function Yr(e){let t={...window.vendetta,plugin:{id:e.id,manifest:e.manifest,storage:await ue(ye(e.id))},logger:new rn(`Opti \xBB ${e.manifest.name}`)},n=`vendetta=>{return ${e.js}} //# sourceURL=${e.id}`,r=(0,eval)(n)(t),o=typeof r=="function"?r():r;return o?.default??o??{}}async function ze(e){e.endsWith("/")||(e+="/");let t=I[e];if(!t)throw new Error("Attempted to start non-existent plugin");try{let n=await Yr(t);we[e]=n,n.onLoad?.(),Sn.push(" "+t.manifest.name),t.enabled=!0}catch(n){vn.push(" "+t.id),N.error(`Plugin ${t.id} errored whilst loading, and will be unloaded`,n);try{we[t.id]?.onUnload?.()}catch(r){N.error(`Plugin ${t.id} errored whilst unloading`,r)}delete we[e],t.enabled=!1}}function We(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;e.endsWith("/")||(e+="/");let n=I[e],r=we[e];if(!n)throw new Error("Attempted to stop non-existent plugin");try{r?.onUnload?.()}catch(o){N.error(`Plugin ${n.id} errored whilst unloading`,o)}delete we[e],t&&(n.enabled=!1)}async function Tn(e){e.endsWith("/")||(e+="/"),I[e].enabled&&We(e),delete I[e],await en(e)}async function An(){await Ge(p),await Ge(I);let e=Object.keys(I);return await Wr(e.filter(function(t){return I[t].enabled}).map(async function(t){return I[t].update&&await je(t).catch(function(n){return N.error(n.message)}),await ze(t)})),e.filter(function(t){return!I[t].enabled&&I[t].update}).forEach(function(t){return je(t)}),ri}function In(){var e=0;return Object.keys(we).forEach(function(t){return e++}),e}function Cn(){return Sn.sort()}function Nn(){return vn.sort()}var I,we,Sn,vn,ri,Pn,ae=s(()=>{"use strict";ce();Y();Kr();Ae();z();I=Ee(ue(ye("VENDETTA_PLUGINS"))),we={},Sn=new Array,vn=new Array;ri=function(){return Object.keys(we).forEach(function(e){return We(e,!1)})};Pn=function(e){return we[e]?.settings}});var Ne,Xr,Jr=s(()=>{"use strict";at();g();he();Ne=se(),Xr=[{name:"debug",description:"Prints Optis debug information to chat.",inputType:He.BUILT_IN,__isOpti:!0,execute(e,t){let n=`**Opti Debug Info [Main Branch]** > **Opti Version**: ${Ne.vendetta.version} > **Discord Version**: ${Ne.discord.version} (Build ${Ne.discord.build}) > **Device**: ${Ne.device.brand} (${Ne.os.name} ${Ne.os.version}) > **Codename/Machine ID**: ${Ne.device.codename}`;ot.sendMessage(t.channel.id,{content:n})}}]});var Qr,Zr=s(()=>{"use strict";g();ae();Qr=[{name:"plugins list",description:"Lists all Opti plugins.",execute(e,t){let n=`**Enabled Plugins (${In()}):** > ${Cn()} **Disabled Plugins:** > ${Nn()}`;ot.sendMessage(t.channel.id,{content:n})}}]});var qr,eo=s(()=>{"use strict";ge();qr=[{name:"reload",description:"Reload Discord.",execute(){Te.reload()}}]});function to(){let e=[...Xr,...qr,...Qr];wn(e)}var no=s(()=>{"use strict";At();Jr();Zr();eo()});var Fn={};O(Fn,{BADGES:()=>oi,DISCORD_SERVER:()=>Bn,DISCORD_SERVER_ID:()=>On,GITHUB:()=>Ln,HTTP_REGEX:()=>ai,HTTP_REGEX_MULTI:()=>ct,PLUGINS_CHANNEL_ID:()=>Mn,PROXY_PREFIX:()=>Pe,THEMES_CHANNEL_ID:()=>it,VENDETTA_PROXY:()=>st});var Bn,On,Mn,it,Ln,oi,Pe,st,ai,ct,De=s(()=>{"use strict";Bn="https://discord.gg/zm5MWBPeRp",On="1228081962883747880",Mn="1228464451846672465",it="1228464459295756358",Ln="https://github.com/opti-mod",oi="https://raw.githubusercontent.com/opti-mod/badges/main/",Pe="https://opti-mod.github.io/proxy/",st="https://vd-plugins.github.io/proxy/",ai=/^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$/,ct=/https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g});function Ke(e){let{label:t,icon:n,noPadding:r=!1,noAnimation:o=!1,children:a}=e,{FormRow:i,FormDivider:u}=y,[f,d]=React.useState(!0);return React.createElement(React.Fragment,null,React.createElement(i,{label:t,leading:n&&React.createElement(i.Icon,{source:m(n)}),trailing:React.createElement(i.Arrow,{style:{transform:[{rotate:`${f?180:90}deg`}]}}),onPress:function(){d(!f),o||l.LayoutAnimation.configureNext(l.LayoutAnimation.Presets.easeInEaseOut)}}),!f&&React.createElement(React.Fragment,null,React.createElement(u,null),React.createElement(l.View,{style:!r&&{paddingHorizontal:15}},a)))}var ro=s(()=>{"use strict";g();S();k()});function oo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var ao=s(()=>{});function io(e,t){for(var n=0;n{});function lo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uo=s(()=>{});function It(e,t){return It=Object.setPrototypeOf||function(r,o){return r.__proto__=o,r},It(e,t)}var mo=s(()=>{});function fo(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&It(e,t)}var po=s(()=>{mo()});function lt(e){return lt=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)},lt(e)}var go=s(()=>{});function ho(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ro=s(()=>{});function yo(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var Eo=s(()=>{});function _o(e){return e&&typeof Symbol<"u"&&e.constructor===Symbol?"symbol":typeof e}var bo=s(()=>{});function wo(e,t){return t&&(_o(t)==="object"||typeof t=="function")?t:yo(e)}var xo=s(()=>{Eo();bo()});function So(e){var t=ho();return function(){var r=lt(e),o;if(t){var a=lt(this).constructor;o=Reflect.construct(r,arguments,a)}else o=r.apply(this,arguments);return wo(this,o)}}var vo=s(()=>{go();Ro();xo()});var Ct,ii,D,kn=s(()=>{"use strict";ao();co();uo();po();vo();g();k();Ct=x.createThemedStyleSheet({view:{flex:1,flexDirection:"column",margin:10},title:{fontSize:20,textAlign:"center",marginBottom:5},br:{fontSize:0,padding:1}}),D=function(e){"use strict";fo(n,e);var t=So(n);function n(r){oo(this,n);var o;return o=t.call(this,r),o.state={hasErr:!1},o}return so(n,[{key:"render",value:function(){var o=this;return this.state.hasErr?b.createElement(l.ScrollView,{style:Ct.view},b.createElement(y.FormText,{style:Ct.title},"Opti has encountered an error."),b.createElement(ut,{selectable:!0,style:{marginBottom:5,maxHeight:400}},this.state.errStack),b.createElement(y.FormText,{style:Ct.br}," "),b.createElement(ie,{color:ie.Colors.RED,size:ie.Sizes.MEDIUM,look:ie.Looks.FILLED,onPress:function(){return o.setState({hasErr:!1})},text:"Retry"}),b.createElement(y.FormText,{style:Ct.br}," "),b.createElement(ie,{color:ie.Colors.BRAND,size:ie.Sizes.MEDIUM,look:ie.Looks.FILLED,onPress:function(){return V.setString(""+o.state.errStack)},text:"Copy"})):this.props.children}}]),n}(ii=b.Component);lo(D,"getDerivedStateFromError",function(e){return{hasErr:!0,errText:e.message,errName:e.name,errCause:e.cause,errStack:e.stack}})});var Un={};O(Un,{rawColors:()=>si,semanticColors:()=>T});var T,si,Be=s(()=>{"use strict";g();X();T=me?.default?.colors??_e?.ThemeColorMap,si=me?.default?.unsafe_rawColors??_e?.Colors});function ut(e){let{selectable:t,style:n,children:r}=e;return t?l.Platform.select({ios:React.createElement(ci,{style:n,children:r}),default:React.createElement(To,{style:n,children:r,selectable:!0})}):React.createElement(To,{style:n,children:r})}var Ao,ci,To,Io=s(()=>{"use strict";g();Be();Ao=x.createThemedStyleSheet({codeBlock:{fontFamily:_e.Fonts.CODE_SEMIBOLD,fontSize:12,textAlignVertical:"center",backgroundColor:T.BACKGROUND_SECONDARY,color:T.TEXT_NORMAL,borderWidth:1,borderRadius:4,borderColor:T.BACKGROUND_TERTIARY,padding:10}}),ci=function(e){let{style:t,children:n}=e;return React.createElement(l.TextInput,{editable:!1,multiline:!0,style:[Ao.codeBlock,t&&t],value:n})},To=function(e){let{selectable:t,style:n,children:r}=e;return React.createElement(l.Text,{selectable:t,style:[Ao.codeBlock,n&&n]},r)}});function Se(e){let{onChangeText:t,placeholder:n,style:r}=e;return React.createElement(li,{style:[ui.search,r],placeholder:n,onChangeText:t})}var li,ui,Co=s(()=>{"use strict";g();_();li=L("StaticSearchBarContainer"),ui=x.createThemedStyleSheet({search:{margin:0,padding:0,borderBottomWidth:0,backgroundColor:"none"}})});var Vn={};O(Vn,{Alert:()=>Gn,Button:()=>ie,Codeblock:()=>ut,ErrorBoundary:()=>D,Forms:()=>y,General:()=>mi,HelpMessage:()=>fi,SafeAreaView:()=>di,Search:()=>Se,Summary:()=>Ke});var y,mi,Gn,ie,fi,di,k=s(()=>{"use strict";_();ro();kn();Io();Co();y=c("Form","FormSection"),mi=c("Button","Text","View"),Gn=Gt("FluxContainer(Alert)"),ie=c("Looks","Colors","Sizes"),fi=L("HelpMessage"),di=c("useSafeAreaInsets").SafeAreaView});function No(){return h("default",pi,function(e,t){let[{thread:n}]=e;if(n.guild_id!==On)return;let r;if(n.parent_id===Mn)r="Plugin";else if(n.parent_id===it&&window.__vendetta_loader?.features.themes)r="Theme";else return;let{firstMessage:o}=Ri(n),a=o?.content?.match(ct);if(!a)return;r==="Plugin"?a=a.filter(function(d){return d.startsWith(Pe)}):a=a.filter(function(d){return d.endsWith(".json")});let i=a[0];if(!i)return;let u=$(t,function(d){return d?.[0]?.key}),f=u[0].type;u.unshift(React.createElement(f,{key:"install"},React.createElement(gi,{leading:React.createElement(hi,{style:{opacity:1},source:m("ic_download_24px")}),label:`Install ${r}`,onPress:function(){return(r==="Plugin"?xe:Ie)(i).then(function(){R(`Successfully installed ${n.name}`,m("Check"))}).catch(function(d){R(d.message,m("Small"))}).finally(function(){return yi()})}})))})}var pi,gi,hi,Ri,yi,Po=s(()=>{"use strict";_();De();F();ae();X();ce();S();oe();k();pi=L("ForumPostLongPressActionSheet",!1),{FormRow:gi,FormIcon:hi}=y,{useFirstForumPostMessage:Ri}=c("useFirstForumPostMessage"),{hideActionSheet:yi}=c("openLazy","hideActionSheet")});function Hn(e){let{title:t,confirmText:n,confirmColor:r,onConfirm:o,cancelText:a,placeholder:i,initialValue:u="",secureTextEntry:f}=e,[d,E]=React.useState(u),[v,w]=React.useState("");function C(){Promise.resolve(o(d)).then(function(){Do.close()}).catch(function(ve){w(ve.message)})}return React.createElement(Gn,{title:t,confirmText:n,confirmColor:r,isConfirmButtonDisabled:v.length!==0,onConfirm:C,cancelText:a,onCancel:function(){return Do.close()}},React.createElement(Ei,{placeholder:i,value:d,onChange:function(B){E(typeof B=="string"?B:B.text),v&&w("")},returnKeyType:"done",onSubmitEditing:C,error:v||void 0,secureTextEntry:f,autoFocus:!0,showBorder:!0,style:{paddingVertical:5,alignSelf:"stretch",paddingHorizontal:0}}))}var Ei,Do,Bo=s(()=>{"use strict";_();k();({FormInput:Ei}=y),Do=c("openLazy","close")});var jn={};O(jn,{showConfirmationAlert:()=>q,showCustomAlert:()=>Mo,showInputAlert:()=>$n});function q(e){let t=e;return t.body=e.content,delete t.content,t.isDismissable??=!0,Oo.show(t)}var Oo,Mo,$n,Oe=s(()=>{"use strict";_();Bo();Oo=c("openLazy","close");Mo=function(e,t){return Oo.openLazy({importer:async function(){return function(){return React.createElement(e,t)}}})},$n=function(e){return Mo(Hn,e)}});function Lo(e){return e.startsWith(Pe)||e.startsWith(st)?"Plugin":e.endsWith(".json")&&window.__vendetta_loader?.features.themes?"Theme":void 0}function Fo(e,t){(e==="Plugin"?xe:Ie)(t).then(function(){R("Successfully installed",m("Check"))}).catch(function(n){R(n.message,m("Small"))})}function ko(){let e=new Array;return e.push(h("showSimpleActionSheet",_i,function(t){if(t[0].key!=="LongPressUrl")return;let{header:{title:n},options:r}=t[0],o=Lo(n);o&&r.push({label:`Install ${o}`,onPress:function(){return Fo(o,n)}})})),e.push(le("handleClick",bi,async function(t,n){let{href:r}=t[0],o=Lo(r);if(!o)return n.apply(this,t);if(o==="Theme"&&Si(xi())?.parent_id!==it)return n.apply(this,t);q({title:"Hold Up",content:["This link is a ",React.createElement(l.Text,{style:vi["text-md/semibold"]},o),", would you like to install it?"],onConfirm:function(){return Fo(o,r)},confirmText:"Install",cancelText:"Cancel",secondaryConfirmText:"Open in Browser",onConfirmSecondary:function(){return wi(r)}})})),function(){return e.forEach(function(t){return t()})}}var _i,bi,wi,xi,Si,vi,Uo=s(()=>{"use strict";_();g();De();F();ae();X();Oe();S();oe();_i=W(function(e){return e?.showSimpleActionSheet&&!Object.getOwnPropertyDescriptor(e,"showSimpleActionSheet")?.get}),bi=c("handleClick"),{openURL:wi}=Ve,{getChannelId:xi}=mn,{getChannel:Si}=c("getChannel"),{TextStyleSheet:vi}=c("TextStyleSheet")});function zn(){let e=new Array;return e.push(No()),e.push(ko()),function(){return e.forEach(function(t){return t()})}}var Go=s(()=>{"use strict";Po();Uo()});function Wn(e){let{alertTitle:t,installFunction:n}=e;return React.createElement(l.TouchableOpacity,{onPress:function(){return V.getString().then(function(r){return $n({title:t,initialValue:r.match(ct)?.[0]??"",placeholder:"https://example.com/",onConfirm:function(o){return n(o)},confirmText:"Install",cancelText:"Cancel"})})}},React.createElement(l.Image,{style:Ti.icon,source:m("ic_add_24px")}))}var Ti,Vo=s(()=>{"use strict";g();De();Oe();S();Be();Ti=x.createThemedStyleSheet({icon:{marginRight:10,tintColor:T.HEADER_PRIMARY}})});function mt(e){let{asset:t}=e;return React.createElement(Ai,{label:`${t.name} - ${t.id}`,trailing:React.createElement(l.Image,{source:t.id,style:{width:32,height:32}}),onPress:function(){V.setString(t.name),R("Copied asset name to clipboard.",m("toast_copy_link"))}})}var Ai,Kn=s(()=>{"use strict";g();oe();S();k();({FormRow:Ai}=y)});function Me(e){let{items:t,card:n}=e;G(p),G(t);let[r,o]=React.useState("");return React.createElement(D,null,React.createElement(l.FlatList,{ListHeaderComponent:React.createElement(React.Fragment,null,React.createElement(l.View,{style:{marginBottom:10}}),React.createElement(Se,{style:{marginBottom:10},onChangeText:function(a){return o(a.toLowerCase())},placeholder:"Search"})),style:{paddingHorizontal:10,paddingTop:20},contentContainerStyle:{paddingBottom:20},data:Object.values(t).filter(function(a){return a.id?.toLowerCase().includes(r)}),renderItem:function(a){let{item:i,index:u}=a;return React.createElement(n,{item:i,index:u})}}))}var Yn=s(()=>{"use strict";g();Y();k();z()});function dt(e){let t=e.toggleValue??!1;return React.createElement(l.View,{style:[Le.card,{marginTop:e.index!==0?10:0}]},React.createElement(ft,{style:Le.header,label:function(){return React.createElement(l.View,null,React.createElement(l.Text,{style:Le.headertitle},e.headerLabel))},leading:e.headerIcon&&React.createElement(ft.Icon,{source:m(e.headerIcon)}),trailing:e.toggleType&&(e.toggleType==="switch"?React.createElement(Ii,{style:l.Platform.OS==="android"&&{marginVertical:-15},value:e.toggleValue,onValueChange:e.onToggleChange}):React.createElement(l.Pressable,{onPress:function(){t=!t,e.onToggleChange?.(t)}},React.createElement(Ci,{selected:e.toggleValue}))),optiLogo:e.optiLogo&&React.createElement(l.View,null,React.createElement(ft.Icon,{source:{uri:"https://raw.githubusercontent.com/Opti-mod/assets/main/LogoOpti.png"}}))}),React.createElement(Ni,null),React.createElement(ft,{label:function(){return React.createElement(l.View,null,React.createElement(l.Text,{style:Le.description},e.descriptionLabel))},trailing:React.createElement(l.View,{style:Le.actions},e.overflowActions&&React.createElement(l.TouchableOpacity,{onPress:function(){return Di({key:"CardOverflow",header:{title:e.overflowTitle,icon:e.headerIcon&&React.createElement(ft.Icon,{style:{marginRight:8},source:m(e.headerIcon)}),onClose:function(){return Pi()}},options:e.overflowActions?.map(function(n){return{...n,icon:m(n.icon)}})})}},React.createElement(l.Image,{style:Le.icon,source:m("ic_more_24px")})),e.actions?.map(function(n){let{icon:r,onPress:o}=n;return React.createElement(l.TouchableOpacity,{onPress:o},React.createElement(l.Image,{style:Le.icon,source:m(r)}))}))}))}var ft,Ii,Ci,Ni,Pi,Di,Le,Xn=s(()=>{"use strict";g();_();S();Be();k();({FormRow:ft,FormSwitch:Ii,FormRadio:Ci,FormDivider:Ni}=y),{hideActionSheet:Pi}=c("openLazy","hideActionSheet"),{showSimpleActionSheet:Di}=c("showSimpleActionSheet"),Le=x.createThemedStyleSheet({card:{backgroundColor:T.BACKGROUND_SECONDARY,borderRadius:7,borderColor:T.BACKGROUND_TERTIARY,borderWidth:1},header:{padding:0,backgroundColor:T.PRIMARY_DARK,color:T.HEADER_PRIMARY,borderTopLeftRadius:5,borderTopRightRadius:5},headertitle:{fontFamily:_e.Fonts.PRIMARY_BOLD,fontSize:17,color:T.HEADER_PRIMARY},description:{color:T.TEXT_MUTED,fontSize:13},authors:{color:T.HEADER_SECONDARY,fontSize:14},actions:{flexDirection:"row-reverse",alignItems:"center"},icon:{width:22,height:22,marginLeft:5,tintColor:T?.INTERACTIVE_NORMAL}})});async function Ho(e,t){e.enabled&&We(e.id,!1),t(),e.enabled&&await ze(e.id)}function pt(e){let{item:t,index:n}=e,r=Pn(t.id),o=J.useNavigation(),[a,i]=React.useState(!1),u=t.manifest.authors,f=t.manifest.vendetta?.version??"";return a?null:React.createElement(dt,{index:n,headerLabel:`${t.manifest.name} ${f}`,headerIcon:t.manifest.vendetta?.icon||"ic_application_command_24px",toggleType:"switch",toggleValue:t.enabled,onToggleChange:function(d){try{d?ze(t.id):We(t.id)}catch(E){R(E.message,m("Small"))}},descriptionLabel:`${t.manifest.description} Authors: ${u.map(function(d){return d.name}).join(", ")}`,overflowTitle:t.manifest.name,overflowActions:[{label:"View Creator Profile",icon:"ic_profile_24px",onPress:function(){tt.getUser(t.manifest.authors[0]?.id)?Ce.showUserProfile({userId:t.manifest.authors[0]?.id}):nt.fetchProfile(t.manifest.authors[0]?.id).then(function(){Ce.showUserProfile({userId:t.manifest.authors[0]?.id})})}},{icon:"RetryIcon",label:"Refetch",onPress:async function(){Ho(t,function(){je(t.id).then(async function(){R("Successfully refetched plugin.",m("toast_image_saved"))}).catch(function(){R("Failed to refetch plugin!",m("Small"))})})}},{icon:"copy",label:"Copy URL",onPress:function(){V.setString(t.id),R("Copied plugin URL to clipboard.",m("toast_copy_link"))}},{icon:"ic_download_24px",label:t.update?"Disable updates":"Enable updates",onPress:function(){t.update=!t.update,R(`${t.update?"Enabled":"Disabled"} updates for ${t.manifest.name}.`,m("toast_image_saved"))}},{icon:"ic_duplicate",label:"Clear Data",isDestructive:!0,onPress:function(){return q({title:"Wait!",content:`Are you sure you wish to clear the data of ${t.manifest.name}?`,confirmText:"Clear",cancelText:"Cancel",confirmColor:be.RED,onConfirm:function(){Ho(t,function(){try{pe.removeItem(t.id),R(`Cleared data for ${t.manifest.name}.`,m("trash"))}catch{R(`Failed to clear data for ${t.manifest.name}!`,m("Small"))}})}})}},{icon:"ic_message_delete",label:"Delete",isDestructive:!0,onPress:function(){return q({title:"Wait!",content:`Are you sure you wish to delete ${t.manifest.name}? This will clear all of the plugin's data.`,confirmText:"Delete",cancelText:"Cancel",confirmColor:be.RED,onConfirm:function(){try{Tn(t.id),i(!0)}catch(d){R(d.message,m("Small"))}}})}}],actions:[...r?[{icon:"settings",onPress:function(){return o.push("VendettaCustomPage",{title:t.manifest.name,render:r})}}]:[]]})}var Jn=s(()=>{"use strict";at();g();ae();ge();S();oe();Oe();Xn()});async function $o(e,t){await _t(e?t:"default"),Te.reload()}function gt(e){let{item:t,index:n}=e;G(p);let[r,o]=React.useState(!1),a=t.data.authors;return r?null:React.createElement(dt,{index:n,headerLabel:`${t.data.name}`,headerIcon:"ic_theme_24px",descriptionLabel:t.data.description??"No description.",toggleType:"switch",toggleValue:t.selected,onToggleChange:function(i){$o(i,t.id)},overflowTitle:t.data.name,overflowActions:[{label:"View Creator Profile",icon:"ic_profile_24px",onPress:function(){tt.getUser(t.data.authors[0]?.id)?Ce.showUserProfile({userId:t.data.authors[0]?.id}):nt.fetchProfile(t.data.authors[0]?.id).then(function(){Ce.showUserProfile({userId:t.data.authors[0]?.id})})}},{icon:"ic_sync_24px",label:"Refetch",onPress:function(){qe(t.id,t.selected).then(function(){t.selected?q({title:"Theme refetched",content:"A reload is required to see the changes. Do you want to reload now?",confirmText:"Reload",cancelText:"Cancel",confirmColor:be.RED,onConfirm:function(){return Te.reload()}}):R("Successfully refetched theme.",m("toast_image_saved"))}).catch(function(){R("Failed to refetch theme!",m("Small"))})}},{icon:"copy",label:"Copy URL",onPress:function(){V.setString(t.id),R("Copied shader URL to clipboard.",m("toast_copy_link"))}},{icon:"ic_message_delete",label:"Delete",isDestructive:!0,onPress:function(){return q({title:"Wait!",content:`Are you sure you wish to delete ${t.data.name}?`,confirmText:"Delete",cancelText:"Cancel",confirmColor:be.RED,onConfirm:function(){sn(t.id).then(function(i){o(!0),i&&$o(!1,t.id)}).catch(function(i){R(i.message,m("Small"))})}})}}]})}var Qn=s(()=>{"use strict";at();g();X();Y();ge();S();Oe();oe();z();Xn()});function Zn(){let e=x.createThemedStyleSheet({bar:{padding:8,flex:1}}),[t,n]=React.useState(""),[r,o]=React.useState("plugins"),a=[{id:"plugins",title:"Plugins",page:function(){return React.createElement(Me,{items:I,card:pt})}},{id:"shaders",title:"Shaders",page:function(){return React.createElement(Me,{items:P,card:gt})}}];return React.createElement(D,null,React.createElement(l.View,{style:e.bar},React.createElement(Oi,{tabs:a,activeTab:r,onTabSelected:function(i){return o(i)}}),React.createElement(Se,{style:{margin:10},onChangeText:function(i){return n(i)},placeholder:"Search Addons"}),React.createElement(l.FlatList,{data:Object.values(Q).filter(function(i){return i.name.includes(t)||i.id.toString()===t}),renderItem:function(i){let{item:u}=i;return React.createElement(mt,{asset:u})},ItemSeparatorComponent:Bi,keyExtractor:function(i){return i.name}})))}var Bi,Oi,jo=s(()=>{"use strict";g();S();k();Kn();Yn();Jn();ae();X();Qn();_();({FormDivider:Bi}=y),{BadgableTabBar:Oi}=c("BadgableTabBar")});function qn(e){let{alertTitle:t,installFunction:n}=e,r=J.useNavigation();return React.createElement(l.TouchableOpacity,{onPress:function(){return r.push("VendettaCustomPage",{title:"Addons Hub",render:Zn})}},React.createElement(l.Image,{style:Mi.icon,source:m("img_collectibles_shop")}))}var Mi,zo=s(()=>{"use strict";g();jo();S();Be();Mi=x.createThemedStyleSheet({icon:{marginRight:10,tintColor:T.HEADER_PRIMARY}})});function er(){let[e,t]=React.useState("");return React.createElement(D,null,React.createElement(l.View,{style:{flex:1}},React.createElement(Se,{style:{margin:10},onChangeText:function(n){return t(n)},placeholder:"Search Assets"}),React.createElement(l.FlatList,{data:Object.values(Q).filter(function(n){return n.name.includes(e)||n.id.toString()===e}),renderItem:function(n){let{item:r}=n;return React.createElement(mt,{asset:r})},ItemSeparatorComponent:Li,keyExtractor:function(n){return n.name}})))}var Li,Wo=s(()=>{"use strict";g();S();k();Kn();({FormDivider:Li}=y)});function Nt(e){let{label:t,version:n,icon:r}=e;return React.createElement(Ko,{label:t,leading:React.createElement(Ko.Icon,{source:m(r)}),trailing:React.createElement(Fi,{style:{fontSize:13}},n),onPress:function(){V.setString(`${t} - ${n}`),R("Copied version to clipboard.",m("toast_copy_link"))}})}var Ko,Fi,Yo=s(()=>{"use strict";g();S();oe();k();({FormRow:Ko,FormText:Fi}=y)});function tr(){let e=J.useNavigation();G(p),G(Z);let t=[{label:"Discord Version",version:`${U.discord.version} (${U.discord.build})`,icon:"Discord"},{label:"React",version:U.react.version,icon:"ic_category_16px"},{label:"React Native",version:U.react.nativeVersion,icon:"mobile"},{label:"Bytecode",version:U.hermes.bytecodeVersion,icon:"ic_server_security_24px"}],n=[{label:"Loader",version:U.vendetta.loader,icon:"ic_download_24px"},{label:"OS",version:`${U.os.name} ${U.os.version}`,icon:"ic_cog_24px"},...U.os.sdk?[{label:"SDK",version:U.os.sdk,icon:"ic_profile_badge_verified_developer_color"}]:[],{label:"Manufacturer",version:U.device.manufacturer,icon:"ic_badge_staff"},{label:"Brand",version:U.device.brand,icon:"ic_settings_boost_24px"},{label:"Model",version:U.device.model,icon:"ic_phonelink_24px"},{label:l.Platform.select({android:"Codename",ios:"Machine ID"}),version:U.device.codename,icon:"ic_compose_24px"}];return React.createElement(D,null,React.createElement(l.ScrollView,{style:{flex:1},contentContainerStyle:{paddingBottom:38}},React.createElement(Pt,{title:"Important",titleStyleType:"no_border"},React.createElement(A,{label:"Opti Version",leading:React.createElement(A.Icon,{source:{uri:"https://raw.githubusercontent.com/Opti-mod/assets/main/LogoOpti.png"}}),trailing:React.createElement(ki,{style:{fontSize:13,color:"white"}},U.vendetta.version),onPress:function(){return V.setString(U.vendetta.version)}}),React.createElement(H,null),React.createElement(A,{label:"Discord Server",leading:React.createElement(A.Icon,{source:m("Discord")}),trailing:A.Arrow,onPress:function(){return Ve.openDeeplink(Bn)}}),React.createElement(H,null),React.createElement(A,{label:"GitHub Repository",leading:React.createElement(A.Icon,{source:m("img_account_sync_github_white")}),trailing:A.Arrow,onPress:function(){return Ve.openURL(Ln)}})),React.createElement(Pt,{title:"Actions"},React.createElement(A,{label:"Reload Discord",leading:React.createElement(A.Icon,{source:m("ic_message_retry")}),onPress:function(){return Te.reload()}}),React.createElement(H,null),React.createElement(A,{label:"Asset Browser",leading:React.createElement(A.Icon,{source:m("ic_image")}),trailing:A.Arrow,onPress:function(){return e.push("VendettaCustomPage",{title:"Asset Browser",render:er})}}),React.createElement(H,null)),React.createElement(Pt,{title:"Info"},React.createElement(Ke,{label:"Versions",icon:"ic_information_filled_24px"},t.map(function(r,o){return React.createElement(React.Fragment,null,React.createElement(Nt,{label:r.label,version:r.version,icon:r.icon}),o!==t.length-1&&React.createElement(H,null))})),React.createElement(H,null),React.createElement(Ke,{label:"Platform",icon:"ic_mobile_device"},n.map(function(r,o){return React.createElement(React.Fragment,null,React.createElement(Nt,{label:r.label,version:r.version,icon:r.icon}),o!==n.length-1&&React.createElement(H,null))})),React.createElement(H,null)),React.createElement(Pt,{title:"Developer"},React.createElement(Jo,{value:p.debuggerUrl,onChange:function(r){return p.debuggerUrl=r},placeholder:"127.0.0.1:9090",title:"Debugger URL"}),React.createElement(H,null),React.createElement(A,{label:"Connect to debug websocket",leading:React.createElement(A.Icon,{source:m("copy")}),onPress:function(){return Rn(p.debuggerUrl)}}),window.__vendetta_rdc&&React.createElement(React.Fragment,null,React.createElement(H,null),React.createElement(A,{label:"Connect to React DevTools",leading:React.createElement(A.Icon,{source:m("ic_badge_staff")}),onPress:function(){return window.__vendetta_rdc?.connectToDevTools({host:p.debuggerUrl.split(":")?.[0],resolveRNStyle:l.StyleSheet.flatten})}})),window.__vendetta_loader?.features.loaderConfig&&React.createElement(React.Fragment,null,React.createElement(Xo,{label:"Load from custom url",subLabel:"Load Opti from a custom endpoint.",leading:React.createElement(A.Icon,{source:m("copy")}),value:Z.customLoadUrl.enabled,onValueChange:function(r){Z.customLoadUrl.enabled=r}}),React.createElement(H,null),Z.customLoadUrl.enabled&&React.createElement(React.Fragment,null,React.createElement(Jo,{value:Z.customLoadUrl.url,onChange:function(r){return Z.customLoadUrl.url=r},placeholder:"http://localhost:4040/vendetta.js",title:"OPTI URL"}),React.createElement(H,null)),window.__vendetta_loader.features.devtools&&React.createElement(Xo,{label:"Load React DevTools",subLabel:`Version: ${window.__vendetta_loader.features.devtools.version}`,leading:React.createElement(A.Icon,{source:m("ic_badge_staff")}),value:Z.loadReactDevTools,onValueChange:function(r){Z.loadReactDevTools=r}}),React.createElement(H,null)))))}var A,Xo,Pt,H,Jo,ki,U,Qo=s(()=>{"use strict";g();De();he();Y();ge();S();k();z();z();Wo();Yo();he();({FormRow:A,FormSwitchRow:Xo,FormSection:Pt,FormDivider:H,FormInput:Jo,FormText:ki}=y),U=se()});function Dt(){console.log("TweakManager has loaded RemoveChatButtons.");let e=["ic_thread_normal_24px","ic_gift","AppsIcon"].map(function(t){return m(t)});Zo=h("render",Ui.prototype,function(t,n){let r=$(n,function(a){return a.props?.canSendVoiceMessage});r&&(r.props.canSendVoiceMessage=!1);let o=$(n,function(a){return"forceAnimateButtons"in a.props&&a.props.actions});o.props.actions=o.props.actions.filter(function(a){return!e.includes(a.source)})})}function Bt(){}var Ui,Zo,nr=s(()=>{"use strict";F();_();S();ce();Ui=L("ChatInput")});function Ot(){console.log("TweakManager has loaded RemovePrompts.");let e=c("show","openLazy");qo=le("show",e,function(t,n){t?.[0]?.title===re.Messages.DELETE_MESSAGE||t?.[0]?.title===re.Messages.PIN_MESSAGE?t[0].onConfirm?.():n(...t)}),ea.push(h("isTrustedDomain",Gi,function(){return!0}))}function Mt(){for(let e of ea)e()}var Gi,qo,ea,rr=s(()=>{"use strict";F();_();g();F();_();Gi=te("MaskedLinkStore"),ea=[]});function ar(){return G(p),p.tweaks??={},React.createElement(D,null,React.createElement(l.View,{style:{flex:1}},React.createElement(Fe,{label:"Tweaks are small QoL adjustments that you can enable."}),React.createElement(or,null),React.createElement(Fe,{label:p.tweaks.hideButtons?.valueOf()?"Remove Chat Buttons (Enabled)":"Remove Chat Buttons (Disabled)",subLabel:"Removes the Gift, Voice Message, and Activities buton.",leading:React.createElement(Fe.Icon,{source:m("ic_trash_24px")}),onPress:function(){p.tweaks.hideButtons??=!1,p.tweaks.hideButtons=!p.tweaks.hideButtons,(p.tweaks.hideButtons?Dt:Bt)()}}),React.createElement(or,null),React.createElement(Fe,{label:p.tweaks.removePrompts?.valueOf()?"Remove Prompts (Enabled)":"Remove Prompts (Disabled)",subLabel:"Removes the pin, delete, and trusted URL prompts for messages.",leading:React.createElement(Fe.Icon,{source:m("ic_message_delete")}),onPress:function(){p.tweaks.removePrompts??=!0,p.tweaks.removePrompts=!p.tweaks.removePrompts,(p.tweaks.removePrompts?Ot:Mt)()}}),React.createElement(or,null),React.createElement(Fe,{label:p.tweaks.externalbadges?.valueOf()?"Custom Badges (Enabled)":"Custom Badges (Disabled)",subLabel:"Loads Opti badges.",leading:React.createElement(Fe.Icon,{source:m("ic_person_shield")}),onPress:function(){p.tweaks.externalbadges??=!0,p.tweaks.externalbadges=!p.tweaks.externalbadges}})))}var or,Fe,ta=s(()=>{"use strict";g();k();S();nr();z();Y();rr();({FormDivider:or,FormRow:Fe}=y)});function ir(){G(p);let[e,t]=React.useState("plugins"),n=[{id:"plugins",title:"Plugins",page:function(){return React.createElement(Me,{items:I,card:pt})}},{id:"shaders",title:"Shaders",page:function(){return React.createElement(Me,{items:P,card:gt})}},{id:"tweaks",title:"Tweaks",page:function(){return React.createElement(ar,null)}}];return React.createElement(React.Fragment,null,React.createElement(l.View,{style:Hi.bar},React.createElement(Vi,{tabs:n,activeTab:e,onTabSelected:function(r){return t(r)}})),React.createElement(n.find(function(r){return r.id===e}).page))}var Vi,Hi,na=s(()=>{"use strict";Y();ae();X();z();Yn();Jn();g();Qn();_();ta();({BadgableTabBar:Vi}=c("BadgableTabBar")),Hi=x.createThemedStyleSheet({bar:{padding:8}})});var $i,Ef,_f,bf,wf,ji,sr,Lt,Ye,ht,ra,cr,Ft=s(()=>{"use strict";g();ae();X();Oe();Be();oe();ce();S();kn();Vo();zo();Qo();De();k();na();({FormRow:$i,FormSwitchRow:Ef,FormSection:_f,FormDivider:bf,FormInput:wf}=y),ji=x.createThemedStyleSheet({container:{flex:1,backgroundColor:T.BACKGROUND_MOBILE_PRIMARY}}),sr=function(e,t){return t?vt.snakeCase(e).toUpperCase():e},Lt=function(e,t){return Object.fromEntries(e.map(function(n){return[n.key,typeof t=="function"?t(n):typeof t=="string"?n[t]:t]}))},Ye=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return[{key:sr("VendettaSettings",e),title:"Opti",icon:"ic_settings_boost_24px",render:tr},{key:sr("VendettaAddons",e),title:"Addons",icon:"CirclePlusIcon-primary",render:ir,options:{headerRight:function(){return React.createElement(React.Fragment,null,React.createElement(Wn,{alertTitle:"Install Addon",installFunction:async function(t){if(t.endsWith(".json"))return await Ie(t);if(!t.startsWith(Pe)||!t.startsWith(st))setImmediate(function(){return q({title:"Unproxied Plugin",content:"The plugin you are trying to install has not been proxied. Want to download it anyways?",confirmText:"Install",onConfirm:function(){return xe(t).then(function(){return R("Installed plugin",m("Check"))}).catch(function(n){return R(n?.message??`${n}`,m("Small"))})},cancelText:"Cancel"})});else return await xe(t)}}),React.createElement(qn,{alertTitle:"Install Addon",installFunction:async function(t){}}))}}},{key:sr("VendettaCustomPage",e),title:"Opti Page",shouldRender:function(){return!1},render:function(t){let{render:n,noErrorBoundary:r,...o}=t,a=J.useNavigation();return a.addListener("focus",function(){return a.setOptions(K(o,"render","noErrorBoundary"))}),r?React.createElement(n,null):React.createElement(D,null,React.createElement(n,null))}}]},ht=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return Ye(e).filter(function(t){return t.shouldRender?.()??!0})},ra=function(){return Lt(Ye(),function(e){return{title:e.title,render:e.render,...e.options}})},cr=function(){let e=Ye(!0);return{getLayout:function(){return{title:"Opti",label:"Opti",settings:ht(!0).map(function(t){return t.key})}},titleConfig:Lt(e,"title"),relationships:Lt(e,null),rendererConfigs:Lt(e,function(t){let n=React.memo(function(r){let{navigation:o,route:a}=r;return o.addListener("focus",function(){return o.setOptions(t.options)}),React.createElement(l.View,{style:ji.container},React.createElement(t.render,a.params))});return{type:"route",title:function(){return t.title},icon:React.createElement($i.Icon,null,"s.icon")?m(""+t.icon):t.icon,screen:{route:vt.chain(t.key).camelCase().upperFirst().value(),getComponent:function(){return n}}}})}}});function ur(){let e=J.useNavigation();G(p);let t=ht();return React.createElement(D,null,React.createElement(zi,{key:"Opti",title:"Opti"},t.map(function(n,r){return React.createElement(React.Fragment,null,React.createElement(lr,{label:n.title,leading:React.createElement(lr.Icon,{source:m(n.icon)}),trailing:lr.Arrow,onPress:function(){return e.push(n.key)}}),r!==t.length-1&&React.createElement(Wi,null))})))}var lr,zi,Wi,Nf,oa=s(()=>{"use strict";g();Y();S();Ft();k();z();({FormRow:lr,FormSection:zi,FormDivider:Wi,FormText:Nf}=y)});function mr(){let e=new Array;return e.push(h("default",Ki,function(t,n){return{...n,...ra()}})),h("default",Yi,function(t,n){let r=$(n.props.children,function(o){return o.type&&o.type.name==="UserSettingsOverview"});e.push(h("renderSupportAndAcknowledgements",r.type.prototype,function(o,a){let{props:{children:i}}=a,u=i.findIndex(function(f){return f?.type?.name==="UploadLogsButton"});u!==-1&&i.splice(u,1)})),e.push(h("render",r.type.prototype,function(o,a){let{props:{children:i}}=a,u=[re.Messages.BILLING_SETTINGS,re.Messages.PREMIUM_SETTINGS];i=$(i,function(d){return d.children?.[1].type?.name==="FormSection"}).children;let f=i.findIndex(function(d){return u.includes(d?.props.label)});i.splice(f===-1?4:f,0,React.createElement(ur,null))}))},!0),function(){return e.forEach(function(t){return t()})}}var Ki,Yi,aa=s(()=>{"use strict";g();_();F();ce();Ft();oa();Ki=L("getScreens",!1),Yi=L("UserSettingsOverviewWrapper",!1)});function dr(){let e=new Array;return Ji(e)||Xi(e),function(){return e.forEach(function(t){return t?.()})}}function Xi(e){let t=c("useOverviewSettings"),n=c("getSettingTitleConfig"),r=c("SETTING_RELATIONSHIPS","SETTING_RENDERER_CONFIGS"),o="getSettingSearchListItems",a="getSettingListItems",i=c(o),u=!i,f=u?a:o,d=i??c(a);if(!d||!t)return;let E=Ye(!0),v=ht(!0),w=cr();e.push(h("useOverviewSettings",t,function(ve,Je){return ia(Je,w.getLayout())})),e.push(h("getSettingTitleConfig",n,function(ve,Je){return{...Je,...w.titleConfig}})),e.push(h(f,d,function(ve,Je){let[Ta]=ve;return[...v.filter(function(ee){return Ta.includes(ee.key)}).map(function(ee){return{type:"setting_search_result",ancestorRendererData:w.rendererConfigs[ee.key],setting:ee.key,title:w.titleConfig[ee.key],breadcrumbs:["Opti"],icon:w.rendererConfigs[ee.key].icon}}),...Je.filter(function(ee){return u||!E.map(function(kt){return kt.key}).includes(ee.setting)})].map(function(ee,kt,Aa){return{...ee,index:kt,total:Aa.length}})}));let C=r.SETTING_RELATIONSHIPS,B=r.SETTING_RENDERER_CONFIGS;return r.SETTING_RELATIONSHIPS={...C,...w.relationships},r.SETTING_RENDERER_CONFIGS={...B,...w.rendererConfigs},e.push(function(){r.SETTING_RELATIONSHIPS=C,r.SETTING_RENDERER_CONFIGS=B}),!0}function Ji(e){let t=c("SearchableSettingsList"),n=c("SETTING_RENDERER_CONFIG"),r=c("getSettingListItems");if(!r||!t||!n)return!1;let o=Ye(!0),a=cr();e.push(Yt("type",t.SearchableSettingsList,function(u){let[{sections:f}]=u;return ia(f,a.getLayout())})),e.push(h("getSettingListSearchResultItems",r,function(u,f){f.forEach(function(d){return o.some(function(E){return E.key===d.setting})&&(d.breadcrumbs=["Opti"])})}));let i=n.SETTING_RENDERER_CONFIG;return n.SETTING_RENDERER_CONFIG={...i,...a.rendererConfigs},e.push(function(){n.SETTING_RENDERER_CONFIG=i}),!0}function ia(e,t){if(!Array.isArray(e)||e.find(function(o){return fr(o,"Opti")}))return;let n=e.findIndex(function(o){return fr(o,re.Messages.ACCOUNT_SETTINGS)});e.splice(n+1,0,t);let r=e.find(function(o){return fr(o,re.Messages.SUPPORT)});r&&(r.settings=r.settings.filter(function(o){return o!=="UPLOAD_DEBUG_LOGS"}))}var fr,sa=s(()=>{"use strict";_();F();Ft();g();fr=function(e,t){return e?.label===t||e?.title===t}});function pr(){let e=[mr(),dr()];return function(){return e.forEach(function(t){return t?.()})}}var ca=s(()=>{"use strict";aa();sa()});function fa(e){let{locale:t}=e;try{la&&(la.overrideTheme(Qi?.theme??"dark"),ua&&Zi.useAMOLEDTheme===2&&ua.setAMOLEDThemeEnabled(!0))}catch(n){N.error("Failed to fix theme...",n)}try{fn.locale(t.toLowerCase())}catch(n){N.error("Failed to fix timestamps...",n)}ma.unsubscribe("I18N_LOAD_SUCCESS",fa)}function da(){return ma.subscribe("I18N_LOAD_SUCCESS",fa)}var la,ua,Qi,Zi,ma,pa=s(()=>{"use strict";g();_();Ae();la=c("updateTheme","overrideTheme"),ua=c("setAMOLEDThemeEnabled"),Qi=te("ThemeStore"),Zi=te("UnsyncedUserSettingsStore"),ma=c("_currentDispatchActionType","_subscriptions","_actionHandlers","_waitQueue")});async function ga(e){return{patcher:K(Dr,"unpatchAll"),metro:{...Vt,common:{...dn}},constants:Fn,utils:jt,debug:K(En,"versionHash","patchLogHook"),ui:{components:Vn,toasts:hn,alerts:jn,assets:gn,...Un},plugins:K(Dn,"initPlugins","evalPlugin"),themes:K(ln,"initThemes"),commands:K(xn,"patchCommands"),storage:nn,settings:p,loader:{identity:window.__vendetta_loader,config:Z},logger:N,version:Tt,unload:function(){e.filter(function(t){return typeof t=="function"}).forEach(function(t){return t()}),delete window.vendetta}}}var ha=s(()=>{"use strict";F();Ae();z();De();he();ae();X();At();Y();_();g();k();oe();Oe();S();Be();ce()});var qi,es,ts,Ra,ya=s(()=>{"use strict";g();({View:qi,Image:es,TouchableOpacity:ts}=l),Ra=function(e){let{name:t,image:n,size:r,margin:o,custom:a}=e,i=x.createThemedStyleSheet({container:{flexDirection:"row",alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end"},img:{width:r,height:r,resizeMode:"contain",marginHorizontal:o}}),u=function(){return a||b.createElement(ts,{onPress:function(){return et.open({content:t,source:{uri:n}})}},b.createElement(es,{style:i.img,source:{uri:n}}))};return b.createElement(qi,{style:i.container},u())}});function Ea(){let e=L("ProfileBadges",!1);os=h("default",e,function(t,n){let r=n,[,o]=b.useReducer(function(f){return f=!f},!1),a=t[0]?.user;if(a===void 0)return;if(gr=Xe.get(a.id),gr===void 0){as(a.id,o);return}let i=r?.props?.style;r||(r=b.createElement(ns,{style:[i,{flexDirection:"row",flexWrap:"wrap",alignItems:"flex-end",justifyContent:"flex-end",paddingVertical:2}],accessibilityRole:"list",accessibilityLabel:"User Badges"}),r.props.children=[]);let u=function(f){let{name:d,image:E,custom:v=!1}=f,w=function(){return b.createElement(Ra,{custom:v,name:d,image:E,size:Array.isArray(i)?i?.find(function(B){return B.paddingVertical&&B.paddingHorizontal})?16:22:16,margin:Array.isArray(i)?4:6})},C="PUSH";r?.props?.badges?C?r.props.badges=[b.createElement(w,null),...r.props.badges]:r.props.badges=[...r.props.badges,b.createElement(w,null)]:C?r.props.children=[b.createElement(w,null),...r.props.children]:r.props.children=[...r.props.children,b.createElement(w,null)]};Object.entries(gr?.badges).forEach(function(f){let[d,E]=f;if(!(p.tweaks.externalbadges?.valueOf()==!1&&d=="opti"))switch(d){case"customBadgesArray":E&&E.badges.map(function(v){u({name:v.name,image:v.badge})});break;case"opti":E?.developer&&u({name:"Opti Developer",image:"https://raw.githubusercontent.com/Opti-mod/assets/main/BadgeDeveloper.png"}),E?.contributor&&u({name:"Opti Contributor",image:"https://raw.githubusercontent.com/Opti-mod/assets/main/BadgeContributor.png"}),E?.supporter&&u({name:"Opti Supporter",image:"https://raw.githubusercontent.com/Opti-mod/assets/main/BadgeSupporter.png"});break;default:break}})})}async function as(e,t){if(!Xe.has(e)||Xe.get(e).lastFetch+rs{"use strict";_();F();g();ya();z();({View:ns}=l),Xe=new Map,rs=1e3*60*30});function ba(){let e=c("startSession"),t=te("AuthenticationStore"),n=c("_currentDispatchActionType","_subscriptions","_actionHandlers","_waitQueue");try{is=h("startSession",e,function(r,o){setTimeout(function(){t.getSessionId()||(n?.dispatch({type:"APP_STATE_UPDATE",state:"active"}),console.log("Successfully patched infinite connecting."))},200)})}catch{console.log("Failed to patch infinite connection, please reload the app.")}}var is,wa=s(()=>{"use strict";_();F()});function hr(){p.tweaks??={},console.log("TweakManager has successfully initialized."),p.tweaks.hideButtons==null&&(p.tweaks.hideButtons=!1),p.tweaks.removePrompts==null&&(p.tweaks.removePrompts=!1),p.tweaks.externalbadges==null&&(p.tweaks.externalbadges=!0),(p.tweaks.hideButtons?Dt:Bt)(),(p.tweaks.removePrompts?Ot:Mt)(),ba(),Ea()}var xa=s(()=>{"use strict";z();nr();rr();_a();wa()});var Sa={};O(Sa,{default:()=>ss});async function ss(){let e=await Promise.all([yn(),pn(),bn(),an(),da(),pr(),zn()]);try{window.vendetta=await ga(e)}catch{N.log("Opti has failed to load.")}e.push(await An()),e.push(await hr()),e.push(await to()),N.log("Opti has loaded!")}var va=s(()=>{"use strict";he();At();ae();X();S();no();Go();ca();pa();Ae();ha();xa()});ge();he();console.log("Opti has loaded!");Object.freeze=Object;Object.seal=Object;Promise.resolve().then(()=>(va(),Sa)).then(function(e){return e.default()}).catch(function(e){console.log(e?.stack??e.toString()),alert([`Opti failed to initialize. Some parts may not function properly. `,`Build Number: ${Qe.Build}`,"Opti Version: a5474d4",e?.stack||e.toString()].join(` `))});se().discord.version==223&&alert("You are running on Discord v223. This version is known to have many crashes and issues with modded clients. Continue at your own risk.");})(); //# sourceURL=Vendetta