UNPKG

altair-static

Version:

Static package for altair graphql client

7 lines (4 loc) 18.1 kB
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3a6ca7e4-a032-53f2-8597-ebc3913ba119")}catch(e){}}(); import{i as he,k as ae}from"./chunk-RU5GXIYR.js";import{Fa as oe,Ha as we}from"./chunk-K6UUAPPR.js";import"./chunk-ZYOLZTH5.js";import{a as I,b as V,j as ce}from"./chunk-B7YGBANW.js";function S(s){return Array.isArray?Array.isArray(s):ye(s)==="[object Array]"}var Le=1/0;function be(s){if(typeof s=="string")return s;let e=s+"";return e=="0"&&1/s==-Le?"-0":e}function Re(s){return s==null?"":be(s)}function A(s){return typeof s=="string"}function me(s){return typeof s=="number"}function ke(s){return s===!0||s===!1||Oe(s)&&ye(s)=="[object Boolean]"}function Me(s){return typeof s=="object"}function Oe(s){return Me(s)&&s!==null}function M(s){return s!=null}function z(s){return!s.trim().length}function ye(s){return s==null?s===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(s)}var Te="Incorrect 'index' type",$e=s=>`Invalid value for key ${s}`,Ne=s=>`Pattern length exceeds max of ${s}.`,Ce=s=>`Missing ${s} property in key`,Fe=s=>`Property 'weight' in key '${s}' must be a positive integer`,le=Object.prototype.hasOwnProperty,Q=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(r=>{let n=_e(r);t+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(r=>{r.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function _e(s){let e=null,t=null,r=null,n=1;if(A(s)||S(s))r=s,e=ue(s),t=Y(s);else{if(!le.call(s,"name"))throw new Error(Ce("name"));let i=s.name;if(r=i,le.call(s,"weight")&&(n=s.weight,n<=0))throw new Error(Fe(i));e=ue(i),t=Y(i)}return{path:e,id:t,weight:n,src:r}}function ue(s){return S(s)?s:s.split(".")}function Y(s){return S(s)?s.join("."):s}function je(s,e){let t=[],r=!1,n=(i,c,a)=>{if(M(i))if(!c[a])t.push(i);else{let h=c[a],o=i[h];if(!M(o))return;if(a===c.length-1&&(A(o)||me(o)||ke(o)))t.push(Re(o));else if(S(o)){r=!0;for(let l=0,u=o.length;l<u;l+=1)n(o[l],c,a+1)}else c.length&&n(o,c,a+1)}};return n(s,A(e)?e.split("."):e,0),r?t:t[0]}var ve={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},De={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(s,e)=>s.score===e.score?s.idx<e.idx?-1:1:s.score<e.score?-1:1},Pe={location:0,threshold:.6,distance:100},Ke={useExtendedSearch:!1,getFn:je,ignoreLocation:!1,ignoreFieldNorm:!1},f=I(I(I(I({},De),ve),Pe),Ke),He=/[^ ]+/g;function Ve(s=3){let e=new Map,t=Math.pow(10,s);return{get(r){let n=r.match(He).length;if(e.has(n))return e.get(n);let i=1/Math.sqrt(n),c=parseFloat(Math.round(i*t)/t);return e.set(n,c),c},clear(){e.clear()}}}var $=class{constructor({getFn:e=f.getFn}={}){this.norm=Ve(3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,r)=>{this._keysMap[t.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,A(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){let t=this.size();A(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,r=this.size();t<r;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!M(e)||z(e))return;let r={v:e,i:t,n:this.norm.get(e)};this.records.push(r)}_addObject(e,t){let r={i:t,$:{}};this.keys.forEach((n,i)=>{let c=this.getFn(e,n.path);if(M(c)){if(S(c)){let a=[],h=[{nestedArrIndex:-1,value:c}];for(;h.length;){let{nestedArrIndex:o,value:l}=h.pop();if(M(l))if(A(l)&&!z(l)){let u={v:l,i:o,n:this.norm.get(l)};a.push(u)}else S(l)&&l.forEach((u,d)=>{h.push({nestedArrIndex:d,value:u})})}r.$[i]=a}else if(!z(c)){let a={v:c,n:this.norm.get(c)};r.$[i]=a}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}};function fe(s,e,{getFn:t=f.getFn}={}){let r=new $({getFn:t});return r.setKeys(s.map(_e)),r.setSources(e),r.create(),r}function ze(s,{getFn:e=f.getFn}={}){let{keys:t,records:r}=s,n=new $({getFn:e});return n.setKeys(t),n.setIndexRecords(r),n}function j(s,{errors:e=0,currentLocation:t=0,expectedLocation:r=0,distance:n=f.distance,ignoreLocation:i=f.ignoreLocation}={}){let c=e/s.length;if(i)return c;let a=Math.abs(r-t);return n?c+a/n:a?1:c}function Qe(s=[],e=f.minMatchCharLength){let t=[],r=-1,n=-1,i=0;for(let c=s.length;i<c;i+=1){let a=s[i];a&&r===-1?r=i:!a&&r!==-1&&(n=i-1,n-r+1>=e&&t.push([r,n]),r=-1)}return s[i-1]&&i-r>=e&&t.push([r,i-1]),t}var k=32;function Ye(s,e,t,{location:r=f.location,distance:n=f.distance,threshold:i=f.threshold,findAllMatches:c=f.findAllMatches,minMatchCharLength:a=f.minMatchCharLength,includeMatches:h=f.includeMatches,ignoreLocation:o=f.ignoreLocation}={}){if(e.length>k)throw new Error(Ne(k));let l=e.length,u=s.length,d=Math.max(0,Math.min(r,u)),g=i,p=d,m=a>1||h,b=m?Array(u):[],x;for(;(x=s.indexOf(e,p))>-1;){let y=j(e,{currentLocation:x,expectedLocation:d,distance:n,ignoreLocation:o});if(g=Math.min(y,g),p=x+l,m){let w=0;for(;w<l;)b[x+w]=1,w+=1}}p=-1;let O=[],R=1,C=l+u,Se=1<<l-1;for(let y=0;y<l;y+=1){let w=0,L=C;for(;w<L;)j(e,{errors:y,currentLocation:d+L,expectedLocation:d,distance:n,ignoreLocation:o})<=g?w=L:C=L,L=Math.floor((C-w)/2+w);C=L;let ne=Math.max(1,d-L+1),H=c?u:Math.min(d+L,u)+l,T=Array(H+2);T[H+1]=(1<<y)-1;for(let _=H;_>=ne;_-=1){let F=_-1,ie=t[s.charAt(F)];if(m&&(b[F]=+!!ie),T[_]=(T[_+1]<<1|1)&ie,y&&(T[_]|=(O[_+1]|O[_])<<1|1|O[_+1]),T[_]&Se&&(R=j(e,{errors:y,currentLocation:F,expectedLocation:d,distance:n,ignoreLocation:o}),R<=g)){if(g=R,p=F,p<=d)break;ne=Math.max(1,2*d-p)}}if(j(e,{errors:y+1,currentLocation:d,expectedLocation:d,distance:n,ignoreLocation:o})>g)break;O=T}let K={isMatch:p>=0,score:Math.max(.001,R)};if(m){let y=Qe(b,a);y.length?h&&(K.indices=y):K.isMatch=!1}return K}function Be(s){let e={};for(let t=0,r=s.length;t<r;t+=1){let n=s.charAt(t);e[n]=(e[n]||0)|1<<r-t-1}return e}var v=class{constructor(e,{location:t=f.location,threshold:r=f.threshold,distance:n=f.distance,includeMatches:i=f.includeMatches,findAllMatches:c=f.findAllMatches,minMatchCharLength:a=f.minMatchCharLength,isCaseSensitive:h=f.isCaseSensitive,ignoreLocation:o=f.ignoreLocation}={}){if(this.options={location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:c,minMatchCharLength:a,isCaseSensitive:h,ignoreLocation:o},this.pattern=h?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;let l=(d,g)=>{this.chunks.push({pattern:d,alphabet:Be(d),startIndex:g})},u=this.pattern.length;if(u>k){let d=0,g=u%k,p=u-g;for(;d<p;)l(this.pattern.substr(d,k),d),d+=k;if(g){let m=u-k;l(this.pattern.substr(m),m)}}else l(this.pattern,0)}searchIn(e){let{isCaseSensitive:t,includeMatches:r}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let p={isMatch:!0,score:0};return r&&(p.indices=[[0,e.length-1]]),p}let{location:n,distance:i,threshold:c,findAllMatches:a,minMatchCharLength:h,ignoreLocation:o}=this.options,l=[],u=0,d=!1;this.chunks.forEach(({pattern:p,alphabet:m,startIndex:b})=>{let{isMatch:x,score:O,indices:R}=Ye(e,p,m,{location:n+b,distance:i,threshold:c,findAllMatches:a,minMatchCharLength:h,includeMatches:r,ignoreLocation:o});x&&(d=!0),u+=O,x&&R&&(l=[...l,...R])});let g={isMatch:d,score:d?u/this.chunks.length:1};return d&&r&&(g.indices=l),g}},E=class{constructor(e){this.pattern=e}static isMultiMatch(e){return de(e,this.multiRegex)}static isSingleMatch(e){return de(e,this.singleRegex)}search(){}};function de(s,e){let t=s.match(e);return t?t[1]:null}var B=class extends E{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){let t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},G=class extends E{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){let r=e.indexOf(this.pattern)===-1;return{isMatch:r,score:r?0:1,indices:[0,e.length-1]}}},W=class extends E{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){let t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}},U=class extends E{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){let t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},X=class extends E{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){let t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}},J=class extends E{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){let t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}},D=class extends E{constructor(e,{location:t=f.location,threshold:r=f.threshold,distance:n=f.distance,includeMatches:i=f.includeMatches,findAllMatches:c=f.findAllMatches,minMatchCharLength:a=f.minMatchCharLength,isCaseSensitive:h=f.isCaseSensitive,ignoreLocation:o=f.ignoreLocation}={}){super(e),this._bitapSearch=new v(e,{location:t,threshold:r,distance:n,includeMatches:i,findAllMatches:c,minMatchCharLength:a,isCaseSensitive:h,ignoreLocation:o})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}},P=class extends E{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,r,n=[],i=this.pattern.length;for(;(r=e.indexOf(this.pattern,t))>-1;)t=r+i,n.push([r,t-1]);let c=!!n.length;return{isMatch:c,score:c?0:1,indices:n}}},Z=[B,P,W,U,J,X,G,D],ge=Z.length,Ge=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,We="|";function Ue(s,e={}){return s.split(We).map(t=>{let r=t.trim().split(Ge).filter(i=>i&&!!i.trim()),n=[];for(let i=0,c=r.length;i<c;i+=1){let a=r[i],h=!1,o=-1;for(;!h&&++o<ge;){let l=Z[o],u=l.isMultiMatch(a);u&&(n.push(new l(u,e)),h=!0)}if(!h)for(o=-1;++o<ge;){let l=Z[o],u=l.isSingleMatch(a);if(u){n.push(new l(u,e));break}}}return n})}var Xe=new Set([D.type,P.type]),q=class{constructor(e,{isCaseSensitive:t=f.isCaseSensitive,includeMatches:r=f.includeMatches,minMatchCharLength:n=f.minMatchCharLength,ignoreLocation:i=f.ignoreLocation,findAllMatches:c=f.findAllMatches,location:a=f.location,threshold:h=f.threshold,distance:o=f.distance}={}){this.query=null,this.options={isCaseSensitive:t,includeMatches:r,minMatchCharLength:n,findAllMatches:c,ignoreLocation:i,location:a,threshold:h,distance:o},this.pattern=t?e:e.toLowerCase(),this.query=Ue(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){let t=this.query;if(!t)return{isMatch:!1,score:1};let{includeMatches:r,isCaseSensitive:n}=this.options;e=n?e:e.toLowerCase();let i=0,c=[],a=0;for(let h=0,o=t.length;h<o;h+=1){let l=t[h];c.length=0,i=0;for(let u=0,d=l.length;u<d;u+=1){let g=l[u],{isMatch:p,indices:m,score:b}=g.search(e);if(p){if(i+=1,a+=b,r){let x=g.constructor.type;Xe.has(x)?c=[...c,...m]:c.push(m)}}else{a=0,i=0,c.length=0;break}}if(i){let u={isMatch:!0,score:a/i};return r&&(u.indices=c),u}}return{isMatch:!1,score:1}}},ee=[];function Je(...s){ee.push(...s)}function te(s,e){for(let t=0,r=ee.length;t<r;t+=1){let n=ee[t];if(n.condition(s,e))return new n(s,e)}return new v(s,e)}var N={AND:"$and",OR:"$or"},se={PATH:"$path",PATTERN:"$val"},re=s=>!!(s[N.AND]||s[N.OR]),Ze=s=>!!s[se.PATH],qe=s=>!S(s)&&Me(s)&&!re(s),pe=s=>({[N.AND]:Object.keys(s).map(e=>({[e]:s[e]}))});function Ie(s,e,{auto:t=!0}={}){let r=n=>{let i=Object.keys(n),c=Ze(n);if(!c&&i.length>1&&!re(n))return r(pe(n));if(qe(n)){let h=c?n[se.PATH]:i[0],o=c?n[se.PATTERN]:n[h];if(!A(o))throw new Error($e(h));let l={keyId:Y(h),pattern:o};return t&&(l.searcher=te(o,e)),l}let a={children:[],operator:i[0]};return i.forEach(h=>{let o=n[h];S(o)&&o.forEach(l=>{a.children.push(r(l))})}),a};return re(s)||(s=pe(s)),r(s)}function et(s,{ignoreFieldNorm:e=f.ignoreFieldNorm}){s.forEach(t=>{let r=1;t.matches.forEach(({key:n,norm:i,score:c})=>{let a=n?n.weight:null;r*=Math.pow(c===0&&a?Number.EPSILON:c,(a||1)*(e?1:i))}),t.score=r})}function tt(s,e){let t=s.matches;e.matches=[],M(t)&&t.forEach(r=>{if(!M(r.indices)||!r.indices.length)return;let{indices:n,value:i}=r,c={indices:n,value:i};r.key&&(c.key=r.key.src),r.idx>-1&&(c.refIndex=r.idx),e.matches.push(c)})}function st(s,e){e.score=s.score}function rt(s,e,{includeMatches:t=f.includeMatches,includeScore:r=f.includeScore}={}){let n=[];return t&&n.push(tt),r&&n.push(st),s.map(i=>{let{idx:c}=i,a={item:e[c],refIndex:c};return n.length&&n.forEach(h=>{h(i,a)}),a})}var Ee=(()=>{class s{constructor(t,r={},n){this.options=I(I({},f),r),this.options.useExtendedSearch,this._keyStore=new Q(this.options.keys),this.setCollection(t,n)}setCollection(t,r){if(this._docs=t,r&&!(r instanceof $))throw new Error(Te);this._myIndex=r||fe(this.options.keys,this._docs,{getFn:this.options.getFn})}add(t){M(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){let r=[];for(let n=0,i=this._docs.length;n<i;n+=1){let c=this._docs[n];t(c,n)&&(this.removeAt(n),n-=1,i-=1,r.push(c))}return r}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}getIndex(){return this._myIndex}search(t,{limit:r=-1}={}){let{includeMatches:n,includeScore:i,shouldSort:c,sortFn:a,ignoreFieldNorm:h}=this.options,o=A(t)?A(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return et(o,{ignoreFieldNorm:h}),c&&o.sort(a),me(r)&&r>-1&&(o=o.slice(0,r)),rt(o,this._docs,{includeMatches:n,includeScore:i})}_searchStringList(t){let r=te(t,this.options),{records:n}=this._myIndex,i=[];return n.forEach(({v:c,i:a,n:h})=>{if(!M(c))return;let{isMatch:o,score:l,indices:u}=r.searchIn(c);o&&i.push({item:c,idx:a,matches:[{score:l,value:c,norm:h,indices:u}]})}),i}_searchLogical(t){let r=Ie(t,this.options),n=(h,o,l)=>{if(!h.children){let{keyId:u,searcher:d}=h,g=this._findMatches({key:this._keyStore.get(u),value:this._myIndex.getValueForItemAtKeyId(o,u),searcher:d});return g&&g.length?[{idx:l,item:o,matches:g}]:[]}switch(h.operator){case N.AND:{let u=[];for(let d=0,g=h.children.length;d<g;d+=1){let p=h.children[d],m=n(p,o,l);if(m.length)u.push(...m);else return[]}return u}case N.OR:{let u=[];for(let d=0,g=h.children.length;d<g;d+=1){let p=h.children[d],m=n(p,o,l);if(m.length){u.push(...m);break}}return u}}},i=this._myIndex.records,c={},a=[];return i.forEach(({$:h,i:o})=>{if(M(h)){let l=n(r,h,o);l.length&&(c[o]||(c[o]={idx:o,item:h,matches:[]},a.push(c[o])),l.forEach(({matches:u})=>{c[o].matches.push(...u)}))}}),a}_searchObjectList(t){let r=te(t,this.options),{keys:n,records:i}=this._myIndex,c=[];return i.forEach(({$:a,i:h})=>{if(!M(a))return;let o=[];n.forEach((l,u)=>{o.push(...this._findMatches({key:l,value:a[u],searcher:r}))}),o.length&&c.push({idx:h,item:a,matches:o})}),c}_findMatches({key:t,value:r,searcher:n}){if(!M(r))return[];let i=[];if(S(r))r.forEach(({v:c,i:a,n:h})=>{if(!M(c))return;let{isMatch:o,score:l,indices:u}=n.searchIn(c);o&&i.push({score:l,key:t,value:c,idx:a,norm:h,indices:u})});else{let{v:c,n:a}=r,{isMatch:h,score:o,indices:l}=n.searchIn(c);h&&i.push({score:o,key:t,value:c,norm:a,indices:l})}return i}}return s.version="6.4.6",s.createIndex=fe,s.parseIndex=ze,s.config=f,s})();Ee.parseQuery=Ie;Je(q);var xe=Ee;we();var Ae=class{constructor(e){this.searchIndex=[],e&&this.updateSchema(e)}updateSchema(e){this.schema=oe(e)}generateSearchIndex(){if(!this.schema)return[];let e=[];ae(this.schema).forEach(i=>{e=[...e,...this.getTypeIndices(i,!0,e)]});let r=this.schema.getTypeMap();Object.keys(r).forEach(i=>{/^__/.test(i)||(e=[...e,...this.getTypeIndices(r[i],!1,e)])});let n=this.schema.getDirectives();return e=[...e,...this.getDirectivesIndices(n)],this.searchIndex=e,e}getDirectivesIndices(e){let t=[];return e.forEach(r=>{let n={search:r.name,name:"@"+r.name,description:r.description||"",cat:"directive",highlight:"directive",locations:r.locations,args:r.args?.map(i=>({name:i.name,description:i.description??""}))};t=[...t,n],r.args&&r.args.length&&r.args.forEach(i=>{t=[...t,V(I({},n),{search:i.name,highlight:"argument"})]})}),t}getFieldsIndices(e,t,r,n){let i=[];return Object.entries(e).forEach(([,c])=>{let a={search:c.name,name:c.name,description:c.description?c.description:"",args:c.args?.map(h=>({name:h.name,description:h.description??""})),cat:"field",type:t.name,isQuery:r,highlight:"field"};i=[...i,a],c.args&&c.args.length&&c.args.forEach(h=>{i=[...i,V(I({},a),{search:h.name,highlight:"argument"})]}),c.type&&(i=[...i,...this.getTypeIndices(c.type,!1,[...n,...i]).filter(h=>!!h)])}),i}getTypeIndices(e,t,r){let n;if(!e.name)return[];if(r.some(c=>c.name===e.name&&c.cat==="type"))return[];e.getFields&&(n=e.getFields());let i=[{search:e.name,name:e.name,cat:"type",description:e.description?e.description:"",isRoot:t,highlight:"type"}];return n?[...i,...this.getFieldsIndices(n,e,t,[...r,...i]).filter(c=>!!c)]:i}searchDocs(e){return this.searchIndex.length?new xe(this.searchIndex,{keys:["search"],threshold:.4}).search(e).map(r=>r.item):[]}generateQueryV2(e,t,r){return ce(this,null,function*(){if(!this.schema)return;let n=yield he(this.schema,e,t,{maxDepth:r.addQueryDepthLimit,tabSize:r.tabSize});return{query:n.generated,meta:n.metas.find(i=>i.hasArgs)||{}}})}cleanName(e){return e.replace(/[[\]!]/g,"")}};export{Ae as DocUtils}; //# sourceMappingURL=chunk-ZIKGLDJQ.js.map //# debugId=3a6ca7e4-a032-53f2-8597-ebc3913ba119