<!doctype html><html><head><title>Snowflake</title><link rel="icon" type="image/png" href="/static/favicon-16.png" sizes="16x16"/><link rel="icon" type="image/png" href="/static/favicon-32.png" sizes="32x32"/><link rel="icon" type="image/png" href="/static/favicon-48.png" sizes="48x48"/><link rel="icon" type="image/png" href="/static/favicon-96.png" sizes="96x96"/><link rel="icon" type="image/png" href="/static/favicon-144.png" sizes="144x144"/><link rel="icon" href="/static/favicon.ico"/><style>body {
        margin: 0px;
        padding: 0px;
        box-sizing: border-box;
        width: 100%;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: stretch;
      }

      body *,
      body *::before,
      body *::after {
        box-sizing: inherit;
      }
      #reactRoot {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: stretch;
      }

      .rootLoading {
        width: 100%;
        height: 100vh;
        display: flex;
      }

      .rootLoading > svg {
        display: inline-block;
        margin: auto;
        width: 128px;
        height: 128px;
        animation: rootLoading 2s ease infinite;
      }

      @keyframes rootLoading {
        0% {
          opacity: 1;
          transform: scale(1);
        }
        50% {
          opacity: 0.3;
          transform: scale(0.95);
        }
      }</style><meta name="viewport" content="width=device-width"/><link rel="preload" href="/static/Inter-Bold-ff699d3134c17db1.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/static/Inter-SemiBold-6ea51c0eff654c89.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/static/Inter-Medium-94afb4f3993a225e.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/static/Inter-Black-1bfc4037b6caea3e.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/static/Inter-Regular-358200361080fccb.woff2" as="font" type="font/woff2" crossorigin></head><body><div id="reactRoot"><div class="rootLoading"><svg aria-label="Loading" role="progressbar" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><defs><style>.cls-1 {
                fill: none;
              }
              .cls-1,
              .cls-2 {
                stroke-width: 0px;
              }
              .cls-2 {
                fill: #29b5e8;
              }</style></defs><path class="cls-1" d="M6.09,5.54s-.13-.05-.18,0l-.37.37s-.05.13,0,.18l.37.37s.13.05.18,0l.37-.37s.05-.13,0-.18l-.37-.37Z"/><path class="cls-2" d="M7.23,5.63l-.85-.85c-.21-.21-.54-.21-.75,0l-.85.85c-.21.21-.21.54,0,.75l.85.85c.21.21.54.21.75,0l.85-.85c.21-.21.21-.54,0-.75ZM6.46,6.09l-.37.37s-.13.05-.18,0l-.37-.37s-.05-.13,0-.18l.37-.37s.13-.05.18,0l.37.37s.05.13,0,.18Z"/><path class="cls-2" d="M1.68,2.85l2.42,1.39c.13.11.3.17.48.17.42,0,.76-.34.76-.76V.76c0-.42-.34-.76-.76-.76s-.76.34-.76.76v1.57l-1.38-.79c-.36-.21-.83-.09-1.04.28-.21.36-.09.83.28,1.04Z"/><path class="cls-2" d="M3.67,6.65s.03-.02.04-.03c0,0,.01,0,.02-.02.01,0,.02-.02.04-.03,0,0,.02-.01.02-.02,0,0,.02-.02.03-.03s.02-.02.03-.03c0,0,.01-.02.02-.02,0-.01.02-.02.03-.04,0,0,.01-.01.01-.02,0-.01.02-.03.03-.04,0,0,0,0,0,0,0,0,0-.01,0-.02,0-.01.01-.03.02-.04,0-.01,0-.02.01-.03,0-.01,0-.02.01-.03,0-.01,0-.03.01-.04,0-.01,0-.02,0-.03,0-.01,0-.03,0-.04,0-.01,0-.02,0-.03,0-.01,0-.03,0-.04,0-.01,0-.02,0-.03,0-.01,0-.03,0-.04s0-.03,0-.04c0-.01,0-.02,0-.03,0-.01,0-.03,0-.04,0-.01,0-.02,0-.03,0-.01,0-.03,0-.04,0-.01,0-.02,0-.03,0-.01,0-.03-.01-.04,0-.01,0-.02-.01-.03,0-.01,0-.02-.01-.03,0-.01-.01-.03-.02-.04,0,0,0-.01,0-.02,0,0,0,0,0,0,0-.01-.02-.03-.03-.04,0,0,0-.01-.02-.02,0-.01-.02-.02-.03-.04,0,0-.01-.02-.02-.02,0,0-.02-.02-.03-.03,0,0-.02-.02-.03-.03,0,0-.02-.01-.02-.02-.01,0-.02-.02-.04-.03,0,0-.01-.01-.02-.02-.01,0-.03-.02-.04-.03,0,0,0,0,0,0l-2.52-1.45c-.36-.21-.83-.09-1.04.28-.21.36-.09.83.28,1.04l1.38.79-1.38.79c-.36.21-.49.67-.28,1.04.21.36.68.49,1.04.28l2.52-1.45s0,0,0,0Z"/><path class="cls-2" d="M4.58,7.59c-.18,0-.35.06-.48.17l-2.42,1.39c-.36.21-.49.67-.28,1.04.21.36.68.49,1.04.28l1.38-.79v1.57c0,.42.34.76.76.76s.76-.34.76-.76v-2.9c0-.42-.34-.76-.76-.76Z"/><path class="cls-2" d="M10.32,9.15l-2.42-1.39c-.13-.11-.3-.17-.48-.17-.42,0-.76.34-.76.76v2.9c0,.42.34.76.76.76s.76-.34.76-.76v-1.57l1.38.79c.36.21.83.09,1.04-.28.21-.36.09-.83-.28-1.04Z"/><path class="cls-2" d="M11.62,6.79l-1.38-.79,1.38-.79c.36-.21.49-.67.28-1.04-.21-.36-.68-.49-1.04-.28l-2.52,1.45s0,0,0,0c-.01,0-.03.02-.04.03,0,0-.01,0-.02.01-.01,0-.02.02-.04.03,0,0-.02.01-.02.02,0,0-.02.02-.03.03,0,0-.02.02-.03.03,0,0-.01.02-.02.02,0,.01-.02.02-.03.04,0,0,0,.01-.02.02,0,.01-.02.03-.03.04,0,0,0,0,0,0,0,0,0,.01,0,.02,0,.01-.01.03-.02.04,0,.01,0,.02-.01.03,0,.01,0,.02-.01.03,0,.01,0,.03-.01.04,0,.01,0,.02,0,.03,0,.01,0,.03,0,.04,0,.01,0,.02,0,.03,0,.01,0,.03,0,.04,0,.01,0,.02,0,.03,0,.01,0,.03,0,.04s0,.03,0,.04c0,.01,0,.02,0,.03,0,.01,0,.03,0,.04,0,.01,0,.02,0,.03,0,.01,0,.03,0,.04,0,.01,0,.02,0,.03,0,.01,0,.03.01.04,0,.01,0,.02.01.03,0,.01,0,.02.01.03,0,.01.01.03.02.04,0,0,0,.01,0,.02,0,0,0,0,0,0,0,.01.02.03.03.04,0,0,0,.01.02.02,0,.01.02.02.03.04,0,0,.01.02.02.02,0,0,.02.02.03.03,0,0,.02.02.03.03,0,0,.02.01.02.02.01,0,.02.02.04.03,0,0,.01,0,.02.01.01,0,.03.02.04.03,0,0,0,0,0,0l2.52,1.45c.36.21.83.09,1.04-.28.21-.36.09-.83-.28-1.04Z"/><path class="cls-2" d="M7.42,4.41c.18,0,.35-.06.48-.17l2.42-1.39c.36-.21.49-.67.28-1.04-.21-.36-.68-.49-1.04-.28l-1.38.79V.76c0-.42-.34-.76-.76-.76s-.76.34-.76.76v2.9c0,.42.34.76.76.76Z"/></svg></div></div><link href="/static/manifest-260422-4-99ac0907db5.json" rel="preload" type="application/json" as="fetch" crossorigin="anonymous"><script>(()=>{var e={129:function(e,t){t.defaults={},t.set=function(e,r,n){var a=n||{},o=t.defaults,i=a.expires||o.expires,s=a.domain||o.domain,l=void 0!==a.path?a.path:void 0!==o.path?o.path:"/",c=void 0!==a.secure?a.secure:o.secure,u=void 0!==a.httponly?a.httponly:o.httponly,d=void 0!==a.samesite?a.samesite:o.samesite,f=i?new Date("number"==typeof i?new Date().getTime()+864e5*i:i):0;document.cookie=e.replace(/[^+#$&^`|]/g,encodeURIComponent).replace("(","%28").replace(")","%29")+"="+r.replace(/[^+#$&/:<-\[\]-}]/g,encodeURIComponent)+(f&&f.getTime()>=0?";expires="+f.toUTCString():"")+(s?";domain="+s:"")+(l?";path="+l:"")+(c?";secure":"")+(u?";httponly":"")+(d?";samesite="+d:"")},t.get=function(e){for(var t=document.cookie.split(";");t.length;){var r=t.pop(),n=r.indexOf("=");if(n=n<0?r.length:n,decodeURIComponent(r.slice(0,n).replace(/^\s+/,""))===e)return decodeURIComponent(r.slice(n+1))}return null},t.erase=function(e,r){t.set(e,"",{expires:-1,domain:r&&r.domain,path:r&&r.path,secure:0,httponly:0})},t.all=function(){for(var e={},t=document.cookie.split(";");t.length;){var r=t.pop(),n=r.indexOf("=");n=n<0?r.length:n,e[decodeURIComponent(r.slice(0,n).replace(/^\s+/,""))]=decodeURIComponent(r.slice(n+1))}return e}},112:function(e,t,r){"use strict";var n,a=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(a,o){function i(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(i,s)}l((n=n.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var r,n,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){var l=[o,s];if(r)throw TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(a=2&l[0]?n.return:l[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,l[1])).done)return a;switch(n=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,n=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(a=(a=i.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){i.label=l[1];break}if(6===l[0]&&i.label<a[1]){i.label=a[1],a=l;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(l);break}a[2]&&i.ops.pop(),i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e],n=0}finally{r=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}};Object.defineProperty(t,"__esModule",{value:!0}),t.NotRetryableError=t.RetryError=t.notEmpty=t.customizeRetry=t.customizeDecorator=t.retryDecorator=t.retry=t.wait=t.defaultRetryConfig=void 0;var s=r(741),l=function(e,t){return t},c=function(e,t){return e*t},u=function(e,t){return Math.pow(t,e)};function d(e){return o(this,void 0,void 0,function(){return i(this,function(t){return[2,new Promise(function(t){return setTimeout(t,e)})]})})}function f(e,r){return o(this,void 0,void 0,function(){var n;return i(this,function(a){return n=Object.assign({},t.defaultRetryConfig,r),[2,s.timeout(n.timeout,function(t){return function(e,t,r){return o(this,void 0,void 0,function(){var n,a,o,s,f,p,m;return i(this,function(i){switch(i.label){case 0:switch(t.backoff){case"EXPONENTIAL":a=u;break;case"FIXED":a=l;break;case"LINEAR":a=c;break;default:a=t.backoff}o="INFINITELY"===t.retries?Number.MAX_SAFE_INTEGER:t.retries,s=0,i.label=1;case 1:if(!(s<=o))return[3,8];i.label=2;case 2:return i.trys.push([2,4,,5]),[4,e()];case 3:if(f=i.sent(),t.until(f))return[2,f];return t.logger("Until condition not met by "+f),[3,5];case 4:if(p=i.sent(),!t.retryIf(p))throw p;if(p.name===w.name)throw new h("Met not retryable error. Last error: "+p,p);return n=p,t.logger("Retry failed: "+p.message),[3,5];case 5:return[4,d((m=a(s+1,t.delay))>t.maxBackOff?t.maxBackOff:m)];case 6:if(i.sent(),r())return[3,8];i.label=7;case 7:return s++,[3,1];case 8:throw new h("All retries failed. Last error: "+n,n)}})})}(e,n,t)})]})})}function p(e,t){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return f(function(){return e.apply(void 0,r)},t)}}t.defaultRetryConfig={backoff:"FIXED",delay:100,logger:function(){},maxBackOff:3e5,retries:10,timeout:6e4,until:function(){return!0},retryIf:function(){return!0}},t.wait=d,t.retry=f,t.retryDecorator=p,t.customizeDecorator=function(e){return function(t,r){return p(t,Object.assign({},e,r))}},t.customizeRetry=function(e){return function(t,r){return f(t,Object.assign({},e,r))}},t.notEmpty=function(e){return Array.isArray(e)?e.length>0:null!=e};var h=function(e){function t(t,r){var n=e.call(this,t)||this;return n.lastError=r,n}return a(t,e),t}(Error);t.RetryError=h;var m=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.message=e,Error.apply(this,t)};m.prototype=Error();var w=function(e){function t(t){var r=e.call(this,t)||this;return Object.defineProperty(r,"name",{value:r.constructor.name}),r}return a(t,e),t}(m);t.NotRetryableError=w},741:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timeout=void 0,t.timeout=function(e,t){if("INFINITELY"===e)return t(function(){return!1});var r=!1,n=function(){return r};return new Promise(function(a,o){var i=setTimeout(function(){r=!0,o(Error("Timeout after "+e+"ms"))},e);t(n).then(function(e){a(e),clearTimeout(i)},function(e){o(e),clearTimeout(i)})})}}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}r.rv=()=>"1.3.12",r.ruid="bundler=rspack@1.3.12",(()=>{"use strict";let e,t,n,a,o=Symbol.for("snapps.numeracy.nestedShell");function i(){return!!window[o]}let s="_LS_",l=new Set(["workspacesVersion","pepBeachFrontendManifestVersion","pepBeachBackendVersion"]),c="X-Snowflake-Beach",u={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},d=new Uint8Array(16),f=[];for(let e=0;e<256;++e)f.push((e+256).toString(16).slice(1));let p=function(t,r,n){if(u.randomUUID&&!r&&!t)return u.randomUUID();let a=(t=t||{}).random??t.rng?.()??function(){if(!e){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");e=crypto.getRandomValues.bind(crypto)}return e(d)}();if(a.length<16)throw Error("Random bytes length must be >= 16");if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,r){if((n=n||0)<0||n+16>r.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)r[n+e]=a[e];return r}return function(e,t=0){return(f[e[t+0]]+f[e[t+1]]+f[e[t+2]]+f[e[t+3]]+"-"+f[e[t+4]]+f[e[t+5]]+"-"+f[e[t+6]]+f[e[t+7]]+"-"+f[e[t+8]]+f[e[t+9]]+"-"+f[e[t+10]]+f[e[t+11]]+f[e[t+12]]+f[e[t+13]]+f[e[t+14]]+f[e[t+15]]).toLowerCase()}(a)},h=Symbol.for("SNOWSIGHT_PEP_VERSION_CACHE"),m=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{if(window[h])try{return await window[h]}catch(r){return delete window[h],m(e,t)}let r=e.appServerUrl,n={"X-Snowflake-Request-Id":p()},a=function(){try{let e=localStorage.getItem("pepBeachBackendVersion");if(e)return{header:c,value:`beach-${e}`};if(localStorage.getItem("pepBeachCanary"))return{header:c,value:"canary"};return null}catch{return null}}();a&&(n[a.header]=a.value);let o=fetch(`${r}/pep.versions${t?"?manifests=true":""}`,{method:"GET",headers:n,credentials:"omit"});return window[h]=o.then(async e=>{if(!e.ok)throw Error(`Failed to fetch module versions: ${e.status} ${e.statusText}`);let t=await e.json();if(!(null==t?void 0:t["pe-platform"]))throw Error("Missing pe-platform version in response");return t}),window[h]}catch(e){throw e instanceof Error?e:Error(`Failed to fetch module versions: ${String(e)}`)}},w=Symbol.for("snowsight.urls.appPath.value");function g(e){void 0===e?delete window[w]:window[w]=e}Symbol.for("snowsight.urls.appPath.shape");var y=r(112);function v(e){var t,r;let n=function(){let e=function(){if("undefined"==typeof localStorage)return{};try{let e=localStorage.getItem("snowflake-internal-client-overrides");if(!e)return{};let t=JSON.parse(e),r={};for(let[e,n]of Object.entries(t))"boolean"==typeof n&&(r[e]=n);return r}catch(e){return{}}}(),t=function(){let e=new URLSearchParams(window.location.search).get("flags");if(null===e)return{};let t={};try{for(let r of e.split(","))r.startsWith("-")?t[r.substring(1)]=!1:r&&(t[r]=!0)}catch(e){}return t}();return{...e,...t}}()[e];if(void 0!==n)return n;let a=null==(r=window.numeracy)||null==(t=r.featureFlags)?void 0:t[e];return"object"==typeof a&&null!==a&&"value"in a?a.value:a}function b(e){return document.cookie.includes(e)}function S(e){var t;return e!==(b("experiment.shell")?"true"===(null==(t=document.cookie.split("; ").find(e=>e.startsWith("experiment.shell=")))?void 0:t.split("=")[1]):void 0)&&(void 0===e||!1===e?document.cookie="experiment.shell=; path=/; max-age=0":!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"true";document.cookie=`${e}=${t}; path=/`}("experiment.shell","true"),!0)}function _(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let k=window.numeracy||{};Object.defineProperty(window,"numeracy",{get:()=>k,set:e=>(Object.assign(k,e),k),configurable:!0});let E=window.pageParams||{};Object.defineProperty(window,"pageParams",{get:()=>E,set:e=>(Object.assign(E,e),E),configurable:!0});let I={num:-1,version:"260422-4-99ac0907db5",appServerUrl:""};window.build=I,k.clientVersion=I.version,k.appServerUrl=I.appServerUrl,k.injectableAfterLoad=!0;let P=e=>`1#${encodeURIComponent(e)}`,U=e=>!/[^\u0000-\u00ff]/g.test(e),O=[".privatelink.testdns.snowflakecomputing.com",".privatelink.snowflakecomputing.com",".privatelink.int.snowflakecomputing.com",".privatelink.int.snowflake.local",".privatelink.snowflake.local",".privatelink.snowflake.snowsaas.cn",".privatelink.snowflakecomputing.com.cn",".privatelink.snowflakecomputing.cn"];function D(e){return""!==(O.find(t=>null==e?void 0:e.endsWith(t))||"")}let N={userId:"X-Numeracy-UserId",clientVersion:"X-Numeracy-Client-Version",privateLinkHost:"X-Snowflake-Privatelink-Host",snowflakeContext:"X-Snowflake-Context",encodedSnowflakeContext:"X-Snowflake-Context-Encoded",snowflakeRole:"X-Snowflake-Role",encodedSnowflakeRole:"X-Snowflake-Role-Encoded",csrfToken:"X-CSRF-Token",encodedSnowflakeSecondaryRoles:"X-Snowflake-Secondary-Roles-Encoded"};function R(e,t,r,n){let a={...r??{}},o={...a.headers??{}};if(a.credentials="include",null!=t&&(o[N.userId]=`${t}`),k.clientVersion&&(o[N.clientVersion]=k.clientVersion),D(window.location.hostname)&&(o[N.privateLinkHost]=window.location.origin),e.userKey&&(o[N.snowflakeContext]=e.userKey),e.csrfToken&&(o[N.csrfToken]=e.csrfToken),e.decodedUserKey)try{o[N.encodedSnowflakeContext]=P(e.decodedUserKey)}catch(e){null==n||n.error(e,{message:"Failed to generate x-snowflake-context-encoded"})}if(e.role){U(e.role)&&(o[N.snowflakeRole]=e.role);try{o[N.encodedSnowflakeRole]=P(e.role)}catch(e){null==n||n.error(e,{message:"Failed to generate x-snowflake-role-encoded"})}}if(e.secondaryRoles)try{o[N.encodedSnowflakeSecondaryRoles]=P(e.secondaryRoles)}catch(e){null==n||n.error(e,{message:"Failed to generate X-Snowflake-Secondary-Roles-Encoded"})}return[a,o]}let C=Symbol.for("_sf_rumBuffer_consumer");class F{static getInstance(){return F._instance||(F._instance=new F),F._instance}getDatadogRum(){return window.DD_RUM}prefixDatadogName(e){return`bootstrap__${e}`}runOrEnqueue(e){let t=this.getDatadogRum();if(t)try{e(t)}catch(e){console.error("Error invoking Datadog RUM method immediately",e)}else this.buffer.length<F.MAX_BUFFER_SIZE?this.buffer.push(e):console.warn("Datadog rum buffer size exceeded, dropping event")}static _resetForTest(){delete window[C],F._instance=void 0}constructor(){_(this,"buffer",[]),_(this,"addAction",(e,t)=>{this.runOrEnqueue(r=>r.addAction(this.prefixDatadogName(e),t))}),_(this,"addError",(e,t)=>{this.runOrEnqueue(r=>r.addError(e,t))}),_(this,"addTiming",(e,t)=>{this.runOrEnqueue(r=>r.addTiming(this.prefixDatadogName(e),t))}),_(this,"addDurationVital",(e,t)=>{this.runOrEnqueue(r=>r.addDurationVital(this.prefixDatadogName(e),t))}),_(this,"flush",()=>{let e=this.getDatadogRum();if(e)try{this.buffer&&this.buffer.length>0&&(this.buffer.forEach(t=>{t(e)}),this.buffer.length=0)}catch(t){e.addError(t,{bootloaderError:"rum_buffer_consumer_flush"})}else console.error("Datadog RUM instance not available")}),window[C]={flush:this.flush}}}_(F,"_instance",void 0),_(F,"MAX_BUFFER_SIZE",1e3);let x=F.getInstance();function T(){var e,r;if("undefined"==typeof performance||"function"!=typeof performance.now)return Date.now();let n=void 0!==t?t:"number"==typeof performance.timeOrigin&&"number"==typeof(null==(e=performance.timing)?void 0:e.navigationStart)&&5e3>Math.abs(performance.timeOrigin-performance.timing.navigationStart)?t=performance.timeOrigin:"number"==typeof(null==(r=performance.timing)?void 0:r.navigationStart)?t=performance.timing.navigationStart:null;return null===n?Date.now():n+performance.now()}function A(e){let{args:t,observableName:r}=e;k.bootstrapFetches=k.bootstrapFetches||{},k.bootstrapFetches.observableFetches=k.bootstrapFetches.observableFetches||{fetches:[]};let n=window.localStorage.getItem("pinnedVersion");if(n){(1===t.length||null==t[1])&&(t[1]={});let e=t[1],r=new Headers(e.headers);r.set("X-Pinned-Version",n),e.headers=r}let a=T(),o=fetch(...t).then(e=>(x.addDurationVital(r,{startTime:a,duration:T()-a}),e.ok||x.addError(Error(`Fetch returned non-200 status for ${r}`),{bootloaderError:`fetch_not_ok_${r}`,bootloaderFetchStatus:e.status}),e)).catch(e=>{throw x.addError(e,{bootloaderError:`fetch_${r}`}),e});return k.bootstrapFetches.observableFetches.fetches.push({args:t,response:o,datadogName:`prefetch_bootstrap__${r}`,absolutePath:new URL(t[0].toString(),document.baseURI).href}),o}class j extends Error{constructor(e,t,r=[],n=0){super(e),_(this,"code",void 0),_(this,"details",void 0),_(this,"httpStatus",void 0),this.name="ConnectError",this.code=t,this.details=r,this.httpStatus=n}}let $="x-snowflake-beach";class L{static create(e){return L.instance||(L.instance=new L(e)),L.instance}static getInstance(){if(!L.instance)throw Error("BootloaderConnectFetchTransport not initialized. Call create() first.");return L.instance}async call(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{observableName:n}=r,{method:a="POST",credentials:o="include"}=r,i=async()=>{let r={headers:new Headers({"Content-Type":"application/json","Connect-Protocol-Version":"1"})};for(let e of[this.beachInterceptor,this.requestIdInterceptor,this.snowflakeContextInterceptor])await e(r);let i=new URL((0,this.getRequestContext)().appServerUrl);if(i.pathname&&"/"!==i.pathname){let t=i.pathname.endsWith("/")?i.pathname.slice(0,-1):i.pathname;i.pathname=`${t}${e}`}else i.pathname=e;if("GET"===a&&t)for(let[e,r]of Object.entries(t))null!=r&&i.searchParams.set(e,String(r));return await A({args:[i.toString(),{method:a,headers:r.headers,body:"POST"===a?JSON.stringify(t):null,credentials:o}],observableName:"pep_connect_fetch_"+(n?`_${n}`:"")})},s=await i();if(s.ok)return s.json();{let e={};try{e=await s.json()}catch{}throw new j(e.message||`HTTP error ${s.status}`,e.code||"unknown",e.details||[],s.status)}}static _resetForTests(){L.instance=void 0}constructor(e){_(this,"getRequestContext",void 0),_(this,"snowflakeContextInterceptor",void 0),_(this,"requestIdInterceptor",void 0),_(this,"beachInterceptor",void 0),this.getRequestContext=e,this.snowflakeContextInterceptor=e=>{let t=this.getRequestContext();t.decodedUserKey?e.headers.set(N.encodedSnowflakeContext,P(t.decodedUserKey)):x.addError(Error("No decoded user key in request context"),{bootloaderError:"decoded-user-key-missing"})},this.requestIdInterceptor=e=>{let t="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():null;t&&e.headers.set("x-snowflake-request-id",t)},this.beachInterceptor=e=>{let t=localStorage.getItem("pepBeachBackendVersion"),r=localStorage.getItem("pepBeachCanary");t?e.headers.set($,`beach-${t}`):r&&e.headers.set($,"canary")}}}_(L,"instance",void 0);let B=Symbol.for("_sf_fetchLaunchDataPromise");async function V(e){let t=`${window.location.origin}/pep.guest.v1.GuestService/GetGuestLaunchData`,r={};e&&e.length>0&&(r.manifestKeys=e);let n=await A({args:[t,{method:"POST",headers:{"Content-Type":"application/json","Connect-Protocol-Version":"1"},body:JSON.stringify(r),credentials:"include"}],observableName:"pep_connect_fetch__fetch_guest_launch_data"});if(!n.ok)throw Error(`Guest launch data fetch failed: ${n.status}`);return n.json()}async function M(e){let t={};return e&&e.length>0&&(t.manifestKeys=e),L.getInstance().call("/pep.launch.v1.LaunchService/GetLaunchData",t,{observableName:"fetch_launch_data"})}function W(e,t){return`${e}::${t}`}function q(e){return W(e.decodedUsername??function(e){try{if(![...e].every(e=>255>=e.charCodeAt(0)))return;let t=new Uint8Array([...e].map(e=>e.charCodeAt(0))),r=new TextDecoder("utf-8",{fatal:!0}).decode(t);if(r!==e)return r}catch{}}(e.username)??e.username,e.url)}let X=e=>W(e.username,e.url);function K(e,t){var r,n;return{appServerUrl:(null==t||null==(r=t.PageParams)?void 0:r.appServerUrl)||e.appServerUrl,userKey:X(e),decodedUserKey:q(e),role:sessionStorage.getItem("currentrole")??void 0,csrfToken:null==t||null==(n=t.PageParams)?void 0:n.csrfToken}}async function H(){let e=`${window.location.origin}/pep.versions?manifests=true`,t=await A({args:[e,{method:"GET",headers:{"Content-Type":"application/json","Connect-Protocol-Version":"1"},credentials:"omit"}],observableName:"pep_connect_fetch__fetch_versions"});if(!t.ok)throw Error(`Versions fetch failed: ${t.status}`);return t.json()}async function J(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e&&L.create(()=>K(e));try{if(e){let e=await M(r);return x.addTiming("launch_data_loaded",T()),e.session={kind:"authenticated"},e}{let e=await V(r);return x.addTiming("guest_launch_data_loaded",T()),e.session={kind:"guest"},e}}catch(n){if(n instanceof j&&401===n.httpStatus&&(t={kind:"unauthenticated",isBlockedFromInterface:!1},x.addAction("bootloader_session_expired",{source:"getLaunchDataFromPep"})),n instanceof j&&403===n.httpStatus&&n.details.some(e=>{var t;return(null==e||null==(t=e.debug)?void 0:t.errorDetail)==="ERROR_DETAIL_BLOCKED_FROM_INTERFACE"})&&(t={kind:"unauthenticated",isBlockedFromInterface:!0},x.addAction("bootloader_blocked_from_interface",{source:"getLaunchDataFromPep"})),e)try{let e=await V(r);return x.addTiming("guest_launch_data_loaded",T()),e.session=t??{kind:"guest"},e}catch{}x.addError(n,{bootloaderError:"launch_data_fetch"}),console.error(`Failed to get launch data: ${n}`);try{return{manifests:(await H()).manifests,session:t??{kind:"failed",error:n}}}catch(e){throw x.addError(e,{bootloaderError:"launch_data_fetch_versions"}),console.error(`Failed to get versions: ${e}`),e}}}function z(e,t,r){if(!t)return;let n=J(e,r);window[B]=n}async function G(e,t,r){if(!window[B])for(z(e,t,r);!window[B];)await new Promise(e=>setTimeout(e,10));return window[B]}let Y={retries:1,delay:10,timeout:"INFINITELY"},Z=e=>{let{src:t,fetchPriority:r}=e;return(0,y.retry)(async()=>{let e=document.createElement("script"),n=new Promise((t,r)=>{e.onload=e=>t(e),e.onerror=(t,n,a,o,i)=>r(i||Error("string"==typeof t?t:`Error loading ${e.src}`))});e.src=t,e.defer=!0,r&&(e.fetchPriority=r),document.body.appendChild(e);try{await n}catch(t){var a;throw null==e||null==(a=e.parentNode)||a.removeChild(e),t}},{...Y,logger:e=>{x.addError(e,{bootloaderError:"script_asset_load"})}})},Q=e=>{let{href:t,as:r,crossOrigin:n="anonymous"}=e,a=document.createElement("link");a.rel="preload",a.href=t,a.as=r,a.crossOrigin=n,document.head.appendChild(a)},ee=e=>{let{src:t}=e;return(0,y.retry)(async()=>{let e=document.createElement("link"),r=new Promise((t,r)=>{e.onload=t,e.onerror=(t,n,a,o,i)=>r(i||Error("string"==typeof t?t:`Error loading ${e.href}`))});e.rel="stylesheet",e.href=t,document.body.appendChild(e);try{await r}catch(t){var n;throw null==e||null==(n=e.parentNode)||n.removeChild(e),t}},{...Y,logger:e=>{x.addError(e,{bootloaderError:"css_asset_load"})}})},et=Symbol.for("snowsight.launchData");function er(){if("DISABLED"===v("_DP_UI_SHELL_ENABLED"))return window.numeracy.featureFlags||(window.numeracy.featureFlags={}),window.numeracy.featureFlags._DP_UI_SHELL_ENABLED={value:!1},!1;return!0===v("_DP_UI_SHELL_ENABLED")}async function en(e,t){if(!b("experiment.shell")||!e&&!function(e){let t=e.replace(/^\/bootstrap/,"");return!(!t.startsWith("/marketplace")||/^\/marketplace\/internal(\/|$)/.test(t)||/^\/marketplace\/listing\/[^/]+\/offer\//.test(t)||/^\/marketplace\/listing\/[^/]+\/[^/]+\/offer\//.test(t))}(window.location.pathname))return!1;try{var r,n,a,o,i,s,l,c;let u="local"!==t,d=await G(e,!0,u?["snowshell"]:[]);if(d.parameters){if(window.numeracy.featureFlags=function(e){try{let t={};for(let[r,{stringValue:n,integerValue:a,longValue:o,doubleValue:i,booleanValue:s,...l}]of Object.entries(e.parameters))t[r]={value:n??a??o??i??s,...l};return t}catch(e){return console.error("Failed to get flags data:",e),{}}}(d),!er()&&S(!1))return!1}else window.numeracy.featureFlags={};if(window.numeracy.org=d.org,window.numeracy[et]=d,g((null==(r=d.org)?void 0:r.appPath)??"/"),!u)return await Z({src:"/static/pep/snowshell/static/js/snowshell.js"}),!0;if(!d.manifests)return!1;window.numeracy.manifests=Object.fromEntries(Object.entries(d.manifests).map(e=>{let[t,r]=e;return[t,"string"==typeof r?JSON.parse(r):r]}));let f=null==(n=window.numeracy.manifests)?void 0:n.snowshell;if(!f)throw Error("No shell manifest found in launch data");let p=null==(i=f.entries)||null==(o=i.snowshell)||null==(a=o.initial)?void 0:a.js;if(!p)throw Error("No snowshell entrypoints found in shell manifest");let h=[];for(let e of p)h.push(Z({src:e,fetchPriority:"high"}));for(let e of(null==(c=f.entries)||null==(l=c.snowshell)||null==(s=l.initial)?void 0:s.css)||[])h.push(ee({src:e}));return await Promise.all(h),!0}catch(e){return x.addError(e,{bootloaderError:"bootstrap_shell_experiment"}),!1}}let ea={isLaunchShadowEnabled:()=>!0===v("_DP_UI_ENABLE_INVOKE_LAUNCH_SERVICE_IN_SHADOW")},eo="csrfToken",{setCsrfToken:ei,getCsrfToken:es}=function(){let e=(()=>{try{let e=sessionStorage.getItem(eo);if(!e)return{};return JSON.parse(e)}catch{return{}}})();return{setCsrfToken:function(t,r){e[t]=r,sessionStorage.setItem(eo,JSON.stringify(e))},getCsrfToken:function(t){return e[t]}}}();var el=r(129);let ec="snowflakeContext",eu="authparams",ed="snowflake_oauth_pkce";function ef(){localStorage.removeItem(ed)}async function ep(e){let{appServerUrl:t,authToken:r}=e;try{let e={};r&&(e["X-Coldbrew-User-Token"]=r);let n=new URL(`${t}/v1/set-cookie`),a=await fetch(n.toString(),{method:"GET",credentials:"include",headers:e});if(!a.ok)return!1;let o=await a.json();return!0===o.success}catch(e){return!1}}async function eh(e,t,r){try{let n=function(){try{let e=localStorage.getItem(ed);if(!e)return null;return JSON.parse(e)}catch{return ef(),null}}();if(!n)return!1;let a={oauthNonce:t,codeVerifier:n.codeVerifier,codeChallengeMethod:n.codeChallengeMethod,sessionExchangeCode:e},o=await fetch(`${r}/v1/session-exchange`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!o.ok)return!1;if((await o.json()).success)return ef(),function(){let e=new URL(window.location.href),t=new URLSearchParams(e.hash.substring(1));t.delete("sessionExchangeCode"),t.delete("oauthNonce"),t.delete("appServerUrl");let r=t.toString();r?e.hash=r:e.hash="",window.history.replaceState(null,"",e.toString())}(),!0;return!1}catch{return!1}finally{ef()}}let em=async e=>{let t=function(e){try{let t=e.hash.substring(1),r=new URLSearchParams(t),n=r.get("sessionExchangeCode"),a=r.get("oauthNonce"),o=r.get("appServerUrl");if(n&&a&&o)return{sessionExchangeCode:n,oauthNonce:a,appServerUrl:o};return null}catch{return null}}(e);if(t&&await eh(t.sessionExchangeCode,t.oauthNonce,t.appServerUrl))return window.location.reload(),null;let r=e.searchParams.get(eu),n=el.get(r||eu),a=new URLSearchParams(e.hash.replace(/^#/u,"")).get(eu),o=null;if(n)try{o=JSON.parse(atob(n))}catch(e){o=null}if(null===o&&a)try{o=JSON.parse(atob(a))}catch(e){return null}return null===o&&(o=function(){try{let e=sessionStorage.getItem("sf_authparams");if(!e)return null;return JSON.parse(atob(e))}catch(e){return null}}()),(null==o?void 0:o.authToken)&&(null==o?void 0:o.appServerUrl)&&!t&&await ep({appServerUrl:o.appServerUrl,authToken:o.authToken}),o},ew=e=>{let t=sessionStorage.getItem(ec)??el.get(ec);return t?e[t]??null:null},eg=e=>{let[t,r,n]=e.pathname.split("/").map(e=>e.toLowerCase());return[n,r]},ey=(e,t)=>{let[r,n]=eg(e),a=null;for(let e in t){var o,i;let s=t[e],l=null==(o=s.account)?void 0:o.toLowerCase(),c=null==(i=s.region)?void 0:i.toLowerCase();l===r&&c===n&&(!a||s.updated&&s.updated>(a.updated??0))&&(a=s)}return a},ev=e=>{let[t,r,n]=e.pathname.split("/").map(e=>e.toLowerCase());return[r,n]},eb=(e,t)=>{let[r,n]=ev(e),a=null;for(let e in t){var o,i;let s=t[e],l=null==(o=s.snowflakeOrgName)?void 0:o.toLowerCase(),c=null==(i=s.accountAlias)?void 0:i.toLowerCase();l===r&&c===n&&(!a||s.updated&&s.updated>(a.updated??0))&&(a=s)}return a},eS=(e,t)=>eb(e,t)??ey(e,t),e_=async e=>{if("LOGIN_FAILED"===new URLSearchParams(window.location.search).get("error")||"#/session-expired"===e.hash)return null;let t=JSON.parse(localStorage.getItem("loggedInAccounts")??"{}"),r=ew(t),n=await em(e)??function(e,t){return!e||t&&(e.region===t.region&&e.account===t.account||e.snowflakeOrgName===t.snowflakeOrgName&&e.accountAlias===t.accountAlias)?t:e}(eS(e,t),r);if(n){r!==n&&(sessionStorage.removeItem("currentrole"),sessionStorage.removeItem("currentsecondaryroles"));let e=X(n);sessionStorage.setItem(ec,e),el.set(ec,e)}return n};async function ek(e){if(!e)return;L.create(()=>K(e));let t=L.getInstance().call("/pep.cortex.intelligence.v1.AppService/GetLaunchData",{},{observableName:"fetch_intelligence_launch_data"}),r=await t,n={};for(let[e,t]of Object.entries(r.parameters)){let{longValue:r,integerValue:a,doubleValue:o,booleanValue:i,stringValue:s,...l}=t,c=r?Number(r):a??o??i??s;n[e]={value:c,...l}}return k.featureFlags=n,r}async function eE(e){var t,r,n,a;if(e){if(null==(r=window.snowflakeIntelligence)||null==(t=r.initialAppData)?void 0:t.launchDataPromise)return window.snowflakeIntelligence.initialAppData.launchDataPromise;(n=window).snowflakeIntelligence||(n.snowflakeIntelligence={}),(a=window.snowflakeIntelligence).initialAppData||(a.initialAppData={}),window.snowflakeIntelligence.initialAppData.launchDataPromise=ek(e);try{let e=await window.snowflakeIntelligence.initialAppData.launchDataPromise;return x.addTiming("intelligence_launch_data_loaded",T()),e}catch(e){throw x.addError(e,{bootloaderError:"intelligence_launch_data_fetch"}),e}}}async function eI(e){let t=(await m({appServerUrl:e},!1))["pe-platform"],r="/static/pep/intelligence/".replace(/\/$/,""),n=`${r}/standalone/intelligence-standalone-manifest-${t}.json`,a=await fetch(n);if(!a.ok)throw Error(`Failed to fetch intelligence manifest: ${a.statusText}`);let o=await a.json();if(!o)throw Error("Failed to parse intelligence manifest");return o}async function eP(e){var t,r;return(t=window).snowflakeIntelligence||(t.snowflakeIntelligence={}),(r=window.snowflakeIntelligence).initialAppData||(r.initialAppData={}),window.snowflakeIntelligence.initialAppData.standaloneManifestPromise||(window.snowflakeIntelligence.initialAppData.standaloneManifestPromise=eI(e)),window.snowflakeIntelligence.initialAppData.standaloneManifestPromise}let eU=async e=>{var t,r;let n=null==(r=(await eP((null==(t=e.PageParams)?void 0:t.appServerUrl)??"")).entrypoints)?void 0:r.index;if(!n||0===n.length)throw Error("No intelligence entrypoints found in manifest");let a=[];for(let e of n)if(e.endsWith(".css")){let t=ee({src:e});a.push(t)}else if(e.endsWith(".js")){let t=Z({src:e});a.push(t)}return await Promise.all(a)};async function eO(e,t){var r,n;(r=window).snowflakeIntelligence||(r.snowflakeIntelligence={}),(n=window.snowflakeIntelligence).initialAppData||(n.initialAppData={}),window.snowflakeIntelligence.initialAppData.legacyBootstrapData=t,window.snowflakeIntelligence.isStandaloneApp=!0,await eE(e);let a=eU(t);await Promise.all([window.snowflakeIntelligence.initialAppData.launchDataPromise,a])}function eD(){let e=window.location.hostname;return e.startsWith("ai.snowflake.")||e.startsWith("preprod.ai.snowflake.")||e.startsWith("si-")&&D(e)}async function eN(e){if(!eD()||!e)return!1;eP(e.appServerUrl);try{let t=await eE(e);if(null==t?void 0:t.parameters)return!0;return eR(),!1}catch(t){return eR(),x.addError(t,{message:"failed_to_initialize_intelligence_app",isAccountExpired:!!((null==e?void 0:e.expiresAt)&&e.expiresAt<Date.now()),isAccountDefined:!!e,appServerUrlFromAccount:(null==e?void 0:e.appServerUrl)??""}),console.error(`Failed to initialize Intelligence app: ${t}`),!1}}function eR(){var e;(null==(e=window.snowflakeIntelligence)?void 0:e.initialAppData)&&delete window.snowflakeIntelligence.initialAppData.standaloneManifestPromise,delete window[h]}function eC(e){return null==e?"_default":"number"==typeof e?e.toString():e}function eF(e){let t=eC(e);return window.localStorage.getItem(`_clientVersionOverride_${t}`)}let ex=/^([0-9a-z_]*[\w-]*-)?([df][0-9a-zA-Z]+(?::[^@]+)?)$/u,eT=e=>(e||"").split("-").slice(-1)[0],eA=()=>!!window.location.hash&&window.location.hash.startsWith("#/"),ej="blockedFromInterface";function e$(){let e=localStorage.getItem(ej);if(!e)return null;try{let t=JSON.parse(e);if(t&&"object"==typeof t&&Object.getPrototypeOf(t)===Object.prototype)return t}catch(e){console.error("Error parsing blocked from interface cache data:",e)}return localStorage.removeItem(ej),null}function eL(e){localStorage.setItem(ej,JSON.stringify(e)),window.dispatchEvent(new StorageEvent("storage",{key:ej}))}let eB="bootstrapData",eV=new class{set(e){this.data=e;try{sessionStorage.setItem(eB,JSON.stringify(e))}catch(e){console.error(`Failed to store bootstrap data in session storage: ${e}`)}}get(){if(!this.data){let e=sessionStorage.getItem(eB);e&&(this.data=JSON.parse(e))}return structuredClone(this.data)}setUser(e){let t=this.get();t&&(t.User=e,this.set(t))}constructor(){_(this,"data",void 0)}},eM=e=>{var t;return e.Org&&e.User?W(e.User.username,e.Org.url):(null==(t=e.PageParams)?void 0:t.appServerUrl)?`_::${e.PageParams.appServerUrl}`:null};class eW{}_(eW,"Namespace","cachedBootstrapData");class eq{async get(e){let t=eq.getCacheKey(e),r=await this.cachedBoostrapDataStorage.get(t);return r?eq.isCacheable(r)?r:(await this.cachedBoostrapDataStorage.delete(t),null):null}async set(e){let t=eM(e);if(t&&eq.isCacheable(e))try{await this.cachedBoostrapDataStorage.set(eq.getCacheKey(t),this.createCachedBootstrapResponse(e))}catch(e){console.error(`Failed to store bootstrap data in storage: ${e}`)}finally{await this.cachedBoostrapDataStorage.garbageCollect()}}static isCacheable(e){var t,r;return null==(r=e.Org)||null==(t=r.settings)||!t.isPolaris}static getCacheKey(e){return[eW.Namespace,el.get("snowflake_apps_channel")||"main",el.get("snowflake_apps_channel_staging")||"_",e].join("::")}createCachedBootstrapResponse(e){let t={UpdatedAt:Date.now(),BuildVersion:e.BuildVersion,PageParams:e.PageParams};return e.Org&&(t.Org={settings:{isPolaris:e.Org.settings.isPolaris,snowflakeFeatures:e.Org.settings.snowflakeFeatures,snowflakeParametersWithMetadata:e.Org.settings.snowflakeParametersWithMetadata},account:e.Org.account,url:e.Org.url}),e.User&&(t.User={availableRoles:e.User.availableRoles,avatar:e.User.avatar,canModifyParameters:e.User.canModifyParameters,email:e.User.email,id:e.User.id,name:e.User.name,settings:e.User.settings,username:e.User.username,gsCreatedOn:e.User.gsCreatedOn,firstName:e.User.firstName,lastName:e.User.lastName}),t}constructor(e){_(this,"cachedBoostrapDataStorage",void 0),this.cachedBoostrapDataStorage=e}}let eX=e=>W(e.username,e.url);class eK extends eW{async set(e,t){try{await this.executeInDatabase(async r=>{let n=r.transaction(eK.ObjectStoreName,"readwrite").objectStore(eK.ObjectStoreName);await this.requestToPromise(n.put({key:e,response:t}))})}catch(e){console.error("Unable to add data to the database.",e)}}async get(e){try{return await this.executeInDatabase(async t=>{let r=t.transaction(eK.ObjectStoreName,"readonly").objectStore(eK.ObjectStoreName),n=await this.requestToPromise(r.get(e));return n&&n.response.UpdatedAt>this.twoWeeksAgo()?n.response:null})}catch(e){return console.error("Unable to retrieve data from the database.",e),null}}async delete(e){try{await this.executeInDatabase(async t=>{let r=t.transaction(eK.ObjectStoreName,"readwrite").objectStore(eK.ObjectStoreName);await this.requestToPromise(r.delete(e))})}catch(e){console.error("Unable to delete data from the database.",e)}}async garbageCollect(){try{await this.executeInDatabase(async e=>{let t=e.transaction(eK.ObjectStoreName,"readwrite").objectStore(eK.ObjectStoreName);for(let e of(await this.requestToPromise(t.getAll())))e.key.startsWith(eW.Namespace)&&e.response.UpdatedAt<=this.twoWeeksAgo()&&await this.requestToPromise(t.delete(e.key))}),this.cleanUpLocalStorage()}catch(e){console.log("Failed to invalidate stale caches.",e)}}cleanUpLocalStorage(){for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);null!=t&&t.startsWith(eW.Namespace)&&localStorage.removeItem(t)}}async executeInDatabase(e){let t=null;try{return t=await this.openDatabase(),await e(t)}finally{t&&t.close()}}openDatabase(){return new Promise((e,t)=>{let r=indexedDB.open(eK.DatabaseName,eK.DatabaseVersion);r.onerror=e=>{t(e)},r.onsuccess=t=>{e(t.target.result)},r.onupgradeneeded=e=>{let t=e.target.result;t.objectStoreNames.contains(eK.ObjectStoreName)||t.createObjectStore(eK.ObjectStoreName,{keyPath:"key"})}})}requestToPromise(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error)})}twoWeeksAgo(){return Date.now()-12096e5}}_(eK,"DatabaseName","CachedBootstrapData"),_(eK,"DatabaseVersion",1),_(eK,"ObjectStoreName","responses");let eH=async e=>{let t=await eJ(e);if(t){var r,n,a,o,i,s,l,c,u;window.sessionStorage.setItem("ddRumDisabled",(null==t||null==(a=t.bootstrapResponse)||null==(n=a.PageParams)||null==(r=n.ddRumDisabled)?void 0:r.toString())??"false"),window.sessionStorage.setItem("ddAppId",(null==t||null==(i=t.bootstrapResponse)||null==(o=i.PageParams)?void 0:o.ddAppId)??""),window.sessionStorage.setItem("ddClientToken",(null==(l=t.bootstrapResponse)||null==(s=l.PageParams)?void 0:s.ddClientToken)??""),window.sessionStorage.setItem("sprigEnvironmentId",(null==(u=t.bootstrapResponse)||null==(c=u.PageParams)?void 0:c.sprigEnvironmentId)??"")}return t};async function eJ(e){var t;let r=new eq(new eK),n=await r.get(eX(e));return n?(eV.set(n),k.bootstrapFetches||(k.bootstrapFetches={}),k.bootstrapFetches.bootstrapResponse=n,t=e,setTimeout(async()=>{await eG(t)},0),{bootstrapResponse:n,fromCache:!0}):{bootstrapResponse:await eG(e),fromCache:!1}}async function ez(e){let t=await eY(e);return t&&(eV.set(t),k.bootstrapFetches||(k.bootstrapFetches={}),k.bootstrapFetches.bootstrapResponse=t),t}async function eG(e){let t=await ez(e);if(t){let e=new eq(new eK);await e.set(t)}return t}async function eY(e){let t=e.appServerUrl,r=K(e);try{return await (0,y.retry)(async()=>{let e=await A({args:[`${t}/bootstrap?deferSync=true`,{credentials:"include",headers:{...R(r)[1]}}],observableName:"deployment_bootstrap"});if(!e.ok)throw Error(e.statusText);let n=await e.json();if(!n.BuildVersion)throw Error("No build version specified");let a=e.headers.get("X-Pinned-Version");return window.localStorage.setItem("pinnedVersion",a??""),n},{...Y,logger:e=>{x.addError(e,{bootloaderError:"deployment_bootstrap_fetch"})}})}catch(e){return console.error(`Failed to get version from deployment: ${e}`),null}}function eZ(){return"preprod.app.snowflake.com"===window.location.hostname||window.location.hostname.includes("qa6.us-west-2")||window.location.hostname.includes("snowflake.local")}function eQ(e){var t,r,n,a;return!!k.featureFlags||null!=(r=e.Org)&&null!=(t=r.settings)&&!!t.snowflakeFeatures&&null!=(a=e.User)&&null!=(n=a.settings)&&!!n.snowflakeFeatures&&(k.featureFlags={...e.Org.settings.snowflakeFeatures,...e.User.settings.snowflakeFeatures,...e.Org.settings.snowflakeParametersWithMetadata,...e.User.settings.snowflakeParametersWithMetadata},!0)}async function e0(e,t){var r,o,i;if((null==(r=e.PageParams)?void 0:r.enableBootstrapParametersPreloading)===!1||(k.bootstrapFetches||(k.bootstrapFetches={}),k.bootstrapFetches.extendedBootstrapData=n,k.bootstrapFetches.guestBootstrapData=a,eQ(e)||!n&&!a))return;let s=performance.now(),l=new AbortController;try{for(let e of t)fetch(e,{signal:l.signal}).catch(()=>{});let e=n?await n:await a;return k.featureFlags=(null==e||null==(o=e.clientParameters)?void 0:o.reduce((e,t)=>(e[t.name]=t,e),{}))??{},e}finally{let e=performance.now()-s;(null==(i=window.bootloaderAnalytics)?void 0:i.extendedBootstrapCall)&&(window.bootloaderAnalytics.extendedBootstrapCall.blockingTime=e),l.abort("Received an initial bootstrap response, no need to preload scripts anymore")}}async function e1(e,t){try{return await (0,y.retry)(async()=>{var r;let n=(null==t||null==(r=t.PageParams)?void 0:r.appServerUrl)||(null==e?void 0:e.appServerUrl)||(null==k?void 0:k.appServerUrl)||window.location.origin,a=await A({args:[`${n}/v0/guest/session/request/console/bootstrap-data-request?desc=parameters`,{credentials:"include",body:JSON.stringify({dataKinds:["CLIENT_PARAMS_INFO"]}),headers:{"x-snowflake-role":"PUBLIC","Content-Type":"application/json"},method:"POST"}],observableName:"deployment_extended_bootstrap_guest"});if(!a.ok)throw Error(a.statusText);return{clientParameters:(await a.json()).data.clientParamsInfo}},Y)}catch(e){return console.error(`Failed to get extended bootstrap data from deployment: ${e}`),null}}async function e2(e,t){if(await eN(e))return null;try{let r=K(e,t);return await (0,y.retry)(async()=>{let e=await A({args:[`${r.appServerUrl}/v0/fetch-extended-bootstrap-data`,{credentials:"include",headers:{...R(r)[1]},method:"POST"}],observableName:"deployment_extended_bootstrap"});if(!e.ok){if(await e4(e,r.userKey))return null;throw Error(e.statusText)}return await e.json()},Y)}catch(e){return console.error(`Failed to get extended bootstrap data from deployment: ${e}`),null}}async function e4(e,t){let r=!1;if(403==e.status)try{let n=await e.json();r=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Unknown error";return!!function(e){if("object"==typeof e&&null!==e&&"error"in e){var t;return(null==(t=e.error)?void 0:t.code)==="USER_BLOCKED_FROM_INTERFACE"}return!1}(e)&&(!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unknown error";!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unknown error",r={restricted:!0,timestamp:Date.now(),reasonMessage:t},n=e$()||{};n[e]=r,eL(n),setTimeout(()=>{!function(){let e=e$();if(!e)return;let t=Date.now()-144e5;if(Object.entries(e).forEach(r=>{let[n,a]=r;(void 0===a.timestamp||a.timestamp<t)&&delete e[n]}),0===Object.keys(e).length)return localStorage.removeItem(ej),window.dispatchEvent(new StorageEvent("storage",{key:ej}));eL(e)}()},0)}(e,t)}(t,r),!0)}(n,t,"Error in bootloader v0/fetch-extended-bootstrap-data")}catch(e){console.error(`Failed to inspect extended bootstrap data error response: ${e}`)}return r}let e5={NOT_FOUND:"404: Not Found"},e6=async e=>{let t,{version:r}=e;try{t=await (0,y.retry)(async()=>{let e=await A({args:[`/static/manifest-${r}.json`],observableName:"manifest"});if(!e.ok){if(404===e.status)throw new y.NotRetryableError(e5.NOT_FOUND);throw Error(e.statusText)}return await e.json()},{...Y,logger:e=>{x.addError(e,{bootloaderError:"build_manifest_load"})}})}catch(e){console.warn(`Failed to fetch build manifest: ${e}`)}return t},e9=e=>{let{buildManifest:t,entrypoint:r}=e;return(t.entrypoints[r]||[]).map(e=>`/static/${e}`)},e3=(e,t)=>{if("260422-4-99ac0907db5"===e.BuildVersion&&null!==t)return Promise.resolve(function(e){let t={appServerUrl:e.appServerUrl,userKey:X(e),decodedUserKey:q(e),role:sessionStorage.getItem("currentrole")??void 0},r=function(){let e=window.location.pathname;if(e.endsWith("/")&&(e=e.slice(0,-1)),!eA())return e;let t=window.location.hash.split("/");if(2!==t.length)return e;let[r,n]=t,a=new Set(["data","dashboards","datastream"]);return n&&!a.has(n)&&ex.test(n)&&(e=e+"/"+eT(n)),e}()+window.location.search,n=`/bootstrap${r}`,[a,o]=R(t,void 0,void 0,console);return{fetchResponse:A({args:[`${t.appServerUrl}${n}`,{...a,headers:o}],observableName:"app_bootstrap"}),path:n,requestContext:t}}(t))},e7=async(e,t)=>{var r,n;let a=eF(null==e||null==(r=e.User)?void 0:r.id)||e.BuildVersion,o=function(e){var t;return(null==(t=e.Org)?void 0:t.settings.isPolaris)?"polaris":"numeracy"}(e),i=function(e,t){return"#/accounts"===t.hash||/^\/?$/iu.test(t.pathname)&&!e}(t,window.location);k.bootstrapFetches=k.bootstrapFetches||{};try{i||(k.bootstrapFetches.application=e3(e,t))}catch(e){k.bootstrapFetches.application=void 0,console.warn(`Failed to run bootstrap fetches: ${e}`)}let s=document.createComment(`License information for included third-party packages can be found at ${window.location.origin}/static/oss-licenses-${a}.json`);if(document.body.appendChild(s),await eN(t))return void await eO(t,e);let l=await e6({version:a});if(x.addTiming("build_manifest_loaded",T()),void 0===l)throw Error("Failed to load application");let c=[],u=e9({buildManifest:l,entrypoint:i?"signin":o}),d=[];for(let e of((null==(n=l.localization)?void 0:n["en-US"])&&Q({href:l.localization["en-US"],as:"fetch"}),u))if(e.endsWith(".js")&&d.push(e),e.endsWith(".css")){let t=ee({src:e});c.push(t)}for(let t of(await e0(e,d),x.addTiming("parameters_loaded",T()),d)){let e=Z({src:t});c.push(e)}let f=await Promise.all(c);return x.addTiming("assets_loaded",T()),f},e8=()=>{let e=`
  <style>
    body {
      margin: 0;
    }

    .global-app-error {
      font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      height: 100vh;
      background-color: #f7f7f7ff;
    }

    .primary-error-message {
      color: #1e252fff;
      font-size: 28px;
      font-weight: 700;
      margin-bottom: 0.5em;
    }

    .subtitle-error-message {
      color: #5d6a85ff;
      font-size: 16px;
      font-weight: 300;
      margin-top: 0;
      margin-bottom: 2em;
    }
  </style>
  <div class="global-app-error">
    <h1 class="primary-error-message">Something went wrong</h1>
    <h3 class="subtitle-error-message">Please refresh the page</h3>
  </div>
  `,t=document.getElementById("reactRoot");t?t.innerHTML=e:document.body.innerHTML=e};function te(e){return async function(t,r){try{await e(t,r)}catch(e){console.error(`Failed to load application: ${e}`),e8()}}}let tt=async e=>{var t,r,o,s,l,c;let{includedVersion:u,loader:d,url:f}=e,p=await e_(f??new URL(window.location.href));if(!i()&&await en(p,u))return;let h=(null==p?void 0:p.appServerUrl)?await eH(p):null;x.addTiming("deployment_bootstrap_loaded",T());let w=(null==h?void 0:h.bootstrapResponse)||null,y=null==w||null==(t=w.PageParams)?void 0:t.appServerUrl;w&&(eQ(w),er()?S(!0)&&window.location.reload():S(void 0)),(null==w||null==(r=w.Org)?void 0:r.appPath)&&g(w.Org.appPath),y&&function(e){if(null===e)return eZ();let t=v("_DP_UI_ENABLE_MFE_VERSION_PREFETCH");return!!(!0===t||eZ()&&!1!==t)}(w)&&m({appServerUrl:y},!0).then(e=>{var t,r;((r=window).numeracy||(r.numeracy={})).manifests=e.manifests||{};let n=null==(t=e.manifests)?void 0:t.ai;n&&!0===v("_DP_UI_ENABLE_MFE_AI_PREFETCH")&&function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{baseUrl:r="",includeAsync:n=!1,moduleNames:a}=t,o=[],i=new Set,s=(e,t)=>{let n=r+e;i.has(n)||(i.add(n),o.push(function(e,t,r){let n=document.createElement("link");return n.rel="preload",n.as=t,n.href=r+e,document.head.appendChild(n),n}(e,t,r)))};for(let t of e.exposes){if(a&&!a.includes(t.name))continue;let{assets:e}=t;for(let t of e.js.sync)s(t,"script");for(let t of e.css.sync)s(t,"style");if(n){for(let t of e.js.async)s(t,"script");for(let t of e.css.async)s(t,"style")}}s(e.metaData.remoteEntry.name,"script")}(n,{baseUrl:"/pep/ui/ai/"})}),i()||z(p,ea.isLaunchShadowEnabled()),y&&(null==w||null==(o=w.PageParams)?void 0:o.csrfToken)&&ei(y,w.PageParams.csrfToken),function(e,t){var r,o;e&&(null==t||null==(r=t.PageParams)?void 0:r.csrfToken)&&(null==t||null==(o=t.PageParams)?void 0:o.enableBootstrapParametersPreloading)?(n=e2(e,t),a=void 0):eZ()&&.2>Math.random()?(a=e1(e,t),n=void 0):(n=void 0,a=void 0)}(p,w),window.NUMERACY_VERSION_OVERRIDE&&function(e,t){let r=eC(e);window.localStorage.setItem(`_clientVersionOverride_${r}`,t)}(null==w||null==(l=w.User)?void 0:l.id,window.NUMERACY_VERSION_OVERRIDE);let b=eF(null==w||null==(s=w.User)?void 0:s.id);if(window.bootloaderAnalytics={versionAnalytics:{bootstrapAndBuiltinVersionMatch:(null==w?void 0:w.BuildVersion)===u,calledBootstrap:null!==w,versionOverrideEnabled:null!==b},bootstrapCall:{cacheHit:!!(null==h?void 0:h.fromCache)},extendedBootstrapCall:{blockingTime:void 0}},u.startsWith("PR-")){!function(e){let t=eC(e);window.localStorage.removeItem(`_clientVersionOverride_${t}`)}(null==w||null==(c=w.User)?void 0:c.id),await d({...w,BuildVersion:u},p);return}return(null==w?void 0:w.BuildVersion)?void await d(w,p):await d({BuildVersion:u},p)};(async()=>{x.addTiming("start",T());let e=Object.fromEntries(new URLSearchParams(window.location.search));eD()&&(document.title="Snowflake Intelligence"),(e.numeracy_version_override||e._nv)&&(window.NUMERACY_VERSION_OVERRIDE=e.numeracy_version_override||e._nv);try{Object.entries(e).forEach(e=>{let[t,r]=e;if(t.startsWith(s)){let e=t.slice(s.length);l.has(e)&&localStorage.setItem(e,r)}})}catch(e){console.warn("Failed to write query params to localStorage",e)}if("entrypoint_version_override"in e&&"260422-4-99ac0907db5"!==e.entrypoint_version_override){let t=await e6({version:e.entrypoint_version_override});if(void 0===t)throw Error("Failed to load application");let r=Object.keys(t).find(e=>e.startsWith("bootloader."));await Z({src:t[r].file});return}tt({includedVersion:"260422-4-99ac0907db5",loader:te(e7)})})();let tr=Symbol.for("snapps.invokeBootstrap");window[tr]=async()=>{let e=te(e7);await tt({includedVersion:"260422-4-99ac0907db5",loader:e})}})()})();
//# sourceURL=bootloader.7d18eead.js
//# sourceMappingURL=https://s3-us-west-2.amazonaws.com/sfc-eng-static-web-ui-dev.snowflakecomputing.com/snapps/static/bootloader.7d18eead.js.map</script></body></html>