1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[269],{4269:(t,e,n)=>{n.d(e,{BF:()=>j,GA:()=>u,Gv:()=>A,Hc:()=>G,Hg:()=>L,IM:()=>c,It:()=>Z,LQ:()=>a,ME:()=>x,MF:()=>m,UO:()=>z,Zx:()=>b,_9:()=>p,_s:()=>H,aE:()=>U,ad:()=>I,bj:()=>v,cm:()=>s,cn:()=>l,jZ:()=>S,jz:()=>D,kd:()=>w,nw:()=>T,qi:()=>W,qw:()=>h,rp:()=>O,t5:()=>f,tW:()=>k,tj:()=>d,tz:()=>y,uJ:()=>C,uk:()=>J,xb:()=>i});var o=n(2821),r=n(5889);function l(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return(0,r.QP)((0,o.$)(e))}function i(t){throw Error("Unexpected value: ".concat(JSON.stringify(t)))}function a(t){switch(t.type){case"product":case"scene":case"media":let{id:e,...n}=t;return n;default:return i(t)}}function u(t){return!1!==t.visibleInEmbed}function c(t,e){let n=t.trim().split(/\s+/).filter(t=>t.length>0);return n.length>=2?(n[0][0]+n[1][0]).toUpperCase():1===n.length?n[0][0].toUpperCase():e.trim().length>0?e.trim()[0].toUpperCase():"U"}n(5704);let s="#ef4444";function f(t){return t.startsWith("http")?"/api/panorama?url=".concat(encodeURIComponent(t)):t}function d(t){return t.startsWith("http")?"/api/model?url=".concat(encodeURIComponent(t)):t}function m(t){let e=j(_(t));return e?"".concat(e,".glb"):"product-model.glb"}function p(t,e){return t.startsWith("http")?"/api/model/download?url=".concat(encodeURIComponent(t),"&filename=").concat(encodeURIComponent(e)):t}let g=/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;function h(t){let e=t.trim(),n=e.startsWith("#")?e:"#".concat(e);if(!g.test(n))return null;if(4===n.length){let t=n[1],e=n[2],o=n[3];return"#".concat(t).concat(t).concat(e).concat(e).concat(o).concat(o).toLowerCase()}return n.toLowerCase()}function w(t){return null!=t.representativeImageUrl&&""!==t.representativeImageUrl?{kind:"image",url:t.representativeImageUrl}:null!=t.labelColor&&""!==t.labelColor?{kind:"color",color:t.labelColor}:{kind:"none"}}function b(t){return t.defaultView?t.defaultView:t.defaultPov?{pitch:t.defaultPov.pitch,yaw:t.defaultPov.yaw}:null}function v(t){return"number"==typeof t.defaultZoom?t.defaultZoom:t.defaultPov?t.defaultPov.zoom:null}function U(t){return!1!==t.autoRotate}function y(t){return!1!==t.showCredit}function I(t,e){let n;return null==(n="topLeft"===e?t.brandingLogoTopLeftUrl:t.brandingLogoTopRightUrl)||""===n?null:n}function C(t,e){return"topLeft"===t?{brandingLogoTopLeftUrl:e}:{brandingLogoTopRightUrl:e}}let L=3;function k(t,e){return t.filter(t=>t.id!==e&&!!t.panoramaUrl)}let M="saca-voicebot-session-id",P="saca-voicebot-session-company-id";function R(){let t=void 0===globalThis.crypto?void 0:globalThis.crypto;if("function"==typeof(null==t?void 0:t.randomUUID))return t.randomUUID();if("function"==typeof(null==t?void 0:t.getRandomValues)){let e=t.getRandomValues(new Uint8Array(16));e[6]=15&e[6]|64,e[8]=63&e[8]|128;let n=Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("");return[n.slice(0,8),n.slice(8,12),n.slice(12,16),n.slice(16,20),n.slice(20,32)].join("-")}let e="Web Crypto is unavailable, so no voicebot session ID can be minted";throw console.error("[voicebot] ".concat(e)),Error(e)}function S(t){try{let e=window.sessionStorage.getItem(M),n=window.sessionStorage.getItem(P);if(null!==e&&e.length>0&&n===t)return e}catch(t){return console.warn("[voicebot] sessionStorage unavailable while reading session ID",t),R()}let e=R();try{window.sessionStorage.setItem(M,e),window.sessionStorage.setItem(P,t)}catch(t){console.warn("[voicebot] sessionStorage unavailable while writing session ID",t)}return e}function _(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/Ä/gi,"d")}function j(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function T(t){let e=[...t];return e.sort((t,e)=>t.name.localeCompare(e.name,void 0,{sensitivity:"base",numeric:!0})),e}function A(t){let e=null!=t.color?h(t.color):null,n=null!=t.aiImageUrl&&""!==t.aiImageUrl?t.aiImageUrl:t.imageUrl;return"color"===t.visualType&&null!==e?{kind:"color",color:e}:""!==n?{kind:"image",url:n}:null!==e?{kind:"color",color:e}:{kind:"none"}}function E(t){return t*Math.PI/180}function z(t,e){let n=E(t.pitch),o=E(e.pitch);return 180*Math.acos(Math.min(1,Math.max(-1,Math.sin(n)*Math.sin(o)+Math.cos(n)*Math.cos(o)*Math.cos(E(t.yaw-e.yaw)))))/Math.PI}function D(t,e){let n=Math.abs(t-e)%360;return n>180?360-n:n}function W(t){let e=t.trim(),n=e.indexOf(".");return -1===n?e:e.slice(0,n+1)}function x(t){if(t<.5)return 4*t*t*t;let e=2*t-2;return .5*e*e*e+1}function F(t){return _(t).toLowerCase().trim()}function Z(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.9;return function(t,e){let n=F(t),o=F(e);if(0===n.length||o.includes(n))return 1;let r=n.length,l=0;for(let t=0;t+r-1<=o.length;t++)for(let e of[r,r+1]){let i=o.slice(t,t+e);if(0===i.length)continue;let a=1-function(t,e){let n=[];for(let t=0;t<=e.length;t++)n[t]=t;for(let o=0;o<t.length;o++){let r=n[0];n[0]=o+1;for(let l=0;l<e.length;l++){let i=+(t[o]!==e[l]),a=Math.min(n[l+1]+1,n[l]+1,r+i);r=n[l+1],n[l+1]=a}}return n[e.length]}(n,i)/r;a>l&&(l=a)}return l<0?0:l}(t,e)>=n}let N=/^[A-Za-z0-9_-]{11}$/,V=["youtube.com","youtube-nocookie.com","m.youtube.com"],$=["embed","shorts","live","v"];function q(t){return void 0!==t&&N.test(t)?t:null}function O(t){let e=t.trim();if(""===e)return null;let n=q(e);if(null!==n)return n;let o=/^https?:\/\//i.test(e)?e:"https://".concat(e);
1if(!URL.canParse(o))return null;let r=new URL(o),l=r.hostname.replace(/^www\./i,"").toLowerCase(),i=r.pathname.split("/").filter(t=>""!==t);if("youtu.be"===l)return q(i[0]);if(V.includes(l)){let t=r.searchParams.get("v");if(null!==t)return q(t);if(i.length>=2&&$.includes(i[0]))return q(i[1])}return null}function G(t,e,n,o){let r=new URLSearchParams;return r.set("playsinline","1"),r.set("rel","0"),r.set("modestbranding","1"),r.set("controls","0"),r.set("fs","0"),r.set("disablekb","1"),r.set("iv_load_policy","3"),r.set("enablejsapi","1"),e&&r.set("autoplay","1"),n&&r.set("mute","1"),null!==o&&""!==o&&r.set("origin",o),"".concat("https://www.youtube-nocookie.com","/embed/").concat(t,"?").concat(r.toString())}function H(t){return"".concat("https://i.ytimg.com","/vi/").concat(t,"/hqdefault.jpg")}function J(t){return new Promise(e=>{setTimeout(e,t)})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.