PageSourceSearch

https://technoguru.in/_next/static/chunks/879-c682bf69021a267e.js

js technoguru.in collected 2026-10-08 07:11:19 UTC 25,937 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[879],{7013:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]])},14816:(e,t,n)=>{n.d(t,{WD:()=>x});var a=n(95155),i=n(52619),s=n.n(i),r=n(22198),l=n(76445),o=n(22027),c=n(77260),d=n(97201),h=n(11081),u=n(66415),p=n(67021);let g="engineering-project-workspace",f=new Date(0),b=Object.keys(d.tF),m={href:"",phrase:"",carriesConfig:!1,figureCount:0};function x(e){let{fromSlug:t,shareUrl:n,figures:i,ready:x=!0,className:v}=e,k=function(e){let{fromSlug:t,shareUrl:n,figures:a,ready:i=!0}=e;if(!i)return m;let s=(0,c.Bb)(g);if(!s||"live"!==s.status||!s.indexable||!s.href.startsWith("/")||s.href.startsWith("//"))return m;let r=(0,c.Bb)(t);if(!r||"internal"===r.status)return m;let l=new URLSearchParams,o=0;for(let e of b){let t=(null!=a?a:{})[e];null!=t&&(0,d.Ju)(e,t)&&(l.set((0,d.yP)(e),"number"!=typeof t?t:String(Number(t.toFixed(4)))),o+=1)}o>0&&l.set(d.TK,r.slug),l.set(u.nl,r.slug);let x=function(e){let t=(0,u.pY)(function(e){if(!e)return;let t=e.indexOf("?");if(-1===t)return;let n=e.indexOf("#"),a=-1===n||n<t?e.length:n,i=e.slice(t+1,a);return""===i?void 0:i}(e));if(!t)return null;let n=[];for(let[e]of new URLSearchParams(t))n.push(e);return 0===n.length||!n.every(e=>p.hW.test(e))||(0,p.Dq)(n).length>0?null:t}(n);x&&l.set(u.w4,x);let v=l.toString(),k=(0,h.Z)(v,{id:"probe",now:f}).item;if(!k||0===k.figures.length&&""===k.configQuery)return m;let y=(0,d.bU)(v),w=[];for(let e of b){let t=y[e];t&&w.push((0,d._X)(e,t.value))}return w.length!==k.figures.length?m:{href:"".concat(s.href,"?").concat(v),phrase:0===w.length?"":1===w.length?w[0]:"".concat(w.slice(0,-1).join(", ")," and ").concat(w[w.length-1]),carriesConfig:""!==k.configQuery,figureCount:k.figures.length}}({fromSlug:t,shareUrl:n,figures:i,ready:x});if(!k.href)return null;let y=(0,c.Bb)(g);if(!y)return null;let w=function(e,t){let n=""!==e.phrase?"The ".concat(t," opens with ").concat(e.phrase," ready to add"):"The ".concat(t," opens with this result ready to add"),a=e.carriesConfig?", carrying the inputs behind it so the result reopens exactly as it stands here":"";return"".concat(n).concat(a,". Nothing is added until you choose to.")}(k,y.title);return(0,a.jsxs)("div",{className:(0,l.cn)("min-w-0",v),"data-save-to-project":t,children:[(0,a.jsxs)(s(),{href:k.href,onClick:function(){try{(0,o.u4)("cta_click",{cta_id:"save-to-project-".concat(t),cta_label:"Save to project",cta_context:"calculator-result",cta_purpose:"CONSULTANT_RESOURCE",target_path:y.href})}catch(e){}},className:"inline-flex min-h-[44px] items-center gap-2 rounded-sm border border-sc-stone-300 bg-sc-paper-100 px-3 py-2 text-[12.5px] leading-tight text-sc-ink-800 transition-colors hover:border-sc-copper-600 hover:text-sc-copper-700 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sc-gold-600",children:[(0,a.jsx)(r.A,{"aria-hidden":!0,className:"h-3.5 w-3.5 shrink-0 text-sc-gold-600"}),"Save to project"]}),(0,a.jsxs)("p",{className:"mt-1.5 text-[11.5px] leading-[1.5] text-sc-ink-700",children:[w," ",h.o_]})]})}},18230:(e,t,n)=>{n.d(t,{Z$:()=>v});var a=n(95155),i=n(52619),s=n.n(i),r=n(5917),l=n(71847);let o=(0,l.A)("Sigma",[["path",{d:"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2",key:"wuwx1p"}]]),c=(0,l.A)("CircleDashed",[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]),d=(0,l.A)("CircleDot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),h=(0,l.A)("UserCog",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]),u=(0,l.A)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var p=n(7013),g=n(76445),f=n(49828);let b={known:{label:"Known",icon:r.A,tone:"text-sc-ink-800",marker:"border-sc-stone-300"},calculated:{label:"Calculated",icon:o,tone:"text-sc-ink-800",marker:"border-sc-stone-300"},missing:{label:"Missing",icon:c,tone:"text-sc-copper-700",marker:"border-sc-copper-600/60"},"needs-decision":{label:"Needs decision",icon:d,tone:"text-sc-gold-600",marker:"border-sc-gold-500/60"},"needs-expert":{label:"Needs expert",icon:h,tone:"text-sc-copper-700",marker:"border-sc-copper-600/60"},"not-applicable":{label:"Not applicable",icon:u,tone:"text-sc-ink-700",marker:"border-sc-stone-300"}},m=["known","calculated","needs-decision","missing","needs-expert","not-applicable"];function x(e){var t;let{item:n,compact:i}=e,r=b[n.state],l=r.icon,o=!i||!(0,f.Is)(n.state),c=n.action&&(0,f.I5)(n.action.href)?n.action.href:null;return(0,a.jsxs)("li",{className:(0,g.cn)("border-l-2 py-1 pl-2.5",r.marker),children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-0.5",children:[(0,a.jsx)("span",{className:"text-[12.5px] font-medium leading-[1.35] text-sc-ink-900",children:n.label}),(0,a.jsxs)("span",{className:(0,g.cn)("inline-flex items-center gap-1 font-mono text-[11px] uppercase tracking-[0.18em]",r.tone),children:[(0,a.jsx)(l,{"aria-hidden":!0,
1className:"h-3 w-3 shrink-0"}),r.label]})]}),o?(0,a.jsx)("p",{className:"mt-0.5 text-[11.5px] leading-[1.45] text-sc-ink-700",children:n.detail}):null,c?(0,a.jsxs)(s(),{href:c,className:"mt-0.5 inline-flex min-h-[44px] items-center gap-1 text-[11.5px] font-medium text-sc-copper-700 underline-offset-2 transition hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sc-gold-500/80",children:[null==(t=n.action)?void 0:t.label,(0,a.jsx)(p.A,{"aria-hidden":!0,className:"h-3 w-3 shrink-0"})]}):null]})}function v(e){let{summary:t,title:n="What is settled, and what is not",headingLevel:i="h3",id:s="design-completeness",compact:r=!1,className:l}=e;if(0===t.items.length)return null;let o="".concat(s,"-heading"),c=t.items.filter(e=>!(0,f.Is)(e.state)&&!(0,f.p5)(e.state)).length,d=function(e){var t;let n=new Map;for(let a of e)n.set(a.state,(null!=(t=n.get(a.state))?t:0)+1);return m.map(e=>{var t;return{state:e,count:null!=(t=n.get(e))?t:0}}).filter(e=>e.count>0)}(t.items);return(0,a.jsxs)("section",{"aria-labelledby":o,className:(0,g.cn)("border border-sc-stone-300 bg-sc-paper-100 p-4",l),children:[(0,a.jsx)(i,{id:o,className:"font-mono text-[11px] uppercase tracking-[0.22em] text-sc-ink-700",children:n}),(0,a.jsx)("ul",{role:"list",className:"mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 border-b border-sc-stone-300 pb-2",children:d.map(e=>{let t=b[e.state],n=t.icon;return(0,a.jsxs)("li",{className:(0,g.cn)("flex items-baseline gap-1",t.tone),children:[(0,a.jsx)(n,{"aria-hidden":!0,className:"h-3 w-3 shrink-0 self-center"}),(0,a.jsx)("span",{className:"text-[12.5px] font-medium tabular-nums leading-none",children:e.count}),(0,a.jsx)("span",{className:"font-mono text-[11px] uppercase leading-none tracking-[0.14em]",children:t.label})]},e.state)})}),(0,a.jsxs)("p",{className:"mt-1.5 text-[12px] leading-[1.45] text-sc-ink-800",children:[(0,a.jsx)("span",{className:"font-medium tabular-nums text-sc-ink-900",children:t.settled})," settled \xb7"," ",(0,a.jsx)("span",{className:"font-medium tabular-nums text-sc-ink-900",children:t.outstanding})," ","outstanding",c>0?(0,a.jsxs)(a.Fragment,{children:[" ","\xb7 ",(0,a.jsx)("span",{className:"tabular-nums",children:c})," not applicable"]}):null,t.outstanding>0?(0,a.jsxs)(a.Fragment,{children:[" ","— the outstanding rows are what stands between this and something you can hand over."]}):null]}),(0,a.jsx)("ul",{role:"list",className:"mt-2.5 space-y-1",children:t.items.map(e=>(0,a.jsx)(x,{item:e,compact:r},e.id))})]})}},22198:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},29644:(e,t,n)=>{n.d(t,{P5:()=>u,tt:()=>l});var a=n(95155),i=n(76445),s=n(2726);let r={checked:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("rect",{x:1.6,y:1.6,width:8.8,height:8.8,fill:"none"}),(0,a.jsx)("path",{d:"M3.6 6.3 l1.7 1.7 l3.1 -3.6",fill:"none"})]}),document:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{d:"M2.6 1.5 l4.6 0 l2.2 2.2 l0 6.8 l-6.8 0 z",fill:"none"}),(0,a.jsx)("path",{d:"M4.3 6.4 l3.4 0",fill:"none"}),(0,a.jsx)("path",{d:"M4.3 8.2 l2.3 0",fill:"none"})]}),half:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{d:"M6 1.2 l4.8 4.8 l-4.8 4.8 l-4.8 -4.8 z",fill:"none"}),(0,a.jsx)("path",{d:"M6 1.2 l0 9.6 l-4.8 -4.8 z",fill:"currentColor",stroke:"none"})]}),hexagon:(0,a.jsx)("path",{d:"M6 1.3 l4.1 2.35 l0 4.7 l-4.1 2.35 l-4.1 -2.35 l0 -4.7 z",fill:"none"}),warning:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{d:"M6 1.4 l5 9 l-10 0 z",fill:"none"}),(0,a.jsx)("path",{d:"M6 4.9 l0 2.3",fill:"none"}),(0,a.jsx)("path",{d:"M6 8.9 l0 0.01",fill:"none",strokeLinecap:"round",strokeWidth:1.6})]}),barred:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("circle",{cx:6,cy:6,r:4.5,fill:"none"}),(0,a.jsx)("path",{d:"M2.8 9.2 l6.4 -6.4",fill:"none"})]}),dashed:(0,a.jsx)("circle",{cx:6,cy:6,r:4.5,fill:"none",strokeDasharray:"2.2 2"}),target:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("circle",{cx:6,cy:6,r:4.5,fill:"none"}),(0,a.jsx)("circle",{cx:6,cy:6,r:1.5,fill:"currentColor",stroke:"none"})]}),outside:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("circle",{cx:6,cy:6,r:4.5,fill:"none",strokeDasharray:"2.2 2"}),(0,a.jsx)("path",{d:"M6 3.2 l0 3.4",fill:"none"}),(0,a.jsx)("path",{d:"M6 8.6 l0 0.01",fill:"none",strokeLinecap:"round",strokeWidth:1.6})]}),over:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{d:"M1.4 10 l9.2 0",fill:"none"}),(0,a.jsx)("path",{d:"M3.1 6.2 l2.9 -3 l2.9 3",fill:"none"}),(0,a.jsx)("path",{d:"M6 3.2 l0 4.6",fill:"none"})]})};function l(e){let{kind:t,className:n,size:s=12}=e;return(0,a.jsx)("svg",{"aria-hidden":!0,focusable:"false",viewBox:"0 0 12 12",width:s,height:s,className:(0,i.cn)("shrink-0",n),"data-mark":t,stroke:"currentColor",strokeWidth:1.15,strokeLinejoin:"round",vectorEffect:"non-scaling-stroke",children:r[t]})}let o={"generic-geometry":"Generic geometry mode","model-verified":"Model-verified","data-unavailable":"Verified data unavailable","project-verification-required":"Project-specific verification required"},c={V1:{mark:"checked",tone:"neutral",slug:"deterministic"},V2:{mark:"document",tone:"neutral",slug:"reference"}
1,V3:{mark:"half",tone:"caution",slug:"conditional"},V4:{mark:"hexagon",tone:"neutral",slug:"guidance"},HOLD:{mark:"warning",tone:"attention",slug:"expert-review"},FAIL:{mark:"barred",tone:"attention",slug:"under-review"}},d={"generic-geometry":{mark:"dashed",tone:"caution",slug:"generic-geometry"},"model-verified":{mark:"checked",tone:"neutral",slug:"model-verified"},"data-unavailable":{mark:"barred",tone:"attention",slug:"data-unavailable"},"project-verification-required":{mark:"warning",tone:"attention",slug:"project-verification-required"}},h={neutral:"border-sc-stone-300 text-sc-ink-800",caution:"border-sc-gold-500/55 text-sc-gold-600",attention:"border-sc-copper-600/60 text-sc-copper-700"};function u(e){let{reviewedAt:t,size:n="sm",className:r,style:u,...p}=e,{meta:g,label:f}=void 0!==p.verificationClass?{meta:c[p.verificationClass],label:s.gr[p.verificationClass]}:{meta:d[p.dataState],label:o[p.dataState]};return(0,a.jsxs)("span",{"data-status":g.slug,className:(0,i.cn)("inline-flex items-center gap-1.5 border bg-sc-paper-50 font-mono uppercase","sm"===n?"px-2 py-1 text-[11px] leading-[1.25] tracking-[0.14em]":"px-2.5 py-1.5 text-[11.5px] leading-[1.25] tracking-[0.16em]",h[g.tone],r),style:u,children:[(0,a.jsx)(l,{kind:g.mark}),(0,a.jsx)("span",{children:f}),t?(0,a.jsxs)("span",{className:"text-sc-ink-700",children:[(0,a.jsx)("span",{"aria-hidden":!0,children:"\xb7 "}),"reviewed ",t]}):null]})}},35299:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},46826:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("CirclePlus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]])},49828:(e,t,n)=>{n.d(t,{su:()=>p,Vx:()=>f,p5:()=>o,I5:()=>d,Is:()=>l});var a=n(45166),i=n(77260);let s=["known","calculated"],r=["missing","needs-decision","needs-expert"];function l(e){return s.includes(e)}function o(e){return r.includes(e)}function c(e){let t=0,n=0;for(let a of e)l(a.state)?t+=1:o(a.state)&&(n+=1);return{items:e,settled:t,outstanding:n,complete:e.length>0&&0===n}}function d(e){return"string"==typeof e&&e.startsWith("/")&&!e.startsWith("//")}function h(e,t){return t&&d(t.href)?{...e,action:t}:e}function u(e,t){if("object"!=typeof e||null===e||!Object.prototype.hasOwnProperty.call(e,t))return!1;let n=e[t];return"number"==typeof n&&Number.isFinite(n)&&n>0}function p(e){var t,n,s;let r=[];r.push({id:"camera-count",label:"Camera count",state:e.camerasDecided?"known":"needs-decision",detail:e.camerasDecided?"".concat(e.cameras," cameras, set on this page."):"Still on the opening figure of ".concat(e.cameras,". Nobody has counted this estate yet.")}),r.push({id:"retention",label:"Retention window",state:e.retentionDecided?"known":"needs-decision",detail:e.retentionDecided?"".concat(e.retentionDays," days, set on this page."):"Still on the opening figure of ".concat(e.retentionDays," days. How long footage is kept is the project owner's policy, and nobody has stated it.")}),r.push({id:"recording-schedule",label:"Recording schedule",state:e.scheduleDecided?"known":"needs-decision",detail:e.scheduleDecided?"".concat(e.scheduleLabel,", set on this page."):"Still on the opening schedule — ".concat(e.scheduleLabel.toLowerCase(),". Continuous and motion-triggered differ by more than half the storage.")}),r.push({id:"storage",label:"Storage volume",state:"calculated",detail:"".concat(e.storageLabel,", from the count, bitrate, schedule and retention above.")}),r.push({id:"recorded-bandwidth",label:"Recorded bandwidth",state:"calculated",detail:"".concat(e.bandwidthLabel," into the recorder, from the same figures.")}),r.push({id:"recording-architecture",label:"Recording architecture",state:e.pastSingleRecorder||e.pastSingleEnclosure?"needs-expert":"calculated",detail:e.pastSingleRecorder||e.pastSingleEnclosure?"At ".concat(e.bandwidthLabel," and ").concat(e.storageLabel," this is past what one recorder writes").concat(e.pastSingleEnclosure?" and one enclosure holds":"",". How it splits is a decision to take with an engineer."):"".concat(e.architectureLabel," — the class this camera count falls into.")});let l=(0,a.q)(e.profile).verification;e.bitrateOverridden?r.push({id:"bitrate-evidence",label:"Bitrate evidence",state:"not-applicable",detail:"You set ".concat(e.bitrateMbps," Mbps yourself, so how well sourced the profile's own figure is says nothing about the number in use.")}):"exact-model-verified"===l?r.push({id:"bitrate-evidence",label:"Bitrate evidence",state:"known",detail
1:"".concat(e.bitrateMbps," Mbps — ").concat(a.F7[l],".")}):r.push({id:"bitrate-evidence",label:"Bitrate evidence",state:"needs-expert",detail:"".concat(a.F7[l],", so the ").concat(e.bitrateMbps," Mbps behind every figure above is indicative. A test recording on the real scene settles it.")});let o=function(e){let t=[];return u(e,"hfovDegrees")&&t.push("hfovDegrees"),u(e,"sensorWidthMm")&&u(e,"focalLengthMm")&&t.push("sensorWidthMm","focalLengthMm"),{held:t.length>0,via:t}}(e.profile);r.push(h({id:"scene-coverage",label:"Scene coverage per camera",state:o.held?"known":"missing",detail:o.held?"This profile records the lens geometry, so how much scene one camera covers can be read from the catalogue.":"The profile records no lens angle, focal length or sensor width. Nothing here can say how wide a scene one camera covers, or how many pixels land across a face."},o.held?null:function(e,t){let n=(0,i.Bb)(e);return n&&"internal"!==n.status&&d(n.href)?{label:t,href:n.href}:null}("cctv-resolution-calculator","Work it out from your lens figures")));let p=null!=(s=null==(t=e.profile)||null==(n=t.lifecycle)?void 0:n.status)?s:"unknown",g=(0,a.sK)(e.profile);return r.push({id:"model-lifecycle",label:"Model still in production",state:"absent"===g?"missing":"dated-evidence"===g?"known":"needs-decision",detail:"absent"===g?"The catalogue does not track whether this model is still made, and silence is not evidence either way. Confirm availability before it goes in a schedule.":"The catalogue records this model as ".concat(p.replace("-"," "),". ").concat(a.Zf[g])}),r.push({id:"drive-protection",label:"Drive protection",state:"needs-decision",detail:"The ".concat(e.drivePlanLabel," plan is raw capacity and the ").concat(e.headroomPct,"% headroom covers filesystem overhead only. RAID parity is bought on top, and none is chosen.")}),r.push(h({id:"switch-power",label:"Switch power budget",state:"needs-decision",detail:"Nothing here powers the cameras. What the switches must deliver, and how many, is not worked out."},d(e.continuePoeUrl)?{label:"Size the PoE budget",href:e.continuePoeUrl}:null)),c(r)}let g={front:"serviced from the front, so it can sit against a wall with no rear access",rear:"serviced from the rear, so the build has to leave a walkable gap behind it",both:"serviced from either face, so the build is free to choose"};function f(e){let t=[],n=e.catalogue;return t.push({id:"opening-width",label:"Opening width",state:e.widthDecided?"known":"needs-decision",detail:e.widthDecided?"".concat(e.openingWidthLabel,", set on this page."):"Still on the opening figure of ".concat(e.openingWidthLabel,". No width has come off a drawing.")}),t.push({id:"opening-height",label:"Opening height",state:e.aspectLocked?"calculated":e.heightDecided?"known":"needs-decision",detail:e.aspectLocked?"".concat(e.openingHeightLabel,", derived from the width at ").concat(e.aspectLockLabel,"."):e.heightDecided?"".concat(e.openingHeightLabel,", set on this page."):"Still on the opening figure of ".concat(e.openingHeightLabel,". No height has come off a drawing.")}),t.push({id:"viewing-distance",label:"Closest viewing distance",state:e.viewingDecided?"known":"needs-decision",detail:e.viewingDecided?"".concat(e.viewingDistanceLabel,", set on this page."):"Still on the opening figure of ".concat(e.viewingDistanceLabel,". Where the nearest person stands decides whether a pitch is fine enough.")}),t.push({id:"pixel-pitch",label:"Pixel pitch",state:e.pitchFromCatalogue?"known":"calculated",detail:e.pitchFromCatalogue?"".concat(e.pitchLabel," — the figure the catalogue records for this cabinet."):"".concat(e.pitchLabel," — divided out of ").concat(e.pitchBasisLabel,", the cabinet described here.")}),t.push({id:"cabinet-grid",label:"Cabinet grid",state:e.singlePiece?"not-applicable":"calculated",detail:e.singlePiece?"A single-piece display, not a tiled system. Its size is fixed by the product, so there is no grid to work out.":"".concat(e.cabinetGridLabel,", built at ").concat(e.builtSizeLabel,".")}),t.push({id:"native-canvas",label:"Native canvas",state:"calculated",detail
1:"".concat(e.nativeResW," \xd7 ").concat(e.nativeResH," px, from the cabinet resolution and the grid.")}),e.pitchAxesDisagree?t.push({id:"opening-fit",label:"Fit against the opening",state:"needs-expert",detail:"The cabinet entered describes two different pitches, so one of its four figures is transcribed wrong. Everything above is sized on the across figure."}):e.singlePiece&&e.deviatesFromOpening?t.push({id:"opening-fit",label:"Fit against the opening",state:"needs-expert",detail:"A fixed-size display cannot be built to a target — it is ".concat(e.builtSizeLabel,". Whether the opening moves or the product does is the room owner's call.")}):e.materialOvershoot?t.push({id:"opening-fit",label:"Fit against the opening",state:"needs-decision",detail:"The grid rounds up to ".concat(e.builtSizeLabel,", ").concat(e.overshootPct.toFixed(0),"% past the ").concat(e.openingWidthLabel," \xd7 ").concat(e.openingHeightLabel," entered. If that is an architectural opening it is a maximum, and nobody has settled which the drawing carries.")}):e.deviatesFromOpening?t.push({id:"opening-fit",label:"Fit against the opening",state:"needs-decision",detail:"The grid rounds up to ".concat(e.builtSizeLabel," against the ").concat(e.openingWidthLabel," \xd7 ").concat(e.openingHeightLabel," entered. Either the opening takes the larger figure or the wall drops a cabinet, and neither is chosen.")}):t.push({id:"opening-fit",label:"Fit against the opening",state:"known",detail:"The build lands on ".concat(e.builtSizeLabel," — entered and built are the same.")}),t.push({id:"electrical-load",label:"Electrical load",state:n?"calculated":"missing",detail:n?"".concat(e.powerLabel,", from this cabinet's published draw per square metre across the built area."):"A hand-described cabinet carries no power figure — draw per square metre comes off a manufacturer's document for a named product."}),t.push({id:"structural-load",label:"Structural load",state:n?"calculated":"missing",detail:n?"".concat(e.weightLabel,", from the published weight per square metre — cabinets only, before any frame."):"A hand-described cabinet carries no weight figure, so nothing here can say what the structure has to hold."}),t.push({id:"service-access",label:"Service access",state:n?"known":"missing",detail:n?"This cabinet is ".concat(g[n.serviceability],"."):"Front or rear service is not something a hand-described cabinet can tell us, and it decides how much room to leave behind the wall."}),n&&"outdoor"===n.category&&t.push({id:"ingress-protection",label:"Ingress protection",state:n.ipRating?"known":"missing",detail:n.ipRating?"The catalogue records ".concat(n.ipRating," for this cabinet."):"An outdoor cabinet, and the catalogue holds no ingress rating for it. That figure has to come off the manufacturer's datasheet before the wall meets weather."}),t.push({id:"video-processing",label:"Video processing",state:"needs-decision",detail:"The catalogue records cabinets, not processors. Something has to drive ".concat(e.nativeResW," \xd7 ").concat(e.nativeResH," px, and nothing is chosen.")}),c(t)}}
1,61362:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},65229:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},93499:(e,t,n)=>{n.d(t,{A:()=>a});let a=(0,n(71847).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},95738:(e,t,n)=>{n.d(t,{LP:()=>s,_R:()=>l,m0:()=>c,sO:()=>r,x9:()=>o});var a=n(95155),i=n(12115);function s(e){let{label:t,children:n}=e;return(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)("p",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-sc-ink-700",children:t}),n]})}function r(e){let{children:t}=e;return(0,a.jsx)("p",{className:"text-[11.5px] leading-[1.4] text-sc-ink-700",children:t})}function l(e){let{label:t,value:n,options:r,onChange:l}=e,o=(0,i.useRef)(null),c=r.findIndex(e=>e.value===n),d=c>=0?c:0;return(0,a.jsx)(s,{label:t,children:(0,a.jsx)("div",{ref:o,role:"radiogroup","aria-label":t,onKeyDown:e=>{var t,n;let a=r.length;if(0===a)return;let i=d;if("ArrowRight"===e.key||"ArrowDown"===e.key)i=(d+1)%a;else if("ArrowLeft"===e.key||"ArrowUp"===e.key)i=(d-1+a)%a;else if("Home"===e.key)i=0;else{if("End"!==e.key)return;i=a-1}e.preventDefault(),l(r[i].value),null==(n=o.current)||null==(t=n.querySelectorAll("[role='radio']")[i])||t.focus()},className:"inline-flex border border-sc-stone-300",children:r.map((e,t)=>(0,a.jsx)("button",{role:"radio","aria-checked":n===e.value,tabIndex:t===d?0:-1,onClick:()=>l(e.value),type:"button",className:"inline-flex min-h-[46px] min-w-[44px] items-center justify-center px-4 py-2.5 font-mono text-[11px] uppercase tracking-[0.22em] transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sc-gold-500/80 focus-visible:ring-offset-2 focus-visible:ring-offset-sc-paper-100 ".concat(n===e.value?"bg-sc-ink-900 text-sc-ivory-50":"text-sc-ink-800 hover:bg-sc-stone-200"),children:e.label},e.value))})})}function o(e){let{value:t,onChange:n,children:i,ariaLabel:s}=e;return(0,a.jsx)("select",{value:t,onChange:e=>n(e.target.value),"aria-label":s,className:"block min-h-[46px] w-full border border-sc-stone-300 bg-sc-ivory-50 px-3 py-2.5 text-[13.5px] text-sc-ink-900 focus:border-sc-copper-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-sc-gold-500/80 focus-visible:ring-offset-2 focus-visible:ring-offset-sc-paper-100",children:i})}function c(e){let{value:t,min:n,max:i,step:s,onChange:r,ariaLabel:l}=e;return(0,a.jsx)("input",{type:"range",min:n,max:i,step:s,value:t,onChange:e=>r(Number(e.target.value)),"aria-label":l,className:"block h-[44px] h-[46px] w-full cursor-pointer touch-pan-y accent-sc-copper-600"})}}}]);

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.