__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"getDevicePushTokenAsync",{enumerable:!0,get:function(){return n.getDevicePushTokenAsync}}),Object.defineProperty(e,"unregisterForNotificationsAsync",{enumerable:!0,get:function(){return o.unregisterForNotificationsAsync}}),Object.defineProperty(e,"getExpoPushTokenAsync",{enumerable:!0,get:function(){return c.getExpoPushTokenAsync}}),Object.defineProperty(e,"subscribeToTopicAsync",{enumerable:!0,get:function(){return u.subscribeToTopicAsync}}),Object.defineProperty(e,"unsubscribeFromTopicAsync",{enumerable:!0,get:function(){return u.unsubscribeFromTopicAsync}}),Object.defineProperty(e,"getPresentedNotificationsAsync",{enumerable:!0,get:function(){return s.getPresentedNotificationsAsync}}),Object.defineProperty(e,"dismissNotificationAsync",{enumerable:!0,get:function(){return f.dismissNotificationAsync}}),Object.defineProperty(e,"dismissAllNotificationsAsync",{enumerable:!0,get:function(){return y.dismissAllNotificationsAsync}}),Object.defineProperty(e,"getNotificationChannelsAsync",{enumerable:!0,get:function(){return l.getNotificationChannelsAsync}}),Object.defineProperty(e,"getNotificationChannelAsync",{enumerable:!0,get:function(){return b.getNotificationChannelAsync}}),Object.defineProperty(e,"setNotificationChannelAsync",{enumerable:!0,get:function(){return p.setNotificationChannelAsync}}),Object.defineProperty(e,"deleteNotificationChannelAsync",{enumerable:!0,get:function(){return O.deleteNotificationChannelAsync}}),Object.defineProperty(e,"getNotificationChannelGroupsAsync",{enumerable:!0,get:function(){return A.getNotificationChannelGroupsAsync}}),Object.defineProperty(e,"getNotificationChannelGroupAsync",{enumerable:!0,get:function(){return j.getNotificationChannelGroupAsync}}),Object.defineProperty(e,"setNotificationChannelGroupAsync",{enumerable:!0,get:function(){return P.setNotificationChannelGroupAsync}}),Object.defineProperty(e,"deleteNotificationChannelGroupAsync",{enumerable:!0,get:function(){return h.deleteNotificationChannelGroupAsync}}),Object.defineProperty(e,"getBadgeCountAsync",{enumerable:!0,get:function(){return N.getBadgeCountAsync}}),Object.defineProperty(e,"setBadgeCountAsync",{enumerable:!0,get:function(){return C.setBadgeCountAsync}}),Object.defineProperty(e,"getAllScheduledNotificationsAsync",{enumerable:!0,get:function(){return k.getAllScheduledNotificationsAsync}}),Object.defineProperty(e,"scheduleNotificationAsync",{enumerable:!0,get:function(){return v.scheduleNotificationAsync}}),Object.defineProperty(e,"cancelScheduledNotificationAsync",{enumerable:!0,get:function(){return T.cancelScheduledNotificationAsync}}),Object.defineProperty(e,"cancelAllScheduledNotificationsAsync",{enumerable:!0,get:function(){return E.cancelAllScheduledNotificationsAsync}}),Object.defineProperty(e,"getNotificationCategoriesAsync",{enumerable:!0,get:function(){return w.getNotificationCategoriesAsync}}),Object.defineProperty(e,"setNotificationCategoryAsync",{enumerable:!0,get:function(){return G.setNotificationCategoryAsync}}),Object.defineProperty(e,"deleteNotificationCategoryAsync",{enumerable:!0,get:function(){return R.deleteNotificationCategoryAsync}}),Object.defineProperty(e,"getNextTriggerDateAsync",{enumerable:!0,get:function(){return S.getNextTriggerDateAsync}}),Object.defineProperty(e,"useLastNotificationResponse",{enumerable:!0,get:function(){return x.useLastNotificationResponse}}),Object.defineProperty(e,"setAutoServerRegistrationEnabledAsync",{enumerable:!0,get:function(){return B.setAutoServerRegistrationEnabledAsync}}),Object.defineProperty(e,"registerTaskAsync",{enumerable:!0,get:function(){return _.registerTaskAsync}}),Object.defineProperty(e,"BackgroundNotificationTaskResult",{enumerable:!0,get:function(){return _.BackgroundNotificationTaskResult}}),Object.defineProperty(e,"unregisterTaskAsync",{enumerable:!0,get:function(){return D.unregisterTaskAsync}});var t=r(d[0]),n=r(d[1]),o=r(d[2]),c=r(d[3]),u=r(d[4]),s=r(d[5]),f=r(d[6]),y=r(d[7]),l=r(d[8]),b=r(d[9]),p=r(d[10]),O=r(d[11]),A=r(d[12]),j=r(d[13]),P=r(d[14]),h=r(d[15]),N=r(d[16]),C=r(d[17]),k=r(d[18]),v=r(d[19]),T=r(d[20]),E=r(d[21]),w=r(d[22]),G=r(d[23]),R=r(d[24]),S=r(d[25]),x=r(d[26]),B=r(d[27]),_=r(d[28]),D=r(d[29]),F=r(d[30]);Object.keys(F).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return F[t]}})});var L=r(d[31]);Object.keys(L).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return L[t]}})});var I=r(d[32]);Object.keys(I).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return I[t]}})});var W=r(d[33]);Object.keys(W).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return W[t]}})});var J=r(d[34]);Object.keys(J).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return J[t]}})});var K=r(d[35]);Object.keys(K).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return K[t]}})});var M=r(d[36]);Object.keys(M).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return M[t]}})});var q=r(d[37]);Object.keys(q).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return q[t]}})});var z=r(d[38]);if(Object.keys(z).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return z[t]}})}),(0,t.isRunningInExpoGo)()&&void 0===process.env.JEST_WORKER_ID&&'test'!=="production"?.toLowerCase()){const t="`expo-notifications` functionality is not fully supported in Expo Go:\nWe recommend you instead use a development build to avoid limitations. Learn more: https://expo.fyi/dev-client.";console.warn(t)}},890,[474,891,892,894,907,909,912,913,914,915,916,917,918,919,920,921,922,925,926,928,931,932,933,935,936,937,938,898,941,943,903,939,944,946,948,949,950,929,951]); __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.getDevicePushTokenAsync=async function(){const e=await s();return i.default.emit('onDevicePushToken',{devicePushToken:e}),{type:"web",data:e}};var t=e(r(d[0])),o=r(d[1]),i=e(r(d[2]));function n(){if(!('Notification'in window))throw new o.CodedError('ERR_UNAVAILABLE','The Web Notifications API is not available on this device.');if(!navigator.serviceWorker)throw new o.CodedError('ERR_UNAVAILABLE','Notifications cannot be used because the service worker API is not supported on this device. This might also happen because your web page does not support HTTPS.');if('granted'!==Notification.permission)throw new o.CodedError('ERR_NOTIFICATIONS_PERMISSION_DENIED',"Cannot use web notifications without permissions granted. Request permissions with \"expo-permissions\".")}async function s(){const e=t.default.expoConfig?.notification?.vapidPublicKey;if(!e)throw new o.CodedError('ERR_NOTIFICATIONS_PUSH_WEB_MISSING_CONFIG','You must provide `notification.vapidPublicKey` in `app.json` to use push notifications on web. Learn more: https://docs.expo.dev/versions/latest/guides/using-vapid/.');const i=t.default.expoConfig?.notification?.serviceWorkerPath;if(!i)throw new o.CodedError('ERR_NOTIFICATIONS_PUSH_MISSING_CONFIGURATION','You must specify `notification.serviceWorkerPath` in `app.json` to use push notifications on the web. Provide the path to the service worker that will handle notifications.');n();let s=null;try{s=await navigator.serviceWorker.register(i)}catch(e){throw new o.CodedError('ERR_NOTIFICATIONS_PUSH_REGISTRATION_FAILED',`Could not register this device for push notifications because the service worker (${i}) could not be registered: ${e}`)}if(await navigator.serviceWorker.ready,!s.active)throw new o.CodedError('ERR_NOTIFICATIONS_PUSH_REGISTRATION_FAILED','Could not register this device for push notifications because the service worker is not active.');const u={userVisibleOnly:!0,applicationServerKey:c(e)};let h=null;try{h=await s.pushManager.subscribe(u)}catch(e){throw new o.CodedError('ERR_NOTIFICATIONS_PUSH_REGISTRATION_FAILED','The device was unable to register for remote notifications with the browser endpoint. ('+e+')')}const p=h.toJSON(),f={endpoint:p.endpoint,keys:{p256dh:p.keys.p256dh,auth:p.keys.auth}};return await s.active.postMessage(JSON.stringify({fromExpoWebClient:{}})),f}function c(e){const t=(e+'='.repeat((4-e.length%4)%4)).replace(/-/g,'+').replace(/_/g,'/'),o=window.atob(t),i=new Uint8Array(o.length);for(let e=0;e(t||(console.warn("[expo-notifications] Listening to push token changes is not yet fully supported on web. Adding a listener will have no effect."),t=!0),{remove:()=>{}}),removeListener:()=>{},removeAllListeners:()=>{},emit:()=>{},listenerCount:()=>0}},893,[404]); __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.getExpoPushTokenAsync=async function(e={}){const s=e.devicePushToken||await(0,d.getDevicePushTokenAsync)(),y=e.deviceId||await h(),R=e.projectId||o.default.easConfig?.projectId||o.default.expoConfig?.extra?.eas?.projectId;if(!R)throw new n.CodedError('ERR_NOTIFICATIONS_NO_EXPERIENCE_ID',"No \"projectId\" found. If \"projectId\" can't be inferred from the manifest (for instance, in bare workflow), you have to pass it in yourself.");const w=e.applicationId||t.applicationId;if(!w)throw new n.CodedError('ERR_NOTIFICATIONS_NO_APPLICATION_ID',"No \"applicationId\" found. If it can't be inferred from native configuration by expo-application, you have to pass it in yourself.");const O=e.type||I(s),_=e.development||await E(),v=e.baseUrl??p,N=e.url??`${v}push/getExpoPushToken`,T={type:O,deviceId:y.toLowerCase(),development:_,appId:w,deviceToken:l(s),projectId:R},x=await fetch(N,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(T)}).catch(e=>{throw new n.CodedError('ERR_NOTIFICATIONS_NETWORK_ERROR',`Error encountered while fetching Expo token: ${e}.`)});if(!x.ok){const e=x.statusText||x.status;let t;try{t=await x.text()}catch{}throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Error encountered while fetching Expo token, expected an OK response, received: ${e} (body: "${t}").`)}const C=f(await u(x));try{e.url||e.baseUrl?console.debug("[expo-notifications] Since the URL endpoint to register in has been customized in the options, expo-notifications won't try to auto-update the device push token on the server."):await(0,c.setAutoServerRegistrationEnabledAsync)(!0)}catch(e){console.warn('[expo-notifications] Could not enable automatically registering new device tokens with the Expo notification service',e)}return{type:'expo',data:C}};var t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[0])),o=e(r(_d[1])),n=r(_d[2]),c=r(_d[3]),s=e(r(_d[4])),d=r(_d[5]);const p='https://exp.host/--/api/v2/';async function u(e){try{return await e.json()}catch{try{throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Expected a JSON response from server when fetching Expo token, received body: ${JSON.stringify(await e.text())}.`)}catch{throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Expected a JSON response from server when fetching Expo token, received response: ${JSON.stringify(e)}.`)}}}function f(e){if(!e||'object'!=typeof e||!e.data||'object'!=typeof e.data||!e.data.expoPushToken||'string'!=typeof e.data.expoPushToken)throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Malformed response from server, expected "{ data: { expoPushToken: string } }", received: ${JSON.stringify(e,null,2)}.`);return e.data.expoPushToken}async function h(){try{if(!s.default.getInstallationIdAsync)throw new n.UnavailabilityError('ExpoServerRegistrationModule','getInstallationIdAsync');return await s.default.getInstallationIdAsync()}catch(e){throw new n.CodedError('ERR_NOTIF_DEVICE_ID',`Could not have fetched installation ID of the application: ${e}.`)}}function l(e){return'string'==typeof e.data?e.data:JSON.stringify(e.data)}async function E(){return!1}function I(e){switch(e.type){case'ios':return'apns';case'android':return'fcm';default:return e.type}}},894,[895,403,404,898,902,891]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"ApplicationReleaseType",{enumerable:!0,get:function(){return l.ApplicationReleaseType}}),Object.defineProperty(_e,"nativeApplicationVersion",{enumerable:!0,get:function(){return c}}),Object.defineProperty(_e,"nativeBuildVersion",{enumerable:!0,get:function(){return s}}),Object.defineProperty(_e,"applicationName",{enumerable:!0,get:function(){return u}}),Object.defineProperty(_e,"applicationId",{enumerable:!0,get:function(){return p}}),_e.getAndroidId=function(){throw new t.UnavailabilityError('expo-application','androidId')},_e.getInstallReferrerAsync=async function(){if(!o.default.getInstallReferrerAsync)throw new t.UnavailabilityError('expo-application','getInstallReferrerAsync');return await o.default.getInstallReferrerAsync()},_e.getIosIdForVendorAsync=async function(){if(!o.default.getIosIdForVendorAsync)throw new t.UnavailabilityError('expo-application','getIosIdForVendorAsync');return await o.default.getIosIdForVendorAsync()},_e.getIosApplicationReleaseTypeAsync=async function(){if(!o.default.getApplicationReleaseTypeAsync)throw new t.UnavailabilityError('expo-application','getApplicationReleaseTypeAsync');return await o.default.getApplicationReleaseTypeAsync()},_e.getIosPushNotificationServiceEnvironmentAsync=async function(){if(!o.default.getPushNotificationServiceEnvironmentAsync)throw new t.UnavailabilityError('expo-application','getPushNotificationServiceEnvironmentAsync');return await o.default.getPushNotificationServiceEnvironmentAsync()},_e.getInstallationTimeAsync=async function(){if(!o.default.getInstallationTimeAsync)throw new t.UnavailabilityError('expo-application','getInstallationTimeAsync');const e=await o.default.getInstallationTimeAsync();return new Date(e)},_e.getLastUpdateTimeAsync=async function(){if(!o.default.getLastUpdateTimeAsync)throw new t.UnavailabilityError('expo-application','getLastUpdateTimeAsync');const e=await o.default.getLastUpdateTimeAsync();return new Date(e)};var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e},l=r(d[2]);const c=o.default&&o.default.nativeApplicationVersion||null,s=o.default&&o.default.nativeBuildVersion||null,u=o.default&&o.default.applicationName||null,p=o.default&&o.default.applicationId||null},895,[404,896,897]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}});var n={get applicationName(){return null},get bundleId(){return null},get nativeApplicationVersion(){return null},get nativeBuildVersion(){return null},get androidId(){return null},getInstallationTimeAsync:async()=>null}},896,[]); __d(function(g,r,i,a,m,e,d){"use strict";var E;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ApplicationReleaseType",{enumerable:!0,get:function(){return E}}),(function(E){E[E.UNKNOWN=0]="UNKNOWN",E[E.SIMULATOR=1]="SIMULATOR",E[E.ENTERPRISE=2]="ENTERPRISE",E[E.DEVELOPMENT=3]="DEVELOPMENT",E[E.AD_HOC=4]="AD_HOC",E[E.APP_STORE=5]="APP_STORE"})(E||(E={}))},897,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.setAutoServerRegistrationEnabledAsync=async function(e){if(u?.abort(),!o.default.setRegistrationInfoAsync)throw new t.UnavailabilityError('ServerRegistrationModule','setRegistrationInfoAsync');if(e){let e={};try{const t=await(o.default.getRegistrationInfoAsync?.());t&&(e=JSON.parse(t))}catch{}e.isEnabled=!0,await o.default.setRegistrationInfoAsync(JSON.stringify(e))}else await o.default.setRegistrationInfoAsync(null)},_e.__handlePersistedRegistrationInfoAsync=y,r(d[0]);var e,t=r(d[1]),n=r(d[2]),o=(e=n)&&e.__esModule?e:{default:e},s=r(d[3]),c=r(d[4]),l=r(d[5]);let u=null;async function f(e){if(await(0,l.hasDeviceTokenChangedAsync)(e))return u?.abort(),u=new AbortController,await(0,l.updateDevicePushTokenAsync)(u.signal,e)}async function y(e){if(!e)return;let t=null;try{t=JSON.parse(e)}catch(e){console.warn('[expo-notifications] Error encountered while fetching registration information for auto token updates.',e)}if(t?.isEnabled)try{const e=await(0,c.getDevicePushTokenAsync)();await f(e)}catch(e){console.warn('[expo-notifications] Error encountered while updating server registration with latest device push token.',e)}}o.default.getRegistrationInfoAsync?((0,s.addPushTokenListener)(async e=>{try{const t=await o.default.getRegistrationInfoAsync();if(!t)return;const n=JSON.parse(t);n?.isEnabled&&await f(e)}catch(e){console.warn('[expo-notifications] Error encountered while updating server registration with latest device push token.',e)}}),o.default.getRegistrationInfoAsync().then(y,e=>{console.error('[expo-notifications] Error reading persisted server registration info: ',e)})):console.warn("[expo-notifications] Error encountered while fetching auto-registration state, new tokens will not be automatically registered on server.",new t.UnavailabilityError('ServerRegistrationModule','getRegistrationInfoAsync'))},898,[899,404,902,903,891,905]); __d(function(_g,r,i,a,m,_e,_d){"use strict";var e=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[0]));const t="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==_g?_g:void 0;t&&(void 0===t.AbortController&&(t.AbortController=e.AbortController),void 0===t.AbortSignal&&(t.AbortSignal=e.AbortSignal))},899,[900]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return p}}),Object.defineProperty(e,"AbortController",{enumerable:!0,get:function(){return b}}),Object.defineProperty(e,"AbortSignal",{enumerable:!0,get:function(){return o}});var t=r(d[0]);class o extends t.EventTarget{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){const t=l.get(this);if("boolean"!=typeof t)throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got "+(null===this?"null":typeof this));return t}}function n(){const n=Object.create(o.prototype);return t.EventTarget.call(n),l.set(n,!1),n}(0,t.defineEventAttribute)(o.prototype,"abort");const l=new WeakMap;Object.defineProperties(o.prototype,{aborted:{enumerable:!0}}),"function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(o.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});class b{constructor(){c.set(this,n())}get signal(){return u(this)}abort(){var t;t=u(this),!1===l.get(t)&&(l.set(t,!0),t.dispatchEvent({type:"abort"}))}}const c=new WeakMap;function u(t){const o=c.get(t);if(null==o)throw new TypeError("Expected 'this' to be an 'AbortController' object, but got "+(null===t?"null":typeof t));return o}Object.defineProperties(b.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),"function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag&&Object.defineProperty(b.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});var p=b},900,[901]); __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return A}}),Object.defineProperty(e,"defineEventAttribute",{enumerable:!0,get:function(){return E}}),Object.defineProperty(e,"EventTarget",{enumerable:!0,get:function(){return B}}); /** * @author Toru Nagashima * @copyright 2015 Toru Nagashima. All rights reserved. * See LICENSE file in root directory for full license. */ const t=new WeakMap,n=new WeakMap;function o(n){const o=t.get(n);return console.assert(null!=o,"'this' is expected an Event object, but got",n),o}function l(t){null==t.passiveListener?t.event.cancelable&&(t.canceled=!0,"function"==typeof t.event.preventDefault&&t.event.preventDefault()):"undefined"!=typeof console&&"function"==typeof console.error&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener)}function i(n,o){t.set(this,{eventTarget:n,event:o,eventPhase:2,currentTarget:n,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:o.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});const l=Object.keys(o);for(let t=0;t0){const t=new Array(arguments.length);for(let n=0;n{const o=t.uuid.v4();l=()=>o};var c={getInstallationIdAsync:async()=>{let n;try{n=localStorage.getItem(o),n&&'string'==typeof n||(n=t.uuid.v4(),localStorage.setItem(o,n))}catch{n=l()}return n},getRegistrationInfoAsync:async()=>'undefined'==typeof localStorage?null:localStorage.getItem(n),setRegistrationInfoAsync:async o=>{if('undefined'!=typeof localStorage)try{o?localStorage.setItem(n,o):localStorage.removeItem(n)}catch(o){throw new t.CodedError('ERR_NOTIFICATIONS_STORAGE_ERROR',`Could not modify localStorage to persist auto-registration information: ${o}`)}},addListener:()=>{},removeListeners:()=>{}}},902,[404]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.addPushTokenListener=function(e){return(0,u.warnOfExpoGoPushUsage)(),t.default.addListener(o,({devicePushToken:n})=>e({data:n,type:"web"}))},r(d[0]);var e,n=r(d[1]),t=(e=n)&&e.__esModule?e:{default:e},u=r(d[2]);const o='onDevicePushToken'},903,[404,893,904]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"warnOfExpoGoPushUsage",{enumerable:!0,get:function(){return t}});var n=r(d[0]);r(d[1]);const t=()=>{if((0,n.isRunningInExpoGo)()){}}},904,[474,404]); __d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.hasDeviceTokenChangedAsync=async function(t){try{const n=await w(),o=await f();if(null==o)return!0;const c=Date.now()-(o.registeredAt??0);return c<0||c>=l||(t.data!==o.deviceToken||e.applicationId!==o.appId||n!==o.development||h(t)!==o.type)}catch{return!0}},_e.updateDevicePushTokenAsync=async function(t,n){const c=async o=>{const[c,s]=await Promise.all([w(),y()]),d={deviceId:s.toLowerCase(),development:c,deviceToken:n.data,appId:e.applicationId,type:h(n)};try{const s=await fetch(u,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(d),signal:t});s.ok||console.debug('[expo-notifications] Error encountered while updating the device push token with the server:',await s.text()),s.ok&&await p({deviceToken:n.data,appId:e.applicationId,development:c,type:h(n),registeredAt:Date.now()}),s.ok||o()}catch(e){if(t.aborted||'object'==typeof e&&'AbortError'===e?.name)return;console.warn('[expo-notifications] Error thrown while updating the device push token with the server:',e),o()}};let s=!0;const d=()=>{s=!0};let l=0;const f={maxBackoff:12e4};let I=(0,o.computeNextBackoffInterval)(500,l,f);for(;s&&!t.aborted;)s=!1,await c(d),s&&!t.aborted&&(I=(0,o.computeNextBackoffInterval)(500,l,f),l+=1,await new Promise(t=>setTimeout(t,I)))};var t,e=(function(t){if(t&&t.__esModule)return t;var e={};return t&&Object.keys(t).forEach(function(n){var o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:function(){return t[n]}})}),e.default=t,e})(r(_d[0])),n=r(_d[1]),o=r(_d[2]),c=r(_d[3]),s=(t=c)&&t.__esModule?t:{default:t};const u='https://exp.host/--/api/v2/push/updateDeviceToken',d='lastRegisteredDeviceToken',l=6048e5;async function f(){try{if(!s.default.getRegistrationInfoAsync)return null;const t=await s.default.getRegistrationInfoAsync();if(!t)return null;const e=JSON.parse(t);return e?.[d]??null}catch{return null}}async function p(t){try{if(!s.default.getRegistrationInfoAsync||!s.default.setRegistrationInfoAsync)return;const e=await s.default.getRegistrationInfoAsync(),n=e?JSON.parse(e):{};n[d]=t,await s.default.setRegistrationInfoAsync(JSON.stringify(n))}catch{}}async function y(){try{if(!s.default.getInstallationIdAsync)throw new n.UnavailabilityError('ExpoServerRegistrationModule','getInstallationIdAsync');return await s.default.getInstallationIdAsync()}catch(t){throw new n.CodedError('ERR_NOTIFICATIONS_DEVICE_ID',`Could not fetch the installation ID of the application: ${t}.`)}}function h(t){switch(t.type){case'ios':return'apns';case'android':return'fcm';default:return t.type}}async function w(){return!1}},905,[895,404,906,902]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.computeNextBackoffInterval=function(t,n,{multiplier:o=1.5,randomizationFactor:c=.25,minBackoff:f=t,maxBackoff:u=1/0}={}){t<=0&&(t=1);n<0&&(n=0);o<1&&(o=1);(c<0||c>1)&&(c=0);const l=t*o**n,s=1-c+2*c*Math.random();return Math.min(Math.max(l*s,f),u)}},906,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.subscribeToTopicAsync=async function(o){if(!n.default.subscribeToTopicAsync)throw new s.UnavailabilityError('ExpoNotifications','subscribeToTopicAsync');return(0,e.warnOfExpoGoPushUsage)(),n.default.subscribeToTopicAsync(o)},_e.unsubscribeFromTopicAsync=async function(o){if(!n.default.unsubscribeFromTopicAsync)throw new s.UnavailabilityError('ExpoNotifications','unsubscribeFromTopicAsync');return(0,e.warnOfExpoGoPushUsage)(),n.default.unsubscribeFromTopicAsync(o)};var o,s=r(d[0]),c=r(d[1]),n=(o=c)&&o.__esModule?o:{default:o},e=r(d[2])},907,[404,908,904]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var s={addListener:()=>{},removeListeners:()=>{},subscribeToTopicAsync:()=>Promise.resolve(null),unsubscribeFromTopicAsync:()=>Promise.resolve(null)}},908,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getPresentedNotificationsAsync=async function(){if(!o.default.getPresentedNotificationsAsync)throw new e.UnavailabilityError('Notifications','getPresentedNotificationsAsync');return(await o.default.getPresentedNotificationsAsync()).map(t=>(0,s.mapNotification)(t))};var t,e=r(d[0]),n=r(d[1]),o=(t=n)&&t.__esModule?t:{default:t},s=r(d[2])},909,[404,910,911]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}});var t={addListener:()=>{},removeListeners:()=>{}}},910,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"mapNotificationResponse",{enumerable:!0,get:function(){return e}}),Object.defineProperty(_e,"mapNotification",{enumerable:!0,get:function(){return t}}),Object.defineProperty(_e,"mapNotificationRequest",{enumerable:!0,get:function(){return n}}),Object.defineProperty(_e,"mapNotificationContent",{enumerable:!0,get:function(){return c}});const e=e=>Object.assign({},e,{notification:t(e.notification)}),t=e=>Object.assign({},e,{request:n(e.request)}),n=e=>Object.assign({},e,{content:c(e.content)});let o=!1;const c=e=>{try{const t=e.dataString;if('string'==typeof t){const n=Object.assign({},e);return n.data=JSON.parse(t),Object.defineProperty(n,'dataString',{get:()=>(o||(o=!0,console.warn('reading dataString is deprecated, use data instead')),t)}),n}}catch(e){console.error(`Error parsing notification: ${e}`)}return e}},911,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.dismissNotificationAsync=async function(t){if(!o.default.dismissNotificationAsync)throw new s.UnavailabilityError('Notifications','dismissNotificationAsync');return await o.default.dismissNotificationAsync(t)};var t,s=r(d[0]),n=r(d[1]),o=(t=n)&&t.__esModule?t:{default:t}},912,[404,910]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.dismissAllNotificationsAsync=async function(){if(!o.default.dismissAllNotificationsAsync)throw new t.UnavailabilityError('Notifications','dismissAllNotificationsAsync');return await o.default.dismissAllNotificationsAsync()};var s,t=r(d[0]),n=r(d[1]),o=(s=n)&&s.__esModule?s:{default:s}},913,[404,910]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getNotificationChannelsAsync=async function(){return console.debug('Notification channels feature is only supported on Android.'),[]}},914,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getNotificationChannelAsync=async function(n){return console.debug('Notification channels feature is only supported on Android.'),null}},915,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.setNotificationChannelAsync=async function(n,o){return console.debug('Notification channels feature is only supported on Android.'),null}},916,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.deleteNotificationChannelAsync=async function(n){console.debug('Notification channels feature is only supported on Android.')}},917,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getNotificationChannelGroupsAsync=async function(){return console.debug('Notification channels feature is only supported on Android.'),[]}},918,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getNotificationChannelGroupAsync=async function(n){return console.debug('Notification channels feature is only supported on Android.'),null}},919,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.setNotificationChannelGroupAsync=async function(n,o){return console.debug('Notification channels feature is only supported on Android.'),null}},920,[]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.deleteNotificationChannelGroupAsync=async function(n){console.debug('Notification channels feature is only supported on Android.')}},921,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getBadgeCountAsync=async function(){if(!o.default.getBadgeCountAsync)throw new t.UnavailabilityError('ExpoNotifications','getBadgeCountAsync');return await o.default.getBadgeCountAsync()};var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e}},922,[404,923]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}});let t=0;var n={addListener:()=>{},removeListeners:()=>{},getBadgeCountAsync:async()=>t,setBadgeCountAsync:async(n,s)=>{if('undefined'==typeof window)return!1;const u=r(d[0]);return n>0?u.set(n,s):u.clear(),t=n,!0}}},923,[924]); __d(function(g,r,_i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"clear",{enumerable:!0,get:function(){return j}}),Object.defineProperty(e,"set",{enumerable:!0,get:function(){return z}});let t=!1;const n=()=>{t||'ExperimentalBadge'in window||'setExperimentalAppBadge'in navigator||(console.warn('Badging API must be enabled. Please check here how you can enable it: https://developers.google.com/web/updates/2018/12/badging-api#use'),t=!0)},i={mediaQuery:null,value:0};function o(){return'ExperimentalBadge'in window&&!!window.ExperimentalBadge}function l(){return'setExperimentalAppBadge'in navigator&&!!navigator.setExperimentalAppBadge&&'clearExperimentalAppBadge'in navigator&&!!navigator.clearExperimentalAppBadge}function c(){return i.mediaQuery||(i.mediaQuery=window.matchMedia('(display-mode: standalone)'),i.mediaQuery.onchange=t=>{s(i.value)}),i.mediaQuery.matches&&(o()||l())}function s(t){return i.value=t,c()?o()?(window.ExperimentalBadge.set(t),!0):!!l()&&(navigator.setExperimentalAppBadge(t),!0):(n(),!1)}function u(t,n){for(const i of Object.keys(n))n[i]instanceof Object&&Object.assign(n[i],u(t[i],n[i]));return Object.assign(t||{},n),t}function f(t){return void 0!==t&&Number.isInteger(t)&&t>=0}const v=0,p={backgroundColor:'#424242',color:'#ffffff',indicator:'!',radius:3,size:7,horizontalMargin:0,verticalMargin:0,horizontalPadding:1,verticalPadding:1},h=navigator.userAgent.indexOf('Firefox')>-1,b=()=>{const t=document.head.getElementsByTagName('link'),n=[];for(let i=0;i{const t=b();let n=null,i=0;for(let o=0;oi&&(n=l,i=u)}return n},x={favicons:null,bestFavicon:null,bestFaviconImage:null,value:v,options:p},y=window.matchMedia('screen and (min-resolution: 2dppx)'),E=()=>Math.ceil(window.devicePixelRatio)||1,B=()=>{I(x.value,x.options)},A=()=>16*E(),P=t=>{if(!t)return;for(const t of b())t.parentNode&&t.parentNode.removeChild(t);const n=document.createElement('link');n.id='badgin',n.type='image/x-icon',n.rel='icon favicon',n.href=t,document.getElementsByTagName('head')[0].appendChild(n)},F=(t,n,i)=>{const o=A(),l=document.createElement('canvas');l.width=o,l.height=o;const c=l.getContext('2d');c&&(t.width=o,t.height=o,c.drawImage(t,0,0,t.width,t.height),C(c,n,i),P(l.toDataURL()))},C=(t,n,i)=>{const o=E(),l=A();let c='';if(c=f(n)?0===n?'':n<100?String(n):'99+':i.indicator,!c)return;const s=i.size-2,u=i.size*o+"px Arial";t.font=u;const{width:v}=t.measureText(c);t.restore();const p=v+2*i.horizontalPadding,b=l-(s*o+2*i.verticalPadding)-i.verticalMargin,w=l-p-i.horizontalMargin,x=16*o-i.verticalMargin,y=16*o-i.horizontalMargin,B=i.radius;t.globalAlpha=1,t.fillStyle=i.backgroundColor,t.strokeStyle=i.backgroundColor,t.lineWidth=0,t.beginPath(),t.moveTo(w+B,b),t.quadraticCurveTo(w,b,w,b+B),t.lineTo(w,x-B),t.quadraticCurveTo(w,x,w+B,x),t.lineTo(y-B,x),t.quadraticCurveTo(y,x,y,x-B),t.lineTo(y,b+B),t.quadraticCurveTo(y,b,y-B,b),t.closePath(),t.fill(),t.save(),t.font=u,t.fillStyle=i.color,t.textAlign='center',t.textBaseline='hanging',t.fillText(c,w+p/2,b+i.verticalPadding+(h?1:0)),t.save()};function T(){return!!w()}function I(t,n){if(x.value=t,u(x.options,n||{}),!T())return!1;if(!x.bestFavicon){const t=w();if(t){const n=document.createElement('img');t.href.match(/^data/)||(n.crossOrigin='anonymous'),n.src=t.href,x.bestFavicon=t,x.bestFaviconImage=n}y.addEventListener('change',B)}return x.favicons||(x.favicons=b()),!!x.bestFaviconImage&&(x.bestFaviconImage.complete?(F(x.bestFaviconImage,x.value,x.options),!0):(x.bestFaviconImage.addEventListener('load',function(){F(this,x.value,x.options)}),!0))}function N(){if(T()&&(x.value=v,x.options=p,y.removeEventListener('change',B),x.favicons)){for(const t of b())t.parentNode&&t.parentNode.removeChild(t);for(const t of x.favicons)document.head.appendChild(t);x.favicons=null,x.bestFavicon=null,x.bestFaviconImage=null}}const O={title:null,value:0,options:{indicator:'!'}};function k(t,n,i){let o=t;o=f(n)?0===n?t:`(${n}) ${t}`:`(${i.indicator}) ${t}`;const l=document.querySelector('title');l&&(l.childNodes[0].nodeValue=o)}function M(t,n){return null===O.title&&(O.title=document.title,Object.defineProperty(document,'title',{get:()=>O.title,set:t=>{O.title=t,k(O.title,O.value,O.options)}})),O.value=t,u(O.options,n||{}),document.title=document.title,!0}function z(t,n={}){switch(n.method){case void 0:case'Badging':if(s(t)&&'Badging'===n.method)break;case'Favicon':if(I(t,n.favicon))break;default:M(t,n.title)}}function j(){c()&&(o()?window.ExperimentalBadge.clear():l()&&navigator.clearExperimentalAppBadge()),N(),O.value=0,document.title=document.title}},924,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.setBadgeCountAsync=async function(e,n){if(!o.default.setBadgeCountAsync)throw new t.UnavailabilityError('ExpoNotifications','setBadgeCountAsync');const s=n?.web;return await o.default.setBadgeCountAsync(e,s)};var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e}},925,[404,923]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getAllScheduledNotificationsAsync=async function(){if(!c.default.getAllScheduledNotificationsAsync)throw new e.UnavailabilityError('Notifications','getAllScheduledNotificationsAsync');return(await c.default.getAllScheduledNotificationsAsync()).map(t=>(0,n.mapNotificationRequest)(t))};var t,e=r(d[0]),l=r(d[1]),c=(t=l)&&t.__esModule?t:{default:t},n=r(d[2])},926,[404,927,911]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}});var t={addListener:()=>{},removeListeners:()=>{}}},927,[]); __d(function(g,r,i,a,m,_e,d){"use strict";const e=["repeats"];function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.scheduleNotificationAsync=async function(e){if(!u.default.scheduleNotificationAsync)throw new o.UnavailabilityError('Notifications','scheduleNotificationAsync');return await u.default.scheduleNotificationAsync(e.identifier??o.uuid.v4(),e.content,l(e.trigger))},_e.parseTrigger=l;var t=n(r(d[0])),o=r(d[1]),u=n(r(d[2])),c=r(d[3]),s=r(d[4]);function l(e){if(null===e)return null;if(void 0===e)throw new TypeError('Encountered an `undefined` notification trigger. If you want to trigger the notification immediately, pass in an explicit `null` value.');if(!(0,s.hasValidTriggerObject)(e))throw new TypeError("The `trigger` object you provided is invalid. It needs to contain a `type` or `channelId` entry. Refer to the documentation to update your code: https://docs.expo.dev/versions/latest/sdk/notifications/#notificationtriggerinput");const n=p(e);if(n)return n;const t=h(e);if(t)return t;const o=f(e);if(o)return o;const u=b(e);if(u)return u;const c=w(e);if(c)return c;const l=T(e);if(l)return l;const y=I(e);return y||null}function h(n){if(null!==n&&'object'==typeof n&&'type'in n&&n.type===c.SchedulableTriggerInputTypes.CALENDAR){const{repeats:o}=n,u=(0,t.default)(n,e);return Object.assign({},u,{repeats:!!o,type:'calendar'})}}function p(e){if(e instanceof Date||'number'==typeof e)return console.warn(`You are using a deprecated parameter type (${e}) for the notification trigger. Use "{ type: 'date', date: someValue }" instead.`),{type:'date',timestamp:y(e)};if('object'==typeof e&&null!==e&&'type'in e&&e.type===c.SchedulableTriggerInputTypes.DATE&&'date'in e){const n={type:'date',timestamp:y(e.date)};return e.channelId&&(n.channelId=e.channelId),n}}function y(e){return e instanceof Date?e.getTime():e}function f(e){if(null!==e&&'object'==typeof e&&'type'in e&&e.type===c.SchedulableTriggerInputTypes.DAILY){k(e,['hour','minute']);const n={type:'daily',hour:e.hour??E,minute:e.minute??E};return e.channelId&&(n.channelId=e.channelId),n}}function b(e){if(null!==e&&'object'==typeof e&&'type'in e&&e.type===c.SchedulableTriggerInputTypes.WEEKLY){k(e,['weekday','hour','minute']);const n={type:'weekly',weekday:e.weekday??E,hour:e.hour??E,minute:e.minute??E};return e.channelId&&(n.channelId=e.channelId),n}}function w(e){if(null!==e&&'object'==typeof e&&'type'in e&&e.type===c.SchedulableTriggerInputTypes.MONTHLY){k(e,['day','hour','minute']);const n={type:'monthly',day:e.day??E,hour:e.hour??E,minute:e.minute??E};return e.channelId&&(n.channelId=e.channelId),n}}function T(e){if(null!==e&&'object'==typeof e&&'type'in e&&e.type===c.SchedulableTriggerInputTypes.YEARLY){k(e,['month','day','hour','minute']);const n={type:'yearly',month:e.month??E,day:e.day??E,hour:e.hour??E,minute:e.minute??E};return e.channelId&&(n.channelId=e.channelId),n}}function I(e){if(null!==e&&'object'==typeof e&&'type'in e&&e.type===c.SchedulableTriggerInputTypes.TIME_INTERVAL&&'seconds'in e&&'number'==typeof e.seconds){const n={type:'timeInterval',seconds:e.seconds,repeats:e.repeats??!1};return e.channelId&&(n.channelId=e.channelId),n}}const E=-9999;function k(e,n){const t=e;n.forEach(e=>{if(!(e in t))throw new TypeError(`The ${e} parameter needs to be present`);if('number'!=typeof t[e])throw new TypeError(`The ${e} parameter should be a number`);switch(e){case'month':{const{month:e}=t;if(e<0||e>11)throw new RangeError(`The month parameter needs to be between 0 and 11. Found: ${e}`);break}case'day':{const e=t.day,n=void 0!==t.month?t.month:(new Date).getMonth(),o=v(n);if(e<1||e>o)throw new RangeError(`The day parameter for month ${n} must be between 1 and ${o}. Found: ${e}`);break}case'weekday':{const{weekday:e}=t;if(e<1||e>7)throw new RangeError(`The weekday parameter needs to be between 1 and 7. Found: ${e}`);break}case'hour':{const{hour:e}=t;if(e<0||e>23)throw new RangeError(`The hour parameter needs to be between 0 and 23. Found: ${e}`);break}case'minute':{const{minute:e}=t;if(e<0||e>59)throw new RangeError(`The minute parameter needs to be between 0 and 59. Found: ${e}`);break}}})}function v(e=0,n){return new Date(n??2e3,e+1,0).getDate()}},928,[19,404,927,929,930]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PermissionStatus",{enumerable:!0,get:function(){return u.PermissionStatus}}),Object.defineProperty(e,"SchedulableTriggerInputTypes",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"AndroidNotificationPriority",{enumerable:!0,get:function(){return n}});var t,n,u=r(d[0]);r(d[1]),(function(t){t.CALENDAR="calendar",t.DAILY="daily",t.WEEKLY="weekly",t.MONTHLY="monthly",t.YEARLY="yearly",t.DATE="date",t.TIME_INTERVAL="timeInterval"})(t||(t={})),(function(t){t.MIN="min",t.LOW="low",t.DEFAULT="default",t.HIGH="high",t.MAX="max"})(n||(n={}))},929,[474,404]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.hasValidTriggerObject=function(n){return null===n||'object'==typeof n&&('type'in n||'channelId'in n)}},930,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.cancelScheduledNotificationAsync=async function(e){if(!n.default.cancelScheduledNotificationAsync)throw new c.UnavailabilityError('Notifications','cancelScheduledNotificationAsync');return await n.default.cancelScheduledNotificationAsync(e)};var e,c=r(d[0]),t=r(d[1]),n=(e=t)&&e.__esModule?e:{default:e}},931,[404,927]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.cancelAllScheduledNotificationsAsync=async function(){if(!t.default.cancelAllScheduledNotificationsAsync)throw new c.UnavailabilityError('Notifications','cancelAllScheduledNotificationsAsync');return await t.default.cancelAllScheduledNotificationsAsync()};var e,c=r(d[0]),l=r(d[1]),t=(e=l)&&e.__esModule?e:{default:e}},932,[404,927]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getNotificationCategoriesAsync=async function(){if(!n.default.getNotificationCategoriesAsync)throw new e.UnavailabilityError('Notifications','getNotificationCategoriesAsync');return await n.default.getNotificationCategoriesAsync()};var t,e=r(d[0]),o=r(d[1]),n=(t=o)&&t.__esModule?t:{default:t}},933,[404,934]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}});var t=r(d[0]);var n={getNotificationCategoriesAsync:async()=>[],async setNotificationCategoryAsync(){throw new t.UnavailabilityError('Notifications','setNotificationCategoryAsync')},deleteNotificationCategoryAsync:async()=>!1,addListener(){},removeListeners(){}}},934,[404]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.setNotificationCategoryAsync=async function(t,o,c){if(!n.default.setNotificationCategoryAsync)throw new e.UnavailabilityError('Notifications','setNotificationCategoryAsync');return await n.default.setNotificationCategoryAsync(t,o,c)};var t,e=r(d[0]),o=r(d[1]),n=(t=o)&&t.__esModule?t:{default:t}},935,[404,934]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.deleteNotificationCategoryAsync=async function(e){if(!n.default.deleteNotificationCategoryAsync)throw new t.UnavailabilityError('Notifications','deleteNotificationCategoryAsync');return await n.default.deleteNotificationCategoryAsync(e)};var e,t=r(d[0]),o=r(d[1]),n=(e=o)&&e.__esModule?e:{default:e}},936,[404,934]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getNextTriggerDateAsync=async function(e){if(!s.default.getNextTriggerDateAsync)throw new t.UnavailabilityError('ExpoNotifications','getNextTriggerDateAsync');return await s.default.getNextTriggerDateAsync((0,c.parseTrigger)(e))};var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e},c=r(d[2])},937,[404,927,928]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useLastNotificationResponse=function(){const[s,c]=(0,t.useState)(void 0);return(0,t.useLayoutEffect)(()=>{const t=(0,n.getLastNotificationResponse)();c(n=>o(n,t));const s=(0,n.addNotificationResponseReceivedListener)(t=>c(n=>o(n,t))),u=(0,n.addNotificationResponseClearedListener)(()=>{c(null)});return()=>{s.remove(),u.remove()}},[]),s},Object.defineProperty(e,"determineNextResponse",{enumerable:!0,get:function(){return o}});var t=r(d[0]),n=r(d[1]);const o=(t,n)=>n?t?t.notification.request.identifier!==n.notification.request.identifier?n:t:n:null},938,[11,939]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"DEFAULT_ACTION_IDENTIFIER",{enumerable:!0,get:function(){return l}}),_e.addNotificationReceivedListener=function(e){return c.addListener(f,t=>{const n=(0,s.mapNotification)(t);e(n)})},_e.addNotificationsDroppedListener=function(e){return c.addListener(u,e)},_e.addNotificationResponseReceivedListener=function(e){return c.addListener(p,t=>{const n=(0,s.mapNotificationResponse)(t);e(n)})},_e.getLastNotificationResponseAsync=async function(){return L()},_e.getLastNotificationResponse=L,_e.clearLastNotificationResponseAsync=async function(){R()},_e.clearLastNotificationResponse=R,_e.addNotificationResponseClearedListener=function(e){return c.addListener(N,e)};var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e},s=r(d[2]);const c=new t.LegacyEventEmitter(o.default),f='onDidReceiveNotification',u='onNotificationsDeleted',p='onDidReceiveNotificationResponse',N='onDidClearNotificationResponse',l='expo.modules.notifications.actions.DEFAULT';function L(){if(!o.default.getLastNotificationResponse)throw new t.UnavailabilityError('ExpoNotifications','getLastNotificationResponse');const e=o.default.getLastNotificationResponse();return e?(0,s.mapNotificationResponse)(e):e}function R(){if(!o.default.clearLastNotificationResponse)throw new t.UnavailabilityError('ExpoNotifications','clearLastNotificationResponse');o.default.clearLastNotificationResponse(),c.emit(N,[])}},939,[404,940,911]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}}),r(d[0]);let t=!1;var n={addListener:()=>{t||(console.warn("[expo-notifications] Emitting notifications is not yet fully supported on web. Adding a listener will have no effect."),t=!0)},removeListeners:()=>{}}},940,[404]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.registerTaskAsync=async function(e){if(!o.default.registerTaskAsync)throw new n.UnavailabilityError('Notifications','registerTaskAsync');return await o.default.registerTaskAsync(e)},Object.defineProperty(_e,"BackgroundNotificationTaskResult",{enumerable:!0,get:function(){return t}});var e,t,n=r(d[0]),s=r(d[1]),o=(e=s)&&e.__esModule?e:{default:e};!(function(e){e[e.NewData=0]="NewData",e[e.NoData=1]="NoData",e[e.Failed=2]="Failed"})(t||(t={}))},941,[404,942]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}});var n={registerTaskAsync:async n=>null,unregisterTaskAsync:async n=>null}},942,[]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.unregisterTaskAsync=async function(e){if(!s.default.unregisterTaskAsync)throw new t.UnavailabilityError('Notifications','unregisterTaskAsync');return await s.default.unregisterTaskAsync(e)};var e,t=r(d[0]),n=r(d[1]),s=(e=n)&&e.__esModule?e:{default:e}},943,[404,942]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"NotificationTimeoutError",{enumerable:!0,get:function(){return c}}),_e.setNotificationHandler=function(t){h&&(h.remove(),h=null);N&&(N.remove(),N=null);t&&(h=s.addListener(f,async({id:o,notification:c})=>{if(e.default.handleNotificationAsync)try{const n=(0,l.mapNotification)(c),s=await t.handleNotification(n);s.shouldShowAlert&&console.warn('[expo-notifications]: `shouldShowAlert` is deprecated. Specify `shouldShowBanner` and / or `shouldShowList` instead.'),await e.default.handleNotificationAsync(o,s),t.handleSuccess?.(o)}catch(n){t.handleError?.(o,n)}else t.handleError?.(o,new n.UnavailabilityError('Notifications','handleNotificationAsync'))}),N=s.addListener(u,({id:n,notification:o})=>t.handleError?.(n,new c(n,(0,l.mapNotification)(o)))))};var t,n=r(d[0]),o=r(d[1]),e=(t=o)&&t.__esModule?t:{default:t},l=r(d[2]);class c extends n.CodedError{constructor(t,n){super('ERR_NOTIFICATION_TIMEOUT',`Notification handling timed out for ID ${t}.`),this.info={id:t,notification:n}}}const s=new n.LegacyEventEmitter(e.default),f='onHandleNotification',u='onHandleNotificationTimeout';let h=null,N=null},944,[404,945,911]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}}),r(d[0]);let n=!1;var t={addListener:()=>{n||(console.warn("[expo-notifications] Notifications handling is not yet fully supported on web. Handling notifications will have no effect."),n=!0)},removeListeners:()=>{}}},945,[404]); __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.getPermissionsAsync=async function(){if(!t.default.getPermissionsAsync)throw new e.UnavailabilityError('Notifications','getPermissionsAsync');return await t.default.getPermissionsAsync()},_e.requestPermissionsAsync=async function(s){if(!t.default.requestPermissionsAsync)throw new e.UnavailabilityError('Notifications','requestPermissionsAsync');const n=(s??{ios:{allowAlert:!0,allowBadge:!0,allowSound:!0}}).web;return await t.default.requestPermissionsAsync(n)};var s,e=r(d[0]),n=r(d[1]),t=(s=n)&&s.__esModule?s:{default:s}},946,[404,947]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return u}});var n=r(d[0]),s=r(d[1]);function t(s){switch(s){case'granted':return{status:n.PermissionStatus.GRANTED,expires:'never',canAskAgain:!1,granted:!0};case'denied':return{status:n.PermissionStatus.DENIED,expires:'never',canAskAgain:!1,granted:!1};default:return{status:n.PermissionStatus.UNDETERMINED,expires:'never',canAskAgain:!0,granted:!1}}}async function o({shouldAsk:n}){if(!s.Platform.isDOMAvailable)return t('denied');const{Notification:o={}}=window;if(void 0!==o.requestPermission){let s=o.permission;return n&&(s=await new Promise((n,s)=>{let t=!1;function u(s){t||(t=!0,n(s))}o.requestPermission(u)?.then(u)?.catch(s)})),t(s)}if('undefined'!=typeof navigator&&navigator?.permissions?.query){return t((await navigator.permissions.query({name:'notifications'})).state)}return t('denied')}var u={addListener:()=>{},removeListeners:()=>{},getPermissionsAsync:async()=>o({shouldAsk:!1}),requestPermissionsAsync:async n=>o({shouldAsk:!0})}},947,[474,404]); __d(function(g,r,i,a,m,e,d){},948,[]); __d(function(g,r,i,a,m,e,d){"use strict";var I,N,O,A;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AndroidNotificationVisibility",{enumerable:!0,get:function(){return I}}),Object.defineProperty(e,"AndroidAudioContentType",{enumerable:!0,get:function(){return N}}),Object.defineProperty(e,"AndroidImportance",{enumerable:!0,get:function(){return O}}),Object.defineProperty(e,"AndroidAudioUsage",{enumerable:!0,get:function(){return A}}),(function(I){I[I.UNKNOWN=0]="UNKNOWN",I[I.PUBLIC=1]="PUBLIC",I[I.PRIVATE=2]="PRIVATE",I[I.SECRET=3]="SECRET"})(I||(I={})),(function(I){I[I.UNKNOWN=0]="UNKNOWN",I[I.SPEECH=1]="SPEECH",I[I.MUSIC=2]="MUSIC",I[I.MOVIE=3]="MOVIE",I[I.SONIFICATION=4]="SONIFICATION"})(N||(N={})),(function(I){I[I.UNKNOWN=0]="UNKNOWN",I[I.UNSPECIFIED=1]="UNSPECIFIED",I[I.NONE=2]="NONE",I[I.MIN=3]="MIN",I[I.LOW=4]="LOW",I[I.DEFAULT=5]="DEFAULT",I[I.HIGH=6]="HIGH",I[I.MAX=7]="MAX"})(O||(O={})),(function(I){I[I.UNKNOWN=0]="UNKNOWN",I[I.MEDIA=1]="MEDIA",I[I.VOICE_COMMUNICATION=2]="VOICE_COMMUNICATION",I[I.VOICE_COMMUNICATION_SIGNALLING=3]="VOICE_COMMUNICATION_SIGNALLING",I[I.ALARM=4]="ALARM",I[I.NOTIFICATION=5]="NOTIFICATION",I[I.NOTIFICATION_RINGTONE=6]="NOTIFICATION_RINGTONE",I[I.NOTIFICATION_COMMUNICATION_REQUEST=7]="NOTIFICATION_COMMUNICATION_REQUEST",I[I.NOTIFICATION_COMMUNICATION_INSTANT=8]="NOTIFICATION_COMMUNICATION_INSTANT",I[I.NOTIFICATION_COMMUNICATION_DELAYED=9]="NOTIFICATION_COMMUNICATION_DELAYED",I[I.NOTIFICATION_EVENT=10]="NOTIFICATION_EVENT",I[I.ASSISTANCE_ACCESSIBILITY=11]="ASSISTANCE_ACCESSIBILITY",I[I.ASSISTANCE_NAVIGATION_GUIDANCE=12]="ASSISTANCE_NAVIGATION_GUIDANCE",I[I.ASSISTANCE_SONIFICATION=13]="ASSISTANCE_SONIFICATION",I[I.GAME=14]="GAME"})(A||(A={}))},949,[]); __d(function(g,r,i,a,m,e,d){"use strict";var E,t,n;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"IosAlertStyle",{enumerable:!0,get:function(){return E}}),Object.defineProperty(e,"IosAllowsPreviews",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"IosAuthorizationStatus",{enumerable:!0,get:function(){return n}}),(function(E){E[E.NONE=0]="NONE",E[E.BANNER=1]="BANNER",E[E.ALERT=2]="ALERT"})(E||(E={})),(function(E){E[E.NEVER=0]="NEVER",E[E.ALWAYS=1]="ALWAYS",E[E.WHEN_AUTHENTICATED=2]="WHEN_AUTHENTICATED"})(t||(t={})),(function(E){E[E.NOT_DETERMINED=0]="NOT_DETERMINED",E[E.DENIED=1]="DENIED",E[E.AUTHORIZED=2]="AUTHORIZED",E[E.PROVISIONAL=3]="PROVISIONAL",E[E.EPHEMERAL=4]="EPHEMERAL"})(n||(n={}))},950,[]); __d(function(g,r,i,a,m,e,d){},951,[]);